From c7aebff7f6184b2d8da2669d2db5656e2bc09ec4 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 21 四月 2026 15:49:45 +0800
Subject: [PATCH] 湟水峡 1.反馈登记删减字段 2.售后服务字段匹配错误问题
---
src/views/customerService/feedbackRegistration/components/formDia.vue | 125 ++++++++++++++++++-----------------------
1 files changed, 54 insertions(+), 71 deletions(-)
diff --git a/src/views/customerService/feedbackRegistration/components/formDia.vue b/src/views/customerService/feedbackRegistration/components/formDia.vue
index 71cd167..57e6c36 100644
--- a/src/views/customerService/feedbackRegistration/components/formDia.vue
+++ b/src/views/customerService/feedbackRegistration/components/formDia.vue
@@ -32,56 +32,26 @@
</el-select>
</el-form-item>
</el-col>
+ <el-col :span="4">
+ <el-form-item label="鍏宠仈閿�鍞崟鍙凤細" prop="salesContractNo">
+ <el-select
+ v-model="form.salesContractNo"
+ @change="associatedSalesOrderNumberChange"
+ filterable
+ >
+ <el-option
+ v-for="item in associatedSalesOrderNumberOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
<el-col :span="4">
- <el-form-item label="鍞悗绫诲瀷锛�" prop="serviceType">
- <el-select
- v-model="form.serviceType"
- filterable
- >
- <el-option
- v-for="dict in serviceTypeOptions"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="4">
- <el-form-item label="鍏宠仈閿�鍞崟鍙凤細" prop="salesContractNo">
- <el-select
- v-model="form.salesContractNo"
- @change="associatedSalesOrderNumberChange"
- filterable
- >
- <el-option
- v-for="item in associatedSalesOrderNumberOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="4">
- <el-form-item label="绱ф�ョ▼搴︼細" prop="urgency">
- <el-select
- v-model="form.urgency"
- filterable
- >
- <el-option
- v-for="dict in urgencyOptions"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="4">
- <el-form-item label="闂鎻忚堪锛�" prop="disRes">
+ <el-form-item label="闂鎻忚堪锛�" prop="proDesc">
<el-input
- v-model="form.disRes"
+ v-model="form.proDesc"
placeholder="璇疯緭鍏ラ棶棰樻弿杩�"
/>
</el-form-item>
@@ -106,6 +76,11 @@
:column="tableColumn"
:tableData="tableData"
>
+ <template #approveStatus="{ row }">
+ <el-tag :type="getApproveStatusType(row)" size="small">
+ {{ getApproveStatusText(row) }}
+ </el-tag>
+ </template>
<template #shippingStatus="{ row }">
<el-tag :type="getShippingStatusType(row)" size="small">
{{ getShippingStatusText(row) }}
@@ -149,19 +124,11 @@
const data = reactive({
form: {
topic: "",
- serviceType: "",
- urgency: "",
- salesLedgerId: null,
- productModelIds: "",
- customerId: null,
- salesContractNo: "",
- disRes: "",
+ proDesc: "",
customerName: ""
},
rules: {
customerName: [{required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change"}],
- serviceType: [{required: true, message: "璇烽�夋嫨鍞悗绫诲瀷", trigger: "change"}],
- urgency: [{required: true, message: "璇烽�夋嫨绱ф�ョ▼搴�", trigger: "change"}],
feedbackDate: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
}
})
@@ -176,14 +143,6 @@
const num = Number(val)
return Number.isFinite(num) ? num.toFixed(2) : '-'
}
-
-const { post_sale_waiting_list, degree_of_urgency } = proxy.useDict(
- "post_sale_waiting_list",
- "degree_of_urgency"
-);
-
-const serviceTypeOptions = computed(() => post_sale_waiting_list?.value || []);
-const urgencyOptions = computed(() => degree_of_urgency?.value || []);
const getProductRowId = (row) => {
return row?.id ?? row?.productModelId ?? row?.modelId ?? `${row?.productCategory || row?.productName || ""}-${row?.specificationModel || row?.model || ""}-${row?.unit || ""}`
@@ -219,9 +178,8 @@
prop: "approveStatus",
width: 100,
align: "center",
- dataType: "tag",
- formatData: (v) => (v === 1 ? "鍏呰冻" : "涓嶈冻"),
- formatType: (v) => (v === 1 ? "success" : "danger"),
+ dataType: "slot",
+ slot: "approveStatus",
},
{
label: "鍙戣揣鐘舵��",
@@ -304,9 +262,15 @@
})
const customerNameChange = (val) => {
+ form.value.salesContractNo = "";
+ form.value.salesLedgerId = null;
+ tableData.value = [];
+ associatedSalesOrderNumberOptions.value = [];
const opt = customerNameOptions.value.find(item => item.value === val);
if (opt) {
form.value.customerId = opt.id;
+ } else {
+ form.value.customerId = null;
}
getSalesLedger({
customerName: form.value.customerName
@@ -320,6 +284,22 @@
}))
}
})
+}
+
+const getApproveStatusText = (row) => {
+ if (!row) return '涓嶈冻'
+ if (row.approveStatus === 1 && (!row.shippingDate || !row.shippingCarNumber)) {
+ return '鍏呰冻'
+ }
+ if (row.approveStatus === 0 && (row.shippingDate || row.shippingCarNumber)) {
+ return '宸插嚭搴�'
+ }
+ return '涓嶈冻'
+}
+
+const getApproveStatusType = (row) => {
+ const statusText = getApproveStatusText(row)
+ return statusText === '涓嶈冻' ? 'danger' : 'success'
}
const getShippingStatusText = (row) => {
@@ -365,9 +345,12 @@
// 鎵撳紑寮规
const openDialog =async (type, row) => {
// 璇锋眰澶氫釜鎺ュ彛锛岃幏鍙栨暟鎹�
- let res = await getAllCustomerList();
- if(res.records){
- customerNameOptions.value = res.records.map(item => ({
+ let res = await getAllCustomerList({
+ current: -1,
+ size: -1,
+ });
+ if(res.data.records){
+ customerNameOptions.value = res.data.records.map(item => ({
label: item.customerName,
value: item.customerName,
id: item.id
--
Gitblit v1.9.3