From 35be1338289feb3004f4d78f5a2d42e8b879954d Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 22 七月 2024 18:17:28 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master
---
src/components/do/b6-device-management/b6-data-acquisition-config.vue | 256 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 206 insertions(+), 50 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 2be21b1..7ffe061 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
@@ -4,6 +4,7 @@
<el-row class="title">
<el-col :span="6" style="padding-left: 20px;text-align: left;">鏁伴噰閰嶇疆</el-col>
<el-col :span="18" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="fileConfiguration">鏂囦欢閰嶇疆</el-button>
<el-button size="medium" @click="$parent.closeDataVue()">
<span style="color: #3A7BFA;">杩斿洖</span>
</el-button>
@@ -14,7 +15,18 @@
<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="deviceName" align="center" min-width="100" label="璁惧鍚嶇О"></el-table-column>
+ <el-table-column prop="fileType" align="center" label="鏂囦欢鍚庣紑"></el-table-column>
+ <el-table-column prop="collectUrl" align="center" min-width="100" show-overflow-tooltip label="閲囬泦鍦板潃"></el-table-column>
+ <el-table-column prop="storageUrl" align="center" min-width="100" show-overflow-tooltip label="瀛樺偍鍦板潃"></el-table-column>
+ <el-table-column prop="ip" align="center" label="IP鍦板潃"></el-table-column>
+ <el-table-column prop="inspectionItem" align="center" label="妫�楠岄」" min-width="100"></el-table-column>
+ <el-table-column prop="inspectionItemSubClass" align="center" label="妫�楠岄」瀛愰」" min-width="100"></el-table-column>
+ <el-table-column prop="referx" align="center" label="鍙傜収X"></el-table-column>
+ <el-table-column prop="x" align="center" label="X"></el-table-column>
+ <el-table-column prop="refery" align="center" label="鍙傜収Y"></el-table-column>
+ <el-table-column prop="y" align="center" label="Y"></el-table-column>
+ <el-table-column prop="formula" 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 +41,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 +57,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="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="X:">
+ <el-input v-model="domain.x" onkeyup="value=value.replace(/[^-0-9]/g,'')"></el-input>
</el-form-item>
- <el-form-item class="fomItemInput" label="X:" :rules="[{required: true, message: '璇峰~鍐�', trigger: 'blur'}]">
- <el-input v-model="domain.x"></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="Y:" :rules="[{required: true, message: '璇峰~鍐�', trigger: 'blur'}]">
- <el-input v-model="domain.y"></el-input>
+ <el-form-item class="fomItemInput" label="Y:">
+ <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 +82,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>
@@ -82,6 +91,40 @@
<el-row>
<el-button @click="closeForm">鍙� 娑�</el-button>
<el-button type="primary" @click="submitForm3" :loading="upLoad3">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog title="鏁伴噰閰嶇疆" :visible.sync="dialogVisible4" width="400px">
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.ip"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>閲囬泦鍦板潃锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.collectUrl"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label">鍌ㄥ瓨鍦板潃锛�</div>
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable
+ v-model="configForm.storageUrl"></el-input>
+ </div>
+ <div class="search_thing" style="margin-bottom: 14px;">
+ <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鏂囦欢鍚庣紑锛�</div>
+ <el-select v-model="configForm.fileType" size="small" placeholder="璇烽�夋嫨" style="width: 100%;">
+ <el-option
+ v-for="item in fileTypeOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="dialogVisible4=false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm4" :loading="upLoad4">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
@@ -94,63 +137,153 @@
// import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
components: {},
props: {
- tableList: {
- type: Array,
+ deviceId: {
+ type: Number,
default: () => []
}
+ },
+ mounted() {
+ this.init()
},
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
+ dialogVisible4: false,
+ tableList: [],
page: {
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: '',
+ formula: '',
},
domains: [
{
- refer1: '',
- refer2: '',
+ referx: '',
+ refery: '',
x: '',
y: ''
}
],
upLoad3:false,
+ upLoad4: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: {
+ fileConfiguration() {
+ this.dialogVisible4 = true
+ if(this.tableList[0]) {
+ this.$set(this.configForm, 'fileType', this.tableList[0].fileType)
+ this.$set(this.configForm, 'collectUrl', this.tableList[0].collectUrl)
+ this.$set(this.configForm, 'storageUrl', this.tableList[0].storageUrl)
+ this.$set(this.configForm, 'ip', this.tableList[0].ip)
+ }
+ },
+ init() {
+ this.tableList = []
+ this.$axios.get(this.$api.deviceScope.queryDataAcquisitionConfiguration + "?deviceId=" + this.deviceId + "&isDevice=" + false).then(res => {
+ this.tableList = res.data
+ if(this.tableList[0]) {
+ this.$set(this.configForm, 'fileType', this.tableList[0].fileType)
+ this.$set(this.configForm, 'collectUrl', this.tableList[0].collectUrl)
+ this.$set(this.configForm, 'storageUrl', this.tableList[0].storageUrl)
+ this.$set(this.configForm, 'ip', this.tableList[0].ip)
+ }
+ })
+ },
+ submitForm4() {
+ const obj = Object.assign({
+ deviceId: this.deviceId,
+ fileType: this.configForm.fileType,
+ collectUrl: this.configForm.collectUrl,
+ storageUrl: this.configForm.storageUrl,
+ ip: this.configForm.ip,
+ isDevice: true
+ })
+ this.upLoad4 = true
+ this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration + "?deviceId=" + this.deviceId, obj, {headers: {
+ 'Content-Type': 'application/json'
+ }}).then(res => {
+ this.tableList = res.data
+ this.dialogVisible4 = false
+ this.upLoad4 = false
+ this.init()
+ this.$message.success('鎿嶄綔鎴愬姛')
+ }).catch(err => {
+ this.upLoad4 = false
+ })
+ },
dataConfig (row) {
- this.configForm = {}
+ this.configForm = {
+ deviceId: row.deviceId,
+ insProductItem: row.inspectionItemSubClass.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=" + this.deviceId + "&insProductItem=" + row.inspectionItemSubClass.trim() + "&isDevice=" + true).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) => { // 琛ㄥ崟鏍¢獙
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 => {
+ if(i.x == '') {
+ i.x = null
+ }
+ if(i.y == '') {
+ i.y = null
+ }
+ i.formula = this.configForm.formula
+ i.deviceId = this.deviceId
+ i.insProductItem = this.configForm.insProductItem
+ })
+ this.$axios.post(this.$api.deviceScope.saveDataAcquisitionConfiguration + "?deviceId=" + this.deviceId, {dataConfigList: this.domains, isDevice: false},{headers: {
+ 'Content-Type': 'application/json'
+ }}).then(res => {
+ this.dialogVisible3 = false
+ this.domains = [
+ {
+ referx: '',
+ refery: '',
+ x: '',
+ y: '',
+ id: ''
+ }
+ ]
+ this.init()
+ this.$message.success('娣诲姞鎴愬姛')
+ })
} else {
- console.log('error submit!!');
return false;
}
});
@@ -159,16 +292,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.delete(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 () {
@@ -182,10 +326,11 @@
},
closeForm () {
this.domains = [{
- refer1: '',
- refer2: '',
+ referx: '',
+ refery: '',
x: '',
- y: ''
+ y: '',
+ id: ''
}]
this.dialogVisible3 = false
this.$refs.configForm.resetFields();
@@ -195,6 +340,17 @@
</script>
<style scoped>
+.search_thing {
+ width: 350px;
+ display: flex;
+ align-items: center;
+ }
+ .search_label {
+ width: 110px;
+
+ font-size: 14px;
+ text-align: right;
+ }
.data-acquisition-config {
width: 100%;
height: 100%;
--
Gitblit v1.9.3