src/views/tms/InboundList.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ <template> <a-row type="flex" :gutter="16" > <a-col :md="5" :sm="24" > <inbound-list-left /> </a-col> <a-col :md="24-5" :sm="24" > <inbound-list-right /> </a-col> </a-row> </template> <script> import InboundListLeft from './modules/inbound/InboundListLeft' import InboundListRight from './modules/inbound/InboundListRight' export default { name: 'InboundList', components: { InboundListLeft, InboundListRight }, data() { return { description: 'å·¥å ·å ¥åº', currentOrgCode: '' } }, methods: {} } </script> <style scoped> @import '~@assets/less/common.less'; </style> src/views/tms/InboundOrderList.vue
@@ -72,8 +72,8 @@ <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import InboundOrderModel from './modules/inbound/InboundOrderModel' import InboundDetailList from './modules/inbound/InboundDetailList' import InboundOrderModel from './modules/inboundOrder/InboundOrderModel' import InboundDetailList from './modules/inboundOrder/InboundDetailList' import { requestPut } from '@/api/manage' import JDictSelectTag from '@/components/dict/JDictSelectTag' import JSearchSelectTag from '@/components/dict/JSearchSelectTag' @@ -93,10 +93,8 @@ description: 'å ¥åºç³è¯·å', url: { list: '/tms/inboundOrder/list', toolingStorageStatus: '/tooling/storage/toolingStorageStatus', importExcelUrl: 'tooling/storage/importExcel', exportXlsUrl: '/tooling/storage/exportXls', takeBack: '/tooling/storage/takeBack', importExcelUrl: '/tms/inboundOrder/importExcel', exportXlsUrl: '/tms/inboundOrder/exportXls', edit:'/tms/inboundOrder/edit', submit:'/tms/inboundOrder/submit' }, src/views/tms/modules/baseTools/BaseToolsListRight.vue
@@ -54,10 +54,10 @@ > <a-button @click="handleAdd(nodeSelected)" type="primary" icon="plus" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">æ°å¢</a-button> </Tooltip> <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">导åº</a-button> <!-- <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">导åº</a-button> <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> <a-button type="primary" icon="import">å¯¼å ¥</a-button> </a-upload> </a-upload> --> </div> <!-- tableåºå-begin --> @@ -75,6 +75,7 @@ :loading="loading" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" class="j-table-force-nowrap" :customRow="customRow" @change="handleTableChange"> <template slot="htmlSlot" slot-scope="text"> @@ -200,6 +201,18 @@ data () { return { description: 'å·¥å ·ä¿¡æ¯ç®¡ç页é¢', /* å页忰 */ ipagination:{ current: 1, pageSize: 10, pageSizeOptions: ['10', '20', '50'], showTotal: (total, range) => { return range[0] + "-" + range[1] + " å ±" + total + "æ¡" }, showQuickJumper: true, showSizeChanger: true, total: 0 }, // 表头 columns: [ { @@ -520,8 +533,10 @@ .then((res) => { if (res.success) { this.dataSource = res.result.records; // æ´æ°è¡¨æ ¼æ°æ® this.ipagination.total = res.result.total } else { this.$message.warning("è¯·éæ©å¶åèç¹è¿è¡æ¥è¯¢"); this.ipagination.total = 0 } }) .finally(() => { @@ -552,7 +567,16 @@ this.$refs.paraTurningToolsList.visable = false this.$refs.paraBladeList.visable = false this.$refs.toolsConfigPropertyList.visable = false } }, customRow(record) { return { on: { click: () => { this.onSelectChange(record.id.split(","), [record]); } } } }, }, } src/views/tms/modules/inbound/InboundListLeft.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,323 @@ <template> <a-card :loading="cardLoading" :bordered="false" title="å·¥å ·åç±»" style="height: 100%;" > <a-spin :spinning="loading"> <a-alert type="info" :showIcon="true" style="margin-right: 54px;" > <div slot="message"> å½åï¼<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span> <a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected" >åæ¶</a> </div> </a-alert> <!-- <div class="drawer-bootom-button"> <a-dropdown :trigger="['click']" placement="bottomCenter" > <a-menu slot="overlay"> <a-menu-item key="1" @click="expandAll" >å±å¼ææ</a-menu-item> <a-menu-item key="2" @click="closeAll" >åå¹¶ææ</a-menu-item> <a-menu-item key="3" @click="refreshTree" >å·æ°</a-menu-item> </a-menu> <a-button> <a-icon type="bars" /> </a-button> </a-dropdown> </div> --> <a-input-search @search="handleSearch" style="width:100%;margin-top: 10px" placeholder="æ£ç´¢å·¥å ·åç±»" allowClear v-model="searchInput" @change="handleChange" /> <!-- showLine --> <a-tree :checkStrictly="checkStrictly" :selectedKeys="selectedKeys" :dropdownStyle="{maxHeight:'200px',overflow:'auto'}" :treeData="treeDataSource" :defaultExpandAll="true" @select="onSelect" @expand="onExpand" > <template slot="title" slot-scope="{title, type, rfield1}" > <Tooltip placement="top" title="å·¥å ·åç±»" > <i v-if="type == 0" class="action-jeecg actioncompany2" style="font-size: 18px;" /> </Tooltip> <span v-if="title.indexOf(searchValue) > -1"> {{ title.substr(0, title.indexOf(searchValue)) }} <span class="replaceSearch">{{ searchValue }}</span> {{ title.substr(title.indexOf(searchValue) + searchValue.length) }} </span> <span v-else>{{ title }}</span> </template> </a-tree> </a-spin> </a-card> </template> <script> import { getAction } from '@/api/manage' import Tooltip from 'ant-design-vue/es/tooltip' export default { name: 'inboundListLeft', components: { Tooltip, }, props: ['value'], data() { return { searchInput: '', cardLoading: false, loading: false, treeDataSource: [], selectedKeys: [], expandedKeys: [], url: { factoryTreeList: '/tms/toolsClassify/loadTree', }, searchValue: '', dataList: [], autoExpandParent: true, checkStrictly: true, allTreeKeys: [], currSelected: {}, hiding: false, } }, created() { this.queryTreeData(); this.closeAll(); }, methods: { getCurrSelectedTitle() { return !this.currSelected.title ? '' : this.currSelected.title; }, onClearSelected() { this.hiding = true; this.currSelected = {}; this.selectedKeys = []; }, onSelect(selectedKeys, e) { this.hiding = false; let record = e.node.dataRef; this.currSelected = Object.assign({}, record); this.selectedKeys = [record.key]; }, onExpand(expandedKeys) { this.expandedKeys = expandedKeys; this.autoExpandParent = false; }, queryTreeData() { this.loading = true; this.cardLoading = true; getAction(this.url.factoryTreeList).then((res) => { if (res.success) { this.dataList = []; this.allTreeKeys = []; this.treeDataSource = res.result; this.generateList(res.result); } else { this.$message.warn(res.message); } }).finally(() => { this.loading = false; this.cardLoading = false; }) }, handleChange() { let search = this.searchInput; let expandedKeys = this.dataList .map(item => { if (item.title.indexOf(search) > -1) { return this.getParentKey(item.key, this.treeDataSource); } return null; }) .filter((item, i, self) => item && self.indexOf(item) === i); Object.assign(this, { expandedKeys, searchValue: search, autoExpandParent: true, }); }, handleSearch(value) { let search = value; let expandedKeys = this.dataList .map(item => { if (item.title.indexOf(search) > -1) { return this.getParentKey(item.key, this.treeDataSource); } return null; }) .filter((item, i, self) => item && self.indexOf(item) === i); Object.assign(this, { expandedKeys, searchValue: search, autoExpandParent: true, }); }, getParentKey(key, tree) { let parentKey; for (let i = 0; i < tree.length; i++) { const node = tree[i]; if (node.children) { if (node.children.some(item => item.key === key)) { parentKey = node.key; } else if ( this.getParentKey(key, node.children)) { parentKey = this.getParentKey(key, node.children); } } } return parentKey; }, generateList(data) { for (let i = 0; i < data.length; i++) { const node = data[i]; const key = node.key; const title = node.title; this.dataList.push({ key, title: title }); this.allTreeKeys.push(key); if (node.children) { this.generateList(node.children); } } }, expandAll() { this.expandedKeys = this.allTreeKeys; }, closeAll() { this.expandedKeys = this.allSiteIds; }, refreshTree() { this.queryTreeData(); } }, mounted() { this.$bus.$on('queryTreeData', this.queryTreeData); }, //çå¬ watch: { currSelected(val) {//çå¬currSelected ååï¼å°åååçæ°å¼ä¼ éç» getCurrSelected äºä»¶ this.$bus.$emit('getCurrSelected', val) }, } } </script> <style scoped> .replaceSearch { color: #40a9ff; font-weight: bold; background-color: rgb(204, 204, 204); } /*éèæ çé»è®¤icon*/ .ant-tree-switcher-noop { display: none !important; } /*éèæ çé»è®¤ç«çº¿*/ .ant-tree.ant-tree-show-line li:not(:last-child):before { border-left: 0px; } .ant-card-body .table-operator { margin: 15px; } .anty-form-btn { width: 100%; text-align: center; } .anty-form-btn button { margin: 0 5px; } .anty-node-layout .ant-layout-header { padding-right: 0; } .header { padding: 0 8px; } .header button { margin: 0 3px; } .ant-modal-cust-warp { height: 100%; } .ant-modal-cust-warp .ant-modal-body { height: calc(100% - 110px) !important; overflow-y: auto; } .ant-modal-cust-warp .ant-modal-content { height: 90% !important; overflow-y: hidden; } #app .desktop { height: auto !important; } /** Buttonæé®é´è· */ .ant-btn { margin-left: 3px; } .ant-alert { padding: 5px 15px 5px 37px; } .drawer-bootom-button { position: absolute; top: 1px; /* padding: 10px 16px; */ text-align: left; right: 0; background: #fff; border-radius: 0 0 2px 2px; } </style> src/views/tms/modules/inbound/InboundListRight.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,515 @@ <template> <a-card :bordered="false"> <!-- æ¥è¯¢åºå --> <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> <a-col :md="6" :sm="8" > <a-form-item label="å·¥å ·ç¼å·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}" > <a-input placeholder="请è¾å ¥å·¥å ·ç¼å·æ£ç´¢" v-model="queryParam.toolCode" ></a-input> </a-form-item> </a-col> <a-col :md="6" :sm="8" > <a-form-item label="åå·/å¾å·" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}" > <a-input placeholder="请è¾å ¥åå·/å¾å·æ£ç´¢" v-model="queryParam.toolModel" ></a-input> </a-form-item> </a-col> <a-col :md="6" :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 --> <!-- æä½æé®åºå --> <div class="table-operator"> <Tooltip placement="top" title="éæ©å¶åèç¹ååæ§è¡æ°å¢" > <a-button @click="handleAdd(nodeSelected)" type="primary" icon="plus" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">æ°å¢</a-button> </Tooltip> <!-- <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">导åº</a-button> <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> <a-button type="primary" icon="import">å¯¼å ¥</a-button> </a-upload> --> <a-button @click="handleInbound(nodeSelected)" type="primary" icon="plus">ç³è¯·åå ¥åº</a-button> </div> <!-- 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,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 defaultActiveKey="1"> <a-tab-pane key="1"> <span slot="tab"> <a-badge>åæ° </a-badge> </span> <para-hole-tools-list ref="paraHoleToolsList"></para-hole-tools-list> <para-threading-tool-list ref="paraThreadingToolList"></para-threading-tool-list> <para-mill-tool-list ref="paraMillToolList"></para-mill-tool-list> <para-turning-tools-list ref="paraTurningToolsList"></para-turning-tools-list> <para-blade-list ref="paraBladeList"></para-blade-list> <para-common-tool-list ref="paraCommonToolList"></para-common-tool-list> </a-tab-pane> <a-tab-pane key="2" forceRender > <span slot="tab"> <a-badge>管çåæ° </a-badge> </span> <tools-config-property-list ref="toolsConfigPropertyList"></tools-config-property-list> </a-tab-pane> </a-tabs> <inbound-model ref="modalForm" @ok="modalFormOk" :nodeSelected="nodeSelected"></inbound-model> </a-card> </template> <script> import '@/assets/less/TableExpand.less' import { mixinDevice } from '@/utils/mixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import Tooltip from 'ant-design-vue/es/tooltip' import { getAction, postAction, deleteAction, requestPut } from '@api/manage' import ParaHoleToolsList from '.././baseTools/ParaHoleToolsList' import ToolsConfigPropertyList from '.././baseTools/ToolsConfigPropertyList' import ParaMillToolList from '.././baseTools/ParaMillToolList' import ParaThreadingToolList from '.././baseTools/ParaThreadingToolList' import ParaTurningToolsList from '.././baseTools/ParaTurningToolsList' import ParaCommonToolList from '.././baseTools/ParaCommonToolList' import ParaBladeList from '.././baseTools/ParaBladeList' import InboundModel from './InboundModel' export default { name: 'InboundListRight', mixins:[JeecgListMixin, mixinDevice], components: { Tooltip, ParaHoleToolsList, ToolsConfigPropertyList, ParaMillToolList, ParaThreadingToolList, ParaTurningToolsList, ParaCommonToolList, ParaBladeList, InboundModel }, data () { return { description: 'å·¥å ·å ¥åºç®¡ç页é¢', /* å页忰 */ ipagination:{ current: 1, pageSize: 10, pageSizeOptions: ['10', '20', '50'], showTotal: (total, range) => { return range[0] + "-" + range[1] + " å ±" + total + "æ¡" }, showQuickJumper: true, showSizeChanger: true, total: 0 }, // 表头 columns: [ { title: '#', dataIndex: '', key:'rowIndex', width:60, align:"center", customRender:function (t,r,index) { return parseInt(index)+1; } }, { title:'å·¥å ·ç¼ç ', align:"center", dataIndex: 'toolCode' }, { title:'å ¥åºç±»å', align:"center", dataIndex: 'inStorehouseType' }, { title:'åå·/å¾å·', align:"center", dataIndex: 'toolModel' }, { title:'䏿åç§°', align:"center", dataIndex: 'chineseName' }, { title:'å ¥åºæ°é', align:"center", dataIndex: 'inStorageQuantity' }, // { // title:'夿³¨', // align:"center", // dataIndex: 'remark' // }, { title:'å建人', align:"center", dataIndex: 'createBy' }, { title:'å建æ¶é´', align:"center", dataIndex: 'createTime', customRender:function (text) { return !text?"":(text.length>10?text.substr(0,10):text) } }, { title: 'æä½', dataIndex: 'action', align:"center", fixed:"right", width:147, scopedSlots: { customRender: 'action' } } ], url: { list: "/tms/inboundDetail/list", paraHolesToolsList:"/tms/baseTools/paraHolesToolsList", paraCommonToolList:"/tms/baseTools/paraCommonToolList", paraThreadingToolList:"/tms/baseTools/paraThreadingToolList", paraMillToolList:"/tms/baseTools/paraMillToolList", paraTurningToolsList:"/tms/baseTools/paraTurningToolsList", paraBladeList:"/tms/baseTools/paraBladeList", delete: "/tms/baseTools/delete", deleteBatch: "/tms/baseTools/deleteBatch", edit: '/tms/baseTools/edit', exportXlsUrl: "/tms/baseTools/exportXls", importExcelUrl: "tms/baseTools/importExcel", queryParaByToolCode:"/tms/baseTools/queryByToolCode", queryByToolCode:"/tms/toolsConfigProperty/queryByToolCode" }, dictOptions:{}, superFieldList:[], nodeSelected: {}, // å½åéä¸çèç¹æ°æ® paraTypeFlag:'', disableMixinCreated:true } }, created() { this.$bus.$on('getCurrSelected', (data) => { //getCurrSelected äºä»¶ æ¥æ¶ç»ä»¶ä¼ éçåæ° this.nodeType = (data.type == undefined ? 0 : data.type); this.paraTypeFlag = (data.entity == undefined ? 0 : data.entity.paraTypeFlag) this.nodeSelected = data; this.loadData() this.clearPara() }) }, computed: { importExcelUrl: function(){ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; }, }, methods: { handleAdd(entity) { if (!this.nodeSelected ) { this.$message.warning('请å éæ©ä¸ä¸ªå·¥å ·åç±»'); return; } // æå¼æ°å¢æ¨¡ææ¡ï¼å¹¶ä¼ éå½åéä¸çèç¹ this.$refs.modalForm.add(this.nodeSelected); this.$refs.modalForm.title = "æ°å¢éç¨åæ°ç±»åå·¥å ·"; this.$refs.modalForm.disableSubmit = false; }, handleDelete(id) { deleteAction(this.url.delete, {id: id}).then((res) => { if (res.success) { //éæ°è®¡ç®å页é®é¢ this.loadData() this.$message.success(res.message); this.$bus.$emit('queryTreeData') this.clearPara() } else { this.$message.warning(res.message); } }); }, modalFormOk() { this.loadData(); // å·æ°è¡¨æ ¼æ°æ® this.$bus.$emit('queryTreeData') //å·æ°å·¦ä¾§æ }, onSelectChange(selectedRowKeys) { this.selectedRowKeys = selectedRowKeys; //éè¿idæ¥è¯¢ç®¡çåæ°ååæ°æ°æ® getAction(this.url.queryParaByToolCode, { toolCode: this.selectedRowKeys[0],paraTypeFlag:this.paraTypeFlag}).then((res) => { if (res.success) { if(this.paraTypeFlag === "1"){ this.$refs.paraCommonToolList.getPara(res.result); }else if(this.paraTypeFlag === "2"){ this.$refs.paraHoleToolsList.getPara(res.result); }else if(this.paraTypeFlag === "3"){ this.$refs.paraThreadingToolList.getPara(res.result); }else if(this.paraTypeFlag === "4"){ this.$refs.paraMillToolList.getPara(res.result); }else if(this.paraTypeFlag === "5"){ this.$refs.paraTurningToolsList.getPara(res.result); }else if(this.paraTypeFlag === "6"){ this.$refs.paraBladeList.getPara(res.result); } } else { this.$message.warning(res.message); } }) getAction(this.url.queryByToolCode, { toolCode: this.selectedRowKeys[0]}).then((res) => { if (res.success) { this.$refs.toolsConfigPropertyList.getPara(res.result); } else { this.$message.warning(res.message); } }) }, // å¤çç¼è¾æé®ç¹å»äºä»¶ handleEditSelected() { if (this.selectedRowKeys.length === 0) { this.$message.warning('è¯·éæ©ä¸æ¡è®°å½è¿è¡ç¼è¾'); return; } const selectedRecord = this.dataSource.find(item => item.id === this.selectedRowKeys[0]); if (selectedRecord) { this.handleEdit(selectedRecord); } }, //ç¼è¾ handleEdit(record) { if(record.paramaTableName === "1"){ this.$refs.paraCommonToolModal.edit(record); this.$refs.paraCommonToolModal.title = "ç¼è¾"; this.$refs.paraCommonToolModal.disableSubmit = false; }else if(record.paramaTableName === "2"){ this.$refs.paraHoleToolsModal.edit(record); this.$refs.paraHoleToolsModal.title = "ç¼è¾"; this.$refs.paraHoleToolsModal.disableSubmit = false; }else if(record.paramaTableName === "3"){ this.$refs.paraThreadingToolModal.edit(record); this.$refs.paraThreadingToolModal.title = "ç¼è¾"; this.$refs.paraThreadingToolModal.disableSubmit = false; }else if(record.paramaTableName === "4"){ this.$refs.paraMillToolModal.edit(record); this.$refs.paraMillToolModal.title = "ç¼è¾"; this.$refs.paraMillToolModal.disableSubmit = false; }else if(record.paramaTableName === "5"){ this.$refs.paraTurningToolsModal.edit(record); this.$refs.paraTurningToolsModal.title = "ç¼è¾"; this.$refs.paraTurningToolsModal.disableSubmit = false; }else if(record.paramaTableName === "6"){ this.$refs.paraBladeModal.edit(record); this.$refs.paraBladeModal.title = "ç¼è¾"; this.$refs.paraBladeModal.disableSubmit = false; } }, //详æ handleDetail:function(record){ if(record.paramaTableName === "1"){ this.$refs.paraCommonToolModal.edit(record); this.$refs.paraCommonToolModal.title="详æ "; this.$refs.paraCommonToolModal.disableSubmit = true; this.$refs.paraCommonToolModal.disSeach = true; if(this.$refs.paraCommonToolModal.removeValidate) { this.$refs.paraCommonToolModal.removeValidate() } }else if(record.paramaTableName === "2"){ this.$refs.paraHoleToolsModal.edit(record); this.$refs.paraHoleToolsModal.title="详æ "; this.$refs.paraHoleToolsModal.disableSubmit = true; this.$refs.paraHoleToolsModal.disSeach = true; if(this.$refs.paraHoleToolsModal.removeValidate) { this.$refs.paraHoleToolsModal.removeValidate() } }else if(record.paramaTableName === "3"){ this.$refs.paraThreadingToolModal.edit(record); this.$refs.paraThreadingToolModal.title="详æ "; this.$refs.paraThreadingToolModal.disableSubmit = true; this.$refs.paraThreadingToolModal.disSeach = true; if(this.$refs.paraThreadingToolModal.removeValidate) { this.$refs.paraThreadingToolModal.removeValidate() } }else if(record.paramaTableName === "4"){ this.$refs.paraMillToolModal.edit(record); this.$refs.paraMillToolModal.title="详æ "; this.$refs.paraMillToolModal.disableSubmit = true; this.$refs.paraMillToolModal.disSeach = true; if(this.$refs.paraMillToolModal.removeValidate) { this.$refs.paraMillToolModal.removeValidate() } }else if(record.paramaTableName === "5"){ this.$refs.paraTurningToolsModal.edit(record); this.$refs.paraTurningToolsModal.title="详æ "; this.$refs.paraTurningToolsModal.disableSubmit = true; this.$refs.paraTurningToolsModal.disSeach = true; if(this.$refs.paraTurningToolsModal.removeValidate) { this.$refs.paraTurningToolsModal.removeValidate() } }else if(record.paramaTableName === "6"){ this.$refs.paraBladeModal.edit(record); this.$refs.paraBladeModal.title="详æ "; this.$refs.paraBladeModal.disableSubmit = true; this.$refs.paraBladeModal.disSeach = true; if(this.$refs.paraBladeModal.removeValidate) { this.$refs.paraBladeModal.removeValidate() } } }, //ç¦ç¨ç¶ææ ·å¼ tableRowClass(record, index) { if (record.status != "1") { return "frozenRowClass"; } return ""; }, loadData() { let params = this.getQueryParams(); if (this.nodeSelected && this.nodeSelected.key !== '-1') { // å è½½éä¸èç¹çåç±» params.classifyId = this.nodeSelected.key; this.loading = true; getAction(this.url.list, params) .then((res) => { if (res.success) { this.dataSource = res.result.records; // æ´æ°è¡¨æ ¼æ°æ® this.ipagination.total = res.result.total } else { this.$message.warning("è¯·éæ©å¶åèç¹è¿è¡æ¥è¯¢"); this.ipagination.total = 0 } }) .finally(() => { this.loading = false; }); } else { this.$message.warning("è¯·éæ©å¶åèç¹è¿è¡æ¥è¯¢"); } }, onClearSelected() { this.selectedKeys = []; this.nodeSelected = {}; // æ¸ ç©ºéä¸çèç¹ this.dataSource = []; // æ¸ ç©ºè¡¨æ ¼æ°æ® }, //éç½® searchReset() { this.queryParam = {} this.loadData(1); this.clearPara() }, //æ¸ ç©ºéä¸ååæ° clearPara(){ this.selectedRowKeys = [] this.$refs.paraCommonToolList.visable = false this.$refs.paraHoleToolsList.visable = false this.$refs.paraThreadingToolList.visable = false this.$refs.paraMillToolList.visable = false this.$refs.paraTurningToolsList.visable = false this.$refs.paraBladeList.visable = false this.$refs.toolsConfigPropertyList.visable = false } }, } </script> <style scoped> @import '~@assets/less/common.less'; .enable { color: green; } .disable { color: red; } </style> src/views/tms/modules/inbound/InboundModel.vuecopy from src/views/tms/modules/inbound/InboundOrderModel.vue copy to src/views/tms/modules/inbound/InboundModel.vue
Îļþ´Ó src/views/tms/modules/inbound/InboundOrderModel.vue ¸´ÖÆ @@ -11,11 +11,6 @@ <a-form :form="form"> <a-row style="width: 100%"> <a-col :span="24 / 2"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="å ¥åºç³è¯·åç¼å·"> <a-input :disabled="true" placeholder="ç³»ç»èªå¨çæ" v-decorator="['inboundNum', validatorRules.inboundNum]" /> </a-form-item> </a-col> <a-col :span="24 / 2"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="å ¥åºç±»å"> <j-dict-select-tag :disabled="disableSubmit" @@ -28,9 +23,7 @@ /> </a-form-item> </a-col> </a-row> <a-row style="width: 100%"> <a-col :span="24 / 2"> <a-col :span="24 / 2"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="å ¥åºæ¶é´"> <a-date-picker @change="onChange" @@ -40,73 +33,15 @@ /> </a-form-item> </a-col> </a-row> <a-row style="width: 100%"> <a-col :span="24 / 2"> <a-form-item label="ç³è¯·åå " :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-input placeholder="请è¾å ¥ç³è¯·åå " :disabled="disableSubmit" v-decorator="['applicationReason', validatorRules.applicationReason]" /> <a-form-item label="å ¥åºæ°é" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-input placeholder="请è¾å ¥å ¥åºæ°é" :disabled="disableSubmit" v-decorator="['in_number', validatorRules.applicationReason]" /> </a-form-item> </a-col> </a-row> <a-row style="width: 100%"> <a-col :span="24 / 2"> <a-form-item label="ç»æäºº" :labelCol="labelCol" :wrapperCol="wrapperCol"> <j-search-select-tag :disabled="true" v-if="!barcodeCurrentType" placeholder="è¯·éæ©ç»æäºº" v-decorator="['handler', { rules: [{ required: false, message: 'è¯·éæ©ç»æäºº' }] }]" dict="sys_user,realname,id,del_flag=0" @change="selectCurrentUserChange" /> </a-form-item> </a-col> <a-col :span="24 / 2"> <a-form-item label="å®¡æ ¸äºº" :labelCol="labelCol" :wrapperCol="wrapperCol"> <j-search-select-tag :disabled="true" placeholder="è¯·éæ©å®¡æ ¸äºº" v-decorator="['reviewer', validatorRules.reviewer]" dict="sys_user,realname,id,del_flag=0" @change="selectCurrentUserChange" /> </a-form-item> </a-col> </a-row> <a-row style="width: 100%"> <a-col :span="24 / 2"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="å®¡æ ¸æ¶é´"> <a-date-picker @change="onChange" :disabled="true" style="width: 100%" v-decorator="['approvalDate', validatorRules.approvalDate]" /> </a-form-item> </a-col> <a-col :span="24 / 2"> <a-form-item label="å®¡æ ¸æè§" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-input placeholder="请è¾å ¥å®¡æ ¸æè§" :disabled="true" v-decorator="['approvalOpinion', validatorRules.approvalOpinion]" /> </a-form-item> </a-col> </a-row> <a-row style="width: 100%"> <a-col :span="24"> <a-form-item :labelCol="{ span: 3 }" :wrapperCol="{ span: 21 }" label="夿³¨"> <a-textarea :disabled="disableSubmit" :rows="2" placeholder="..." v-decorator="['remark', validatorRules.remark]" /> </a-form-item> </a-col> </a-row> </a-form> </a-spin> <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectReturnList()" v-show="returnShow && !disableSubmit">éæ©åç¨åºåºå</a-button> @@ -121,7 +56,7 @@ :dataSource="dataSource" :pagination="ipagination" :loading="loading" @change="handleTableChange" @change="handleTableChange" > <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index"> <div :key="col.dataIndex"> @@ -142,7 +77,7 @@ </a-table> <template slot="footer" v-if="disableSubmit == false"> <a-button :style="{ marginRight: '8px' }" @click="handleCancel">å ³é</a-button> <a-button @click="handleOk" :disabled="isDisabled" type="primary">ç¡®å®</a-button> <a-button @click="handleOk" :disabled="isDisabled" type="primary">å ¥åº</a-button> </template> <template slot="footer" v-if="disableSubmit == true"> @@ -156,7 +91,7 @@ <script> import pick from 'lodash.pick' import JSelectToolingModal from './JSelectToolingModal' import JSelectToolingModal from '.././inboundOrder/JSelectToolingModal' import { ajaxGetDictItems } from '@/api/api' import moment from 'moment' import { getAction, postAction, requestPut } from '@/api/manage' @@ -164,8 +99,8 @@ import JSearchSelectTag from '@/components/dict/JSearchSelectTag' import JMultiSelectTag from '@/components/dict/JMultiSelectTag' import { filterObj } from '@/utils/util' import JSelectReturnListModal from './JSelectReturnListModal' import JSelectSharpenListModal from './JSelectSharpenListModal' import JSelectReturnListModal from '.././inboundOrder/JSelectReturnListModal' import JSelectSharpenListModal from '.././inboundOrder/JSelectSharpenListModal' export default { name: 'InboundOrderModel', src/views/tms/modules/inboundOrder/InboundDetailList.vue
src/views/tms/modules/inboundOrder/InboundOrderModel.vue
ÎļþÃû´Ó src/views/tms/modules/inbound/InboundOrderModel.vue ÐÞ¸Ä @@ -109,9 +109,9 @@ </a-row> </a-form> </a-spin> <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectReturnList()" v-show="returnShow && !disableSubmit">éæ©åç¨åºåºå</a-button> <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()" v-show="returnShow && !disableSubmit">éæ©åç¨åºåºå</a-button> <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()" v-show="toolingShow && !disableSubmit">éæ©å·¥å ·</a-button> <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectSharpenList()" v-show="sharpenShow && !disableSubmit">éæ©å磨åºåºå</a-button> <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()" v-show="sharpenShow && !disableSubmit">éæ©å磨åºåºå</a-button> <a-table ref="table" bordered @@ -265,9 +265,9 @@ edit: '/tms/inboundOrder/edit', queryByUserName: '/sys/user/queryByUserName', toolingList:'/tms/baseTools/list', queryAccountList:'/tooling/storage/queryAccountList', querySharpenList:'/sharpen/sharpenDetail/querySharpenList', queryReturnList:'/returnInventory/queryReturnList', queryAccountList:'/tms/baseTools/list', querySharpenList:'/tms/baseTools/list', queryReturnList:'/tms/baseTools/list', detailList:'/tms/inboundDetail/list', }, toolingOptions:[], src/views/tms/modules/inboundOrder/JSelectReturnListModal.vue
ÎļþÃû´Ó src/views/tms/modules/inbound/JSelectReturnListModal.vue ÐÞ¸Ä @@ -144,7 +144,7 @@ loading: false, url: { // list: '/base/tooling/list', list: '/returnInventory/queryReturnList', list: '/tms/baseTools/list', queryKnifeBom:'/toolingStorage/mesToolingOutbounds/queryKnifeBom' }, } src/views/tms/modules/inboundOrder/JSelectSharpenListModal.vue
src/views/tms/modules/inboundOrder/JSelectToolingModal.vue
src/views/tms/modules/toolsClassify/ToolsClassifyForm.vue
@@ -108,7 +108,7 @@ leafFlagShow:true, validatorRules: { classifyId: [ { required: true, message: '请è¾å ¥å·¥å ·åç±»ç¼å·!'}, { required: false, message: '请è¾å ¥å·¥å ·åç±»ç¼å·!'}, { validator: this.validateNum }, ], typeName: [ src/views/tms/modules/toolsClassify/ToolsClassifyListRight.vue
@@ -167,6 +167,18 @@ data () { return { description: 'å·¥å ·å类管ç页é¢', /* å页忰 */ ipagination:{ current: 1, pageSize: 10, pageSizeOptions: ['10', '20', '50'], showTotal: (total, range) => { return range[0] + "-" + range[1] + " å ±" + total + "æ¡" }, showQuickJumper: true, showSizeChanger: true, total: 0 }, // 表头 columns: [ { @@ -366,8 +378,10 @@ .then((res) => { if (res.success) { this.dataSource = res.result.records; // æ´æ°è¡¨æ ¼æ°æ® this.ipagination.total = res.result.total } else { this.$message.warning(res.message); this.ipagination.total = 0 } }) .finally(() => {