|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
- <el-drawer v-model="drawerVisible" size="80%" :close-on-click-modal="false">
|
|
|
|
|
|
+ <el-drawer v-model="drawerVisible" size="800" :close-on-click-modal="false">
|
|
<template #header>
|
|
<template #header>
|
|
<h4>新增销售反馈信息</h4>
|
|
<h4>新增销售反馈信息</h4>
|
|
</template>
|
|
</template>
|
|
@@ -25,22 +25,42 @@
|
|
<el-form-item label="联系电话" prop="phoneNo">
|
|
<el-form-item label="联系电话" prop="phoneNo">
|
|
<el-input v-model="saleForm.phoneNo" />
|
|
<el-input v-model="saleForm.phoneNo" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="阶段" prop="stage">
|
|
|
|
+ <el-input v-model="saleForm.stage" />
|
|
|
|
+ </el-form-item>
|
|
<el-form-item label="订单信息">
|
|
<el-form-item label="订单信息">
|
|
<el-select
|
|
<el-select
|
|
v-model="selectOrderCode"
|
|
v-model="selectOrderCode"
|
|
- value-key="orderCode"
|
|
|
|
|
|
+ value-key="orderNo"
|
|
placeholder="请选择订单信息"
|
|
placeholder="请选择订单信息"
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
@change="orderSelect"
|
|
@change="orderSelect"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in orders"
|
|
v-for="item in orders"
|
|
- :key="item.orderCode"
|
|
|
|
|
|
+ :key="item.orderNo"
|
|
:label="item.orderName"
|
|
:label="item.orderName"
|
|
:value="item"
|
|
:value="item"
|
|
/>
|
|
/>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="流转卡号" prop="seqs">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="saleForm.seqs"
|
|
|
|
+ value-key="orderCode"
|
|
|
|
+ placeholder="请选择流转卡号"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ multiple
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in seqList"
|
|
|
|
+ :key="item"
|
|
|
|
+ :label="item"
|
|
|
|
+ :value="item"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
<el-form
|
|
<el-form
|
|
@@ -53,10 +73,10 @@
|
|
<el-form-item label="顾客投诉或建议" prop="content">
|
|
<el-form-item label="顾客投诉或建议" prop="content">
|
|
<el-input v-model="remark1.content" type="textarea" />
|
|
<el-input v-model="remark1.content" type="textarea" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="处理人" prop="contacts">
|
|
|
|
|
|
+ <el-form-item label="填表人" prop="user">
|
|
<el-select
|
|
<el-select
|
|
v-model="remark1.user"
|
|
v-model="remark1.user"
|
|
- placeholder="请选择联系人"
|
|
|
|
|
|
+ placeholder="请选择"
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
@@ -74,9 +94,24 @@
|
|
placeholder="请选择日期"
|
|
placeholder="请选择日期"
|
|
clearable
|
|
clearable
|
|
format="YYYY年MM月DD日"
|
|
format="YYYY年MM月DD日"
|
|
|
|
+ value-format="YYYY年MM月DD日"
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="下一步处理人" prop="nextRemarkUser">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="remark1.nextRemarkUser"
|
|
|
|
+ placeholder="请选择处理人"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in userList"
|
|
|
|
+ :key="item.userName"
|
|
|
|
+ :label="item.userName"
|
|
|
|
+ :value="item.userName"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</template>
|
|
</template>
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -100,6 +135,8 @@ const saleForm = reactive({
|
|
address: "",
|
|
address: "",
|
|
contacts: "",
|
|
contacts: "",
|
|
phoneNo: "",
|
|
phoneNo: "",
|
|
|
|
+ stage: "1",
|
|
|
|
+ seqs: [],
|
|
});
|
|
});
|
|
// 顾客投诉或建议
|
|
// 顾客投诉或建议
|
|
const remark1Ref = ref(null);
|
|
const remark1Ref = ref(null);
|
|
@@ -108,6 +145,7 @@ const remark1 = reactive({
|
|
content: "",
|
|
content: "",
|
|
user: "",
|
|
user: "",
|
|
time: "",
|
|
time: "",
|
|
|
|
+ nextRemarkUser: "",
|
|
});
|
|
});
|
|
|
|
|
|
const rules = {
|
|
const rules = {
|
|
@@ -127,6 +165,7 @@ const rules = {
|
|
{ required: true, message: "请输入联系电话", trigger: "blur" },
|
|
{ required: true, message: "请输入联系电话", trigger: "blur" },
|
|
{ min: 11, max: 11, message: "请输入正确的手机号", trigger: "blur" },
|
|
{ min: 11, max: 11, message: "请输入正确的手机号", trigger: "blur" },
|
|
],
|
|
],
|
|
|
|
+ seqs: [{ required: true, message: "请选择订单信息", trigger: "change" }],
|
|
};
|
|
};
|
|
const rules1 = {
|
|
const rules1 = {
|
|
content: [
|
|
content: [
|
|
@@ -138,6 +177,10 @@ const rules1 = {
|
|
{ min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
|
|
{ min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
|
|
],
|
|
],
|
|
time: [{ required: true, message: "请选择日期", trigger: "change" }],
|
|
time: [{ required: true, message: "请选择日期", trigger: "change" }],
|
|
|
|
+ nextRemarkUser: [
|
|
|
|
+ { required: true, message: "请选择处理人", trigger: "change" },
|
|
|
|
+ { min: 2, max: 20, message: "长度在 2 到 20 个字符", trigger: "blur" },
|
|
|
|
+ ],
|
|
};
|
|
};
|
|
|
|
|
|
// 订单相关信息
|
|
// 订单相关信息
|
|
@@ -158,8 +201,11 @@ const getOrders = async () => {
|
|
};
|
|
};
|
|
const orderSelect = (value) => {
|
|
const orderSelect = (value) => {
|
|
selectedOrder.value = value;
|
|
selectedOrder.value = value;
|
|
|
|
+ seqList.value = selectedOrder.value.seqs;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+const seqList = ref([]);
|
|
|
|
+
|
|
// 用户信息
|
|
// 用户信息
|
|
const userInfo = ref({});
|
|
const userInfo = ref({});
|
|
const userList = ref([]);
|
|
const userList = ref([]);
|
|
@@ -185,12 +231,15 @@ const cancelClick = () => {
|
|
remark1Ref.value.resetFields();
|
|
remark1Ref.value.resetFields();
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+const feedBackEmit = defineEmits(["finish"]);
|
|
|
|
+
|
|
const confirmClick = () => {
|
|
const confirmClick = () => {
|
|
console.log(saleForm);
|
|
console.log(saleForm);
|
|
console.log(remark1);
|
|
console.log(remark1);
|
|
console.log(selectedOrder.value);
|
|
console.log(selectedOrder.value);
|
|
|
|
|
|
// drawerVisible.value = false;
|
|
// drawerVisible.value = false;
|
|
|
|
+
|
|
//
|
|
//
|
|
// // 验证表单
|
|
// // 验证表单
|
|
baseInfoRef.value.validate((valid) => {
|
|
baseInfoRef.value.validate((valid) => {
|
|
@@ -203,13 +252,28 @@ const confirmClick = () => {
|
|
});
|
|
});
|
|
remark1Ref.value.validate((valid) => {
|
|
remark1Ref.value.validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
|
|
+ let remark1Copy = {
|
|
|
|
+ content: remark1.content,
|
|
|
|
+ user1: remark1.user,
|
|
|
|
+ time: remark1.time,
|
|
|
|
+ };
|
|
|
|
+ let remark2 = {
|
|
|
|
+ content: "",
|
|
|
|
+ user2: remark1.nextRemarkUser,
|
|
|
|
+ time: "",
|
|
|
|
+ };
|
|
|
|
+
|
|
let p = {
|
|
let p = {
|
|
...saleForm,
|
|
...saleForm,
|
|
...selectedOrder.value,
|
|
...selectedOrder.value,
|
|
- remark1: JSON.stringify(remark1),
|
|
|
|
|
|
+ remark1: JSON.stringify(remark1Copy),
|
|
|
|
+ remark2: JSON.stringify(remark2),
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ p.seqs = p.seqs.join(",");
|
|
|
|
+
|
|
addFeedback(p).then(() => {
|
|
addFeedback(p).then(() => {
|
|
|
|
+ feedBackEmit("finish");
|
|
cancelClick();
|
|
cancelClick();
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|