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