Browse Source

Merge branch 'dev' of http://192.168.2.241:3000/tengmingxue/dcWaterService into dev

xiangyiyong 9 months ago
parent
commit
04bc223db6
26 changed files with 24502 additions and 17324 deletions
  1. 19 0
      .env.production
  2. 2 0
      .gitignore
  3. 44 4
      README.md
  4. 22970 16519
      package-lock.json
  5. 6 4
      package.json
  6. 233 0
      public/config 20231031.js
  7. 234 0
      public/config 20231112.js
  8. 2 2
      src/utils/request.js
  9. 1 1
      src/views/currentSystem/work/monitoring/businessWorkOrder/flowChartPdf.vue
  10. 1 1
      src/views/currentSystem/work/monitoring/businessWorkOrder/printPdf.vue
  11. 1 1
      src/views/currentSystem/work/order/check/check_merge.vue
  12. 0 1
      src/views/currentSystem/work/order/check/workorder/workorderoperation.vue
  13. 38 44
      src/views/currentSystem/work/order/handle/handle_merge.vue
  14. 10 10
      src/views/currentSystem/work/order/handle/workorder/workorderoperation.vue
  15. 7 7
      src/views/currentSystem/work/order/register/register_merge.vue
  16. 6 6
      src/views/currentSystem/work/order/writeOff/workorder/workorderoperation.vue
  17. 163 171
      src/views/currentSystem/work/order/writeOff/writeOff_merge.vue
  18. 25 1
      src/views/dataBoard/smartProduction/children/rightPanel.vue
  19. 117 75
      src/views/dcSystem/fillingSystem/carRecord/formDialog.vue
  20. 111 113
      src/views/dcSystem/fillingSystem/carRecord/index.vue
  21. 161 147
      src/views/dcSystem/fillingSystem/watchRecords/formDialogNew.vue
  22. 4 2
      src/views/zhpt/scada/scadaCraftMap/MiniScadaCraftMap/index.vue
  23. 1 0
      src/views/zhpt/tongyonggongju/queryResult3/widget.vue
  24. 112 73
      src/views/zhpt/wxListenerCenter/wxRoadQuery/widget.vue
  25. 154 94
      src/views/zhpt/xjListenerCenter/xjRoadQuery/widget.vue
  26. 80 48
      vue.config.js

+ 19 - 0
.env.production

@@ -0,0 +1,19 @@
+###
+ # @Author: zjz
+ # @Date: 2024-06-15 23:22:01
+ # @LastEditors: zjz
+ # @LastEditTime: 2024-06-15 23:22:26
+ # @FilePath: \dcWaterService\.env.production
+ # @Description: 
+### 
+ENV = 'production'
+
+# base api
+# VUE_APP_BASE_API = '/dev-api'
+VUE_APP_BASE_API = ''
+
+#vue cli使用vue_cli_BABEL_TRANSPILE_MODULES环境变量,
+#控制是否启用babel插件动态导入节点插件。
+#它只通过将所有import()转换为require()来完成一件事。
+
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 2 - 0
.gitignore

@@ -1 +1,3 @@
+.DS_Store
 node_modules
+/dist

+ 44 - 4
README.md

@@ -1,8 +1,16 @@
+<!--
+ * @Author: zjz
+ * @Date: 2023-08-28 10:42:10
+ * @LastEditors: zjz
+ * @LastEditTime: 2024-06-15 22:23:37
+ * @FilePath: \dcWaterService\README.md
+ * @Description: 
+-->
 <!--
  * @Author: tengmingxue 1473375109@qq.com
  * @Date: 2022-10-24 16:44:39
  * @LastEditors: zjz
- * @LastEditTime: 2024-05-20 18:48:21
+ * @LastEditTime: 2024-06-15 21:14:47
  * @FilePath: \dcWaterService\README.md
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
@@ -115,8 +123,6 @@ npm install jsencrypt
 node_modules\echarts-gl下的文件将依赖路径中 echarts/lib/……改为 echarts5/lib/(可用ide全局搜索替换)
 
 
-
-
 # 内存分配溢出
 1、npm install -g increase-memory-limit(执行全局之后,在项目内执行:increase-memory-limit)
 
@@ -129,4 +135,38 @@ node_modules\echarts-gl下的文件将依赖路径中 echarts/lib/……改为 e
 # 添加视频
 npm install video.js --save
 npm install videojs-flvjs-es6 --save
-npm install --save flv.js
+npm install --save flv.js
+
+# 添加压缩
+npm i -D uglifyjs-webpack-plugin
+
+npm uninstall uglifyjs-webpack-plugin
+
+npm i -D terser-webpack-plugin@4.x
+
+npm uninstall terser-webpack-plugin
+
+
+# 并行构建
+npm install --save-dev thread-loader  
+
+
+# 升级node版本
+npm uninstall node-sass
+
+npm uninstall sass-loader
+
+
+npm install node-sass@6.x
+
+npm uninstall sass-loader
+
+
+    "@wangeditor/editor": "^5.1.23",
+    "@wangeditor/editor-for-vue": "^1.0.2",
+    "@wangeditor/plugin-upload-attachment": "^1.1.0",
+
+
+# 内存溢出
+npm install increase-memory-limit
+npm install cross-env

File diff suppressed because it is too large
+ 22970 - 16519
package-lock.json


+ 6 - 4
package.json

@@ -4,10 +4,11 @@
   "description": "Element UI & axios & iconfont & permission control & lint",
   "scripts": {
     "dev": "vue-cli-service serve",
-    "build:prod": "vue-cli-service build",
+    "build:prod": "vue-cli-service build --mode production",
     "build:stage": "vue-cli-service build --mode staging",
     "preview": "node build/index.js --preview",
-    "lint": "eslint --ext .js,.vue src"
+    "lint": "eslint --ext .js,.vue src",
+    "fix-memory-limit": "cross-env LIMIT=10240 increase-memory-limit"
   },
   "dependencies": {
     "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
@@ -92,14 +93,15 @@
     "imagemin-gifsicle": "^7.0.0",
     "increase-memory-limit": "^1.0.7",
     "mockjs": "1.0.1-beta3",
-    "node-sass": "^4.9.0",
+    "node-sass": "^4.14.1",
     "runjs": "^4.3.2",
-    "sass-loader": "^7.1.0",
+    "sass-loader": "^7.3.1",
     "script-ext-html-webpack-plugin": "2.1.3",
     "script-loader": "0.7.2",
     "serve-static": "^1.13.2",
     "svg-sprite-loader": "4.1.3",
     "svgo": "1.2.2",
+    "terser-webpack-plugin": "^4.2.3",
     "vue-baidu-map": "^0.21.22",
     "vue-template-compiler": "2.6.10"
   },

File diff suppressed because it is too large
+ 233 - 0
public/config 20231031.js


File diff suppressed because it is too large
+ 234 - 0
public/config 20231112.js


+ 2 - 2
src/utils/request.js

@@ -6,8 +6,8 @@ import qs from 'qs'
 import router from '@/router'
 
 // 创建axios实例
-// export const IP = 'http://192.168.2.15:10085/'
-export const IP = 'http://36.138.232.124:10085/'
+// export const IP = 'http://192.168.2.15:10081'
+export const IP = 'http://36.138.232.124:10085'
 // export const IP = 'http://221.182.8.141:10085'
 export const NewIp = 'http://58.17.241.6:1212'
 const service = axios.create({

+ 1 - 1
src/views/currentSystem/work/monitoring/businessWorkOrder/flowChartPdf.vue

@@ -6,7 +6,7 @@
           <div> <img src="@/assets/images/logo.png" alt=""></div>
           <div>
             <p style="font-weight:600;font-size:28px;height:30px"> 德昌毅欣水务责任有限公司</p>
-            <p style="font-size:12px;height:20px;margin-top:-10px">LINGSHUI COUNTY WATER GROUP</p>
+            <p style="font-size:12px;height:20px;margin-top:-10px">YIXIN COUNTY WATER  LIMITED LIABILITY COMPANY</p>
           </div>
         </div>
         <div class="Viewheadersbottom">

+ 1 - 1
src/views/currentSystem/work/monitoring/businessWorkOrder/printPdf.vue

@@ -6,7 +6,7 @@
           <div> <img style="height: 80px;margin-right: 5px;" src="@/assets/images/logo.png" alt=""></div>
           <div>
             <p style="font-weight:600;font-size:28px;height:30px">德昌毅欣水务责任有限公司</p>
-            <p style="font-size:12px;height:20px;margin-top:-10px">LINGSHUI COUNTY WATER GROUP</p>
+            <p style="font-size:12px;height:20px;margin-top:-10px">YIXIN COUNTY WATER  LIMITED LIABILITY COMPANY</p>
           </div>
         </div>
         <div class="Viewheadersbottom" style="margin-top: -10px;">

+ 1 - 1
src/views/currentSystem/work/order/check/check_merge.vue

@@ -888,7 +888,7 @@ export default {
           }
           this.receiver = arr
         } else {
-          const data = this.checkForm.shbm.split(',').join(',')
+          const data = this.checkForm.shbm?.split(',').join(',')
           this.getUserByDept(data)
         }
       } else {

+ 0 - 1
src/views/currentSystem/work/order/check/workorder/workorderoperation.vue

@@ -170,7 +170,6 @@
       width="1200px"
       class="dialog"
     >
-
       <div class="dialog_style" :style="{ height: mapHeight }">
         <RegisterMerge
           ref="registerMerge"

+ 38 - 44
src/views/currentSystem/work/order/handle/handle_merge.vue

@@ -330,7 +330,7 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row v-if="disabled" type="flex">
+          <!-- <el-row v-if="disabled" type="flex">
             <el-col :span="8">
               <el-form-item label="审核部门:">
                 <el-input v-model="data.jgAuditList[0].deptName" disabled placeholder="未选择审核部门" />
@@ -341,7 +341,7 @@
                 <el-input v-model="data.jgAuditList[0].auditUserName" disabled placeholder="未选择审核人员" />
               </el-form-item>
             </el-col>
-          </el-row>
+          </el-row> -->
         </el-collapse-item>
       </el-collapse>
       <QwxFlow
@@ -585,6 +585,7 @@ export default {
     // }
   },
   created() {
+    const that = this
     const data = JSON.parse(JSON.stringify(this.data))
     this.difference = JSON.stringify(this.data) !== '{}'
     if (this.difference) {
@@ -663,42 +664,32 @@ export default {
       if (this.disabled) {
         this.srcListsrc = []
         const arr = ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.tiff']
-        if (!this.arrayIsNull(this.data.files)) {
-          for (const i in this.data.files) {
-            imageByName(this.data.files[i].filePath).then(res => {
-              this.srcListsrc.push({
-                url: res.config.url,
-                name: this.data.files[i].fileName,
-                urlName: this.data.files[i].filePath,
-                id: this.data.files[i].id,
-                fileFormat: this.data.files[i].fileFormat
+        var token = that.$store.state.user.token
+        if (!this.arrayIsNull(this.data.gddjFiles)) {
+          console.log('文件:', JSON.stringify(this.data.gddjFiles))
+
+          for (const i in this.data.gddjFiles) {
+            var fileModel = this.data.gddjFiles[i]
+            const esuffixt = fileModel.fileFormat
+            const es = fileModel.filePath
+            // if(esuffixt == '.amr'){
+            //   const audioPath = `${IP}/base/file/loadAudio?remotePath=${es}&access_token=${token}`
+            //   this.audioFileList.push(audioPath)
+            // }else
+
+            // esuffixt === '.jpeg' || esuffixt === '.png' || esuffixt === '.jpg'
+            if (arr.includes(esuffixt)) {
+              const imagePath = `${IP}/base/file/loadImg?remotePath=${es}&access_token=${token}`
+              this.ImgUrlList.push(imagePath)
+            } else {
+              this.fileListF.push({
+                url: es,
+                name: fileModel.fileName,
+                urlName: fileModel.filePath,
+                id: fileModel.id,
+                fileFormat: fileModel.fileFormat
               })
-              console.log(this.srcListsrc.length, this.data.files.length, '11111111111111111111111111111')
-              if (this.srcListsrc.length === this.data.files.length) {
-                const filtpathArr = JSON.parse(JSON.stringify(this.srcListsrc))
-                for (const i in this.srcListsrc) {
-                  for (const j in arr) {
-                    if (this.srcListsrc[i].fileFormat === arr[j]) {
-                      // 是图片类型
-                      this.fileListImg.push(this.srcListsrc[i])
-                    }
-                  }
-                }
-                this.ImgUrlList = []
-                for (const i in this.fileListImg) {
-                  this.ImgUrlList.push(this.fileListImg[i].url)
-                }
-                for (const i in filtpathArr) {
-                  for (const j in this.fileListImg) {
-                    if (filtpathArr[i].id === this.fileListImg[j].id) {
-                      filtpathArr.splice(i, 1)
-                    }
-                  }
-                }
-                this.fileListF = filtpathArr
-                console.log(this.ImgUrlList, this.fileListF, 'fffffffffffffffffffffffffffffffffffff')
-              }
-            })
+            }
           }
         }
       }
@@ -711,13 +702,13 @@ export default {
         }
         return [...map.values()]
       }
-      if (result.gdpersonList.length > 0) { // 如果该工单细分下分配了处理人员,则部门下拉列表则使用处理人员的部门,如果没有分配处理人员,则使用该工单类型所属的部门
-        this.acceptanceDepartments = deWeightThree1()// deWeightThree1()// result.gddepartmentList
-        // this.acceptanceDepartments_zp = deWeightThree1()
-      } else {
-        this.acceptanceDepartments = result.gddepartmentList// deWeightThree1()// result.gddepartmentList
-        // this.acceptanceDepartments_zp = result.gddepartmentList
-      }
+      // if (result.gdpersonList.length > 0) { // 如果该工单细分下分配了处理人员,则部门下拉列表则使用处理人员的部门,如果没有分配处理人员,则使用该工单类型所属的部门
+      //   this.acceptanceDepartments = deWeightThree1()// deWeightThree1()// result.gddepartmentList
+      //   // this.acceptanceDepartments_zp = deWeightThree1()
+      // } else {
+      //   this.acceptanceDepartments = result.gddepartmentList// deWeightThree1()// result.gddepartmentList
+      //   // this.acceptanceDepartments_zp = result.gddepartmentList
+      // }
       // this.acceptanceDepartments = result.gddepartmentList
       // this.acceptanceDepartments_zp = result.gddepartmentList
       // this.Bmchange_zp()
@@ -728,6 +719,9 @@ export default {
       //     }
       //   }
       // }
+
+      this.acceptanceDepartments = result.gddepartmentList
+
       if (result.gdpersonList[0]) {
         var arr = []
         for (const i in result.gdpersonList) {

+ 10 - 10
src/views/currentSystem/work/order/handle/workorder/workorderoperation.vue

@@ -190,7 +190,7 @@
 
       <div class="dialog_style" :style="{ height: mapHeight }">
         <RegisterMerge
-          v-if="multipleSelection[0].allLcjd.includes('1')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('1')"
           ref="registerMerge"
           :data="editData"
           :disabled="true"
@@ -202,7 +202,7 @@
           :acceptance-department="acceptanceDepartment"
         />
         <HandleMerge
-          v-if="multipleSelection[0].allLcjd.includes('2')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('2')"
           ref="handleMerge"
           :data="editData"
           :disabled="disabled"
@@ -212,28 +212,28 @@
           @remind="remind"
         />
         <CheckMerge
-          v-if="multipleSelection[0].allLcjd.includes('3')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('3')"
           ref="CheckMerge"
           :data="editData"
           :acceptance-department="acceptanceDepartment"
           :disabled="true"
         />
         <QualityMerge
-          v-if="multipleSelection[0].allLcjd.includes('4')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('4')"
           ref="QualityMerge"
           :data="editData"
           :acceptance-department="acceptanceDepartment"
           :disabled="true"
         />
         <WriteOffMerge
-          v-if="multipleSelection[0].allLcjd.includes('5')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('5')"
           ref="WriteOffMerge"
           :data="editData"
           :acceptance-department="acceptanceDepartment"
           :disabled="true"
         />
         <ResultMerge
-          v-if="multipleSelection[0].allLcjd.includes('6')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('6')"
           ref="ResultMerge"
           :data="editData"
           :audit-chain="auditChain"
@@ -373,11 +373,11 @@ export default {
       setDisabled: {
         // 返回禁用时间
         disabledDate(time) {
-          return time.getTime() > Date.now();  // 可选历史天、可选当前天、不可选未来天
+          return time.getTime() > Date.now() // 可选历史天、可选当前天、不可选未来天
           // return time.getTime() > Date.now() - 8.64e7;  // 可选历史天、不可选当前天、不可选未来天
           // return time.getTime() < Date.now() - 8.64e7;  // 不可选历史天、可选当前天、可选未来天
           // return time.getTime() < Date.now(); // 不可选历史天、不可选当前天、可选未来天
-        },
+        }
       },
       // 认证项目
       project: '',
@@ -630,11 +630,11 @@ export default {
       //   this.$message.error('开始日期不能大于结束日期')
       //   return false
       // }
-      if(this.value1 == null || this.value2 == null){
+      if (this.value1 == null || this.value2 == null) {
         this.$message.error('请选择完整查询日期!')
         return false
       }
-      if(this.value1 > this.value2){
+      if (this.value1 > this.value2) {
         this.$message.error('开始日期不能大于结束日期')
         return false
       }

+ 7 - 7
src/views/currentSystem/work/order/register/register_merge.vue

@@ -1790,7 +1790,7 @@ export default {
 
                 // esuffixt === '.jpeg' || esuffixt === '.png' || esuffixt === '.jpg'
                 if (arr.includes(esuffixt)) {
-                  const imagePath = `${IP}base/file/loadImg?remotePath=${es}&access_token=${token}`
+                  const imagePath = `${IP}/base/file/loadImg?remotePath=${es}&access_token=${token}`
                   this.ImgUrlList.push(imagePath)
                 } else {
                   this.fileListF.push({
@@ -1888,12 +1888,12 @@ export default {
             }
             return [...map.values()]
           }
-          if (result.gdpersonList.length > 0) {
-            // 如果该工单细分下分配了处理人员,则部门下拉列表则使用处理人员的部门,如果没有分配处理人员,则使用该工单类型所属的部门
-            this.acceptanceDepartments = deWeightThree1() // deWeightThree1()// result.gddepartmentList
-          } else {
-            this.acceptanceDepartments = result.gddepartmentList // deWeightThree1()// result.gddepartmentList
-          }
+          // if (result.gdpersonList.length > 0) {
+          //   // 如果该工单细分下分配了处理人员,则部门下拉列表则使用处理人员的部门,如果没有分配处理人员,则使用该工单类型所属的部门
+          //   this.acceptanceDepartments = deWeightThree1() // deWeightThree1()// result.gddepartmentList
+          // } else {
+          this.acceptanceDepartments = result.gddepartmentList // deWeightThree1()// result.gddepartmentList
+          // }
           for (const i in this.allLcjd) {
             if (this.allLcjd[i] == 1) {
               console.log(

+ 6 - 6
src/views/currentSystem/work/order/writeOff/workorder/workorderoperation.vue

@@ -173,7 +173,7 @@
 
       <div class="dialog_style" :style="{ height: mapHeight }">
         <RegisterMerge
-          v-if="multipleSelection[0].allLcjd.includes('1')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('1')"
           ref="registerMerge"
           :data="editData"
           :disabled="true"
@@ -185,7 +185,7 @@
           :acceptance-department="acceptanceDepartment"
         />
         <HandleMerge
-          v-if="multipleSelection[0].allLcjd.includes('2')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('2')"
           ref="handleMerge"
           :data="editData"
           :disabled="true"
@@ -193,7 +193,7 @@
           :acceptance-department="acceptanceDepartment"
         />
         <CheckMerge
-          v-if="multipleSelection[0].allLcjd.includes('3')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('3')"
           ref="checkMerge"
           :data="editData"
           :disabled="true"
@@ -201,7 +201,7 @@
           :active-names="active"
         />
         <QualityMerge
-          v-if="multipleSelection[0].allLcjd.includes('4')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('4')"
           ref="qualityMerge"
           :data="editData"
           :disabled="true"
@@ -209,7 +209,7 @@
           :acceptance-department="acceptanceDepartment"
         />
         <WriteOffMerge
-          v-if="multipleSelection[0].allLcjd.includes('5')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('5')"
           ref="WriteOffMerge"
           :data="editData"
           :disabled="disabled"
@@ -219,7 +219,7 @@
           @remind="remind"
         />
         <ResultMerge
-          v-if="multipleSelection[0].allLcjd.includes('6')"
+          v-if="multipleSelection.length==1 && multipleSelection[0].allLcjd.includes('6')"
           ref="ResultMerge"
           :data="editData"
           :disabled="true"

+ 163 - 171
src/views/currentSystem/work/order/writeOff/writeOff_merge.vue

@@ -56,7 +56,8 @@
                   <el-row>
                     <el-col>
                       <el-form-item label="转派意见:">
-                        <el-input v-model="item.zpyj" disabled type="textarea" />
+                        <!-- <el-input v-model="item.zpyj" disabled type="textarea" /> -->
+                        <span style="white-space:pre-line">{{ item.zpyj }}</span>
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -89,34 +90,34 @@
                 <el-col :span="24">
                   <el-form-item label="处置说明:">
                     <el-input
+                      v-if="disabled"
                       v-model="item.czyj"
                       placeholder="未输入处置说明"
                       disabled
                       type="textarea"
                       size="small"
-                      :rows="disabled?1:3"
+                      :autosize="disabled?{minRows:1,maxRows:20}:{minRows:3,maxRows:10}"
                     />
+                    <span v-else style="white-space:pre-line">{{ item.czyj||"未输入处置说明" }}</span>
                   </el-form-item>
                 </el-col>
               </el-row>
               <el-row>
                 <el-col :span="24">
                   <el-form-item label="附件下载:">
-                    <div v-if="ImgUrlList[0] || fileListF[0]" style="display: flex">
-                      <el-row type="flex" style="padding-right: 10px" :gutter="20">
+                    <div v-if="ImgUrlList[0] || fileListF[0]" style="display: flex;">
+                      <el-row type="flex" style="padding-right:10px; " :gutter="20">
                         <el-image
-                          v-for="(item,index) in ImgUrlList"
-                          :key="index"
-                          style="padding-left:10px;margin-right:5px;  width:100px"
+                          v-for="item in ImgUrlList"
+                          :key="item"
+                          :lazy="true"
+                          style="padding-left:10px;margin-right:5px;  width: 100px ;"
                           :src="item"
                           :preview-src-list="ImgUrlList"
                         />
                       </el-row>
 
-                      <el-row
-                        type="flex"
-                        style="padding-left: 30px; margin: 0; margin-left: 5px"
-                      >
+                      <el-row type="flex" style="padding-left:30px; margin: 0;margin-left:5px">
                         <el-upload
                           ref="upload"
                           disabled
@@ -129,35 +130,10 @@
                       </el-row>
                     </div>
                     <div v-else>
-                      <!-- <div class="colflexS">
-                    <img src="@/assets/icon/null.png" alt="" style="height:30px">
-                    <div>无上传文件</div>
-                  </div> -->
-                      <el-table :data="tableData" border style="width: 100%">
-                        <el-table-column
-                          prop="name"
-                          label="文件名"
-                          align="center"
-                        />
-                        <el-table-column
-                          prop="createTime"
-                          label="上传时间"
-                          align="center"
-                        />
-                        <el-table-column fixed="right" label="操作" width="100">
-                          <template slot-scope="scope">
-                            <el-button
-                              type="text"
-                              size="small"
-                              @click="handleClick(scope.row)"
-                            >下载</el-button>
-                          </template>
-                        </el-table-column>
-                        <template slot="empty">
-                          <img src="@/assets/icon/null.png" alt="">
-                          <div class="empty-p">无上传文件</div>
-                        </template>
-                      </el-table>
+                      <div class="colflexS">
+                        <img src="@/assets/icon/null.png" alt="" style="height:30px">
+                        <div>无上传文件</div>
+                      </div>
                     </div>
                   </el-form-item>
                 </el-col>
@@ -222,23 +198,27 @@
                   </el-form-item> -->
                   <el-form-item v-if="resultForm.czzt !== 53" label="处置说明:" prop="czyj">
                     <el-input
+                      v-if="!disabled"
                       v-model="resultForm.czyj"
                       :placeholder="disabled?'未输入处置说明':'请输入处置说明'"
                       :disabled="disabled"
                       type="textarea"
                       size="small"
-                      :rows="disabled?1:3"
+                      :autosize="disabled?{minRows:1,maxRows:20}:{minRows:3,maxRows:10}"
                     />
+                    <span v-else style="white-space:pre-line">{{ resultForm.czyj||"未输入处置说明" }}</span>
                   </el-form-item>
                   <el-form-item v-if="resultForm.czzt === 53" label="驳回原因:" prop="bhyy">
                     <el-input
+                      v-if="!disabled"
                       v-model="resultForm.bhyy"
                       :placeholder="disabled?'未输入驳回原因':'请输入驳回原因'"
                       :disabled="disabled"
                       type="textarea"
                       size="small"
-                      :rows="disabled?1:3"
+                      :autosize="disabled?{minRows:1,maxRows:20}:{minRows:3,maxRows:10}"
                     />
+                    <span v-else style="white-space:pre-line">{{ resultForm.bhyy||"未输入驳回原因" }}</span>
                   </el-form-item>
                   <!-- <el-form-item v-else label="处置说明" prop="czyj">
                     <el-input
@@ -255,12 +235,14 @@
                 <el-col v-if="resultForm.czzt === 70&&!disabled" :span="24">
                   <el-form-item label="转派原因:" prop="zpyj">
                     <el-input
+                      v-if="!disabled"
                       v-model="resultForm.zpyj"
                       :placeholder="disabled?'未输入转派原因':'请输入转派原因'"
                       :disabled="disabled"
                       type="textarea"
-                      :rows="disabled?1:3"
+                      :autosize="disabled?{minRows:1,maxRows:20}:{minRows:3,maxRows:10}"
                     />
+                    <span v-else style="white-space:pre-line">{{ resultForm.zpyj||"未输入转派原因" }}</span>
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -351,7 +333,6 @@
                       :before-remove="beforeRemove"
                       :on-change="beforeAvatarUpload"
                       :on-success="handleAvatarSuccess"
-
                       accept=".docx,.doc,.xls,.xlsx.JPG,JPEG,PNG,GIF,.jpg,.jpeg,.png,.gif,.JPG,.JPEG,.PBG,.GIF,"
                       :file-list="fileList"
                       :auto-upload="false"
@@ -407,6 +388,7 @@
 </template>
 
 <script>
+import { getBaseFileLoadImg } from '@/api/ftp'
 import QwxFlow from '../../components/qwxFlow'
 import { parseTime } from '@/utils/index'
 import { IP } from '@/utils/request'
@@ -563,6 +545,7 @@ export default {
         transferOutType: '', // 抢维修类型
         currentFlow: '5' // 当前步骤:2
       },
+      gdpersonList: null,
       workflowQwx: {
         // 抢维修
         slbm: '', // 部门编码
@@ -586,20 +569,54 @@ export default {
   },
   watch: {
     getFlows(val) {
+      // if (val === 70) {
+      //   this.resultForm.zjczry = ''
+      //   this.data.zjbm ? this.menuIdT = this.data.zjbm : this.menuIdT = this.data.slbm
+      //   getPersonnel({ ids: 2005, departmentId: this.menuIdT }).then(res => {
+      //     this.receiver = res.result.filter(v => {
+      //       return v.id !== this.data.zjczry
+      //     })
+      //   })
+      // } else {
+      //   this.getReceiver()
+      // }
       if (val === 70) {
+        // 转派只能转派给本部门,如果流程配置中有人员,则只能转派给配置中的人
+        // 如果配置中没有人员,则可以转派给本部门其它人员
         this.resultForm.zjczry = ''
-        this.data.zjbm ? this.menuIdT = this.data.zjbm : this.menuIdT = this.data.slbm
-        getPersonnel({ ids: 2005, departmentId: this.menuIdT }).then(res => {
-          this.receiver = res.result.filter(v => {
-            return v.id !== this.data.zjczry
-          })
+        const tempArr = []
+        let hasPeople = false
+        this.gdpersonList.forEach(item => {
+          if (item.node == '5') { // 判断本环节是否配置人员
+            hasPeople = true
+            if ((item.departId + '' == this.$store.state.user.departmentId + '') && (item.personId + '' != this.$store.state.user.userId + '')) {
+              item.realName = item.personName
+              item.id = item.personId
+              tempArr.push(item)
+            }
+          }
         })
-      } else {
-        this.getReceiver()
+        if (hasPeople) {
+          this.receiver = tempArr
+        } else {
+          const data = this.$store.state.user.departmentId
+          getUserByDepts({ depts: data }).then(res => {
+            var arr = []
+            for (const i in res.result) {
+              for (const j in res.result[i].users) {
+                arr.push(res.result[i].users[j])
+              }
+            }
+            this.receiver = arr.filter(v => {
+              return (v.id + '') !== (this.$store.state.user.userId + '')
+            })
+          })
+        }
       }
     }
   },
   created() {
+    const that = this
     getusernameinfo().then(res => {
       const data = JSON.parse(JSON.stringify(this.data))
       this.difference = JSON.stringify(this.data) !== '{}'
@@ -670,42 +687,15 @@ export default {
           }
         ]
       }
-      // 下一阶段为结果审核
-      // if (this.allLcjd == 6) {
-      //   this.isJgsh = true
-      //   const departArr = []
-      //   for (const i in result.gdpersonList) {
-      //     if (result.gdpersonList[i].childNode == 1 && result.gdpersonList[i].node == 6) {
-      //       departArr.push({
-      //         departId: result.gdpersonList[i].departId,
-      //         departName: result.gdpersonList[i].departName
-      //       })
-      //     }
-      //   }
-      //   const deWeightThree = () => {
-      //     const map = new Map()
-      //     for (const item of departArr) {
-      //       if (!map.has(item.departId)) {
-      //         map.set(item.departId, item)
-      //       }
-      //     }
-      //     return [...map.values()]
-      //   }
-      //   const newDepartArr = deWeightThree()
-      //   // 当结果审核配置了处理人员时
-      //   if (newDepartArr[0]) {
-      //     this.acceptanceDepartments = newDepartArr
-      //   } else {
-      //     this.acceptanceDepartments = this.acceptanceDepartment
-      //     for (const i in this.acceptanceDepartments) {
-      //       this.acceptanceDepartments[i].departId = this.acceptanceDepartments[i].id
-      //       this.acceptanceDepartments[i].departName = this.acceptanceDepartments[i].name
-      //     }
-      //   }
-      // } else {
-      //   this.isJgsh = false
-      // }
       Object.keys(this.resultForm).forEach(key => { this.resultForm[key] = data[key] })
+      let resuleForm = {}
+      if (!this.disabled) {
+        for (const i in data.resultList) {
+          if (data.resultList[i].personId === res.result.id) {
+            resuleForm = data.resultList.splice(i, 1)[0]
+          }
+        }
+      }
       if (!this.resultForm.czzt) {
         if (this.isGjry) {
           this.resultForm.czzt = 52
@@ -729,7 +719,8 @@ export default {
           data.resultList[i].isFinishName = '未处理'
         }
         debugger
-        this.fileMethod(data.jgczFile, resultNum)
+        // this.fileMethod(data.resultList[i].gddjFiles, resultNum)
+
         data.resultList[i].fileListImg = []
         data.resultList[i].ImgUrlList = []
         data.resultList[i].fileListF = []
@@ -740,25 +731,24 @@ export default {
       console.log(this.jgczArr, 'this.jgczArrthis.jgczArrthis.jgczArrthis.jgczArrthis.jgczArrthis.jgczArrthis.jgczArrthis.jgczArrthis.jgczArr')
       this.jgczShow = !this.jgczArr[0]
       const _allLcjd = this.data.allLcjd
-      if (!this.resultForm.rzbm) {
-        if (data.zjbm) {
-          this.resultForm.czbm = data.zjbm
-        } else {
-          this.resultForm.czbm = data.slbm
-        }
-        this.Bmchange()
+      // if (!this.resultForm.rzbm) {
+      if (resuleForm.departId) {
+        this.resultForm.czbm = resuleForm.departId
+        console.log(resuleForm.departId, 'resuleForm.departIdresuleForm.departIdresuleForm.departIdresuleForm.departId')
       }
+      // }
       if (this.resultForm.czzt !== 52) {
         this.resultForm.czzt = 51
       }
       this.getReceiver()
-      this.resultForm.jgczry = data.jgczry || ''
+      // this.resultForm.jgczry = resuleForm.personId || ''
       this.resultForm.jgczryOld = data.jgczry || ''
 
+      console.log(data.jgczFile, resuleForm, 'resuleForm.jgczFileInforesuleForm.jgczFileInforesuleForm.jgczFileInforesuleForm.jgczFileInforesuleForm.jgczFileInfo')
       if (data.jgczFile !== null) {
         this.fileList = []
-        if (!this.arrayIsNull(this.data.jgczFile)) {
-          this.fileList = this.data.jgczFile.map((v) => {
+        if (!this.arrayIsNull(data.jgczFile)) {
+          this.fileList = data.jgczFile.map((v) => {
             return {
               id: v.id,
               name: v.fileName,
@@ -770,21 +760,45 @@ export default {
         }
         this.tableData = this.fileList
       }
+
       // 获取最后的流程编码
       this.lcjdParams.lastLcjd = this.removeLcjd(_allLcjd)
       if (this.lcjdParams.lastLcjd == 6) {
         getById({ id: data.lcid }).then(res => {
-          // // console.log('123123123213213', this.allLcjd)
           const result = res.result
-          // let node = ''
+          if (this.disabled) {
+            this.srcListsrc = []
+            const arr = ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.tiff']
+            var token = that.$store.state.user.token
+            if (!this.arrayIsNull(this.data.jgczFile)) {
+              console.log('文件:', JSON.stringify(this.data.jgczFile))
+
+              for (const i in this.data.jgczFile) {
+                var fileModel = this.data.jgczFile[i]
+                const esuffixt = fileModel.fileFormat
+                const es = fileModel.filePath
+                // if(esuffixt == '.amr'){
+                //   const audioPath = `${IP}/base/file/loadAudio?remotePath=${es}&access_token=${token}`
+                //   this.audioFileList.push(audioPath)
+                // }else
+
+                // esuffixt === '.jpeg' || esuffixt === '.png' || esuffixt === '.jpg'
+                if (arr.includes(esuffixt)) {
+                  const imagePath = `${IP}/base/file/loadImg?remotePath=${es}&access_token=${token}`
+                  this.ImgUrlList.push(imagePath)
+                } else {
+                  this.fileListF.push({
+                    url: es,
+                    name: fileModel.fileName,
+                    urlName: fileModel.filePath,
+                    id: fileModel.id,
+                    fileFormat: fileModel.fileFormat
+                  })
+                }
+              }
+            }
+          }
           this.acceptanceDepartments = result.gddepartmentList
-          // for (const i in this.allLcjd) {
-          //   if (this.allLcjd[i] == 2) {
-          //     if (this.allLcjd[Number(i) + 1]) {
-          //       node = this.allLcjd[Number(i) + 1]
-          //     }
-          //   }
-          // }
           if (result.gdpersonList[0]) {
             var arr = []
             for (const i in result.gdpersonList) {
@@ -794,6 +808,8 @@ export default {
             }
             this.receivers = arr
           }
+          this.gdpersonList = result.gdpersonList
+          this.Bmchange()
           // // 下一阶段为结果审核
           // const departArr = []
           // for (const i in result.gdpersonList) {
@@ -1057,15 +1073,17 @@ export default {
     fileMethod(data, num) {
       const that = this
       console.log(data, 'datadatadatatatatatatatatatat')
-      // const fileListImg = []
-      // const ImgUrlList = []
-      // const fileListF = []
-      // const srcListsrc = []
+      const fileListImg = []
+      const ImgUrlList = []
+      const fileListF = []
+      const srcListsrc = []
       const arr = ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.tiff']
       var token = that.$store.state.user.token
-      if (!this.arrayIsNull(data)) {
-        for (const i in data) {
-          var fileModel = data[i]
+      if (!this.arrayIsNull(this.data.gddjFiles)) {
+        console.log('文件:', JSON.stringify(this.data.gddjFiles))
+
+        for (const i in this.data.gddjFiles) {
+          var fileModel = this.data.gddjFiles[i]
           const esuffixt = fileModel.fileFormat
           const es = fileModel.filePath
           // if(esuffixt == '.amr'){
@@ -1075,7 +1093,7 @@ export default {
 
           // esuffixt === '.jpeg' || esuffixt === '.png' || esuffixt === '.jpg'
           if (arr.includes(esuffixt)) {
-            const imagePath = `${IP}base/file/loadImg?remotePath=${es}&access_token=${token}`
+            const imagePath = `${IP}/base/file/loadImg?remotePath=${es}&access_token=${token}`
             this.ImgUrlList.push(imagePath)
           } else {
             this.fileListF.push({
@@ -1086,47 +1104,6 @@ export default {
               fileFormat: fileModel.fileFormat
             })
           }
-          // imageByName(data[i].filePath).then(res => {
-          //   srcListsrc.push({
-          //     url: res.config.url,
-          //     name: data[i].fileName,
-          //     urlName: data[i].filePath,
-          //     id: data[i].id,
-          //     fileFormat: data[i].fileFormat
-          //   })
-          //   if (srcListsrc.length === data.length) {
-          //     const filtpathArr = JSON.parse(JSON.stringify(srcListsrc))
-          //     for (const i in srcListsrc) {
-          //       for (const j in arr) {
-          //         if (srcListsrc[i].fileFormat === arr[j]) {
-          //           // 是图片类型
-          //           fileListImg.push(srcListsrc[i])
-          //         }
-          //       }
-          //     }
-          //     ImgUrlList = []
-          //     for (const i in fileListImg) {
-          //       ImgUrlList.push(fileListImg[i].url)
-          //     }
-          //     for (const i in filtpathArr) {
-          //       for (const j in fileListImg) {
-          //         if (filtpathArr[i].id === fileListImg[j].id) {
-          //           filtpathArr.splice(i, 1)
-          //         }
-          //       }
-          //     }
-          //     fileListF = filtpathArr
-          //   }
-          //   console.log(fileListImg, ImgUrlList, fileListF, 'fileListImg, ImgUrlList, fileListFfileListImg, ImgUrlList, fileListFfileListImg, ImgUrlList, fileListFfileListImg, ImgUrlList, fileListF')
-          //   this.jgczArr[num].fileListImg = fileListImg
-          //   this.jgczArr[num].ImgUrlList = ImgUrlList
-          //   this.jgczArr[num].fileListF = fileListF
-          //   if (!this.arrayIsNull(ImgUrlList) || !this.arrayIsNull(fileListF)) {
-          //     this.jgczArr[num].isFile = true
-          //   } else {
-          //     this.jgczArr[num].isFile = false
-          //   }
-          // })
         }
       }
     },
@@ -1138,7 +1115,7 @@ export default {
     },
     handleClick(row) {
       window.open(
-        `${IP}base/file/downloadFile?fileName=${row.name}&remotePath=${row.url}&access_token=${this.$store.state.user.token}`
+        `${IP}/base/file/downloadFile?fileName=${row.name}&remotePath=${row.urlName}&access_token=${this.$store.state.user.token}`
       )
     },
     // 提交
@@ -1222,6 +1199,14 @@ export default {
               }
               break
           }
+          if (this.resultForm.czzt === 70 && this.receiver.length == 0) {
+            this.$message.error('请联系管理员配置转派人员')
+            return
+          }
+          if (this.resultForm.czzt === 70 && this.receiver.length > 0 && this.resultForm.zjczry == '') {
+            this.$message.error('请选择转派人员')
+            return
+          }
           if (this.isJgsh && this.resultForm.czzt == 52) {
             // this.JgshMothed(_this.resultForm)
             _this.resultForm['audit.auditUser'] = _this.resultForm.jgczry
@@ -1244,11 +1229,13 @@ export default {
           // console.log(data)
           // } else {
           editResult(data).then((res) => {
+            let text = ''
             if (res.code === 1) {
               _this.$message.success('处理成功')
               this.dialogFormVisible = true
-              _this.$emit('remind', '成功')
+              text = '成功'
             }
+            _this.$emit('remind', text)
           })
           // }
 
@@ -1434,13 +1421,18 @@ export default {
             }
           }
           // this.newAdd(datas)
-          editResult(datas).then((res) => {
-            if (res.code === 1) {
-              this.$message.success('处理成功')
-              this.dialogFormVisible = true
-              this.$emit('remind', '成功')
-            }
+          this.$emit('writeSend', true)
+          this.$nextTick(e => {
+            editResult(datas).then((res) => {
+              if (res.code === 1) {
+                this.$message.success('处理成功')
+                this.dialogFormVisible = true
+                this.$emit('remind', '成功')
+              }
+              this.$emit('writeSend', false)
+            })
           })
+
           // newAdd(this.JgshData).then((res) => {
           //   if (res.code === 1) {
           //     this.$message.success('处理成功')
@@ -1574,7 +1566,7 @@ export default {
 #handle_merge {
     .wrap {
     border: 1px solid rgba(57, 153, 243, 0.15);
-    >>> .el-collapse-item__header {
+    ::v-deep .el-collapse-item__header {
       background: rgba(57, 153, 243, 0.15);
       font-size: 15px;
       height: 40px;
@@ -1589,7 +1581,7 @@ export default {
     }
   }
       .NBjd{
-       >>> .el-collapse-item__header {
+       ::v-deep .el-collapse-item__header {
       background: rgb(240,240,240);
       color: black;
       }
@@ -1597,19 +1589,19 @@ export default {
   .dialog_style {
     width: 100%;
     overflow-y: auto;
-    /deep/ .el-table {
+    ::v-deep .el-table {
       text-align: center;
       vertical-align: middle;
     }
   }
-  /deep/ .el-form-item {
+  ::v-deep .el-form-item {
     margin-bottom: 5px;
   }
-  /deep/ .el-collapse-item__wrap {
+  ::v-deep .el-collapse-item__wrap {
     margin-top: 10px;
   }
 }
-    .is-disabled>>>.el-input__inner{
+    .is-disabled::v-deep.el-input__inner{
     background: white;
     border: none;
     font-size: 14px;
@@ -1617,7 +1609,7 @@ export default {
     cursor: default;
     padding: 0;
     }
-  .is-disabled>>>.el-textarea__inner{
+  .is-disabled::v-deep.el-textarea__inner{
     background: white;
     border: none;
     font-size: 14px;
@@ -1625,7 +1617,7 @@ export default {
     cursor: default;
     padding: 0;
     }
-/deep/ .el-upload {
+::v-deep .el-upload {
     justify-content: flex-start;
   }
     .colflexS{

+ 25 - 1
src/views/dataBoard/smartProduction/children/rightPanel.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="wadah">
-    <el-carousel indicator-position="outside" class="flow-carousel" :autoplay="false" @change="changeCarousel">
+    <el-carousel ref="carousel" indicator-position="outside" class="flow-carousel" :autoplay="false" @change="changeCarousel">
       <el-carousel-item
         v-for="(item, index) in categoryType"
         :key="index"
@@ -43,6 +43,7 @@
 import { getassayConfigPage, getStatisticsPage } from '@/api/dcApi/assayMngApi'
 import flowCurve from './flowCurve.vue'
 import moment from 'moment'
+import eventBus from '@/utils/bus.js'
 import MultipleData from '../../components/multipleData/multipleData.vue'
 export default {
   components: {
@@ -73,6 +74,29 @@ export default {
       }
     })
   },
+  created() {
+    eventBus.$on('waterActiveT', (data) => {
+      switch (data.id) {
+        case 'graphContainer1':
+          this.$refs.carousel.setActiveItem(5)
+          break
+        case 'graphContainer2':
+          this.$refs.carousel.setActiveItem(3)
+          break
+        case 'graphContainer3':
+          this.$refs.carousel.setActiveItem(2)
+          break
+        case 'graphContainer4':
+          this.$refs.carousel.setActiveItem(1)
+          break
+        default:
+          break
+      }
+    })
+  },
+  beforeDestroy() {
+    eventBus.$off('waterActiveT')
+  },
   methods: {
     changeCarousel(val) {
       this.reportTitle = val

+ 117 - 75
src/views/dcSystem/fillingSystem/carRecord/formDialog.vue

@@ -71,6 +71,24 @@
           placeholder="请输入返回后车辆情况"
         />
       </el-form-item>
+      <el-form-item label="车牌号" prop="driverCode">
+        <!-- multiple -->
+        <el-select
+          v-model="form.driverCode"
+          clearable
+          filterable
+          placeholder="请选择车牌号"
+          :disabled="disabled"
+        >
+          <el-option
+            v-for="item in carCodeList"
+            :key="item.ccode"
+            :label="item.ccode"
+            :value="item.ccode"
+          />
+        </el-select>
+      </el-form-item>
+
       <el-form-item label="驾驶员" prop="driver">
         <el-select
           v-model="form.driver"
@@ -103,120 +121,138 @@
 </template>
 
 <script>
-import { parseTime } from "@/utils/index";
+import { parseTime } from '@/utils/index'
 import {
   addCarRecord,
   updateCarRecord,
-  getCarRecord,
-} from "@/api/dcApi/fillingSystem/carRecord.js";
+  getCarRecord
+} from '@/api/dcApi/fillingSystem/carRecord.js'
+import { getCommonCode } from '@/api/base'
 
 export default {
   props: {
     data: {
       type: Object,
-      required: true,
+      required: true
     },
     companyUnitList: {
       type: Array,
       default: () => [],
-      required: true,
+      required: true
     },
     personnel: {
       type: Array,
       default: () => [],
-      required: true,
-    },
+      required: true
+    }
   },
   data() {
     return {
       rules: {
         dutyDate: [
-          { required: true, message: "请选择填报日期", trigger: "change" },
+          { required: true, message: '请选择填报日期', trigger: 'change' }
         ],
         companyUnit: [
-          { required: true, message: "请选择填报单位", trigger: "change" },
+          { required: true, message: '请选择填报单位', trigger: 'change' }
         ],
         drivingReasons: [
-          { required: true, message: "请输入行车事由", trigger: "blur" },
+          { required: true, message: '请输入行车事由', trigger: 'blur' }
         ],
         departureTime: [
-          { required: true, message: "请选择出车时间", trigger: "change" },
+          { required: true, message: '请选择出车时间', trigger: 'change' }
         ],
         returnTime: [
-          { required: true, message: "请选择返回时间", trigger: "change" },
+          { required: true, message: '请选择返回时间', trigger: 'change' }
         ],
         vehicleConditionBeforeDriving: [
-          { required: true, message: "请输入行车前车辆情况", trigger: "blur" },
+          { required: true, message: '请输入行车前车辆情况', trigger: 'blur' }
         ],
         vehicleConditionAfterDriving: [
-          { required: true, message: "请输入返回后车辆情况", trigger: "blur" },
+          { required: true, message: '请输入返回后车辆情况', trigger: 'blur' }
         ],
-        driver: [
-          { required: true, message: "请选择驾驶员", trigger: "change" },
+        driverCode: [
+          { required: true, message: '请选择车牌号', trigger: 'change' }
         ],
+        driver: [
+          { required: true, message: '请选择驾驶员', trigger: 'change' }
+        ]
       },
       form: {},
       disabled: false,
       userList: [],
-      loading: false,
-    };
+      carCodeList: [],
+      loading: false
+    }
   },
 
   created() {
-    if (JSON.stringify(this.data) == "{}") {
-      console.log(JSON.stringify(this.data) == "{}");
-      this.disabled = false;
+    this.getCodeList()
+    if (JSON.stringify(this.data) == '{}') {
+      console.log(JSON.stringify(this.data) == '{}')
+      this.disabled = false
     } else {
-      this.data.flag === "read"
+      this.data.flag === 'read'
         ? (this.disabled = true)
-        : (this.disabled = false);
+        : (this.disabled = false)
       getCarRecord(this.data.id).then((res) => {
-        const data = JSON.parse(res.result.content);
-        data.dutyDate = parseTime(data.dutyDate, "{y}-{m}-{d}");
-        this.form = data;
-        console.log(" this.form", this.form);
-      });
+        const data = JSON.parse(res.result.content)
+        data.driverCode = data.driverCode?.split(',')
+        data.dutyDate = parseTime(data.departureTime, '{y}-{m}-{d}')
+        this.form = data
+        console.log(' this.form', this.form)
+      })
     }
   },
   // 生命周期 - 挂载完成(访问DOM元素)
   mounted() {
-    this.tableId = this.data.id;
+    this.tableId = this.data.id
   },
 
   methods: {
+    // 获取编码表
+    getCodeList() {
+      const that = this
+      getCommonCode({ pCid: 66523 }).then(res => {
+        if (res.code !== -1) {
+          that.carCodeList = res.result[0].codeList
+          console.log(this.calibers)
+        }
+      })
+    },
+
     objFun(obj) {
-      var res = {}; // 定义一个对象,用来存储结果
+      var res = {} // 定义一个对象,用来存储结果
       function isObj(obj) {
         // 定义一个函数,用来对obj进行遍历
         for (var key in obj) {
-          if (Object.prototype.toString.call(obj[key]) == "[object Object]") {
+          if (Object.prototype.toString.call(obj[key]) == '[object Object]') {
             // 如果值为对象,则进行递归
-            isObj(obj[key]);
+            isObj(obj[key])
           } else {
             // 不为对象则将值添加给res
-            res[key] = obj[key];
+            res[key] = obj[key]
           }
         }
       }
-      isObj(obj); // 调用函数
-      return res; // 返回结果
+      isObj(obj) // 调用函数
+      return res // 返回结果
     },
     companyUnitChange(val) {
       this.personnel.map((e) => {
         if (e.id == val) {
-          this.userList = e.users;
+          this.userList = e.users
         }
-      });
+      })
 
-      console.log(this.userList);
+      console.log(this.userList)
     },
     // 重置
     resetFields() {
-      this.$refs.form.resetFields();
+      this.$refs.form.resetFields()
     },
     // 提交
     submitForm() {
-      const _this = this;
+      const _this = this
 
       _this.$refs.form.validate((valid) => {
         if (valid) {
@@ -224,60 +260,66 @@ export default {
             new Date(_this.form.departureTime).getTime() >
             new Date(_this.form.returnTime).getTime()
           ) {
-            this.$message.error("返回时间早于出车时间,请选择正确时间!");
-            return;
+            this.$message.error('返回时间早于出车时间,请选择正确时间!')
+            return
           }
-          if (this.data.flag === "update") {
-            _this.editSubmit(_this.form);
+
+          // _this.form.drivercode = JSON.stringify(_this.form.drivercode)
+          _this.form.driverCode = _this.form.driverCode.join(',')
+          if (this.data.flag === 'update') {
+            _this.editSubmit(_this.form)
           } else {
-            _this.newAddUser(_this.form);
+            _this.newAddUser(_this.form)
           }
 
-          return true;
+          return true
         } else {
-          return false;
+          return false
         }
-      });
+      })
     },
     // 修改提交
     editSubmit(data) {
-      const _this = this;
-      this.loading = true;
-      _this.$emit("remind", "2");
-      data.category = "1";
-      data.dutyDate = data.dutyDate;
-      data.id = this.data.id;
+      const _this = this
+      this.loading = true
+      _this.$emit('remind', '2')
+      data.category = '1'
+      data.dutyDate = data.dutyDate
+      data.id = this.data.id
+
+      console.log('参数:', data)
+
       updateCarRecord(data).then((res) => {
-        this.loading = false;
-        _this.$emit("remind", "0");
+        this.loading = false
+        _this.$emit('remind', '0')
         if (res.code === 1) {
-          _this.$message.success("修改成功");
-          _this.$emit("remind", "1");
-          _this.resetFields();
+          _this.$message.success('修改成功')
+          _this.$emit('remind', '1')
+          _this.resetFields()
         }
-      });
+      })
     },
     // 新增提交
     newAddUser(data) {
-      const _this = this;
-      this.loading = true;
-      _this.$emit("remind", "2");
-      data.category = "1";
-      data.dutyDate = data.dutyDate;
+      const _this = this
+      this.loading = true
+      _this.$emit('remind', '2')
+      data.category = '1'
+      data.dutyDate = data.dutyDate
 
       addCarRecord(data).then((res) => {
-        this.loading = false;
-        _this.$emit("remind", "0");
-        console.log(res);
+        this.loading = false
+        _this.$emit('remind', '0')
+        console.log(res)
         if (res.code === 1) {
-          _this.$message.success("成功!");
-          _this.$emit("remind", "1");
-          _this.resetFields();
+          _this.$message.success('成功!')
+          _this.$emit('remind', '1')
+          _this.resetFields()
         }
-      });
-    },
-  },
-};
+      })
+    }
+  }
+}
 </script>
 <style lang="scss" scoped>
 </style>

+ 111 - 113
src/views/dcSystem/fillingSystem/carRecord/index.vue

@@ -26,16 +26,14 @@
             style="margin-top: 10px"
             :loading="loading"
             @click="dialogVisible = false"
-            >取 消</el-button
-          >
+          >取 消</el-button>
           <el-button
             v-if="editData.flag !== 'read'"
             size="small"
             type="primary"
             :loading="loading"
             @click="submitForm"
-            >确 定</el-button
-          >
+          >确 定</el-button>
         </div>
       </el-dialog>
     </div>
@@ -75,8 +73,7 @@
             size="small"
             icon="el-icon-search"
             @click="searchBtn"
-            >查询</el-button
-          >
+          >查询</el-button>
         </el-form-item>
         <el-form-item style="float: right">
           <el-button
@@ -85,8 +82,7 @@
             icon="el-icon-delete"
             :disabled="!multipleSelection.length"
             @click="deleteBtn"
-            >删除</el-button
-          >
+          >删除</el-button>
         </el-form-item>
         <el-form-item style="float: right">
           <el-button
@@ -94,8 +90,7 @@
             size="small"
             icon="el-icon-plus"
             @click="insertBtn"
-            >添加</el-button
-          >
+          >添加</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -124,55 +119,58 @@
 </template>
 
 <script>
-import { client, parseTime } from "@/utils/index";
-import FormDialog from "./formDialog.vue";
-import { getCompanyAll } from "@/api/base";
+import { client, parseTime } from '@/utils/index'
+import FormDialog from './formDialog.vue'
+import { getCompanyAll } from '@/api/base'
 import {
   getCarRecordList,
   deleteCarRecord,
-  getPersonnelAndDepartment,
-} from "@/api/dcApi/fillingSystem/carRecord.js";
-import qs from "qs";
+  getPersonnelAndDepartment
+} from '@/api/dcApi/fillingSystem/carRecord.js'
+import qs from 'qs'
 
 export default {
-  name: "CarRecord",
+  name: 'CarRecord',
   components: { FormDialog },
   data() {
     return {
-      companyUnit: "",
+      companyUnit: '',
       optionData: [],
       dutyDate: [],
       column: [
         {
-          label: "填报单位",
-          prop: "companyUnitName",
+          label: '填报单位',
+          prop: 'companyUnitName'
         },
         {
-          label: "填报日期",
-          prop: "dutyDate",
+          label: '填报日期',
+          prop: 'dutyDate'
         },
         {
-          label: "驾驶员",
-          prop: "driver",
+          label: '车牌号',
+          prop: 'driverCode'
         },
-
         {
-          label: "出车时间",
-          prop: "departureTime",
+          label: '驾驶员',
+          prop: 'driver'
         },
         {
-          label: "返回时间",
-          prop: "returnTime",
+          label: '出车时间',
+          prop: 'departureTime'
         },
         {
-          slotScoped: "operation",
-          label: "操作",
-          width: "150px",
-          acts: [
-            { emitWay: "updateBtn", color: "#2D74E7", operation: "修改" },
-            { emitWay: "readBtn", color: "#2D74E7", operation: "详情" },
-          ],
+          label: '返回时间',
+          prop: 'returnTime'
         },
+        {
+          slotScoped: 'operation',
+          label: '操作',
+          width: '150px',
+          acts: [
+            { emitWay: 'updateBtn', color: '#2D74E7', operation: '修改' },
+            { emitWay: 'readBtn', color: '#2D74E7', operation: '详情' }
+          ]
+        }
       ],
       list: [],
       personnel: [],
@@ -181,149 +179,149 @@ export default {
       selectedData: [],
       multipleSelection: [],
       pagination: { current: 1, size: 30, category: 1 },
-      dialogTitle: "标题名称",
+      dialogTitle: '标题名称',
       listLoading: false,
       loading: false,
-      dialogVisible: false,
-    };
+      dialogVisible: false
+    }
   },
 
   computed: {
     tableheight() {
-      return client().height - 64 - 43 - 40 - 55 + "px";
-    },
+      return client().height - 64 - 43 - 40 - 55 + 'px'
+    }
   },
   watch: {},
   created() {
     getCompanyAll({ pCid: 783 }).then((res) => {
-      this.optionData = res.result;
-    });
+      this.optionData = res.result
+    })
     getPersonnelAndDepartment().then((res) => {
-      this.personnel = res.result.result;
-    });
-    this.searchBtn();
+      this.personnel = res.result.result
+    })
+    this.searchBtn()
   },
   methods: {
     submitForm(val) {
       // console.log(this.$refs.carRecordFormDialog)
-      this.$refs.carRecordFormDialog.submitForm();
+      this.$refs.carRecordFormDialog.submitForm()
     },
     handleCurrentChange(currentPage) {
-      this.pagination.current = currentPage;
-      this.fetchData(this.pagination);
+      this.pagination.current = currentPage
+      this.fetchData(this.pagination)
     },
     handleSizeChange(pagesize) {
-      this.pagination.current = 1;
-      this.pagination.size = pagesize;
-      this.fetchData(this.pagination);
+      this.pagination.current = 1
+      this.pagination.size = pagesize
+      this.fetchData(this.pagination)
     },
     handleSelectionChange(value) {
-      this.multipleSelection = value;
+      this.multipleSelection = value
     },
     fetchData(data) {
-      this.listLoading = true;
-      const getdata = JSON.parse(JSON.stringify(data));
+      this.listLoading = true
+      const getdata = JSON.parse(JSON.stringify(data))
       if (getdata.dates) {
-        delete getdata.dates;
+        delete getdata.dates
       }
       getCarRecordList(getdata, data.dates).then((res) => {
         if (res.code === 1) {
-          this.total = Number(res.result.total);
-          this.list = res.result.records;
+          this.total = Number(res.result.total)
+          this.list = res.result.records
 
           this.list.map((e) => {
-            e.id = e.id.toString();
-            const content = JSON.parse(e.content);
-            delete content.id;
-            e = Object.assign(e, content);
-            e.dutyDate = parseTime(e.dutyDate, "{y}-{m}-{d}");
-          });
-          console.log("this.list", this.list);
-          this.listLoading = false;
+            e.id = e.id.toString()
+            const content = JSON.parse(e.content)
+            delete content.id
+            e = Object.assign(e, content)
+            e.dutyDate = parseTime(e.dutyDate, '{y}-{m}-{d}')
+          })
+          console.log('this.list', this.list)
+          this.listLoading = false
         }
-      });
+      })
     },
     searchBtn() {
-      this.pagination.companyUnit = this.companyUnit;
+      this.pagination.companyUnit = this.companyUnit
       if (this.dutyDate && this.dutyDate.length > 0) {
         // this.dutyDate[0] = this.dutyDate[0] + ' 00:00:00'
         // this.dutyDate[1] = this.dutyDate[1] + ' 23:59:59'
 
         this.pagination.dates = qs.stringify(
           { dates: this.dutyDate },
-          { arrayFormat: "repeat" }
-        );
+          { arrayFormat: 'repeat' }
+        )
       } else {
-        this.pagination.dates = "";
+        this.pagination.dates = ''
       }
-      this.pagination.current = 1;
-      this.fetchData(this.pagination);
+      this.pagination.current = 1
+      this.fetchData(this.pagination)
     },
 
     updateBtn(row) {
-      this.dialogVisible = true;
-      this.dialogTitle = "修改";
-      this.editData = row;
-      this.editData.flag = "update";
+      this.dialogVisible = true
+      this.dialogTitle = '修改'
+      this.editData = row
+      this.editData.flag = 'update'
     },
     readBtn(row) {
-      this.dialogVisible = true;
-      this.dialogTitle = "详情";
-      this.editData = row;
-      this.editData.flag = "read";
+      this.dialogVisible = true
+      this.dialogTitle = '详情'
+      this.editData = row
+      this.editData.flag = 'read'
     },
     deleteBtn(row) {
-      this.$confirm("此操作将永久删除该信息, 是否继续?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
+      this.$confirm('此操作将永久删除该信息, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
       })
         .then(() => {
-          let data = {};
+          let data = {}
 
-          const that = this;
-          const ids = [];
+          const that = this
+          const ids = []
           for (let i = 0; i < that.multipleSelection.length; i++) {
-            ids.push(this.multipleSelection[i].id.toString());
+            ids.push(this.multipleSelection[i].id.toString())
           }
-          console.log(this.multipleSelection);
-          console.log("ids", ids);
-          data = { idList: ids.toString() };
+          console.log(this.multipleSelection)
+          console.log('ids', ids)
+          data = { idList: ids.toString() }
 
           deleteCarRecord(data).then((res) => {
             if (res.code === 1) {
               this.$message({
-                type: "success",
-                message: "删除成功!",
-              });
+                type: 'success',
+                message: '删除成功!'
+              })
             }
-            this.searchBtn();
-          });
+            this.searchBtn()
+          })
         })
         .catch(() => {
           this.$message({
-            type: "info",
-            message: "已取消删除",
-          });
-        });
+            type: 'info',
+            message: '已取消删除'
+          })
+        })
     },
     insertBtn() {
-      this.dialogTitle = "添加";
-      this.editData = {};
-      this.dialogVisible = true;
+      this.dialogTitle = '添加'
+      this.editData = {}
+      this.dialogVisible = true
     },
     remind(val) {
-      if (val == "1") {
-        this.dialogVisible = false;
-        this.fetchData(this.pagination);
-      } else if (val == "2") {
-        this.loading = true;
+      if (val == '1') {
+        this.dialogVisible = false
+        this.fetchData(this.pagination)
+      } else if (val == '2') {
+        this.loading = true
       } else {
-        this.loading = false;
+        this.loading = false
       }
-    },
-  },
-};
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>

+ 161 - 147
src/views/dcSystem/fillingSystem/watchRecords/formDialogNew.vue

@@ -73,12 +73,12 @@
               <el-col :span="21" style="height: 60px">
                 <el-row>
                   <el-col v-for="item in record" :key="item.time" :span="1">
-                    <el-input v-model="item.turbidity" class="inputCol1" size="mini" />
+                    <el-input v-model="item.turbidity" class="inputWidth" size="mini" />
                   </el-col>
                 </el-row>
                 <el-row>
                   <el-col v-for="item in record" :key="item.time" :span="1">
-                    <el-input v-model="item.residualChlorine" class="inputCol1" size="mini" />
+                    <el-input v-model="item.residualChlorine" class="inputWidth" size="mini" />
                   </el-col>
                 </el-row>
               </el-col>
@@ -88,7 +88,7 @@
                 <span>原水情况</span>
               </el-col>
               <el-col :span="20">
-                <el-input v-model="form.rawWaterCondition" size="mini" />
+                <el-input v-model="form.rawWaterCondition" class="inputWidth" size="mini" />
               </el-col>
             </el-row>
             <el-row>
@@ -96,7 +96,7 @@
                 <span>设备运行情况</span>
               </el-col>
               <el-col :span="20">
-                <el-input v-model="form.equipmentOperation" size="mini" />
+                <el-input v-model="form.equipmentOperation" class="inputWidth" size="mini" />
               </el-col>
             </el-row>
             <el-row>
@@ -104,7 +104,7 @@
                 <span>滤池反冲记录</span>
               </el-col>
               <el-col :span="20">
-                <el-input v-model="form.filterBackwashRecord" size="mini" />
+                <el-input v-model="form.filterBackwashRecord" class="inputWidth" size="mini" />
               </el-col>
             </el-row>
             <el-row>
@@ -112,7 +112,7 @@
                 <span>排泥情况</span>
               </el-col>
               <el-col :span="20">
-                <el-input v-model="form.sludgeDischarge" size="mini" />
+                <el-input v-model="form.sludgeDischarge" class="inputWidth" size="mini" />
               </el-col>
             </el-row>
             <el-row v-if="headForm.companyUnit!==43" class="remarkT">
@@ -181,42 +181,42 @@
               </el-col>
               <el-col :span="23">
                 <el-row>
-                  <el-col :span="3">
-                    <span>聚氯化铝</span>
+                  <el-col :span="4">
+                    <span>聚氯化铝(kg)</span>
                   </el-col>
-                  <el-col :span="9">
-                    <el-input v-model="form.polyaluminiumChloride" size="mini" />
+                  <el-col :span="8">
+                    <el-input-number v-model="form.polyaluminiumChloride" size="mini" class="inputWidth" />
                   </el-col>
-                  <el-col :span="3">
-                    <span>二氧化氯</span>
+                  <el-col :span="4">
+                    <span>二氧化氯(组)</span>
                   </el-col>
-                  <el-col :span="9">
-                    <el-input v-model="form.chlorineCioxide" size="mini" />
+                  <el-col :span="8">
+                    <el-input-number v-model="form.chlorineCioxide" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
                   <el-col :span="12">
                     <el-row>
-                      <el-col :span="6">
-                        <span>聚氯化铝铁</span>
+                      <el-col :span="8">
+                        <span>聚氯化铝铁(kg)</span>
                       </el-col>
-                      <el-col :span="18">
-                        <el-input v-model="form.aluminumFerricChloride" size="mini" />
+                      <el-col :span="16">
+                        <el-input-number v-model="form.aluminumFerricChloride" size="mini" class="inputWidth" />
                       </el-col>
                     </el-row>
                     <el-row>
-                      <el-col :span="6">
-                        <span>漂白粉</span>
+                      <el-col :span="8">
+                        <span>漂白粉(kg)</span>
                       </el-col>
-                      <el-col :span="18">
-                        <el-input v-model="form.bleachingPowder" size="mini" />
+                      <el-col :span="16">
+                        <el-input-number v-model="form.bleachingPowder" size="mini" class="inputWidth" />
                       </el-col>
                     </el-row>
                   </el-col>
                   <el-col :span="12">
                     <el-row>
                       <el-col
-                        :span="6"
+                        :span="8"
                         style="
                           height: 60px;
                           display: flex;
@@ -224,10 +224,10 @@
                           align-items: center;
                         "
                       >
-                        <span>其他药品</span>
+                        <span>其他药品(kg)</span>
                       </el-col>
-                      <el-col :span="18" style="height: 60px">
-                        <el-input v-model="form.otherDrugs" size="mini" />
+                      <el-col :span="16" style="height: 60px">
+                        <el-input v-model="form.otherDrugs" size="mini" class="inputWidth" />
                       </el-col>
                     </el-row>
                   </el-col>
@@ -256,27 +256,27 @@
             <el-row>
               <el-col :span="6"> 疾控中心抽检记录 </el-col>
               <el-col :span="12">
-                <el-input v-model="form.spotCheckRecordOfCDC" size="mini" />
+                <el-input v-model="form.spotCheckRecordOfCDC" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="2"> 签名 </el-col>
               <el-col :span="4">
-                <el-input v-model="form.spotCheckRecordOfCDCName" size="mini" />
+                <el-input v-model="form.spotCheckRecordOfCDCName" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="6"> 机修维护记录 </el-col>
               <el-col :span="12">
-                <el-input v-model="form.machineMaintenanceRecord" size="mini" />
+                <el-input v-model="form.machineMaintenanceRecord" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="2"> 签名 </el-col>
               <el-col :span="4">
-                <el-input v-model="form.machineMaintenanceRecordName" size="mini" />
+                <el-input v-model="form.machineMaintenanceRecordName" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="6"> 当班时外来人员进出记录 </el-col>
               <el-col :span="12">
-                <el-input v-model="form.recordOfEntryAndExitOfExternalPersonnelOnDuty" size="mini" />
+                <el-input v-model="form.recordOfEntryAndExitOfExternalPersonnelOnDuty" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="2"> 签名 </el-col>
               <el-col :span="4">
@@ -290,7 +290,7 @@
             <el-row>
               <el-col :span="6"> 水池日常清洁记录 </el-col>
               <el-col :span="18">
-                <el-input v-model="form.dailyCleaningRecordOfWaterPool" size="mini" />
+                <el-input v-model="form.dailyCleaningRecordOfWaterPool" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row class="remarkF">
@@ -321,13 +321,13 @@
                 <span> 接班时卫生情况 </span>
               </el-col>
               <el-col :span="6">
-                <el-input v-model="form.sanitationOfShiftHandover" size="mini" />
+                <el-input v-model="form.sanitationOfShiftHandover" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="6">
                 <span> 接班时净水情况 </span>
               </el-col>
               <el-col :span="6">
-                <el-input v-model="form.waterPurificationAtTheTimeOfSuccession" size="mini" />
+                <el-input v-model="form.waterPurificationAtTheTimeOfSuccession" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row v-if="headForm.companyUnit !== 43">
@@ -335,7 +335,7 @@
                 <span> 接班时消毒情况</span>
               </el-col>
               <el-col :span="18">
-                <el-input v-model="form.disinfectionConditionWhenTakingOverTheShift" size="mini" />
+                <el-input v-model="form.disinfectionConditionWhenTakingOverTheShift" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <!-- 三水厂 -->
@@ -344,13 +344,13 @@
                 <span> 接班时消毒情况</span>
               </el-col>
               <el-col :span="4">
-                <el-input v-model="form.disinfectionConditionWhenTakingOverTheShift" size="mini" />
+                <el-input v-model="form.disinfectionConditionWhenTakingOverTheShift" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="8">
                 <span> 接班时电子围栏及监控运行情况</span>
               </el-col>
               <el-col :span="6">
-                <el-input v-model="form.disinfectionConditionWhenEleFenAndMonOp" size="mini" />
+                <el-input v-model="form.disinfectionConditionWhenEleFenAndMonOp" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
@@ -359,9 +359,9 @@
               </el-col>
               <el-col :span="18">
                 <el-input
-                  v-model="form.instantaneousFlowOfInfluencePlantDuringShiftChange
-                  "
+                  v-model="form.instantaneousFlowOfInfluencePlantDuringShiftChange"
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
             </el-row>
@@ -374,6 +374,7 @@
                   v-model="form.instantaneousFlowFromTheWaterPlantDuringShiftChange
                   "
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
             </el-row>
@@ -387,13 +388,13 @@
                     <span>厂区总电源</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mainPowerSupplyInThePlant" size="mini" />
+                    <el-input v-model="form.mainPowerSupplyInThePlant" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>中控室设备</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mediumControlEquipment" size="mini" />
+                    <el-input v-model="form.mediumControlEquipment" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -401,7 +402,7 @@
                     <span>二氧化氯机</span>
                   </el-col>
                   <el-col :span="18">
-                    <el-input v-model="form.chlorineDioxideMachine" size="mini" />
+                    <el-input v-model="form.chlorineDioxideMachine" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -409,7 +410,7 @@
                     <span>净水剂加药间</span>
                   </el-col>
                   <el-col :span="18">
-                    <el-input v-model="form.waterPurifierDosingRoom" size="mini" />
+                    <el-input v-model="form.waterPurifierDosingRoom" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -417,7 +418,7 @@
                     <span>网格反应池</span>
                   </el-col>
                   <el-col :span="18">
-                    <el-input v-model="form.gridReactionTank" size="mini" />
+                    <el-input v-model="form.gridReactionTank" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -425,7 +426,7 @@
                     <span>斜管沉淀池</span>
                   </el-col>
                   <el-col :span="18">
-                    <el-input v-model="form.inclinedTubeSedimentationTank" size="mini" />
+                    <el-input v-model="form.inclinedTubeSedimentationTank" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -433,13 +434,13 @@
                     <span>消毒剂加药间</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.disinfectantDosingRoom" size="mini" />
+                    <el-input v-model="form.disinfectantDosingRoom" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>备用电源</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mergePowerSupply" size="mini" />
+                    <el-input v-model="form.mergePowerSupply" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
               </el-col>
@@ -449,13 +450,13 @@
                     <span>厂区总电源</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mainPowerSupplyInThePlant" size="mini" />
+                    <el-input v-model="form.mainPowerSupplyInThePlant" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>中控室设备</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mediumControlEquipment" size="mini" />
+                    <el-input v-model="form.mediumControlEquipment" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -463,13 +464,13 @@
                     <span>二氧化氯机</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.chlorineDioxideMachine" size="mini" />
+                    <el-input v-model="form.chlorineDioxideMachine" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>自用水泵房</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.waterPumpHouse" size="mini" />
+                    <el-input v-model="form.waterPumpHouse" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -477,13 +478,13 @@
                     <span>V型滤池</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.vtypeFilter" size="mini" />
+                    <el-input v-model="form.vtypeFilter" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>净水剂加药间</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.waterPurifierDosingRoom" size="mini" />
+                    <el-input v-model="form.waterPurifierDosingRoom" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -491,13 +492,13 @@
                     <span>网格反应池</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.gridReactionTank" size="mini" />
+                    <el-input v-model="form.gridReactionTank" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>反冲洗泵房</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.backwashPumpHouse" size="mini" />
+                    <el-input v-model="form.backwashPumpHouse" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -505,13 +506,13 @@
                     <span>斜管沉淀池</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.inclinedTubeSedimentationTank" size="mini" />
+                    <el-input v-model="form.inclinedTubeSedimentationTank" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>空压机</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.emptyPress" size="mini" />
+                    <el-input v-model="form.emptyPress" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -519,68 +520,68 @@
                     <span>消毒剂加药间</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.disinfectantDosingRoom" size="mini" />
+                    <el-input v-model="form.disinfectantDosingRoom" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>备用电源</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mergePowerSupply" size="mini" />
+                    <el-input v-model="form.mergePowerSupply" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
               </el-col>
             </el-row>
             <el-row v-if="headForm.companyUnit !== 43">
               <el-col :span="6">
-                <span>交班时清水池水位</span>
+                <span>交班时清水池水位(m)</span>
               </el-col>
               <el-col :span="18">
-                <el-input v-model="form.clearWaterBubbleLevelAtShiftHandover" size="mini" />
+                <el-input-number v-model="form.clearWaterBubbleLevelAtShiftHandover" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row v-else>
               <el-col :span="6">
-                <span>交班时清水池水位</span>
+                <span>交班时清水池水位(m)</span>
               </el-col>
               <el-col :span="3">
                 <span>1#清水池</span>
               </el-col>
               <el-col :span="3">
-                <el-input v-model="form.clearWaterBubbleLevelAtShiftHandover" size="mini" />
+                <el-input-number v-model="form.clearWaterBubbleLevelAtShiftHandover" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="6">
                 <span>2#清水池(蓄水池)</span>
               </el-col>
               <el-col :span="6">
-                <el-input v-model="form.clearWaterBubbleLevelAtShiftHandover2" size="mini" />
+                <el-input-number v-model="form.clearWaterBubbleLevelAtShiftHandover2" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
-              <el-col :span="6">
-                <span>交班时出厂水浊度</span>
+              <el-col :span="7">
+                <span>交班时出厂水浊度(NTU)</span>
               </el-col>
-              <el-col :span="6">
-                <el-input v-model="form.turbidityOfFactoryWaterAtShiftHandover" size="mini" />
+              <el-col :span="5">
+                <el-input-number v-model="form.turbidityOfFactoryWaterAtShiftHandover" size="mini" class="inputWidth" />
               </el-col>
-              <el-col :span="6">
-                <span>交班时出厂水余氯</span>
+              <el-col :span="7">
+                <span>交班时出厂水余氯(mg/L)</span>
               </el-col>
-              <el-col :span="6">
-                <el-input v-model="form.residualChlorineInFactoryWaterAtShiftHandover" size="mini" />
+              <el-col :span="5">
+                <el-input-number v-model="form.residualChlorineInFactoryWaterAtShiftHandover" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
-              <el-col :span="6">
-                <span>当班进厂水量</span>
+              <el-col :span="7">
+                <span>当班进厂水量(T)</span>
               </el-col>
-              <el-col :span="6">
-                <el-input v-model="form.waterInflowOnDuty" size="mini" />
+              <el-col :span="5">
+                <el-input-number v-model="form.waterInflowOnDuty" size="mini" class="inputWidth" />
               </el-col>
-              <el-col :span="6">
-                <span>当班生产水量</span>
+              <el-col :span="7">
+                <span>当班生产水量(T)</span>
               </el-col>
-              <el-col :span="6">
-                <el-input v-model="form.waterVolumeOfThePlantOnDuty" size="mini" />
+              <el-col :span="5">
+                <el-input-number v-model="form.waterVolumeOfThePlantOnDuty" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
@@ -598,10 +599,10 @@
                     <span>药品</span>
                   </el-col>
                   <el-col :span="hideElement.spanLeft">
-                    <span>使用量</span>
+                    <span>使用量(kg)</span>
                   </el-col>
                   <el-col :span="hideElement.spanLeft">
-                    <span>库存量</span>
+                    <span>库存量(kg)</span>
                   </el-col>
                   <el-col v-if="!hideElement.hide" :span="3">
                     <span>操作</span>
@@ -656,6 +657,7 @@
                           v-model="item.inventory"
                           style="width: 100%"
                           size="mini"
+                          class="inputWidth"
                           controls-position="right"
                           @change="change($event)"
                         />
@@ -686,20 +688,20 @@
                   <el-col :span="hideElement.spanLeft">
                     <el-row>
                       <el-col :span="24">
-                        <el-input v-model="form.drug" size="mini" @input="change($event)" />
+                        <el-input v-model="form.drug" size="mini" class="inputWidth" @input="change($event)" />
                       </el-col>
                     </el-row>
                   </el-col>
                   <el-col :span="hideElement.spanLeft">
                     <el-row>
                       <el-col :span="24">
-                        <el-input v-model="form.source" size="mini" @input="change($event)" />
+                        <el-input v-model="form.source" size="mini" class="inputWidth" @input="change($event)" />
                       </el-col></el-row>
                   </el-col>
                   <el-col :span="hideElement.spanLeft">
                     <el-row>
                       <el-col :span="24">
-                        <el-input v-model="form.used" size="mini" @input="change($event)" />
+                        <el-input v-model="form.used" size="mini" class="inputWidth" @input="change($event)" />
                       </el-col>
                     </el-row>
                   </el-col>
@@ -769,28 +771,28 @@
               <h4>当日值班记录</h4>
             </el-row>
             <el-row>
-              <el-col :span="3">
+              <el-col :span="4">
                 <span>时间</span>
               </el-col>
-              <el-col :span="21">
+              <el-col :span="20">
                 <el-row>
                   <el-col v-for="(item, index) in record" :key="item.time" :span="2">
                     <template v-if="index < 12">
-                      <el-input v-model="item.turbidity" class="inputCol1" size="mini" />
+                      <el-input v-model="item.turbidity" size="mini" class="inputWidth" />
                     </template>
                   </el-col>
                 </el-row>
               </el-col>
             </el-row>
             <el-row>
-              <el-col :span="3">
-                <span>出水厂余氮</span>
+              <el-col :span="4">
+                <span>出水厂余氮(mg/L)</span>
               </el-col>
-              <el-col :span="21">
+              <el-col :span="20">
                 <el-row>
                   <el-col v-for="(item, index) in record" :key="item.time" :span="2">
                     <template v-if="index < 12">
-                      <el-input v-model="item.residualChlorine" class="inputCol1" size="mini" />
+                      <el-inpudt v-model="item.residualChlorine" class="inputWidth" size="mini" />
                     </template>
                   </el-col>
                 </el-row>
@@ -801,25 +803,25 @@
                 <span>原水情况</span>
               </el-col>
               <el-col :span="3">
-                <el-input v-model="form.rawWaterCondition" size="mini" />
+                <el-input v-model="form.rawWaterCondition" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="3">
                 <span>设备运行情况</span>
               </el-col>
               <el-col :span="3">
-                <el-input v-model="form.equipmentOperation" size="mini" />
+                <el-input v-model="form.equipmentOperation" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="3">
                 <span>滤池反冲记录</span>
               </el-col>
               <el-col :span="3">
-                <el-input v-model="form.filterBackwashRecord" size="mini" />
+                <el-input v-model="form.filterBackwashRecord" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="3">
                 <span>排泥情况</span>
               </el-col>
               <el-col :span="3">
-                <el-input v-model="form.sludgeDischarge" size="mini" />
+                <el-input v-model="form.sludgeDischarge" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row class="remarkT">
@@ -851,42 +853,42 @@
               </el-col>
               <el-col :span="23">
                 <el-row>
-                  <el-col :span="3">
-                    <span>聚氯化铝</span>
+                  <el-col :span="4">
+                    <span>聚氯化铝(kg)</span>
                   </el-col>
-                  <el-col :span="9">
-                    <el-input v-model="form.polyaluminiumChloride" size="mini" />
+                  <el-col :span="8">
+                    <el-input-number v-model="form.polyaluminiumChloride" size="mini" class="inputWidth" />
                   </el-col>
-                  <el-col :span="3">
-                    <span>二氧化氯</span>
+                  <el-col :span="4">
+                    <span>二氧化氯(组)</span>
                   </el-col>
-                  <el-col :span="9">
-                    <el-input v-model="form.chlorineCioxide" size="mini" />
+                  <el-col :span="8">
+                    <el-input-number v-model="form.chlorineCioxide" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
                   <el-col :span="12">
                     <el-row>
-                      <el-col :span="6">
-                        <span>聚氯化铝铁</span>
+                      <el-col :span="8">
+                        <span>聚氯化铝铁(kg)</span>
                       </el-col>
-                      <el-col :span="18">
-                        <el-input v-model="form.aluminumFerricChloride" size="mini" />
+                      <el-col :span="16">
+                        <el-input-number v-model="form.aluminumFerricChloride" size="mini" class="inputWidth" />
                       </el-col>
                     </el-row>
                     <el-row>
-                      <el-col :span="6">
-                        <span>漂白粉</span>
+                      <el-col :span="8">
+                        <span>漂白粉(kg)</span>
                       </el-col>
-                      <el-col :span="18">
-                        <el-input v-model="form.bleachingPowder" size="mini" />
+                      <el-col :span="16">
+                        <el-input-number v-model="form.bleachingPowder" size="mini" class="inputWidth" />
                       </el-col>
                     </el-row>
                   </el-col>
                   <el-col :span="12">
                     <el-row>
                       <el-col
-                        :span="6"
+                        :span="8"
                         style="
                           height: 60px;
                           display: flex;
@@ -894,9 +896,9 @@
                           align-items: center;
                         "
                       >
-                        <span>其他药品</span>
+                        <span>其他药品(kg)</span>
                       </el-col>
-                      <el-col :span="18" style="height: 60px" class="other-drug">
+                      <el-col :span="16" style="height: 60px" class="other-drug">
                         <el-input v-model="form.otherDrugs" size="mini" />
                       </el-col>
                     </el-row>
@@ -916,7 +918,7 @@
                         <span>{{ item.num }}</span>
                       </el-col>
                       <el-col :span="20">
-                        <el-input v-model="item.val" size="mini" />
+                        <el-input v-model="item.val" size="mini" class="inputWidth" />
                       </el-col>
                     </el-row>
                   </el-col>
@@ -926,27 +928,27 @@
             <el-row>
               <el-col :span="6"> 化验抽检记录 </el-col>
               <el-col :span="12">
-                <el-input v-model="form.spotCheckRecordOfCDC" size="mini" />
+                <el-input v-model="form.spotCheckRecordOfCDC" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="2"> 签名 </el-col>
               <el-col :span="4">
-                <el-input v-model="form.spotCheckRecordOfCDCName" size="mini" />
+                <el-input v-model="form.spotCheckRecordOfCDCName" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="6"> 机修维护记录 </el-col>
               <el-col :span="12">
-                <el-input v-model="form.machineMaintenanceRecord" size="mini" />
+                <el-input v-model="form.machineMaintenanceRecord" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="2"> 签名 </el-col>
               <el-col :span="4">
-                <el-input v-model="form.machineMaintenanceRecordName" size="mini" />
+                <el-input v-model="form.machineMaintenanceRecordName" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="6"> 当班时外来人员进出记录 </el-col>
               <el-col :span="12">
-                <el-input v-model="form.recordOfEntryAndExitOfExternalPersonnelOnDuty" size="mini" />
+                <el-input v-model="form.recordOfEntryAndExitOfExternalPersonnelOnDuty" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="2"> 签名 </el-col>
               <el-col :span="4">
@@ -954,13 +956,14 @@
                   v-model="form.recordOfEntryAndExitOfExternalPersonnelOnDutyName
                   "
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="6"> 水池日常清洁记录 </el-col>
               <el-col :span="18">
-                <el-input v-model="form.dailyCleaningRecordOfWaterPool" size="mini" />
+                <el-input v-model="form.dailyCleaningRecordOfWaterPool" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row class="remarkF three-water">
@@ -974,6 +977,7 @@
                   resize="none"
                   :rows="4"
                   size="mini"
+                  class="inputWidth"
                   @input="change($event)"
                 />
               </el-col>
@@ -991,19 +995,19 @@
                 <span> 接班时卫生情况 </span>
               </el-col>
               <el-col :span="4">
-                <el-input v-model="form.sanitationOfShiftHandover" size="mini" />
+                <el-input v-model="form.sanitationOfShiftHandover" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="4">
                 <span> 接班时净水情况 </span>
               </el-col>
               <el-col :span="4">
-                <el-input v-model="form.waterPurificationAtTheTimeOfSuccession" size="mini" />
+                <el-input v-model="form.waterPurificationAtTheTimeOfSuccession" size="mini" class="inputWidth" />
               </el-col>
               <el-col :span="4">
                 <span> 接班时消毒情况</span>
               </el-col>
               <el-col :span="4">
-                <el-input v-model="form.disinfectionConditionWhenTakingOverTheShift" size="mini" />
+                <el-input v-model="form.disinfectionConditionWhenTakingOverTheShift" size="mini" class="inputWidth" />
               </el-col>
             </el-row>
             <el-row>
@@ -1015,6 +1019,7 @@
                   v-model="form.instantaneousFlowOfInfluencePlantDuringShiftChange
                   "
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
               <el-col :span="6">
@@ -1025,6 +1030,7 @@
                   v-model="form.waterVolumeOfThePlantOnDuty
                   "
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
             </el-row>
@@ -1037,6 +1043,7 @@
                   v-model="form.instantaneousFlowFromTheWaterPlantDuringShiftChange
                   "
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
               <el-col :span="6">
@@ -1047,6 +1054,7 @@
                   v-model="form.waterInflowOnDuty
                   "
                   size="mini"
+                  class="inputWidth"
                 />
               </el-col>
             </el-row>
@@ -1061,13 +1069,13 @@
                     <span>厂区总电源</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mainPowerSupplyInThePlant" size="mini" />
+                    <el-input v-model="form.mainPowerSupplyInThePlant" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>值班室设备</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mediumControlEquipment" size="mini" />
+                    <el-input v-model="form.mediumControlEquipment" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -1075,13 +1083,13 @@
                     <span>加药间</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.disinfectantDosingRoom" size="mini" />
+                    <el-input v-model="form.disinfectantDosingRoom" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>一体化净水设备</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.waterPurifierDosingRoom" size="mini" />
+                    <el-input v-model="form.waterPurifierDosingRoom" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
                 <el-row>
@@ -1089,35 +1097,35 @@
                     <span>工具库房</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.gridReactionTank" size="mini" />
+                    <el-input v-model="form.gridReactionTank" size="mini" class="inputWidth" />
                   </el-col>
                   <el-col :span="6">
                     <span>备用电源</span>
                   </el-col>
                   <el-col :span="6">
-                    <el-input v-model="form.mergePowerSupply" size="mini" />
+                    <el-input v-model="form.mergePowerSupply" size="mini" class="inputWidth" />
                   </el-col>
                 </el-row>
               </el-col>
             </el-row>
             <el-row>
-              <el-col :span="4">
-                <span>交班时清水池水位</span>
+              <el-col :span="5">
+                <span>交班时清水池水位(m)</span>
               </el-col>
-              <el-col :span="4">
-                <el-input v-model="form.clearWaterBubbleLevelAtShiftHandover" size="mini" />
+              <el-col :span="3">
+                <el-input-number v-model="form.clearWaterBubbleLevelAtShiftHandover" class="inputWidth" size="mini" />
               </el-col>
-              <el-col :span="4">
-                <span>交班时原水池水位</span>
+              <el-col :span="5">
+                <span>交班时原水池水位(m)</span>
               </el-col>
-              <el-col :span="4">
-                <el-input v-model="form.turbidityOfFactoryWaterAtShiftHandover" size="mini" />
+              <el-col :span="3">
+                <el-input-number v-model="form.turbidityOfFactoryWaterAtShiftHandover" class="inputWidth" size="mini" />
               </el-col>
-              <el-col :span="4">
-                <span>交班时出厂水余氯</span>
+              <el-col :span="5">
+                <span>交班时出厂水余氯(mg/L)</span>
               </el-col>
-              <el-col :span="4">
-                <el-input v-model="form.residualChlorineInFactoryWaterAtShiftHandover" size="mini" />
+              <el-col :span="3">
+                <el-input-number v-model="form.residualChlorineInFactoryWaterAtShiftHandover" class="inputWidth" size="mini" />
               </el-col>
             </el-row>
             <el-row>
@@ -1135,10 +1143,10 @@
                     <span>药品</span>
                   </el-col>
                   <el-col :span="hideElement.spanLeft">
-                    <span>使用</span>
+                    <span>使用(kg)</span>
                   </el-col>
                   <el-col :span="hideElement.spanLeft">
-                    <span>数量</span>
+                    <span>数量(kg)</span>
                   </el-col>
                   <el-col v-if="!hideElement.hide" :span="3">
                     <span>操作</span>
@@ -1175,6 +1183,7 @@
                           v-model="item.inventory"
                           style="width: 100%"
                           size="mini"
+                          class="inputWidth"
                           controls-position="right"
                           @change="change($event)"
                         />
@@ -1193,6 +1202,7 @@
                           v-model="item.usage"
                           style="width: 100%"
                           size="mini"
+                          class="inputWidth"
                           controls-position="right"
                           @change="change($event)"
                         />
@@ -1661,7 +1671,7 @@ export default {
                 e.time = new Date(e.time).getHours()
               }
             })
-            console.log(this.record)
+            console.log('参数record:', this.record)
             // this.form.inventory1 = this.form.dutyDisinfectantDtos[0].inventory
             // this.form.usage1 = this.form.dutyDisinfectantDtos[0].usage
             // this.form.inventory2 = this.form.dutyDisinfectantDtos[1].inventory
@@ -1764,7 +1774,7 @@ export default {
             {
               inventory: this.form.inventory1,
               usage: this.form.usage1,
-              reagentType: '二氧化氯'
+              reagentType: '二氧化氯(组)'
             },
             {
               inventory: this.form.inventory2,
@@ -2106,6 +2116,10 @@ h4 {
       }
     }
   }
+
+  .inputWidth{
+    width:100%;
+  }
 }
 
 .add-methods {

+ 4 - 2
src/views/zhpt/scada/scadaCraftMap/MiniScadaCraftMap/index.vue

@@ -10,7 +10,7 @@
           'width:80px;margin-bottom: 2px;background:' +
             (item.active ? '#053060' : '#409EFF')
         "
-        @click="setCraft(item.id)"
+        @click="setCraft(item.id,item)"
       >{{ item.name }}</el-button>
     </el-button-group>
 
@@ -615,7 +615,7 @@ export default {
     /**
      * @description 设置显示、隐藏
      */
-    setCraft(id) {
+    setCraft(id,val) {
       // 判断是不是当前打开的,如果是直接退出
       const flag = this.waterworks.find(
         (item) => item.active === true && item.id === id
@@ -629,6 +629,8 @@ export default {
         this.loadCraft()
         // 调用事件总线
         eventBus.$emit('waterActive', this.showItem)
+        console.log('waterActiveT', val)
+        eventBus.$emit('waterActiveT', val)
       })
     },
 

+ 1 - 0
src/views/zhpt/tongyonggongju/queryResult3/widget.vue

@@ -150,6 +150,7 @@ export default {
         },
         success: (data) => {
           data = JSON.parse(data)
+          console.log('参数', data)
           var feaD = []
           for (var i = 0, il = data.features, ii = il.length; i < ii; i++) {
             var di = il[i]

+ 112 - 73
src/views/zhpt/wxListenerCenter/wxRoadQuery/widget.vue

@@ -1,28 +1,55 @@
 <template>
   <div style="width: 100%; height: 100%; padding:8px;">
     <el-row>
-    <span class="title2" style="display:inline-block;width:50px;padding-left:8px;">部门:</span>
-      <el-select v-model="group" @change="Bmchange" style="display: inline-block; width:130px;" size="small" placeholder="请选择">
+      <span class="title2" style="display:inline-block;width:50px;padding-left:8px;">部门:</span>
+      <el-select v-model="group" style="display: inline-block; width:130px;" size="small" placeholder="请选择" @change="Bmchange">
         <el-option v-for="item of groups" :key="item.id" :label="item.name" :value="item.id" />
       </el-select>
       <span class="title2" style="margin-left:8px;">人员:</span>
       <el-select v-model="worker" style="display: inline-block; margin-left: 5px; width:130px;" size="small" placeholder="请选择人员" clearable>
-        <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">                        
-        </el-option>
+        <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id" />
       </el-select>
       <span class="title2" style="margin-left:8px;">起始时间:</span>
       <div style="display: inline-block; margin-left: 5px; width:320px;">
-        <el-date-picker v-model="addStartTime" style="width: calc(100% - 130px);" type="date" value-format="yyyy-MM-dd" placeholder="请选择开始日期" size="small" :clearable="false"
-          :picker-options="{ disabledDate: addSDisable}"/>
-        <el-time-select placeholder="起始时间" style="width: 120px;float:right;" size="small" v-model="addStartHour"
-          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', maxTime: addStartTime == addStopTime ? addStopHour : '24:00' }" :clearable="false"/>
+        <el-date-picker
+          v-model="addStartTime"
+          style="width: calc(100% - 130px);"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择开始日期"
+          size="small"
+          :clearable="false"
+          :picker-options="{ disabledDate: addSDisable}"
+        />
+        <el-time-select
+          v-model="addStartHour"
+          placeholder="起始时间"
+          style="width: 120px;float:right;"
+          size="small"
+          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', maxTime: addStartTime == addStopTime ? addStopHour : '24:00' }"
+          :clearable="false"
+        />
       </div>
       <span class="title2" style="margin-left:8px;">结束时间:</span>
       <div style="display: inline-block; margin-left: 5px; width:320px;">
-        <el-date-picker v-model="addStopTime" style="width: calc(100% - 130px);" type="date" value-format="yyyy-MM-dd" placeholder="请选择结束日期" size="small" :clearable="false"
-          :picker-options="{ disabledDate: addEDisable}"/>
-        <el-time-select placeholder="结束时间" style="width: 120px;float:right;" size="small" v-model="addStopHour"
-          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', minTime: addStartTime == addStopTime ? addStartHour : '-01:00' }" :clearable="false"/>
+        <el-date-picker
+          v-model="addStopTime"
+          style="width: calc(100% - 130px);"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择结束日期"
+          size="small"
+          :clearable="false"
+          :picker-options="{ disabledDate: addEDisable}"
+        />
+        <el-time-select
+          v-model="addStopHour"
+          placeholder="结束时间"
+          style="width: 120px;float:right;"
+          size="small"
+          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', minTime: addStartTime == addStopTime ? addStartHour : '-01:00' }"
+          :clearable="false"
+        />
       </div>
       <el-button size="small" type="primary" @click="query">查询</el-button>
     </el-row>
@@ -33,27 +60,35 @@
       <span style="display:inline-block;margin:0 5px;" class="titleS">|</span>
       <span style="display:inline-block;" class="titleS">总平均速度:{{ showDetail[2] }} km/h</span>
     </div>
-    <el-table class="mapTable" :data="dataT1" border style="width: 100%;margin-top: 8px;" ref="table2" height="calc(100% - 110px)" stripe v-loading="loading">
-      <el-table-column prop="uploadTime" label="上传时间" >
+    <el-table ref="table2" v-loading="loading" class="mapTable" :data="dataT1" border style="width: 100%;margin-top: 8px;" height="calc(100% - 110px)" stripe>
+      <el-table-column prop="uploadTime" label="上传时间">
         <template slot-scope="scope">{{ scope.row.uploadTime || '-' }}</template>
       </el-table-column>
-      <el-table-column prop="distance" label="间距" >
+      <el-table-column prop="distance" label="间距">
         <template slot-scope="scope">{{ (scope.row.distance || '0') + 'm' }}</template>
       </el-table-column>
-      <el-table-column prop="speed" label="速度" >
+      <el-table-column prop="speed" label="速度">
         <template slot-scope="scope">{{ (scope.row.speed || '0') + 'km/h' }}</template>
       </el-table-column>
-      <el-table-column prop="network" label="定位类型" show-overflow-tooltip >
+      <el-table-column prop="network" label="定位类型" show-overflow-tooltip>
         <template slot-scope="scope">{{ { 1: 'GPS', 2: 'Wifi', 3: '基站定位'}[scope.row.network] || '未知' }}</template>
       </el-table-column>
-      <el-table-column prop="precision" label="精度" >
+      <el-table-column prop="precision" label="精度">
         <template slot-scope="scope">{{ (scope.row.precision || '0') + 'm' }}</template>
       </el-table-column>
     </el-table>
     <el-row style="margin-top: 8px">
-      <el-pagination ref="pagination" small background layout="total, sizes, prev, pager, next, jumper"
-            :page-sizes="[10,20,30,50,100,1000]" :total="total"
-      @current-change="query" @size-change="query" style=" width: 250px; display: inline-block;" />
+      <el-pagination
+        ref="pagination"
+        small
+        background
+        layout="total, sizes, prev, pager, next, jumper"
+        :page-sizes="[10,20,30,50,100,1000]"
+        :total="total"
+        style=" width: 250px; display: inline-block;"
+        @current-change="query"
+        @size-change="query"
+      />
       <!-- <span ref='pageLength' style="font-size: 13px;" class="el-pagination__total">0/0 页</span> -->
     </el-row>
   </div>
@@ -63,15 +98,15 @@
 import request from '@/utils/request'
 import { getDepartment, getDeptUserList } from '@/api/work'
 export default {
-  name: 'wxCheck',
-  components: {  },
+  name: 'WxCheck',
+  components: { },
   props: { data: Object },
   data() {
     return {
       times: [],
       worker: '',
       endTime: '',
-      userList:[],
+      userList: [],
       startTime: '',
       workers: [],
       dataT1: [],
@@ -80,50 +115,58 @@ export default {
       group: '',
       groups: [],
       groupIndex: {},
-			addStartTime: '',
+      addStartTime: '',
       addStartHour: '00:00',
-			addStopTime: '',
+      addStopTime: '',
       addStopHour: '23:00',
-      loading: false,
+      loading: false
     }
   },
-  created(){
-    this.group=parseInt(this.$store.state.user.departmentId);
+  watch: {
+    addStartTime(e) { if (e == this.addStopTime) this.hourChange(e) },
+    addStopTime(e) { if (e == this.addStartTime) this.hourChange(e) }
+  },
+  created() {
+    this.group = parseInt(this.$store.state.user.departmentId)
     getDepartment().then(res => {
       if (res.code === 1) {
-        this.groups = res.result;
-        this.Bmchange();
+        this.groups = res.result
+        this.Bmchange()
       }
-    });
-    let currentDate=new Date();
-    let Hours=currentDate.getHours();
-    let endHours=Hours+1;
-    this.addStopHour=endHours+":00";
-    let startHours=endHours-12;
-    if(startHours<0){
-      let day=currentDate.getFullYear()+"-"+(currentDate.getMonth+1)+"-"+(currentDate.getDate()-1);
-      let dayDate=new(day);
-      dayS=day.getFullYear()+"-"+(day.getMonth+1)+"-"+day.getDate();
-      this.addStartTime=dayS;
-      this.addStartHour=(startHours+24)+":00"
-    }else if(startHours==0){
-      this.addStartHour='00:00'
-    }else{
-      if(startHours<10){
-        this.addStartHour="0"+startHours+":00";
-      }else{
-        this.addStartHour=startHours+":00";
+    })
+    const currentDate = new Date()
+    const Hours = currentDate.getHours()
+    const endHours = Hours + 1
+    this.addStopHour = endHours + ':00'
+    const startHours = endHours - 12
+    if (startHours < 0) {
+      const day = currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + (currentDate.getDate() - 1)
+      const dayDate = new Date(day)
+      let dayMonth = (dayDate.getMonth() + 1)
+      let dayTime = dayDate.getDate()
+      if (dayMonth < 10) dayMonth = '0' + dayMonth
+      if (dayTime < 10) dayTime = '0' + dayTime
+
+      const dayS = dayDate.getFullYear() + '-' + dayMonth + '-' + dayTime
+      this.addStartTime = dayS
+      this.addStartHour = (startHours + 24) + ':00'
+    } else if (startHours == 0) {
+      this.addStartHour = '00:00'
+    } else {
+      if (startHours < 10) {
+        this.addStartHour = '0' + startHours + ':00'
+      } else {
+        this.addStartHour = startHours + ':00'
       }
     }
   },
   mounted() {
-  
     // request({ url: '/gps/groupuser/getGroupUserMap', method: 'get' }).then(res => {
     //   if(res.code == 1) {
     //     res = res.result
     //     var group = this.workerGroup = [
     //       { id: '', name: '全部', users: res.groupUserDeptVoList.map(e => { return {
-    //         id: e.userId,              
+    //         id: e.userId,
     //         name: e.userName,
     //       }})}
     //     ]
@@ -138,7 +181,7 @@ export default {
     //         groupIndex[e.groupId].users.push(di)
     //         groupIndex[''].users.push(di)
     //       }
-    //     })      
+    //     })
     //     this.groupIndex = groupIndex
     //     this.groups = group
     //   } else this.$message('人员信息加载失败:' + res.message)
@@ -146,14 +189,10 @@ export default {
     var date = new Date()
     var year = date.getFullYear()
     var month = date.getMonth() + 1
-		var day = date.getDate()
-    if(month < 10) month = '0' + month
-		if(day < 10) day = '0' + day
-    this.addStopTime = this.addStartTime = [year, month, day].join('-')
-  },
-  watch: {
-    addStartTime(e){ if(e == this.addStopTime) this.hourChange(e) },
-    addStopTime(e) { if(e == this.addStartTime) this.hourChange(e) },
+    var day = date.getDate()
+    if (month < 10) month = '0' + month
+    if (day < 10) day = '0' + day
+    this.addStopTime = [year, month, day].join('-')
   },
   methods: {
     addSDisable(e) { return this.dayDisable(e, (this.addStopTime || '9999-01-01'), true) },
@@ -162,37 +201,37 @@ export default {
       date = date.split('-')
       var d = ['getFullYear', 'getMonth', 'getDate'].map(de => e[de]())
       d[1] = (d[1] < 10 ? '0' : '') + (d[1] + 1)
-      if(d[2] < 10) d[2] = '0' + d[2]
-      return type ? ~~ date.join('') < ~~ d.join('') : ~~ date.join('') > ~~ d.join('')
+      if (d[2] < 10) d[2] = '0' + d[2]
+      return type ? ~~date.join('') < ~~d.join('') : ~~date.join('') > ~~d.join('')
     },
     Bmchange() {
       getDeptUserList({ deptId: this.group }).then(res => {
         if (res.code === 1) {
-          this.worker='';
+          this.worker = ''
           this.userList = res.result
         }
       })
     },
     hourChange(e) {
-      var [s, e] = ['addStartHour', 'addStopHour'].map(e => ~~ this[e].split(':')[0])
-      if(s < e) return
-      if(e == 23) e = 23, s = 22; else e = s + 1;
+      var [s, e] = ['addStartHour', 'addStopHour'].map(e => ~~this[e].split(':')[0])
+      if (s < e) return
+      if (e == 23) e = 23, s = 22; else e = s + 1;
       [this.addStartHour, this.addStopHour] = [s, e].map(x => (x < 10 ? '0' : '') + x + ':00')
     },
     query() {
       var pages = this.$refs.pagination
-      if(!this.worker) return this.$message.error('请选择人员')
-      if(!this.addStartTime) return this.$message.error('请选择开始时间')
-      if(!this.addStopTime) return this.$message.error('请选择结束时间')
-      this.loading = true;
+      if (!this.worker) return this.$message.error('请选择人员')
+      if (!this.addStartTime) return this.$message.error('请选择开始时间')
+      if (!this.addStopTime) return this.$message.error('请选择结束时间')
+      this.loading = true
       request({ url: '/gps/gps/inspectionTrackQuery' +
         '?&startDate=' + (this.addStartTime || '') + ' ' + (this.addStartHour || '00') + ':00' +
         '&endDate=' + (this.addStopTime || '') + ' ' + (this.addStopHour || '00') + ':00' +
         '&userId=' + this.worker +
         '&deptId=' + this.group +
         '&size=' + pages.internalPageSize + '&current=' + pages.internalCurrentPage, method: 'get' }).then(res => {
-        if(res.code == 1) {
-          this.showDetail=[res.result.totalMileage,res.result.totalTimeConsuming,res.result.overallAverageSpeed]
+        if (res.code == 1) {
+          this.showDetail = [res.result.totalMileage, res.result.totalTimeConsuming, res.result.overallAverageSpeed]
           res = res.result.pageGpsInfo
           this.total = res.total
           this.dataT1 = res.records

+ 154 - 94
src/views/zhpt/xjListenerCenter/xjRoadQuery/widget.vue

@@ -1,28 +1,55 @@
 <template>
   <div style="width: 100%; height: 100%; padding:8px;">
     <el-row>
-      <span class="title2" style="display:inline-block;width:45px;padding-left:8px;">分组</span>
-      <el-select v-model="group" style="display: inline-block; width:130px;" size="small" placeholder="请选择">
+      <span class="title2" style="display:inline-block;width:50px;padding-left:8px;">部门:</span>
+      <el-select v-model="group" style="display: inline-block; width:130px;" size="small" placeholder="请选择" @change="Bmchange">
         <el-option v-for="item of groups" :key="item.id" :label="item.name" :value="item.id" />
       </el-select>
-      <span class="title2" style="margin-left:8px;">人员</span>
+      <span class="title2" style="margin-left:8px;">人员</span>
       <el-select v-model="worker" style="display: inline-block; margin-left: 5px; width:130px;" size="small" placeholder="请选择人员" clearable>
-        <el-option v-for="item in ((groupIndex[group] || { users: []}).users)" :key="item.id" :label="item.name" :value="item.id">                        
-        </el-option>
+        <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id" />
       </el-select>
-      <span class="title2" style="margin-left:8px;">起始时间</span>
+      <span class="title2" style="margin-left:8px;">起始时间</span>
       <div style="display: inline-block; margin-left: 5px; width:320px;">
-        <el-date-picker v-model="addStartTime" style="width: calc(100% - 130px);" type="date" value-format="yyyy-MM-dd" placeholder="请选择开始日期" size="small" :clearable="false"
-          :picker-options="{ disabledDate: addSDisable}"/>
-        <el-time-select placeholder="起始时间" style="width: 120px;float:right;" size="small" v-model="addStartHour"
-          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', maxTime: addStartTime == addStopTime ? addStopHour : '24:00' }" :clearable="false"/>
+        <el-date-picker
+          v-model="addStartTime"
+          style="width: calc(100% - 130px);"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择开始日期"
+          size="small"
+          :clearable="false"
+          :picker-options="{ disabledDate: addSDisable}"
+        />
+        <el-time-select
+          v-model="addStartHour"
+          placeholder="起始时间"
+          style="width: 120px;float:right;"
+          size="small"
+          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', maxTime: addStartTime == addStopTime ? addStopHour : '24:00' }"
+          :clearable="false"
+        />
       </div>
-      <span class="title2" style="margin-left:8px;">结束时间</span>
+      <span class="title2" style="margin-left:8px;">结束时间</span>
       <div style="display: inline-block; margin-left: 5px; width:320px;">
-        <el-date-picker v-model="addStopTime" style="width: calc(100% - 130px);" type="date" value-format="yyyy-MM-dd" placeholder="请选择结束日期" size="small" :clearable="false"
-          :picker-options="{ disabledDate: addEDisable}"/>
-        <el-time-select placeholder="结束时间" style="width: 120px;float:right;" size="small" v-model="addStopHour"
-          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', minTime: addStartTime == addStopTime ? addStartHour : '-01:00' }" :clearable="false"/>
+        <el-date-picker
+          v-model="addStopTime"
+          style="width: calc(100% - 130px);"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择结束日期"
+          size="small"
+          :clearable="false"
+          :picker-options="{ disabledDate: addEDisable}"
+        />
+        <el-time-select
+          v-model="addStopHour"
+          placeholder="结束时间"
+          style="width: 120px;float:right;"
+          size="small"
+          :picker-options="{ start: '00:00', step: '01:00', end: '23:00', minTime: addStartTime == addStopTime ? addStartHour : '-01:00' }"
+          :clearable="false"
+        />
       </div>
       <el-button size="small" type="primary" @click="query">查询</el-button>
     </el-row>
@@ -33,27 +60,35 @@
       <span style="display:inline-block;margin:0 5px;" class="titleS">|</span>
       <span style="display:inline-block;" class="titleS">总平均速度:{{ showDetail[2] }} km/h</span>
     </div>
-    <el-table class="mapTable" :data="dataT1" border style="width: 100%;margin-top: 8px;" ref="table2" height="calc(100% - 110px)" stripe v-loading="loading">
-      <el-table-column prop="uploadTime" label="上传时间" >
+    <el-table ref="table2" v-loading="loading" class="mapTable" :data="dataT1" border style="width: 100%;margin-top: 8px;" height="calc(100% - 110px)" stripe>
+      <el-table-column prop="uploadTime" label="上传时间">
         <template slot-scope="scope">{{ scope.row.uploadTime || '-' }}</template>
       </el-table-column>
-      <el-table-column prop="distance" label="间距" >
+      <el-table-column prop="distance" label="间距">
         <template slot-scope="scope">{{ (scope.row.distance || '0') + 'm' }}</template>
       </el-table-column>
-      <el-table-column prop="speed" label="速度" >
+      <el-table-column prop="speed" label="速度">
         <template slot-scope="scope">{{ (scope.row.speed || '0') + 'km/h' }}</template>
       </el-table-column>
-      <el-table-column prop="network" label="定位类型" show-overflow-tooltip >
+      <el-table-column prop="network" label="定位类型" show-overflow-tooltip>
         <template slot-scope="scope">{{ { 1: 'GPS', 2: '基站', 3: 'WIFI'}[scope.row.network] || '未知' }}</template>
       </el-table-column>
-      <el-table-column prop="precision" label="精度" >
+      <el-table-column prop="precision" label="精度">
         <template slot-scope="scope">{{ (scope.row.precision || '0') + 'm' }}</template>
       </el-table-column>
     </el-table>
     <el-row style="margin-top: 8px">
-      <el-pagination ref="pagination" small background layout="total, sizes, prev, pager, next, jumper"
-            :page-sizes="[10,20,30,50,100,1000]" :total="total"
-      @current-change="query" @size-change="query" style=" width: 250px; display: inline-block;" />
+      <el-pagination
+        ref="pagination"
+        small
+        background
+        layout="total, sizes, prev, pager, next, jumper"
+        :page-sizes="[10,20,30,50,100,1000]"
+        :total="total"
+        style=" width: 250px; display: inline-block;"
+        @current-change="query"
+        @size-change="query"
+      />
       <!-- <span ref='pageLength' style="font-size: 13px;" class="el-pagination__total">0/0 页</span> -->
     </el-row>
   </div>
@@ -61,15 +96,17 @@
 
 <script>
 import request from '@/utils/request'
+import { getDepartment, getDeptUserList } from '@/api/work'
 export default {
-  name: 'wxCheck',
-  components: {  },
+  name: 'WxCheck',
+  components: { },
   props: { data: Object },
   data() {
     return {
       times: [],
       worker: '',
       endTime: '',
+      userList: [],
       startTime: '',
       workers: [],
       dataT1: [],
@@ -78,73 +115,88 @@ export default {
       group: '',
       groups: [],
       groupIndex: {},
-			addStartTime: '',
+      addStartTime: '',
       addStartHour: '00:00',
-			addStopTime: '',
+      addStopTime: '',
       addStopHour: '23:00',
-      loading: false,
+      loading: false
     }
   },
-  created(){
-    let currentDate=new Date();
-    let Hours=currentDate.getHours();
-    let endHours=Hours+1;
-    this.addStopHour=endHours+":00";
-    let startHours=endHours-12;
-    if(startHours<0){
-      let day=currentDate.getFullYear()+"-"+(currentDate.getMonth+1)+"-"+(currentDate.getDate()-1);
-      let dayDate=new(day);
-      dayS=day.getFullYear()+"-"+(day.getMonth+1)+"-"+day.getDate();
-      this.addStartTime=dayS;
-      this.addStartHour=(startHours+24)+":00"
-    }else if(startHours==0){
-      this.addStartHour='00:00'
-    }else{
-      if(startHours<10){
-        this.addStartHour="0"+startHours+":00";
-      }else{
-        this.addStartHour=startHours+":00";
+  watch: {
+    addStartTime(e) { if (e == this.addStopTime) this.hourChange(e) },
+    addStopTime(e) { if (e == this.addStartTime) this.hourChange(e) }
+  },
+  created() {
+    this.group = parseInt(this.$store.state.user.departmentId)
+    getDepartment().then(res => {
+      if (res.code === 1) {
+        this.groups = res.result
+        this.Bmchange()
+      }
+    })
+
+    const currentDate = new Date()
+    const Hours = currentDate.getHours()
+    const endHours = Hours + 1
+    this.addStartTime = this.addStopTime
+    this.addStopHour = endHours + ':00'
+    const startHours = endHours - 12
+    if (startHours < 0) {
+      const day = currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + (currentDate.getDate() - 1)
+      const dayDate = new Date(day)
+      let dayMonth = (dayDate.getMonth() + 1)
+      let dayTime = dayDate.getDate()
+      if (dayMonth < 10) dayMonth = '0' + dayMonth
+      if (dayTime < 10) dayTime = '0' + dayTime
+
+      const dayS = dayDate.getFullYear() + '-' + dayMonth + '-' + dayTime
+      this.addStartTime = dayS
+      this.addStartHour = (startHours + 24) + ':00'
+    } else if (startHours == 0) {
+      this.addStartHour = '00:00'
+    } else {
+      if (startHours < 10) {
+        this.addStartHour = '0' + startHours + ':00'
+      } else {
+        this.addStartHour = startHours + ':00'
       }
     }
   },
   mounted() {
-  
-    request({ url: '/gps/groupuser/getGroupUserMap', method: 'get' }).then(res => {
-      if(res.code == 1) {
-        res = res.result
-        var group = this.workerGroup = [
-          { id: '', name: '全部', users: res.groupUserDeptVoList.map(e => { return {
-            id: e.userId,              
-            name: e.userName,
-          }})}
-        ]
-        var groupIndex = { '' : group[0]}
-        res.groupUserVoList.map(e => {
-          if(!groupIndex.hasOwnProperty(e.groupId)) group.push(groupIndex[e.groupId] = {id: e.groupId, name: e.groupName, users: []})
-          var di = {
-            id: e.userId,
-            name: e.userIdName,
-          }
-          if(di.id) {
-            groupIndex[e.groupId].users.push(di)
-            groupIndex[''].users.push(di)
-          }
-        })      
-        this.groupIndex = groupIndex
-        this.groups = group
-      } else this.$message('人员信息加载失败:' + res.message)
-    })
+    // request({ url: '/gps/groupuser/getGroupUserMap', method: 'get' }).then(res => {
+    //   if (res.code == 1) {
+    //     res = res.result
+    //     var group = this.workerGroup = [
+    //       { id: '', name: '全部', users: res.groupUserDeptVoList.map(e => {
+    //         return {
+    //           id: e.userId,
+    //           name: e.userName
+    //         }
+    //       }) }
+    //     ]
+    //     var groupIndex = { '': group[0] }
+    //     res.groupUserVoList.map(e => {
+    //       if (!groupIndex.hasOwnProperty(e.groupId)) group.push(groupIndex[e.groupId] = { id: e.groupId, name: e.groupName, users: [] })
+    //       var di = {
+    //         id: e.userId,
+    //         name: e.userIdName
+    //       }
+    //       if (di.id) {
+    //         groupIndex[e.groupId].users.push(di)
+    //         groupIndex[''].users.push(di)
+    //       }
+    //     })
+    //     this.groupIndex = groupIndex
+    //     this.groups = group
+    //   } else this.$message('人员信息加载失败:' + res.message)
+    // })
     var date = new Date()
     var year = date.getFullYear()
     var month = date.getMonth() + 1
-		var day = date.getDate()
-    if(month < 10) month = '0' + month
-		if(day < 10) day = '0' + day
-    this.addStopTime = this.addStartTime = [year, month, day].join('-')
-  },
-  watch: {
-    addStartTime(e){ if(e == this.addStopTime) this.hourChange(e) },
-    addStopTime(e) { if(e == this.addStartTime) this.hourChange(e) },
+    var day = date.getDate()
+    if (month < 10) month = '0' + month
+    if (day < 10) day = '0' + day
+    this.addStopTime = [year, month, day].join('-')
   },
   methods: {
     addSDisable(e) { return this.dayDisable(e, (this.addStopTime || '9999-01-01'), true) },
@@ -153,30 +205,38 @@ export default {
       date = date.split('-')
       var d = ['getFullYear', 'getMonth', 'getDate'].map(de => e[de]())
       d[1] = (d[1] < 10 ? '0' : '') + (d[1] + 1)
-      if(d[2] < 10) d[2] = '0' + d[2]
-      return type ? ~~ date.join('') < ~~ d.join('') : ~~ date.join('') > ~~ d.join('')
+      if (d[2] < 10) d[2] = '0' + d[2]
+      return type ? ~~date.join('') < ~~d.join('') : ~~date.join('') > ~~d.join('')
+    },
+    Bmchange() {
+      getDeptUserList({ deptId: this.group }).then(res => {
+        if (res.code === 1) {
+          this.worker = ''
+          this.userList = res.result
+        }
+      })
     },
     hourChange(e) {
-      var [s, e] = ['addStartHour', 'addStopHour'].map(e => ~~ this[e].split(':')[0])
-      if(s < e) return
-      if(e == 23) e = 23, s = 22; else e = s + 1;
+      var [s, e] = ['addStartHour', 'addStopHour'].map(e => ~~this[e].split(':')[0])
+      if (s < e) return
+      if (e == 23) e = 23, s = 22; else e = s + 1;
       [this.addStartHour, this.addStopHour] = [s, e].map(x => (x < 10 ? '0' : '') + x + ':00')
     },
     query() {
       var pages = this.$refs.pagination
-      if(!this.worker) return this.$message.error('请选择人员')
-      if(!this.addStartTime) return this.$message.error('请选择开始时间')
-      if(!this.addStopTime) return this.$message.error('请选择结束时间')
+      if (!this.worker) return this.$message.error('请选择人员')
+      if (!this.addStartTime) return this.$message.error('请选择开始时间')
+      if (!this.addStopTime) return this.$message.error('请选择结束时间')
       this.loading = true
-      request({ url: 'gps/gps/getAllPage' + ////gps/userGps/getSectionGps
+      request({ url: 'gps/gps/getAllPage' + // //gps/userGps/getSectionGps
         '?&startDate=' + (this.addStartTime || '') + ' ' + (this.addStartHour || '00') + ':00' +
         '&endDate=' + (this.addStopTime || '') + ' ' + (this.addStopHour || '00') + ':00' +
         '&userId=' + this.worker +
         '&size=' + pages.internalPageSize + '&current=' + pages.internalCurrentPage, method: 'get' }).then(res => {
-        if(res.code == 1) {
+        if (res.code == 1) {
           res = res.result
-					this.total = res.total
-          //this.$refs.pageLength.innerHTML = pages.internalCurrentPage + '/' + Math.ceil(res.total / pages.internalPageSize) + '页'
+          this.total = res.total
+          // this.$refs.pageLength.innerHTML = pages.internalCurrentPage + '/' + Math.ceil(res.total / pages.internalPageSize) + '页'
           this.dataT1 = res.records
           // this.showDetail = [(dDistance / 1000).toFixed(2), (dTime / 3600 / 1000).toFixed(2), dTime ? (dDistance / dTime * 1000 / 1000 * 3600).toFixed(2) : 0]
         } else this.$message(res.message)

+ 80 - 48
vue.config.js

@@ -1,13 +1,21 @@
 'use strict'
 const path = require('path')
+const rm = require('rimraf')
 const defaultSettings = require('./src/settings.js')
 const CompressionWebpackPlugin = require('compression-webpack-plugin')
+const TerserPlugin = require('terser-webpack-plugin')
 const webpack = require('webpack')
 
 function resolve(dir) {
   return path.join(__dirname, dir)
 }
 
+rm(resolve('node_modules/.cache'), err => {
+  if (err) {
+    throw err
+  }
+})
+
 const name = defaultSettings.title || '登录系统' // page title
 const BASE_URL = process.env.NODE_ENV === 'production' ? 'http://118.24.21.156:8087' : 'http://118.24.21.156:8087'// 这个BASE_URL这里没有用到,在request.js里面重新定义了后端接口
 const port = 9527
@@ -97,7 +105,7 @@ module.exports = {
         'staticPub': resolve('public')
       }
     },
-    // devtool: '#eval-source-map',
+    devtool: '#eval-source-map',
     plugins: [// 压缩代码
       new CompressionWebpackPlugin(
         {
@@ -105,8 +113,8 @@ module.exports = {
           algorithm: 'gzip',
           test: /\.js$|\.html$|\.json$|\.css/,
           threshold: 0, // 只有大小大于该值的资源会被处理
-          minRatio: 0.8, // 只有压缩率小于这个值的资源才会被处理
-          deleteOriginalAssets: false // 删除原文件
+          minRatio: 0.4, // 只有压缩率小于这个值的资源才会被处理
+          deleteOriginalAssets: false // 删除原文件 ,需要nginx配置支持
         }
       ),
       new webpack.ProvidePlugin(
@@ -115,8 +123,40 @@ module.exports = {
           jQuery: 'jquery',
           'windows.jQuery': 'jquery'
         }
-      )
-    ]
+      ),
+      new TerserPlugin({
+        cache: true, // 降低版本号后增加
+        sourceMap: false, // 降低版本号后增加
+        // 多进程
+        parallel: true, // 降低版本号后增加
+        terserOptions: {
+          ecma: undefined,
+          warnings: false,
+          parse: {},
+          compress: {
+            drop_console: true,
+            drop_debugger: true,
+            pure_funcs: ['console.log'] // 移除console
+          }
+        }
+      })
+    ],
+    optimization: {
+      minimize: true, // 确保最小化是开启的(默认在生产模式下是开启的)
+      minimizer: [
+        new TerserPlugin({
+          terserOptions: {
+            compress: {
+              warnings: false,
+              drop_console: true,
+              drop_debugger: true,
+              pure_funcs: ['console.log']
+            }
+          }
+        })
+      ]
+    }
+
   },
 
   chainWebpack(config) {
@@ -124,10 +164,7 @@ module.exports = {
     config.plugins.delete('preload')
     config.plugins.delete('prefetch')
     // 设置 svg-sprite-loader
-    config.module
-      .rule('svg')
-      .exclude.add(resolve('src/icons'))
-      .end()
+    config.module.rule('svg').exclude.add(resolve('src/icons')).end()
     config.module
       .rule('icons')
       .test(/\.svg$/)
@@ -155,45 +192,40 @@ module.exports = {
         config => config.devtool('cheap-source-map')
       )
 
-    config
-      .when(process.env.NODE_ENV !== 'development',
-        config => {
-          config
-            .plugin('ScriptExtHtmlWebpackPlugin')
-            .after('html')
-            .use('script-ext-html-webpack-plugin', [{
-              // `runtime`必须与runtimeChunk名称相同。默认值为“runtime”`
-              inline: /runtime\..*\.js$/
-            }])
-            .end()
-          // 分割代码
-          config
-            .optimization.splitChunks({
-              chunks: 'all',
-              cacheGroups: {
-                libs: {
-                  name: 'chunk-libs',
-                  test: /[\\/]node_modules[\\/]/,
-                  priority: 10,
-                  chunks: 'initial' // 仅打包最初依赖的第三方
-                },
-                elementUI: {
-                  name: 'chunk-elementUI', // 将elementUI拆分为一个包
-                  priority: 20, // 重量必须大于libs和app,否则将打包成libs或app
-                  test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // 为了适应cnpm
-                },
-                commons: {
-                  name: 'chunk-commons',
-                  test: resolve('src/components'), // 可以自定义规则
-                  minChunks: 3, //  最小公共数
-                  priority: 5,
-                  reuseExistingChunk: true
-                }
-              }
-            })
-          config.optimization.runtimeChunk('single')
-        }
-      )
+    config.when(process.env.NODE_ENV !== 'development',
+      config => {
+        config.plugin('ScriptExtHtmlWebpackPlugin').after('html').use('script-ext-html-webpack-plugin', [{
+          // `runtime`必须与runtimeChunk名称相同。默认值为“runtime”`
+          inline: /runtime\..*\.js$/
+        }]).end()
+        // 分割代码
+        config.optimization.splitChunks({
+          chunks: 'all',
+          cacheGroups: {
+            libs: {
+              name: 'chunk-libs',
+              test: /[\\/]node_modules[\\/]/,
+              priority: 10,
+              chunks: 'initial' // 仅打包最初依赖的第三方
+            },
+            elementUI: {
+              name: 'chunk-elementUI', // 将elementUI拆分为一个包
+              priority: 20, // 重量必须大于libs和app,否则将打包成libs或app
+              test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // 为了适应cnpm
+            },
+            commons: {
+              name: 'chunk-commons',
+              test: resolve('src/components'), // 可以自定义规则
+              minChunks: 3, //  最小公共数
+              priority: 5,
+              reuseExistingChunk: true
+            }
+          }
+        })
+        config.optimization.runtimeChunk('single')
+      }
+    )
   }
+
 }