From 91d4dbb579831da006e57643770e42d7dc184d05 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期四, 25 四月 2024 17:36:15 +0800 Subject: [PATCH] 2024-4-25 资源要求-设备管理前端调整 --- src/components/view/a6-device-management.vue | 342 +++++++++++++++++++++++++++------------------------------ 1 files changed, 162 insertions(+), 180 deletions(-) diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue index bec5b90..dba3847 100644 --- a/src/components/view/a6-device-management.vue +++ b/src/components/view/a6-device-management.vue @@ -116,131 +116,121 @@ </div> </el-image> <!-- 琛ㄥ崟 --> - <el-form :label-position="labelPosition" :model="formData" label-width="90px"> - <el-form-item label="鍑哄巶鏃ユ湡:"> - <el-date-picker style="width:100%" :disabled="isUp" v-model="formData.dateProduction" type="datetime" - size="small" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡"> - </el-date-picker> - </el-form-item> - <el-form-item label="璁惧璐熻矗浜�:"> - <el-select :disabled="isUp" v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" - style="width:100%"> - <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="琚巿鏉冧汉:"> - <el-select :disabled="isUp" v-model="formData.authorizedPerson" size="small" multiple placeholder="璇烽�夋嫨" - style="width:100%"> - <el-option v-for="item in authorizerList" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妫�楠岄」鐩�:"> - <el-cascader - v-model="formData.insProductIds" - :options="options" - :show-all-levels="false" - :props="props" - placeholder="璇烽�夋嫨" size="small" - style="width:100%" - collapse-tags - separator="," - clearable></el-cascader> - </el-form-item> - </el-form> - </el-col> - </el-col> - <!-- 涓棿甯冨眬 --> - <el-col :span="7"> - <el-form :label-position="labelPosition" :model="formData" label-width="116px"> - <el-form-item label="璁惧鍚嶇О:"> + <el-form :label-position="labelPosition" :model="formData" label-width="100px"> + <el-form-item label="浠櫒鍚嶇О:"> <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input> - </el-form-item> - <el-form-item label="鍐呴儴缂栫爜:"> - <el-input :disabled="isUp" v-model="formData.internalCode" size="small"></el-input> - </el-form-item> - <el-form-item label="璧勪骇缂栫爜:"> - <el-input :disabled="isUp" v-model="formData.assetCode" size="small"></el-input> - </el-form-item> - <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:"> - <el-date-picker :disabled="isUp" v-model="formData.calibrationDate" type="month" size="small" - format="yyyy-MM" value-format="yyyy-MM" style="width:100%" placeholder="閫夋嫨鏈�"> - </el-date-picker> - </el-form-item> - <el-form-item label="鎶ュ簾鏃堕棿:"> - <el-date-picker style="width:100%" :disabled="isUp" v-model="formData.scrapTime" type="datetime" - format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃堕棿"> - </el-date-picker> - </el-form-item> - <el-form-item label="楠屾敹璁板綍:"> - <el-input :disabled="isUp" v-model="formData.acceptanceRecords" size="small"></el-input> - </el-form-item> - <el-form-item label="璁惧缂栫爜:"> + </el-form-item> + <el-form-item label="浠櫒鍚嶇ОEN:"> + <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="瑙勬牸鍨嬪彿:"> + <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input> + </el-form-item> + <el-form-item label="鐢熶骇鍘傚:"> + <el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input> + </el-form-item> + </el-form> + </el-col> + </el-col> + <!-- 涓棿甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData" label-width="116px"> + <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:"> + <el-input :disabled="isUp" v-model="formData.calibrationServices" size="small"></el-input> + </el-form-item> + <el-form-item label="鍑哄巶缂栧彿:"> <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input> - </el-form-item> - <el-form-item label="璐疆鏃ユ湡:"> - <el-date-picker style="width:100%" :disabled="isUp" v-model="formData.acquisitionDate" type="datetime" - size="small" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡"> - </el-date-picker> - </el-form-item> - <el-form-item label="鍑嗙‘搴﹂噺鍊�:"> - <el-input :disabled="isUp" v-model="formData.accurateMeasurement" size="small"></el-input> - </el-form-item> - <el-form-item label="澶囨敞:"> - <el-input :disabled="isUp" v-model="formData.notes" size="small"></el-input> - </el-form-item> + </el-form-item> + <el-form-item label="绠$悊缂栧彿:"> + <el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input> + </el-form-item> + <el-form-item label="璐疆鏃ユ湡:"> + <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date" + 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-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> + </el-form-item> + <el-form-item label="绠$悊浜�:"> + <el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option :disabled="isUp" v-for="item in responsiblePersonList" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="瀛樻斁鐐�:"> + <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鎶�鏈寚鏍�:"> + <el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea" size="small"></el-input> + </el-form-item> </el-form> </el-col> <!-- 鍙宠竟甯冨眬 --> <el-col :span="7"> - <el-form :label-position="labelPosition" :model="formData" label-width="110px" ref="ruleForm"> - <el-form-item label="瑙勬牸鍨嬪彿:"> - <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input> + <el-form :label-position="labelPosition" :model="formData" label-width="120px" ref="ruleForm"> + <!-- 瀹為獙瀹ゅ垪琛� --> + <el-form-item label="鎵�灞為儴闂�:"> + <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="妫�娴嬮」鐩�:"> + <el-cascader + :disabled="isUp" + v-model="formData.insProductIds" + :options="options" + :show-all-levels="false" + :props="props" + placeholder="璇烽�夋嫨" size="small" + style="width:100%;" + :collapse-tags="!isUp" + separator="," + filterable + clearable></el-cascader> + </el-form-item> + <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:"> + <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-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small" - style="width:100%"> + <el-form-item label="涓嬫鏍″噯鏃ユ湡:"> + <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-select :disabled="isUp" v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍗曚环(涓囧厓):"> + <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input> + </el-form-item> + <el-form-item label="褰撳墠鐘舵��:"> + <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-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> - </el-form-item> - <el-form-item label="鏈�杩戣拷婧棩鏈�:"> - <el-date-picker style="width:100%" :disabled="isUp" v-model="formData.latestTraceability" - format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" size="small" - placeholder="閫夋嫨鏃ユ湡"> - </el-date-picker> - </el-form-item> - <el-form-item label="鍋滅敤鏃堕棿:"> - <el-date-picker style="width:100%" :disabled="isUp" format="yyyy-MM-dd HH:mm:ss" - value-format="yyyy-MM-dd HH:mm:ss" v-model="formData.downTime" type="datetime" size="small" - placeholder="閫夋嫨鏃堕棿"> - </el-date-picker> - </el-form-item> - <el-form-item label="缁翠慨璁板綍:"> - <el-input :disabled="isUp" v-model="formData.maintenanceRecords" size="small"></el-input> - </el-form-item> - <el-form-item label="鐢熶骇鍘傚:"> - <el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input> - </el-form-item> - <el-form-item label="閲囪喘璐圭敤:"> - <el-input :disabled="isUp" v-model="formData.procurementCosts" size="small"></el-input> - </el-form-item> - <el-form-item label="鏍″噯璇佷功:"> - <el-input :disabled="isUp" v-model="formData.calibrationCerticate" size="small"></el-input> - </el-form-item> - <el-form-item v-if="!isUp" label="鍥剧墖:"> + <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:"> + <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input> + </el-form-item> + <el-form-item label="鍥剧墖:"> <div style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;"> <div v-show="formData.imageName" class="picName">{{formData.imageName}}</div> - <el-upload :action="action" :on-success="handleSuccessUpImg" :show-file-list="false" + <el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false" accept='image/jpg,image/jpeg,image/png' :headers="headers" :on-change="beforeUpload" :on-error="onError" ref='upload'> - <el-button type="text" style="height:30px;paddingTop:8px">涓婁紶</el-button> + <el-button type="text" style="height:30px;padding-top:8px">涓婁紶</el-button> </el-upload> </div> </el-form-item> @@ -282,67 +272,40 @@ <el-input v-model="formData2.deviceName" size="small"></el-input> </el-form-item> <el-form-item label="浠櫒鍚嶇ОEN:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-input v-model="formData2.enDeviceName" size="small"></el-input> </el-form-item> <el-form-item label="瑙勬牸鍨嬪彿:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-input v-model="formData2.specificationModel" size="small"></el-input> </el-form-item> <el-form-item label="鐢熶骇鍘傚:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-input v-model="formData2.manufacturer" size="small"></el-input> </el-form-item> - <!-- <el-form-item label="璁惧璐熻矗浜�:"> - <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> - <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="琚巿鏉冧汉:"> - <el-select v-model="formData2.authorizedPerson" size="small" multiple placeholder="璇烽�夋嫨" - style="width:100%"> - <el-option v-for="item in authorizerList" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妫�楠岄」鐩�:"> - <el-cascader - v-model="formData.insProductIds" - :options="options" - :show-all-levels="false" - :props="props" - placeholder="璇烽�夋嫨" size="small" - style="width:100%" - collapse-tags - separator="," - clearable></el-cascader> - </el-form-item> - --> </el-form> </el-col> </el-col> <!-- 涓棿甯冨眬 --> <el-col :span="7"> <el-form :label-position="labelPosition" :model="formData2" label-width="110px"> - <el-form-item label="鐢熶骇鍘傚EN:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <!-- <el-form-item label="鐢熶骇鍘傚EN:"> + <el-input v-model="formData2.factoryNo" size="small"></el-input> + </el-form-item> --> + <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:"> + <el-input v-model="formData2.calibrationServices" size="small"></el-input> </el-form-item> <el-form-item label="鍑哄巶缂栧彿:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-input v-model="formData2.factoryNo" size="small"></el-input> </el-form-item> <el-form-item label="绠$悊缂栧彿:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> - </el-form-item> - <el-form-item label="鎶�鏈寚鏍�:"> - <el-input v-model="formData2.deviceName" :rows="7" type="textarea" size="small"></el-input> + <el-input v-model="formData2.managementNumber" size="small"></el-input> </el-form-item> <el-form-item label="璐疆鏃ユ湡:"> - <el-date-picker style="width:100%" v-model="formData2.scrapTime" type="date" - format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡"> + <el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date" + 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-date-picker style="width:100%" v-model="formData2.scrapTime" type="date" - format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small" placeholder="閫夋嫨鏃ユ湡"> + <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> </el-form-item> <el-form-item label="绠$悊浜�:"> @@ -352,8 +315,11 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="鍦板潃:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-form-item label="瀛樻斁鐐�:"> + <el-input v-model="formData2.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鎶�鏈寚鏍�:"> + <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" size="small"></el-input> </el-form-item> </el-form> </el-col> @@ -362,8 +328,8 @@ <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm"> <!-- 瀹為獙瀹ゅ垪琛� --> <el-form-item label="鎵�灞為儴闂�:"> - <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> - <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" + <el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -380,10 +346,7 @@ separator="," clearable></el-cascader> </el-form-item> - <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> - </el-form-item> - <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:"> + <!-- <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> @@ -392,16 +355,16 @@ <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> --> <el-form-item label="璁惧绫诲瀷:"> - <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <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" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="鍗曚环(涓囧厓):"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-input v-model="formData2.unitPrice" size="small"></el-input> </el-form-item> <el-form-item label="褰撳墠鐘舵��:"> <el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%"> @@ -410,7 +373,7 @@ </el-select> </el-form-item> <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:"> - <el-input v-model="formData2.deviceName" size="small"></el-input> + <el-input v-model="formData2.calibrationDate" size="small"></el-input> </el-form-item> <el-form-item label="鍥剧墖:"> <div @@ -456,7 +419,7 @@ options: [], labelPosition: 'right', dialogVisible: false, - dialogVisible2: true, + dialogVisible2: false, addPower: false, componentData: { entity: { @@ -466,7 +429,7 @@ largeCategory: null, orderBy: { field: 'id', - order: 'asc' + order: 'desc' } }, isIndex: true, @@ -488,15 +451,19 @@ select: [{ value: 0, type: 'success', - label: '姝e父' + label: '鑹ソ' }, { value: 1, - type: 'warning', + type: 'info', label: '鎶ュ簾' }, { value: 2, type: 'danger', - label: '淇濅慨' + label: '鍋滅敤' + }, { + value: 3, + type: 'danger', + label: '瀛樼枒' }] }, equipmentManager: { @@ -542,6 +509,8 @@ authorizerList: [], // 褰撳墠鐘舵�佸垪琛� deviceStatusList: [], + // 鎵�灞為儴闂� + subordinateDepartmentsList: [], upLoad: false, upLoad2: false, } @@ -562,9 +531,22 @@ // this.getAuthorizedPerson() this.selectEnumByCategory() this.selectDevicePrincipal() + this.obtainItemParameterList() this.getInsProductIds() }, methods: { + obtainItemParameterList() { + this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { + let data = [] + res.data.forEach(a=>{ + data.push({ + label: a.laboratoryName, + value: a.id + }) + }) + this.subordinateDepartmentsList = data + }) + }, refreshTable() { this.$refs['ValueTable'].selectList() }, @@ -658,7 +640,7 @@ //row = 鐐瑰嚮瀵瑰簲琛屽�� //澶嶅埗缁檉ormData this.formData = this.HaveJson(row); - this.formData.authorizedPerson = row.authorizedPerson ? row.authorizedPerson.split(',') : []; + this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : []; }, isUpdate(row) { //淇敼 isUp 涓烘。妗堜慨鏀� @@ -668,7 +650,7 @@ //row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽�� //澶嶅埗缁檉ormData this.formData = this.HaveJson(row); - this.formData.authorizedPerson = row.authorizedPerson ? row.authorizedPerson.split(',') : []; + this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : []; }, beforeUpload(file) { if (file.size > 1024 * 1024 * 10) { @@ -700,13 +682,13 @@ }, 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 - this.formData.insProductIds = JSON.stringify(this.formData.insProductIds) + // 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 + this.formData.insProductIds = this.formData.insProductIds.join() this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, { headers: { 'Content-Type': 'application/json' @@ -728,10 +710,10 @@ }, submitForm2() { this.upLoad2 = true; - let authorizedPerson = this.formData2.authorizedPerson.length > 0 ? this.formData2.authorizedPerson.join(',') : - '' - this.formData2.authorizedPerson = authorizedPerson - this.formData.insProductIds = JSON.stringify(this.formData.insProductIds) + // let authorizedPerson = this.formData2.authorizedPerson.length > 0 ? this.formData2.authorizedPerson.join(',') : + // '' + // this.formData2.authorizedPerson = authorizedPerson + this.formData.insProductIds = this.formData.insProductIds.join() this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, { headers: { 'Content-Type': 'application/json' -- Gitblit v1.9.3