From def356254efddd80d70bd1b88f1c6b7248b09faa Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期四, 25 四月 2024 10:54:00 +0800 Subject: [PATCH] 优化销售订单 --- src/views/plan/customerorder/sample-customerorder-form.vue | 355 +++++++++++++++++++---------------------------------------- 1 files changed, 114 insertions(+), 241 deletions(-) diff --git a/src/views/plan/customerorder/sample-customerorder-form.vue b/src/views/plan/customerorder/sample-customerorder-form.vue index 94aaeb1..e87342d 100644 --- a/src/views/plan/customerorder/sample-customerorder-form.vue +++ b/src/views/plan/customerorder/sample-customerorder-form.vue @@ -1,7 +1,7 @@ <template> <el-dialog width="75%" - top="10vh" + top="5vh" :fullscreen="isFullScreen" :close-on-click-modal="false" :visible.sync="visible" @@ -34,7 +34,7 @@ <el-input v-model="dataForm.contractNo" placeholder="" - disabled + ></el-input> </el-form-item> </el-col> @@ -51,14 +51,6 @@ <el-input v-model="dataForm.entityName" placeholder=""></el-input> </el-form-item> </el-col> - <!-- <el-col :span="6"> - <el-form-item label="浜嬩笟閮�" prop="salesDepartment"> - <el-input - v-model="dataForm.salesDepartment" - placeholder="" - ></el-input> - </el-form-item> - </el-col> --> <el-col :span="6"> <el-form-item label="鐪佷唤" prop="province"> <el-input v-model="dataForm.province" placeholder=""></el-input> @@ -68,9 +60,11 @@ <el-row> <el-col :span="6"> <el-form-item label="涓氬姟鍛�" prop="salesMan"> - <el-select @change="selsctionSales" clearable filterable v-model="salesSelectData" style="width:100%"> + <!-- salesMan --> + <el-input v-model="dataForm.salesMan" placeholder=""></el-input> + <!-- <el-select @change="selsctionSales" clearable filterable v-model="salesSelectData" style="width:100%"> <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staffNo+','+item.staffName" :label="item.staffName"/> - </el-select> + </el-select> --> </el-form-item> </el-col> <el-col :span="6"> @@ -156,6 +150,7 @@ </el-divider> <div> <avue-crud ref="crud" + class="l-mes" show-hide="false" :option="option" :data="tableData"> @@ -175,196 +170,6 @@ </template> </avue-crud> </div> - <!-- <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.packageRequire" - 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.qualityRequire" - placeholder="" - ></el-input> - </el-col> - <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-row> - <el-row :gutter="20"> - <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-col :span="2"> - <span>涓氬姟鍛�</span> - </el-col> - <el-col :span="6"> - <el-select v-model="dataForm.customerOrder.salesmanName" style="width:100%"> - <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staff_no" :label="item.staffName"/> - </el-select> - </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-row> - <el-row :gutter="20"> - <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-col :span="2"> - <span>浜у搧绫诲瀷</span> - </el-col> - <el-col :span="6"> - <el-input - v-model="dataForm.customerOrder.productType" - placeholder="" - ></el-input> - </el-col> - </el-row> - </div> --> <span slot="footer" class="dialog-footer"> <el-button @click="visible = false">鍙栨秷</el-button> @@ -401,9 +206,34 @@ color: #c0c4cc; margin: -1px 0; } +.l-mes .el-input-group__append, +.l-mes .el-input-group__prepend { + padding: 0; + border-top: none; + border-right: none; + border-left: none; + border-radius: 0; + background-color: transparent; +} + +.l-mes .el-input-group__append .el-button, +.l-mes .el-input-group__prepend .el-button { + padding: 0; + width: 25px; + border: none !important; + line-height: 28px; + color: #c0c4cc; + margin: -1px 0; +} + +.l-mes .el-input-group__append .el-button i, +.l-mes .el-input-group__prepend .el-button i { + vertical-align: middle; +} </style> <script> -import { addObj } from '@/api/plan/customer' +import { saveOrUpdate } from '@/api/plan/customer' +import { getCustomerMainAndOrderBycNo } from '@/api/plan/customerorder' import { remote } from '@/api/admin/dict' import PartDialog from '@/views/common/part.vue' import {dateFormat} from '@/util/date' @@ -440,18 +270,19 @@ currentSelectRow: 0, option: tableOption, tableData: [{ - "$cellEdit": true, - "$index": 0, - "partNo": "", - "customerPartSpec": "", - "manufactureAttr": "", - "productName": "", - "productType": "", - "otcUnit": "", - "buyQtyDue": "", - "shippingAddress": "", - "remark": "", - "isTrusted": true + id: null, + $cellEdit: true, + $index: 0, + partNo: "", + customerPartSpec: "", + manufactureAttr: "", + productName: "", + productType: "", + otcUnit: "", + buyQtyDue: "", + shippingAddress: "", + remark: "", + isTrusted: true }], staffOptions: [], title: '', @@ -460,6 +291,7 @@ buttonDisable: false, showPart: false, dataForm: { + id: null, contractNo: null, customerName: null, customerNo: null, @@ -500,12 +332,46 @@ this.staffOptions = response.data.data }) }, - init(id) { - this.initDataForm() - this.visible = true - this.$nextTick(() => { - this.title = '鏂板' - }) + init(contractNo) { + if(contractNo){ + getCustomerMainAndOrderBycNo(contractNo).then(res=>{ + if(res.status===200){ + let data = res.data.data + this.dataForm.id = data.id + this.dataForm.contractNo = data.contractNo + this.dataForm.customerName = data.customerName + this.dataForm.entityName = data.entityName + this.dataForm.province = data.province + this.salesSelectData = data.salesMan + this.dataForm.salesMan = data.salesMan + this.dataForm.originalContractStatus = data.originalContractStatus + this.dataForm.isCp = data.isCp + this.dataForm.customerNo = data.customerNo + this.dataForm.returnStatus = data.returnStatus + this.dataForm.placeOrderDate = data.placeOrderDate + this.dataForm.factoryPlaceOrderDate = data.factoryPlaceOrderDate + this.dataForm.deliveryDate = data.deliveryDate + this.dataForm.comment = data.comment + data.customerOrderVOList.forEach(e=>{ + e.$cellEdit = true + }) + this.tableData = data.customerOrderVOList + console.log(this.dataForm); + } + }).catch(error=>{ + console.error(error) + }) + this.visible = true + this.$nextTick(() => { + this.title = '缂栬緫' + }) + }else{ + this.initDataForm() + this.visible = true + this.$nextTick(() => { + this.title = '鏂板' + }) + } }, initDataForm() { this.dataForm.contractNo = null @@ -522,18 +388,19 @@ this.dataForm.deliveryDate = null this.dataForm.comment = null this.dataForm.customerOrderVOList = [{ - "$cellEdit": true, - "$index": 0, - "partNo": "", - "customerPartSpec": "", - "manufactureAttr": "", - "productName": "", - "productType": "", - "otcUnit": "", - "buyQtyDue": "", - "shippingAddress": "", - "remark": "", - "isTrusted": true + id: null, + $cellEdit: true, + $index: 0, + partNo: "", + customerPartSpec: "", + manufactureAttr: "", + productName: "", + productType: "", + otcUnit: "", + buyQtyDue: "", + shippingAddress: "", + remark: "", + isTrusted: true }] }, // 琛ㄥ崟鎻愪氦 @@ -560,12 +427,18 @@ _than.$refs.dataForm.validate((valid) => { if (valid) { _than.dataForm.customerOrderVOList = _than.tableData - addObj(_than.dataForm).then((data) => { - _than.$message.success('娣诲姞鎴愬姛') - _than.initDataForm(); - _than.visible = false - _than.buttonDisable = false - _than.$emit('refreshDataList', 1) + saveOrUpdate(_than.dataForm).then((res) => { + if(res.status===200){ + if(_than.dataForm.id){ + _than.$message.success('鏇存柊鎴愬姛') + }else{ + _than.$message.success('娣诲姞鎴愬姛') + } + _than.initDataForm(); + _than.visible = false + _than.buttonDisable = false + _than.$emit('refreshDataList', 1) + } }).catch((error) => { _than.buttonDisable = false }) @@ -583,8 +456,8 @@ const index = this.currentSelectRow if (part) { this.tableData[index].partNo = part.partNo - this.tableData[index].customerPartSpec = part.specs - this.tableData[index].productName = part.partName + // this.tableData[index].customerPartSpec = part.specs + // this.tableData[index].productName = part.partName } }, // 鍏ㄥ睆 -- Gitblit v1.9.3