From 664db98c9e8595ce4dd636a27f480e3a08b81ff5 Mon Sep 17 00:00:00 2001 From: xyc <jc_xiong@hotmail.com> Date: 星期五, 21 二月 2025 11:13:51 +0800 Subject: [PATCH] 新增可忽略的维修时间 --- web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue | 133 +++++++++++++++++++++++++------------------ 1 files changed, 77 insertions(+), 56 deletions(-) diff --git a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue index f6357b2..397b3a9 100644 --- a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue +++ b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue @@ -1,27 +1,25 @@ <template> - <zt-dialog ref="dialog" @confirm="formSubmit"> + <zt-dialog ref="dialog" @confirm="formSubmit" :hasConfirm="true"> <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> - <zt-form-item label="涓婄骇绯荤粺" prop="pid" v-if="isTree"> + <zt-form-item label="涓婄骇鑺傜偣" prop="pid" v-if="isShow"> <zt-combo-tree v-model="dataForm.pid" :datas="productList"/> </zt-form-item> <zt-form-item label="鍚嶇О" prop="name" rules="required"> <el-input v-model="dataForm.name"></el-input> </zt-form-item> - <zt-form-item label="鑺傜偣绫诲瀷" prop="nodeType" rules="required"> - <zt-dict v-model="dataForm.nodeType" dict="product"></zt-dict> + <zt-form-item v-if="dataForm.productType==='5'||dataForm.productType===5" prop="equipType" label="璁惧绫诲瀷"> + <el-input v-model="dataForm.equipType"></el-input> </zt-form-item> - <zt-form-item label="杩愯鐘舵�佸浘" prop="operationalStatus" v-if="isShow"> - <el-input v-model="dataForm.operationalStatus" @focus="selectPicture('operational')" - :readonly="readonly"></el-input> + <zt-form-item label="鑺傜偣绫诲瀷" prop="productType" rules="required"> + <zt-dict v-model="dataForm.productType" dict="product" @input="changeType" + :disabled="disabled"></zt-dict> </zt-form-item> - <zt-form-item label="寰呮満鐘舵�佸浘" prop="standbyState" v-if="isShow"> - <el-input v-model="dataForm.standbyState" @focus="selectPicture('standby')" :readonly="readonly"></el-input> - </zt-form-item> - <zt-form-item label="鏁呴殰鐘舵�佸浘" prop="faultState" v-if="isShow"> - <el-input v-model="dataForm.faultState" @focus="selectPicture('fault')" :readonly="readonly"></el-input> + <zt-form-item v-if="dataForm.productType!=='1'" label="杩愯鐘舵�佸浘" prop="operatImg"> + <el-input v-model="dataForm.operatImgName" @focus="selectPicture()"></el-input> + <el-image v-if="dataForm.operatImg" :src="url+dataForm.operatImg" style="height: 50px;width: 50px"></el-image> </zt-form-item> <zt-form-item label="鎺掑簭" prop="sort"> - <el-input v-model="dataForm.sort" :readonly="readonly"></el-input> + <el-input v-model="dataForm.sort" readonly="false"></el-input> </zt-form-item> </el-form> <PictureSelect ref="pictureSelect" @setPicture="openAddWin"> @@ -31,24 +29,27 @@ <script> import PictureSelect from "@/views/modules/basicInfo/SelectPicture"; + import Cookies from "js-cookie"; export default { data() { return { - isTree: false, + disabled: false, + url: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getSvgImage?token=${Cookies.get('token')}&id=`, isShow: true, - map: new Map(), fileId: '', productList: [], dataForm: { id: '', pid: '', name: '', - nodeType: '', - operationalStatus: '', - standbyState: '', - faultState: '', + shipId: '', + productType: '', + operatImg: '', + operatImgName: '', sort: '', + equipType: '', + namePath:'', status: '' } } @@ -57,51 +58,65 @@ PictureSelect }, methods: { - init(id,params) { - if (params.type == 'tree') { - this.isTree = true + init(id, params) { + console.log(params) + if (params.shipId) { + this.dataForm.shipId = params.shipId + } + if (params.type === 'xh') { this.isShow = false - this.getProductList() + this.dataForm.pid = null + this.dataForm.productType = '1' + this.getDefaultImg(this.dataForm.productType) + } else if (params.type === 'zt') { + this.dataForm.pid = params.pid + this.dataForm.productType = '2' + this.getDefaultImg(this.dataForm.productType) } else { this.dataForm.pid = params.pid + this.dataForm.productType = parseInt(params.productType) + this.dataForm.namePath= params.namePath + this.getDefaultImg(this.dataForm.productType) } + if (this.dataForm.productType === '10' && id == null) { + this.isShow = false + this.getDefaultImg(this.dataForm.productType) + } + this.getProductList() }, // 鑾峰彇绯荤粺鍒楄〃 async getProductList() { - let res = await this.$http.get('/basicInfo/XhProductModel/getProductList') + let params = { + productType: this.dataForm.productType, + shipId: this.dataForm.shipId + } + let res = await this.$http.get('/basicInfo/XhProductModel/getProductList', {params: params}) this.productList = res.data console.log(this.productList, 'getProductList') }, - selectPicture(type) { - this.$refs.pictureSelect.$refs.dialog.init(type) + changeType(selected) { + this.dataForm.productType = selected + this.getDefaultImg(selected) + this.getProductList() }, - openAddWin(row, type) { - console.log(type, 'openAddWin(row)') - if (type === 'operational') { - this.dataForm.operationalStatus = row.name - for (let key in row.accessoryMap) { - let id = /_zt_oss_id=(\d+)/.exec(key) - this.fileId = id ? id[1] : '' - } - this.map.set(this.dataForm.operationalStatus, this.fileId); - console.log(this.map, 'openAddWin(row)') - } else if (type === 'standby') { - this.dataForm.standbyState = row.name - for (let key in row.accessoryMap) { - let id = /_zt_oss_id=(\d+)/.exec(key) - this.fileId = id ? id[1] : '' - } - this.map.set(this.dataForm.standbyState, this.fileId); - console.log(this.map, 'openAddWin(row)') - } else if (type === 'fault') { - this.dataForm.faultState = row.name - for (let key in row.accessoryMap) { - let id = /_zt_oss_id=(\d+)/.exec(key) - this.fileId = id ? id[1] : '' - } - this.map.set(this.dataForm.faultState, this.fileId); - console.log(this.map, 'openAddWin(row)') + async getDefaultImg(selected) { + console.log(selected, 'async getDefaultImg') + let params = { + productType: selected } + let res = await this.$http.get(`/sysPictureBase/getDefaultImg`, {params: params}) + if (res.data) { + this.dataForm.operatImgName = res.data.name + this.dataForm.operatImg = res.data.id + } + }, + selectPicture() { + this.$refs.pictureSelect.$refs.dialog.init(this.dataForm.productType) + }, + openAddWin(row) { + this.dataForm.operatImgName = row.name + this.dataForm.operatImg = row.id + console.log(row, 'openAddWin(row)') }, // 鑾峰彇淇℃伅 async getInfo() { @@ -113,15 +128,21 @@ }, // 琛ㄥ崟鎻愪氦 async formSubmit() { - this.dataForm.operationalStatus = this.map.get(this.dataForm.operationalStatus) - this.dataForm.standbyState = this.map.get(this.dataForm.standbyState) - this.dataForm.faultState = this.map.get(this.dataForm.faultState) + let flag = true + if (this.isShow) { + if (this.dataForm.productType === '1') { + this.$alert("涓嶆敮鎸佹柊澧炴鑺傜偣") + flag = false + } + } + if (!flag) { + return + } let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/basicInfo/XhProductModel/', this.dataForm) if (res.success) { await this.$tip.success() this.$refs.dialog.close() this.$emit('refreshDataList') - this.map.clear() } } } -- Gitblit v1.9.1