From 44be4de1fa1e491f264f2e5d0d4b0b9131ad35f3 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 25 八月 2025 17:53:52 +0800 Subject: [PATCH] 修改模板类型 --- src/views/eam/repair/EamReportProductHazardsList.vue | 383 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 230 insertions(+), 153 deletions(-) diff --git a/src/views/eam/repair/EamReportProductHazardsList.vue b/src/views/eam/repair/EamReportProductHazardsList.vue index 542d88e..24e6ddc 100644 --- a/src/views/eam/repair/EamReportProductHazardsList.vue +++ b/src/views/eam/repair/EamReportProductHazardsList.vue @@ -5,42 +5,27 @@ <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="鎶ヤ慨ID"> - <a-input placeholder="璇疯緭鍏ユ姤淇甀D" v-model="queryParam.reportId"></a-input> + <a-col :xl="6" :lg="7" :md="8" :sm="12"> + <a-form-item label="缁熶竴缂栫爜"> + <lx-search-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="queryParam.equipmentId"/> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="12"> + <a-form-item label="纭鐘舵��"> + <j-dict-select-tag placeholder="璇烽�夋嫨纭鐘舵��" v-model="queryParam.confirmStatus" + dict-code="confirm_status"/> </a-form-item> </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="璁惧ID"> - <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="queryParam.equipmentId"></a-input> + <a-form-item label="浜у搧鎹熷け鎯呭喌"> + <j-dict-select-tag placeholder="璇烽�夋嫨浜у搧鎹熷け鎯呭喌" v-model="queryParam.productLoss" + dict-code="yn"/> </a-form-item> </a-col> - <template v-if="toggleSearchStatus"> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="鎿嶄綔宸�"> - <a-input placeholder="璇疯緭鍏ユ搷浣滃伐" v-model="queryParam.confirmer"></a-input> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="鎿嶄綔宸ョ‘璁ゆ椂闂�"> - <a-input placeholder="璇疯緭鍏ユ搷浣滃伐纭鏃堕棿" v-model="queryParam.confirmTime"></a-input> - </a-form-item> - </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="浜у搧鎹熷け鎯呭喌;鏄� 鍚�"> - <a-input placeholder="璇疯緭鍏ヤ骇鍝佹崯澶辨儏鍐�;鏄� 鍚�" v-model="queryParam.productLoss"></a-input> - </a-form-item> - </a-col> - </template> <a-col :xl="6" :lg="7" :md="8" :sm="24"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> - <a @click="handleToggleSearch" style="margin-left: 8px"> - {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> - </a> </span> </a-col> @@ -50,54 +35,39 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <a-button type="primary" icon="download" @click="handleExportXls('浜у搧瀹夊叏闅愭偅纭')">瀵煎嚭</a-button> - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> - <a-button type="primary" icon="import">瀵煎叆</a-button> - </a-upload> - <a-dropdown v-if="selectedRowKeys.length > 0"> - <a-menu slot="overlay"> - <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> - </a-menu> - <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> - </a-dropdown> + <a-button @click="handleBatchPrint" type="primary" icon="monitor" :disabled="selectedRowKeys.length===0">鎵归噺棰勮 + </a-button> + <a-button icon="delete" type="danger" @click="batchDel" :disabled="selectedRowKeys.length===0">鎵归噺鍒犻櫎</a-button> </div> <!-- table鍖哄煙-begin --> <div> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ + selectedRowKeys.length }}</a>椤� <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> </div> - <a-table - ref="table" - size="middle" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - class="j-table-force-nowrap" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - @change="handleTableChange"> + <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" + :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange"> - <span slot="action" slot-scope="text, record"> - <a @click="handleEdit(record)">缂栬緫</a> + <span slot="action" slot-scope="text, record"> + <template v-if="record.confirmStatus==='PENDING_SUBMIT'"> + <a @click="handleEdit(record)">缂栬緫</a> + <a-divider type="vertical"/> + <a-popconfirm title="纭畾鎻愪氦鍚�?" @confirm="() => handleSubmit(record.id)"> + <a>鎻愪氦</a> + </a-popconfirm> + </template> - <a-divider type="vertical" /> - <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> - <a-menu-item> - <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> + <a v-else @click="handleDetail(record)">璇︽儏</a> </span> + + <!--瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず--> + <span slot="qualityAnalysis" slot-scope="text"> + <j-ellipsis :value="text" :length="8"/> + </span> </a-table> </div> @@ -105,6 +75,13 @@ <!-- 琛ㄥ崟鍖哄煙 --> <eamReportProductHazards-modal ref="modalForm" @ok="modalFormOk"></eamReportProductHazards-modal> + + <!--瀹℃壒绐楀彛--> + <report-product-hazards-approval-modal ref="reportProductHazardsApprovalModal" + :selectShenpiData="selectedRowData"/> + + <!--鎵归噺鎵撳嵃寮圭獥--> + <eam-product-hazards-batch-print-modal ref="batchPrintModal"/> </a-card> </template> @@ -112,111 +89,211 @@ import '@/assets/less/TableExpand.less' import EamReportProductHazardsModal from './modules/EamReportProductHazardsModal' import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import { getAction } from '@api/manage' + import ReportProductHazardsApprovalModal + from '@views/flowable/workflow/repairOrder/ReportProductHazardsApprovalModal.vue' + import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' + import EamProductHazardsBatchPrintModal from './modules/EamProductHazardsBatchPrintModal' export default { - name: "EamReportProductHazardsList", - mixins:[JeecgListMixin], + name: 'EamReportProductHazardsList', + mixins: [JeecgListMixin], components: { + EamProductHazardsBatchPrintModal, + LxSearchEquipmentSelect, + ReportProductHazardsApprovalModal, EamReportProductHazardsModal }, - data () { + props: { + isDisplayOperation: { + type: Boolean, + default: true + }, + propsQueryParam: { + type: Object + } + }, + data() { return { description: '浜у搧瀹夊叏闅愭偅纭绠$悊椤甸潰', + disableMixinCreated: true, // 琛ㄥご columns: [ { title: '#', dataIndex: '', - key:'rowIndex', - width:60, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } - }, - { - title: '鎶ヤ慨ID', - align:"center", - dataIndex: 'reportId' - }, - { - title: '璁惧ID', - align:"center", - dataIndex: 'equipmentId' - }, - { - title: '鎿嶄綔宸�', - align:"center", - dataIndex: 'confirmer' - }, - { - title: '鎿嶄綔宸ョ‘璁ゆ椂闂�', - align:"center", - dataIndex: 'confirmTime' - }, - { - title: '浜у搧鎹熷け鎯呭喌;鏄� 鍚�', - align:"center", - dataIndex: 'productLoss' - }, - { - title: '浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽', - align:"center", - dataIndex: 'qualityAnalysis' - }, - { - title: '涓荤宸ヨ壓', - align:"center", - dataIndex: 'technologist' - }, - { - title: '涓荤宸ヨ壓纭鏃堕棿', - align:"center", - dataIndex: 'technologistTime' - }, - { - title: '涓荤宸ヨ壓纭鎰忚', - align:"center", - dataIndex: 'technologistComment' - }, - { - title: '閮ㄧ骇棰嗗', - align:"center", - dataIndex: 'deputyDepartment' - }, - { - title: '閮ㄧ骇棰嗗纭鏃堕棿', - align:"center", - dataIndex: 'deputyDepartmentTime' - }, - { - title: '閮ㄧ骇棰嗗纭鎰忚', - align:"center", - dataIndex: 'deputyDepartmentComment' - }, + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + }, + fixed: 'left' + }, { - title: '鎿嶄綔', - dataIndex: 'action', - align:"center", - scopedSlots: { customRender: 'action' }, + title: '缁熶竴缂栫爜', + align: 'center', + dataIndex: 'equipmentCode', + fixed: 'left', + scopedSlots: { customRender: 'equipmentCode' } + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'equipmentName', + fixed: 'left' + }, + { + title: '璁惧鍨嬪彿', + align: 'center', + dataIndex: 'equipmentModel', + fixed: 'left' + }, + { + title: '纭鐘舵��', + align: 'center', + dataIndex: 'confirmStatus_dictText', + fixed: 'left' + }, + { + title: '鎵规鍙�', + align: 'center', + dataIndex: 'batchNumber' + }, + { + title: '鍔犲伐闆朵欢鍙�', + align: 'center', + dataIndex: 'processingPart' + }, + { + title: '浠舵暟', + align: 'center', + dataIndex: 'quantity' + }, + { + title: '鎿嶄綔宸�', + align: 'center', + dataIndex: 'confirmer_dictText' + }, + { + title: '鎿嶄綔宸ョ‘璁ゆ椂闂�', + align: 'center', + dataIndex: 'confirmTime' + }, + { + title: '浜у搧鎹熷け鎯呭喌', + align: 'center', + dataIndex: 'productLoss_dictText' + }, + { + title: '浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽', + align: 'center', + dataIndex: 'qualityAnalysis', + scopedSlots: { customRender: 'qualityAnalysis' } + }, + { + title: '涓荤宸ヨ壓', + align: 'center', + dataIndex: 'technologist_dictText' + }, + { + title: '涓荤宸ヨ壓纭鏃堕棿', + align: 'center', + dataIndex: 'technologistTime' + }, + { + title: '涓荤宸ヨ壓纭鎰忚', + align: 'center', + dataIndex: 'technologistComment' + }, + { + title: '閮ㄧ骇棰嗗', + align: 'center', + dataIndex: 'deputyDepartment_dictText' + }, + { + title: '閮ㄧ骇棰嗗纭鏃堕棿', + align: 'center', + dataIndex: 'deputyDepartmentTime' + }, + { + title: '閮ㄧ骇棰嗗纭鎰忚', + align: 'center', + dataIndex: 'deputyDepartmentComment' + }, + { + title: 'HF缂栫爜', + align: 'center', + dataIndex: 'hfCode' } ], - url: { - list: "/eam/eamReportProductHazards/list", - delete: "/eam/eamReportProductHazards/delete", - deleteBatch: "/eam/eamReportProductHazards/deleteBatch", - exportXlsUrl: "eam/eamReportProductHazards/exportXls", - importExcelUrl: "eam/eamReportProductHazards/importExcel", - }, - } - }, - computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - } - }, + selectedRowData: {}, + url: { + list: '/eam/eamReportProductHazards/list', + delete: '/eam/eamReportProductHazards/delete', + deleteBatch: '/eam/eamReportProductHazards/deleteBatch', + exportXlsUrl: 'eam/eamReportProductHazards/exportXls', + importExcelUrl: 'eam/eamReportProductHazards/importExcel', + submit: '/eam/eamReportProductHazards/submit' + } + } + }, + created() { + if (!this.isDisplayOperation) this.queryParam = Object.assign({}, this.propsQueryParam) + else { + const operationColumn = { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + width: 200, + fixed: 'right' + } + this.columns = [...this.columns, operationColumn] + } + this.loadData(1) + }, methods: { - + /** + * 鐐瑰嚮鎻愪氦鏃惰Е鍙� + * @param id + */ + handleSubmit(id) { + this.loading = true + getAction(this.url.submit, { id }) + .then(res => { + if (res.success) { + this.$notification.success({ + message: '娑堟伅', + description: res.message + }) + this.loadData() + } else { + this.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + this.loading = false + } + }) + }, + + // 鎵归噺鎵撳嵃 + handleBatchPrint() { + this.$refs.batchPrintModal.handlePreview(this.selectedRowKeys.join()) + }, + + /** + * 鐐瑰嚮璇︽儏鏃惰Е鍙戞椂瑙﹀彂 + * @param record + */ + handleDetail(record) { + this.selectedRowData = Object.assign({}, record) + this.$refs.reportProductHazardsApprovalModal.title = '璇︽儏' + this.$refs.reportProductHazardsApprovalModal.disableSubmit = true + this.$refs.reportProductHazardsApprovalModal.visible = true + this.$refs.reportProductHazardsApprovalModal.handleDetail(record) + } } } </script> -- Gitblit v1.9.3