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