From 0e59e3ebb9f7e9f83c7f906f40d0a562a8a686e8 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期一, 18 八月 2025 17:07:08 +0800
Subject: [PATCH] 排产功能物料下拉框调整
---
src/views/mes/MesProductionWorkOrderListView.vue | 937 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 750 insertions(+), 187 deletions(-)
diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue
index 4225fef..6b524e3 100644
--- a/src/views/mes/MesProductionWorkOrderListView.vue
+++ b/src/views/mes/MesProductionWorkOrderListView.vue
@@ -1,5 +1,5 @@
<template>
- <a-card :bordered="false" title="鎺掍骇宸ュ崟">
+ <a-card :bordered="false">
<!-- 鏌ヨ鍖哄煙 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
@@ -14,77 +14,105 @@
<j-input placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" v-model="queryParam.materialNumber"></j-input>
</a-form-item>
</a-col>
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="宸ュ崟鐘舵��">
- <j-dict-select-tag dictCode="work_order_status" placeholder="璇疯緭鍏ュ伐鍗曠姸鎬�" v-model="queryParam.workOrderStatus"></j-dict-select-tag>
- </a-form-item>
- </a-col>
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="閲嶅彂甯冧汉">
- <j-select-user-by-dep placeholder="璇疯緭鍏ラ噸鍙戝竷浜�" v-model="queryParam.republisher"></j-select-user-by-dep>
- </a-form-item>
- </a-col>
+ <template v-if="toggleSearchStatus">
+ <a-col :xl="6" :lg="7" :md="8" :sm="24">
+ <a-form-item label="宸ュ崟鐘舵��">
+ <j-dict-select-tag dictCode="work_order_status" placeholder="璇疯緭鍏ュ伐鍗曠姸鎬�"
+ v-model="queryParam.workOrderStatus"></j-dict-select-tag>
+ </a-form-item>
+ </a-col>
+ <a-col :xl="6" :lg="7" :md="8" :sm="24">
+ <a-form-item label="閲嶅彂甯冧汉">
+ <j-select-user-by-dep placeholder="璇疯緭鍏ラ噸鍙戝竷浜�"
+ v-model="queryParam.republisher"></j-select-user-by-dep>
+ </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="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</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>
</a-row>
+ <a-row>
+ <a-button type="primary" @click="productionSchedule" icon="retweet" style="margin-bottom: 8px">鎺掍骇</a-button>
+ </a-row>
</a-form>
</div>
+ <a-spin :spinning="confirmLoading">
+ <div>
+ <a-table
+ ref="table"
+ size="middle"
+ :scroll="{x:true}"
+ bordered
+ rowKey="id"
+ :columns="columns"
+ :dataSource="dataSource"
+ :pagination="ipagination"
+ :loading="loading"
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type: 'radio'}"
+ class="j-table-force-nowrap"
+ @change="handleTableChange">
- <div class="table-operator">
- <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>
- </div>
- <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>椤�
- <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
- </div>
+ <template slot="htmlSlot" slot-scope="text">
+ <div v-html="text"></div>
+ </template>
+ <template slot="imgSlot" slot-scope="text,record">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+ <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt=""
+ style="max-width:80px;font-size: 12px;font-style: italic;" />
+ </template>
+ <template slot="fileSlot" slot-scope="text">
+ <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+ <a-button
+ v-else
+ :ghost="true"
+ type="primary"
+ icon="download"
+ size="small"
+ @click="downloadFile(text)">
+ 涓嬭浇
+ </a-button>
+ </template>
- <a-table
- ref="table"
- size="middle"
- :scroll="{x:true}"
- bordered
- rowKey="id"
- :columns="columns"
- :dataSource="dataSource"
- :pagination="ipagination"
- :loading="loading"
- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
- class="j-table-force-nowrap"
- @change="handleTableChange">
-
- <template slot="htmlSlot" slot-scope="text">
- <div v-html="text"></div>
- </template>
- <template slot="imgSlot" slot-scope="text,record">
- <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
- <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
- </template>
- <template slot="fileSlot" slot-scope="text">
- <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
- <a-button
- v-else
- :ghost="true"
- type="primary"
- icon="download"
- size="small"
- @click="downloadFile(text)">
- 涓嬭浇
- </a-button>
- </template>
-
- <span slot="action" slot-scope="text, record">
- <a @click="handleEdit(record)">缂栬緫</a>
-
+ <span slot="action" slot-scope="text, record">
+ <span v-if="record.workOrderStatus === 'NEW'">
+ <a-popconfirm title="纭畾鍙戝竷鍚�?" @confirm="() => handlePublish(record.id)">
+ <a>鍙戝竷</a>
+ </a-popconfirm>
+ </span>
+ <span v-if="record.workOrderStatus === 'PUBLISHED' || record.workOrderStatus === 'EXECUTING'">
+ <a-divider type="vertical" />
+ <a @click="handleRePublish(record)">閲嶅彂甯�</a>
+ </span>
+ <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '0'">
+ <a-divider type="vertical" />
+ <a @click="handleCompletenessCheck(record)">榻愬鎬ф鏌�</a>
+ </span>
+ <span v-if="record.workOrderStatus === 'PUBLISHED' && record.equipmentInspectionFlag === '0'">
+ <a-divider type="vertical" />
+ <a @click="handleCompletenessCheck(record)">璁惧鐐规</a>
+ </span>
+ <span v-if="record.workOrderStatus === 'PUBLISHED' && record.processInspectionFlag === '0'">
+ <a-divider type="vertical" />
+ <a @click="handleCompletenessCheck(record)">宸ヨ壓鐐规</a>
+ </span>
+ <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '1' && record.equipmentInspectionFlag === '1' && record.processInspectionFlag === '1'">
+ <a-divider type="vertical" />
+ <a-popconfirm title="纭畾寮�濮嬫墽琛屽悧?" @confirm="() => handleExecute(record.id)">
+ <a>鎵ц</a>
+ </a-popconfirm>
+ </span>
+ <span v-if="record.workOrderStatus === 'EXECUTING'">
+ <a-divider type="vertical" />
+ <a @click="handleWorkReport(record)">鎶ュ伐</a>
+ </span>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
@@ -92,175 +120,710 @@
<a-menu-item>
<a @click="handleDetail(record)">璇︽儏</a>
</a-menu-item>
- <a-menu-item>
+ <a-menu-item v-if="record.workOrderStatus === 'NEW'">
+ <a @click="handleEdit(record)">缂栬緫</a>
+ </a-menu-item>
+ <a-menu-item v-if="record.workOrderStatus === 'NEW'">
<a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
- <a>鍒犻櫎</a>
+ <a>鍒犻櫎</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
+
</span>
-
- </a-table>
- </div>
-
+ </a-table>
+ </div>
+ <a-tabs v-model="activeKey" @change="handleChangeTabs">
+ <a-tab-pane tab="宸ュ崟鎶ュ伐" :key="refKeys1[0]" :forceRender="true">
+ <div style="display: flex; align-items: center; margin-bottom: 10px;">
+ </div>
+ <j-vxe-table
+ keep-source
+ :ref="refKeys1[0]"
+ :loading="mesWorkReporting.loading"
+ :columns="mesWorkReporting.columns"
+ :dataSource="mesWorkReporting.dataSource"
+ :maxHeight="300"
+ :rowNumber="true"
+ :rowSelection="true"
+ :toolbar="false">
+ <template slot="showDetail" slot-scope="{row}">
+ <a-button type="primary" @click="handleOrderDetail(row)" size="small">
+ <a-icon type="eye" />璁㈠崟璇︽儏
+ </a-button>
+ </template>
+ </j-vxe-table>
+ </a-tab-pane>
+ <a-tab-pane tab="鐗╂枡鎷夊姩鐢宠" :key="refKeys2[0]" :forceRender="true">
+ <div style="display: flex; align-items: center; margin-bottom: 10px;">
+ </div>
+ <j-vxe-table
+ keep-source
+ :ref="refKeys2[0]"
+ :loading="mesMaterialTransferRequest.loading"
+ :columns="mesMaterialTransferRequest.columns"
+ :dataSource="mesMaterialTransferRequest.dataSource"
+ :maxHeight="300"
+ :rowNumber="true"
+ :rowSelection="true"
+ :toolbar="false">
+ <template slot="showTransferDetail" slot-scope="{row}">
+ <a-button type="primary" @click="handleTransferDetail(row)" size="small">
+ <a-icon type="eye" />鐗╂枡鎷夊姩鏄庣粏
+ </a-button>
+ </template>
+ </j-vxe-table>
+ </a-tab-pane>
+ <a-tab-pane tab="涓婁笅鏂欐煡璇�" :key="refKeys3[0]" :forceRender="true">
+ <div style="display: flex; align-items: center; margin-bottom: 10px;">
+ </div>
+ <j-vxe-table
+ keep-source
+ :ref="refKeys3[0]"
+ :loading="mesMaterialLoading.loading"
+ :columns="mesMaterialLoading.columns"
+ :dataSource="mesMaterialLoading.dataSource"
+ :maxHeight="300"
+ :rowNumber="true"
+ :rowSelection="true"
+ :toolbar="false">
+ <template slot="showUnloadingDetail" slot-scope="{row}">
+ <a-button type="primary" @click="handleUnLoadingDetail(row)" size="small">
+ <a-icon type="eye" />涓嬫枡璇︽儏
+ </a-button>
+ </template>
+ </j-vxe-table>
+ </a-tab-pane>
+ <a-tab-pane tab="榻愬鎬ф鏌ヨ褰�" :key="refKeys4[0]" :forceRender="true">
+ <div style="display: flex; align-items: center; margin-bottom: 10px;">
+ </div>
+ <j-vxe-table
+ keep-source
+ :ref="refKeys4[0]"
+ :loading="mesKittingCompletenessCheck.loading"
+ :columns="mesKittingCompletenessCheck.columns"
+ :dataSource="mesKittingCompletenessCheck.dataSource"
+ :maxHeight="300"
+ :rowNumber="true"
+ :rowSelection="true"
+ :toolbar="false"
+ />
+ </a-tab-pane>
+ </a-tabs>
+ </a-spin>
<mes-production-work-order-modal ref="modalForm" @ok="modalFormOk"></mes-production-work-order-modal>
+ <mes-production-order-modal ref="MesProductionOrderModal"></mes-production-order-modal>
+ <MesMaterialUnloadingList ref="MesMaterialUnloadingList"></MesMaterialUnloadingList>
+ <MesMaterialTransferDetailList ref="MesMaterialTransferDetailList"></MesMaterialTransferDetailList>
+ <MesProductionWorkOrderScheduleModal ref="MesProductionWorkOrderScheduleModal" @ok="modalFormOk"></MesProductionWorkOrderScheduleModal>
+ <MesProductionWorkOrderRepublishModal ref="MesProductionWorkOrderRepublishModal" @ok="modalFormOk"></MesProductionWorkOrderRepublishModal>
+ <MesProductionWorkOrderReportModal ref="MesProductionWorkOrderReportModal" @ok="modalFormOk"></MesProductionWorkOrderReportModal>
+ <MesProductionWorkOrderCompletenessCheckModal ref="MesProductionWorkOrderCompletenessCheckModal" @ok="modalFormOk"></MesProductionWorkOrderCompletenessCheckModal>
</a-card>
</template>
<script>
- import '@/assets/less/TableExpand.less'
- import { mixinDevice } from '@/utils/mixin'
- import { JeecgListMixin } from '@/mixins/JeecgListMixin'
- import MesProductionWorkOrderModal from './modules/MesProductionWorkOrderModal'
- import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import MesProductionWorkOrderModal from './modules/MesProductionWorkOrderModal'
+import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+import { JVXETypes } from '@/components/jeecg/JVxeTable'
+import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
+import { getAction, requestPut } from '@api/manage'
+import MesProductionOrderModal from '@views/mes/modules/MesProductionOrderModal.vue'
+import MesMaterialUnloadingList from '@views/mes/MesMaterialUnloadingList.vue'
+import MesMaterialTransferDetailList from '@views/mes/MesMaterialTransferDetailList.vue'
+import MesProductionWorkOrderScheduleModal from '@views/mes/modules/MesProductionWorkOrderScheduleModal.vue'
+import MesProductionWorkOrderRepublishModal from '@views/mes/modules/MesProductionWorkOrderRepublishModal.vue'
+import MesProductionWorkOrderReportModal from '@views/mes/modules/MesProductionWorkOrderReportModal.vue'
+import MesProductionWorkOrderCompletenessCheckModal from '@views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue'
- export default {
- name: 'MesProductionWorkOrderList',
- mixins:[JeecgListMixin, mixinDevice],
- components: {
- MesProductionWorkOrderModal
- },
- data () {
- return {
- description: '鎺掍骇宸ュ崟绠$悊椤甸潰',
- // 琛ㄥご
+export default {
+ name: 'MesProductionWorkOrderList',
+ mixins: [JeecgListMixin, mixinDevice, JVxeTableModelMixin, JVXETypes],
+ components: {
+ MesProductionWorkOrderModal,
+ MesProductionOrderModal,
+ MesMaterialUnloadingList,
+ MesMaterialTransferDetailList,
+ MesProductionWorkOrderScheduleModal,
+ MesProductionWorkOrderRepublishModal,
+ MesProductionWorkOrderReportModal,
+ MesProductionWorkOrderCompletenessCheckModal
+ },
+ data() {
+ return {
+ description: '鎺掍骇宸ュ崟绠$悊椤甸潰',
+ activeKey : 'mesWorkReporting',
+ // 宸ュ崟鎶ュ伐
+ refKeys1: ['mesWorkReporting'],
+ tableKeys1: ['mesWorkReporting'],
+ //鐗╂枡鎷夊姩鐢宠
+ refKeys2: ['mesMaterialTransferRequest'],
+ tableKeys2: ['mesMaterialTransferRequest'],
+ //涓婃枡
+ refKeys3: ['mesMaterialLoading'],
+ tableKeys3: ['mesMaterialLoading'],
+ //榻愬鎬ф鏌ヨ褰�
+ refKeys4: ['mesKittingCompletenessCheck'],
+ tableKeys4: ['mesKittingCompletenessCheck'],
+ // 琛ㄥご
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key: 'rowIndex',
+ width: 60,
+ align: 'center',
+ customRender: function(t, r, index) {
+ return parseInt(index) + 1
+ }
+ },
+ {
+ title: '宸ュ崟鍙�(浠诲姟鍙�)',
+ align: 'center',
+ dataIndex: 'workOrderCode'
+ },
+ {
+ title: '鐗╂枡缂栫爜',
+ align: 'center',
+ dataIndex: 'materialNumber'
+ },
+ {
+ title: '鐗╂枡鍚嶇О',
+ align: 'center',
+ dataIndex: 'materialName'
+ },
+ {
+ title: '璁″垝鐢熶骇鏁伴噺',
+ align: 'center',
+ dataIndex: 'planQuantity'
+ },
+ {
+ title: '浜х嚎',
+ align: 'center',
+ dataIndex: 'factoryId_dictText'
+ },
+ {
+ title: '鐝粍',
+ align: 'center',
+ dataIndex: 'groupId_dictText'
+ },
+ {
+ title: '鐝',
+ align: 'center',
+ dataIndex: 'shiftId_dictText'
+ },
+ {
+ title: '鎺掍骇鏃ユ湡',
+ align: 'center',
+ dataIndex: 'workOrderDate'
+ },
+ {
+ title: '宸ュ崟鐘舵��',
+ align: 'center',
+ dataIndex: 'workOrderStatus_dictText'
+ },
+ {
+ title: '瀹為檯鎶ュ伐鏁伴噺',
+ align: 'center',
+ dataIndex: 'actualQuantity'
+ },
+ {
+ title: '鍙戝竷浜�',
+ align: 'center',
+ dataIndex: 'publisher'
+ },
+ {
+ title: '鍙戝竷鏃堕棿',
+ align: 'center',
+ dataIndex: 'publishTime'
+ },
+ {
+ title: '閲嶅彂甯冧汉',
+ align: 'center',
+ dataIndex: 'republisher'
+ },
+ {
+ title: '閲嶅彂甯冩椂闂�',
+ align: 'center',
+ dataIndex: 'republishTime'
+ },
+ {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align: 'center',
+ fixed: 'right',
+ width: 147,
+ scopedSlots: { customRender: 'action' }
+ }
+ ],
+ mesWorkReporting: {
+ loading: false,
+ dataSource: [],
columns: [
{
- title: '#',
- dataIndex: '',
- key:'rowIndex',
- width:60,
- align:"center",
- customRender:function (t,r,index) {
- return parseInt(index)+1;
- }
+ title: '鎿嶄綔',
+ key: 'action',
+ type: JVXETypes.slot,
+ slotName: 'showDetail',
+ width: '120px',
+ align: 'center'
},
{
- title:'宸ュ崟鍙�(浠诲姟鍙�)',
- align:"center",
- dataIndex: 'workOrderCode'
+ title: '璁㈠崟鍙�',
+ key: 'orderCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'鐗╂枡缂栫爜',
- align:"center",
- dataIndex: 'materialNumber'
+ title: '宸ュ崟鍙�',
+ key: 'workOrderCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'鐗╂枡鍚嶇О',
- align:"center",
- dataIndex: 'materialName'
+ title: '浜х嚎鍚嶇О',
+ key: 'factoryName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'璁″垝鐢熶骇鏁伴噺',
- align:"center",
- dataIndex: 'planQuantity'
+ title: '鎵规鍙�',
+ key: 'batchNumber',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'浜х嚎(鍐椾綑)',
- align:"center",
- dataIndex: 'factoryId_dictText'
+ title: '鎵樺彿',
+ key: 'palletNumber',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'鐝粍',
- align:"center",
- dataIndex: 'groupId_dictText'
+ title: '鏁伴噺',
+ key: 'quantity',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'鐝(鍐椾綑)',
- align:"center",
- dataIndex: 'shiftId_dictText'
+ title: '鎶ュ伐浜�',
+ key: 'reporter',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'鎺掍骇鏃ユ湡',
- align:"center",
- dataIndex: 'workOrderDate'
+ title: '鎶ュ伐鏃堕棿',
+ key: 'reportTime',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'宸ュ崟鐘舵��',
- align:"center",
- dataIndex: 'workOrderStatus_dictText'
+ title: '绾胯竟浠撳悕绉�',
+ key: 'warehouseName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
{
- title:'瀹為檯鎶ュ伐鏁伴噺',
- align:"center",
- dataIndex: 'actualQuantity'
+ title: '鎴愬搧涓嬬嚎鎵撳嵃鐘舵��',
+ key: 'printStatus',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
},
- {
- title:'鍙戝竷浜�',
- align:"center",
- dataIndex: 'publisher'
- },
- {
- title:'鍙戝竷鏃堕棿',
- align:"center",
- dataIndex: 'publishTime'
- },
- {
- title:'閲嶅彂甯冧汉',
- align:"center",
- dataIndex: 'republisher'
- },
- {
- title:'閲嶅彂甯冩椂闂�',
- align:"center",
- dataIndex: 'republishTime'
- },
+ ]
+ },
+ mesMaterialTransferRequest: {
+ loading: false,
+ dataSource: [],
+ columns: [
{
title: '鎿嶄綔',
- dataIndex: 'action',
- align:"center",
- fixed:"right",
- width:147,
- scopedSlots: { customRender: 'action' }
- }
- ],
- url: {
- list: "/mesproductionworkorder/mesProductionWorkOrder/list",
- delete: "/mesproductionworkorder/mesProductionWorkOrder/delete",
- deleteBatch: "/mesproductionworkorder/mesProductionWorkOrder/deleteBatch",
- exportXlsUrl: "/mesproductionworkorder/mesProductionWorkOrder/exportXls",
- importExcelUrl: "mesproductionworkorder/mesProductionWorkOrder/importExcel",
+ key: 'action',
+ type: JVXETypes.slot,
+ slotName: 'showTransferDetail',
+ width: '120px',
+ align: 'center'
+ },
+ {
+ title: '鎷夊姩鍗曞彿',
+ key: 'requestCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '宸ュ崟鍙�',
+ key: 'workOrderCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: 'SAP棰勭暀鍙�',
+ key: 'reservationCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鍙戝竷鐘舵��',
+ key: 'publishStatus',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '璇锋眰鐘舵��',
+ key: 'requestStatus',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '璇锋眰鏃堕棿',
+ key: 'requestTime',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鍘熷簱瀛樺湴',
+ key: 'originalWarehouseName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鐩爣搴撳瓨鍦�',
+ key: 'targetWarehouseName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '浼樺厛绾�',
+ key: 'priority',
+ type: JVXETypes.select,
+ dictCode: 'priority',
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鏈�鏅氶厤閫佹椂闂�',
+ key: 'latestDeliveryTime',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ ]
+ },
+ mesMaterialLoading: {
+ loading: false,
+ dataSource: [],
+ columns: [
+ {
+ title: '鎿嶄綔',
+ key: 'action',
+ type: JVXETypes.slot,
+ slotName: 'showUnloadingDetail',
+ width: '120px',
+ align: 'center'
+ },
+ {
+ title: '宸ュ崟鍙�',
+ key: 'workOrderCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '璁惧ID',
+ key: 'equipmentId',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '宸ュ簭缂栫爜',
+ key: 'processCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '宸ュ簭鍚嶇О',
+ key: 'processName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鐗╂枡缂栫爜',
+ key: 'materialNumber',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鐗╂枡鍚嶇О',
+ key: 'materialName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鎵规鍙�',
+ key: 'batchNumber',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鏁伴噺',
+ key: 'quantity',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鍓╀綑鏁伴噺',
+ key: 'remainingQuantity',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ ]
+ },
+ mesKittingCompletenessCheck: {
+ loading: false,
+ dataSource: [],
+ columns: [
+ {
+ title: '宸ュ崟鍙�',
+ key: 'workOrderCode',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鐗╂枡缂栧彿',
+ key: 'materialNumber',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鐗╂枡鍚嶇О',
+ key: 'materialName',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '闇�姹傛暟閲�',
+ key: 'requiredQuantity',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '瀹為檯鏁伴噺',
+ key: 'actualQuantity',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ {
+ title: '鏄惁榻愬',
+ key: 'checkFlag',
+ type: JVXETypes.input,
+ width: '200px',
+ placeholder: '璇疯緭鍏�${title}',
+ defaultValue: ''
+ },
+ ]
+ },
+ url: {
+ list: '/mesproductionworkorder/mesProductionWorkOrder/list',
+ delete: '/mesproductionworkorder/mesProductionWorkOrder/delete',
+ deleteBatch: '/mesproductionworkorder/mesProductionWorkOrder/deleteBatch',
+ exportXlsUrl: '/mesproductionworkorder/mesProductionWorkOrder/exportXls',
+ importExcelUrl: 'mesproductionworkorder/mesProductionWorkOrder/importExcel',
+ queryWorkReportingByWorkOrderId:'/mesworkreporting/mesWorkReporting/queryWorkReportingByWorkOrderId',
+ queryMaterialTransferRequestByWorkOrderId:'/mesmaterialtransferrequest/mesMaterialTransferRequest/queryMaterialTransferRequestByWorkOrderId',
+ queryLoadingByWorkOrderId:'/mes/mesMaterialLoading/queryLoadingByWorkOrderId',
+ queryCompletenessCheckByWorkOrderId:'/meskittingcompletenesscheck/mesKittingCompletenessCheck/queryCompletenessCheckByWorkOrderId',
+ queryOrderById:'/mesproductionwork/mesProductionOrder/queryById',
+ queryUnloadingByLoadingId:'/mes/mesMaterialUnloading/queryUnloadingByLoadingId',
+ queryTransferDetailBy:'/mes/mesMaterialTransferDetail/queryTransferDetailBy',
+ publish: '/mesproductionworkorder/mesProductionWorkOrder/publish',
+ execute: '/mesproductionworkorder/mesProductionWorkOrder/execute',
+ },
+ dictOptions: {},
+ superFieldList: []
+ }
+ },
+ created() {
+ this.getSuperFieldList()
+ },
+ computed: {
+ importExcelUrl: function() {
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+ }
+ },
+ methods: {
+ productionSchedule() {
+ this.$refs.MesProductionWorkOrderScheduleModal.scheduleOpen()
+ },
+ handlePublish(id) {
+ requestPut(this.url.publish, null, { ids: id }).then((res) => {
+ if (res.success) {
+ this.$message.success(res.message)
+ this.loadData()
+ } else {
+ this.$message.warning(res.message)
+ }
+ })
+ },
+ handleExecute(id) {
+ getAction(this.url.execute, { id: id }).then((res) => {
+ if (res.success) {
+ this.$message.success(res.message)
+ this.loadData()
+ } else {
+ this.$message.warning(res.message)
+ }
+ })
+ },
+ handleRePublish(record) {
+ this.$refs.MesProductionWorkOrderRepublishModal.add(record)
+ },
+ handleWorkReport(record) {
+ this.$refs.MesProductionWorkOrderReportModal.add(record)
+ },
+ handleCompletenessCheck(record) {
+ this.$refs.MesProductionWorkOrderCompletenessCheckModal.check(record)
+ },
+ async handleTransferDetail(row){
+ console.log('row---->',row)
+ const transferDetailResult = await getAction(this.url.queryTransferDetailBy,{'requestId':row.id})
+ this.$refs.MesMaterialTransferDetailList.visible = true
+ this.$refs.MesMaterialTransferDetailList.dataSource = transferDetailResult.result.records
+ },
+ async handleUnLoadingDetail(row){
+ console.log('row---->',row)
+ const unloadingResult = await getAction(this.url.queryUnloadingByLoadingId,{'loadingId':row.id})
+ this.$refs.MesMaterialUnloadingList.visible = true
+ this.$refs.MesMaterialUnloadingList.dataSource = unloadingResult.result.records
+ },
+ async handleOrderDetail(row){
+ const orderResult = await getAction(this.url.queryOrderById,{'id':row.orderId})
+ this.$refs.MesProductionOrderModal.edit(orderResult.result)
+ this.$refs.MesProductionOrderModal.title="璁㈠崟璇︽儏";
+ this.$refs.MesProductionOrderModal.disableSubmit = true;
+ },
+ async onSelectChange(selectedRowKeys){
+ //mesWorkReporting,mesMaterialTransferRequest,mesMaterialLoading,mesKittingCompletenessCheck
+ this.mesWorkReporting.loading = true
+ this.mesMaterialTransferRequest.loading = true
+ this.mesMaterialLoading.loading = true
+ this.mesKittingCompletenessCheck.loading = true
- },
- dictOptions:{},
- superFieldList:[],
+ this.selectedRowKeys = selectedRowKeys
+ this.mesWorkReporting.dataSource=[]
+ this.mesMaterialTransferRequest.dataSource=[]
+ this.mesMaterialLoading.dataSource=[]
+ this.mesKittingCompletenessCheck.dataSource=[]
+ if (selectedRowKeys.length > 0) {
+ const selectedId = selectedRowKeys[0] // 閫変腑琛岀殑id
+ let parm = {
+ 'workOrderId':selectedId
+ }
+ const mesWorkReportingResult = await getAction(this.url.queryWorkReportingByWorkOrderId, parm)
+ const mesMaterialTransferRequestResult = await getAction(this.url.queryMaterialTransferRequestByWorkOrderId, parm)
+ const mesMaterialLoadingResult = await getAction(this.url.queryLoadingByWorkOrderId, parm)
+ const mesKittingCompletenessCheckResult = await getAction(this.url.queryCompletenessCheckByWorkOrderId, parm)
+ this.mesWorkReporting.dataSource = mesWorkReportingResult.result
+ this.mesMaterialTransferRequest.dataSource = mesMaterialTransferRequestResult.result
+ this.mesMaterialLoading.dataSource = mesMaterialLoadingResult.result
+ this.mesKittingCompletenessCheck.dataSource = mesKittingCompletenessCheckResult.result
+ this.mesWorkReporting.loading = false
+ this.mesMaterialTransferRequest.loading = false
+ this.mesMaterialLoading.loading = false
+ this.mesKittingCompletenessCheck.loading = false
}
},
- created() {
- this.getSuperFieldList();
+ initDictConfig() {
},
- computed: {
- importExcelUrl: function(){
- return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
- },
- },
- methods: {
- initDictConfig(){
- },
- getSuperFieldList(){
- let fieldList=[];
- fieldList.push({type:'int',value:'delFlag',text:'鍒犻櫎鏍囪',dictCode:''})
- fieldList.push({type:'string',value:'workOrderCode',text:'宸ュ崟鍙�(浠诲姟鍙�)',dictCode:''})
- fieldList.push({type:'string',value:'materialNumber',text:'鐗╂枡缂栫爜',dictCode:''})
- fieldList.push({type:'string',value:'materialName',text:'鐗╂枡鍚嶇О',dictCode:''})
- fieldList.push({type:'double',value:'planQuantity',text:'璁″垝鐢熶骇鏁伴噺',dictCode:''})
- fieldList.push({type:'string',value:'factoryId',text:'浜х嚎ID(鍐椾綑)',dictCode:''})
- fieldList.push({type:'string',value:'groupId',text:'鐝粍ID',dictCode:''})
- fieldList.push({type:'string',value:'shiftId',text:'鐝ID(鍐椾綑)',dictCode:''})
- fieldList.push({type:'datetime',value:'workOrderDate',text:'鎺掍骇鏃ユ湡'})
- fieldList.push({type:'string',value:'workOrderStatus',text:'宸ュ崟鐘舵��',dictCode:'work_order_status'})
- fieldList.push({type:'double',value:'actualQuantity',text:'瀹為檯鎶ュ伐鏁伴噺',dictCode:''})
- fieldList.push({type:'string',value:'publisher',text:'鍙戝竷浜�',dictCode:''})
- fieldList.push({type:'datetime',value:'publishTime',text:'鍙戝竷鏃堕棿'})
- fieldList.push({type:'string',value:'republisher',text:'閲嶅彂甯冧汉',dictCode:''})
- fieldList.push({type:'datetime',value:'republishTime',text:'閲嶅彂甯冩椂闂�'})
- this.superFieldList = fieldList
- }
+ getSuperFieldList() {
+ let fieldList = []
+ fieldList.push({ type: 'int', value: 'delFlag', text: '鍒犻櫎鏍囪', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'workOrderCode', text: '宸ュ崟鍙�(浠诲姟鍙�)', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'materialNumber', text: '鐗╂枡缂栫爜', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'materialName', text: '鐗╂枡鍚嶇О', dictCode: '' })
+ fieldList.push({ type: 'double', value: 'planQuantity', text: '璁″垝鐢熶骇鏁伴噺', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'factoryId', text: '浜х嚎ID(鍐椾綑)', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'groupId', text: '鐝粍ID', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'shiftId', text: '鐝ID(鍐椾綑)', dictCode: '' })
+ fieldList.push({ type: 'datetime', value: 'workOrderDate', text: '鎺掍骇鏃ユ湡' })
+ fieldList.push({ type: 'string', value: 'workOrderStatus', text: '宸ュ崟鐘舵��', dictCode: 'work_order_status' })
+ fieldList.push({ type: 'double', value: 'actualQuantity', text: '瀹為檯鎶ュ伐鏁伴噺', dictCode: '' })
+ fieldList.push({ type: 'string', value: 'publisher', text: '鍙戝竷浜�', dictCode: '' })
+ fieldList.push({ type: 'datetime', value: 'publishTime', text: '鍙戝竷鏃堕棿' })
+ fieldList.push({ type: 'string', value: 'republisher', text: '閲嶅彂甯冧汉', dictCode: '' })
+ fieldList.push({ type: 'datetime', value: 'republishTime', text: '閲嶅彂甯冩椂闂�' })
+ this.superFieldList = fieldList
}
}
+}
</script>
<style scoped>
- @import '~@assets/less/common.less';
+@import '~@assets/less/common.less';
</style>
\ No newline at end of file
--
Gitblit v1.9.3