From 51b9e548b0e533e8a415ce141808f2bb747b381e Mon Sep 17 00:00:00 2001 From: zhuzhuanzhuan Date: 星期一, 18 三月 2024 16:08:49 +0800 Subject: [PATCH] 1、mdc菜单下除特殊要求外,页面表格最少条数由10条调整为30条,每页最多条数区间由[10,20,30]调整为[30,50,100] 2、OEE基础管理和数据报表模块增加打印按钮,实现打印表格数据功能 3、设备管理、数据报表模块增加按照设备级别和设备类型查询表格数据 4、设备车间管理页面增加车间编码字段 5、修改组件名称以试图解决刷新后进入请求json页面问题 --- src/views/system/ProductionManager.vue | 360 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 207 insertions(+), 153 deletions(-) diff --git a/src/views/system/ProductionManager.vue b/src/views/system/ProductionManager.vue index a0ac3eb..3d43e95 100644 --- a/src/views/system/ProductionManager.vue +++ b/src/views/system/ProductionManager.vue @@ -8,12 +8,15 @@ <a-button @click="handleAdd(1)" type="primary">娣诲姞杞﹂棿</a-button> <a-button @click="handleAdd(2)" type="primary">娣诲姞涓嬬骇</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-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 title="鍒犻櫎澶氭潯鏁版嵁" @click="batchDel" type="default">鎵归噺鍒犻櫎</a-button> + <a-button @click="handleDelete" v-if="selectedKeys.length>0">鍒犻櫎</a-button> + <a-button title="鍒犻櫎澶氭潯鏁版嵁" @click="batchDel" v-if="checkedKeys.length>0">鎵归噺鍒犻櫎</a-button> <!--<a-button @click="refresh" type="default" icon="reload" :loading="loading">鍒锋柊</a-button>--> </a-row> + ` <div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px"> <a-alert type="info" :showIcon="true"> <div slot="message"> @@ -24,9 +27,32 @@ <a-input-search @search="onSearch" style="width:100%;margin-top: 10px" placeholder="璇疯緭鍏ヨ溅闂村悕绉�"/> <!-- 鏍�--> <a-col :md="10" :sm="24"> - <template> - <a-dropdown :trigger="[this.dropTrigger]" @visibleChange="dropStatus"> - <span style="user-select: none"> + <!--<template>--> + <!--<a-dropdown :trigger="[this.dropTrigger]" @visibleChange="dropStatus">--> + <!--<span style="user-select: none">--> + <!--<a-tree--> + <!--checkable--> + <!--multiple--> + <!--@select="onSelect"--> + <!--@check="onCheck"--> + <!--@rightClick="rightHandle"--> + <!--:selectedKeys="selectedKeys"--> + <!--:checkedKeys="checkedKeys"--> + <!--:treeData="departTree"--> + <!--:checkStrictly="checkStrictly"--> + <!--:expandedKeys="iExpandedKeys"--> + <!--:autoExpandParent="autoExpandParent"--> + <!--@expand="onExpand"/>--> + <!--</span>--> + <!--<!–鏂板鍙抽敭鐐瑰嚮浜嬩欢,鍜屽鍔犳坊鍔犲拰鍒犻櫎鍔熻兘–>--> + + <!--<a-menu slot="overlay">--> + <!--<a-menu-item @click="handleAdd(3)" key="1">娣诲姞</a-menu-item>--> + <!--<a-menu-item @click="handleDelete" key="2">鍒犻櫎</a-menu-item>--> + <!--<a-menu-item @click="closeDrop" key="3">鍙栨秷</a-menu-item>--> + <!--</a-menu>--> + <!--</a-dropdown>--> + <!--</template>--> <a-tree checkable multiple @@ -40,20 +66,11 @@ :expandedKeys="iExpandedKeys" :autoExpandParent="autoExpandParent" @expand="onExpand"/> - </span> - <!--鏂板鍙抽敭鐐瑰嚮浜嬩欢,鍜屽鍔犳坊鍔犲拰鍒犻櫎鍔熻兘--> - <a-menu slot="overlay"> - <a-menu-item @click="handleAdd(3)" key="1">娣诲姞</a-menu-item> - <a-menu-item @click="handleDelete" key="2">鍒犻櫎</a-menu-item> - <a-menu-item @click="closeDrop" key="3">鍙栨秷</a-menu-item> - </a-menu> - </a-dropdown> - </template> </a-col> </div> </a-card> <!---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------> - <div class="drawer-bootom-button"> + <div class="drawer-bottom-button"> <a-dropdown :trigger="['click']" placement="topCenter"> <a-menu slot="overlay"> <a-menu-item key="1" @click="switchCheckStrictly(1)">鐖跺瓙鍏宠仈</a-menu-item> @@ -64,7 +81,8 @@ <a-menu-item key="6" @click="closeAll">鍚堝苟鎵�鏈�</a-menu-item> </a-menu> <a-button> - 鏍戞搷浣� <a-icon type="up" /> + 鏍戞搷浣� + <a-icon type="up"/> </a-button> </a-dropdown> </div> @@ -72,11 +90,14 @@ </a-col> <a-col :md="12" :sm="24"> <a-tabs defaultActiveKey="1"> - <a-tab-pane tab="鍩烘湰淇℃伅" key="1" > + <a-tab-pane tab="鍩烘湰淇℃伅" key="1"> <a-card :bordered="false" v-if="selectedKeys.length>0"> <a-form-model ref="form" :model="model" :rules="validatorRules"> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionCode" label="杞﹂棿缂栧彿"> + <a-input placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿缂栧彿" v-model="model.productionCode"/> + </a-form-model-item> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionName" label="杞﹂棿鍚嶇О"> - <a-input placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О" v-model="model.productionName" /> + <a-input placeholder="璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О" v-model="model.productionName"/> </a-form-model-item> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="涓婄骇杞﹂棿"> <a-tree-select @@ -89,7 +110,7 @@ </a-tree-select> </a-form-model-item> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鎺掑簭"> - <a-input-number v-model="model.departOrder" /> + <a-input-number v-model="model.productionOrder"/> </a-form-model-item> <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="澶囨敞"> <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.memo"/> @@ -100,7 +121,7 @@ <a-button @click="submitCurrForm" type="primary" htmlType="button" icon="form">淇濆瓨</a-button> </div> </a-card> - <a-card v-else > + <a-card v-else> <a-empty> <span slot="description"> 璇峰厛閫夋嫨涓�涓溅闂�! </span> </a-empty> @@ -111,65 +132,27 @@ <!--</a-tab-pane>--> <a-tab-pane tab="璁惧鍒楄〃" key="2" forceRender> <!--<depart-auth-modal/>--> - <production-equipment ref="departAuth"></production-equipment> + <production-equipment ref="departAuth"></production-equipment> </a-tab-pane> </a-tabs> </a-col> - <production-modal ref="departModal" @ok="loadTree"></production-modal> + <production-modal ref="departModal" @ok="loadTree"></production-modal> </a-row> </template> <script> import ProductionEquipment from './modules/ProductionManager/ProductionEquipment' - import {queryProductionTreeList, searchByKeywords, deleteByProduction} from '@/api/api' - import {httpAction, deleteAction} from '@/api/manage' - import {JeecgListMixin} from '@/mixins/JeecgListMixin' + import { queryProductionTreeList, searchByKeywords, deleteByProduction } from '@/api/api' + import { httpAction, deleteAction } from '@/api/manage' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' import ProductionModal from './modules/ProductionManager/ProductionModal' - // 琛ㄥご - const columns = [ - { - title: '鏈烘瀯鍚嶇О', - dataIndex: 'departName' - }, - { - title: '鏈烘瀯绫诲瀷', - align: 'center', - dataIndex: 'orgType' - }, - { - title: '鏈烘瀯缂栫爜', - dataIndex: 'orgCode', - }, - { - title: '鎵嬫満鍙�', - dataIndex: 'mobile' - }, - { - title: '浼犵湡', - dataIndex: 'fax' - }, - { - title: '鍦板潃', - dataIndex: 'address' - }, - { - title: '鎺掑簭', - align: 'center', - dataIndex: 'departOrder' - }, - { - title: '鎿嶄綔', - align: 'center', - dataIndex: 'action', - scopedSlots: {customRender: 'action'} - } - ] + export default { name: 'ProductionManager', mixins: [JeecgListMixin], components: { ProductionEquipment, - ProductionModal, + ProductionModal }, data() { return { @@ -188,47 +171,47 @@ model: {}, dropTrigger: '', depart: {}, - columns: columns, disableSubmit: false, checkedKeys: [], selectedKeys: [], autoIncr: 1, currSelected: {}, - allTreeKeys:[], + allTreeKeys: [], checkStrictly: true, labelCol: { - xs: {span: 24}, - sm: {span: 5} + xs: { span: 24 }, + sm: { span: 5 } }, wrapperCol: { - xs: {span: 24}, - sm: {span: 16} + xs: { span: 24 }, + sm: { span: 16 } }, graphDatasource: { nodes: [], edges: [] }, validatorRules: { - productionName: [{required: true, message: '璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О!'}], + productionName: [{ required: true, message: '璇疯緭鍏ヤ骇绾�/杞﹂棿鍚嶇О!' }] }, url: { delete: '/mdc/mdcProduction/delete', edit: '/mdc/mdcProduction/edit', deleteBatch: '/mdc/mdcProduction/deleteBatch', - exportXlsUrl: "/mdc/mdcProduction/exportXls", - importExcelUrl: "/mdc/mdcProduction/importExcel", + exportXlsUrl: '/mdc/mdcProduction/exportXls', + importExcelUrl: '/mdc/mdcProduction/importExcel' }, - orgCategoryDisabled:false, + orgCategoryDisabled: false, + isIncludesNotLeaf: false } }, computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + importExcelUrl: function() { + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` } }, methods: { loadData() { - this.refresh(); + this.refresh() }, loadTree() { var that = this @@ -237,13 +220,13 @@ queryProductionTreeList().then((res) => { if (res.success) { //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲 - this.allTreeKeys = []; + this.allTreeKeys = [] for (let i = 0; i < res.result.length; i++) { let temp = res.result[i] that.treeData.push(temp) that.departTree.push(temp) that.setThisExpandedKeys(temp) - that.getAllKeys(temp); + that.getAllKeys(temp) // console.log(temp.id) } this.loading = false @@ -263,11 +246,12 @@ this.loadTree() }, // 鍙抽敭鎿嶄綔鏂规硶 - rightHandle(node) { + rightHandle({ event, node }) { this.dropTrigger = 'contextmenu' - console.log(node.node.eventKey) - this.rightClickSelectedKey = node.node.eventKey - this.rightClickSelectedOrgCode = node.node.dataRef.orgCode + const record = node.dataRef + this.rightClickSelectedKey = record.id + this.rightClickSelected = record + this.rightClickSelectedOrgCode = record.orgCode }, onExpand(expandedKeys) { console.log('onExpand', expandedKeys) @@ -290,37 +274,71 @@ addRootNode() { this.$refs.nodeModal.add(this.currFlowId, '') }, - batchDel: function () { + batchDel: function() { console.log(this.checkedKeys) - if (this.checkedKeys.length <= 0) { - this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒') - } else { - var ids = '' - for (var a = 0; a < this.checkedKeys.length; a++) { - ids += this.checkedKeys[a] + ',' - } - var that = this - this.$confirm({ - title: '纭鍒犻櫎', - content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?', - onOk: function () { - deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.loadTree() - that.onClearSelected() - } else { - that.$message.warning(res.message) - } - }) + this.isIncludesNotLeaf = false + this.includesNotLeaf(this.departTree) + console.log('isIncludesNotLeaf', this.isIncludesNotLeaf) + + // 涓簍rue鍒欒〃绀洪�変腑椤瑰寘鍚潪鍙跺瓙缁撶偣 false鍒欒〃绀洪�変腑椤瑰潎涓哄彾瀛愮粨鐐� + if (!this.isIncludesNotLeaf) { + if (this.checkedKeys.length <= 0) { + // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒') + this.$notification.warning({ + message: '娑堟伅', + description: '璇烽�夋嫨涓�鏉¤褰�' + }) + } else { + var ids = '' + for (var a = 0; a < this.checkedKeys.length; a++) { + ids += this.checkedKeys[a] + ',' } + var that = this + this.$confirm({ + title: '纭鍒犻櫎', + content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹�?', + onOk: function() { + deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => { + if (res.success) { + // that.$message.success(res.message) + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadTree() + that.onClearSelected() + } else { + // that.$message.warning(res.message) + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + } + }) + } + } else { + this.$notification.warning({ + message: '娑堟伅', + description: '閫変腑椤瑰寘鍚凡鎸傝浇瀛愯妭鐐硅溅闂�' }) + } + }, + includesNotLeaf(treeData) { + for (let i = 0; i < treeData.length; i++) { + if (!treeData[i].leaf) { + this.includesNotLeaf(treeData[i].children) + } + if (this.checkedKeys.includes(treeData[i].id) && !treeData[i].leaf) { + this.isIncludesNotLeaf = true + } } }, onSearch(value) { let that = this if (value) { - searchByKeywords({keyWord: value}).then((res) => { + searchByKeywords({ keyWord: value }).then((res) => { if (res.success) { that.departTree = [] for (let i = 0; i < res.result.length; i++) { @@ -328,7 +346,11 @@ that.departTree.push(temp) } } else { - that.$message.warning(res.message) + // that.$message.warning(res.message) + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) } }) } else { @@ -349,9 +371,9 @@ console.log('onCheck', checkedKeys, info) this.hiding = false //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ - if(this.checkStrictly){ - this.checkedKeys = checkedKeys.checked; - }else{ + if (this.checkStrictly) { + this.checkedKeys = checkedKeys.checked + } else { this.checkedKeys = checkedKeys } //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ @@ -359,6 +381,7 @@ onSelect(selectedKeys, e) { console.log('selected', selectedKeys, e) this.hiding = false + this.deleteTrigger = 'leftClick' let record = e.node.dataRef console.log('onSelect-record', record) this.currSelected = Object.assign({}, record) @@ -366,15 +389,14 @@ this.selectedKeys = [record.key] this.model.parentId = record.parentId this.setValuesToForm(record) - this.$refs.departAuth.show(record.id); - + this.$refs.departAuth.show(record.id) }, // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪�� setValuesToForm(record) { - if(record.orgCategory == '1'){ - this.orgCategoryDisabled = true; - }else{ - this.orgCategoryDisabled = false; + if (record.orgCategory == '1') { + this.orgCategoryDisabled = true + } else { + this.orgCategoryDisabled = false } }, getCurrSelectedTitle() { @@ -400,24 +422,36 @@ this.$refs.form.validate(valid => { if (valid) { if (!this.currSelected.id) { - this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀硅溅闂�!') + // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀硅溅闂�!') + this.$notification.warning({ + message: '娑堟伅', + description: '璇风偣鍑婚�夋嫨瑕佷慨鏀硅溅闂达紒' + }) return } httpAction(this.url.edit, this.currSelected, 'put').then((res) => { if (res.success) { - this.$message.success('淇濆瓨鎴愬姛!') + // this.$message.success('淇濆瓨鎴愬姛!') + this.$notification.success({ + message: '娑堟伅', + description: '淇濆瓨鎴愬姛' + }) this.loadTree() } else { - this.$message.error(res.message) + // this.$message.error(res.message) + this.$notification.warning({ + message: '娑堟伅', + description: res.message + }) } }) } }) }, emptyCurrForm() { - this.$refs.form.resetFields(); - this.model={} + this.$refs.form.resetFields() + this.model = {} }, nodeSettingFormSubmit() { this.$refs.form.validate(valid => { @@ -437,7 +471,11 @@ console.log(this.currSelected) let key = this.currSelected.key if (!key) { - this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇杞﹂棿锛�') + // this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇杞﹂棿锛�') + this.$notification.warning({ + message: '娑堟伅', + description: '璇峰厛鐐瑰嚮閫変腑涓婄骇杞﹂棿锛�' + }) return false } this.$refs.departModal.add(this.selectedKeys) @@ -449,31 +487,47 @@ }, handleDelete() { var that = this - this.$confirm({ - title: '纭鍒犻櫎', - content: '纭畾瑕佸垹闄ゆ杞﹂棿浠ュ強瀛愯妭鐐规暟鎹悧?', - onOk: function () { - deleteByProduction({id: that.rightClickSelectedKey}).then((resp) => { - if (resp.success) { - //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁 - that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1); - that.$message.success('鍒犻櫎鎴愬姛!') - that.loadTree() - //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹� - // let orgCode=that.model.orgCode; - // if(orgCode && orgCode === that.rightClickSelectedOrgCode){ + if (this.currSelected.leaf) { + this.$confirm({ + title: '纭鍒犻櫎', + content: `纭畾瑕佸垹闄� ${that.currSelected.productionName} 鍚�?`, + onOk: function() { + deleteByProduction({ id: that.currSelected.id }).then((resp) => { + if (resp.success) { + //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁 + // that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1) + // that.$message.success('鍒犻櫎鎴愬姛!') + that.$notification.success({ + message: '娑堟伅', + description: '鍒犻櫎鎴愬姛' + }) + that.loadTree() + //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹� + // let orgCode=that.model.orgCode; + // if(orgCode && orgCode === that.rightClickSelectedOrgCode){ that.onClearSelected() - // } - } else { - that.$message.warning('鍒犻櫎澶辫触!') - } - }) - } - }) + // } + } else { + // that.$message.warning('鍒犻櫎澶辫触!') + that.$notification.warning({ + message: '娑堟伅', + description: '鍒犻櫎澶辫触' + }) + } + }) + } + }) + } else { + this.$notification.warning({ + message: '娑堟伅', + description: '姝よ溅闂村凡鎸傝浇瀛愯妭鐐�' + }) + } + console.log('deletedRecord', deletedRecord) }, selectDirectiveOk(record) { console.log('閫変腑鎸囦护鏁版嵁', record) - this.nodeSettingForm.setFieldsValue({directiveCode: record.directiveCode}) + this.nodeSettingForm.setFieldsValue({ directiveCode: record.directiveCode }) this.currSelected.sysCode = record.sysCode }, getFlowGraphData(node) { @@ -493,24 +547,24 @@ } }, //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ - expandAll () { + expandAll() { this.iExpandedKeys = this.allTreeKeys }, - closeAll () { + closeAll() { this.iExpandedKeys = [] }, - checkALL () { + checkALL() { this.checkStriccheckStrictlytly = false this.checkedKeys = this.allTreeKeys }, - cancelCheckALL () { + cancelCheckALL() { //this.checkedKeys = this.defaultCheckedKeys this.checkedKeys = [] }, - switchCheckStrictly (v) { - if(v==1){ + switchCheckStrictly(v) { + if (v == 1) { this.checkStrictly = false - }else if(v==2){ + } else if (v == 2) { this.checkStrictly = true } }, @@ -530,7 +584,7 @@ this.currFlowId = this.$route.params.id this.currFlowName = this.$route.params.name // this.loadTree() - }, + } } </script> @@ -583,7 +637,7 @@ margin-left: 3px } - .drawer-bootom-button { + .drawer-bottom-button { /*position: absolute;*/ bottom: 0; width: 100%; -- Gitblit v1.9.3