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