From 9c1906a8056c0c88fdd116b60fbd17aa8a0cbb5c Mon Sep 17 00:00:00 2001
From: gaoluyang <gaoluyang@rengu.cc>
Date: 星期四, 18 七月 2024 16:32:25 +0800
Subject: [PATCH] 原始记录模板表格刷新当前页数不变

---
 src/components/do/b6-device-management/b6-data-acquisition-config.vue |  144 +++++++++++++++++++++++++++++++----------------
 1 files changed, 95 insertions(+), 49 deletions(-)

diff --git a/src/components/do/b6-device-management/b6-data-acquisition-config.vue b/src/components/do/b6-device-management/b6-data-acquisition-config.vue
index ed00775..0f5b5d3 100644
--- a/src/components/do/b6-device-management/b6-data-acquisition-config.vue
+++ b/src/components/do/b6-device-management/b6-data-acquisition-config.vue
@@ -14,7 +14,8 @@
       <el-table :data="tableList.slice((page.current - 1) * page.size, page.current * page.size)"
                 border tooltip-effect="dark" style="width: 100%;" height="100%">
         <el-table-column type="index" label="搴忓彿" align="center" width="65"></el-table-column>
-        <el-table-column prop="insProductItem" align="center" label="妫�楠岄」鐩�"></el-table-column>
+        <el-table-column prop="insProductItem" align="center" label="妫�楠岄」鐩�">
+        </el-table-column>
         <el-table-column prop="section" label="鎿嶄綔" width="120">
           <template slot-scope="scope">
             <el-button type="text" @click="dataConfig(scope.row)">鏁伴噰閰嶇疆</el-button>
@@ -29,10 +30,10 @@
       </el-pagination>
     </div>
     <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="920px" :before-close="closeForm">
-      <el-form :model="configForm" :rules="rules" label-position="top" size="small"
+      <el-form :model="configForm" label-position="top" size="small"
                ref="configForm" label-width="100px" class="demo-ruleForm">
-        <div class="fomItem1">
-          <el-form-item class="fomItemInput" label="妫�娴嬬殑鏂囦欢绫诲瀷:" prop="fileType">
+        <!-- <div class="fomItem1"> -->
+          <!-- <el-form-item class="fomItemInput" label="妫�娴嬬殑鏂囦欢绫诲瀷:" prop="fileType">
             <el-select v-model="configForm.fileType" placeholder="璇烽�夋嫨鏂囦欢绫诲瀷">
               <el-option v-for="item in fileTypeOptions"
                          :key="item.value"
@@ -45,22 +46,22 @@
           </el-form-item>
           <el-form-item class="fomItemInput" label="鍌ㄥ瓨鍦板潃:" prop="storageUrl">
             <el-input v-model="configForm.storageUrl"></el-input>
-          </el-form-item>
-        </div>
+          </el-form-item> -->
+        <!-- </div> -->
         <div class="fomItem1"
              v-for="(domain, index) in domains"
              :key="index">
-          <el-form-item class="fomItemInput" label="鍙傜収1:">
-            <el-input v-model="domain.refer1"></el-input>
-          </el-form-item>
-          <el-form-item class="fomItemInput" label="鍙傜収2:">
-            <el-input v-model="domain.refer2"></el-input>
+          <el-form-item class="fomItemInput" label="鍙傜収X:">
+            <el-input v-model="domain.referx"></el-input>
           </el-form-item>
           <el-form-item class="fomItemInput" label="X:">
-            <el-input v-model="domain.x"></el-input>
+            <el-input v-model="domain.x" onkeyup="value=value.replace(/[^-0-9]/g,'')"></el-input>
+          </el-form-item>
+          <el-form-item class="fomItemInput" label="鍙傜収Y:">
+            <el-input v-model="domain.refery"></el-input>
           </el-form-item>
           <el-form-item class="fomItemInput" label="Y:">
-            <el-input v-model="domain.y"></el-input>
+            <el-input v-model="domain.y" onkeyup="value=value.replace(/[^-0-9]/g,'')"></el-input>
           </el-form-item>
           <el-form-item>
             <el-button style="position: absolute; bottom: -65px" @click.prevent="removeDomain(domain)" size="small">鍒犻櫎</el-button>
@@ -70,11 +71,8 @@
           </el-form-item>
         </div>
         <div class="fomItem1">
-          <el-form-item class="fomItemInput" label="鍏紡:" prop="formula">
+          <el-form-item class="fomItemInput" label="鍏紡:">
             <el-input v-model="configForm.formula" @change="evalResult"></el-input>
-          </el-form-item>
-          <el-form-item class="fomItemInput" label="缁撴灉:" prop="result">
-            <el-input v-model="configForm.result" disabled></el-input>
           </el-form-item>
         </div>
       </el-form>
@@ -99,6 +97,12 @@
       default: () => []
     }
   },
+  mounted() {
+    this.tableList.forEach(i => {
+      let data = i.insProductItem.split(',')
+      i.insProductItem = data[data.length - 1]
+    })
+  },
   data() {
     // 杩欓噷瀛樻斁鏁版嵁
     return {
@@ -106,47 +110,54 @@
         current: 1,
         size: 20,
       },
-      rules: {
-        fileType: [{ required: true, message: '璇烽�夋嫨娲诲姩鍖哄煙', trigger: 'change' }],
-        collectUrl: [{ required: true, message: '璇峰~鍐欓噰闆嗗湴鍧�', trigger: 'blur' }],
-        storageUrl: [{ required: true, message: '璇峰~鍐欏偍瀛樺湴鍧�', trigger: 'blur' }],
-        formula: [{ required: true, message: '璇峰~鍐欏叕寮�', trigger: 'blur' }],
-      },
       dialogVisible3:false,
       configForm:{
-        fileType: '',
-        collectUrl: '',
-        storageUrl: '',
         formula: '',
       },
       domains: [
         {
-          refer1: '',
-          refer2: '',
+          referx: '',
+          refery: '',
           x: '',
           y: ''
         }
       ],
       upLoad3:false,
       fileTypeOptions: [
-        {label: 'csv', value: 'csv'},
-        {label: 'db', value: 'db'},
-        {label: 'mdb', value: 'mdb'},
-        {label: 'word', value: 'word'},
-        {label: 'excel', value: 'excel'},
-        {label: 'txt', value: 'txt'},
-        {label: 'pdf', value: 'pdf'},
+        {label: 'csv', value: '.csv'},
+        {label: 'db', value: '.db'},
+        {label: 'mdb', value: '.mdb'},
+        {label: 'word', value: '.docx'},
+        {label: 'excel', value: '.xlsx'},
+        {label: 'txt', value: '.txt'},
+        {label: 'png', value: '.png'},
       ]
     }
   },
   // 鏂规硶闆嗗悎
   methods: {
     dataConfig (row) {
-      this.configForm = {}
+      this.configForm = {
+        deviceId: row.deviceId,
+        insProductItem: row.insProductItem.trim()
+      }
       this.dialogVisible3 = true
-      // this.$axios.post(this.$api.deviceScope.getNumberCollect+'?id='+row.id).then(res => {
-      //   this.configForm = res.data
-      // })
+      this.$axios.get(this.$api.deviceScope.queryDataAcquisitionConfiguration + "?deviceId=" + row.deviceId + "&insProductItem=" + row.insProductItem.trim()).then(res => {
+        const data = res.data
+        if(data[0]) {
+          this.domains.splice(0, 1)
+          this.$set(this.configForm, 'formula', data[0].formula)
+          data.forEach(i => {
+            this.domains.push({
+              referx: i.referx,
+              refery: i.refery,
+              x: i.x,
+              y: i.y,
+              id: i.id
+            });
+          })
+        }
+      })
     },
     submitForm3() {
       this.$refs.configForm.validate((valid) => { // 琛ㄥ崟鏍¢獙
@@ -155,12 +166,35 @@
             const isEmpty = Object.values(item).every(val => val === '')
             if (isEmpty) {
               this.$message.error('璇峰~鍐欏弬鐓ф暟鎹�')
-            } else {
-              // 閫氳繃鏍¢獙
             }
           })
+          this.domains.forEach(i => {
+            if(i.x == '') {
+              i.x = null
+            }
+            if(i.y == '') {
+              i.y = null
+            }
+            i.formula = this.configForm.formula
+            i.deviceId = this.configForm.deviceId
+            i.insProductItem = this.configForm.insProductItem
+          })
+          this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration, {dataConfigList: this.domains},{headers: {
+            'Content-Type': 'application/json'
+          }}).then(res => {
+            this.dialogVisible3 = false
+            this.domains = [
+              {
+                referx: '',
+                refery: '',
+                x: '',
+                y: '',
+                id: ''
+              }
+            ]
+            this.$message.success('娣诲姞鎴愬姛')
+          })
         } else {
-          console.log('error submit!!');
           return false;
         }
       });
@@ -169,16 +203,27 @@
       // 鍒犻櫎鍏紡formItem
       const index = this.domains.indexOf(item)
       if (index !== -1 && this.domains.length > 1) {
-        this.domains.splice(index, 1)
+        if(item.id){
+            this.$axios.get(this.$api.deviceScope.deleteDataAcquisitionConfiguration + "?id=" + item.id).then(res => {
+            if(res.code == 200) {
+              this.domains.splice(index, 1)
+            }
+          })
+        } else {
+          this.domains.splice(index, 1)
+        }
+      } else {
+        this.$message.error('涓嶅厑璁稿垹闄ゆ渶鍚庝竴鏉℃暟鎹紒');
       }
     },
     addDomain() {
       // 娣诲姞鍏紡formItem
       this.domains.push({
-        refer1: '',
-        refer2: '',
+        referx: '',
+        refery: '',
         x: '',
-        y: ''
+        y: '',
+        id: ''
       });
     },
     evalResult () {
@@ -192,10 +237,11 @@
     },
     closeForm () {
       this.domains = [{
-        refer1: '',
-        refer2: '',
+        referx: '',
+        refery: '',
         x: '',
-        y: ''
+        y: '',
+        id: ''
       }]
       this.dialogVisible3 = false
       this.$refs.configForm.resetFields();

--
Gitblit v1.9.3