From ea2b6775c278d8990e858a309a966b82b36f4d40 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期六, 13 七月 2024 15:11:25 +0800 Subject: [PATCH] 设备数采配置提交 --- src/components/do/b6-device-management/b6-data-acquisition-config.vue | 135 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 103 insertions(+), 32 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 8a353ce..2c40656 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> @@ -28,7 +29,7 @@ :total="tableList.length"> </el-pagination> </div> - <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="920px" :before-close="submitForm3"> + <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible3" width="920px" :before-close="closeForm"> <el-form :model="configForm" :rules="rules" label-position="top" size="small" ref="configForm" label-width="100px" class="demo-ruleForm"> <div class="fomItem1"> @@ -49,17 +50,17 @@ </div> <div class="fomItem1" v-for="(domain, index) in domains" - :key="domain.refer1"> - <el-form-item class="fomItemInput" label="鍙傜収1:" :prop="'domain.' + index + '.refer1'" :rules="[{required: true, message: '璇峰~鍐�', trigger: 'blur'}]"> - <el-input v-model="domain.refer1"></el-input> + :key="index"> + <el-form-item class="fomItemInput" label="鍙傜収X:"> + <el-input v-model="domain.referx"></el-input> </el-form-item> - <el-form-item class="fomItemInput" label="鍙傜収2:" :rules="[{required: true, message: '璇峰~鍐�', trigger: 'blur'}]"> - <el-input v-model="domain.refer2"></el-input> + <el-form-item class="fomItemInput" label="鍙傜収Y:"> + <el-input v-model="domain.refery"></el-input> </el-form-item> - <el-form-item class="fomItemInput" label="X:" :rules="[{required: true, message: '璇峰~鍐�', trigger: 'blur'}]"> + <el-form-item class="fomItemInput" label="X:"> <el-input v-model="domain.x"></el-input> </el-form-item> - <el-form-item class="fomItemInput" label="Y:" :rules="[{required: true, message: '璇峰~鍐�', trigger: 'blur'}]"> + <el-form-item class="fomItemInput" label="Y:"> <el-input v-model="domain.y"></el-input> </el-form-item> <el-form-item> @@ -73,14 +74,11 @@ <el-form-item class="fomItemInput" label="鍏紡:" prop="formula"> <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> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="dialogVisible3=false">鍙� 娑�</el-button> + <el-button @click="closeForm">鍙� 娑�</el-button> <el-button type="primary" @click="submitForm3" :loading="upLoad3">纭� 瀹�</el-button> </el-row> </span> @@ -99,6 +97,12 @@ default: () => [] } }, + mounted() { + this.tableList.forEach(i => { + let data = i.insProductItem.split(',') + i.insProductItem = data[data.length - 1] + }) + }, data() { // 杩欓噷瀛樻斁鏁版嵁 return { @@ -115,42 +119,91 @@ 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, 'fileType', data[0].fileType) + this.$set(this.configForm, 'collectUrl', data[0].collectUrl) + this.$set(this.configForm, 'storageUrl', data[0].storageUrl) + 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) => { // 琛ㄥ崟鏍¢獙 if (valid) { - alert('submit!'); + this.domains.forEach(item => { + const isEmpty = Object.values(item).every(val => val === '') + if (isEmpty) { + this.$message.error('璇峰~鍐欏弬鐓ф暟鎹�') + } + }) + this.domains.forEach(i => { + i.fileType = this.configForm.fileType + i.collectUrl = this.configForm.collectUrl + i.storageUrl = this.configForm.storageUrl + i.formula = this.configForm.formula + i.deviceId = this.configForm.deviceId + i.insProductItem = this.configForm.insProductItem + }) + this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration, {dataConfigList: JSON.parse(JSON.stringify(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; } }); @@ -159,16 +212,23 @@ // 鍒犻櫎鍏紡formItem const index = this.domains.indexOf(item) if (index !== -1 && this.domains.length > 1) { - this.domains.splice(index, 1) + this.$axios.get(this.$api.deviceScope.deleteDataAcquisitionConfiguration + "?id=" + item.id).then(res => { + if(res.code == 200) { + this.domains.splice(index, 1) + } + }) + } else { + this.$message.error('涓嶅厑璁稿垹闄ゆ渶鍚庝竴鏉℃暟鎹紒'); } }, addDomain() { // 娣诲姞鍏紡formItem this.domains.push({ - refer1: '', - refer2: '', + referx: '', + refery: '', x: '', - y: '' + y: '', + id: '' }); }, evalResult () { @@ -180,6 +240,17 @@ currentChange(val) { this.page.current = val }, + closeForm () { + this.domains = [{ + referx: '', + refery: '', + x: '', + y: '', + id: '' + }] + this.dialogVisible3 = false + this.$refs.configForm.resetFields(); + } }, } </script> -- Gitblit v1.9.3