modified: src/views/admin/productType/index.vue
modified: src/views/plan/customerorder/sample-customerorder-form.vue
modified: src/views/plan/manufacturingorder/index.vue
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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 |
| | | }, ] |
| | | } |
| | |
| | | staffId: this.prodForm.staffName, |
| | | productType: this.prodForm.type |
| | | }).then(response => { |
| | | this.dialogAddVisible = false |
| | | this.$message.success("æ·»å æå") |
| | | this.refreshChange(); |
| | | this.refreshChange() |
| | | }).catch(() => { |
| | | this.$message.error("æ·»å 失败") |
| | | }) |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | 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: { |
| | |
| | | }, |
| | | 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, |
| | |
| | | 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: [], |
| | |
| | | this.getStaffOptions(); |
| | | }, |
| | | methods: { |
| | | selsctionSales(data){ |
| | | this.dataForm.salesMan = data.staffName |
| | | this.dataForm.salerWorkCode = data.staffNo |
| | | }, |
| | | getStaffOptions(){ |
| | | chooseStaff().then((response)=>{ |
| | | this.staffOptions = response.data.data |
| | |
| | | }) |
| | | }, |
| | | 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 |
| | |
| | | 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) => { |
| | |
| | | }) |
| | | }, |
| | | // é¶ä»¶éæ© |
| | | 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 |
| | | } |
| | | }, |
| | | // å
¨å± |
| | |
| | | sort: true, |
| | | isTrue: true, |
| | | formatter: this.formatState, |
| | | propVal: '01planned', |
| | | propVal: '', |
| | | isSearch: true, |
| | | searchInfoType: 'select', |
| | | optList: () => { |