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.vue |   88 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 69 insertions(+), 19 deletions(-)

diff --git a/web/src/views/modules/basicInfo/XhProductModel.vue b/web/src/views/modules/basicInfo/XhProductModel.vue
index c0a06ae..01fab61 100644
--- a/web/src/views/modules/basicInfo/XhProductModel.vue
+++ b/web/src/views/modules/basicInfo/XhProductModel.vue
@@ -3,7 +3,8 @@
     <el-row :gutter="5">
       <el-col :span="5">
         <div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)">
-          <product-model-tree @on-selected="onProductSelected" showXdy="true" ref="ProductModelTree"/>
+          <product-model-tree @on-selected="onProductSelected" @on-default="onDefault" showXdy="true"
+                              ref="ProductModelTree"/>
         </div>
       </el-col>
       <el-col :span="19">
@@ -11,7 +12,7 @@
           <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/basicInfo/XhProductModel/page"
                            delete-url="/basicInfo/XhProductModel/ "
                            :paging='false'
-                           v-slot="{ table }">
+                           v-slot="{ table }" @refreshMethod="refreshData('tree')">
             <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
               <el-form-item>
                 <el-input v-model="dataForm.name" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input>
@@ -19,6 +20,8 @@
               <el-form-item>
                 <zt-button v-if="productType && productType!=='10'" type="query" @click="table.query()"/>
                 <zt-button v-if="productType && productType!=='10'" type="add" @click="add()"/>
+                <zt-button v-if="productType==='1'" size="small" type="primary" @click="exportProduct()">涓嬭浇瀵煎叆妯℃澘
+                </zt-button>
                 <zt-button v-if="productType==='3'" type="primary" @click="addCell()">鏂板铏氬崟鍏�</zt-button>
                 <zt-button v-if="productType && productType!=='10'" type="delete" @click="table.deleteHandle()"/>
               </el-form-item>
@@ -27,7 +30,9 @@
                       row-key="id"
                       @selection-change="table.selectionChangeHandle"
                       :header-cell-style="{'text-align':'center'}">
-              <el-table-column prop="name" label="鍚嶇О" />
+              <el-table-column type="selection" width="40" align="center"/>
+              <el-table-column prop="name" label="鍚嶇О"/>
+              <el-table-column v-if="productType==='3'|| productType==='4'" prop="equipType" label="璁惧绫诲瀷"/>
               <zt-table-column-dict prop="productType" label="鑺傜偣绫诲瀷" dict="product"/>
               <el-table-column prop="operatImg" label="杩愯鍥剧墖" align="center">
                 <template v-slot="{ row }">
@@ -35,18 +40,21 @@
                 </template>
               </el-table-column>
               <el-table-column prop="sort" label="鎺掑簭" width="100px" align="center"/>
-              <zt-table-column-handle :table="table" width="180px">
+              <zt-table-column-handle :table="table" width="180px" >
                 <template v-slot="{ row }">
                   <zt-table-button v-if="productType==='1'" size="small" type="primary"
                                    @click="importData(row)">瀵煎叆
+                  </zt-table-button>
+                  <zt-table-button v-if="productType==='1'" size="small" type="primary"
+                                   @click="exportData(row)">瀵煎嚭
                   </zt-table-button>
                 </template>
               </zt-table-column-handle>
             </el-table>
             <!-- 寮圭獥, 鏂板 / 淇敼 -->
-            <add-or-update @refreshDataList="refreshData" ref="AddOrUpdate"/>
-            <select-ty-model @refreshDataList="refreshData" ref="SelectTyModel"/>
-            <product-import @refreshDataList="refreshData" ref="ProductImport" />
+            <add-or-update @refreshDataList="refreshData('product')" ref="AddOrUpdate"/>
+            <select-ty-model @refreshDataList="refreshData('tree')" ref="SelectTyModel"/>
+            <product-import @refreshDataList="refreshData('import')" ref="ProductImport"/>
           </zt-table-wraper>
         </div>
       </el-col>
@@ -61,18 +69,21 @@
   import Cookies from "js-cookie";
   import TyProductModel from "./TyProductModel-AddOrUpdate";
   import ProductImport from "./ProductImport";
+  import qs from 'qs'
 
   export default {
     data() {
       return {
         url: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getSvgImage?token=${Cookies.get('token')}&id=`,
-        productType: '',
+        shipId: '',
+        namePath:'',
         dataForm: {
           name: '',
           type: '',
           pid: '',
           srcId: '',
-        }
+        },
+        productType:''
       }
     },
     components: {
@@ -82,41 +93,80 @@
       AddOrUpdate,
       SelectTyModel
     },
+    mounted() {
+      this.$refs.ProductModelTree.getProductList()
+    },
     methods: {
       add() {
         this.dataForm.type = this.productType
+
         if (this.dataForm.type !== '1') {
-          this.$refs.SelectTyModel.$refs.dialog.init(null, {type: this.dataForm.type, id: this.dataForm.pid})
+          /*this.$refs.SelectTyModel.$refs.dialog.init(null, {
+            type: this.dataForm.type,
+            id: this.dataForm.pid,
+            shipId: this.shipId,
+            namePath: this.namePath
+          })*/
+          this.$refs.AddOrUpdate.$refs.dialog.init(null, {id: null, productType: parseInt(this.dataForm.type)+1 , pid: this.dataForm.pid,shipId: this.shipId,namePath: this.namePath})
         } else {
-          this.$refs.AddOrUpdate.$refs.dialog.init(null, {id: null, type: 'zt', pid: this.dataForm.pid})
+          this.$refs.AddOrUpdate.$refs.dialog.init(null, {id: null, type: 'zt', pid: this.dataForm.pid,shipId: this.shipId})
         }
       },
       addCell() {
-        this.$refs.AddOrUpdate.$refs.dialog.init(null, {type: 10, pid: this.dataForm.pid})
+        this.$refs.AddOrUpdate.$refs.dialog.init(null, {
+          type: 10, pid: this.dataForm.pid, shipId: this.shipId
+        })
       },
       cellStyle({column}) {
         if (column.label === '鍚嶇О') {
           return 'text-align: left !important;'
         }
       },
-      refreshData() {
-        this.$refs.tableObj.query()
-        this.$refs.ProductModelTree.getProductList()
+      refreshData(param) {
+        if (param === 'import') {
+          this.$refs.tableObj.query()
+          this.$refs.ProductModelTree.getProductList()
+        } else if (param === 'tree') {
+          this.$refs.ProductModelTree.getProductList()
+        } else {
+          this.$refs.tableObj.query()
+        }
       },
       onProductSelected(data) {
-        console.log(data,'onProductSelected')
+        this.shipId = data.shipId
         this.dataForm.pid = data.id
         this.dataForm.type = data.productType
         this.productType = data.productType
+        this.namePath = data.namePath
+        console.log(data.namePath,'data.namePath')
         if (data.productType !== '10') {
           this.$refs.tableObj.query()
+        }else{
+          this.$alert("铏氬崟鍏冧笉鍙煡鐪�")
         }
-        console.log(data.productType,' data.productType')
-        console.log(this.productType,' data.productType')
       },
       importData(row) {
         this.$refs.ProductImport.$refs.dialog.init(row)
-      }
+      },
+      async exportData(row) {
+        console.log(row)
+        let params = qs.stringify({
+          'token': Cookies.get('token'),
+          shipId:row.id,
+          fileName:row.name
+        })
+        let apiURL = `/basicInfo/XhProductModel/exportData`
+        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
+      },
+      exportProduct() {
+        window.location.href = './浜у搧缁撴瀯鏍戝鍏ユā鏉�.xlsx'
+      },
+      onDefault(defaultId) {
+        this.dataForm.pid = defaultId
+        this.dataForm.type = '1'
+        this.productType = '1'
+        this.$refs.tableObj.query()
+      },
     }
   }
 </script>

--
Gitblit v1.9.1