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 | 97 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 70 insertions(+), 27 deletions(-) diff --git a/web/src/views/modules/basicInfo/XhProductModel.vue b/web/src/views/modules/basicInfo/XhProductModel.vue index 2909167..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> @@ -26,27 +29,32 @@ <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="operatImg" label="杩愯鍥剧墖" align="center"> <template v-slot="{ row }"> <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="sort" label="鎺掑簭" width="100px"/> - <zt-table-column-handle :table="table" width="180px"> + <el-table-column prop="sort" label="鎺掑簭" width="100px" align="center"/> + <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,48 +93,80 @@ AddOrUpdate, SelectTyModel }, + mounted() { + this.$refs.ProductModelTree.getProductList() + }, methods: { add() { this.dataForm.type = this.productType - alert(this.dataForm.type ) + if (this.dataForm.type !== '1') { - if (this.dataForm.type !== '3') { - this.dataForm.type = this.dataForm.type - 1 - } else if (this.dataForm.type === '3') { - this.dataForm.type = this.dataForm.type - 2 - } else if (this.dataForm.type === '0') { - this.$alert("褰撳墠鑺傜偣涓嶅彲鏂板瀛愯妭鐐癸紝璇烽噸鏂拌缃�") - return - } - 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) + 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