Browse Source

巡检前台

admin 3 weeks ago
parent
commit
c3d7f6df14

+ 6 - 6
src/components/page/admin/inspect/InspectManage.vue

@@ -7,12 +7,12 @@
       </div>
       <el-button type="primary" icon="el-icon-refresh" @click="reload">刷新当前页</el-button>
     </div>
-    <el-tabs v-model="tab" type="card" @tab-click="reload">
-      <el-tab-pane label="考核指标配置" name="indicator"><indicator-index ref="indicator" /></el-tab-pane>
-      <el-tab-pane label="巡检计划管理" name="plan"><plan-index ref="plan" /></el-tab-pane>
-      <el-tab-pane label="巡检任务执行" name="task"><task-index ref="task" /></el-tab-pane>
-      <el-tab-pane label="整改流程管理" name="rect"><rectification-index ref="rect" /></el-tab-pane>
-      <el-tab-pane label="考核结果排名" name="assess"><assess-index ref="assess" /></el-tab-pane>
+    <el-tabs v-model="tab" type="card">
+      <el-tab-pane label="考核指标配置" name="indicator" lazy><indicator-index ref="indicator" /></el-tab-pane>
+      <el-tab-pane label="巡检计划管理" name="plan" lazy><plan-index ref="plan" /></el-tab-pane>
+      <el-tab-pane label="巡检任务执行" name="task" lazy><task-index ref="task" /></el-tab-pane>
+      <el-tab-pane label="整改流程管理" name="rect" lazy><rectification-index ref="rect" /></el-tab-pane>
+      <el-tab-pane label="考核结果排名" name="assess" lazy><assess-index ref="assess" /></el-tab-pane>
     </el-tabs>
   </div>
 </template>

+ 1 - 1
src/components/page/admin/inspect/assess/Index.vue

@@ -340,7 +340,7 @@ export default {
     },
     exportData() {
       if (!this.query.periodType || !this.query.periodCode) return this.$message.warning('请先选择考核周期与周期编码')
-      this.$axios.post('/inspectManage/assess/export', require('querystring').stringify({ periodType: this.query.periodType, periodCode: this.query.periodCode }), { responseType: 'blob' }).then(res => {
+      this.$axios.post('/inspectManage/assess/exportExcel', require('querystring').stringify({ periodType: this.query.periodType, periodCode: this.query.periodCode }), { responseType: 'blob' }).then(res => {
         const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
         const elink = document.createElement('a')
         elink.download = '考核排名-' + this.query.periodCode + '.xlsx'

+ 3 - 3
src/components/page/admin/inspect/indicator/Index.vue

@@ -1,4 +1,4 @@
-<template>
+<template>
   <section class="panel">
     <div class="toolbar"><el-input v-model="query.indicatorName" placeholder="指标名称" clearable/><el-input v-model="query.indicatorCode" placeholder="指标编码" clearable/><el-select v-model="query.indicatorType" placeholder="指标类型" clearable><el-option label="自动采集" :value="1"/><el-option label="人工巡检" :value="2"/></el-select><el-select v-model="query.status" placeholder="状态" clearable><el-option label="启用" :value="1"/><el-option label="停用" :value="0"/></el-select><el-button type="primary" @click="load">查询</el-button><el-button @click="reset">重置</el-button><span class="grow"></span><el-button type="success" plain @click="checkWeight">权重校验</el-button><el-button type="primary" @click="open()">新增指标</el-button></div>
     <el-table :data="rows" border stripe><el-table-column prop="sort" label="排序" width="70"/><el-table-column prop="indicatorCode" label="指标编码" width="140"/><el-table-column prop="indicatorName" label="指标名称" min-width="150"/><el-table-column label="类型" width="100"><template slot-scope="s"><el-tag size="mini" :type="s.row.indicatorType===1?'primary':'warning'">{{typeText(s.row.indicatorType)}}</el-tag></template></el-table-column><el-table-column prop="dataSource" label="数据来源" min-width="150"/><el-table-column prop="maxScore" label="满分" width="80"/><el-table-column prop="passScore" label="及格分" width="80"/><el-table-column prop="weight" label="权重%" width="90"/><el-table-column label="状态" width="90"><template slot-scope="s"><el-switch v-model="s.row.status" :active-value="1" :inactive-value="0" @change="changeStatus(s.row)"/></template></el-table-column><el-table-column label="操作" width="140"><template slot-scope="s"><el-button type="text" @click="open(s.row)">编辑</el-button><el-button type="text" class="danger" @click="remove(s.row)">删除</el-button></template></el-table-column></el-table>
@@ -14,7 +14,7 @@ export default {
   name:'InspectIndicatorIndex',
   data(){return{query:{},rows:[],dialog:false,form:{},weightSum:0}},
   computed:{ weightValid(){return Math.round(this.weightSum)===100} },
-  created(){this.load();this.loadWeight()},
+  created(){this.load()},
   methods:{
     post(u,d){return this.$axios.post(u,querystring.stringify(d||{}))},
     list(r){return r.data&&r.data.list||[]},
@@ -24,7 +24,7 @@ export default {
     open(row){this.form=Object.assign({indicatorType:2,maxScore:100,passScore:60,weight:0,sort:0,status:1},row||{});this.dialog=true},
     save(){const payload=Object.assign({},this.form);delete payload.createDate;delete payload.updateDate;this.post(this.form.indicatorId?'/inspectManage/indicator/update':'/inspectManage/indicator/save',payload).then(()=>{this.dialog=false;this.load();this.$message.success('保存完成')})},
     changeStatus(row){this.post('/inspectManage/indicator/changeStatus',{id:row.indicatorId,status:row.status}).then(()=>{this.$message.success('状态已更新');this.loadWeight()})},
-    remove(row){this.$confirm('确认删除该指标?','提示').then(()=>this.post('/inspectManage/indicator/delete',{id:row.indicatorId}).then(()=>{this.load();this.$message.success('删除完成')}))},
+    remove(row){this.$confirm('确认删除该指标?','提示').then(()=>this.post('/inspectManage/indicator/delete',{id:row.indicatorId}).then(r=>{const rtn=(r.data&&r.data.rtnBean)||{};if(String(rtn.rtnCode)==='0'){this.load();this.$message.success(rtn.rtnMsg||'删除完成')}else{this.$message.error(rtn.rtnMsg||'删除失败')}}))},
     checkWeight(){this.post('/inspectManage/indicator/checkWeight').then(r=>this.$message.info('启用指标权重合计:'+(r.data.obj||0)+'%'))},
     typeText(v){return v===1?'自动采集':'人工巡检'}
   }

+ 3 - 6
src/components/page/admin/inspect/plan/Index.vue

@@ -153,24 +153,21 @@ export default {
     publish(row) {
       this.$confirm('发布后不可编辑,确认发布该计划?', '提示').then(() => {
         post(this.$axios, '/inspectManage/plan/publish', { id: row.planId }).then(res => {
-          this.$message.success(ok(res) ? '发布完成' : (msg(res) || '发布失败'))
-          if (ok(res)) this.load()
+          if (ok(res)) { this.$message.success('发布完成'); this.load() } else { this.$message.error(msg(res) || '发布失败') }
         })
       }).catch(() => {})
     },
     pause(row) {
       this.$confirm('确认暂停该计划?暂停后不再生成新任务。', '提示').then(() => {
         post(this.$axios, '/inspectManage/plan/pause', { id: row.planId }).then(res => {
-          this.$message.success(ok(res) ? '暂停完成' : (msg(res) || '操作失败'))
-          if (ok(res)) this.load()
+          if (ok(res)) { this.$message.success('暂停完成'); this.load() } else { this.$message.error(msg(res) || '操作失败') }
         })
       }).catch(() => {})
     },
     finish(row) {
       this.$confirm('确认结束该计划?结束后不再生成新任务。', '提示').then(() => {
         post(this.$axios, '/inspectManage/plan/finish', { id: row.planId }).then(res => {
-          this.$message.success(ok(res) ? '结束完成' : (msg(res) || '操作失败'))
-          if (ok(res)) this.load()
+          if (ok(res)) { this.$message.success('结束完成'); this.load() } else { this.$message.error(msg(res) || '操作失败') }
         })
       }).catch(() => {})
     },