From c880739ec4cd5ede33b31eb98ad5f7628ea288e5 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 11 十二月 2023 17:41:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/plan/customerorder/index.vue | 662 ++++++++++++++---------------------------------------- 1 files changed, 178 insertions(+), 484 deletions(-) diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue index c061cf7..63575e6 100644 --- a/src/views/plan/customerorder/index.vue +++ b/src/views/plan/customerorder/index.vue @@ -12,7 +12,7 @@ ref="customerOrderTable" > <template #toolbar> - <el-dropdown + <!-- <el-dropdown v-if="permissions.customerorder_state_change" @command="handleCommand" > @@ -27,7 +27,7 @@ {{ item.label }} </el-dropdown-item> </el-dropdown-menu> - </el-dropdown> + </el-dropdown> --> <el-dropdown v-if="permissions.customerorder_doc_relate" @command="documentHandle" @@ -38,10 +38,10 @@ </el-button> <el-dropdown-menu slot="dropdown"> <el-dropdown-item + :key="index" :command="item.command" - v-for="item in documentTagArr" - :disabled="item.disabled" - > + v-for="(item,index) in documentTagArr" + :disabled="item.disabled"> {{ item.label }} </el-dropdown-item> </el-dropdown-menu> @@ -57,8 +57,9 @@ </el-button> <el-dropdown-menu slot="dropdown"> <el-dropdown-item + :key="index" :command="item.command" - v-for="item in commitStateTagArr" + v-for="(item,index) in commitStateTagArr" :disabled="item.disabled" >{{ item.label }}</el-dropdown-item > @@ -71,28 +72,27 @@ @click="pushOtc" >鎺ㄩ�丒RP</el-button > --> - <el-button + <!-- <el-button style="margin-left:10px;" type="primary" @click="importOutPutBatch" >瀵煎叆浜у嚭鎵规</el-button - > + > --> <el-button style="margin-left:10px;" type="primary" - @click="exportStandBook" + @click="()=>exportDialogVisible=true" >瀵煎嚭鍙拌处</el-button > - <el-button + <!-- <el-button v-if="permissions.plan_customerorder_return" style="margin-left:10px;" type="primary" @click="returnOrder" >璁㈠崟閫�鍥�</el-button - > + > --> </template> </ttable> - <!-- 寮圭獥, 鏃ユ湡閫夋嫨 --> <ConfirmPullCustomerorder v-if="showPullCustomerOrderVisible" @@ -189,6 +189,26 @@ </span> <span slot="footer" class="dialog-footer"> </span> </el-dialog> + <!-- 瀵煎嚭 --> + <el-dialog title="瀵煎嚭鍙拌处" :visible.sync="exportDialogVisible" width="20%"> + <div style="display: flex;justify-content: center"> + <el-form :model="dataForm" :inline="true" :rules="dataRule" ref="exportForm" class="l-mes"> + <el-form-item label="鏃ユ湡" prop="exportTime"> + <el-date-picker + v-model="dataForm.exportTime" + type="datetime" + style="width:100%" + placeholder="閫夋嫨鏃ユ湡鏃堕棿" + value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="exportDialogVisible=false">鍙� 娑�</el-button> + <el-button type="primary" @click="exportStandBook">纭� 瀹�</el-button> + </span> + </el-dialog> <!-- 绠辩爜淇℃伅瀵煎嚭 --> <el-dialog title="绠辩爜淇℃伅瀵煎嚭" @@ -302,9 +322,12 @@ data() { return { dataForm: { - selectTime: null + selectTime: null, + exportTime: null }, - dataRule: {}, + dataRule: { + exportTime:[{required:true,message:'瀵煎嚭鏃ユ湡涓嶈兘涓虹┖',trigger:'change'}] + }, pickerOptions: { onPick: ({ maxDate, minDate }) => { if (minDate && this.pickerMinDate) { @@ -323,6 +346,7 @@ return false } }, + exportDialogVisible: false, syncDateVisible: false, syncDate: [], showCustomerorderReturn: false, @@ -424,9 +448,8 @@ { minWidth: '100', width: '100px', - prop: 'customerOrderNo', + prop: 'contractNo', label: '鍚堝悓缂栧彿', - // label: '璁㈠崟鍙�', sort: true, isTrue: true, isSearch: true, @@ -436,8 +459,7 @@ { minWidth: '120', prop: 'entityName', - label: '鍚堝悓涓婚', - sort: false, + label: '宸ョ▼鍚嶇О', isTrue: true, isSearch: true, searchInfoType: 'text' @@ -450,6 +472,19 @@ isTrue: true, isSearch: true, searchInfoType: 'text' + }, + { + minWidth: '120', + prop: 'sourceId', + label: '娣诲姞鏉ユ簮', + isTag: true, + isTrue: true, + isSearch: true, + searchInfoType: 'select', + formatter: this.getSourceId, + optList: () => { + return this.sourceIdList + } }, { minWidth: '200', @@ -465,42 +500,13 @@ { minWidth: '120', prop: 'placeOrderDate', - label: '绛捐鏃ユ湡', + label: '涓嬪崟鏃ユ湡', sort: true, isTrue: true, isSearch: true, searchInfoType: 'text', formatter: this.formatDutyDate }, - { - minWidth: '120', - prop: 'factoryPlaceOrderDate', - label: '寮�濮嬫棩鏈�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text', - formatter: this.formatDutyDate - }, - { - minWidth: '120', - prop: 'endTime', - label: '缁堟鏃ユ湡', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text', - formatter: this.formatDutyDate - }, - // { - // minWidth: '120', - // prop: 'customerNo', - // label: '瀹㈡埛缂栧彿', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, { minWidth: '120', prop: 'customerName', @@ -510,16 +516,6 @@ isSearch: true, searchInfoType: 'text' }, - // { - // minWidth: '120', - // prop: 'customerContractNo', - // label: '瀹㈡埛璁㈠崟鍙�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - { minWidth: '120', prop: 'coState', @@ -546,108 +542,20 @@ return this.isAuditList } }, - { - minWidth: '80', - prop: 'ifsDeliveryNo', - label: '鍚堝悓鍒嗙被', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '80', - prop: 'ifsLineItemNo', - label: '鍚堝悓鏉ユ簮', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '80', - prop: 'returnStatus', - label: '鍚堝悓鐘舵��', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '80', - prop: 'originalContractStatus', - label: '鍑哄簱鐘舵��', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - - { - minWidth: '120', - prop: 'ifsSalesUnit', - label: '鍚敤鐘舵��', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, // { - // minWidth: '120', - // prop: 'coLineNo', - // label: 'GSM琛屽彿', + // minWidth: '80', + // prop: 'sourceId', + // label: '璁㈠崟鏉ユ簮', // sort: true, // isTrue: true, // isSearch: true, // searchInfoType: 'text' - // }, - // { - // minWidth: '120', - // prop: 'otcLineNo', - // label: 'OTC琛屽彿', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - // // 鐘舵�� - // { - // minWidth: '120', - // prop: 'otcPartSync', - // label: 'OTC鎺ㄩ�佺姸鎬�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'select', - // optList: () => { - // return this.getOtcPartSyncOptionList() - // }, - // formatter: (row, column, cellValue) => { - // var formatVal - // if (cellValue == null) { - // formatVal = '' - // } else if (cellValue) { - // formatVal = '宸插悓姝�' - // } else { - // formatVal = '鏈悓姝�' - // } - // return formatVal - // } - // }, - // { - // minWidth: '120', - // prop: 'verifyDate', - // label: 'OTC瀹℃牳鏃堕棿', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'datetimerange' // }, { minWidth: '120', width: '100px', prop: 'partNo', - label: '闆朵欢鍙�', + label: '浜у搧缂栧彿', sort: true, isTrue: true, isSearch: true, @@ -656,8 +564,8 @@ { minWidth: '120', width: '100px', - prop: 'customerPartName', - label: '闆朵欢鍚嶇О', + prop: 'productName', + label: '浜у搧鍚嶇О', sort: true, isTrue: true, isSearch: true, @@ -667,7 +575,7 @@ minWidth: '120', width: '100px', prop: 'productType', - label: '鍨嬪彿', + label: '闅跺睘鍝佺墝', isTrue: true, isSearch: true, searchInfoType: 'text' @@ -676,7 +584,7 @@ minWidth: '120', width: '100px', prop: 'otcUnit', - label: '闆朵欢灞炴��', + label: '鍗曚綅', isTrue: true, isSearch: true, searchInfoType: 'text' @@ -693,45 +601,8 @@ }, { minWidth: '120', - width: '100px', - prop: 'outerColor', - label: '澶栨姢棰滆壊', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '120', - prop: 'otcQuantity', - label: '閿�鍞暟閲�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '80', - prop: 'otcUnit', - label: '閿�鍞崟浣�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '120', prop: 'buyQtyDue', - label: '搴撳瓨鏁伴噺', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '80', - prop: 'unit', - label: '闆朵欢鍗曚綅', + label: '鏁伴噺', sort: true, isTrue: true, isSearch: true, @@ -739,253 +610,6 @@ }, { minWidth: '140', - prop: 'requireNumber', - label: '宸蹭笅鍙戞暟閲�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'customerPartSpec', - label: '瀹㈡埛闆朵欢瑙勬牸', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'finalCustomerName', - label: '鏈�缁堝鎴峰悕绉�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'productGroup', - label: '浜у搧鍒嗙粍', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'productType', - label: '浜у搧绫诲瀷', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'centralizedMiningProperty', - label: '閲囬泦鎬ц川', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'orderDescription', - label: '璁㈠崟璇存槑', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'division', - label: '浜嬩笟閮�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'printType', - label: '鍗板瓧鏂瑰紡', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'printingRequirements', - label: '鍗板瓧瑕佹眰', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'printContent', - label: '鍗板瓧鍐呭', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'packageRequire', - label: '鍖呰瑕佹眰', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'qualityRequire', - label: '璐ㄩ噺瑕佹眰', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'otherProductRequire', - label: '鐢熶骇闇�姹傝鏄�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'divisionSystem', - label: '绯荤粺', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'shippingAddress', - label: '鏀惰揣鍦板潃', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'salesmanName', - label: '涓氬姟鍛�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'lengthRequirement', - label: '鐩橀暱瑕佹眰', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'remark', - label: '璁㈠崟琛屽娉�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - prop: 'comment', - label: '璁㈠崟澶村娉�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - // { - // minWidth: '80', - // prop: 'ifsLineNo', - // label: 'IFS琛屽彿', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - // { - // minWidth: '80', - // prop: 'ifsDeliveryNo', - // label: 'IFS浜よ揣鍙�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - // { - // minWidth: '80', - // prop: 'ifsLineItemNo', - // label: 'IFS琛岄」鍙�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - { - minWidth: '80', - prop: 'salesPartNo', - label: '閿�鍞欢鍙�', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '80', - prop: 'salesPartName', - label: '閿�鍞欢鎻忚堪', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'text' - }, - { - minWidth: '140', - width: '120', - prop: 'wantedDeliveryDate', - label: '鏈熸湜浜よ揣鏃堕棿', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'datetimerange', - formatter: this.formatDutyDate - }, - { - minWidth: '200', - width: '120', - prop: 'plannedDeliveryDate', - label: '璁″垝浜よ揣鏃堕棿', - sort: true, - isTrue: true, - isSearch: true, - searchInfoType: 'datetimerange', - formatter: this.formatDutyDate - }, - { - minWidth: '120', prop: 'manufactureAttr', label: '鍒堕�犲睘鎬�', sort: true, @@ -994,20 +618,56 @@ searchInfoType: 'select', formatter: this.getManufactureAttr, optList: () => { - return this.manufactureAttrs + return this.manufactureAttrList } - } - // { - // minWidth: '200', - // width: '120', - // prop: 'createTime', - // label: '鍒涘缓鏃堕棿', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'datetimerange', - // formatter: this.formatDutyDate - // } + }, + { + minWidth: '140', + prop: 'customerPartSpec', + label: '瑙勬牸鍨嬪彿', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '140', + prop: 'returnStatus', + label: '鍚堝悓姝f湰鐘舵��', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '140', + prop: 'originalContractStatus', + label: '姝f湰鐘舵��', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '140', + prop: 'salesMan', + label: '涓氬姟鍛�', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '140', + width: '120', + prop: 'deliveryDate', + label: '浜よ揣鏃堕棿', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'datetimerange', + formatter: this.formatDutyDate + }, ], toolbar: [], operator: [ @@ -1030,7 +690,7 @@ // fun: this.packageExportHandle // }, { - text: '浣滃簾', + text: '鍒犻櫎', type: 'text', size: 'small', fun: this.cancelHandle, @@ -1048,7 +708,7 @@ operatorConfig: { fixed: 'right', label: '鎿嶄綔', - width: 260, + width: 100, minWidth: 100 } }, @@ -1079,6 +739,16 @@ label: '璁㈠崟缂栬緫' } ], + manufactureAttrList: [{ + label: '鏅��', + value: 'N' + },{ + label: '鏍峰搧', + value: 'S' + },{ + label: '鐮斿彂', + value: 'D' + }], isAuditList: [ { value: '01draft', @@ -1097,6 +767,13 @@ label: '閫�鍥�' } ], + sourceIdList: [{ + label: '鍚屾', + value: '0' + },{ + label: '鎵嬪姩', + value: '1' + }], stockVisible: false, partName: null, showPullCustomerOrderVisible: false, @@ -1158,6 +835,11 @@ ...mapGetters(['permissions']) }, watch: { + exportDialogVisible(newVal) { + if (!newVal) { + this.$refs.exportForm.resetFields() + } + }, coState: { handler(newValue, oldValue) { if (newValue) { @@ -1171,7 +853,7 @@ this.initQueryParams() }, created() { - this.getManufactureAttrs() + // this.getManufactureAttrs() this.getTitles() /** * { @@ -1272,7 +954,7 @@ queryParam.push( Object.assign({ prop: 'coState', - searchInfoType: 'select', + searchInfoType: 'select' // propVal: '01partUnCheck' // propVal: '02technologyUnCheck' }) @@ -1297,14 +979,14 @@ if (this.judgeCoState(this.multipleSelection)) { // 鍒ゆ柇涓�涓嬪墿浣欐暟閲忔槸鍚﹀ぇ浜�0 for (let i = 0, len = this.multipleSelection.length; i < len; i++) { - if ( - this.multipleSelection[i].buyQtyDue - - this.multipleSelection[i].requireNumber <= - 0 - ) { - this.$message.error('璇烽�夊簱瀛樻暟閲忓ぇ浜庡凡涓嬪彂鏁伴噺鐨勯攢鍞鍗�') - return - } + // if ( + // this.multipleSelection[i].buyQtyDue - + // this.multipleSelection[i].requireNumber <= + // 0 + // ) { + // this.$message.error('璇烽�夊簱瀛樻暟閲忓ぇ浜庡凡涓嬪彂鏁伴噺鐨勯攢鍞鍗�') + // return + // } if ( !( this.multipleSelection[i].isAudit != null && @@ -1409,7 +1091,7 @@ let flag = true const ids = [] this.multipleSelection.forEach((item) => { - if (item.salesPartNo != null && item.salesPartNo !== '') { + if (item.partNo != null && item.partNo !== '') { ids.push(item.id) } else { flag = false @@ -1417,7 +1099,6 @@ }) if (flag) { checkOA(this.multipleSelection.map((e) => e.id)).then((res) => { - console.log(res) if (!res.data.data.success) { this.$confirm(`${res.data.data.message}`, '鎻愮ず', { confirmButtonText: '纭畾', @@ -1466,7 +1147,6 @@ // 绠辩爜淇℃伅瀵煎嚭 packageExportHandle(row) { - console.log(row.otcQuantity) if (row.otcQuantity) { this.packageExport.visible = true this.packageExport.form = { @@ -1503,13 +1183,13 @@ }, // 浣滃簾 cancelHandle(row) { - this.$confirm('鏄惁纭浣滃簾閿�鍞鍗曞彿涓�' + row.customerOrderNo + '鎻愮ず', { + this.$confirm('纭浣滃簾id涓恒��' + row.id + '銆戠殑鏁版嵁?','鎻愮ず' , { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', closeOnClickModal: false, type: 'warning' }).then(() => { - dropByContractNo(row.customerOrderNo).then((res) => { + dropByContractNo({id:row.id}).then((res) => { if (res.data.code === 0) { this.$message.success('浣滃簾鎴愬姛') this.getData() @@ -1592,23 +1272,31 @@ }) return cellValue }, - getManufactureAttr(row, column, cellValue) { - this.manufactureAttrs.forEach((obj) => { + getSourceId(row, column, cellValue) { + this.sourceIdList.forEach((obj) => { if (obj.value === cellValue) { cellValue = obj.label } }) return cellValue }, - getManufactureAttrs() { - remote('manufacture_attr_type').then((response) => { - if (response.data.code === 0) { - this.manufactureAttrs = response.data.data - } else { - this.manufactureAttrs = [] + getManufactureAttr(row, column, cellValue) { + this.manufactureAttrList.forEach((obj) => { + if (obj.value === cellValue) { + cellValue = obj.label } }) + return cellValue }, + // getManufactureAttrs() { + // remote('manufacture_attr_type').then((response) => { + // if (response.data.code === 0) { + // this.manufactureAttrs = response.data.data + // } else { + // this.manufactureAttrs = [] + // } + // }) + // }, getTitles() { remote('order_export_title_type').then((response) => { if (response.data.code === 0) { @@ -1757,7 +1445,7 @@ '瀛樺湪閿�鍞鍗曞凡鍏宠仈宸ヨ壓鏂囦欢锛屽闇�鏇存敼锛岃鍏堣В闄ゅ叧鑱�' ) } - if (item.salesPartNo == null || item.salesPartNo === '') { + if (item.partNo == null || item.partNo === '') { status = true this.$message.error('瀛樺湪閿�鍞鍗曟湭缁戝畾閿�鍞欢锛岃鍏堢粦瀹�') } @@ -1887,7 +1575,6 @@ }, // 瀵煎嚭鍙拌处 exportStandBook() { - // console.log(this.$refs.customerOrderTable.getQueryParam(),"SSS") // if (this.multipleSelection.length > 0) { // let ids = '' // this.multipleSelection.forEach((item) => { @@ -1912,11 +1599,18 @@ // } else { // this.$message.error('璇烽�夋嫨鑷冲皯涓�鏉¢攢鍞鍗�') // } - exportCustomerOrder(this.$refs.customerOrderTable.getQueryParam()) - .then((response) => { - transform(response) - }) - .catch(() => {}) + this.$refs['exportForm'].validate(valid => { + if(valid){ + const exportTime = this.dataForm.exportTime + let queryParam=this.$refs.customerOrderTable.getQueryParam(); + queryParam.selectTime = exportTime + exportCustomerOrder(queryParam) + .then((response) => { + transform(response) + }) + .catch(() => {}) + } + }) }, setSalesPart() { if (this.multipleSelection.length > 0) { -- Gitblit v1.9.3