From d541cc1adf43277932f9367356c0fdba99e8b34a Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 12 十月 2023 15:22:35 +0800
Subject: [PATCH] modified: src/views/admin/productType/index.vue modified: src/views/plan/customerorder/sample-customerorder-form.vue modified: src/views/plan/manufacturingorder/index.vue
---
src/views/admin/productType/index.vue | 3
src/views/plan/manufacturingorder/index.vue | 2
src/const/crud/customerOrder/customerOrderForm.js | 89 +++++++++++++++++
src/views/plan/customerorder/sample-customerorder-form.vue | 166 +++++++++++++--------------------
4 files changed, 158 insertions(+), 102 deletions(-)
diff --git a/src/const/crud/customerOrder/customerOrderForm.js b/src/const/crud/customerOrder/customerOrderForm.js
new file mode 100644
index 0000000..d4bd39f
--- /dev/null
+++ b/src/const/crud/customerOrder/customerOrderForm.js
@@ -0,0 +1,89 @@
+/*
+ * 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,
+ column: [{
+ label: '闆朵欢鍙�',
+ slot: true,
+ formSlot: true,
+ cell: true,
+ prop: 'partNo',
+ span: 24
+ }, {
+ label: '闆朵欢瑙勬牸',
+ prop: 'customerPartSpec',
+ type: 'input',
+ cell: true,
+ span: 24
+ }, {
+ label: '鍒堕�犲睘鎬�',
+ prop: 'manufactureAttr',
+ cell: true,
+ type: 'input',
+ span: 24,
+ }, {
+ label: '浜у搧鍚嶇О',
+ prop: 'productName',
+ cell: true,
+ type: 'input',
+ span: 24
+ }, {
+ label: '浜у搧绫诲瀷',
+ prop: 'productType',
+ cell: true,
+ type: 'input',
+ span: 24
+ }, {
+ label: '鍗曚綅',
+ prop: 'otcUnit',
+ slot: true,
+ formSlot: true,
+ cell: true,
+ type: 'input',
+ span: 24
+ }, {
+ label: '鏁伴噺',
+ prop: 'buyQtyDue',
+ cell: true,
+ type: 'input',
+ dataType: 'number',
+ span: 24,
+ rules:[{message:'绫诲瀷蹇呴』鏄暟瀛�',trigger:'blur'}]
+ }, {
+ label: '鏀惰揣鍦板潃',
+ prop: 'shippingAddress',
+ cell: true,
+ type: 'input',
+ span: 24
+ }, {
+ label: '澶囨敞',
+ prop: 'remark',
+ cell: true,
+ type: 'input',
+ span: 24
+ }, ]
+}
diff --git a/src/views/admin/productType/index.vue b/src/views/admin/productType/index.vue
index 0c8df7f..55d70ff 100644
--- a/src/views/admin/productType/index.vue
+++ b/src/views/admin/productType/index.vue
@@ -155,8 +155,9 @@
staffId: this.prodForm.staffName,
productType: this.prodForm.type
}).then(response => {
+ this.dialogAddVisible = false
this.$message.success("娣诲姞鎴愬姛")
- this.refreshChange();
+ this.refreshChange()
}).catch(() => {
this.$message.error("娣诲姞澶辫触")
})
diff --git a/src/views/plan/customerorder/sample-customerorder-form.vue b/src/views/plan/customerorder/sample-customerorder-form.vue
index 53415cf..737f3ca 100644
--- a/src/views/plan/customerorder/sample-customerorder-form.vue
+++ b/src/views/plan/customerorder/sample-customerorder-form.vue
@@ -68,8 +68,8 @@
<el-row>
<el-col :span="6">
<el-form-item label="涓氬姟鍛�" prop="salesMan">
- <el-select v-model="dataForm.salesMan" style="width:100%">
- <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staff_no" :label="item.staffName"/>
+ <el-select @change="selsctionSales" v-model="salesSelectData" style="width:100%">
+ <el-option v-for="(item,index) in staffOptions" :key="index" :value="item" :label="item.staffName"/>
</el-select>
</el-form-item>
</el-col>
@@ -138,50 +138,29 @@
</el-form>
</div>
- <el-divider
- ><span style="font-weight:bold;font-size:16px;">璁㈠崟琛�</span></el-divider
- >
- <el-table
- :data="tableData"
- border
- style="width: 100%">
- <el-table-column
- prop="date"
- label="闆朵欢鍙�">
- </el-table-column>
- <el-table-column
- prop="name"
- label="闆朵欢瑙勬牸">
- </el-table-column>
- <el-table-column
- prop="address"
- label="浜у搧鍚嶇О">
- </el-table-column>
- <el-table-column
- prop="address"
- label="浜у搧绫诲瀷">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鍒堕�犲睘鎬�">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鏀惰揣鍦板潃">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鏁伴噺">
- </el-table-column>
- <el-table-column
- prop="address"
- label="鍗曚綅">
- </el-table-column>
- <el-table-column
- prop="address"
- label="澶囨敞">
- </el-table-column>
- </el-table>
+ <el-divider>
+ <span style="font-weight:bold;font-size:16px;">璁㈠崟琛�</span>
+ </el-divider>
+ <div>
+ <avue-crud ref="crud"
+ :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>
+ </avue-crud>
+ </div>
<!-- <div class="l-mes normal-form">
<el-row :gutter="20">
<el-col :span="2">
@@ -415,6 +394,7 @@
import PartDialog from '@/views/common/part.vue'
import { validateSixDecimal } from '@/util/validate'
import { chooseStaff } from '@/api/admin/productType'
+import { tableOption } from '@/const/crud/customerOrder/customerOrderForm'
export default {
components: {
@@ -422,7 +402,23 @@
},
data() {
return {
- tableData: [],
+ salesSelectData: null,
+ currentSelectRow: 0,
+ option: tableOption,
+ tableData: [{
+ "$cellEdit": true,
+ "$index": 0,
+ "partNo": "",
+ "customerPartSpec": "",
+ "manufactureAttr": "",
+ "productName": "",
+ "productType": "",
+ "otcUnit": "",
+ "buyQtyDue": "",
+ "shippingAddress": "",
+ "remark": "",
+ "isTrusted": true
+ }],
staffOptions: [],
title: '',
isFullScreen: false,
@@ -430,41 +426,21 @@
buttonDisable: false,
showPart: false,
dataForm: {
- id: 0,
contractNo: null,
customerName: null,
- entityName: null,
- salesDepartment: null,
- province: null,
- salesMan: null,
- originalContractStatus: null,
- isCp: null,
customerNo: null,
- returnStatus: null,
- placeOrderDate: null,
- factoryPlaceOrderDate: null,
+ customerOrderVOList: [],
deliveryDate: null,
- customerOrder: {
- partNo: null,
- unit: null,
- buyQtyDue: null,
- voltAgeClass: null,
- productName: null,
- manufactureAttr: 'S',
- outerColor: null,
- customerPartSpec: null,
- printType: null,
- printingRequirements: null,
- packageRequire: null,
- qualityRequire: null,
- otherProductRequire: null,
- divisionSystem: null,
- shippingAddress: null,
- salesmanName: null,
- lengthRequirement: null,
- remark: null,
- productType: null
- }
+ entityName: null,
+ factoryPlaceOrderDate: null,
+ salesDepartment: null,
+ isCp: null,
+ originalContractStatus: null,
+ placeOrderDate: null,
+ province: null,
+ returnStatus: null,
+ salesMan: null,
+ salerWorkCode: null,
},
dataRule: {},
units: [],
@@ -477,6 +453,10 @@
this.getStaffOptions();
},
methods: {
+ selsctionSales(data){
+ this.dataForm.salesMan = data.staffName
+ this.dataForm.salerWorkCode = data.staffNo
+ },
getStaffOptions(){
chooseStaff().then((response)=>{
this.staffOptions = response.data.data
@@ -490,11 +470,9 @@
})
},
initDataForm() {
- this.dataForm.id = 0
this.dataForm.contractNo = null
this.dataForm.customerName = null
this.dataForm.entityName = null
- this.dataForm.salesDepartment = null
this.dataForm.province = null
this.dataForm.salesMan = null
this.dataForm.originalContractStatus = null
@@ -504,29 +482,12 @@
this.dataForm.placeOrderDate = null
this.dataForm.factoryPlaceOrderDate = null
this.dataForm.deliveryDate = null
- this.dataForm.customerOrder.partNo = null
- this.dataForm.customerOrder.unit = null
- this.dataForm.customerOrder.buyQtyDue = null
- this.dataForm.customerOrder.voltAgeClass = null
- this.dataForm.customerOrder.productName = null
- this.dataForm.customerOrder.manufactureAttr = 'S'
- this.dataForm.customerOrder.outerColor = null
- this.dataForm.customerOrder.customerPartSpec = null
- this.dataForm.customerOrder.printType = null
- this.dataForm.customerOrder.printingRequirements = null
- this.dataForm.customerOrder.packageRequire = null
- this.dataForm.customerOrder.qualityRequire = null
- this.dataForm.customerOrder.otherProductRequire = null
- this.dataForm.customerOrder.divisionSystem = null
- this.dataForm.customerOrder.shippingAddress = null
- this.dataForm.customerOrder.salesmanName = null
- this.dataForm.customerOrder.lengthRequirement = null
- this.dataForm.customerOrder.remark = null
},
// 琛ㄥ崟鎻愪氦
dataFormSubmit() {
this.buttonDisable = true
this.$refs.dataForm.validate((valid) => {
+ this.dataForm.customerOrderVOList = this.tableData
if (valid) {
addObj(this.dataForm)
.then((data) => {
@@ -544,12 +505,17 @@
})
},
// 闆朵欢閫夋嫨
- openPartDialog() {
+ openPartDialog(index) {
+ this.currentSelectRow = index
this.showPart = true
},
selectPart(part) {
+ console.log(part);
+ const index = this.currentSelectRow
if (part) {
- this.dataForm.customerOrder.partNo = part.partNo
+ this.tableData[index].partNo = part.partNo
+ this.tableData[index].customerPartSpec = part.specs
+ this.tableData[index].productName = part.partName
}
},
// 鍏ㄥ睆
diff --git a/src/views/plan/manufacturingorder/index.vue b/src/views/plan/manufacturingorder/index.vue
index 904f5d4..d8e6d90 100644
--- a/src/views/plan/manufacturingorder/index.vue
+++ b/src/views/plan/manufacturingorder/index.vue
@@ -324,7 +324,7 @@
sort: true,
isTrue: true,
formatter: this.formatState,
- propVal: '01planned',
+ propVal: '',
isSearch: true,
searchInfoType: 'select',
optList: () => {
--
Gitblit v1.9.3