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 |  159 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 107 insertions(+), 52 deletions(-)

diff --git a/web/src/views/modules/basicInfo/XhProductModel.vue b/web/src/views/modules/basicInfo/XhProductModel.vue
index df952b4..01fab61 100644
--- a/web/src/views/modules/basicInfo/XhProductModel.vue
+++ b/web/src/views/modules/basicInfo/XhProductModel.vue
@@ -1,56 +1,60 @@
-<template xmlns="">
+<template>
   <div>
-    <el-row :gutter="20">
+    <el-row :gutter="5">
       <el-col :span="5">
-        <div class="fa-card-a">
-          <product-model-tree @on-selected="onProductSelected"/>
+        <div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)">
+          <product-model-tree @on-selected="onProductSelected" @on-default="onDefault" showXdy="true"
+                              ref="ProductModelTree"/>
         </div>
       </el-col>
       <el-col :span="19">
-        <div class="mod-basicInfo-xhProductModel}">
-          <zt-table-wraper ref="tableObj" query-url="/basicInfo/XhProductModel/page"
+        <div class="mod-basicInfo-xhProductModel fa-card-a" style="margin-left: 5px;">
+          <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/basicInfo/XhProductModel/page"
                            delete-url="/basicInfo/XhProductModel/ "
-                           v-slot="{ table }">
+                           :paging='false'
+                           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>
               </el-form-item>
               <el-form-item>
-                <zt-button type="query" @click="table.query()"/>
-                <zt-button type="add" @click="add()"/>
-                <zt-button type="delete" @click="table.deleteHandle()"/>
+                <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>
             </el-form>
-            <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
-                      border row-key="id"
+            <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}"
+                      row-key="id"
                       @selection-change="table.selectionChangeHandle"
-            >
+                      :header-cell-style="{'text-align':'center'}">
+              <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="operationalStatus" label="杩愯鐘舵�佸浘" align="center">
+              <el-table-column prop="operatImg" label="杩愯鍥剧墖" align="center">
                 <template v-slot="{ row }">
-                  <el-image v-if="row.operationalStatus" :src="getPath(row.operationalStatus)"
-                            style="height: 50px;width: 50px"></el-image>
+                  <el-image v-if="row.operatImg" :src="url+row.operatImg" style="height: 50px;width: 50px"></el-image>
                 </template>
               </el-table-column>
-              <el-table-column prop="standbyState" label="寰呮満鐘舵�佸浘" align="center">
+              <el-table-column prop="sort" label="鎺掑簭" width="100px" align="center"/>
+              <zt-table-column-handle :table="table" width="180px" >
                 <template v-slot="{ row }">
-                  <el-image v-if="row.standbyState" :src="getPath(row.standbyState)"
-                            style="height: 50px;width: 50px"></el-image>
+                  <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>
-              </el-table-column>
-              <el-table-column prop="faultState" label="鏁呴殰鐘舵�佸浘" align="center">
-                <template v-slot="{ row }">
-                  <el-image v-if="row.faultState" :src="getPath(row.faultState)"
-                            style="height: 50px;width: 50px"></el-image>
-                </template>
-              </el-table-column>
-              <el-table-column prop="sort" label="鎺掑簭"/>
-              <zt-table-column-handle :table="table"/>
+              </zt-table-column-handle>
             </el-table>
             <!-- 寮圭獥, 鏂板 / 淇敼 -->
-            <add-or-update @refreshDataList="table.query"/>
-            <select-ty-model @refreshDataList="table.query" ref="SelectTyModel"/>
+            <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>
@@ -62,56 +66,107 @@
   import AddOrUpdate from './XhProductModel-AddOrUpdate'
   import SelectTyModel from './SelectTyModel'
   import ProductModelTree from "./ProductModelTree";
+  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=`,
+        shipId: '',
+        namePath:'',
         dataForm: {
           name: '',
-          productType: '',
-          type:'',
+          type: '',
           pid: '',
-          srcId:''
-        }
+          srcId: '',
+        },
+        productType:''
       }
     },
     components: {
+      ProductImport,
+      TyProductModel,
       ProductModelTree,
       AddOrUpdate,
       SelectTyModel
     },
+    mounted() {
+      this.$refs.ProductModelTree.getProductList()
+    },
     methods: {
       add() {
-        if (this.dataForm.type !== '4') {
-          console.log(1111)
-          console.log(this.dataForm.type,'add() {')
-          this.dataForm.type = this.dataForm.type - 1
-        } else if (this.dataForm.type === '4') {
-          console.log(2222)
-          console.log(this.dataForm.type,'add() {')
-          this.dataForm.type = this.dataForm.type - 2
-        }else if (this.dataForm.type === '0'){
-          console.log(this.dataForm.type,'add() {')
-          this.$alert("褰撳墠鑺傜偣涓嶅彲鏂板瀛愯妭鐐癸紝璇烽噸鏂拌缃�")
-          return
+        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,
+            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,shipId: this.shipId})
         }
-        this.$refs.SelectTyModel.$refs.dialog.init(null,{type:this.dataForm.type,id:this.dataForm.pid})
+      },
+      addCell() {
+        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;'
         }
       },
-      getPath(id) {
-        console.log(id, 'path')
-        return `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${id}`
+      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)
+        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("铏氬崟鍏冧笉鍙煡鐪�")
+        }
+      },
+      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