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 |   94 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 77 insertions(+), 17 deletions(-)

diff --git a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
index 571d45b..397b3a9 100644
--- a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
+++ b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
@@ -1,21 +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="productType" rules="required">
-        <zt-dict v-model="dataForm.productType" 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="operatImg" v-if="isShow">
-        <el-input v-model="dataForm.operatImgName" @focus="selectPicture()"
-                  :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 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">
@@ -25,11 +29,13 @@
 
 <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,
         fileId: '',
         productList: [],
@@ -37,10 +43,13 @@
           id: '',
           pid: '',
           name: '',
+          shipId: '',
           productType: '',
           operatImg: '',
-          operatImgName:'',
+          operatImgName: '',
           sort: '',
+          equipType: '',
+          namePath:'',
           status: ''
         }
       }
@@ -49,18 +58,60 @@
       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 = params.type
+          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 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')
+      },
+      changeType(selected) {
+        this.dataForm.productType = selected
+        this.getDefaultImg(selected)
+        this.getProductList()
+      },
+      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.$refs.pictureSelect.$refs.dialog.init(this.dataForm.productType)
       },
       openAddWin(row) {
         this.dataForm.operatImgName = row.name
@@ -77,12 +128,21 @@
       },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
+        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