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 | 158 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 106 insertions(+), 52 deletions(-) diff --git a/web/src/views/modules/basicInfo/XhProductModel.vue b/web/src/views/modules/basicInfo/XhProductModel.vue index 35a464b..01fab61 100644 --- a/web/src/views/modules/basicInfo/XhProductModel.vue +++ b/web/src/views/modules/basicInfo/XhProductModel.vue @@ -1,57 +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/ " :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> </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> @@ -63,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