From ef9eb48046f8dfbb3c18b0f45befcbeddbdf6899 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期三, 29 五月 2024 03:56:23 +0800
Subject: [PATCH] 光纤配置数据回显和保存
---
src/components/view/a6-device-management.vue | 170 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 108 insertions(+), 62 deletions(-)
diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index 3485c11..24d2283 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -107,14 +107,14 @@
</div>
</el-image>
<!-- 琛ㄥ崟 -->
- <el-form :label-position="labelPosition" :model="formData" label-width="100px">
- <el-form-item label="浠櫒鍚嶇О:">
+ <el-form :label-position="labelPosition" :model="formData" label-width="120px">
+ <el-form-item label="浠櫒鍚嶇О:" required>
<el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="浠櫒鍚嶇ОEN:">
+ <el-form-item label="浠櫒鍚嶇ОEN:" required>
<el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿:">
+ <el-form-item label="瑙勬牸鍨嬪彿:" required>
<el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
</el-form-item>
<el-form-item label="鐢熶骇鍘傚:">
@@ -132,7 +132,7 @@
<el-form-item label="鍑哄巶缂栧彿:">
<el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
</el-form-item>
- <el-form-item label="绠$悊缂栧彿:">
+ <el-form-item label="绠$悊缂栧彿:" required>
<el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input>
</el-form-item>
<el-form-item label="璐疆鏃ユ湡:">
@@ -140,7 +140,7 @@
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item label="鍚敤鏃ユ湡:">
+ <el-form-item label="鍚敤鏃ユ湡:" required>
<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
@@ -185,12 +185,12 @@
filterable
clearable></el-cascader>
</el-form-item>
- <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
+ <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:" v-if="isUp">
<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
+ <el-form-item label="涓嬫鏍″噯鏃ユ湡:" v-if="isUp">
<el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
@@ -205,13 +205,13 @@
<el-form-item label="鍗曚环(涓囧厓):">
<el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input>
</el-form-item>
- <el-form-item label="褰撳墠鐘舵��:">
+ <el-form-item label="褰撳墠鐘舵��:" required>
<el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
<el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:">
+ <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
<el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input>
</el-form-item>
<el-form-item label="鍥剧墖:">
@@ -258,14 +258,14 @@
</div>
</el-image>
<!-- 琛ㄥ崟 -->
- <el-form :label-position="labelPosition" :model="formData2" label-width="100px">
- <el-form-item label="浠櫒鍚嶇О:">
+ <el-form :label-position="labelPosition" :model="formData2" label-width="120px">
+ <el-form-item label="浠櫒鍚嶇О:" required>
<el-input v-model="formData2.deviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="浠櫒鍚嶇ОEN:">
+ <el-form-item label="浠櫒鍚嶇ОEN:" required>
<el-input v-model="formData2.enDeviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿:">
+ <el-form-item label="瑙勬牸鍨嬪彿:" required>
<el-input v-model="formData2.specificationModel" size="small"></el-input>
</el-form-item>
<el-form-item label="鐢熶骇鍘傚:">
@@ -286,7 +286,7 @@
<el-form-item label="鍑哄巶缂栧彿:">
<el-input v-model="formData2.factoryNo" size="small"></el-input>
</el-form-item>
- <el-form-item label="绠$悊缂栧彿:">
+ <el-form-item label="绠$悊缂栧彿:" required>
<el-input v-model="formData2.managementNumber" size="small"></el-input>
</el-form-item>
<el-form-item label="璐疆鏃ユ湡:">
@@ -294,7 +294,7 @@
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
- <el-form-item label="鍚敤鏃ユ湡:">
+ <el-form-item label="鍚敤鏃ユ湡:" required>
<el-date-picker style="width:100%" v-model="formData2.activationDate" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
@@ -327,7 +327,7 @@
</el-form-item>
<el-form-item label="妫�娴嬮」鐩�:">
<el-cascader
- v-model="formData.insProductIds"
+ v-model="formData2.insProductIds"
:options="options"
:show-all-levels="false"
:props="props"
@@ -335,18 +335,9 @@
style="width:100%"
collapse-tags
separator=","
+ filterable
clearable></el-cascader>
</el-form-item>
- <!-- <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:">
- <el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="涓嬫鏍″噯鏃ユ湡:">
- <el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item> -->
<el-form-item label="璁惧绫诲瀷:">
<el-select v-model="formData2.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%">
<el-option v-for="item in equipmentList" :key="item.value" :label="item.label"
@@ -357,13 +348,13 @@
<el-form-item label="鍗曚环(涓囧厓):">
<el-input v-model="formData2.unitPrice" size="small"></el-input>
</el-form-item>
- <el-form-item label="褰撳墠鐘舵��:">
+ <el-form-item label="褰撳墠鐘舵��:" required>
<el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%">
- <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
+ <el-option v-for="item in deviceStatusList" :key="item.id" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:">
+ <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:" required>
<el-input v-model="formData2.calibrationDate" size="small"></el-input>
</el-form-item>
<el-form-item label="鍥剧墖:">
@@ -400,13 +391,14 @@
return {
//鏄惁鏄。妗堜慨璁� true涓嶆槸 false鏄�
isUp: true,
- formData: {},
+ formData: {
+ },
formData2: {
imageUpload: '',
imageName: ''
},
value: '',
- props: { multiple: true,emitPath:false,value:'id',label:'name' },
+ props: { multiple: true,emitPath:false,value:'id',label:'name' },
options: [],
labelPosition: 'right',
dialogVisible: false,
@@ -439,23 +431,7 @@
}],
tagField: {
deviceStatus: {
- select: [{
- value: 0,
- type: 'success',
- label: '鑹ソ'
- }, {
- value: 1,
- type: 'info',
- label: '鎶ュ簾'
- }, {
- value: 2,
- type: 'danger',
- label: '鍋滅敤'
- }, {
- value: 3,
- type: 'danger',
- label: '瀛樼枒'
- }]
+ select: []
},
equipmentManager: {
select: []
@@ -523,7 +499,7 @@
this.selectEnumByCategory()
this.selectDevicePrincipal()
this.obtainItemParameterList()
- this.getInsProductIds()
+ this.getInsProductIds()
},
methods: {
obtainItemParameterList() {
@@ -576,6 +552,12 @@
category: "璁惧鐘舵��"
}).then(res => {
this.deviceStatusList = res.data
+ this.deviceStatusList.forEach(a=>{
+ if(!isNaN(a.value)){
+ a.value = parseInt(a.value)
+ }
+ })
+ this.componentData.tagField.deviceStatus.select = res.data
})
this.$axios.post(this.$api.enums.selectEnumByCategory, {
category: "璁惧鍒嗙被"
@@ -604,7 +586,7 @@
this.componentData.tagField.insProductIds.select = []
this.componentData.selectField.insProductIds.select = []
this.options = res.data.map((m,i)=>{
- m.id = i;
+ m.id = m.name;
let children = m.children.map(n=>{
n.label = n.name;
n.value = n.id;
@@ -617,10 +599,20 @@
})
},
handleClose() {
+ this.formData = {}
+ this.formData2 = {
+ imageUpload: '',
+ imageName: ''
+ }
this.dialogVisible = false;
this.upLoad = false;
},
handleClose2() {
+ this.formData = {}
+ this.formData2 = {
+ imageUpload: '',
+ imageName: ''
+ }
this.dialogVisible2 = false;
this.upLoad = false;
},
@@ -641,6 +633,9 @@
//row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽��
//澶嶅埗缁檉ormData
this.formData = this.HaveJson(row);
+ if(typeof(row.insProductIds)==='number'){
+ row.insProductIds = row.insProductIds+''
+ }
this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : [];
},
beforeUpload(file) {
@@ -672,14 +667,40 @@
}
},
submitForm() {
- this.upLoad = true;
- // let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : ''
- // delete this.formData.createTime
- // delete this.formData.updateTime
- // delete this.formData.createUser
- // delete this.formData.updateUser
- // this.formData.authorizedPerson = authorizedPerson
+ if(!this.formData.deviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+ return
+ }
+ if(!this.formData.enDeviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+ return
+ }
+ if(!this.formData.specificationModel){
+ this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+ return
+ }
+ if(!this.formData.managementNumber){
+ this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+ return
+ }
+ if(!this.formData.activationDate){
+ this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+ return
+ }
+ if(this.formData.deviceStatus==='' || this.formData.deviceStatus===null){
+ this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+ return
+ }
+ if(!this.formData.calibrationDate){
+ this.$message.error('鏈緭鍏ユ牎鍑嗗懆鏈燂紙鏈堬級')
+ return
+ }
+ delete this.formData.createTime
+ delete this.formData.updateTime
+ delete this.formData.createUser
+ delete this.formData.updateUser
this.formData.insProductIds = this.formData.insProductIds.join()
+ this.upLoad = true;
this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
headers: {
'Content-Type': 'application/json'
@@ -700,11 +721,36 @@
})
},
submitForm2() {
+ if(!this.formData2.deviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
+ return
+ }
+ if(!this.formData2.enDeviceName){
+ this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
+ return
+ }
+ if(!this.formData2.specificationModel){
+ this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
+ return
+ }
+ if(!this.formData2.managementNumber){
+ this.$message.error('鏈緭鍏ョ鐞嗙紪鍙�')
+ return
+ }
+ if(!this.formData2.activationDate){
+ this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
+ return
+ }
+ if(!this.formData2.deviceStatus){
+ this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
+ return
+ }
+ if(!this.formData2.calibrationDate){
+ this.$message.error('杈撳叆鏍″噯鍛ㄦ湡锛堟湀锛�')
+ return
+ }
this.upLoad2 = true;
- // let authorizedPerson = this.formData2.authorizedPerson.length > 0 ? this.formData2.authorizedPerson.join(',') :
- // ''
- // this.formData2.authorizedPerson = authorizedPerson
- this.formData.insProductIds = this.formData.insProductIds.join()
+ this.formData2.insProductIds = this.formData2.insProductIds.join()
this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, {
headers: {
'Content-Type': 'application/json'
--
Gitblit v1.9.3