From 23d80c1b64f23ede237ab8e89ebc2ee2aaf43f26 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 19 七月 2023 19:32:10 +0800
Subject: [PATCH] 销售模块接口联调
---
src/views/sales/generatePlan/AddGeneratePlanDialog.vue | 143 ++
src/views/service/serviceFollowup/AddServiceFollowupDialog.vue | 83 +
src/views/service/serviceFeeManage/index.vue | 8
src/views/client/followupRecords/AddFollowupRecordsDialog.vue | 24
src/views/sales/masterOrder/index.vue | 34
src/views/sales/salesDetails/AddSalesDetailsDialog.vue | 243 +++-
src/components/makepager/TableCommonView.vue | 24
src/views/service/orderManage/AddOrderManageDialog.vue | 98 +
src/views/sales/salesReturn/index.vue | 32
src/views/client/followupRecords/index.vue | 6
src/views/service/serviceContract/index.vue | 16
src/views/service/serviceFollowup/index.vue | 10
src/views/sales/contractManage/index.vue | 44
src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue | 112 +
src/views/sales/salesDetails/index.vue | 68 -
src/views/service/serviceContract/AddServiceContractDialog.vue | 119 +
src/views/client/client/index.vue | 5
src/views/client/contacts/AddContactsDialog.vue | 9
src/views/sales/subOrder/index.vue | 10
src/components/makepager/CommonFormTableView.vue | 12
src/views/sales/masterOrder/AddMasterOrderDialog.vue | 139 +
src/views/sales/salesReturn/AddSalesReturnDialog.vue | 213 ++-
src/views/sales/refundForm/AddRefundFormDialog.vue | 251 +++-
src/views/sales/refundForm/index.vue | 46
src/views/client/client/AddClientManageDialog.vue | 56
src/api/service/serviceFollowup.js | 0
src/views/client/contacts/index.vue | 61
src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue | 528 ++++++---
src/views/service/orderManage/index.vue | 10
src/views/sales/quotation/AddQuotationDialog.vue | 209 ++-
src/views/sales/salesOpportunity/index.vue | 98 -
src/views/sales/subOrder/AddSubOrderDialog.vue | 165 ++
src/api/service/serviceContract.js | 0
src/api/service/serviceFeeManage.js | 0
src/views/sales/contractManage/AddContractManageDialog.vue | 168 ++
src/views/sales/generatePlan/index.vue | 32
src/api/service/orderManage.js | 0
src/views/sales/quotation/index.vue | 44
38 files changed, 1,959 insertions(+), 1,161 deletions(-)
diff --git a/src/api/serviceManage/orderManage.js b/src/api/service/orderManage.js
similarity index 100%
rename from src/api/serviceManage/orderManage.js
rename to src/api/service/orderManage.js
diff --git a/src/api/serviceManage/serviceContract.js b/src/api/service/serviceContract.js
similarity index 100%
rename from src/api/serviceManage/serviceContract.js
rename to src/api/service/serviceContract.js
diff --git a/src/api/serviceManage/serviceFeeManage.js b/src/api/service/serviceFeeManage.js
similarity index 100%
rename from src/api/serviceManage/serviceFeeManage.js
rename to src/api/service/serviceFeeManage.js
diff --git a/src/api/serviceManage/serviceFollowup.js b/src/api/service/serviceFollowup.js
similarity index 100%
rename from src/api/serviceManage/serviceFollowup.js
rename to src/api/service/serviceFollowup.js
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index c8ce837..ad95fc2 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -30,7 +30,7 @@
:prop="'tableData.' + scope.$index + '.' + item.prop"
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input>
+ <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini" disabled></el-input>
</el-form-item>
<el-form-item
v-else-if="item.date"
@@ -39,7 +39,7 @@
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
<!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
- <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
+ <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px" disabled>
</el-date-picker>
</el-form-item>
<span v-else>{{ scope.row[item.prop] }}</span>
@@ -48,10 +48,10 @@
</el-table>
</el-form>
<div style="margin: 10px">
- <el-button size="small" type="primary">鏂板</el-button>
- <el-button size="small" type="primary">瀵煎叆鏄庣粏</el-button>
- <el-button size="small" type="primary">娓呯┖</el-button>
- <el-button size="small" type="primary">閲嶇畻</el-button>
+ <el-button size="small" type="primary" disabled>鏂板</el-button>
+ <el-button size="small" type="primary" disabled>瀵煎叆鏄庣粏</el-button>
+ <el-button size="small" type="primary" disabled>娓呯┖</el-button>
+ <el-button size="small" type="primary" disabled>閲嶇畻</el-button>
</div>
<div v-if="showSummary.total || showSummary.refundable" style="height: 42px; line-height: 42px">
<el-row :gutter="10">
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index d002647..8946328 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -28,6 +28,7 @@
<template slot-scope="scope">
<span v-if="item.price">{{ "锟�" + number_format(scope.row[item.prop], 2, ".", ",") }}</span>
<div v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div>
+ <span v-else-if="item.isTime">{{ dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) }}</span>
<span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
</template>
</el-table-column>
@@ -123,7 +124,7 @@
sums[index + 1]
}
})
- console.log(sums)
+ // console.log(sums)
return sums
}
},
@@ -154,6 +155,27 @@
s[1] = s[1].substring(0, prec) //灏忔暟鐐逛綅鏁拌秴鍑洪暱搴︽椂鎴彇鍓嶉潰鐨勪綅鏁�
}
return s.join(dec)
+ },
+ // 鏃堕棿鏄剧ず
+ dateFormat(fmt, date) {
+ let ret = ""
+ date = new Date(date)
+ const opt = {
+ "Y+": date.getFullYear().toString(), // 骞�
+ "m+": (date.getMonth() + 1).toString(), // 鏈�
+ "d+": date.getDate().toString(), // 鏃�
+ "H+": date.getHours().toString(), // 鏃�
+ "M+": date.getMinutes().toString(), // 鍒�
+ "S+": date.getSeconds().toString() // 绉�
+ // 鏈夊叾浠栨牸寮忓寲瀛楃闇�姹傚彲浠ョ户缁坊鍔狅紝蹇呴』杞寲鎴愬瓧绗︿覆
+ }
+ for (let k in opt) {
+ ret = new RegExp("(" + k + ")").exec(fmt)
+ if (ret) {
+ fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0"))
+ }
+ }
+ return fmt
}
}
}
diff --git a/src/views/client/client/AddClientManageDialog.vue b/src/views/client/client/AddClientManageDialog.vue
index 53bb234..fbc806d 100644
--- a/src/views/client/client/AddClientManageDialog.vue
+++ b/src/views/client/client/AddClientManageDialog.vue
@@ -126,7 +126,11 @@
</el-col> -->
<el-col :span="12">
<el-form-item label="涓嬫鍥炶鏃ユ湡" prop="next_visit_time">
- <el-date-picker v-model="editConfig.infomation.next_visit_time" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-date-picker
+ v-model="editConfig.infomation.next_visit_time"
+ type="datetime"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
</el-date-picker>
</el-form-item>
</el-col>
@@ -134,7 +138,7 @@
<el-form-item label="鏈�鏅氭湇鍔″埌鏈熸棩" prop="latest_service_time">
<el-date-picker
v-model="editConfig.infomation.latest_service_time"
- type="date"
+ type="datetime"
placeholder="閫夋嫨鏃ユ湡"
>
</el-date-picker>
@@ -157,8 +161,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鑱旂郴浜鸿亴鍔�" prop="contact_duties">
- <el-input v-model="editConfig.infomation.contact_duties"></el-input>
+ <el-form-item label="鑱旂郴浜鸿亴鍔�" prop="position">
+ <el-input v-model="editConfig.infomation.position"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -474,7 +478,6 @@
<script>
import { getAllData, getAddClient, getUpdateClient } from "@/api/client/client"
-import { dateFormat } from "@/common/config/index"
export default {
name: "AddClientManageDialog",
props: {
@@ -484,36 +487,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- name: "",
- number: "AC6521",
- client_status_id: "",
- member_id: "5",
- client_type_id: "",
- clientSource: "",
- client_level_id: "",
- service_member_id: "",
- next_visit_time: "",
- latest_service_time: "",
- contact_name: "",
- contact_phone: "",
- contact_duties: "",
- contact_wechat: "1",
- contact_email: "",
- industry_id: "",
- representative: "",
- registration_time: "",
- registered_capital_id: "",
- enterprise_nature_id: "",
- enterprise_scale_id: "",
- business_scope: "",
- country_id: "",
- province_id: "",
- city_id: "",
- region_id: "",
- detail_address: "",
- remark: ""
- }
+ infomation: {}
}
}
}
@@ -637,18 +611,18 @@
client_status_id: data.client_status_id || 0,
client_type_id: data.client_type_id || 0,
contact: {
- birthday: "1970-01-01 08:00:00",
+ birthday: "",
city_id: 0,
client_id: 0,
country_id: 0,
- desc: "string",
+ desc: "",
email: data.contact_email || "",
- is_first: true,
+ is_first: false,
member_id: 0,
name: data.contact_name || "",
- number: "string",
+ number: "",
phone: data.contact_phone || "",
- position: data.contact_duties || "",
+ position: data.position || "",
province_id: 0,
region_id: 0,
wechat: data.contact_wechat || ""
@@ -658,7 +632,7 @@
enterprise_nature_id: data.enterprise_nature_id || 0,
enterprise_scale_id: data.enterprise_scale_id || 0,
industry_id: data.industry_id || 0,
- latest_service_time: dateFormat("YYYY-mm-dd HH:MM:ss", data.latest_service_time) || "",
+ latest_service_time: data.latest_service_time || "",
member_id: parseInt(data.member_id) || 0,
name: data.name || "",
next_visit_time: data.next_visit_time || "",
diff --git a/src/views/client/client/index.vue b/src/views/client/client/index.vue
index bb3fb91..dc643b4 100644
--- a/src/views/client/client/index.vue
+++ b/src/views/client/client/index.vue
@@ -48,7 +48,7 @@
<script>
import AddClientManageDialog from "@/views/client/client/AddClientManageDialog.vue"
import { getClientList } from "@/api/client/client"
-import { dateFormat } from "@/common/config/index"
+
export default {
name: "CustomManage",
props: {},
@@ -105,7 +105,7 @@
{ label: "瀹㈡埛鍚嶇О", prop: "name", min: 100 }, // 瀹㈡埛鍚嶇О
{ label: "閿�鍞礋璐d汉", prop: "member_id" }, // 閿�鍞礋璐d汉
{ label: "閲嶈绾у埆", prop: "client_level_id" }, // 閲嶈绾у埆
- { label: "涓嬫鍥炶鏃ユ湡", prop: "next_visit_time", min: 90 }, // 涓嬫鍥炶鏃ユ湡
+ { label: "涓嬫鍥炶鏃ユ湡", prop: "next_visit_time", isTime: true, min: 90 }, // 涓嬫鍥炶鏃ユ湡
{ label: "璇︾粏鍦板潃", prop: "detail_address", min: 200 }, // 璇︾粏鍦板潃
{ label: "瀹㈡埛鐘舵��", prop: "client_status_id" }, // 瀹㈡埛鐘舵��
{ label: "鑱旂郴浜哄鍚�", prop: "contact_name" }, // 鑱旂郴浜哄鍚�
@@ -140,7 +140,6 @@
return {
...item,
- next_visit_time: dateFormat("YYYY-mm-dd HH:MM:ss", item.next_visit_time),
contact_name: contact_name,
contact_phone: contact_phone
}
diff --git a/src/views/client/contacts/AddContactsDialog.vue b/src/views/client/contacts/AddContactsDialog.vue
index 031c837..8e1b95d 100644
--- a/src/views/client/contacts/AddContactsDialog.vue
+++ b/src/views/client/contacts/AddContactsDialog.vue
@@ -162,12 +162,12 @@
<div v-if="isUnflod" class="basic-info-view">
<el-row>
<el-col :span="24">
- <el-form-item label="澶囨敞" prop="notes">
+ <el-form-item label="澶囨敞" prop="desc">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="editConfig.infomation.notes"
+ v-model="editConfig.infomation.desc"
></el-input>
</el-form-item>
</el-col>
@@ -230,7 +230,7 @@
title: "鏂板缓",
infomation: {
name: "",
- number: "LEA50",
+ number: "",
client_id: "",
phone: "",
position: "",
@@ -245,7 +245,7 @@
city_id: "",
region_id: "",
postalCode: "",
- notes: ""
+ desc: ""
}
}
}
@@ -351,6 +351,7 @@
saveParams() {
let data = this.editConfig.infomation
let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
birthday: data.birthday || "",
city_id: data.city_id || 0,
client_id: 0,
diff --git a/src/views/client/contacts/index.vue b/src/views/client/contacts/index.vue
index 00d264c..bf3e1e8 100644
--- a/src/views/client/contacts/index.vue
+++ b/src/views/client/contacts/index.vue
@@ -118,21 +118,23 @@
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
this.editConfig.infomation = {
- customName: "",
- contactNumber: "LEA50",
- contactName: "",
- contactDuties: "",
- phoneNumber: "",
- businessStatus: "鏂板缓",
- businessSource: "1",
- owner: "",
+ name: "",
+ number: "",
+ client_id: "",
+ phone: "",
position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ member_id: "",
+ is_first: false,
+ wechat: "",
+ birthday: "",
+ email: "",
+ nextFollowupDate: "",
+ country_id: "",
+ province_id: "",
+ city_id: "",
+ region_id: "",
+ postalCode: "",
+ desc: ""
}
},
// 缂栬緫
@@ -141,21 +143,22 @@
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = {
- customName: row.customName,
- saleLeadNumber: row.saleLeadNumber,
- contactName: row.contactName,
- contactDuties: row.contactDuties,
- phoneNumber: row.phoneNumber,
- businessStatus: "鏂板缓",
- businessSource: row.businessSource,
- owner: row.owner,
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ id: row.id,
+ birthday: row.birthday,
+ city_id: row.city_id,
+ client_id: 0,
+ country_id: row.country_id,
+ desc: row.desc,
+ email: row.email,
+ is_first: row.is_first || false,
+ member_id: row.member_id,
+ name: row.name,
+ number: row.number,
+ phone: row.phone,
+ position: row.position,
+ province_id: row.province_id,
+ region_id: row.region_id,
+ wechat: row.wechat
}
}
}
diff --git a/src/views/client/followupRecords/AddFollowupRecordsDialog.vue b/src/views/client/followupRecords/AddFollowupRecordsDialog.vue
index 5bcefd8..3828cfd 100644
--- a/src/views/client/followupRecords/AddFollowupRecordsDialog.vue
+++ b/src/views/client/followupRecords/AddFollowupRecordsDialog.vue
@@ -21,9 +21,9 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="client_id">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="client_name">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.client_id"></el-input>
+ <el-input v-model="editConfig.infomation.client_name"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline"></i></div>
<div class="common-select-btn"><i class="el-icon-edit-outline"></i></div>
</div>
@@ -198,7 +198,7 @@
visible: false,
title: "鏂板缓",
infomation: {
- client_id: "",
+ client_name: "",
number: "",
client_status_id: "",
contact_id: "",
@@ -230,7 +230,8 @@
rules: {
number: [{ required: true, message: "璇疯緭鍏ヨ窡杩涜褰曠紪鍙�", trigger: "blur" }],
member_id: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }],
- record: [{ required: true, message: "璇疯緭鍏ヨ窡杩涜褰�", trigger: "blur" }]
+ record: [{ required: true, message: "璇疯緭鍏ヨ窡杩涜褰�", trigger: "blur" }],
+ content: [{ required: true, message: "璇疯緭鍏ュ唴瀹�", trigger: "blur" }]
},
clientStatusOptions: [], // 瀹㈡埛鐘舵��
memberOptions: [],
@@ -304,12 +305,11 @@
},
saveParams() {
let data = this.editConfig.infomation
- let params = {
- id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ let follow_record = {
follow_record: {
client_id: data.client_id || 0,
client_status_id: data.client_status_id || 0,
- contact_id: data.contact_id || 0,
+ contact_id: 0, // data.contact_id ||
contact_information_id: data.contact_information_id || 0,
content: data.content || "",
follow_time: data.follow_time || "",
@@ -318,11 +318,17 @@
number: data.number || "",
purpose: data.purpose || "",
record: data.record || "",
- sale_chance_id: data.sale_chance_id || 0,
- sales_leads_id: data.sales_leads_id || 0,
+ sale_chance_id: 0, //data.sale_chance_id ||
+ sales_leads_id: 0, // data.sales_leads_id ||
topic: data.topic || ""
}
}
+ let params = {}
+ if (this.editConfig.title === "鏂板缓") {
+ params = { ...follow_record }
+ } else {
+ params = { ...follow_record, id: data.id || 0 }
+ }
return params
},
// 娣诲姞闄勪欢
diff --git a/src/views/client/followupRecords/index.vue b/src/views/client/followupRecords/index.vue
index 264d9e0..6d2d7b0 100644
--- a/src/views/client/followupRecords/index.vue
+++ b/src/views/client/followupRecords/index.vue
@@ -22,7 +22,6 @@
<script>
import AddFollowupRecordsDialog from "@/views/client/followupRecords/AddFollowupRecordsDialog"
import { getFollowRecordList } from "@/api/client/followupRecords.js"
-import { dateFormat } from "@/common/config/index"
export default {
name: "FollowupRecords",
@@ -105,9 +104,7 @@
client_name: item.client.name,
contact_name: item.contact.name,
client_status_id: item.client.client_status_id,
- phone: item.contact.phone,
- follow_time: dateFormat("YYYY-mm-dd HH:MM", item.follow_time),
- next_follow_time: dateFormat("YYYY-mm-dd HH:MM", item.next_follow_time)
+ phone: item.contact.phone
}
})
this.tableList.tableInfomation = list || []
@@ -153,6 +150,7 @@
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = {
id: row.id,
+ client_name: row.client_name,
client_id: row.client_id,
number: row.number,
client_status_id: row.client_status_id,
diff --git a/src/views/sales/contractManage/AddContractManageDialog.vue b/src/views/sales/contractManage/AddContractManageDialog.vue
index 0e6bdb0..a1e40fc 100644
--- a/src/views/sales/contractManage/AddContractManageDialog.vue
+++ b/src/views/sales/contractManage/AddContractManageDialog.vue
@@ -21,39 +21,52 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="client_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.client_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍗曟嵁缂栧彿" prop="documentNumber">
- <el-input v-model="editConfig.infomation.documentNumber"></el-input>
+ <el-form-item label="鍗曟嵁缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璐熻矗浜�" prop="owner">
- <el-select v-model="editConfig.infomation.owner" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
- <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
+ <el-form-item label="璐熻矗浜�" prop="member_id">
+ <el-select
+ v-model="editConfig.infomation.member_id"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ >
+ <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍚堝悓鐘舵��" prop="contractStatus">
- <CommonSelectView
- :common-value="editConfig.infomation.contractStatus"
- :common-options="contractStatusOptions"
- />
+ <el-form-item label="鍚堝悓鐘舵��" prop="status_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.status_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in statusOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞姤浠峰崟" prop="salesQuotation">
+ <el-form-item label="閿�鍞姤浠峰崟" prop="quotation_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.salesQuotation"></el-input>
+ <el-input v-model="editConfig.infomation.quotation_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
@@ -95,7 +108,7 @@
<div v-else><i class="el-icon-arrow-down"></i></div>
</div>
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
- <div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
+ <!-- <div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
<div class="basic-info-view">
<el-row>
<el-col :span="20">
@@ -132,11 +145,11 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
</div>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button>
+ <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button> -->
<el-button type="primary" size="small" @click="editConfig.visible = false">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
@@ -145,7 +158,8 @@
</template>
<script>
-import CommonSelectView from "@/components/makepager/CommonSelectView"
+import { getAllData } from "@/api/client/client"
+import { getAddContract, getUpdateContract } from "@/api/sales/contractManage"
export default {
name: "AddContractManageDialog",
props: {
@@ -155,42 +169,23 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- documentNumber: "TKD20230521-12",
- owner: "",
- contractStatus: "",
- salesQuotation: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ infomation: {}
}
}
}
},
- components: { CommonSelectView },
+ components: {},
computed: {},
data() {
return {
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- documentNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- owner: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ member_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
},
- ownerOptions: [
- // 璐熻矗浜�
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
- contractStatusOptions: [
+ memberOptions: [],
+ statusOptions: [
{ value: "1", label: "寰呭鎵�" },
{ value: "2", label: "瀹℃壒涓�" },
{ value: "3", label: "宸插鎵�" },
@@ -201,8 +196,78 @@
isUnflod: true
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddContract(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateContract(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ client_id: data.client_id || 0,
+ file: data.file || "",
+ member_id: data.member_id || 0,
+ number: data.number || "",
+ quotation_id: data.quotation_id || 0,
+ status_id: data.status_id || 0
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
@@ -247,10 +312,17 @@
font-size: 18px;
}
}
- }
- .address-view {
- margin-top: 10px;
- padding-right: 40px;
+ .common-select {
+ display: flex;
+ .common-select-sel {
+ width: 270px;
+ }
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 16px;
+ cursor: pointer;
+ }
+ }
}
.annex-view {
display: flex;
diff --git a/src/views/sales/contractManage/index.vue b/src/views/sales/contractManage/index.vue
index f6c722c..f3e7225 100644
--- a/src/views/sales/contractManage/index.vue
+++ b/src/views/sales/contractManage/index.vue
@@ -31,6 +31,7 @@
<script>
import AddContractManageDialog from "@/views/sales/contractManage/AddContractManageDialog"
+import { getContractList } from "@/api/sales/contractManage"
export default {
name: "ContractManage",
@@ -74,22 +75,15 @@
},
created() {
this.setTable()
+ this.getData()
},
methods: {
setTable() {
this.tableList = {
- tableInfomation: [
- {
- documentNumber: "ZDYB02-2",
- owner: "绯荤粺绠$悊鍛�",
- approvalStatus: "瀹℃壒涓�",
- creator: "绯荤粺绠$悊鍛�",
- createTime: "2023-0703 11:22:12"
- }
- ],
+ tableInfomation: [],
tableColumn: [
- { label: "鍗曟嵁缂栧彿", prop: "documentNumber", min: 120 },
- { label: "璐熻矗浜�", prop: "owner", min: 90 },
+ { label: "鍗曟嵁缂栧彿", prop: "number", min: 120 },
+ { label: "璐熻矗浜�", prop: "memberId", min: 90 },
{ label: "瀹℃壒鐘舵��", prop: "approvalStatus" },
{ label: "鍒涘缓浜�", prop: "creator", min: 100 },
{ label: "鍒涘缓鏃堕棿", prop: "createTime" }
@@ -101,6 +95,34 @@
this.searchOptions.push({ value: (i + 1).toString(), label: label })
}
},
+ // 璇锋眰鏁版嵁
+ async getData() {
+ this.loading = true
+ await getContractList()
+ .then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ if (res.data.list && res.data.list.length > 0) {
+ const list = res.data.list.map((item) => {
+ return {
+ ...item
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ this.loading = false
+ })
+ .catch((err) => {
+ console.log(err)
+ this.tableList.tableInfomation = []
+ this.loading = false
+ })
+ },
// 鏂板缓
addBtnClick() {
this.editConfig.visible = true
diff --git a/src/views/sales/generatePlan/AddGeneratePlanDialog.vue b/src/views/sales/generatePlan/AddGeneratePlanDialog.vue
index 384ba59..341b67c 100644
--- a/src/views/sales/generatePlan/AddGeneratePlanDialog.vue
+++ b/src/views/sales/generatePlan/AddGeneratePlanDialog.vue
@@ -21,40 +21,45 @@
<div class="basic-info-view">
<el-row>
<el-col v-if="isUnflod" :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="clientId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.clientId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col v-if="isUnflod" :span="12">
- <el-form-item label="鍗曟嵁缂栧彿" prop="documentNumber">
- <el-input v-model="editConfig.infomation.documentNumber"></el-input>
+ <el-form-item label="鍗曟嵁缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col v-if="isUnflod" :span="12">
- <el-form-item label="璐熻矗浜�" prop="owner">
- <el-select v-model="editConfig.infomation.owner" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
- <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
+ <el-form-item label="璐熻矗浜�" prop="memberId">
+ <el-select
+ v-model="editConfig.infomation.memberId"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ >
+ <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞瓙鍗�" prop="subOrder">
+ <el-form-item label="閿�鍞瓙鍗�" prop="subOrderId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.subOrder"></el-input>
+ <el-input v-model="editConfig.infomation.subOrderId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞槑缁嗗崟" prop="salesDetails">
+ <el-form-item label="閿�鍞槑缁嗗崟" prop="salesDetailsId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.salesDetails"></el-input>
+ <el-input v-model="editConfig.infomation.salesDetailsId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
@@ -67,23 +72,23 @@
<div class="address-view">
<el-row>
<el-col :span="12">
- <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planStartTime">
- <el-date-picker v-model="editConfig.infomation.planStartTime" type="datetime" default-time="12:00:00">
+ <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="startTime">
+ <el-date-picker v-model="editConfig.infomation.startTime" type="datetime" default-time="12:00:00">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璁″垝鎴鏃堕棿" prop="planDeadline">
- <el-date-picker v-model="editConfig.infomation.planDeadline" type="datetime" default-time="12:00:00">
+ <el-form-item label="璁″垝鎴鏃堕棿" prop="endTime">
+ <el-date-picker v-model="editConfig.infomation.endTime" type="datetime" default-time="12:00:00">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="璁″垝鍐呭" prop="refundReason">
+ <el-form-item label="璁″垝鍐呭" prop="content">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.refundReason"
+ v-model="editConfig.infomation.content"
></el-input>
</el-form-item>
</el-col>
@@ -133,6 +138,8 @@
</template>
<script>
+import { getAllData } from "@/api/client/client"
+import { getAddPlan, getUpdatePlan } from "@/api/sales/generatePlan"
export default {
name: "AddGeneratePlanDialog",
props: {
@@ -142,15 +149,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- documentNumber: "",
- owner: "",
- subOrder: "",
- salesDetails: "",
- planStartTime: "",
- planDeadline: ""
- }
+ infomation: {}
}
}
}
@@ -162,25 +161,91 @@
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- documentNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- owner: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ memberId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
},
- ownerOptions: [
- // 璐熻矗浜�
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
+ memberOptions: [],
unflodCollapseStr: "鏀惰捣",
isUnflod: true
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddPlan(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdatePlan(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ plan: {
+ clientId: data.clientId || 0,
+ content: data.content || "",
+ endTime: data.endTime || "",
+ file: data.file || "",
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ salesDetailsId: data.salesDetailsId || 0,
+ startTime: data.startTime || "",
+ subOrderId: data.subOrderId || 0
+ }
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/sales/generatePlan/index.vue b/src/views/sales/generatePlan/index.vue
index 31df8fb..9a4d88c 100644
--- a/src/views/sales/generatePlan/index.vue
+++ b/src/views/sales/generatePlan/index.vue
@@ -72,8 +72,8 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鍗曟嵁缂栧彿", prop: "documentNumber", min: 120 },
- { label: "璐熻矗浜�", prop: "owner", min: 90 },
+ { label: "鍗曟嵁缂栧彿", prop: "number", min: 120 },
+ { label: "璐熻矗浜�", prop: "memberId", min: 90 },
{ label: "瀹℃壒鐘舵��", prop: "approvalStatus" },
{ label: "鍒涘缓浜�", prop: "creator", min: 100 },
{ label: "鍒涘缓鏃堕棿", prop: "createTime" }
@@ -117,38 +117,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- documentNumber: "ZDYBD04-12",
- owner: "",
- subOrder: "",
- salesDetails: "",
- planStartTime: "",
- planDeadline: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- documentNumber: "",
- owner: "",
- subOrder: "",
- salesDetails: "",
- planStartTime: "",
- planDeadline: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
index b9a6702..cbb0e6a 100644
--- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue
+++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -21,48 +21,53 @@
<div class="basic-info-view">
<el-row>
<el-col v-if="isUnflod" :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="client_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.client_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col v-if="isUnflod" :span="12">
- <el-form-item label="鍗曟嵁缂栧彿" prop="documentNumber">
- <el-input v-model="editConfig.infomation.documentNumber"></el-input>
+ <el-form-item label="鍗曟嵁缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col v-if="isUnflod" :span="12">
- <el-form-item label="璐熻矗浜�" prop="owner">
- <el-select v-model="editConfig.infomation.owner" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
- <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
+ <el-form-item label="璐熻矗浜�" prop="member_id">
+ <el-select
+ v-model="editConfig.infomation.member_id"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ >
+ <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏈嶅姟寮�濮嬫椂闂�" prop="serviceStartTime">
- <el-date-picker v-model="editConfig.infomation.serviceStartTime" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="鏈嶅姟寮�濮嬫椂闂�" prop="start_time">
+ <el-date-picker v-model="editConfig.infomation.start_time" type="date" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏈嶅姟鎴鏃堕棿" prop="serviceDeadline">
- <el-date-picker v-model="editConfig.infomation.serviceDeadline" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="鏈嶅姟鎴鏃堕棿" prop="end_time">
+ <el-date-picker v-model="editConfig.infomation.end_time" type="date" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍚堝悓閲戦" prop="contractAmount">
- <el-input v-model="editConfig.infomation.contractAmount"></el-input>
+ <el-form-item label="鍚堝悓閲戦" prop="money">
+ <el-input v-model="editConfig.infomation.money"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div v-if="isUnflod" class="basic-info-title">闄勪欢淇℃伅</div>
+ <!-- <div v-if="isUnflod" class="basic-info-title">闄勪欢淇℃伅</div>
<div v-if="isUnflod" class="basic-info-view">
<el-row>
<el-col :span="12">
@@ -87,17 +92,17 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
</div>
<!-- 灞曞紑鏀惰捣 -->
- <div v-if="editConfig.title === '鏂板缓'" class="unflod-collapse" @click="unflodCollapseClick">
+ <!-- <div v-if="editConfig.title === '鏂板缓'" class="unflod-collapse" @click="unflodCollapseClick">
<div>{{ unflodCollapseStr }}</div>
<div v-if="isUnflod"><i class="el-icon-arrow-up"></i></div>
<div v-else><i class="el-icon-arrow-down"></i></div>
- </div>
+ </div> -->
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆瓨</el-button>
+ <el-button type="primary" size="small" @click="saveClick('form')">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
</el-dialog>
@@ -105,6 +110,8 @@
</template>
<script>
+import { getAllData } from "@/api/client/client"
+import { getAddMasterOrder, getUpdateMasterOrder } from "@/api/sales/masterOrder"
export default {
name: "QuotationDialog",
props: {
@@ -114,14 +121,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- documentNumber: "AC6521",
- owner: "",
- serviceStartTime: "",
- serviceDeadline: "",
- contractAmount: ""
- }
+ infomation: {}
}
}
}
@@ -133,25 +133,86 @@
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- documentNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- owner: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ member_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
},
- ownerOptions: [
- // 璐熻矗浜�
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
+ memberOptions: [],
unflodCollapseStr: "鏀惰捣",
isUnflod: true
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddMasterOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateMasterOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ client_id: data.client_id || 0,
+ end_time: data.end_time || "",
+ member_id: data.member_id || 0,
+ money: data.money || "",
+ number: data.number || "",
+ start_time: data.start_time || ""
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/sales/masterOrder/index.vue b/src/views/sales/masterOrder/index.vue
index ec9bdd3..3a1e960 100644
--- a/src/views/sales/masterOrder/index.vue
+++ b/src/views/sales/masterOrder/index.vue
@@ -59,7 +59,7 @@
},
showSummary: {
show: true,
- sumProp: ["contractAmount"],
+ sumProp: ["money"],
mergeNumber: 5
}
}
@@ -73,13 +73,13 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鍗曟嵁缂栧彿", prop: "documentNumber", min: 120 }, // 鍗曟嵁缂栧彿
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 }, // 瀹㈡埛鍚嶇О
- { label: "鏈嶅姟寮�濮嬫椂闂�", prop: "serviceStartTime", min: 90 }, // 鏈嶅姟寮�濮嬫椂闂�
- { label: "鏈嶅姟鎴鏃堕棿", prop: "serviceDeadline" }, // 鏈嶅姟鎴鏃堕棿
- { label: "鍚堝悓閲戦", prop: "contractAmount", min: 100 }, // 鍚堝悓閲戦
- { label: "璐熻矗浜�", prop: "owner" }, // 璐熻矗浜�
- { label: "瀹℃壒鐘舵��", prop: "approvalStatus" } // 瀹℃壒鐘舵��
+ { label: "鍗曟嵁缂栧彿", prop: "number", min: 100 }, // 鍗曟嵁缂栧彿
+ { label: "瀹㈡埛鍚嶇О", prop: "client_id", min: 120 }, // 瀹㈡埛鍚嶇О
+ { label: "鏈嶅姟寮�濮嬫椂闂�", prop: "start_time", min: 90 }, // 鏈嶅姟寮�濮嬫椂闂�
+ { label: "鏈嶅姟鎴鏃堕棿", prop: "end_time" }, // 鏈嶅姟鎴鏃堕棿
+ { label: "鍚堝悓閲戦", prop: "money" }, // 鍚堝悓閲戦
+ { label: "璐熻矗浜�", prop: "member_id" } // 璐熻矗浜�
+ // { label: "瀹℃壒鐘舵��", prop: "approvalStatus" } // 瀹℃壒鐘舵��
]
}
this.searchOptions = []
@@ -120,28 +120,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- documentNumber: "AC6521",
- owner: "",
- serviceStartTime: "",
- serviceDeadline: "",
- contractAmount: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- documentNumber: "AC6521",
- owner: "",
- serviceStartTime: "",
- serviceDeadline: "",
- contractAmount: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/quotation/AddQuotationDialog.vue b/src/views/sales/quotation/AddQuotationDialog.vue
index 156e70b..2316083 100644
--- a/src/views/sales/quotation/AddQuotationDialog.vue
+++ b/src/views/sales/quotation/AddQuotationDialog.vue
@@ -22,64 +22,73 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="client_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.client_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎶ヤ环缂栧彿" prop="quotationNo">
- <el-input v-model="editConfig.infomation.quotationNo"></el-input>
+ <el-form-item label="鎶ヤ环缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎶ヤ环鍗曠姸鎬�" prop="quotationStatus">
- <CommonSelectView
- :common-value="editConfig.infomation.quotationStatus"
- :common-options="quotationStatusOptions"
- />
+ <el-form-item label="鎶ヤ环鍗曠姸鎬�" prop="quotation_status_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.quotation_status_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option
+ v-for="item in quotationStatusOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏈夋晥鏈熻嚦" prop="validTo">
- <el-date-picker v-model="editConfig.infomation.validTo" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="鏈夋晥鏈熻嚦" prop="validity_date">
+ <el-date-picker v-model="editConfig.infomation.validity_date" type="date" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鑱旂郴浜哄鍚�" prop="contactName">
+ <el-form-item label="鑱旂郴浜哄鍚�" prop="contact_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.contactName"></el-input>
+ <el-input v-model="editConfig.infomation.contact_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-form-item label="閿�鍞礋璐d汉" prop="member_id">
<el-select
- v-model="editConfig.infomation.salesHead"
+ v-model="editConfig.infomation.member_id"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 63%"
>
- <el-option
- v-for="item in salesHeadOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞満浼�" prop="salesOpportunity">
+ <el-form-item label="閿�鍞満浼�" prop="sale_chance_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.salesOpportunity"></el-input>
+ <el-input v-model="editConfig.infomation.sale_chance_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
@@ -89,21 +98,21 @@
</div>
<!-- 鏉℃涓庢潯浠� -->
<div class="basic-info-title">鏉℃涓庢潯浠�</div>
- <div class="address-view">
+ <div class="basic-info-view">
<el-row>
<el-col :span="24">
- <el-form-item label="鏉℃涓庢潯浠�" prop="termsTreaty">
+ <el-form-item label="鏉℃涓庢潯浠�" prop="conditions">
<el-input
type="textarea"
:autosize="{ minRows: 4 }"
- v-model="editConfig.infomation.termsTreaty"
+ v-model="editConfig.infomation.conditions"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info-title">闄勪欢淇℃伅</div>
+ <!-- <div class="basic-info-title">闄勪欢淇℃伅</div>
<div class="basic-info-view">
<el-row>
<el-col :span="12">
@@ -128,9 +137,9 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
<!-- 浜у搧绠$悊 -->
- <div class="basic-info-title" style="display: flex">
+ <!-- <div class="basic-info-title" style="display: flex">
浜у搧绠$悊
<div style="margin-left: 400px">
甯佺
@@ -142,9 +151,9 @@
</div>
<div class="product-view">
<CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
- </div>
+ </div> -->
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
- <div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
+ <!-- <div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
<div class="basic-info-view">
<el-row>
<el-col :span="20">
@@ -181,13 +190,13 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
</div>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button>
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆瓨</el-button>
+ <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button> -->
+ <el-button type="primary" size="small" @click="saveClick('form')">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
</el-dialog>
@@ -195,8 +204,10 @@
</template>
<script>
-import CommonSelectView from "@/components/makepager/CommonSelectView"
-import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+// import CommonSelectView from "@/components/makepager/CommonSelectView"
+// import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import { getAllData } from "@/api/client/client"
+import { getAddQuotation, getUpdateQuotation } from "@/api/sales/quotation"
export default {
name: "QuotationDialog",
props: {
@@ -206,25 +217,12 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- quotationNo: "AC6521",
- quotationStatus: "",
- validTo: "",
- contactName: "",
- salesHead: "",
- salesOpportunity: "",
- termsTreaty: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ infomation: {}
}
}
}
},
- components: { CommonSelectView, CommonFormTableView },
+ // components: { CommonSelectView, CommonFormTableView },
computed: {
searchCommonHeight() {
return this.$refs.searchCommonView.offsetHeight
@@ -235,22 +233,13 @@
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- customName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- quotationNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- quotationStatus: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- salesHead: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
+ client_id: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ quotation_status_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ member_id: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
},
- salesHeadOptions: [
- // 閿�鍞礋璐d汉
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
- quotationStatusOptions: [], // 鎶ヤ环鍗曠姸鎬�
+ memberOptions: [],
+ quotationStatusOptions: [{ id: 1, name: "涓嶇煡閬�" }], // 鎶ヤ环鍗曠姸鎬�
currencyOptions: [
{ value: "1", label: "浜烘皯甯�(楼)" },
{ value: "2", label: "鑻遍晳(拢)" },
@@ -268,8 +257,81 @@
},
created() {
this.setTableForm()
+ this.getCommonData()
},
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ // 缂� 甯佺 鎶ヤ环鍗曠姸鎬�
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddQuotation(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateQuotation(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ client_id: parseInt(data.client_id) || 0,
+ conditions: data.conditions || "",
+ contact_id: data.contact_id || 0,
+ file: data.file || "",
+ member_id: data.member_id || 0,
+ number: data.number || "",
+ quotation_status_id: data.quotation_status_id || 0,
+ sale_chance_id: data.sale_chance_id || 0,
+ validity_date: data.validity_date || ""
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
@@ -336,10 +398,17 @@
font-size: 18px;
}
}
- }
- .address-view {
- margin-top: 10px;
- padding-right: 40px;
+ .common-select {
+ display: flex;
+ .common-select-sel {
+ width: 270px;
+ }
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 16px;
+ cursor: pointer;
+ }
+ }
}
.annex-view {
display: flex;
diff --git a/src/views/sales/quotation/index.vue b/src/views/sales/quotation/index.vue
index 7d144a3..eb67ab2 100644
--- a/src/views/sales/quotation/index.vue
+++ b/src/views/sales/quotation/index.vue
@@ -75,11 +75,11 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鎶ヤ环鍗曞彿", prop: "quotationNo", min: 90 }, // 鎶ヤ环鍗曞彿
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 }, // 瀹㈡埛鍚嶇О
- { label: "鑱旂郴浜哄鍚�", prop: "contactName", min: 90 }, // 鑱旂郴浜哄鍚�
- { label: "閿�鍞礋璐d汉", prop: "salesHead" }, // 閿�鍞礋璐d汉
- { label: "淇敼鏃堕棿", prop: "modifyTime", min: 100 }, // 淇敼鏃堕棿
+ { label: "鎶ヤ环鍗曞彿", prop: "number", min: 90 }, // 鎶ヤ环鍗曞彿
+ { label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 120 }, // 瀹㈡埛鍚嶇О
+ { label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 90 }, // 鑱旂郴浜哄鍚�
+ { label: "閿�鍞礋璐d汉", prop: "member_id" }, // 閿�鍞礋璐d汉
+ { label: "鏈夋晥鏈�", prop: "validity_date", min: 100 }, // 淇敼鏃堕棿
{ label: "灏忚", prop: "subTotal" }, // 灏忚
{ label: "鍚堣", prop: "total" }, // 鍚堣
{ label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О
@@ -103,7 +103,9 @@
if (res.data.list && res.data.list.length > 0) {
const list = res.data.list.map((item) => {
return {
- ...item
+ ...item,
+ client_name: item.client.name,
+ contact_name: item.contact.name
}
})
this.tableList.tableInfomation = list || []
@@ -125,40 +127,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- quotationNo: "AC6521",
- quotationStatus: "",
- validTo: "",
- contactName: "",
- salesHead: "",
- salesOpportunity: "",
- termsTreaty: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- quotationNo: "AC6521",
- quotationStatus: "",
- validTo: "",
- contactName: "",
- salesHead: "",
- salesOpportunity: "",
- termsTreaty: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/refundForm/AddRefundFormDialog.vue b/src/views/sales/refundForm/AddRefundFormDialog.vue
index adfcbc7..f600c21 100644
--- a/src/views/sales/refundForm/AddRefundFormDialog.vue
+++ b/src/views/sales/refundForm/AddRefundFormDialog.vue
@@ -22,17 +22,17 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="clientId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.clientId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閫�娆惧崟缂栧彿" prop="refundOrderNo">
- <el-input v-model="editConfig.infomation.refundOrderNo"></el-input>
+ <el-form-item label="閫�娆惧崟缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -49,19 +49,14 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-form-item label="閿�鍞礋璐d汉" prop="memberId">
<el-select
- v-model="editConfig.infomation.salesHead"
+ v-model="editConfig.infomation.memberId"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 63%"
>
- <el-option
- v-for="item in salesHeadOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@@ -73,38 +68,65 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="浠樻鏂瑰紡" prop="paymentMethod">
- <CommonSelectView
- :common-value="editConfig.infomation.paymentMethod"
- :common-options="paymentMethodOptions"
- />
+ <el-form-item label="浠樻鏂瑰紡" prop="refundMethod">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.refundMethod"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in refundMethodOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璐︽埛" prop="account">
- <CommonSelectView :common-value="editConfig.infomation.account" :common-options="accountOptions" />
+ <el-form-item label="璐︽埛" prop="accountId">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.accountId"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in accountOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏄惁寮�绁�" prop="whetherInvoicing">
- <CommonSelectView
- :common-value="editConfig.infomation.whetherInvoicing"
- :common-options="whetherInvoicingOptions"
- />
+ <el-form-item label="鏄惁寮�绁�" prop="isInvoice">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.isInvoice"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in isInvoiceOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
</el-row>
</div>
- <!-- 澶囨敞淇℃伅 -->
- <div class="basic-info-title">澶囨敞淇℃伅</div>
- <div class="address-view">
+ <!-- 閫�娆惧師鍥� -->
+ <div class="basic-info-title">閫�娆惧師鍥�</div>
+ <div class="basic-info-view">
<el-row>
<el-col :span="24">
- <el-form-item label="閫�娆惧師鍥�" prop="refundReason">
+ <el-form-item label="閫�娆惧師鍥�" prop="reason">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.refundReason"
+ v-model="editConfig.infomation.reason"
></el-input>
</el-form-item>
</el-col>
@@ -142,7 +164,13 @@
浜у搧绠$悊
<div style="margin-left: 400px">
甯佺
- <el-select v-model="editConfig.infomation.currency" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-select
+ v-model="editConfig.infomation.currency"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ disabled
+ >
<el-option v-for="item in currencyOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -152,7 +180,7 @@
<CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
</div>
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
- <div v-if="editConfig.title === '鏂板缓'" class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
+ <!-- <div v-if="editConfig.title === '鏂板缓'" class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
<div v-if="editConfig.title === '鏂板缓'" class="basic-info-view">
<el-row>
<el-col :span="20">
@@ -189,11 +217,11 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
</div>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button>
+ <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button> -->
<el-button type="primary" size="small" @click="editConfig.visible = false">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
@@ -202,8 +230,9 @@
</template>
<script>
-import CommonSelectView from "@/components/makepager/CommonSelectView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import { getAllData } from "@/api/client/client"
+import { getAddSalesRefund, getUpdateSalesRefund } from "@/api/sales/refundForm"
export default {
name: "AddRefundFormDialog",
props: {
@@ -213,50 +242,27 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- refundOrderNo: "TKD20230521-12",
- selSourceOrder: "",
- salesHead: "",
- refundDate: "",
- paymentMethod: "",
- account: "",
- whetherInvoicing: "",
- refundReason: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ infomation: {}
}
}
}
},
- components: { CommonSelectView, CommonFormTableView },
+ components: { CommonFormTableView },
computed: {},
data() {
return {
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- customName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- refundOrderNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ clientId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
refundDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- salesHead: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ memberId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
account: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
},
- salesHeadOptions: [
- // 閿�鍞礋璐d汉
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
+ memberOptions: [],
selSourceOrderOptions: [{ value: "1", label: "閿�鍞��璐у崟" }], // 閫夋嫨婧愬崟
- paymentMethodOptions: [
+ refundMethodOptions: [
{ value: "1", label: "鐜伴噾" },
{ value: "2", label: "鏀エ" },
{ value: "3", label: "鐢垫眹" },
@@ -265,7 +271,7 @@
{ value: "6", label: "鍏朵粬" }
], // 浠樻鏂瑰紡
accountOptions: [{ value: "1", label: "浜烘皯甯佽处鎴�" }], // 璐︽埛
- whetherInvoicingOptions: [
+ isInvoiceOptions: [
{ value: "1", label: "鏈紑" },
{ value: "2", label: "宸插紑" }
], // 鏄惁寮�绁�
@@ -286,8 +292,99 @@
},
created() {
this.setTableForm()
+ this.getCommonData()
},
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSalesRefund(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSalesRefund(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ salesRefund: {
+ accountId: data.accountId || 0,
+ clientId: data.clientId || 0,
+ isInvoice: data.isInvoice || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ products: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ],
+ reason: data.reason || "",
+ refundDate: data.refundDate || "",
+ refundMethod: data.refundMethod || ""
+ }
+ }
+ return params
+ },
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
setTableForm() {
this.productTableList = {
tableData: [
@@ -319,14 +416,7 @@
{ label: "鎻忚堪", prop: "other8" }
]
}
- },
- handleClose() {
- this.editConfig.visible = false
- },
- // 娣诲姞闄勪欢
- addAnnexClick() {},
- // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
- setFormatClick() {}
+ }
}
}
</script>
@@ -354,10 +444,17 @@
font-size: 18px;
}
}
- }
- .address-view {
- margin-top: 10px;
- padding-right: 40px;
+ .common-select {
+ display: flex;
+ .common-select-sel {
+ width: 270px;
+ }
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 16px;
+ cursor: pointer;
+ }
+ }
}
.annex-view {
display: flex;
diff --git a/src/views/sales/refundForm/index.vue b/src/views/sales/refundForm/index.vue
index 21546c0..5cfefe7 100644
--- a/src/views/sales/refundForm/index.vue
+++ b/src/views/sales/refundForm/index.vue
@@ -70,14 +70,14 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "閫�娆惧崟缂栧彿", prop: "refundOrderNo" },
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 },
+ { label: "閫�娆惧崟缂栧彿", prop: "number" },
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId", min: 120 },
{ label: "閫�娆炬棩鏈�", prop: "refundDate", min: 90 },
- { label: "璐︽埛", prop: "account" },
- { label: "鏄惁寮�绁�", prop: "whetherInvoicing", min: 100 },
- { label: "浠樻鏂瑰紡", prop: "paymentMethod" },
- { label: "閿�鍞礋璐d汉", prop: "salesHead" },
- { label: "淇敼鏃堕棿", prop: "modifyTime" },
+ { label: "璐︽埛", prop: "accountId" },
+ { label: "鏄惁寮�绁�", prop: "isInvoice", min: 100 },
+ { label: "浠樻鏂瑰紡", prop: "refundMethod" },
+ { label: "閿�鍞礋璐d汉", prop: "memberId" },
+ // { label: "淇敼鏃堕棿", prop: "modifyTime" },
{ label: "浠风◣鍚堣", prop: "priceTax" }
]
}
@@ -119,42 +119,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- refundOrderNo: "TKD20230521-12",
- selSourceOrder: "1",
- salesHead: "5",
- refundDate: "",
- paymentMethod: "1",
- account: "1",
- whetherInvoicing: "1",
- refundReason: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- refundOrderNo: "TKD20230521-12",
- selSourceOrder: "",
- salesHead: "",
- refundDate: "",
- paymentMethod: "",
- account: "",
- whetherInvoicing: "",
- refundReason: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue
index 906bc9e..0e780e3 100644
--- a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue
+++ b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue
@@ -22,23 +22,23 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="clientId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.clientId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璁㈠崟缂栧彿" prop="orderNumber">
- <el-input v-model="editConfig.infomation.orderNumber"></el-input>
+ <el-form-item label="璁㈠崟缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞満浼�" prop="salesOpportunity">
+ <el-form-item label="閿�鍞満浼�" prop="saleChanceId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.salesOpportunity"></el-input>
+ <el-input v-model="editConfig.infomation.saleChanceId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
@@ -58,25 +58,20 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="绛剧害鏃ユ湡" prop="signDate">
- <el-date-picker v-model="editConfig.infomation.signDate" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="绛剧害鏃ユ湡" prop="signTime">
+ <el-date-picker v-model="editConfig.infomation.signTime" type="date" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-form-item label="閿�鍞礋璐d汉" prop="memberId">
<el-select
- v-model="editConfig.infomation.salesHead"
+ v-model="editConfig.infomation.memberId"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 63%"
>
- <el-option
- v-for="item in salesHeadOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@@ -89,10 +84,25 @@
</el-col>
<el-col :span="12">
<el-form-item label="寰俊璁㈠崟鐘舵��" prop="wechatOrderStatus">
- <CommonSelectView
- :common-value="editConfig.infomation.wechatOrderStatus"
- :common-options="wechatOrderStatusOptions"
- />
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.wechatOrderStatus"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option
+ v-for="item in wechatOrderStatusOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ <div class="common-select-btn">
+ <i class="el-icon-setting"></i>
+ </div>
+ </div>
</el-form-item>
</el-col>
</el-row>
@@ -102,21 +112,21 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="鏀惰揣浜�" prop="consignee">
- <el-input v-model="editConfig.infomation.consignee"></el-input>
+ <el-form-item label="鏀惰揣浜�" prop="addressee">
+ <el-input v-model="editConfig.infomation.addressee"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏀惰揣浜鸿仈绯绘柟寮�" prop="consigneeContactInfo">
- <el-input v-model="editConfig.infomation.consigneeContactInfo"></el-input>
+ <el-form-item label="鏀惰揣浜鸿仈绯绘柟寮�" prop="phone">
+ <el-input v-model="editConfig.infomation.phone"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="鏀惰揣鍦板潃" prop="shippingAddress">
+ <el-form-item label="鏀惰揣鍦板潃" prop="address">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.shippingAddress"
+ v-model="editConfig.infomation.address"
></el-input>
</el-form-item>
</el-col>
@@ -180,7 +190,13 @@
浜у搧绠$悊
<div style="margin-left: 400px">
甯佺
- <el-select v-model="editConfig.infomation.currency" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-select
+ v-model="editConfig.infomation.currency"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ disabled
+ >
<el-option v-for="item in currencyOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -190,7 +206,7 @@
<CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
</div>
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
- <div v-if="editConfig.title === '鏂板缓'" class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
+ <!-- <div v-if="editConfig.title === '鏂板缓'" class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
<div v-if="editConfig.title === '鏂板缓'" class="basic-info-view">
<el-row>
<el-col :span="20">
@@ -232,12 +248,12 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
</div>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button>
+ <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button> -->
<el-button type="primary" size="small" @click="editConfig.visible = false">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
@@ -246,8 +262,9 @@
</template>
<script>
-import CommonSelectView from "@/components/makepager/CommonSelectView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import { getAllData } from "@/api/client/client"
+import { getAddSalesDetails, getUpdateSalesDetails } from "@/api/sales/salesDetails"
export default {
name: "AddSalesDetailsDialog",
props: {
@@ -257,54 +274,26 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- orderNumber: "XSHT521",
- salesOpportunity: "",
- selSourceOrder: "",
- signDate: "",
- salesHead: "",
- deliveryDate: "",
- wechatOrderStatus: "",
- consignee: "",
- consigneeContactInfo: "",
- shippingAddress: "",
- termsTreaty: "",
- notes: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalUrgent: "",
- approvalOpinion: ""
- }
+ infomation: {}
}
}
}
},
- components: { CommonSelectView, CommonFormTableView },
+ components: { CommonFormTableView },
computed: {},
data() {
return {
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- customName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- orderNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- signDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- salesHead: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }],
- approvalOpinion: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }]
+ clientId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ signTime: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ memberId: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
+ // approvalOpinion: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }]
},
- salesHeadOptions: [
- // 閿�鍞礋璐d汉
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
- selSourceOrderOptions: [{ value: "1", label: "閿�鍞瓙鍗�" }],
+ memberOptions: [],
+ selSourceOrderOptions: [],
wechatOrderStatusOptions: [], // 寰俊璁㈠崟鐘舵��
currencyOptions: [
{ value: "1", label: "浜烘皯甯�(楼)" },
@@ -323,21 +312,108 @@
},
created() {
this.setTableForm()
+ this.getCommonData()
},
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSalesDetails(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSalesDetails(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ salesDetails: {
+ address: data.address || "",
+ addressee: data.addressee || "",
+ clientId: data.id || 0,
+ conditions: data.conditions || "",
+ deliveryDate: data.id || "",
+ memberId: data.id || 0,
+ number: data.deliveryDate || "",
+ phone: data.phone || "",
+ products: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ],
+ remark: data.remark || "",
+ saleChanceId: data.id || 0,
+ saleType: data.id || 0,
+ signTime: data.signTime || "",
+ wechatOrderStatus: data.id || 0
+ }
+ }
+ return params
+ },
+
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
setTableForm() {
this.productTableList = {
- tableData: [
- {
- id: "1",
- productName: "涓婃捣鏈夐檺鍏徃",
- other0: "ZDYBD03-1",
- other1: "12",
- other2: "",
- other6: "3.00",
- other7: "2.00"
- }
- ],
+ tableData: [],
tableColumn: [
{ label: "#", prop: "id", width: 40 },
{ label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
@@ -350,14 +426,7 @@
{ label: "婧愬崟", prop: "other3" }
]
}
- },
- handleClose() {
- this.editConfig.visible = false
- },
- // 娣诲姞闄勪欢
- addAnnexClick() {},
- // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
- setFormatClick() {}
+ }
}
}
</script>
diff --git a/src/views/sales/salesDetails/index.vue b/src/views/sales/salesDetails/index.vue
index e80fe87..0a7f933 100644
--- a/src/views/sales/salesDetails/index.vue
+++ b/src/views/sales/salesDetails/index.vue
@@ -83,30 +83,12 @@
methods: {
setTable() {
this.tableList = {
- tableInfomation: [
- {
- orderNumber: "XSHT265",
- customName: "55555",
- signDate: "2023-06-25",
- salesHead: "绯荤粺绠$悊鍛�",
- outboundStatus: "鏈嚭搴�",
- receiveTotalAmount: "8000.00",
- total: "8000.00",
- amountReceivable: "8000.00",
- invoicedAmount: "8000.00",
- uninvoicedAmount: "8000.00",
- productName: "鑷姩鎵撳嵃鏈�",
- number: "1.00",
- taxUnitPrice: "8000.00",
- unOutoundNo: "1.00",
- priceTax: "8000.00"
- }
- ],
+ tableInfomation: [],
tableColumn: [
- { label: "璁㈠崟缂栧彿", prop: "orderNumber" },
- { label: "瀹㈡埛鍚嶇О", prop: "customName" },
- { label: "绛剧害鏃ユ湡", prop: "signDate" },
- { label: "閿�鍞礋璐d汉", prop: "salesHead" },
+ { label: "璁㈠崟缂栧彿", prop: "number" },
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId" },
+ { label: "绛剧害鏃ユ湡", prop: "signTime" },
+ { label: "閿�鍞礋璐d汉", prop: "memberId" },
{ label: "鍑哄簱鐘舵��", prop: "outboundStatus" },
{ label: "宸叉敹鎬婚", prop: "receiveTotalAmount", price: true },
{ label: "鍚堣", prop: "total", price: true },
@@ -158,50 +140,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- orderNumber: "XSHT521",
- salesOpportunity: "",
- selSourceOrder: "",
- signDate: "",
- salesHead: "",
- deliveryDate: "",
- wechatOrderStatus: "",
- consignee: "",
- consigneeContactInfo: "",
- shippingAddress: "",
- termsTreaty: "",
- notes: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- orderNumber: "XSHT521",
- salesOpportunity: "",
- selSourceOrder: "",
- signDate: "",
- salesHead: "",
- deliveryDate: "",
- wechatOrderStatus: "",
- consignee: "",
- consigneeContactInfo: "",
- shippingAddress: "",
- termsTreaty: "",
- notes: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
index ed9d181..91d50da 100644
--- a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
+++ b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
@@ -22,86 +22,127 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="client_id">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.client_id"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞満浼氱紪鍙�" prop="salesOpportunityNo">
- <el-input v-model="editConfig.infomation.salesOpportunityNo"></el-input>
+ <el-form-item label="閿�鍞満浼氱紪鍙�" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏈轰細鍚嶇О" prop="opportunityName">
+ <el-form-item label="鏈轰細鍚嶇О" prop="name">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.opportunityName"></el-input>
- <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <el-input v-model="editConfig.infomation.name"></el-input>
+ <!-- <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div> -->
<!-- <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div> -->
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鑱旂郴浜哄鍚�" prop="contactName">
- <el-input v-model="editConfig.infomation.contactName"></el-input>
+ <el-form-item label="鑱旂郴浜哄鍚�" prop="contact_id">
+ <el-input v-model="editConfig.infomation.contact_id"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍟嗘満鏉ユ簮" prop="businessSource">
- <CommonSelectView
- :common-value="editConfig.infomation.businessSource"
- :common-options="businessSourceOptions"
- />
+ <el-form-item label="鍟嗘満鏉ユ簮" prop="sales_sources_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.sales_sources_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option
+ v-for="item in businessSourceOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍟嗘満绫诲瀷" prop="businessType">
- <CommonSelectView
- :common-value="editConfig.infomation.businessType"
- :common-options="businessTypeOptions"
- />
+ <el-form-item label="鍟嗘満绫诲瀷" prop="sale_type_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.sale_type_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in businessTypeOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞樁娈�" prop="saleStage">
- <CommonSelectView
- :common-value="editConfig.infomation.saleStage"
- :common-options="saleStageOptions"
- />
+ <el-form-item label="閿�鍞樁娈�" prop="sale_stage_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.sale_stage_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in saleStageOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-form-item label="閿�鍞礋璐d汉" prop="member_id">
<el-select
- v-model="editConfig.infomation.salesHead"
+ v-model="editConfig.infomation.member_id"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 63%"
>
- <el-option
- v-for="item in salesHeadOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鑰佸鎴疯惀閿�" prop="oldCustomerMarket">
- <CommonSelectView
- :common-value="editConfig.infomation.oldCustomerMarket"
- :common-options="oldCustomerMarketOptions"
- />
+ <el-form-item label="鑰佸鎴疯惀閿�" prop="regular_customers_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.regular_customers_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option
+ v-for="item in oldCustomerMarketOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="绔炰簤瀵规墜" prop="competitor">
- <el-input v-model="editConfig.infomation.competitor"></el-input>
+ <el-form-item label="绔炰簤瀵规墜" prop="competitors">
+ <el-input v-model="editConfig.infomation.competitors"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -111,8 +152,20 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="鍙兘鎬�(%)" prop="possible">
- <CommonSelectView :common-value="editConfig.infomation.possible" :common-options="possibleOptions" />
+ <el-form-item label="鍙兘鎬�(%)" prop="possibilities">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.possibilities"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in possibleOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -123,106 +176,110 @@
size="mini"
style="width: 63%"
>
- <el-option
- v-for="item in currencyOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in currencyOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="棰勭畻缁濆鍊�" prop="budgetAbsoluteValue">
- <el-input v-model="editConfig.infomation.budgetAbsoluteValue"></el-input>
+ <el-form-item label="棰勭畻缁濆鍊�" prop="budget">
+ <el-input v-model="editConfig.infomation.budget"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="棰勮鎴愪氦鏃ユ湡" prop="expectDealDate">
- <el-date-picker v-model="editConfig.infomation.expectDealDate" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-form-item label="棰勮鎴愪氦鏃ユ湡" prop="expected_time">
+ <el-date-picker v-model="editConfig.infomation.expected_time" type="date" placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="棰勮鍚堝悓閲戦" prop="expectContractAmount">
- <el-input v-model="editConfig.infomation.expectContractAmount"></el-input>
+ <el-form-item label="棰勮鍚堝悓閲戦" prop="projected_amount">
+ <el-input v-model="editConfig.infomation.projected_amount"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="褰撳墠鐘舵��" prop="currentState">
- <CommonSelectView
- :common-value="editConfig.infomation.currentState"
- :common-options="currentStateOptions"
- />
+ <el-form-item label="褰撳墠鐘舵��" prop="status_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.status_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in currentStateOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <!-- @click="editDropdownBox" -->
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 鍟嗘満涓冭绱� -->
<div class="basic-info-title">鍟嗘満涓冭绱�(5W2P)</div>
- <div class="address-view">
+ <div class="basic-info-view">
<el-row>
<el-col :span="20">
- <el-form-item label="瀹㈡埛闇�姹傛垨鐥涚偣锛坵hy锛�" prop="demandPainPoint">
+ <el-form-item label="瀹㈡埛闇�姹傛垨鐥涚偣锛坵hy锛�" prop="pain_points">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.demandPainPoint"
+ v-model="editConfig.infomation.pain_points"
></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="鏄惁宸茬粡绔嬮」锛坧lan锛�" prop="projectApproval">
+ <el-form-item label="鏄惁宸茬粡绔嬮」锛坧lan锛�" prop="whether_established">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.projectApproval"
+ v-model="editConfig.infomation.whether_established"
></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="璧勯噾棰勭畻鏄灏戯紙plan锛�" prop="fundBudget">
+ <el-form-item label="璧勯噾棰勭畻鏄灏戯紙plan锛�" prop="capital_budget">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.fundBudget"
+ v-model="editConfig.infomation.capital_budget"
></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="鍏抽敭鍐崇瓥浜烘槸璋侊紙who锛�" prop="decisionMaker">
+ <el-form-item label="鍏抽敭鍐崇瓥浜烘槸璋侊紙who锛�" prop="key_maker">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.decisionMaker"
+ v-model="editConfig.infomation.key_maker"
></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="鍏抽敭鍐崇瓥鍥犵礌鏈夊摢浜涳紙what锛�" prop="decisionFactors">
+ <el-form-item label="鍏抽敭鍐崇瓥鍥犵礌鏈夊摢浜涳紙what锛�" prop="key_factors">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.decisionFactors"
+ v-model="editConfig.infomation.key_factors"
></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="鍐崇瓥娴佺▼鏄�庢牱鐨勶紙what锛�" prop="decisionFlow">
+ <el-form-item label="鍐崇瓥娴佺▼鏄�庢牱鐨勶紙what锛�" prop="process">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.decisionFlow"
+ v-model="editConfig.infomation.process"
></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="绔炰簤瀵规墜鎻愪緵鐨勬柟妗堬紙what锛�" prop="programme">
+ <el-form-item label="绔炰簤瀵规墜鎻愪緵鐨勬柟妗堬紙what锛�" prop="solutions">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.programme"
+ v-model="editConfig.infomation.solutions"
></el-input>
</el-form-item>
</el-col>
@@ -230,10 +287,10 @@
</div>
<!-- SWOT鍒嗘瀽 -->
<div class="basic-info-title">SWOT鍒嗘瀽</div>
- <div class="address-view">
+ <div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="浼樺娍(S)" prop="advantage">
+ <el-form-item label="浼樺娍(S)" prop="advantages">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
@@ -242,29 +299,29 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍔e娍(W)" prop="disadvantage">
+ <el-form-item label="鍔e娍(W)" prop="disadvantages">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.disadvantage"
+ v-model="editConfig.infomation.disadvantages"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏈轰細(O)" prop="opportunity">
+ <el-form-item label="鏈轰細(O)" prop="opportunities">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.opportunity"
+ v-model="editConfig.infomation.opportunities"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="濞佽儊(T)" prop="threaten">
+ <el-form-item label="濞佽儊(T)" prop="threats">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.threaten"
+ v-model="editConfig.infomation.threats"
></el-input>
</el-form-item>
</el-col>
@@ -272,9 +329,9 @@
</div>
<!-- 鍦板潃淇℃伅 -->
<div class="basic-info-title">鍦板潃淇℃伅</div>
- <div class="address-view">
+ <div class="basic-info-view">
<el-row>
- <el-col :span="20">
+ <!-- <el-col :span="20">
<el-form-item label="瀹氫綅" prop="position">
<el-input v-model="editConfig.infomation.position"></el-input>
</el-form-item>
@@ -283,34 +340,78 @@
<el-form-item label="鍦板浘" prop="map">
<div style="height: 100px"></div>
</el-form-item>
- </el-col>
+ </el-col> -->
<el-col :span="12">
- <el-form-item label="鍥藉" prop="country">
- <CommonSelectView :common-value="editConfig.infomation.country" :common-options="countryOptions" />
+ <el-form-item label="鍥藉" prop="country_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.country_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in countryOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鐪佷唤" prop="province">
- <CommonSelectView :common-value="editConfig.infomation.province" :common-options="provinceOptions" />
+ <el-form-item label="鐪佷唤" prop="province_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.province_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍩庡競" prop="city">
- <CommonSelectView :common-value="editConfig.infomation.city" :common-options="cityOptions" />
+ <el-form-item label="鍩庡競" prop="city_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.city_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍖哄煙" prop="region">
- <CommonSelectView :common-value="editConfig.infomation.region" :common-options="regionOptions" />
+ <el-form-item label="鍖哄煙" prop="region_id">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.region_id"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in regionOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ </div>
</el-form-item>
</el-col>
<el-col :span="20">
- <el-form-item label="璇︾粏鍦板潃" prop="address">
+ <el-form-item label="璇︾粏鍦板潃" prop="detail_address">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="editConfig.infomation.address"
+ v-model="editConfig.infomation.detail_address"
></el-input>
</el-form-item>
</el-col>
@@ -321,19 +422,19 @@
<div class="basic-info-view">
<el-row>
<el-col :span="20">
- <el-form-item label="澶囨敞" prop="notes">
+ <el-form-item label="澶囨敞" prop="remark">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="editConfig.infomation.notes"
+ v-model="editConfig.infomation.remark"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info-title">闄勪欢淇℃伅</div>
+ <!-- <div class="basic-info-title">闄勪欢淇℃伅</div>
<div class="basic-info-view">
<el-row>
<el-col :span="12">
@@ -358,12 +459,12 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
</div>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆瓨</el-button>
+ <el-button type="primary" size="small" @click="saveClick('form')">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
</el-dialog>
@@ -371,7 +472,8 @@
</template>
<script>
-import CommonSelectView from "@/components/makepager/CommonSelectView"
+import { getAllData } from "@/api/client/client"
+import { getAddSaleChance, getUpdateSaleChance } from "@/api/sales/salesOpportunity"
export default {
name: "AddSalesOpportunityDialog",
props: {
@@ -381,47 +483,12 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- salesOpportunityNo: "POT521",
- opportunityName: "",
- contactName: "",
- businessSource: "",
- businessType: "",
- saleStage: "",
- salesHead: "",
- oldCustomerMarket: "",
- competitor: "",
- possible: "",
- currency: "",
- budgetAbsoluteValue: "",
- expectDealDate: "",
- expectContractAmount: "",
- currentState: "",
- demandPainPoint: "",
- projectApproval: "",
- fundBudget: "",
- decisionMaker: "",
- decisionFactors: "",
- decisionFlow: "",
- programme: "",
- advantage: "",
- disadvantage: "",
- opportunity: "",
- threaten: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- notes: ""
- }
+ infomation: {}
}
}
}
},
- components: { CommonSelectView },
+ components: {},
computed: {
searchCommonHeight() {
return this.$refs.searchCommonView.offsetHeight
@@ -432,64 +499,144 @@
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- salesOpportunityNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- opportunityName: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- salesHead: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- saleStage: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ name: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ member_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ sale_stage_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
currency: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- expectDealDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- expectContractAmount: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ expected_time: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ projected_amount: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
},
- businessSourceOptions: [
- { value: "1", label: "鍚庡彴娉ㄥ唽" },
- { value: "2", label: "浠g悊鍟嗗鎴�" },
- { value: "3", label: "鐢佃瘽闄岀敓鎷滆" },
- { value: "4", label: "鐩存帴璁块棶" },
- { value: "5", label: "椤圭洰鍚堜綔" },
- { value: "6", label: "涓汉鑷壘" },
- { value: "7", label: "浜屾閿�鍞�" },
- { value: "8", label: "鍏徃鐢佃瘽" }
- ],
- salesHeadOptions: [
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
+ businessSourceOptions: [],
+ memberOptions: [],
businessTypeOptions: [], // 鍟嗘満绫诲瀷
saleStageOptions: [], // 閿�鍞樁娈�
oldCustomerMarketOptions: [], // 鑰佸鎴疯惀閿�
possibleOptions: [], // 鍙兘鎬�
- currencyOptions: [], // 甯佺
+ currencyOptions: [
+ {
+ id: 1,
+ name: "浜烘皯甯�"
+ }
+ ], // 甯佺
currentStateOptions: [], // 褰撳墠鐘舵��
- countryOptions: [{ value: "1", label: "涓浗" }], // 鍥藉
- provinceOptions: [
- { value: "1", label: "鍖椾含甯�" },
- { value: "2", label: "涓婃捣甯�" },
- { value: "3", label: "鍚夋灄鐪�" },
- { value: "4", label: "闄曡タ鐪�" }
- ], // 鐪佷唤
- cityOptions: [
- { value: "1", label: "鍖椾含甯�" },
- { value: "2", label: "涓婃捣甯�" },
- { value: "3", label: "鍚夋灄甯�" },
- { value: "4", label: "瑗垮畨甯�" }
- ], // 鍩庡競
- regionOptions: [
- { value: "1", label: "鏈濋槼鍖�" },
- { value: "2", label: "娴锋穩鍖�" },
- { value: "3", label: "閫氬窞鍖�" },
- { value: "4", label: "瑗垮煄鍖�" }
- ] // 鍖哄煙
+ countryOptions: [], // 鍥藉
+ provinceOptions: [], // 鐪佷唤
+ cityOptions: [], // 鍩庡競
+ regionOptions: [] // 鍖哄煙
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ // 缂� 鍙兘鎬� 甯佺 褰撳墠鐘舵��
+ this.memberOptions = res.data.member
+ this.businessSourceOptions = res.data.sales_source
+ this.businessTypeOptions = res.data.sale_type
+ this.oldCustomerMarketOptions = res.data.regular_customers
+ this.saleStageOptions = res.data.sale_stage
+ this.countryOptions = res.data.country
+ this.provinceOptions = res.data.province
+ this.cityOptions = res.data.city
+ this.regionOptions = res.data.region
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
handleClose() {
this.editConfig.visible = false
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSaleChance(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSaleChance(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ advantages: data.advantages || "",
+ budget: data.budget || 0,
+ capital_budget: data.capital_budget || "",
+ city_id: data.city_id || 0,
+ client_id: data.client_id || 0,
+ competitors: data.competitors || "",
+ contact_id: data.contact_id || 0,
+ country_id: data.country_id || 0,
+ currency: data.currency || 0,
+ disadvantages: data.disadvantages || "",
+ expected_time: data.expected_time || "",
+ key_factors: data.key_factors || "",
+ key_maker: data.key_maker || "",
+ member_id: data.member_id || 0,
+ name: data.name || "",
+ number: data.number || "",
+ opportunities: data.opportunities || "",
+ pain_points: data.pain_points || "",
+ possibilities: data.possibilities || 0,
+ process: data.process || "",
+ projected_amount: parseInt(data.projected_amount) || 0,
+ province_id: data.province_id || 0,
+ region_id: data.region_id || 0,
+ regular_customers_id: data.regular_customers_id || 0,
+ sale_stage_id: data.sale_stage_id || 0,
+ sale_type_id: data.sale_type_id || 0,
+ sales_sources_id: data.sales_sources_id || 0,
+ solutions: data.solutions || "",
+ status_id: data.status_id || 0,
+ threats: data.threats || "",
+ whether_established: data.whether_established || "",
+
+ remark: data.remark || "",
+ detail_address: data.detail_address || ""
+ }
+ return params
},
// 娣诲姞闄勪欢
addAnnexClick() {},
@@ -522,10 +669,17 @@
font-size: 18px;
}
}
- }
- .address-view {
- margin-top: 10px;
- padding-right: 40px;
+ .common-select {
+ display: flex;
+ .common-select-sel {
+ width: 270px;
+ }
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 16px;
+ cursor: pointer;
+ }
+ }
}
.annex-view {
display: flex;
diff --git a/src/views/sales/salesOpportunity/index.vue b/src/views/sales/salesOpportunity/index.vue
index eba3e09..d12fe97 100644
--- a/src/views/sales/salesOpportunity/index.vue
+++ b/src/views/sales/salesOpportunity/index.vue
@@ -85,16 +85,16 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鏈轰細鍚嶇О", prop: "opportunityName", min: 120 }, // 鏈轰細鍚嶇О
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 90 }, // 瀹㈡埛鍚嶇О
- { label: "閿�鍞満浼氱紪鍙�", prop: "salesOpportunityNo" }, // 閿�鍞満浼氱紪鍙�
- { label: "鑱旂郴浜哄鍚�", prop: "contactName", min: 100 }, // 鑱旂郴浜哄鍚�
- { label: "閿�鍞樁娈�", prop: "saleStage" }, // 閿�鍞樁娈�
- { label: "鍙兘鎬�(%)", prop: "possible" }, // 鍙兘鎬�
- { label: "棰勮鎴愪氦鏃ユ湡", prop: "expectDealDate" }, // 棰勮鎴愪氦鏃ユ湡
- { label: "棰勮鍚堝悓閲戦", prop: "expectContractAmount" }, // 棰勮鍚堝悓閲戦
- { label: "棰勭畻缁濆鍊�", prop: "budgetAbsoluteValue" }, // 棰勭畻缁濆鍊�
- { label: "閿�鍞礋璐d汉", prop: "salesHead" } // 閿�鍞礋璐d汉
+ { label: "鏈轰細鍚嶇О", prop: "name", min: 120 }, // 鏈轰細鍚嶇О
+ { label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 90 }, // 瀹㈡埛鍚嶇О
+ { label: "閿�鍞満浼氱紪鍙�", prop: "number" }, // 閿�鍞満浼氱紪鍙�
+ { label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 100 }, // 鑱旂郴浜哄鍚�
+ { label: "閿�鍞樁娈�", prop: "sale_stage_id" }, // 閿�鍞樁娈�
+ { label: "鍙兘鎬�(%)", prop: "possibilities_id" }, // 鍙兘鎬�
+ { label: "棰勮鎴愪氦鏃ユ湡", prop: "expected_time" }, // 棰勮鎴愪氦鏃ユ湡
+ { label: "棰勮鍚堝悓閲戦", prop: "projected_amount" }, // 棰勮鍚堝悓閲戦
+ { label: "棰勭畻缁濆鍊�", prop: "capital_budget" }, // 棰勭畻缁濆鍊�
+ { label: "閿�鍞礋璐d汉", prop: "member_id" } // 閿�鍞礋璐d汉
]
}
this.searchOptions = []
@@ -113,7 +113,9 @@
if (res.data.list && res.data.list.length > 0) {
const list = res.data.list.map((item) => {
return {
- ...item
+ ...item,
+ client_name: item.client.name,
+ contact_name: item.contact.name
}
})
this.tableList.tableInfomation = list || []
@@ -135,84 +137,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- salesOpportunityNo: "POT521",
- opportunityName: "",
- contactName: "",
- businessSource: "",
- businessType: "",
- saleStage: "",
- salesHead: "",
- oldCustomerMarket: "",
- competitor: "",
- possible: "",
- currency: "",
- budgetAbsoluteValue: "",
- expectDealDate: "",
- expectContractAmount: "",
- currentState: "",
- demandPainPoint: "",
- projectApproval: "",
- fundBudget: "",
- decisionMaker: "",
- decisionFactors: "",
- decisionFlow: "",
- programme: "",
- advantage: "",
- disadvantage: "",
- opportunity: "",
- threaten: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- notes: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- salesOpportunityNo: "POT521",
- opportunityName: "",
- contactName: "",
- businessSource: "",
- businessType: "",
- saleStage: "",
- salesHead: "",
- oldCustomerMarket: "",
- competitor: "",
- possible: "",
- currency: "",
- budgetAbsoluteValue: "",
- expectDealDate: "",
- expectContractAmount: "",
- currentState: "",
- demandPainPoint: "",
- projectApproval: "",
- fundBudget: "",
- decisionMaker: "",
- decisionFactors: "",
- decisionFlow: "",
- programme: "",
- advantage: "",
- disadvantage: "",
- opportunity: "",
- threaten: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- notes: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/salesReturn/AddSalesReturnDialog.vue b/src/views/sales/salesReturn/AddSalesReturnDialog.vue
index d362302..44c5b3c 100644
--- a/src/views/sales/salesReturn/AddSalesReturnDialog.vue
+++ b/src/views/sales/salesReturn/AddSalesReturnDialog.vue
@@ -22,17 +22,17 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="clientId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.clientId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞��璐у崟缂栧彿" prop="salesReturnOrderNo">
- <el-input v-model="editConfig.infomation.salesReturnOrderNo"></el-input>
+ <el-form-item label="閿�鍞��璐у崟缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -49,10 +49,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閫�鍏ヤ粨搴�" prop="returnWarehouse">
- <el-select v-model="editConfig.infomation.returnWarehouse" size="mini" style="width: 63%">
+ <el-form-item label="閫�鍏ヤ粨搴�" prop="repository">
+ <el-select v-model="editConfig.infomation.repository" size="mini" style="width: 63%">
<el-option
- v-for="item in returnWarehouseOptions"
+ v-for="item in repositoryOptions"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -62,19 +62,14 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-form-item label="閿�鍞礋璐d汉" prop="memberId">
<el-select
- v-model="editConfig.infomation.salesHead"
+ v-model="editConfig.infomation.memberId"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 63%"
>
- <el-option
- v-for="item in salesHeadOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@@ -92,22 +87,35 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="鐘舵��" prop="state">
- <CommonSelectView :common-value="editConfig.infomation.state" :common-options="stateOptions" />
+ <el-form-item label="鐘舵��" prop="status">
+ <div class="common-select">
+ <el-select
+ v-model="editConfig.infomation.status"
+ placeholder="璇烽�夋嫨"
+ class="common-select-sel"
+ size="mini"
+ >
+ <el-option v-for="item in statusOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ <div class="common-select-btn" @click="editDropdownBox">
+ <i class="el-icon-setting"></i>
+ </div>
+ </div>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 澶囨敞淇℃伅 -->
<div class="basic-info-title">澶囨敞淇℃伅</div>
- <div class="address-view">
+ <div class="basic-info-view">
<el-row>
<el-col :span="24">
- <el-form-item label="閫�璐у師鍥�" prop="returnReason">
+ <el-form-item label="閫�璐у師鍥�" prop="reason">
<el-input
type="textarea"
:autosize="{ minRows: 2 }"
- v-model="editConfig.infomation.returnReason"
+ v-model="editConfig.infomation.reason"
></el-input>
</el-form-item>
</el-col>
@@ -165,8 +173,9 @@
</template>
<script>
-import CommonSelectView from "@/components/makepager/CommonSelectView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import { getAllData } from "@/api/client/client"
+import { getAddSalesReturn, getUpdateSalesReturn } from "@/api/sales/salesReturn"
export default {
name: "AddSalesReturnDialog",
props: {
@@ -176,48 +185,30 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- salesReturnOrderNo: "THD20230521-11",
- selSourceOrder: "1",
- returnWarehouse: "1",
- salesHead: "5",
- returnDate: "",
- state: "",
- returnReason: ""
- }
+ infomation: {}
}
}
}
},
- components: { CommonSelectView, CommonFormTableView },
+ components: { CommonFormTableView },
computed: {},
data() {
return {
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- salesReturnOrderNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- returnWarehouse: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- salesHead: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ repository: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ memberId: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
},
- salesHeadOptions: [
- // 閿�鍞礋璐d汉
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
- selSourceOrderOptions: [{ value: "1", label: "閿�鍞槑缁嗗崟" }], // 閫夋嫨婧愬崟
- returnWarehouseOptions: [
+ memberOptions: [],
+ selSourceOrderOptions: [], // 閫夋嫨婧愬崟
+ repositoryOptions: [
{ value: "1", label: "鎬讳粨" },
{ value: "2", label: "璧犲搧浠�" },
{ value: "3", label: "鍏朵粬浠�" }
], // 閫�鍏ヤ粨搴�
- stateOptions: [], // 鐘舵��
+ statusOptions: [], // 鐘舵��
currencyOptions: [
{ value: "1", label: "浜烘皯甯�(楼)" },
{ value: "2", label: "鑻遍晳(拢)" },
@@ -235,21 +226,101 @@
},
created() {
this.setTableForm()
+ this.getCommonData()
},
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSalesReturn(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSalesReturn(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ salesReturn: {
+ clientId: data.clientId || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ products: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ],
+ reason: data.reason || "",
+ repository: data.repository || "",
+ returnDate: data.returnDate || "",
+ status: data.status || 0
+ }
+ }
+ return params
+ },
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
setTableForm() {
this.productTableList = {
- tableData: [
- {
- id: "1",
- productName: "涓婃捣鏈夐檺鍏徃",
- other0: "ZDYBD03-1",
- other1: "12",
- other2: "5.00",
- other4: "3.00",
- other3: "2.00"
- }
- ],
+ tableData: [],
tableColumn: [
{ label: "#", prop: "id", width: 40 },
{ label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
@@ -268,14 +339,7 @@
{ label: "鎻忚堪", prop: "other8" }
]
}
- },
- handleClose() {
- this.editConfig.visible = false
- },
- // 娣诲姞闄勪欢
- addAnnexClick() {},
- // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
- setFormatClick() {}
+ }
}
}
</script>
@@ -303,10 +367,17 @@
font-size: 18px;
}
}
- }
- .address-view {
- margin-top: 10px;
- padding-right: 40px;
+ .common-select {
+ display: flex;
+ .common-select-sel {
+ width: 270px;
+ }
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 16px;
+ cursor: pointer;
+ }
+ }
}
.annex-view {
display: flex;
diff --git a/src/views/sales/salesReturn/index.vue b/src/views/sales/salesReturn/index.vue
index 16f1078..ba7d780 100644
--- a/src/views/sales/salesReturn/index.vue
+++ b/src/views/sales/salesReturn/index.vue
@@ -71,14 +71,14 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "閿�鍞��璐у崟缂栧彿", prop: "salesReturnOrderNo", min: 120 },
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 90 },
+ { label: "閿�鍞��璐у崟缂栧彿", prop: "number", min: 120 },
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId", min: 90 },
{ label: "閫�璐ф棩鏈�", prop: "returnDate", min: 100 },
- { label: "鐘舵��", prop: "state" },
- { label: "閫�鍏ヤ粨搴�", prop: "returnWarehouse" },
+ { label: "鐘舵��", prop: "status" },
+ { label: "閫�鍏ヤ粨搴�", prop: "repository" },
{ label: "搴旈��娆�", prop: "refundabe" },
{ label: "宸查��娆�", prop: "refunded" },
- { label: "閿�鍞礋璐d汉", prop: "salesHead" },
+ { label: "閿�鍞礋璐d汉", prop: "memberId" },
{ label: "淇敼鏃堕棿", prop: "modifyTime" }
]
}
@@ -120,32 +120,14 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {
- customName: "",
- salesReturnOrderNo: "THD20230521-11",
- selSourceOrder: "1",
- returnWarehouse: "1",
- salesHead: "5",
- returnDate: "",
- state: "",
- returnReason: ""
- }
+ this.editConfig.infomation = {}
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = {
- customName: "",
- salesReturnOrderNo: "THD20230521-11",
- selSourceOrder: "",
- returnWarehouse: "",
- salesHead: "",
- returnDate: "",
- state: "",
- returnReason: ""
- }
+ this.editConfig.infomation = { ...row }
}
}
}
diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue
index 0000851..a9ad5d0 100644
--- a/src/views/sales/subOrder/AddSubOrderDialog.vue
+++ b/src/views/sales/subOrder/AddSubOrderDialog.vue
@@ -21,32 +21,37 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
- <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="clientId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.customName"></el-input>
+ <el-input v-model="editConfig.infomation.clientId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍗曟嵁缂栧彿" prop="documentNumber">
- <el-input v-model="editConfig.infomation.documentNumber"></el-input>
+ <el-form-item label="鍗曟嵁缂栧彿" prop="number">
+ <el-input v-model="editConfig.infomation.number"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞�诲崟" prop="masterOrder">
+ <el-form-item label="閿�鍞�诲崟" prop="masterOrderId">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.masterOrder"></el-input>
+ <el-input v-model="editConfig.infomation.masterOrderId"></el-input>
<div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
<div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璐熻矗浜�" prop="owner">
- <el-select v-model="editConfig.infomation.owner" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
- <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
+ <el-form-item label="璐熻矗浜�" prop="memberId">
+ <el-select
+ v-model="editConfig.infomation.memberId"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ >
+ <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@@ -85,7 +90,13 @@
浜у搧绠$悊
<div style="margin-left: 400px">
甯佺
- <el-select v-model="editConfig.infomation.currency" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-select
+ v-model="editConfig.infomation.currency"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ disabled
+ >
<el-option v-for="item in currencyOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -106,6 +117,7 @@
placeholder="璇烽�夋嫨"
size="mini"
style="width: 104px; margin-left: 3px"
+ disabled
>
<el-option
v-for="item in discountOptions"
@@ -116,14 +128,20 @@
</el-option>
</el-select>
</template>
- <el-input v-model="editConfig.infomation.discount"></el-input>
+ <el-input v-model="editConfig.infomation.discount" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="7" :offset="17">
<el-form-item prop="discount">
<template slot="label">
<span>璋冩暣</span>
- <el-select v-model="adjust" placeholder="璇烽�夋嫨" size="mini" style="width: 74px; margin-left: 3px">
+ <el-select
+ v-model="adjust"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 74px; margin-left: 3px"
+ disabled
+ >
<el-option
v-for="item in adjustOptions"
:key="item.value"
@@ -133,7 +151,7 @@
</el-option>
</el-select>
</template>
- <el-input v-model="editConfig.infomation.discount"></el-input>
+ <el-input v-model="editConfig.infomation.discount" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="7" :offset="17">
@@ -157,6 +175,8 @@
<script>
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import { getAllData } from "@/api/client/client"
+import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
export default {
name: "QuotationDialog",
components: { CommonFormTableView },
@@ -167,15 +187,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- documentNumber: "AC6521",
- masterOrder: "",
- owner: "",
- currency: "",
- discount: "",
- total: "14.00"
- }
+ infomation: {}
}
}
}
@@ -186,19 +198,10 @@
dialogWidth: "80%",
editConfig: this.editCommonConfig,
rules: {
- documentNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- owner: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ memberId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
},
- ownerOptions: [
- // 璐熻矗浜�
- { value: "1", label: "BOSS" },
- { value: "2", label: "Mia" },
- { value: "3", label: "璐㈠姟" },
- { value: "4", label: "甯傚満" },
- { value: "5", label: "绯荤粺绠$悊鍛�" },
- { value: "6", label: "閿�鍞�" },
- { value: "7", label: "閿�鍞�荤洃" }
- ],
+ memberOptions: [],
discount: "2",
currencyOptions: [],
discountOptions: [
@@ -221,8 +224,93 @@
},
created() {
this.setTableForm()
+ this.getCommonData()
},
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ clientId: data.clientId || 0,
+ masterOrderId: data.masterOrderId || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ product: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ]
+ }
+ return params
+ },
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
setTableForm() {
this.productTableList = {
tableData: [
@@ -250,14 +338,7 @@
{ label: "鎻忚堪", prop: "other8" }
]
}
- },
- handleClose() {
- this.editConfig.visible = false
- },
- // 娣诲姞闄勪欢
- addAnnexClick() {},
- // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
- setFormatClick() {}
+ }
}
}
</script>
diff --git a/src/views/sales/subOrder/index.vue b/src/views/sales/subOrder/index.vue
index 3d862e9..ec9554f 100644
--- a/src/views/sales/subOrder/index.vue
+++ b/src/views/sales/subOrder/index.vue
@@ -77,13 +77,13 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鍗曟嵁缂栧彿", prop: "documentNumber", min: 120 }, // 鍗曟嵁缂栧彿
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 }, // 瀹㈡埛鍚嶇О
- { label: "閿�鍞�诲崟", prop: "masterOrder", min: 90 }, // 閿�鍞�诲崟
- { label: "璐熻矗浜�", prop: "owner" }, // 璐熻矗浜�
+ { label: "鍗曟嵁缂栧彿", prop: "number", min: 120 }, // 鍗曟嵁缂栧彿
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId", min: 120 }, // 瀹㈡埛鍚嶇О
+ { label: "閿�鍞�诲崟", prop: "masterOrderId", min: 90 }, // 閿�鍞�诲崟
+ { label: "璐熻矗浜�", prop: "memberId" }, // 璐熻矗浜�
{ label: "瀹℃壒鐘舵��", prop: "approvalStatus" }, // 瀹℃壒鐘舵��
{ label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О
- { label: "鏁伴噺", prop: "number", min: 100 } // 鏁伴噺
+ { label: "鏁伴噺", prop: "number1", min: 100 } // 鏁伴噺
]
}
this.searchOptions = []
diff --git a/src/views/service/orderManage/AddOrderManageDialog.vue b/src/views/service/orderManage/AddOrderManageDialog.vue
index 7e89add..e4afce2 100644
--- a/src/views/service/orderManage/AddOrderManageDialog.vue
+++ b/src/views/service/orderManage/AddOrderManageDialog.vue
@@ -177,6 +177,8 @@
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
+import { getAllData } from "@/api/client/client"
+import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
export default {
name: "AddOrderManageDialog",
props: {
@@ -186,20 +188,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- orderNumber: "AC6521",
- orderName: "",
- orderType: "",
- contactName: "",
- repairSource: "",
- selSourceOrder: "",
- problemDesc: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ infomation: {}
}
}
}
@@ -229,8 +218,87 @@
approvalWorkflowOptions: [] // 瀹℃壒娴佺▼
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ clientId: data.clientId || 0,
+ masterOrderId: data.masterOrderId || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ product: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ]
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/service/orderManage/index.vue b/src/views/service/orderManage/index.vue
index 5f13148..d821a9d 100644
--- a/src/views/service/orderManage/index.vue
+++ b/src/views/service/orderManage/index.vue
@@ -81,12 +81,12 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "宸ュ崟缂栧彿", prop: "orderNumber", min: 100 }, // 宸ュ崟缂栧彿
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 130 }, // 瀹㈡埛鍚嶇О
+ { label: "宸ュ崟缂栧彿", prop: "number", min: 100 }, // 宸ュ崟缂栧彿
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId", min: 130 }, // 瀹㈡埛鍚嶇О
{ label: "鑱旂郴浜哄鍚�", prop: "contactName" }, // 鑱旂郴浜哄鍚�
- { label: "鏈嶅姟浜哄憳", prop: "servicePerson" }, // 鏈嶅姟浜哄憳
- { label: "宸ュ崟鐘舵��", prop: "orderStatus" }, // 宸ュ崟鐘舵��
- { label: "鎶ヤ慨鏉ユ簮", prop: "repairSource" }, // 鎶ヤ慨鏉ユ簮
+ { label: "鏈嶅姟浜哄憳", prop: "name" }, // 鏈嶅姟浜哄憳
+ { label: "宸ュ崟鐘舵��", prop: "orderType" }, // 宸ュ崟鐘舵��
+ { label: "鎶ヤ慨鏉ユ簮", prop: "reportSourceId" }, // 鎶ヤ慨鏉ユ簮
{ label: "宸ュ崟绫诲瀷", prop: "orderType" } // 宸ュ崟绫诲瀷
]
}
diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue
index 237dfd5..7a3568e 100644
--- a/src/views/service/serviceContract/AddServiceContractDialog.vue
+++ b/src/views/service/serviceContract/AddServiceContractDialog.vue
@@ -254,6 +254,8 @@
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import { getAllData } from "@/api/client/client"
+import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
export default {
name: "AddServiceContractDialog",
props: {
@@ -263,27 +265,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- serviceContractNumber: "AC6521",
- owner: "5",
- contactName: "",
- salesOpportunity: "",
- contractOrder: "",
- quotation: "",
- contractType: "",
- signDate: "",
- startDate: "",
- endDate: "",
- contractStatus: "",
- serviceNumber: "",
- termsTreaty: "",
- notes: "",
- approvalWorkflow: "",
- approvalSteps: "",
- approvalPerson: "",
- approvalOpinion: ""
- }
+ infomation: {}
}
}
}
@@ -332,8 +314,94 @@
},
created() {
this.setTableForm()
+ this.getCommonData()
},
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ clientId: data.clientId || 0,
+ masterOrderId: data.masterOrderId || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ product: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ]
+ }
+ return params
+ },
+
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
setTableForm() {
this.productTableList = {
tableData: [
@@ -365,14 +433,7 @@
{ label: "鎻忚堪", prop: "other8" }
]
}
- },
- handleClose() {
- this.editConfig.visible = false
- },
- // 娣诲姞闄勪欢
- addAnnexClick() {},
- // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
- setFormatClick() {}
+ }
}
}
</script>
diff --git a/src/views/service/serviceContract/index.vue b/src/views/service/serviceContract/index.vue
index e433765..51767b5 100644
--- a/src/views/service/serviceContract/index.vue
+++ b/src/views/service/serviceContract/index.vue
@@ -72,15 +72,15 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "serviceContractNumber", min: 100 }, // 鏈嶅姟鍚堝悓缂栧彿
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 }, // 瀹㈡埛鍚嶇О
- { label: "绛剧害鏃ユ湡", prop: "signDate" }, // 绛剧害鏃ユ湡
- { label: "鍚堝悓绫诲瀷", prop: "contractType" }, // 鍚堝悓绫诲瀷
- { label: "鍚堝悓鐘舵��", prop: "contractStatus" }, // 鍚堝悓鐘舵��
- { label: "璐熻矗浜�", prop: "owner" }, // 璐熻矗浜�
+ { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", min: 100 }, // 鏈嶅姟鍚堝悓缂栧彿
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId", min: 120 }, // 瀹㈡埛鍚嶇О
+ { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡
+ { label: "鍚堝悓绫诲瀷", prop: "typeId" }, // 鍚堝悓绫诲瀷
+ { label: "鍚堝悓鐘舵��", prop: "statusId" }, // 鍚堝悓鐘舵��
+ { label: "璐熻矗浜�", prop: "memberId" }, // 璐熻矗浜�
{ label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О
- { label: "鏈嶅姟寮�濮嬫棩", prop: "startDate" }, // 鏈嶅姟寮�濮嬫棩
- { label: "鏈嶅姟鍒版湡鏃�", prop: "endDate" }, // 鏈嶅姟鍒版湡鏃�
+ { label: "鏈嶅姟寮�濮嬫棩", prop: "startTime" }, // 鏈嶅姟寮�濮嬫棩
+ { label: "鏈嶅姟鍒版湡鏃�", prop: "endTime" }, // 鏈嶅姟鍒版湡鏃�
{ label: "浠风◣鍚堣", prop: "priceTax" } // 浠风◣鍚堣
]
}
diff --git a/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue b/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
index d69ad2a..b67ce49 100644
--- a/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
+++ b/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
@@ -284,6 +284,8 @@
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
+import { getAllData } from "@/api/client/client"
+import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
export default {
name: "AddServiceFeeManageDialog",
props: {
@@ -293,34 +295,7 @@
return {
visible: false,
title: "鏂板缓",
- infomation: {
- customName: "",
- serviceCharger: "",
- customNumber: "",
- customerSize: "",
- customStatus: "",
- importantLevel: "",
- customType: "",
- customSource: "",
- serviceAgent: "",
- latestServiceDate: "",
- contactName: "",
- duties: "",
- phoneNumber: "",
- contactsEmail: "",
- operateRange: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: "",
- industry: "",
- companyNature: "",
- companyWeb: "",
- notes: ""
- }
+ infomation: {}
}
}
}
@@ -379,8 +354,87 @@
isUnflod: true
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ clientId: data.clientId || 0,
+ masterOrderId: data.masterOrderId || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ product: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ]
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/service/serviceFeeManage/index.vue b/src/views/service/serviceFeeManage/index.vue
index d53b73c..e7c1a98 100644
--- a/src/views/service/serviceFeeManage/index.vue
+++ b/src/views/service/serviceFeeManage/index.vue
@@ -80,17 +80,17 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 }, // 瀹㈡埛鍚嶇О
+ { label: "瀹㈡埛鍚嶇О", prop: "client", min: 120 }, // 瀹㈡埛鍚嶇О
{ label: "瀹㈡埛绫诲瀷", prop: "customType", min: 90, status: true }, // 瀹㈡埛绫诲瀷
- { label: "閿�鍞礋璐d汉", prop: "salesHead" }, // 閿�鍞礋璐d汉
+ { label: "閿�鍞礋璐d汉", prop: "member_id" }, // 閿�鍞礋璐d汉
{ label: "淇敼鏃堕棿", prop: "modifyTime", min: 100 }, // 淇敼鏃堕棿
{ label: "瀹㈡埛瑙勬ā", prop: "customerSize" }, // 瀹㈡埛瑙勬ā
{ label: "閲嶈绾у埆", prop: "importantLevel" }, // 閲嶈绾у埆
- { label: "瀹㈡埛缂栧彿", prop: "customNumber" }, // 瀹㈡埛缂栧彿
+ { label: "瀹㈡埛缂栧彿", prop: "client_id" }, // 瀹㈡埛缂栧彿
{ label: "瀹㈡埛鐘舵��", prop: "customStatus" }, // 瀹㈡埛鐘舵��
{ label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О
{ label: "鏈嶅姟寮�濮嬫棩鏈�", prop: "startDate" }, // 鏈嶅姟寮�濮嬫棩鏈�
- { label: "鏈嶅姟鍒版湡鏃�", prop: "endDate" } // 鏈嶅姟鍒版湡鏃�
+ { label: "鏈嶅姟鍒版湡鏃�", prop: "latest_date" } // 鏈嶅姟鍒版湡鏃�
]
}
this.searchOptions = []
diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
index ba384cf..22cbcf8 100644
--- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
+++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
@@ -165,6 +165,8 @@
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
+import { getAllData } from "@/api/client/client"
+import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
export default {
name: "AddServiceFollowupDialog",
props: {
@@ -215,8 +217,87 @@
]
}
},
- created() {},
+ created() {
+ this.getCommonData()
+ },
methods: {
+ getCommonData() {
+ getAllData()
+ .then((res) => {
+ this.memberOptions = res.data.member
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // 淇濆瓨
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ console.log(this.editConfig.infomation)
+ const params = this.saveParams()
+ console.log(params)
+ if (this.editConfig.title === "鏂板缓") {
+ getAddSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "娣诲姞鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ } else {
+ getUpdateSubOrder(params)
+ .then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message({
+ message: "缂栬緫鎴愬姛",
+ type: "success"
+ })
+ this.$parent.getData()
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
+ } else {
+ console.log("error submit")
+ return false
+ }
+ })
+ },
+ saveParams() {
+ let data = this.editConfig.infomation
+ let params = {
+ id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
+ clientId: data.clientId || 0,
+ masterOrderId: data.masterOrderId || 0,
+ memberId: data.memberId || 0,
+ number: data.number || "",
+ product: [
+ {
+ amount: 0,
+ desc: "",
+ id: 0,
+ name: "",
+ number: "",
+ price: 0,
+ total: 0
+ }
+ ]
+ }
+ return params
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/service/serviceFollowup/index.vue b/src/views/service/serviceFollowup/index.vue
index c220f62..2947b71 100644
--- a/src/views/service/serviceFollowup/index.vue
+++ b/src/views/service/serviceFollowup/index.vue
@@ -65,11 +65,11 @@
this.tableList = {
tableInfomation: [],
tableColumn: [
- { label: "鍥炶鍗曠紪鍙�", prop: "followupNumber", min: 80 }, // 鍥炶鍗曠紪鍙�
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 130 }, // 瀹㈡埛鍚嶇О
- { label: "鑱旂郴浜哄鍚�", prop: "contactName" }, // 鑱旂郴浜哄鍚�
- { label: "瀹㈡埛鏈嶅姟鍗�", prop: "customServiceForm" }, // 瀹㈡埛鏈嶅姟鍗�
- { label: "鍥炶浜�", prop: "visitor" }, // 鍥炶浜�
+ { label: "鍥炶鍗曠紪鍙�", prop: "number", min: 80 }, // 鍥炶鍗曠紪鍙�
+ { label: "瀹㈡埛鍚嶇О", prop: "clientId", min: 130 }, // 瀹㈡埛鍚嶇О
+ { label: "鑱旂郴浜哄鍚�", prop: "contactId" }, // 鑱旂郴浜哄鍚�
+ { label: "瀹㈡埛鏈嶅姟鍗�", prop: "serviceId" }, // 瀹㈡埛鏈嶅姟鍗�
+ { label: "鍥炶浜�", prop: "isVisit" }, // 鍥炶浜�
{ label: "婊℃剰搴�", prop: "satisfaction" }, // 婊℃剰搴�
{ label: "淇敼鏃堕棿", prop: "modifyTime" } // 淇敼鏃堕棿
]
--
Gitblit v1.8.0