From f251ad3fe64f6dac0fa5499f37201da9195f65f5 Mon Sep 17 00:00:00 2001 From: guanj Date: Wed, 3 Sep 2025 20:57:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=BD=AE=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=87=8D=E7=BD=AE=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=E5=89=8D=E7=BD=AE=E4=BA=A4=E4=BA=92=E6=97=A5=E5=BF=97=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=A6=E6=83=85=E6=9F=A5=E8=AF=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/favicon2.ico | Bin 0 -> 46430 bytes src/api/advance-boot/division.ts | 92 ++- src/api/device-boot/Business.ts | 376 ++++----- src/components/table/index.vue | 396 ++++----- .../admin/components/navBar/classic.vue | 238 +++--- src/router/static.ts | 688 ++++++++-------- src/utils/tableStore.ts | 450 +++++------ .../pqs/business/log/frontLog/detail.vue | 82 ++ src/views/pqs/business/log/frontLog/index.vue | 199 +++-- .../terminal/FrontManagement/index.vue | 115 ++- .../database/standard/components/addTree.vue | 468 +++++------ .../division/components/aListOfLoadData.vue | 333 ++++---- .../components/completenessDetails.vue | 130 +-- .../detailed/division/components/compute.vue | 430 +++++----- .../detailed/division/index.vue | 230 +++--- src/views/pqs/panorama/components/map.vue | 372 ++++++--- .../monitoringPoint/online/navigation/map.vue | 658 +++++++-------- src/views/pqs/voltageSags/overview/index.vue | 764 +++++++++--------- src/views/system/auth/userList/popupPwd.vue | 194 ++--- src/views/system/reportForms/index.vue | 272 ++++--- 20 files changed, 3425 insertions(+), 3062 deletions(-) create mode 100644 public/favicon2.ico create mode 100644 src/views/pqs/business/log/frontLog/detail.vue diff --git a/public/favicon2.ico b/public/favicon2.ico new file mode 100644 index 0000000000000000000000000000000000000000..5e6ebb21c3546e7f34206ce626985c61b70cd28a GIT binary patch literal 46430 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 -
- - - - - - -
- -
- -
- - - - - - - + + + + + + diff --git a/src/layouts/admin/components/navBar/classic.vue b/src/layouts/admin/components/navBar/classic.vue index 99e94a00..1f63952a 100644 --- a/src/layouts/admin/components/navBar/classic.vue +++ b/src/layouts/admin/components/navBar/classic.vue @@ -1,120 +1,118 @@ - - - - - + + + + + diff --git a/src/router/static.ts b/src/router/static.ts index 4e0a36f1..6b979810 100644 --- a/src/router/static.ts +++ b/src/router/static.ts @@ -1,344 +1,344 @@ -import type { RouteRecordRaw } from 'vue-router' - -const pageTitle = (name: string): string => { - return `pagesTitle.${name}` -} -/** - * 后台基础路由路径 - */ -export const adminBaseRoutePath = '/admin' -export const adminBaseRoute = { - path: adminBaseRoutePath, - name: 'admin', - component: () => import('@/layouts/admin/index.vue'), - // 直接重定向到 loading 路由 - redirect: adminBaseRoutePath + '/loading', - meta: { - title: `pagesTitle.admin` - }, - children: [ - { - path: 'loading/:to?', - name: 'adminMainLoading', - component: () => import('@/layouts/common/components/loading.vue'), - meta: { - title: `pagesTitle.loading` - } - }, - { - path: 'businessUserRouter', - name: '业务管理员页面', - meta: { - title: pageTitle('businessUser'), - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'eventView', - component: () => import('@/views/pqs/voltageSags/sagGovern/businessUser/event/eventView.vue'), - name: '暂降事件查看页面', - meta: { - title: pageTitle('router.eventView') - } - }, - { - path: 'productLine', - component: () => import('@/views/pqs/voltageSags/sagGovern/businessUser/productLine/index.vue'), - name: '生产线查看页面', - meta: { - title: pageTitle('router.eventView') - } - }, - { - path: 'machine', - component: () => import('@/views/pqs/voltageSags/sagGovern/businessUser/machine/index.vue'), - name: '终端查看页面', - meta: { - title: pageTitle('router.eventView') - } - } - ] - }, - { - path: 'sagGovernScheme', - name: '暂降治理评估方案', - meta: { - title: pageTitle('sagGovernScheme'), - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'schemeCalc', - component: () => import('@/views/pqs/voltageSags/sagGovern/scheme/schemeCalc/index.vue'), - name: '治理评估页面', - meta: { - title: pageTitle('router.schemeCalc') - } - }, - { - path: 'schemeHistory', - component: () => import('@/views/pqs/voltageSags/sagGovern/scheme/history/index.vue'), - name: '治理方案结果详情', - meta: { - title: pageTitle('router.schemeHistory') - } - } - ] - }, - { - path: '/bpm', - name: 'bpm', - meta: { - hidden: true - }, - children: [ - { - path: 'formEdit', - component: () => import('@/views/system/bpm/form/editor/index.vue'), - name: 'BpmFormEditor', - meta: { - title: pageTitle('router.formEdit') - } - }, - { - path: 'modelEdit', - component: () => import('@/views/system/bpm/model/editor/index.vue'), - name: 'BpmModelEditor', - meta: { - title: pageTitle('router.modelEdit') - } - }, - { - path: 'instanceDetail', - component: () => import('@/views/system/bpm/processInstance/detail/index.vue'), - name: 'BpmProcessInstanceDetail', - meta: { - title: pageTitle('router.instanceDetail') - } - }, - { - path: 'ProgramReviewInter', - component: () => - import('@/views/pqs/supervise/interfere/components/normalizationManager/programReview.vue'), - name: 'ProgramReview', - meta: { - title: pageTitle('router.programReview') - } - }, - { - path: 'effectProblem', - component: () => import('@/views/pqs/supervise/plan/components/effectProblem/index.vue'), - name: 'PlanEffectProblem', - meta: { - title: pageTitle('router.effectProblem') - } - } - // { - // path: 'manager/model/edit', - // component: () => import('@/views/bpm/model/editor/index.vue'), - // name: 'BpmModelEditor', - // meta: { - // noCache: true, - // hidden: true, - // canTo: true, - // title: '设计流程', - // activeMenu: '/bpm/manager/model' - // } - // }, - // { - // path: 'manager/definition', - // component: () => import('@/views/bpm/definition/index.vue'), - // name: 'BpmProcessDefinition', - // meta: { - // noCache: true, - // hidden: true, - // canTo: true, - // title: '流程定义', - // activeMenu: '/bpm/manager/model' - // } - // }, - ] - }, - { - path: 'division', - name: '谐波责任划分页面', - meta: { - title: pageTitle('division'), - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'aListOfLoadData', - component: () => - import('@/views/pqs/harmonicMonitoring/detailed/division/components/aListOfLoadData.vue'), - name: '负荷数据列表页面', - meta: { - title: pageTitle('router.aListOfLoadData') - } - }, - { - path: 'compute', - component: () => import('@/views/pqs/harmonicMonitoring/detailed/division/components/compute.vue'), - name: '贡献度计算页面', - meta: { - title: pageTitle('router.compute') - } - }, - { - path: 'detail', - component: () => import('@/views/pqs/harmonicMonitoring/detailed/division/components/detail.vue'), - name: 'detail', - meta: { - title: pageTitle('router.detail') - } - } - ] - }, - { - path: 'runManage', - name: '谐波责任划分页面', - meta: { - title: pageTitle('runManage'), - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'addUser', - component: () => import('@/views/pqs/runManage/assessment/components/uese/form.vue'), - name: '新增评估用户', - meta: { - title: pageTitle('router.addUser') - } - } - ] - }, - { - path: 'cockpit', - name: '项目管理', - meta: { - title: pageTitle('runManage'), - icon: 'ep:management', - alwaysShow: true - }, - children: [ - { - path: 'popup', - component: () => import('@/views/pqs/cockpit/setUp/components/popup.vue'), - name: '新增项目', - meta: { - title: pageTitle('router.popup') - } - }, - { - path: 'view', - component: () => import('@/views/pqs/cockpit/setUp/components/view.vue'), - name: '预览项目', - meta: { - title: pageTitle('router.view') - } - } - ] - }, - { - path: '/boX', - name: 'boX', - component: () => import('@/components/echarts/boX.vue'), - meta: { - title: pageTitle('boX') - } - } - /*{ - path: '/bpm', - name: 'bpm', - meta: { - hidden: true - }, - children: [ - { - path: 'programReview', - component: () => import('@/views/pqs/supervise/interfere/components/normalizationManager/programReview.vue'), - name: 'programReview', - meta: { - title: pageTitle('router.programReview') - } - },{ - path: 'projectTreat', - component: () => import('@/views/pqs/supervise/interfere/components/normalizationManager/projectTreat.vue'), - name: 'projectTreat', - meta: { - title: pageTitle('router.projectTreat') - } - }, - - - ] - },*/ - ] -} - -/* - * 静态路由 - * 自动加载 ./static 目录的所有文件,并 push 到以下数组 - */ -const staticRoutes: Array = [ - adminBaseRoute, - { - path: '/', - redirect: to => { - return { - name: 'adminMainLoading' - } - } - }, - { - // 管理员登录页 - 不放在 adminBaseRoute.children 因为登录页不需要使用后台的布局 - path: '/login', - name: 'login', - component: () => import('@/views/user/login.vue'), - meta: { - title: pageTitle('login') - } - }, - { - path: '/:path(.*)*', - redirect: '/404' - }, - { - path: '/404', - name: 'notFound', - component: () => import('@/views/common/error/404.vue'), - meta: { - title: pageTitle('notFound') // 页面不存在 - } - }, - { - path: '/previewFile', - name: 'previewFile', - component: () => import('@/components/PreviewFile/index.vue'), - meta: { - title: pageTitle('previewFile') - } - }, - - { - // 后台找不到页面了-可能是路由未加载上 - path: adminBaseRoutePath + ':path(.*)*', - redirect: to => { - return { - name: 'adminMainLoading', - params: { - to: JSON.stringify({ - path: to.path, - query: to.query - }) - } - } - } - } -] - -export default staticRoutes +import type { RouteRecordRaw } from 'vue-router' + +const pageTitle = (name: string): string => { + return `pagesTitle.${name}` +} +/** + * 后台基础路由路径 + */ +export const adminBaseRoutePath = '/admin' +export const adminBaseRoute = { + path: adminBaseRoutePath, + name: 'admin', + component: () => import('@/layouts/admin/index.vue'), + // 直接重定向到 loading 路由 + redirect: adminBaseRoutePath + '/loading', + meta: { + title: `pagesTitle.admin` + }, + children: [ + { + path: 'loading/:to?', + name: 'adminMainLoading', + component: () => import('@/layouts/common/components/loading.vue'), + meta: { + title: `pagesTitle.loading` + } + }, + { + path: 'businessUserRouter', + name: '业务管理员页面', + meta: { + title: pageTitle('businessUser'), + icon: 'ep:management', + alwaysShow: true + }, + children: [ + { + path: 'eventView', + component: () => import('@/views/pqs/voltageSags/sagGovern/businessUser/event/eventView.vue'), + name: '暂降事件查看页面', + meta: { + title: pageTitle('router.eventView') + } + }, + { + path: 'productLine', + component: () => import('@/views/pqs/voltageSags/sagGovern/businessUser/productLine/index.vue'), + name: '生产线查看页面', + meta: { + title: pageTitle('router.eventView') + } + }, + { + path: 'machine', + component: () => import('@/views/pqs/voltageSags/sagGovern/businessUser/machine/index.vue'), + name: '终端查看页面', + meta: { + title: pageTitle('router.eventView') + } + } + ] + }, + { + path: 'sagGovernScheme', + name: '暂降治理评估方案', + meta: { + title: pageTitle('sagGovernScheme'), + icon: 'ep:management', + alwaysShow: true + }, + children: [ + { + path: 'schemeCalc', + component: () => import('@/views/pqs/voltageSags/sagGovern/scheme/schemeCalc/index.vue'), + name: '治理评估页面', + meta: { + title: pageTitle('router.schemeCalc') + } + }, + { + path: 'schemeHistory', + component: () => import('@/views/pqs/voltageSags/sagGovern/scheme/history/index.vue'), + name: '治理方案结果详情', + meta: { + title: pageTitle('router.schemeHistory') + } + } + ] + }, + { + path: '/bpm', + name: 'bpm', + meta: { + hidden: true + }, + children: [ + { + path: 'formEdit', + component: () => import('@/views/system/bpm/form/editor/index.vue'), + name: 'BpmFormEditor', + meta: { + title: pageTitle('router.formEdit') + } + }, + { + path: 'modelEdit', + component: () => import('@/views/system/bpm/model/editor/index.vue'), + name: 'BpmModelEditor', + meta: { + title: pageTitle('router.modelEdit') + } + }, + { + path: 'instanceDetail', + component: () => import('@/views/system/bpm/processInstance/detail/index.vue'), + name: 'BpmProcessInstanceDetail', + meta: { + title: pageTitle('router.instanceDetail') + } + }, + { + path: 'ProgramReviewInter', + component: () => + import('@/views/pqs/supervise/interfere/components/normalizationManager/programReview.vue'), + name: 'ProgramReview', + meta: { + title: pageTitle('router.programReview') + } + }, + { + path: 'effectProblem', + component: () => import('@/views/pqs/supervise/plan/components/effectProblem/index.vue'), + name: 'PlanEffectProblem', + meta: { + title: pageTitle('router.effectProblem') + } + } + // { + // path: 'manager/model/edit', + // component: () => import('@/views/bpm/model/editor/index.vue'), + // name: 'BpmModelEditor', + // meta: { + // noCache: true, + // hidden: true, + // canTo: true, + // title: '设计流程', + // activeMenu: '/bpm/manager/model' + // } + // }, + // { + // path: 'manager/definition', + // component: () => import('@/views/bpm/definition/index.vue'), + // name: 'BpmProcessDefinition', + // meta: { + // noCache: true, + // hidden: true, + // canTo: true, + // title: '流程定义', + // activeMenu: '/bpm/manager/model' + // } + // }, + ] + }, + { + path: 'division', + name: '谐波责任划分页面', + meta: { + title: pageTitle('division'), + icon: 'ep:management', + alwaysShow: true + }, + children: [ + { + path: 'aListOfLoadData', + component: () => + import('@/views/pqs/harmonicMonitoring/detailed/division/components/aListOfLoadData.vue'), + name: '用采数据列表页面', + meta: { + title: pageTitle('router.aListOfLoadData') + } + }, + { + path: 'compute', + component: () => import('@/views/pqs/harmonicMonitoring/detailed/division/components/compute.vue'), + name: '贡献度计算页面', + meta: { + title: pageTitle('router.compute') + } + }, + { + path: 'detail', + component: () => import('@/views/pqs/harmonicMonitoring/detailed/division/components/detail.vue'), + name: 'detail', + meta: { + title: pageTitle('router.detail') + } + } + ] + }, + { + path: 'runManage', + name: '二级评估', + meta: { + title: pageTitle('runManage'), + icon: 'ep:management', + alwaysShow: true + }, + children: [ + { + path: 'addUser', + component: () => import('@/views/pqs/runManage/assessment/components/uese/form.vue'), + name: '新增评估用户', + meta: { + title: pageTitle('router.addUser') + } + } + ] + }, + { + path: 'cockpit', + name: '项目管理', + meta: { + title: pageTitle('runManage'), + icon: 'ep:management', + alwaysShow: true + }, + children: [ + { + path: 'popup', + component: () => import('@/views/pqs/cockpit/setUp/components/popup.vue'), + name: '新增项目', + meta: { + title: pageTitle('router.popup') + } + }, + { + path: 'view', + component: () => import('@/views/pqs/cockpit/setUp/components/view.vue'), + name: '预览项目', + meta: { + title: pageTitle('router.view') + } + } + ] + }, + { + path: '/boX', + name: 'boX', + component: () => import('@/components/echarts/boX.vue'), + meta: { + title: pageTitle('boX') + } + } + /*{ + path: '/bpm', + name: 'bpm', + meta: { + hidden: true + }, + children: [ + { + path: 'programReview', + component: () => import('@/views/pqs/supervise/interfere/components/normalizationManager/programReview.vue'), + name: 'programReview', + meta: { + title: pageTitle('router.programReview') + } + },{ + path: 'projectTreat', + component: () => import('@/views/pqs/supervise/interfere/components/normalizationManager/projectTreat.vue'), + name: 'projectTreat', + meta: { + title: pageTitle('router.projectTreat') + } + }, + + + ] + },*/ + ] +} + +/* + * 静态路由 + * 自动加载 ./static 目录的所有文件,并 push 到以下数组 + */ +const staticRoutes: Array = [ + adminBaseRoute, + { + path: '/', + redirect: to => { + return { + name: 'adminMainLoading' + } + } + }, + { + // 管理员登录页 - 不放在 adminBaseRoute.children 因为登录页不需要使用后台的布局 + path: '/login', + name: 'login', + component: () => import('@/views/user/login.vue'), + meta: { + title: pageTitle('login') + } + }, + { + path: '/:path(.*)*', + redirect: '/404' + }, + { + path: '/404', + name: 'notFound', + component: () => import('@/views/common/error/404.vue'), + meta: { + title: pageTitle('notFound') // 页面不存在 + } + }, + { + path: '/previewFile', + name: 'previewFile', + component: () => import('@/components/PreviewFile/index.vue'), + meta: { + title: pageTitle('previewFile') + } + }, + + { + // 后台找不到页面了-可能是路由未加载上 + path: adminBaseRoutePath + ':path(.*)*', + redirect: to => { + return { + name: 'adminMainLoading', + params: { + to: JSON.stringify({ + path: to.path, + query: to.query + }) + } + } + } + } +] + +export default staticRoutes diff --git a/src/utils/tableStore.ts b/src/utils/tableStore.ts index 39f4fbf5..bd73623a 100644 --- a/src/utils/tableStore.ts +++ b/src/utils/tableStore.ts @@ -1,225 +1,225 @@ -import { reactive } from 'vue' -import createAxios from '@/utils/request' -import { requestPayload } from '@/utils/request' -import { Method } from 'axios' -import { mainHeight } from '@/utils/layout' -import { filtration } from './tableMethod' - -interface TableStoreParams { - url: string // 请求地址 - pk?: string - filename?: any // 导出文件名 - column: TableColumn[] - params?: anyObj - method?: Method // 请求方式 - isWebPaging?: boolean // 是否前端分页 - showPage?: boolean //是否需要分页 - timeAll?: boolean //是否需要时间全部显示 - paramsPOST?: boolean // post请求 params传参 - publicHeight?: number //计算高度 - resetCallback?: () => void // 重置 - loadCallback?: () => void // 接口调用后的回调 - exportProcessingData?:() => void //导出处理数据 - beforeSearchFun?: () => void // 接口调用前的回调 -} - -export default class TableStore { - public url - public pk - public filename: any = null - public method: Method - public initData: any = null - public isWebPaging = false - public paramsPOST = true - public showPage = true - public timeAll = true - public table: CnTable = reactive({ - ref: null, - selection: [], - data: [], - allData: [], - allFlag: false, - webPagingData: [], - total: 0, - params: { - pageNum: 1, - pageSize: 20 - }, - filename:null, - loading: true, - column: [], - loadCallback: null, - exportProcessingData: null, - resetCallback: null, - beforeSearchFun: null, - height: '', - publicHeight: 0 - }) - - constructor(public options: TableStoreParams) { - this.url = options.url - this.pk = options.pk || 'id' - this.paramsPOST = options.paramsPOST || false - this.isWebPaging = options.isWebPaging || false - this.method = options.method || 'GET' - this.table.filename = options.filename || null - this.table.column = options.column - this.showPage = options.showPage !== false - - this.table.publicHeight = options.publicHeight || 0 - this.table.resetCallback = options.resetCallback || null - this.table.loadCallback = options.loadCallback || null - this.table.exportProcessingData = options.exportProcessingData || null - this.table.beforeSearchFun = options.beforeSearchFun || null - Object.assign(this.table.params, options.params) - this.table.height = mainHeight(20 + (this.showPage ? 58 : 0) + this.table.publicHeight).height as string - } - - index() { - this.table.beforeSearchFun && this.table.beforeSearchFun() - this.table.data = [] - this.table.loading = true - // 重置用的数据数据 - if (!this.initData) { - this.initData = JSON.parse(JSON.stringify(this.table.params)) - } - if (!this.timeAll) { - delete this.table.params.startTime; - delete this.table.params.endTime; - delete this.table.params.searchBeginTime; - delete this.table.params.searchEndTime; - delete this.table.params.timeFlag; - - - } - createAxios( - Object.assign( - { - url: this.url, - method: this.method - }, - requestPayload(this.method, this.table.params, this.paramsPOST) - ) - ) - .then((res: any) => { - if (res.data) { - this.table.data = res.data.records || res.data - this.table.total = res.data?.total || res.data.length || 0 - } else { - this.table.data = [] - this.table.total = 0 - } - if (Array.isArray(res)) { - this.table.data = res - } - if (this.isWebPaging) { - this.table.webPagingData = window.XEUtils.chunk(this.table.data, this.table.params.pageSize) - this.table.data = this.table.webPagingData[this.table.params.pageNum - 1] - } - this.table.loadCallback && this.table.loadCallback() - this.table.loading = false - }) - .catch(() => { - this.table.loading = false - }) - } - - /** - * 表格内的事件统一响应 - * @param event 事件:selection-change=选中项改变,page-size-change=每页数量改变,current-page-change=翻页 - * @param data 携带数据 - */ - onTableAction = (event: string, data: anyObj) => { - const actionFun = new Map([ - [ - 'search', - () => { - this.table.params.pageNum = 1 - this.index() - } - ], - [ - 'reset', - () => { - delete this.initData.pageSize - // console.log(this.table.params) - // console.log(this.initData) - Object.assign(this.table.params, this.initData) - this.table.resetCallback && this.table.resetCallback() - this.index() - } - ], - [ - 'selection-change', - () => { - this.table.selection = data as TableRow[] - } - ], - [ - 'page-size-change', - () => { - this.table.params.pageSize = data.size - this.table.params.pageNum = 1 - - if (this.isWebPaging) { - this.table.webPagingData = window.XEUtils.chunk( - window.XEUtils.flatten(this.table.webPagingData), - this.table.params.pageSize - ) - this.table.data = this.table.webPagingData[this.table.params.pageNum - 1] - } else { - this.index() - } - } - ], - [ - 'current-page-change', - () => { - this.table.params.pageNum = data.page - if (this.isWebPaging) { - this.table.data = [] - requestAnimationFrame(() => { - this.table.data = this.table.webPagingData[data.page - 1] - }) - } else { - this.index() - } - } - ], - [ - 'field-change', - () => { - console.warn('field-change') - } - ], - [ - 'default', - () => { - console.warn('No action defined') - } - ], - [ - 'export', - () => { - // this.index() - let params = { ...this.table.params, pageNum: 1, pageSize: this.table.total } - createAxios( - Object.assign( - { - url: this.url, - method: this.method - }, - requestPayload(this.method, params, this.paramsPOST) - ) - ).then(res => { - this.table.allData = filtration(res.data.records || res.data) - this.table.exportProcessingData && this.table.exportProcessingData() - this.table.allFlag = data.showAllFlag || true - }) - } - ] - ]) - const action = actionFun.get(event) || actionFun.get('default') - action!.call(this) - } -} +import { reactive } from 'vue' +import createAxios from '@/utils/request' +import { requestPayload } from '@/utils/request' +import { Method } from 'axios' +import { mainHeight } from '@/utils/layout' +import { filtration } from './tableMethod' + +interface TableStoreParams { + url: string // 请求地址 + pk?: string + filename?: any // 导出文件名 + column: TableColumn[] + params?: anyObj + method?: Method // 请求方式 + isWebPaging?: boolean // 是否前端分页 + showPage?: boolean //是否需要分页 + timeAll?: boolean //是否需要时间全部显示 + paramsPOST?: boolean // post请求 params传参 + publicHeight?: number //计算高度 + resetCallback?: () => void // 重置 + loadCallback?: () => void // 接口调用后的回调 + exportProcessingData?:() => void //导出处理数据 + beforeSearchFun?: () => void // 接口调用前的回调 +} + +export default class TableStore { + public url + public pk + public filename: any = null + public method: Method + public initData: any = null + public isWebPaging = false + public paramsPOST = true + public showPage = true + public timeAll = true + public table: CnTable = reactive({ + ref: null, + selection: [], + data: [], + allData: [], + allFlag: false, + webPagingData: [], + total: 0, + params: { + pageNum: 1, + pageSize: 20 + }, + filename:null, + loading: true, + column: [], + loadCallback: null, + exportProcessingData: null, + resetCallback: null, + beforeSearchFun: null, + height: '', + publicHeight: 0 + }) + + constructor(public options: TableStoreParams) { + this.url = options.url + this.pk = options.pk || 'id' + this.paramsPOST = options.paramsPOST || false + this.isWebPaging = options.isWebPaging || false + this.method = options.method || 'GET' + this.table.filename = options.filename || null + this.table.column = options.column + this.showPage = options.showPage !== false + + this.table.publicHeight = options.publicHeight || 0 + this.table.resetCallback = options.resetCallback || null + this.table.loadCallback = options.loadCallback || null + this.table.exportProcessingData = options.exportProcessingData || null + this.table.beforeSearchFun = options.beforeSearchFun || null + Object.assign(this.table.params, options.params) + this.table.height = mainHeight(20 + (this.showPage ? 58 : 0) + this.table.publicHeight).height as string + } + + index() { + this.table.beforeSearchFun && this.table.beforeSearchFun() + this.table.data = [] + this.table.loading = true + // 重置用的数据数据 + if (!this.initData) { + this.initData = JSON.parse(JSON.stringify(this.table.params)) + } + if (!this.timeAll) { + delete this.table.params.startTime; + delete this.table.params.endTime; + delete this.table.params.searchBeginTime; + delete this.table.params.searchEndTime; + delete this.table.params.timeFlag; + + + } + createAxios( + Object.assign( + { + url: this.url, + method: this.method + }, + requestPayload(this.method, this.table.params, this.paramsPOST) + ) + ) + .then((res: any) => { + if (res.data) { + this.table.data = res.data.records || res.data + this.table.total = res.data?.total || res.data.length || 0 + } else { + this.table.data = [] + this.table.total = 0 + } + if (Array.isArray(res)) { + this.table.data = res + } + if (this.isWebPaging) { + this.table.webPagingData = window.XEUtils.chunk(this.table.data, this.table.params.pageSize) + this.table.data = this.table.webPagingData[this.table.params.pageNum - 1] + } + this.table.loadCallback && this.table.loadCallback() + this.table.loading = false + }) + .catch(() => { + this.table.loading = false + }) + } + + /** + * 表格内的事件统一响应 + * @param event 事件:selection-change=选中项改变,page-size-change=每页数量改变,current-page-change=翻页 + * @param data 携带数据 + */ + onTableAction = (event: string, data: anyObj) => { + const actionFun = new Map([ + [ + 'search', + () => { + this.table.params.pageNum = 1 + this.index() + } + ], + [ + 'reset', + () => { + delete this.initData.pageSize + // console.log(this.table.params) + // console.log(this.initData) + Object.assign(this.table.params, this.initData) + this.table.resetCallback && this.table.resetCallback() + this.index() + } + ], + [ + 'selection-change', + () => { + this.table.selection = data as TableRow[] + } + ], + [ + 'page-size-change', + () => { + this.table.params.pageSize = data.size + this.table.params.pageNum = 1 + + if (this.isWebPaging) { + this.table.webPagingData = window.XEUtils.chunk( + window.XEUtils.flatten(this.table.webPagingData), + this.table.params.pageSize + ) + this.table.data = this.table.webPagingData[this.table.params.pageNum - 1] + } else { + this.index() + } + } + ], + [ + 'current-page-change', + () => { + this.table.params.pageNum = data.page + if (this.isWebPaging) { + this.table.data = [] + requestAnimationFrame(() => { + this.table.data = this.table.webPagingData[data.page - 1] + }) + } else { + this.index() + } + } + ], + [ + 'field-change', + () => { + console.warn('field-change') + } + ], + [ + 'default', + () => { + console.warn('No action defined') + } + ], + [ + 'export', + () => { + // this.index() + let params = { ...this.table.params, pageNum: 1, pageSize: this.table.total } + createAxios( + Object.assign( + { + url: this.url, + method: this.method + }, + requestPayload(this.method, params, this.paramsPOST) + ) + ).then(res => { + this.table.allData = filtration(res.data.records || res.data) + this.table.exportProcessingData && this.table.exportProcessingData() + this.table.allFlag = data.showAllFlag || true + }) + } + ] + ]) + const action = actionFun.get(event) || actionFun.get('default') + action!.call(this) + } +} diff --git a/src/views/pqs/business/log/frontLog/detail.vue b/src/views/pqs/business/log/frontLog/detail.vue new file mode 100644 index 00000000..70678ddc --- /dev/null +++ b/src/views/pqs/business/log/frontLog/detail.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/views/pqs/business/log/frontLog/index.vue b/src/views/pqs/business/log/frontLog/index.vue index 9c997dbb..36c22cf4 100644 --- a/src/views/pqs/business/log/frontLog/index.vue +++ b/src/views/pqs/business/log/frontLog/index.vue @@ -1,88 +1,111 @@ - - - + + + diff --git a/src/views/pqs/business/terminal/FrontManagement/index.vue b/src/views/pqs/business/terminal/FrontManagement/index.vue index fcbddbc6..1e844fd1 100644 --- a/src/views/pqs/business/terminal/FrontManagement/index.vue +++ b/src/views/pqs/business/terminal/FrontManagement/index.vue @@ -78,6 +78,30 @@ @click="edit(data)" link > + + + + + + @@ -94,7 +118,13 @@ > - + @@ -173,7 +203,14 @@ - + + + diff --git a/src/views/pqs/harmonicMonitoring/detailed/division/components/aListOfLoadData.vue b/src/views/pqs/harmonicMonitoring/detailed/division/components/aListOfLoadData.vue index 29b7f28e..defd715b 100644 --- a/src/views/pqs/harmonicMonitoring/detailed/division/components/aListOfLoadData.vue +++ b/src/views/pqs/harmonicMonitoring/detailed/division/components/aListOfLoadData.vue @@ -1,164 +1,169 @@ - - - - + + + + diff --git a/src/views/pqs/harmonicMonitoring/detailed/division/components/completenessDetails.vue b/src/views/pqs/harmonicMonitoring/detailed/division/components/completenessDetails.vue index 3f9beef0..f53b8aed 100644 --- a/src/views/pqs/harmonicMonitoring/detailed/division/components/completenessDetails.vue +++ b/src/views/pqs/harmonicMonitoring/detailed/division/components/completenessDetails.vue @@ -1,65 +1,65 @@ - - - + + + diff --git a/src/views/pqs/harmonicMonitoring/detailed/division/components/compute.vue b/src/views/pqs/harmonicMonitoring/detailed/division/components/compute.vue index 4b7fb4d5..a4f9bbf2 100644 --- a/src/views/pqs/harmonicMonitoring/detailed/division/components/compute.vue +++ b/src/views/pqs/harmonicMonitoring/detailed/division/components/compute.vue @@ -1,198 +1,232 @@ - - - - + + + + diff --git a/src/views/pqs/harmonicMonitoring/detailed/division/index.vue b/src/views/pqs/harmonicMonitoring/detailed/division/index.vue index 0707631d..0c01768a 100644 --- a/src/views/pqs/harmonicMonitoring/detailed/division/index.vue +++ b/src/views/pqs/harmonicMonitoring/detailed/division/index.vue @@ -1,115 +1,115 @@ - - - + + + diff --git a/src/views/pqs/panorama/components/map.vue b/src/views/pqs/panorama/components/map.vue index 20c4ad8d..18ea6d89 100644 --- a/src/views/pqs/panorama/components/map.vue +++ b/src/views/pqs/panorama/components/map.vue @@ -3,8 +3,12 @@
- + @@ -26,9 +30,12 @@ {{ item.count }}
-
+ v-for="k in item.psrList" + @click="flyTo(k)" + >

{{ k.psrName }}

{{ k.vlevelName }}|{{ k.maintOrgName }}

@@ -36,112 +43,167 @@ -
+
展开搜索结果
-
关闭
+
关闭
- + -
- - +
+
- - -./cds.js./boundary \ No newline at end of file diff --git a/src/views/pqs/voltageSags/monitoringPoint/online/navigation/map.vue b/src/views/pqs/voltageSags/monitoringPoint/online/navigation/map.vue index 06e0167c..1f1e0738 100644 --- a/src/views/pqs/voltageSags/monitoringPoint/online/navigation/map.vue +++ b/src/views/pqs/voltageSags/monitoringPoint/online/navigation/map.vue @@ -1,329 +1,329 @@ - - - - + + + + diff --git a/src/views/pqs/voltageSags/overview/index.vue b/src/views/pqs/voltageSags/overview/index.vue index 515d4999..59d8d6ab 100644 --- a/src/views/pqs/voltageSags/overview/index.vue +++ b/src/views/pqs/voltageSags/overview/index.vue @@ -1,382 +1,382 @@ - - - - + + + + diff --git a/src/views/system/auth/userList/popupPwd.vue b/src/views/system/auth/userList/popupPwd.vue index 09caba0b..e3c21943 100644 --- a/src/views/system/auth/userList/popupPwd.vue +++ b/src/views/system/auth/userList/popupPwd.vue @@ -1,97 +1,97 @@ - - + + diff --git a/src/views/system/reportForms/index.vue b/src/views/system/reportForms/index.vue index 3c090207..31865bbc 100644 --- a/src/views/system/reportForms/index.vue +++ b/src/views/system/reportForms/index.vue @@ -1,133 +1,139 @@ - - + +