From 3ef19c59f59bb1b5a43434b8d14ec12e06d505b0 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 19 三月 2024 13:07:19 +0800 Subject: [PATCH] 检验下单-下发功能更新 --- src/components/view/a6-device-management.vue | 290 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 276 insertions(+), 14 deletions(-) diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue index 9b41352..3e3fd6a 100644 --- a/src/components/view/a6-device-management.vue +++ b/src/components/view/a6-device-management.vue @@ -93,6 +93,9 @@ <div class="search_thing" style="padding-left: 30px;"> <el-button size="small" @click="refresh()">閲� 缃�</el-button> <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button> + </el-col> </div> </div> <div class="table"> @@ -146,7 +149,7 @@ </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-select :disabled="isUp" v-model="formData.getDeviceManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> <el-option v-for="item in responsiblePersonList" :key="item.value" @@ -157,7 +160,7 @@ </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-select :disabled="isUp" v-model="formData.getDeviceManager" size="small" multiple placeholder="璇烽�夋嫨" style="width:100%"> <el-option v-for="item in authorizerList" :key="item.value" @@ -314,6 +317,219 @@ </el-row> </span> </el-dialog> + + + +<!-- 鏂板--> + <el-dialog + title="鏂板璁惧" + :visible.sync="dialogVisible2" + width="70%" + :before-close="handleClose2"> + <el-row style="display:flex;justify-content: space-around;"> + <!-- 宸﹁竟甯冨眬 --> + <el-col :span="7" > + <el-col> + <!-- 鍥剧墖 --> + <el-image class="img" style="width:100%;height: 320px;margin-bottom:16px" :src="javaApi+'/img/'+formData2.imageUpload"> + <div slot="error" class="image-error" style="width: calc(100% -2px); + height: 318px; + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; + border: 1px solid #EEEEEE;"> + <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i> + </div> + </el-image> + <!-- 琛ㄥ崟 --> + <el-form :label-position="labelPosition" :model="formData2" label-width="90px"> + <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" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍑哄巶鏃ユ湡:"> + <el-date-picker + style="width:100%" + v-model="formData2.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 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> + </el-col> + </el-col> + <!-- 涓棿甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData2" label-width="116px"> + <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.internalCode" size="small"></el-input> + </el-form-item> + <el-form-item label="璧勪骇缂栫爜:" > + <el-input v-model="formData2.assetCode" size="small"></el-input> + </el-form-item> + <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:" > + <el-date-picker + v-model="formData2.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%" + v-model="formData2.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 v-model="formData2.acceptanceRecords" size="small"></el-input> + </el-form-item> + <el-form-item label="鍑哄巶缂栧彿:" > + <el-input v-model="formData2.factoryNo" size="small"></el-input> + </el-form-item> + <el-form-item label="璐疆鏃ユ湡:" > + <el-date-picker + style="width:100%" + v-model="formData2.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 v-model="formData2.accurateMeasurement" size="small"></el-input> + </el-form-item> + <el-form-item label="澶囨敞:" > + <el-input v-model="formData2.notes" size="small"></el-input> + </el-form-item> + </el-form> + </el-col> + <!-- 鍙宠竟甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData2" label-width="110px" ref="ruleForm"> + <el-form-item label="瑙勬牸鍨嬪彿:" > + <el-input v-model="formData2.specificationModel" size="small"></el-input> + </el-form-item> + <el-form-item label="璁惧鐘舵��:"> + <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> + </el-select> + </el-form-item> + <el-form-item label="瀛樻斁鐐�:" > + <el-input v-model="formData2.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鏈�杩戣拷婧棩鏈�:" > + <el-date-picker + style="width:100%" + v-model="formData2.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%" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + v-model="formData2.downTime" + type="datetime" + size="small" + placeholder="閫夋嫨鏃堕棿"> + </el-date-picker> + </el-form-item> + <el-form-item label="缁翠慨璁板綍:" > + <el-input v-model="formData2.maintenanceRecords" size="small"></el-input> + </el-form-item> + <el-form-item label="鐢熶骇鍘傚:" > + <el-input v-model="formData2.manufacturer" size="small" ></el-input> + </el-form-item> + <el-form-item label="閲囪喘璐圭敤:" > + <el-input v-model="formData2.procurementCosts" size="small"></el-input> + </el-form-item> + <el-form-item label="鏍″噯璇佷功:" > + <el-input v-model="formData2.calibrationCerticate" 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="formData2.imageName" class="picName">{{formData2.imageName}}</div> + <el-upload + :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-upload> + </div> + </el-form-item> + </el-form> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-row > + <el-button @click="handleClose2">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm2" :loading="upLoad2">纭� 瀹�</el-button> + </el-row> + </span> + </el-dialog> </div> </template> @@ -328,10 +544,16 @@ //鏄惁鏄。妗堜慨璁� true涓嶆槸 false鏄� isUp: true, formData: {}, + formData2: { + imageUpload:'', + imageName:'' + }, value: '', options: [], labelPosition: 'right', dialogVisible: false, + dialogVisible2: false, + addPower: false, componentData: { entity: { deviceStatus: null, @@ -347,11 +569,6 @@ showSelect: false, select: false, do: [{ - id: 'details', - font: '璇︽儏', - type: 'text', - method: 'selectAllByOne' - }, { id: 'delete', font: '鍒犻櫎', type: 'text', @@ -379,6 +596,11 @@ }] } }, + linkEvent:{ + deviceName:{ + method:'selectAllByOne' + } + }, selectField: {}, requiredAdd:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'], requiredUp:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'] @@ -396,6 +618,7 @@ // 璁惧鐘舵�佸垪琛� deviceStatusList:[], upLoad:false, + upLoad2:false, } }, computed: { @@ -438,22 +661,22 @@ add = true } } - if(!del){ + if(!up){ this.componentData.do.splice(1, 1) } - if(!up){ + if(!del){ this.componentData.do.splice(0, 1) } this.addPower = add }, // 鑾峰彇鎺堟潈浜� getAuthorizedPerson(){ - this.$axios.get(this.$api.deviceScope.authorizedPerson).then(res => { + this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => { let data = [] res.data.forEach(a=>{ data.push({ - label: a.authorizedPerson, - value: a.authorizedPerson + label: a.name, + value: a.id }) }) this.authorizerList = data @@ -478,8 +701,8 @@ let data = [] res.data.forEach(a=>{ data.push({ - label: a.equipmentManager, - value: a.equipmentManager + label: a.name, + value: a.id }) }) this.responsiblePersonList = data @@ -487,6 +710,10 @@ }, handleClose(){ this.dialogVisible = false; + this.upLoad = false; + }, + handleClose2(){ + this.dialogVisible2 = false; this.upLoad = false; }, selectAllByOne(row){ @@ -528,6 +755,14 @@ this.formData.imageName = response.data.name; } }, + handleSuccessUpImg2(response,){ + if(response.code==200){ + this.$nextTick(()=>{ + this.formData2.imageUpload = response.data.url; + this.formData2.imageName = response.data.name; + }) + } + }, submitForm(){ this.upLoad = true; let authorizedPerson = this.formData.authorizedPerson.length>0?this.formData.authorizedPerson.join(','):'' @@ -554,6 +789,33 @@ this.dialogVisible = false this.upLoad = false }) + }, + submitForm2(){ + this.upLoad2 = true; + let authorizedPerson = this.formData2.authorizedPerson.length>0?this.formData2.authorizedPerson.join(','):'' + this.formData2.authorizedPerson = authorizedPerson + this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code === 201) { + this.upLoad2 = false + return + } + this.$message.success('鎻愪氦鎴愬姛') + this.upLoad2 = false + this.refreshTable() + this.dialogVisible2 = false + this.formData2 = { + imageUpload:'', + imageName:'' + } + }).catch(e => { + this.$message.error('鎻愪氦澶辫触') + this.dialogVisible2 = false + this.upLoad2 = false + }) } } } -- Gitblit v1.9.3