diff --git a/package-lock.json b/package-lock.json index 9a5c8d8..c48b769 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18616,6 +18616,11 @@ "integrity": "sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g==", "dev": true }, + "vue-infinite-loading": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/vue-infinite-loading/-/vue-infinite-loading-2.4.5.tgz", + "integrity": "sha512-xhq95Mxun060bRnsOoLE2Be6BR7jYwuC89kDe18+GmCLVrRA/dU0jrGb12Xu6NjmKs+iTW0AA6saSEmEW4cR7g==" + }, "vue-jest": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/vue-jest/-/vue-jest-1.0.2.tgz", diff --git a/package.json b/package.json index 4190202..c44ae00 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "vconsole": "^3.3.4", "vue": "2.5.16", "vue-cookie": "1.1.4", + "vue-infinite-loading": "^2.4.5", "vue-router": "3.0.1", "vuex": "3.0.1", "wangeditor": "^3.1.1" diff --git a/src/api/api_equipment.js b/src/api/api_equipment.js new file mode 100644 index 0000000..fa0675e --- /dev/null +++ b/src/api/api_equipment.js @@ -0,0 +1,36 @@ +import http from '../utils/http' + +/** + * 设备相关的 + */ +// 设备分类 +export const apiFindEquipmentType = data => { + return http({ url: '/lz_management/api/findEquipmentType', method: 'post', data }) +} + +// 修改设备信息 +export const apiChangeEquipment = data => { + return http({ url: '/lz_management/api/changeEquipmentInfo', method: 'post', data }) +} + +// 根据编码获取设备信息 +export const apiFindEquipmentByCode = (data, code) => { + return http({ url: `/lz_management/api/findEquipmentById?code=${code}`, method: 'get', data }) +} + + +// 搜索用户 +export const apiFindStaff = data => { + return http({ url: `/lz_management/api/findEmployeeByName`, method: 'post', data }) +} + +// 搜索使用地 +export const apiFindDepat = data => { + return http({ url: `/lz_management/api/findSpecialApplyByName`, method: 'post', data }) +} + +// 获取使用地,使用人的设备信息 +export const apiFindStaffDevice = data => { + return http({ url: `/lz_management/api/findUsersEquipmentsByName`, method: 'post', data }) +} + diff --git a/src/router/index.js b/src/router/index.js index 3042ca9..5325e7d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -26,6 +26,16 @@ const globalRoutes = [ { path: '/login', component: _import('common/login'), name: 'login', meta: { title: '登录' } } ] +const dingtalkRoutes=[ + { path: '/devicemain', component: _import('modules/device/device-main'), name: 'devicemain', meta: { title: '资产盘点主入口' } }, + { path: '/devicetype', component: _import('modules/device/device-type'), name: 'devicetype', meta: { title: '设备类型' } }, + { path: '/deviceqr', component: _import('modules/device/device-qr'), name: 'deviceqr', meta: { title: '设备自带编码' } }, + { path: '/devicemark', component: _import('modules/device/device-mark'), name: 'devicemark', meta: { title: '设备备注' } }, + { path: '/devicestaff', component: _import('modules/device/device-staff-device'), name: 'devicestaff', meta: { title: '人员资产信息' } }, + { path: '/devicestaffdepat', component: _import('modules/device/device-staff-depat'), name: 'devicestaffdepat', meta: { title: '搜索人员' } }, + { path: '/devicedetail', component: _import('modules/device/device-detail'), name: 'devicedetail', meta: { title: '资产盘点设备详情页' } } +] + const configRoutes = [ { path: '/recorddetail', @@ -48,25 +58,43 @@ const mainRoutes = { // 2. iframeUrl: 是否通过iframe嵌套展示内容, '以http[s]://开头': 是, '': 否 // 提示: 如需要通过iframe嵌套展示内容, 但不通过tab打开, 请自行创建组件使用iframe处理! { path: '/home', component: _import('common/home'), name: 'home', meta: { title: '首页' } }, + + { path: '/theme', component: _import('common/theme'), name: 'theme', meta: { title: '主题' } } ], beforeEnter (to, from, next) { - let token = Vue.cookie.get('token') + //console.log('检查token') + if(fnCheckToken()){ + next() + } else { + clearLoginInfo() + next({ name: 'login' }) + } + /*let token = Vue.cookie.get('token') if (!token || !/\S/.test(token)) { clearLoginInfo() next({ name: 'login' }) } else { next() - } + }*/ } } +function fnCheckToken() { + console.log('检查token') + let token = Vue.cookie.get('token') + if (!token || !/\S/.test(token)) { + return false; + } + return true +} + const router = new Router({ base: '/management/', mode: 'history', scrollBehavior: () => ({ y: 0 }), isAddDynamicMenuRoutes: false, // 是否已经添加动态(菜单)路由 - routes: globalRoutes.concat(mainRoutes) + routes: globalRoutes.concat(mainRoutes).concat(dingtalkRoutes) }) router.beforeEach((to, from, next) => { @@ -75,17 +103,24 @@ router.beforeEach((to, from, next) => { // 2. 获取菜单列表, 添加并保存本地存储 if (router.options.isAddDynamicMenuRoutes || fnCurrentRouteType(to, globalRoutes) === 'global') { next() - } /*else if (fnIsInRoutes(to, configRoutes)) {//判断是否全屏路由 - console.log(to) + } else if (fnIsInRoutes(to, dingtalkRoutes)) {//判断是否全屏路由 + if(fnCheckToken()){ + next() + } else { + clearLoginInfo() + next({ name: 'login' }) + } + //next() + /*console.log(to) let newpage = router.resolve({ name: to.path, query:to.query }) console.log(newpage.href) - window.open(newpage.href, '_blank') - next() - }*/ else { + window.open(newpage.href, '_blank')*/ + //next() + } else { apiGetMenuNav({}).then(res => { if (res && res.code === 0) { fnAddDynamicMenuRoutes(res.menuList) diff --git a/src/views/layout/main.vue b/src/views/layout/main.vue index f59357d..84b56e1 100644 --- a/src/views/layout/main.vue +++ b/src/views/layout/main.vue @@ -86,7 +86,6 @@ this.userName = res.user.username this.$store.state.user = res.user this.mobile = res.user.mobile - console.log('真实姓名' + res.user.realName); this.$watermark.set(res.user.realName + ' ' + this.mobile.substr(7, 4)) } else { diff --git a/src/views/modules/device/device-detail.vue b/src/views/modules/device/device-detail.vue new file mode 100644 index 0000000..1ce1af2 --- /dev/null +++ b/src/views/modules/device/device-detail.vue @@ -0,0 +1,633 @@ +> + + + \ No newline at end of file diff --git a/src/views/modules/device/device-main.vue b/src/views/modules/device/device-main.vue new file mode 100644 index 0000000..013b612 --- /dev/null +++ b/src/views/modules/device/device-main.vue @@ -0,0 +1,103 @@ +> + + + \ No newline at end of file diff --git a/src/views/modules/device/device-mark.vue b/src/views/modules/device/device-mark.vue new file mode 100644 index 0000000..26f2be2 --- /dev/null +++ b/src/views/modules/device/device-mark.vue @@ -0,0 +1,102 @@ +> + + + \ No newline at end of file diff --git a/src/views/modules/device/device-qr.vue b/src/views/modules/device/device-qr.vue new file mode 100644 index 0000000..0f568c8 --- /dev/null +++ b/src/views/modules/device/device-qr.vue @@ -0,0 +1,116 @@ +> + + + \ No newline at end of file diff --git a/src/views/modules/device/device-staff-depat.vue b/src/views/modules/device/device-staff-depat.vue new file mode 100644 index 0000000..7a8051c --- /dev/null +++ b/src/views/modules/device/device-staff-depat.vue @@ -0,0 +1,180 @@ +> + + + \ No newline at end of file diff --git a/src/views/modules/device/device-staff-device.vue b/src/views/modules/device/device-staff-device.vue new file mode 100644 index 0000000..3b2dad4 --- /dev/null +++ b/src/views/modules/device/device-staff-device.vue @@ -0,0 +1,224 @@ +> + + + \ No newline at end of file diff --git a/src/views/modules/device/device-type.vue b/src/views/modules/device/device-type.vue new file mode 100644 index 0000000..0e6a2a0 --- /dev/null +++ b/src/views/modules/device/device-type.vue @@ -0,0 +1,223 @@ +> + + + \ No newline at end of file