diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/target.ts b/src/router/modules/target.ts new file mode 100644 index 0000000..e8674ec --- /dev/null +++ b/src/router/modules/target.ts @@ -0,0 +1,33 @@ +// 目标监测 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/target', + component: Layout, + redirect: '/target/monitor', + name: 'target', + meta: { + title: '目标监测', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'monitor', + name: 'monitor', + component: () => import('@/views/target/index.vue'), + meta: { + title: '目标监测', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/target', + }, + }, + ], + }, +] + +export default routes diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/target.ts b/src/router/modules/target.ts new file mode 100644 index 0000000..e8674ec --- /dev/null +++ b/src/router/modules/target.ts @@ -0,0 +1,33 @@ +// 目标监测 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/target', + component: Layout, + redirect: '/target/monitor', + name: 'target', + meta: { + title: '目标监测', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'monitor', + name: 'monitor', + component: () => import('@/views/target/index.vue'), + meta: { + title: '目标监测', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/target', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6b3a30b..adc4e2c 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,11 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' import systemRoute from './modules/system' +import dashboard from './modules/dashboard' +import device from './modules/device' +import alarm from './modules/alarm' +import target from './modules/target' +import storage from './modules/storage' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' // 固定路由(默认路由) @@ -32,25 +37,25 @@ // 系统路由 const systemRoutes: Route.recordRaw[] = [ - { - path: '/dashboard', - component: () => import('@/layouts/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - children: [ - { - path: '', - name: 'dashboard', - component: () => import('@/views/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - }, - ], - }, + // { + // path: '/dashboard', + // component: () => import('@/layouts/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // children: [ + // { + // path: '', + // name: 'dashboard', + // component: () => import('@/views/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // }, + // ], + // }, { path: '/personal', component: () => import('@/layouts/index.vue'), @@ -104,6 +109,55 @@ const asyncRoutes: Route.recordMainRaw[] = [ { meta: { + title: '首页', + icon: '', + // auth: '/system', + }, + children: [ + ...dashboard, + ], + }, + { + meta: { + title: '设备管理', + icon: '', + // auth: '/system', + }, + children: [ + ...device, + ], + }, + { + meta: { + title: '存储管理', + icon: '', + // auth: '/system', + }, + children: [ + ...storage, + ], + }, + { + meta: { + title: '报警管理', + icon: '', + }, + children: [ + ...alarm, + ], + }, + { + meta: { + title: '目标监测', + icon: '', + // auth: '/system', + }, + children: [ + ...target, + ], + }, + { + meta: { title: '系统设置', icon: '', auth: '/system', diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/target.ts b/src/router/modules/target.ts new file mode 100644 index 0000000..e8674ec --- /dev/null +++ b/src/router/modules/target.ts @@ -0,0 +1,33 @@ +// 目标监测 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/target', + component: Layout, + redirect: '/target/monitor', + name: 'target', + meta: { + title: '目标监测', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'monitor', + name: 'monitor', + component: () => import('@/views/target/index.vue'), + meta: { + title: '目标监测', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/target', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6b3a30b..adc4e2c 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,11 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' import systemRoute from './modules/system' +import dashboard from './modules/dashboard' +import device from './modules/device' +import alarm from './modules/alarm' +import target from './modules/target' +import storage from './modules/storage' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' // 固定路由(默认路由) @@ -32,25 +37,25 @@ // 系统路由 const systemRoutes: Route.recordRaw[] = [ - { - path: '/dashboard', - component: () => import('@/layouts/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - children: [ - { - path: '', - name: 'dashboard', - component: () => import('@/views/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - }, - ], - }, + // { + // path: '/dashboard', + // component: () => import('@/layouts/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // children: [ + // { + // path: '', + // name: 'dashboard', + // component: () => import('@/views/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // }, + // ], + // }, { path: '/personal', component: () => import('@/layouts/index.vue'), @@ -104,6 +109,55 @@ const asyncRoutes: Route.recordMainRaw[] = [ { meta: { + title: '首页', + icon: '', + // auth: '/system', + }, + children: [ + ...dashboard, + ], + }, + { + meta: { + title: '设备管理', + icon: '', + // auth: '/system', + }, + children: [ + ...device, + ], + }, + { + meta: { + title: '存储管理', + icon: '', + // auth: '/system', + }, + children: [ + ...storage, + ], + }, + { + meta: { + title: '报警管理', + icon: '', + }, + children: [ + ...alarm, + ], + }, + { + meta: { + title: '目标监测', + icon: '', + // auth: '/system', + }, + children: [ + ...target, + ], + }, + { + meta: { title: '系统设置', icon: '', auth: '/system', diff --git a/src/views/alarm/index.vue b/src/views/alarm/index.vue new file mode 100644 index 0000000..b8efcc0 --- /dev/null +++ b/src/views/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/target.ts b/src/router/modules/target.ts new file mode 100644 index 0000000..e8674ec --- /dev/null +++ b/src/router/modules/target.ts @@ -0,0 +1,33 @@ +// 目标监测 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/target', + component: Layout, + redirect: '/target/monitor', + name: 'target', + meta: { + title: '目标监测', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'monitor', + name: 'monitor', + component: () => import('@/views/target/index.vue'), + meta: { + title: '目标监测', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/target', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6b3a30b..adc4e2c 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,11 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' import systemRoute from './modules/system' +import dashboard from './modules/dashboard' +import device from './modules/device' +import alarm from './modules/alarm' +import target from './modules/target' +import storage from './modules/storage' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' // 固定路由(默认路由) @@ -32,25 +37,25 @@ // 系统路由 const systemRoutes: Route.recordRaw[] = [ - { - path: '/dashboard', - component: () => import('@/layouts/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - children: [ - { - path: '', - name: 'dashboard', - component: () => import('@/views/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - }, - ], - }, + // { + // path: '/dashboard', + // component: () => import('@/layouts/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // children: [ + // { + // path: '', + // name: 'dashboard', + // component: () => import('@/views/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // }, + // ], + // }, { path: '/personal', component: () => import('@/layouts/index.vue'), @@ -104,6 +109,55 @@ const asyncRoutes: Route.recordMainRaw[] = [ { meta: { + title: '首页', + icon: '', + // auth: '/system', + }, + children: [ + ...dashboard, + ], + }, + { + meta: { + title: '设备管理', + icon: '', + // auth: '/system', + }, + children: [ + ...device, + ], + }, + { + meta: { + title: '存储管理', + icon: '', + // auth: '/system', + }, + children: [ + ...storage, + ], + }, + { + meta: { + title: '报警管理', + icon: '', + }, + children: [ + ...alarm, + ], + }, + { + meta: { + title: '目标监测', + icon: '', + // auth: '/system', + }, + children: [ + ...target, + ], + }, + { + meta: { title: '系统设置', icon: '', auth: '/system', diff --git a/src/views/alarm/index.vue b/src/views/alarm/index.vue new file mode 100644 index 0000000..b8efcc0 --- /dev/null +++ b/src/views/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue new file mode 100644 index 0000000..2622279 --- /dev/null +++ b/src/views/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/target.ts b/src/router/modules/target.ts new file mode 100644 index 0000000..e8674ec --- /dev/null +++ b/src/router/modules/target.ts @@ -0,0 +1,33 @@ +// 目标监测 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/target', + component: Layout, + redirect: '/target/monitor', + name: 'target', + meta: { + title: '目标监测', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'monitor', + name: 'monitor', + component: () => import('@/views/target/index.vue'), + meta: { + title: '目标监测', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/target', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6b3a30b..adc4e2c 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,11 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' import systemRoute from './modules/system' +import dashboard from './modules/dashboard' +import device from './modules/device' +import alarm from './modules/alarm' +import target from './modules/target' +import storage from './modules/storage' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' // 固定路由(默认路由) @@ -32,25 +37,25 @@ // 系统路由 const systemRoutes: Route.recordRaw[] = [ - { - path: '/dashboard', - component: () => import('@/layouts/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - children: [ - { - path: '', - name: 'dashboard', - component: () => import('@/views/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - }, - ], - }, + // { + // path: '/dashboard', + // component: () => import('@/layouts/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // children: [ + // { + // path: '', + // name: 'dashboard', + // component: () => import('@/views/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // }, + // ], + // }, { path: '/personal', component: () => import('@/layouts/index.vue'), @@ -104,6 +109,55 @@ const asyncRoutes: Route.recordMainRaw[] = [ { meta: { + title: '首页', + icon: '', + // auth: '/system', + }, + children: [ + ...dashboard, + ], + }, + { + meta: { + title: '设备管理', + icon: '', + // auth: '/system', + }, + children: [ + ...device, + ], + }, + { + meta: { + title: '存储管理', + icon: '', + // auth: '/system', + }, + children: [ + ...storage, + ], + }, + { + meta: { + title: '报警管理', + icon: '', + }, + children: [ + ...alarm, + ], + }, + { + meta: { + title: '目标监测', + icon: '', + // auth: '/system', + }, + children: [ + ...target, + ], + }, + { + meta: { title: '系统设置', icon: '', auth: '/system', diff --git a/src/views/alarm/index.vue b/src/views/alarm/index.vue new file mode 100644 index 0000000..b8efcc0 --- /dev/null +++ b/src/views/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue new file mode 100644 index 0000000..2622279 --- /dev/null +++ b/src/views/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/device/index.vue b/src/views/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/.env.development b/.env.development index 08e52d3..906f0b2 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/.env.production b/.env.production index aac9caa..d61d1c8 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ NODE_ENV = production # 页面标题 -VITE_APP_TITLE = 后台管理系统 +VITE_APP_TITLE = 智能监控视频平台 # 接口请求地址,会设置到 axios 的 baseURL 参数上 VITE_APP_API_BASEURL = http://111.198.10.15:11411 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue index ead1f31..0de13f4 100644 --- a/src/layouts/components/SubSidebar/index.vue +++ b/src/layouts/components/SubSidebar/index.vue @@ -6,6 +6,7 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() +console.log(menuStore.sidebarMenus, 'menuStore.sidebarMenus') const sidebarScrollTop = ref(0) diff --git a/src/plugins/preload.ts b/src/plugins/preload.ts deleted file mode 100644 index a4cc107..0000000 --- a/src/plugins/preload.ts +++ /dev/null @@ -1,103 +0,0 @@ -function All() {} -All.prototype = { - // 将负责人的姓名挑出来做成字符串 - arrToStr(arr: any) { - if (arr) { - return arr.map((item: any) => { return item.name }).toString() - } - }, - toggleClass(arr: any, elem: any, key = 'id') { - return arr.some((item: any) => { return item[key] == elem[key] }) - }, - toChecked(arr: any, elem: any, key = 'id') { - console.log('toChecked') - var isIncludes = this.toggleClass(arr, elem, key) - !isIncludes ? arr.push(elem) : this.removeEle(arr, elem, key) - }, - removeEle(arr: any, elem: any, key = 'id') { - var includesIndex - arr.map((item: any, index: any) => { - if (item[key] == elem[key]) { - includesIndex = index - } - }) - arr.splice(includesIndex, 1) - }, - // 设置审批节点的文字 - setApproverStr(nodeConfig: any) { - if (nodeConfig.settype == 1 || nodeConfig.settype == 11) { - if (nodeConfig.nodeUserList.length == 1) { - return nodeConfig.nodeUserList[0].name - } - else if (nodeConfig.nodeUserList.length > 1) { - if (nodeConfig.examineMode == 1) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(依次审批)` - } - else if (nodeConfig.examineMode == 2) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(会签)` - } - else if (nodeConfig.examineMode == 3) { - return `由${this.arrToStr(nodeConfig.nodeUserList)}负责(或签)` - } - } - } - else if (nodeConfig.settype == 2) { - const level = nodeConfig.directorLevel == 1 ? '直接主管' : `第${nodeConfig.directorLevel}级主管` - if (nodeConfig.examineMode == 1) { - return level - } - else if (nodeConfig.examineMode == 2) { - return `${level}会签` - } - } - else if (nodeConfig.settype == 7) { - return `从直接主管到通讯录中级别最高的第${nodeConfig.examineEndDirectorLevel}个层级主管` - } - }, - dealStr(str: any, obj: any) { - const arr = [] as any - const list = str.split(',') - for (var elem in obj) { - list.map((item: any) => { - if (item == elem) { - arr.push(obj[elem].value) - } - }) - } - return arr.join('或') - }, - // 设置条件节点的文字 - conditionStr(nodeConfig: any, index: any) { - var { conditionList, nodeUserList } = nodeConfig.conditionNodes[index] - if (conditionList.length == 0) { - return (index == nodeConfig.conditionNodes.length - 1) && nodeConfig.conditionNodes[0].conditionList.length != 0 ? '其他条件进入此流程' : '请设置条件' - } - else { - let str = '' - for (var i = 0; i < conditionList.length; i++) { - var { columnId } = conditionList[i] - if (columnId == 0) { - if (nodeUserList.length != 0) { - str += '发起人属于:' - str += `${nodeUserList.map((item: any) => { return item.name }).join('、')} ` - } - } - } - // return str ? str.substring(0, str.length - 4) : '请设置条件' - return str || '请设置条件' - } - }, - // 设置抄送人节点文字 - copyerStr(nodeConfig: any) { - if (nodeConfig.nodeUserList && nodeConfig.nodeUserList.length != 0) { - console.log(this.arrToStr(nodeConfig.nodeUserList)) - return this.arrToStr(nodeConfig.nodeUserList) - } - }, - toggleStrClass(item: any, key: any) { - const a = item.zdy1 ? item.zdy1.split(',') : [] - return a.some((item: any) => { return item == key }) - }, -} - -export default new (All as any)() diff --git a/src/router/modules/alarm.ts b/src/router/modules/alarm.ts new file mode 100644 index 0000000..4232548 --- /dev/null +++ b/src/router/modules/alarm.ts @@ -0,0 +1,33 @@ +// 报警管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/alarm', + component: Layout, + redirect: '/alarm/alarmlist', + name: 'alarm', + meta: { + title: '报警管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'alarmlist', + name: 'alarmlist', + component: () => import('@/views/alarm/index.vue'), + meta: { + title: '报警管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/alarm', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/dashboard.ts b/src/router/modules/dashboard.ts new file mode 100644 index 0000000..095c176 --- /dev/null +++ b/src/router/modules/dashboard.ts @@ -0,0 +1,33 @@ +// 首页 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/dashboard', + component: Layout, + redirect: '/dashboard/index', + name: 'dashboard', + meta: { + title: '首页', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'index', + name: 'index', + component: () => import('@/views/dashboard/index.vue'), + meta: { + title: '首页', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/dashboard', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/device.ts b/src/router/modules/device.ts new file mode 100644 index 0000000..8a83748 --- /dev/null +++ b/src/router/modules/device.ts @@ -0,0 +1,33 @@ +// 设备管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/device', + component: Layout, + redirect: '/device/devicelist', + name: 'device', + meta: { + title: '设备管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'devicelist', + name: 'devicelist', + component: () => import('@/views/device/index.vue'), + meta: { + title: '设备管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/device', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/storage.ts b/src/router/modules/storage.ts new file mode 100644 index 0000000..9821d43 --- /dev/null +++ b/src/router/modules/storage.ts @@ -0,0 +1,33 @@ +// 存储管理 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/storage', + component: Layout, + redirect: '/storage/place', + name: 'storage', + meta: { + title: '存储管理', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'place', + name: 'place', + component: () => import('@/views/storage/index.vue'), + meta: { + title: '存储管理', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/storage', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/target.ts b/src/router/modules/target.ts new file mode 100644 index 0000000..e8674ec --- /dev/null +++ b/src/router/modules/target.ts @@ -0,0 +1,33 @@ +// 目标监测 +import type { Route } from '@/global' + +const Layout = () => import('@/layouts/index.vue') +const routes: Route.recordRaw[] = [ + { + path: '/target', + component: Layout, + redirect: '/target/monitor', + name: 'target', + meta: { + title: '目标监测', + icon: 'ep:key', + // auth: '/alarm', + }, + children: [ + { + path: 'monitor', + name: 'monitor', + component: () => import('@/views/target/index.vue'), + meta: { + title: '目标监测', + // auth: '/alarm', + sidebar: false, + breadcrumb: true, + activeMenu: '/target', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 6b3a30b..adc4e2c 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,6 +1,11 @@ import { setupLayouts } from 'virtual:generated-layouts' import generatedRoutes from 'virtual:generated-pages' import systemRoute from './modules/system' +import dashboard from './modules/dashboard' +import device from './modules/device' +import alarm from './modules/alarm' +import target from './modules/target' +import storage from './modules/storage' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' // 固定路由(默认路由) @@ -32,25 +37,25 @@ // 系统路由 const systemRoutes: Route.recordRaw[] = [ - { - path: '/dashboard', - component: () => import('@/layouts/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - children: [ - { - path: '', - name: 'dashboard', - component: () => import('@/views/index.vue'), - meta: { - title: () => useSettingsStore().dashboard.title, - breadcrumb: false, - }, - }, - ], - }, + // { + // path: '/dashboard', + // component: () => import('@/layouts/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // children: [ + // { + // path: '', + // name: 'dashboard', + // component: () => import('@/views/index.vue'), + // meta: { + // title: () => useSettingsStore().dashboard.title, + // breadcrumb: false, + // }, + // }, + // ], + // }, { path: '/personal', component: () => import('@/layouts/index.vue'), @@ -104,6 +109,55 @@ const asyncRoutes: Route.recordMainRaw[] = [ { meta: { + title: '首页', + icon: '', + // auth: '/system', + }, + children: [ + ...dashboard, + ], + }, + { + meta: { + title: '设备管理', + icon: '', + // auth: '/system', + }, + children: [ + ...device, + ], + }, + { + meta: { + title: '存储管理', + icon: '', + // auth: '/system', + }, + children: [ + ...storage, + ], + }, + { + meta: { + title: '报警管理', + icon: '', + }, + children: [ + ...alarm, + ], + }, + { + meta: { + title: '目标监测', + icon: '', + // auth: '/system', + }, + children: [ + ...target, + ], + }, + { + meta: { title: '系统设置', icon: '', auth: '/system', diff --git a/src/views/alarm/index.vue b/src/views/alarm/index.vue new file mode 100644 index 0000000..b8efcc0 --- /dev/null +++ b/src/views/alarm/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue new file mode 100644 index 0000000..2622279 --- /dev/null +++ b/src/views/dashboard/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/device/index.vue b/src/views/device/index.vue new file mode 100644 index 0000000..ca77803 --- /dev/null +++ b/src/views/device/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/login.vue b/src/views/login.vue index 7c21e0b..768a143 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -195,7 +195,7 @@