| | |
| | | </a-row> |
| | | </template> |
| | | <script> |
| | | import UserFactory from './modules/factoryManager/UserFactory' |
| | | import UserFactory from './modules/FactoryManager/UserFactory' |
| | | import { queryFactoryTreeList, searchByKeywords, deleteByFactory } from '@/api/api' |
| | | import { httpAction, deleteAction } from '@/api/manage' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import FactoryModal from './modules/factoryManager/FactoryModal' |
| | | import FactoryModal from './modules/FactoryManager/FactoryModal' |
| | | |
| | | export default { |
| | | name: 'FactoryManager', |
| | |
| | | <template> |
| | | <a-card :bordered="false" title="䏿"> |
| | | <a-card :bordered="false" title="ä¸ä¸ææ¥è¯¢"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <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="å·¥åå·"> |
| | | <j-search-select-tag placeholder="请è¾å
¥å·¥å·¥åå·" v-model="queryParam.workOrderId" dict="mes_production_work_order,work_order_code,id"></j-search-select-tag> |
| | | <j-search-select-tag placeholder="请è¾å
¥å·¥å·¥åå·" v-model="queryParam.workOrderId" |
| | | dict="mes_production_work_order,work_order_code,id"></j-search-select-tag> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="ç©æç¼ç "> |
| | | <j-input dictCode="work_order_status" placeholder="请è¾å
¥ç©æç¼ç " v-model="queryParam.materialNumber"></j-input> |
| | | <j-input dictCode="work_order_status" 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-input dictCode="work_order_status" placeholder="请è¾å
¥ç©æåç§°" v-model="queryParam.materialName"></j-input> |
| | | <j-input dictCode="work_order_status" placeholder="请è¾å
¥ç©æåç§°" |
| | | v-model="queryParam.materialName"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <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> |
| | | |
| | | <!-- 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>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">æ¸
空</a> |
| | | </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"> |
| | | |
| | | <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> |
| | | |
| | | <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"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical" /> |
| | |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | | </a-table> |
| | | </div> |
| | | <a-tabs v-model="activeKey" @change="handleChangeTabs"> |
| | | <a-tab-pane tab="䏿" :key="refKeys[0]" :forceRender="true"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 10px;"> |
| | | </div> |
| | | <j-vxe-table |
| | | keep-source |
| | | :ref="refKeys[0]" |
| | | :loading="mesMaterialUnloading.loading" |
| | | :columns="mesMaterialUnloading.columns" |
| | | :dataSource="mesMaterialUnloading.dataSource" |
| | | :maxHeight="300" |
| | | :rowNumber="true" |
| | | :rowSelection="true" |
| | | :toolbar="false" |
| | | /> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-spin> |
| | | <mes-material-loading-modal ref="modalForm" @ok="modalFormOk"></mes-material-loading-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialLoadingModal from './modules/MesMaterialLoadingModal' |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialLoadingModal from './modules/MesMaterialLoadingModal' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | import { getAction } from '@api/manage' |
| | | |
| | | export default { |
| | | name: 'MesMaterialLoadingList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialLoadingModal |
| | | }, |
| | | data () { |
| | | return { |
| | | description: 'ä¸æç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'å·¥åå·', |
| | | align:"center", |
| | | dataIndex: 'workOrderId_dictText' |
| | | }, |
| | | { |
| | | title:'设å¤ID', |
| | | align:"center", |
| | | dataIndex: 'equipmentId' |
| | | }, |
| | | { |
| | | title:'å·¥åºç¼ç ', |
| | | align:"center", |
| | | dataIndex: 'processCode' |
| | | }, |
| | | { |
| | | title:'å·¥åºåç§°', |
| | | align:"center", |
| | | dataIndex: 'processName' |
| | | }, |
| | | { |
| | | title:'ç©æç¼ç ', |
| | | align:"center", |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title:'ç©æåç§°', |
| | | align:"center", |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title:'æ¹æ¬¡å·', |
| | | align:"center", |
| | | dataIndex: 'batchNumber' |
| | | }, |
| | | { |
| | | title:'æ°é', |
| | | align:"center", |
| | | dataIndex: 'quantity' |
| | | }, |
| | | { |
| | | title:'å©ä½æ°é', |
| | | align:"center", |
| | | dataIndex: 'remainingQuantity' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | export default { |
| | | name: 'MesMaterialLoadingList', |
| | | mixins: [JeecgListMixin, mixinDevice,JVxeTableModelMixin,JVXETypes], |
| | | components: { |
| | | MesMaterialLoadingModal |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'ä¸æç®¡ç页é¢', |
| | | refKeys: ['mesMaterialUnloading'], |
| | | tableKeys: ['mesMaterialUnloading'], |
| | | activeKey: 'mesMaterialUnloading', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mes/mesMaterialLoading/list", |
| | | delete: "/mes/mesMaterialLoading/delete", |
| | | deleteBatch: "/mes/mesMaterialLoading/deleteBatch", |
| | | exportXlsUrl: "/mes/mesMaterialLoading/exportXls", |
| | | importExcelUrl: "mes/mesMaterialLoading/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | { |
| | | title: 'å·¥åå·', |
| | | align: 'center', |
| | | dataIndex: 'workOrderId_dictText' |
| | | }, |
| | | { |
| | | title: '设å¤ID', |
| | | align: 'center', |
| | | dataIndex: 'equipmentId' |
| | | }, |
| | | { |
| | | title: 'å·¥åºç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'processCode' |
| | | }, |
| | | { |
| | | title: 'å·¥åºåç§°', |
| | | align: 'center', |
| | | dataIndex: 'processName' |
| | | }, |
| | | { |
| | | title: 'ç©æç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title: 'ç©æåç§°', |
| | | align: 'center', |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title: 'æ¹æ¬¡å·', |
| | | align: 'center', |
| | | dataIndex: 'batchNumber' |
| | | }, |
| | | { |
| | | title: 'æ°é', |
| | | align: 'center', |
| | | dataIndex: 'quantity' |
| | | }, |
| | | { |
| | | title: 'å©ä½æ°é', |
| | | align: 'center', |
| | | dataIndex: 'remainingQuantity' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | width: 147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | mesMaterialUnloading: { |
| | | loading: false, |
| | | dataSource: [], |
| | | columns: [ |
| | | // { |
| | | // title: '䏿', |
| | | // key: 'loadingId', |
| | | // 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: '' |
| | | } |
| | | ] |
| | | }, |
| | | url: { |
| | | list: '/mes/mesMaterialLoading/list', |
| | | delete: '/mes/mesMaterialLoading/delete', |
| | | deleteBatch: '/mes/mesMaterialLoading/deleteBatch', |
| | | exportXlsUrl: '/mes/mesMaterialLoading/exportXls', |
| | | importExcelUrl: 'mes/mesMaterialLoading/importExcel', |
| | | queryUnloadingByLoadingId:'/mes/mesMaterialLoading/queryUnloadingByLoadingId' |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | initDictConfig() { |
| | | }, |
| | | async onSelectChange(selectedRowKeys) { |
| | | this.mesMaterialUnloading.loading = true |
| | | // å鿍¡å¼ä¸ï¼selectedRowKeys æ¯æ°ç»ï¼ä½é¿åº¦æå¤ä¸º1 |
| | | console.log('ç¹å»äº---->',selectedRowKeys[0]) |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.mesMaterialUnloading.dataSource=[] |
| | | // è·åéä¸è¡ç宿´æ°æ® |
| | | if (selectedRowKeys.length > 0) { |
| | | const selectedId = selectedRowKeys[0] // éä¸è¡çid |
| | | const mesMaterialUnloading = await getAction(this.url.queryUnloadingByLoadingId, { 'loadingId': selectedId }) |
| | | this.mesMaterialUnloading.dataSource = mesMaterialUnloading.result |
| | | this.mesMaterialUnloading.loading = false |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | 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:'workOrderId',text:'å·¥åID',dictCode:''}) |
| | | fieldList.push({type:'string',value:'equipmentId',text:'设å¤ID',dictCode:''}) |
| | | fieldList.push({type:'string',value:'processCode',text:'å·¥åºç¼ç ',dictCode:''}) |
| | | fieldList.push({type:'string',value:'processName',text:'å·¥åºåç§°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'materialNumber',text:'ç©æç¼ç ',dictCode:''}) |
| | | fieldList.push({type:'string',value:'materialName',text:'ç©æåç§°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'batchNumber',text:'æ¹æ¬¡å·',dictCode:''}) |
| | | fieldList.push({type:'double',value:'quantity',text:'æ°é',dictCode:''}) |
| | | fieldList.push({type:'double',value:'remainingQuantity',text:'å©ä½æ°é',dictCode:''}) |
| | | this.superFieldList = fieldList |
| | | } |
| | | getSuperFieldList() { |
| | | let fieldList = [] |
| | | fieldList.push({ type: 'int', value: 'delFlag', text: 'å 餿 è®°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'workOrderId', text: 'å·¥åID', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'equipmentId', text: '设å¤ID', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'processCode', text: 'å·¥åºç¼ç ', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'processName', text: 'å·¥åºåç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialNumber', text: 'ç©æç¼ç ', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialName', text: 'ç©æåç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'batchNumber', text: 'æ¹æ¬¡å·', dictCode: '' }) |
| | | fieldList.push({ type: 'double', value: 'quantity', text: 'æ°é', dictCode: '' }) |
| | | fieldList.push({ type: 'double', value: 'remainingQuantity', text: 'å©ä½æ°é', dictCode: '' }) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <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> |
| | | <!-- é«çº§æ¥è¯¢åºå --> |
| | | <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> |
| | | <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> |
| | | |
| | | <!-- 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>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">æ¸
空</a> |
| | | <j-modal |
| | | :title="title" |
| | | :width="width" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | switchFullscreen |
| | | @cancel="handleCancel" |
| | | :okButtonProps="{ style: { display: 'none' } }" |
| | | cancelText="å
³é"> |
| | | <a-card :bordered="false"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | </a-row> |
| | | </a-form> |
| | | </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}" |
| | | class="j-table-force-nowrap" |
| | | @change="handleTableChange"> |
| | | <!-- tableåºå-begin --> |
| | | <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}" |
| | | 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> |
| | | <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"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical" /> |
| | |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | </a-table> |
| | | </div> |
| | | |
| | | <mes-material-transfer-detail-modal ref="modalForm" @ok="modalFormOk"></mes-material-transfer-detail-modal> |
| | | </a-card> |
| | | <mes-material-transfer-detail-modal ref="modalForm" @ok="modalFormOk"></mes-material-transfer-detail-modal> |
| | | </a-card> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialTransferDetailModal from './modules/MesMaterialTransferDetailModal' |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialTransferDetailModal from './modules/MesMaterialTransferDetailModal' |
| | | |
| | | export default { |
| | | name: 'MesMaterialTransferDetailList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialTransferDetailModal |
| | | }, |
| | | data () { |
| | | return { |
| | | description: 'ç©ææå¨æç»ç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'å 餿 è®°', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | title:'ç³è¯·åID', |
| | | align:"center", |
| | | dataIndex: 'requestId' |
| | | }, |
| | | { |
| | | title:'ç©æç¼ç ', |
| | | align:"center", |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title:'ç©æåç§°', |
| | | align:"center", |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title:'ç论æå¨æ°é', |
| | | align:"center", |
| | | dataIndex: 'specifiedQuantity' |
| | | }, |
| | | { |
| | | title:'å®é
æå¨æ°é', |
| | | align:"center", |
| | | dataIndex: 'actualQuantity' |
| | | }, |
| | | { |
| | | title:'车é´å©ä½æ°é', |
| | | align:"center", |
| | | dataIndex: 'remainingQuantity' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | export default { |
| | | name: 'MesMaterialTransferDetailList', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialTransferDetailModal |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'ç©ææå¨æç»ç®¡ç页é¢', |
| | | title: 'ç©ææå¨æç»', |
| | | width: 1000, |
| | | toolsVisable: true, |
| | | visible: false, |
| | | confirmLoading: false, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mes/mesMaterialTransferDetail/list", |
| | | delete: "/mes/mesMaterialTransferDetail/delete", |
| | | deleteBatch: "/mes/mesMaterialTransferDetail/deleteBatch", |
| | | exportXlsUrl: "/mes/mesMaterialTransferDetail/exportXls", |
| | | importExcelUrl: "mes/mesMaterialTransferDetail/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | // { |
| | | // title: 'å 餿 è®°', |
| | | // align: 'center', |
| | | // dataIndex: 'delFlag' |
| | | // }, |
| | | // { |
| | | // title: 'ç³è¯·åID', |
| | | // align: 'center', |
| | | // dataIndex: 'requestId' |
| | | // }, |
| | | { |
| | | title: 'ç©æç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title: 'ç©æåç§°', |
| | | align: 'center', |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title: 'ç论æå¨æ°é', |
| | | align: 'center', |
| | | dataIndex: 'specifiedQuantity' |
| | | }, |
| | | { |
| | | title: 'å®é
æå¨æ°é', |
| | | align: 'center', |
| | | dataIndex: 'actualQuantity' |
| | | }, |
| | | { |
| | | title: '车é´å©ä½æ°é', |
| | | align: 'center', |
| | | dataIndex: 'remainingQuantity' |
| | | }, |
| | | // { |
| | | // title: 'æä½', |
| | | // dataIndex: 'action', |
| | | // align: 'center', |
| | | // fixed: 'right', |
| | | // width: 147, |
| | | // scopedSlots: { customRender: 'action' } |
| | | // } |
| | | ], |
| | | url: { |
| | | list: '/mes/mesMaterialTransferDetail/list', |
| | | delete: '/mes/mesMaterialTransferDetail/delete', |
| | | deleteBatch: '/mes/mesMaterialTransferDetail/deleteBatch', |
| | | exportXlsUrl: '/mes/mesMaterialTransferDetail/exportXls', |
| | | importExcelUrl: 'mes/mesMaterialTransferDetail/importExcel' |
| | | |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | handleCancel(){ |
| | | this.visible=false |
| | | this.dataSource = [] |
| | | }, |
| | | methods: { |
| | | initDictConfig(){ |
| | | }, |
| | | getSuperFieldList(){ |
| | | let fieldList=[]; |
| | | fieldList.push({type:'int',value:'delFlag',text:'å 餿 è®°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'requestId',text:'ç³è¯·åID',dictCode:''}) |
| | | fieldList.push({type:'string',value:'materialNumber',text:'ç©æç¼ç ',dictCode:''}) |
| | | fieldList.push({type:'string',value:'materialName',text:'ç©æåç§°',dictCode:''}) |
| | | fieldList.push({type:'double',value:'specifiedQuantity',text:'ç论æå¨æ°é',dictCode:''}) |
| | | fieldList.push({type:'double',value:'actualQuantity',text:'å®é
æå¨æ°é',dictCode:''}) |
| | | fieldList.push({type:'double',value:'remainingQuantity',text:'车é´å©ä½æ°é',dictCode:''}) |
| | | this.superFieldList = fieldList |
| | | } |
| | | initDictConfig() { |
| | | }, |
| | | getSuperFieldList() { |
| | | let fieldList = [] |
| | | fieldList.push({ type: 'int', value: 'delFlag', text: 'å 餿 è®°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'requestId', text: 'ç³è¯·åID', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialNumber', text: 'ç©æç¼ç ', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialName', text: 'ç©æåç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'double', value: 'specifiedQuantity', text: 'ç论æå¨æ°é', dictCode: '' }) |
| | | fieldList.push({ type: 'double', value: 'actualQuantity', text: 'å®é
æå¨æ°é', dictCode: '' }) |
| | | fieldList.push({ type: 'double', value: 'remainingQuantity', text: '车é´å©ä½æ°é', dictCode: '' }) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <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> |
| | | <!-- é«çº§æ¥è¯¢åºå --> |
| | | <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> |
| | | <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> |
| | | |
| | | <!-- 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>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">æ¸
空</a> |
| | | <j-modal |
| | | :title="title" |
| | | :width="width" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | switchFullscreen |
| | | @cancel="handleCancel" |
| | | :okButtonProps="{ style: { display: 'none' } }" |
| | | cancelText="å
³é"> |
| | | <a-card :bordered="false"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | <!-- tableåºå-begin --> |
| | | <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}" |
| | | class="j-table-force-nowrap" |
| | | @change="handleTableChange"> |
| | | |
| | | <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> |
| | | |
| | | <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"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical" /> |
| | |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | | <mes-material-unloading-modal ref="modalForm" @ok="modalFormOk"></mes-material-unloading-modal> |
| | | </a-card> |
| | | </a-table> |
| | | </div> |
| | | <mes-material-unloading-modal ref="modalForm" @ok="modalFormOk"></mes-material-unloading-modal> |
| | | </a-card> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialUnloadingModal from './modules/MesMaterialUnloadingModal' |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesMaterialUnloadingModal from './modules/MesMaterialUnloadingModal' |
| | | |
| | | export default { |
| | | name: 'MesMaterialUnloadingList', |
| | | mixins:[JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialUnloadingModal |
| | | }, |
| | | data () { |
| | | return { |
| | | description: 'ä¸æç®¡ç页é¢', |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title:'å 餿 è®°', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | title:'䏿id', |
| | | align:"center", |
| | | dataIndex: 'loadingId' |
| | | }, |
| | | { |
| | | title:'ç©æç¼ç ', |
| | | align:"center", |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title:'ç©æåç§°', |
| | | align:"center", |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title:'æ¹æ¬¡å·', |
| | | align:"center", |
| | | dataIndex: 'batchNumber' |
| | | }, |
| | | { |
| | | title:'æ°é', |
| | | align:"center", |
| | | dataIndex: 'quantity' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' } |
| | | export default { |
| | | name: 'MesMaterialUnloadingList', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MesMaterialUnloadingModal |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'ä¸æç®¡ç页é¢', |
| | | title: 'ä¸æè¯¦æ
', |
| | | width: 1000, |
| | | toolsVisable: true, |
| | | visible: false, |
| | | confirmLoading: false, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/mes/mesMaterialUnloading/list", |
| | | delete: "/mes/mesMaterialUnloading/delete", |
| | | deleteBatch: "/mes/mesMaterialUnloading/deleteBatch", |
| | | exportXlsUrl: "/mes/mesMaterialUnloading/exportXls", |
| | | importExcelUrl: "mes/mesMaterialUnloading/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | // { |
| | | // title: 'å 餿 è®°', |
| | | // align: 'center', |
| | | // dataIndex: 'delFlag' |
| | | // }, |
| | | // { |
| | | // title: '䏿id', |
| | | // align: 'center', |
| | | // dataIndex: 'loadingId' |
| | | // }, |
| | | { |
| | | title: 'ç©æç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title: 'ç©æåç§°', |
| | | align: 'center', |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title: 'æ¹æ¬¡å·', |
| | | align: 'center', |
| | | dataIndex: 'batchNumber' |
| | | }, |
| | | { |
| | | title: 'æ°é', |
| | | align: 'center', |
| | | dataIndex: 'quantity' |
| | | }, |
| | | ], |
| | | url: { |
| | | list: '/mes/mesMaterialUnloading/list', |
| | | delete: '/mes/mesMaterialUnloading/delete', |
| | | deleteBatch: '/mes/mesMaterialUnloading/deleteBatch', |
| | | exportXlsUrl: '/mes/mesMaterialUnloading/exportXls', |
| | | importExcelUrl: 'mes/mesMaterialUnloading/importExcel' |
| | | |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | handleCancel(){ |
| | | this.visible=false |
| | | this.dataSource = [] |
| | | }, |
| | | methods: { |
| | | initDictConfig(){ |
| | | }, |
| | | getSuperFieldList(){ |
| | | let fieldList=[]; |
| | | fieldList.push({type:'int',value:'delFlag',text:'å 餿 è®°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'loadingId',text:'䏿id',dictCode:''}) |
| | | fieldList.push({type:'string',value:'materialNumber',text:'ç©æç¼ç ',dictCode:''}) |
| | | fieldList.push({type:'string',value:'materialName',text:'ç©æåç§°',dictCode:''}) |
| | | fieldList.push({type:'string',value:'batchNumber',text:'æ¹æ¬¡å·',dictCode:''}) |
| | | fieldList.push({type:'double',value:'quantity',text:'æ°é',dictCode:''}) |
| | | this.superFieldList = fieldList |
| | | } |
| | | initDictConfig() { |
| | | }, |
| | | getSuperFieldList() { |
| | | let fieldList = [] |
| | | fieldList.push({ type: 'int', value: 'delFlag', text: 'å 餿 è®°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'loadingId', text: '䏿id', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialNumber', text: 'ç©æç¼ç ', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialName', text: 'ç©æåç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'batchNumber', text: 'æ¹æ¬¡å·', dictCode: '' }) |
| | | fieldList.push({ type: 'double', value: 'quantity', text: 'æ°é', dictCode: '' }) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card :bordered="false" title="ç产订å"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <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="ç产订åå·"> |
| | | <j-input placeholder="请è¾å
¥ç产订åå·" v-model="queryParam.orderCode"></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="orderCategory" placeholder="请è¾å
¥è®¢åç±»å" |
| | | v-model="queryParam.orderCategory"></j-dict-select-tag> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="ç©æç¼å·"> |
| | | <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-input placeholder="请è¾å
¥ç©æåç§°" v-model="queryParam.materialName"></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="order_status" placeholder="请è¾å
¥è®¢åç¶æ" |
| | | v-model="queryParam.orderStatus"></j-dict-select-tag> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="计åå·¥èºè·¯çº¿"> |
| | | <j-input placeholder="请è¾å
¥è®¡åå·¥èºè·¯çº¿" v-model="queryParam.processRoute"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="计åç©ææ¸
å"> |
| | | <j-input placeholder="请è¾å
¥è®¡åç©ææ¸
å" v-model="queryParam.materialListCode"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="å·¥åç¼ç "> |
| | | <j-input placeholder="请è¾å
¥å·¥åç¼ç " v-model="queryParam.factoryCode"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="å·¥ååç§°"> |
| | | <j-input placeholder="请è¾å
¥å·¥ååç§°" v-model="queryParam.factoryName"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="客æ·åå·"> |
| | | <j-input placeholder="请è¾å
¥å®¢æ·åå·" v-model="queryParam.customerOrderModel"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="客æ·åç§°"> |
| | | <j-input placeholder="请è¾å
¥å®¢æ·åç§°" v-model="queryParam.customer"></j-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <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> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- æ¥è¯¢åºå-END --> |
| | | |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <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"> |
| | | |
| | | <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> |
| | | |
| | | <a-divider type="vertical" /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">æ´å¤ <a-icon type="down" /></a> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item> |
| | | <a @click="handleDetail(record)">详æ
</a> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)"> |
| | | <a>å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | </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"> |
| | | </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="mesTransferOrderPrint.loading" |
| | | :columns="mesTransferOrderPrint.columns" |
| | | :dataSource="mesTransferOrderPrint.dataSource" |
| | | :maxHeight="300" |
| | | :rowNumber="true" |
| | | :rowSelection="true" |
| | | :toolbar="false"> |
| | | </j-vxe-table> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-spin> |
| | | <mes-production-order-modal ref="modalForm" @ok="modalFormOk"></mes-production-order-modal> |
| | | </a-card> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MesProductionOrderModal from './modules/MesProductionOrderModal' |
| | | import { filterMultiDictText } from '@/components/dict/JDictSelectUtil' |
| | | import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' |
| | | import { JVXETypes } from '@/components/jeecg/JVxeTable' |
| | | import { getAction } from '@api/manage' |
| | | export default { |
| | | name: 'MesProductionOrderList', |
| | | mixins: [JeecgListMixin, mixinDevice,JVxeTableModelMixin,JVXETypes], |
| | | components: { |
| | | MesProductionOrderModal, |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'SAPç产订å管ç页é¢', |
| | | activeKey : 'mesWorkReporting', |
| | | // 工忥工 |
| | | refKeys1: ['mesWorkReporting'], |
| | | tableKeys1: ['mesWorkReporting'], |
| | | //ç§»åºåæå° |
| | | refKeys2: ['mesTransferOrderPrint'], |
| | | tableKeys2: ['mesTransferOrderPrint'], |
| | | |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç产订åå·', |
| | | align: 'center', |
| | | dataIndex: 'orderCode' |
| | | }, |
| | | { |
| | | title: '订åç±»å', |
| | | align: 'center', |
| | | dataIndex: 'orderCategory' |
| | | }, |
| | | { |
| | | title: 'ç©æç¼å·', |
| | | align: 'center', |
| | | dataIndex: 'materialNumber' |
| | | }, |
| | | { |
| | | title: 'ç©æåç§°', |
| | | align: 'center', |
| | | dataIndex: 'materialName' |
| | | }, |
| | | { |
| | | title: '计åå¼å§æ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'planStart' |
| | | }, |
| | | { |
| | | title: '计åç»ææ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'planEnd' |
| | | }, |
| | | { |
| | | title: 'è®¢åæ°é', |
| | | align: 'center', |
| | | dataIndex: 'orderQuantity' |
| | | }, |
| | | { |
| | | title: '产ååä½', |
| | | align: 'center', |
| | | dataIndex: 'productionUnit_dictText' |
| | | }, |
| | | { |
| | | title: '订åç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'orderStatus_dictText' |
| | | }, |
| | | { |
| | | title: 'ä¼å
级', |
| | | align: 'center', |
| | | dataIndex: 'priority_dictText' |
| | | }, |
| | | { |
| | | title: '计åå·¥èºè·¯çº¿', |
| | | align: 'center', |
| | | dataIndex: 'processRoute' |
| | | }, |
| | | { |
| | | title: '计åç©ææ¸
å', |
| | | align: 'center', |
| | | dataIndex: 'materialListCode' |
| | | }, |
| | | { |
| | | title: 'å·¥åç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'factoryCode' |
| | | }, |
| | | { |
| | | title: 'å·¥ååç§°', |
| | | align: 'center', |
| | | dataIndex: 'factoryName' |
| | | }, |
| | | { |
| | | title: '客æ·åå·', |
| | | align: 'center', |
| | | dataIndex: 'customerOrderModel' |
| | | }, |
| | | { |
| | | title: '客æ·åç§°', |
| | | align: 'center', |
| | | dataIndex: 'customer' |
| | | }, |
| | | { |
| | | title: '夿³¨', |
| | | align: 'center', |
| | | dataIndex: 'remark' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | width: 147, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | mesWorkReporting: { |
| | | loading: false, |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: '订åå·', |
| | | key: 'orderCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'å·¥åå·', |
| | | key: 'workOrderCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: '产线åç§°', |
| | | key: 'factoryName', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æ¹æ¬¡å·', |
| | | key: 'batchNumber', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æå·', |
| | | key: 'palletNumber', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æ°é', |
| | | key: 'quantity', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æ¥å·¥äºº', |
| | | key: 'reporter', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æ¥å·¥æ¶é´', |
| | | key: 'reportTime', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: '线边ä»åç§°', |
| | | key: 'warehouseName', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æåä¸çº¿æå°ç¶æ', |
| | | key: 'printStatus', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | ] |
| | | }, |
| | | mesTransferOrderPrint: { |
| | | loading: false, |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: '订åå·', |
| | | key: 'orderCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ç§»åºåå·', |
| | | key: 'workOrderCode', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ç§»åºç±»å', |
| | | key: 'orderCategory', |
| | | 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: 'palletNumber', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æ°é', |
| | | key: 'quantity', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æä½äºº', |
| | | key: 'operator', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'æä½æ¶é´', |
| | | key: 'operateTime', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | { |
| | | title: 'ç§»åºåç¶æ', |
| | | key: 'orderStatus', |
| | | type: JVXETypes.input, |
| | | width: '200px', |
| | | placeholder: '请è¾å
¥${title}', |
| | | defaultValue: '' |
| | | }, |
| | | ] |
| | | }, |
| | | url: { |
| | | list: '/mesproductionwork/mesProductionOrder/list', |
| | | delete: '/mesproductionwork/mesProductionOrder/delete', |
| | | deleteBatch: '/mesproductionwork/mesProductionOrder/deleteBatch', |
| | | exportXlsUrl: '/mesproductionwork/mesProductionOrder/exportXls', |
| | | importExcelUrl: 'mesproductionwork/mesProductionOrder/importExcel', |
| | | queryWorkReportingByOrderId:'/mesworkreporting/mesWorkReporting/queryWorkReportingByOrderId', |
| | | queryOrderPrintByOrderId:'/mestransferorderprint/mesTransferOrderPrint/queryOrderPrintByOrderId' |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | //mesWorkReporting,mesTransferOrderPrint |
| | | async onSelectChange(selectedRowKeys) { |
| | | this.mesWorkReporting.loading = true |
| | | this.mesTransferOrderPrint.loading = true |
| | | |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.mesWorkReporting.dataSource = [] |
| | | this.mesTransferOrderPrint.dataSource = [] |
| | | |
| | | if (selectedRowKeys.length > 0) { |
| | | const selectedId = selectedRowKeys[0] // éä¸è¡çid |
| | | let parm = { |
| | | 'orderId': selectedId |
| | | } |
| | | const mesWorkReportingResult = await getAction(this.url.queryWorkReportingByOrderId, parm) |
| | | const mesTransferOrderPrintResult = await getAction(this.url.queryOrderPrintByOrderId, parm) |
| | | this.mesWorkReporting.dataSource = mesWorkReportingResult.result |
| | | this.mesTransferOrderPrint.dataSource = mesTransferOrderPrintResult.result |
| | | this.mesWorkReporting.loading = false |
| | | this.mesTransferOrderPrint.loading = false |
| | | } |
| | | }, |
| | | |
| | | initDictConfig() { |
| | | }, |
| | | getSuperFieldList() { |
| | | let fieldList = [] |
| | | fieldList.push({ type: 'int', value: 'delFlag', text: 'å 餿 è®°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'orderCode', text: 'ç产订åå·', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'orderCategory', text: '订åç±»å', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialNumber', text: 'ç©æç¼å·', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialName', text: 'ç©æåç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'datetime', value: 'planStart', text: '计åå¼å§æ¥æ' }) |
| | | fieldList.push({ type: 'datetime', value: 'planEnd', text: '计åç»ææ¥æ' }) |
| | | fieldList.push({ type: 'double', value: 'orderQuantity', text: 'è®¢åæ°é', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'productionUnit', text: '产ååä½', dictCode: 'production_unit' }) |
| | | fieldList.push({ type: 'string', value: 'orderStatus', text: '订åç¶æ', dictCode: 'order_status' }) |
| | | fieldList.push({ type: 'string', value: 'priority', text: 'ä¼å
级', dictCode: 'priority' }) |
| | | fieldList.push({ type: 'string', value: 'processRoute', text: '计åå·¥èºè·¯çº¿', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'materialListCode', text: '计åç©ææ¸
å', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'factoryCode', text: 'å·¥åç¼ç ', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'factoryName', text: 'å·¥ååç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'customerOrderModel', text: '客æ·åå·', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'customer', text: '客æ·åç§°', dictCode: '' }) |
| | | fieldList.push({ type: 'string', value: 'remark', text: '夿³¨', dictCode: '' }) |
| | | this.superFieldList = fieldList |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | </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> |
| | | <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> |
| | | <j-select-user-by-dep placeholder="请è¾å
¥éåå¸äºº" |
| | | v-model="queryParam.republisher"></j-select-user-by-dep> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | |
| | | </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"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical" /> |
| | |
| | | </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> |
| | | </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 } 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' |
| | | |
| | | 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 |
| | | }, |
| | | 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' |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList() |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function() { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` |
| | | } |
| | | }, |
| | | methods: { |
| | | 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> |