From 6675c7c9342d115b4f4ac6a043ab8cdd36c9dd3a Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 14 十一月 2023 16:14:17 +0800
Subject: [PATCH] modified: src/views/plan/customerorder/confirm-pull-customerorder.vue modified: src/views/plan/customerorder/index.vue modified: src/views/plan/customerorder/other-customer-order-line.vue modified: src/views/plan/customerorder/sample-customerorder-form.vue
---
src/views/plan/customerorder/other-customer-order-line.vue | 4
src/views/plan/customerorder/confirm-pull-customerorder.vue | 2
src/views/plan/customerorder/index.vue | 84 ++++++----
src/views/plan/customerorder/sample-customerorder-form.vue | 362 +++++++++++++++++++++++++++++++++++---------
4 files changed, 337 insertions(+), 115 deletions(-)
diff --git a/src/views/plan/customerorder/confirm-pull-customerorder.vue b/src/views/plan/customerorder/confirm-pull-customerorder.vue
index 2f3c9ae..063efb7 100644
--- a/src/views/plan/customerorder/confirm-pull-customerorder.vue
+++ b/src/views/plan/customerorder/confirm-pull-customerorder.vue
@@ -53,7 +53,7 @@
if (this.dataForm.selectTime != null && this.dataForm.selectTime != '') {
otcCustomerOrderSync({
selectTime: this.dataForm.selectTime,
- pathCode: '0'
+ orderNo: ''
})
.then((response) => {
const resData = response.data
diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index 2adf766..9c4423c 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -250,18 +250,18 @@
</el-dialog>
</basic-container>
- <el-dialog title="閫夋嫨鍚屾鏃ユ湡" :visible.sync="syncDateVisible" width="30%">
+ <el-dialog title="閫夋嫨鍚屾鏃ユ湡" :visible.sync="syncDateVisible" width="20%">
<div style="display: flex;justify-content: center">
- <el-date-picker
- v-model="syncDate"
- type="daterange"
- value-format="yyyy-MM-dd"
- range-separator="鑷�"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- :picker-options="pickerOptions"
- >
- </el-date-picker>
+ <el-form :model="dataForm" :inline="true" :rules="dataRule" ref="dataForm" class="l-mes">
+ <el-form-item label="鏃ユ湡" prop="selectTime">
+ <el-date-picker
+ v-model="dataForm.selectTime"
+ type="datetime"
+ placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+ value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ </el-form-item>
+ </el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="syncDateVisible = false">鍙� 娑�</el-button>
@@ -283,6 +283,7 @@
import MpsRequirements from './mps-requirements'
import SalesPartBatchDialog from './sales-part-batch.vue'
import CustomerorderReturnDialog from './customerorder-return.vue'
+import { otcCustomerOrderSync } from '@/api/plan/customerorder'
import {
delCustomerOrder,
fetchListCustomerOrder,
@@ -310,6 +311,14 @@
export default {
data() {
return {
+ dataForm: {
+ selectTime: null,
+ exportTime: null
+ },
+ dataRule: {
+ exportTime:[{required:true,message:'瀵煎嚭鏃ユ湡涓嶈兘涓虹┖',trigger:'change'}],
+ selectTime:[{required:true,message:'鏃ユ湡涓嶈兘涓虹┖',trigger:'change'}]
+ },
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
if (minDate && this.pickerMinDate) {
@@ -819,7 +828,7 @@
this.table.toolbar.push({
text: '鑾峰彇閿�鍞鍗�',
type: 'primary',
- fun: this.pullCustomerOrder,
+ fun: this.syncERP,
disabled: false,
permitArr: []
})
@@ -1534,28 +1543,37 @@
this.syncDateVisible = false
this.table.toolbar.find((e) => e.text === '鑾峰彇閿�鍞鍗�').loading = true
- syncOrder({
- startTime: this.syncDate[0],
- endTime: this.syncDate[1]
- })
- .then((res) => {
- this.table.toolbar.find(
- (e) => e.text === '鑾峰彇閿�鍞鍗�'
- ).loading = false
- const resData = res.data
- if (resData.code === 0) {
- this.$message.success(resData.data)
- this.getData()
- } else {
- this.$message.error('鍚屾澶辫触')
- }
+ if (this.dataForm.selectTime != null && this.dataForm.selectTime != '') {
+ otcCustomerOrderSync({
+ selectTime: this.dataForm.selectTime,
+ orderNo: ''
})
- .catch((e) => {
- this.table.toolbar.find(
- (e) => e.text === '鑾峰彇閿�鍞鍗�'
- ).loading = false
- this.$forceUpdate()
- })
+ .then((response) => {
+ this.table.toolbar.find(
+ (e) => e.text === '鑾峰彇閿�鍞鍗�'
+ ).loading = false
+ const resData = response.data
+ if (resData.code === 0) {
+ this.$message.success('鑾峰彇閿�鍞鍗曟垚鍔燂紱' + resData.msg)
+ this.dataForm.selectTime = null
+ this.$emit('refreshDataList')
+ this.getData()
+ } else {
+ this.$message.success('鎷夊彇閿�鍞鍗曞け璐�')
+ }
+ })
+ .catch((e) => {
+ this.table.toolbar.find(
+ (e) => e.text === '鑾峰彇閿�鍞鍗�'
+ ).loading = false
+ this.$forceUpdate()
+ })
+ } else {
+ this.table.toolbar.find(
+ (e) => e.text === '鑾峰彇閿�鍞鍗�'
+ ).loading = false
+ this.$message.error('璇峰厛閫夋嫨鏃ユ湡')
+ }
}
}
}
diff --git a/src/views/plan/customerorder/other-customer-order-line.vue b/src/views/plan/customerorder/other-customer-order-line.vue
index 2663c3a..0af2b9d 100644
--- a/src/views/plan/customerorder/other-customer-order-line.vue
+++ b/src/views/plan/customerorder/other-customer-order-line.vue
@@ -111,8 +111,8 @@
}
},
customerOrderId: {
- type: Number,
- default: 0
+ type: String,
+ default: ''
},
otherCustomerOrderLineList: {
type: Array,
diff --git a/src/views/plan/customerorder/sample-customerorder-form.vue b/src/views/plan/customerorder/sample-customerorder-form.vue
index 85f9d64..6c11ee7 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"
@@ -51,30 +51,40 @@
<el-input v-model="dataForm.entityName" placeholder=""></el-input>
</el-form-item>
</el-col>
- <el-col :span="6">
+ <!-- <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-row>
- <el-row>
+ </el-col> -->
<el-col :span="6">
<el-form-item label="鐪佷唤" prop="province">
<el-input v-model="dataForm.province" placeholder=""></el-input>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row>
<el-col :span="6">
<el-form-item label="涓氬姟鍛�" prop="salesMan">
- <el-input v-model="dataForm.salesMan" placeholder=""></el-input>
+ <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-col :span="6">
<el-form-item label="姝f湰鐘舵��" prop="originalContractStatus">
<el-input
v-model="dataForm.originalContractStatus"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鍚堝悓姝f湰鐘舵��" prop="returnStatus">
+ <el-input
+ v-model="dataForm.returnStatus"
placeholder=""
></el-input>
</el-form-item>
@@ -89,14 +99,6 @@
<el-col :span="6">
<el-form-item label="瀹㈡埛缂栫爜" prop="customerNo">
<el-input v-model="dataForm.customerNo" placeholder=""></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="鍚堝悓姝f湰鐘舵��" prop="returnStatus">
- <el-input
- v-model="dataForm.returnStatus"
- placeholder=""
- ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -121,6 +123,30 @@
</el-date-picker>
</el-form-item>
</el-col>
+ <el-col :span="6">
+ <el-form-item label="浜よ揣鏃ユ湡" prop="deliveryDate">
+ <el-date-picker
+ v-model="dataForm.deliveryDate"
+ style="width: 100%"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="璁㈠崟澶囨敞" prop="comment">
+ <el-input
+ v-model="dataForm.comment"
+ style="width: 100%"
+ type="textarea"
+ :rows="2"
+ >
+ </el-input>
+ </el-form-item>
+ </el-col>
</el-row>
</el-form>
</div>
@@ -128,7 +154,7 @@
<el-divider>
<span style="font-weight:bold;font-size:16px;">璁㈠崟琛�</span>
</el-divider>
- <div class="l-mes normal-form">
+ <div>
<avue-crud ref="crud"
show-hide="false"
:option="option"
@@ -147,12 +173,198 @@
: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>
+ <!-- <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>
@@ -195,6 +407,8 @@
import { remote } from '@/api/admin/dict'
import PartDialog from '@/views/common/part.vue'
import { validateSixDecimal } from '@/util/validate'
+import {dateFormat} from '@/util/date'
+// import { chooseStaff } from '@/api/admin/productType'
import { tableOption } from '@/const/crud/customerOrder/customerOrderForm'
export default {
@@ -203,7 +417,8 @@
},
data() {
return {
- currentSelectRow: null,
+ salesSelectData: null,
+ currentSelectRow: 0,
option: tableOption,
tableData: [{
"$cellEdit": true,
@@ -219,45 +434,29 @@
"remark": "",
"isTrusted": true
}],
+ staffOptions: [],
title: '',
isFullScreen: false,
visible: 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,
+ customerOrderVOList: [],
+ deliveryDate: null,
+ entityName: null,
factoryPlaceOrderDate: 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
- }
+ salesDepartment: null,
+ isCp: null,
+ originalContractStatus: null,
+ placeOrderDate: null,
+ province: null,
+ returnStatus: null,
+ salesMan: null,
+ salerWorkCode: null,
+ comment: null
},
dataRule: {},
units: [],
@@ -267,10 +466,17 @@
mounted: function() {
this.getDicUnit('unit') // 鑾峰彇鍗曚綅
this.getManufactureAttrs('manufacture_attr_type')
+ this.getStaffOptions();
},
methods: {
- delRow(row,index) {
- this.tableData.splice(index,1)
+ selsctionSales(data){
+ this.dataForm.salesMan = data.staffName
+ this.dataForm.salerWorkCode = data.staffNo
+ },
+ getStaffOptions(){
+ // chooseStaff().then((response)=>{
+ // this.staffOptions = response.data.data
+ // })
},
init(id) {
this.initDataForm()
@@ -280,46 +486,44 @@
})
},
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.isCp = null
this.dataForm.customerNo = null
this.dataForm.returnStatus = null
- this.dataForm.placeOrderDate = null
- this.dataForm.factoryPlaceOrderDate = 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
+ this.dataForm.placeOrderDate = dateFormat(new Date(),'yyyy-MM-dd hh:mm:ss')
+ this.dataForm.factoryPlaceOrderDate = dateFormat(new Date(),'yyyy-MM-dd hh:mm:ss')
+ 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
+ }]
},
// 琛ㄥ崟鎻愪氦
dataFormSubmit() {
this.buttonDisable = true
this.$refs.dataForm.validate((valid) => {
+ this.dataForm.customerOrderVOList = this.tableData
if (valid) {
addObj(this.dataForm)
.then((data) => {
this.$message.success('娣诲姞鎴愬姛')
+ this.initDataForm();
this.visible = false
this.buttonDisable = false
this.$emit('refreshDataList', 1)
@@ -338,12 +542,12 @@
this.showPart = true
},
selectPart(part) {
+ console.log(part);
+ const index = this.currentSelectRow
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
+ this.tableData[index].partNo = part.partNo
+ this.tableData[index].customerPartSpec = part.specs
+ this.tableData[index].productName = part.partName
}
},
// 鍏ㄥ睆
@@ -371,4 +575,4 @@
}
}
}
-</script>
+</script>
\ No newline at end of file
--
Gitblit v1.9.3