From e2c3d91242be8953c5d73ddddc04839b22a9f1e1 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期二, 14 十一月 2023 14:56:45 +0800 Subject: [PATCH] new file: src/const/crud/customerOrder/customerOrderForm.js modified: src/views/common/ztt-table.vue modified: src/views/plan/customerorder/index.vue modified: src/views/plan/customerorder/sample-customerorder-form.vue --- src/views/plan/customerorder/index.vue | 576 +++++------------------------------ src/const/crud/customerOrder/customerOrderForm.js | 113 +++++++ src/views/plan/customerorder/sample-customerorder-form.vue | 254 +++------------ src/views/common/ztt-table.vue | 3 4 files changed, 255 insertions(+), 691 deletions(-) diff --git a/src/const/crud/customerOrder/customerOrderForm.js b/src/const/crud/customerOrder/customerOrderForm.js new file mode 100644 index 0000000..8f0e9b8 --- /dev/null +++ b/src/const/crud/customerOrder/customerOrderForm.js @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2018-2025, ztt All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: ztt + */ +export const tableOption = { + border: true, + index: true, + height: '292px', + indexLabel: '搴忓彿', + menuAlign: 'center', + menuWidth: 100, + editBtn: false, + delBtn: false, + align: 'center', + addBtn: false, + addRowBtn: true, + cancelBtn: false, + refreshBtn: false, // 鏄惁鏄剧ず鍒锋柊鎸夐挳 + columnBtn: false, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H + column: [{ + label: '闆朵欢鍙�', + slot: true, + formSlot: true, + cell: true, + prop: 'partNo', + minWidth: 200, + span: 24 + }, { + label: '闆朵欢瑙勬牸', + prop: 'customerPartSpec', + type: 'input', + cell: true, + minWidth: 200, + span: 24 + }, { + label: '鍒堕�犲睘鎬�', + prop: 'manufactureAttr', + cell: true, + type: 'select', + minWidth: 200, + span: 24, + dicData:[{ + label: '鏅��', + value: 'N' + },{ + label: '鏍峰搧', + value: 'S' + },{ + label: '鐮斿彂', + value: 'D' + }] + }, { + label: '浜у搧鍚嶇О', + prop: 'productName', + cell: true, + type: 'input', + minWidth: 200, + span: 24 + }, { + label: '闅跺睘鍝佺墝', + prop: 'productType', + cell: true, + type: 'input', + minWidth: 200, + span: 24 + }, { + label: '鍗曚綅', + prop: 'otcUnit', + slot: true, + formSlot: true, + cell: true, + type: 'input', + minWidth: 200, + span: 24 + }, { + label: '鏁伴噺', + prop: 'buyQtyDue', + cell: true, + type: 'input', + dataType: 'number', + minWidth: 200, + span: 24, + rules:[{message:'绫诲瀷蹇呴』鏄暟瀛�',trigger:'blur'}] + }, { + label: '鏀惰揣鍦板潃', + prop: 'shippingAddress', + cell: true, + type: 'input', + minWidth: 200, + span: 24 + }, { + label: '浜у搧澶囨敞', + prop: 'remark', + cell: true, + type: 'textarea', + minWidth: 200, + span: 24, + minRows: 1, + maxRows: 3 + }, ] +} diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue index 209e67a..1127f78 100644 --- a/src/views/common/ztt-table.vue +++ b/src/views/common/ztt-table.vue @@ -327,6 +327,9 @@ <template v-else> <template v-if="!item.render"> <template v-if="item.formatter"> + <span v-if="item.isTag"> + <el-tag type="success">aaa</el-tag> + </span> <span v-html=" item.formatter(scope.row, item, scope.row[item.prop]) diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue index 711cf02..5541cc9 100644 --- a/src/views/plan/customerorder/index.vue +++ b/src/views/plan/customerorder/index.vue @@ -21,8 +21,9 @@ </el-button> <el-dropdown-menu slot="dropdown"> <el-dropdown-item + :key="index" :command="item.command" - v-for="item in stateTagArr" + v-for="(item,index) in stateTagArr" :disabled="item.disabled" >{{ item.label }}</el-dropdown-item > @@ -38,8 +39,9 @@ </el-button> <el-dropdown-menu slot="dropdown"> <el-dropdown-item + :key="index" :command="item.command" - v-for="item in documentTagArr" + v-for="(item,index) in documentTagArr" :disabled="item.disabled" > {{ item.label }} @@ -58,12 +60,20 @@ <el-dropdown-menu slot="dropdown"> <el-dropdown-item :command="item.command" - v-for="item in commitStateTagArr" + :key="index" + v-for="(item,index) in commitStateTagArr" :disabled="item.disabled" >{{ item.label }}</el-dropdown-item > </el-dropdown-menu> </el-dropdown> + <el-button + v-if="permissions.customerorder_ifs_line" + style="margin-left:10px;" + type="primary" + @click="pullIfsLineNo" + >鑾峰彇OTC琛屽彿</el-button + > <el-button v-if="permissions.customerorder_push_otc" style="margin-left:10px;" @@ -419,9 +429,8 @@ { minWidth: '100', width: '100px', - prop: 'customerOrderNo', + prop: 'contractNo', label: '鍚堝悓缂栧彿', - // label: '璁㈠崟鍙�', sort: true, isTrue: true, isSearch: true, @@ -431,8 +440,7 @@ { minWidth: '120', prop: 'entityName', - label: '鍚堝悓涓婚', - sort: false, + label: '宸ョ▼鍚嶇О', isTrue: true, isSearch: true, searchInfoType: 'text' @@ -445,6 +453,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', @@ -460,42 +481,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', @@ -505,16 +497,6 @@ isSearch: true, searchInfoType: 'text' }, - // { - // minWidth: '120', - // prop: 'customerContractNo', - // label: '瀹㈡埛璁㈠崟鍙�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - { minWidth: '120', prop: 'coState', @@ -541,108 +523,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, @@ -651,8 +545,8 @@ { minWidth: '120', width: '100px', - prop: 'customerPartName', - label: '闆朵欢鍚嶇О', + prop: 'productName', + label: '浜у搧鍚嶇О', sort: true, isTrue: true, isSearch: true, @@ -662,7 +556,7 @@ minWidth: '120', width: '100px', prop: 'productType', - label: '鍨嬪彿', + label: '闅跺睘鍝佺墝', isTrue: true, isSearch: true, searchInfoType: 'text' @@ -671,7 +565,7 @@ minWidth: '120', width: '100px', prop: 'otcUnit', - label: '闆朵欢灞炴��', + label: '鍗曚綅', isTrue: true, isSearch: true, searchInfoType: 'text' @@ -688,45 +582,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, @@ -734,253 +591,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, @@ -989,20 +599,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: [ @@ -1162,36 +808,6 @@ created() { this.getManufactureAttrs() this.getTitles() - /** - * { - text: '鑾峰彇閿�鍞鍗�', - type: 'primary', - fun: this.pullCustomerOrder, - disabled: false, - permitArr: [] - }, - { - text: '鑾峰彇IFS琛屽彿', - type: 'primary', - fun: this.pullIfsLineNo, - disabled: false, - permitArr: [], - loading: false - }, - { - text: '鎻愪氦瀹℃牳', - type: 'primary', - fun: this.auditCustomerOrder, - disabled: false, - permitArr: [], - loading: false - }, - { - text: '涓荤敓浜ц鍒�', - disabled: false, - fun: this.masterPlanHandle - } - */ this.table.toolbar.push({ text: '鏂板閿�鍞鍗�', type: 'primary', @@ -1199,14 +815,6 @@ disabled: false, permitArr: [] }) - // this.table.toolbar.push({ - // text: '鍚屾ERP', - // type: 'primary', - // fun: this.syncERP, - // loading: false, - // disabled: false, - // permitArr: [] - // }) if (this.permissions.customerorder_from_otc) { this.table.toolbar.push({ text: '鑾峰彇閿�鍞鍗�', @@ -1214,16 +822,6 @@ fun: this.syncERP, disabled: false, permitArr: [] - }) - } - if (this.permissions.customerorder_ifs_line) { - this.table.toolbar.push({ - text: '鑾峰彇OTC琛屽彿', - type: 'primary', - fun: this.pullIfsLineNo, - disabled: false, - permitArr: [], - loading: false }) } if (this.permissions.customerorder_submit_oa) { diff --git a/src/views/plan/customerorder/sample-customerorder-form.vue b/src/views/plan/customerorder/sample-customerorder-form.vue index 46fd83d..85f9d64 100644 --- a/src/views/plan/customerorder/sample-customerorder-form.vue +++ b/src/views/plan/customerorder/sample-customerorder-form.vue @@ -125,208 +125,33 @@ </el-form> </div> - <el-divider - ><span style="font-weight:bold;font-size:16px;">璁㈠崟琛�</span></el-divider - > + <el-divider> + <span style="font-weight:bold;font-size:16px;">璁㈠崟琛�</span> + </el-divider> <div class="l-mes normal-form"> - <el-row :gutter="20"> - <el-col :span="2"> - <span>闆朵欢鍙�</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.partNo" - placeholder="" - readonly - > - <el-button - slot="append" - icon="el-icon-search" - @click="openPartDialog()" - ></el-button> - </el-input> - </el-col> - <el-col :span="2"> - <span>鍗曚綅</span> - </el-col> - <el-col :span="6"> - <el-select - v-model="dataForm.customerOrder.unit" - placeholder="" - style="width: 100%" - > - <el-option - v-for="item in units" - :key="item.value" - :label="item.label" - :value="item.value" - /> - </el-select> - </el-col> - <el-col :span="2"> - <span>鏁伴噺</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.buyQtyDue" - placeholder="" - ></el-input> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="2"> - <span>鐢靛帇绛夌骇</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.voltAgeClass" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>浜у搧鍚嶇О</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.productName" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>鍒堕�犲睘鎬�</span> - </el-col> - <el-col :span="6"> - <el-select - v-model="dataForm.customerOrder.manufactureAttr" - placeholder="" - style="width: 100%" - disabled - > - <el-option - v-for="item in manufactureAttrs" - :key="item.value" - :label="item.label" - :value="item.value" - /> - </el-select> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="2"> - <span>澶栨姢棰滆壊</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.outerColor" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>闆朵欢瑙勬牸</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.customerPartSpec" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>鍗板瓧绫诲瀷</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.printType" - placeholder="" - ></el-input> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="2"> - <span>鍗板瓧瑕佹眰</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.printingRequirements" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>鍖呰瑕佹眰</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.packageRequire" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>璐ㄩ噺瑕佹眰</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.qualityRequire" - placeholder="" - ></el-input> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="2"> - <span>鐢熶骇闇�姹傝鏄�</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.otherProductRequire" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>绯荤粺</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.divisionSystem" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>鏀惰揣鍦板潃</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.shippingAddress" - placeholder="" - ></el-input> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="2"> - <span>涓氬姟鍛�</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.salesmanName" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>鐩橀暱瑕佹眰</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.lengthRequirement" - placeholder="" - ></el-input> - </el-col> - <el-col :span="2"> - <span>澶囨敞</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.remark" - placeholder="" - ></el-input> - </el-col> - </el-row> + <avue-crud ref="crud" + show-hide="false" + :option="option" + :data="tableData"> + <template slot="partNo" slot-scope="scope"> + <el-input v-model="scope.row.partNo" placeholder="鏌ヨ闆朵欢鍙�" readonly> + <el-button slot="append" icon="el-icon-search" @click="openPartDialog(scope.row.$index)"></el-button> + </el-input> + </template> + <template slot="otcUnit" slot-scope="scope"> + <el-select v-model="scope.row.otcUnit" placeholder="璇烽�夋嫨鍗曚綅" style="width: 100%"> + <el-option + v-for="item in units" + :key="item.value" + :label="item.label" + :value="item.value" /> + </el-select> + </template> + <template slot="menu" slot-scope="scope"> + <el-button :disabled="tableData.length<2" @click="delRow(scope.row,scope.$index)" + icon="el-icon-circle-close" type="text" size="small">鍙栨秷</el-button> + </template> + </avue-crud> </div> <span slot="footer" class="dialog-footer"> @@ -370,6 +195,7 @@ import { remote } from '@/api/admin/dict' import PartDialog from '@/views/common/part.vue' import { validateSixDecimal } from '@/util/validate' +import { tableOption } from '@/const/crud/customerOrder/customerOrderForm' export default { components: { @@ -377,6 +203,22 @@ }, data() { return { + currentSelectRow: null, + option: tableOption, + tableData: [{ + "$cellEdit": true, + "$index": 0, + "partNo": "", + "customerPartSpec": "", + "manufactureAttr": "", + "productName": "", + "productType": "", + "otcUnit": "", + "buyQtyDue": "", + "shippingAddress": "", + "remark": "", + "isTrusted": true + }], title: '', isFullScreen: false, visible: false, @@ -427,6 +269,9 @@ this.getManufactureAttrs('manufacture_attr_type') }, methods: { + delRow(row,index) { + this.tableData.splice(index,1) + }, init(id) { this.initDataForm() this.visible = true @@ -488,12 +333,17 @@ }) }, // 闆朵欢閫夋嫨 - openPartDialog() { + openPartDialog(index) { + this.currentSelectRow = index this.showPart = true }, selectPart(part) { if (part) { this.dataForm.customerOrder.partNo = part.partNo + const index = this.currentSelectRow + this.tableData[index].partNo = part.partNo + this.tableData[index].customerPartSpec = part.specs + this.tableData[index].productName = part.partName } }, // 鍏ㄥ睆 -- Gitblit v1.9.3