From bfc02d9cd38ccdeb09b3a1f2545e1c75cdf39b29 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 14 五月 2026 18:01:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_浪潮' into dev_浪潮
---
src/views/basicData/customerFileOpenSea/index.vue | 95 +++++++++++++++++++++++++++++------------------
1 files changed, 59 insertions(+), 36 deletions(-)
diff --git a/src/views/basicData/customerFileOpenSea/index.vue b/src/views/basicData/customerFileOpenSea/index.vue
index 31e5795..7a84a4d 100644
--- a/src/views/basicData/customerFileOpenSea/index.vue
+++ b/src/views/basicData/customerFileOpenSea/index.vue
@@ -133,20 +133,23 @@
</el-form-item>
</el-col>
</el-row>
+ <!-- 鑱旂郴浜哄垪琛� -->
<el-row :gutter="30"
- v-for="(contact, index) in formYYs.contactList"
+ v-for="(contact, index) in form.contactList"
:key="index">
<el-col :span="12">
- <el-form-item label="鑱旂郴浜猴細"
- prop="contactPerson">
+ <el-form-item :label="index === 0 ? '鑱旂郴浜猴細' : ''"
+ :prop="'contactList.' + index + '.contactPerson'"
+ :rules="{ required: true, message: '璇疯緭鍏ヨ仈绯讳汉', trigger: 'blur' }">
<el-input v-model="contact.contactPerson"
placeholder="璇疯緭鍏�"
clearable />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鑱旂郴鐢佃瘽锛�"
- prop="contactPhone">
+ <el-form-item :label="index === 0 ? '鑱旂郴鐢佃瘽锛�' : ''"
+ :prop="'contactList.' + index + '.contactPhone'"
+ :rules="{ required: true, message: '璇疯緭鍏ヨ仈绯荤數璇�', trigger: 'blur' }">
<div style="display: flex; align-items: center;width: 100%;">
<el-input v-model="contact.contactPhone"
placeholder="璇疯緭鍏�"
@@ -154,7 +157,8 @@
<el-button @click="removeContact(index)"
type="danger"
circle
- style="margin-left: 5px;">
+ style="margin-left: 5px;"
+ :disabled="form.contactList.length <= 1">
<el-icon>
<Close />
</el-icon>
@@ -164,7 +168,9 @@
</el-col>
</el-row>
<el-button @click="addNewContact"
- style="margin-bottom: 10px;">+ 鏂板鑱旂郴浜�</el-button>
+ style="margin-bottom: 10px;"
+ type="primary"
+ plain>+ 鏂板鑱旂郴浜�</el-button>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="缁存姢浜猴細"
@@ -280,7 +286,8 @@
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
- :action="upload.url + '?updateSupport=' + upload.updateSupport"
+ :action="upload.url"
+ :data="upload.data"
:disabled="upload.isUploading"
:before-upload="upload.beforeUpload"
:on-progress="upload.onProgress"
@@ -498,6 +505,7 @@
</div>
</el-col>
</el-row>
+ <!-- 鑱旂郴浜轰俊鎭凡杩佺Щ鍒拌仈绯讳汉绠$悊椤甸潰
<el-row :gutter="20">
<el-col :span="12">
<div class="info-item">
@@ -512,6 +520,7 @@
</div>
</el-col>
</el-row>
+ -->
<el-row :gutter="20">
<el-col :span="12">
<div class="info-item">
@@ -681,7 +690,6 @@
import { onMounted, ref, reactive, getCurrentInstance, toRefs } from "vue";
import { Search, Paperclip, Upload } from "@element-plus/icons-vue";
import {
- shareCustomer,
addCustomerFollow,
updateCustomerFollow,
delCustomerFollow,
@@ -695,7 +703,8 @@
updateCustomer,
getCustomer,
assignCustomer,
- recycleCustomer
+ recycleCustomer,
+ shareCustomer,
} from "@/api/basicData/customer.js";
import { ElMessageBox } from "element-plus";
@@ -875,7 +884,7 @@
},
{
label: "棰嗙敤鐘舵��",
- prop: "usageStatus",
+ prop: "isAssigned",
dataType: "tag",
width: 100,
fixed: "right",
@@ -908,7 +917,7 @@
{
name: "鍒嗛厤",
type: "text",
- showHide: row => row.usageStatus != 1,
+ showHide: row => row.isAssigned != 1,
clickFun: row => {
openAssignDialog(row);
},
@@ -916,7 +925,7 @@
{
name: "鍥炴敹",
type: "text",
- showHide: row => row.usageStatus == 1,
+ showHide: row => row.isAssigned == 1,
clickFun: row => {
recycle(row);
},
@@ -924,7 +933,7 @@
{
name: "鍏变韩",
type: "text",
- showHide: row => row.usageStatus == 1,
+ showHide: row => row.isAssigned == 1,
clickFun: row => {
openShareDialog(row);
},
@@ -982,6 +991,12 @@
companyPhone: "",
contactPerson: "",
contactPhone: "",
+ contactList: [
+ {
+ contactPerson: "",
+ contactPhone: "",
+ },
+ ],
maintainer: "",
maintenanceTime: "",
basicBankAccount: "",
@@ -1020,6 +1035,9 @@
headers: { Authorization: "Bearer " + getToken() },
// 涓婁紶鐨勫湴鍧�
url: import.meta.env.VITE_APP_BASE_API + "/basic/customer/importData",
+ data: {
+ type: 1
+ },
// 鏂囦欢涓婁紶鍓嶇殑鍥炶皟
beforeUpload: file => {
console.log("鏂囦欢鍗冲皢涓婁紶", file);
@@ -1066,15 +1084,15 @@
});
const { searchForm, form, rules } = toRefs(data);
const addNewContact = () => {
- formYYs.value.contactList.push({
+ form.value.contactList.push({
contactPerson: "",
contactPhone: "",
});
};
const removeContact = index => {
- if (formYYs.value.contactList.length > 1) {
- formYYs.value.contactList.splice(index, 1);
+ if (form.value.contactList.length > 1) {
+ form.value.contactList.splice(index, 1);
}
};
// 鏌ヨ鍒楄〃
@@ -1120,7 +1138,7 @@
operationType.value = type;
form.value = {};
form.value.maintainer = userStore.nickName;
- formYYs.value.contactList = [
+ form.value.contactList = [
{
contactPerson: "",
contactPhone: "",
@@ -1134,14 +1152,19 @@
if (type === "edit") {
getCustomer(row.id).then(res => {
form.value = { ...res.data };
- formYYs.value.contactList = res.data.contactPerson
- .split(",")
- .map((item, index) => {
- return {
- contactPerson: item,
- contactPhone: res.data.contactPhone.split(",")[index],
- };
- });
+ // 浼樺厛浣跨敤鍚庣杩斿洖鐨刢ontactList鏁扮粍锛屽鏋滄病鏈夊垯浣跨敤閫楀彿鍒嗛殧鐨勫瓧绗︿覆杞崲
+ if (res.data.contactList && res.data.contactList.length > 0) {
+ form.value.contactList = res.data.contactList;
+ } else if (res.data.contactPerson) {
+ form.value.contactList = res.data.contactPerson
+ .split(",")
+ .map((item, index) => {
+ return {
+ contactPerson: item,
+ contactPhone: res.data.contactPhone ? res.data.contactPhone.split(",")[index] : "",
+ };
+ });
+ }
});
}
dialogFormVisible.value = true;
@@ -1160,13 +1183,13 @@
};
// 鎻愪氦鏂板
const submitAdd = () => {
- if (formYYs.value.contactList.length < 1) {
+ if (form.value.contactList.length < 1) {
return proxy.$modal.msgWarning("璇疯嚦灏戞坊鍔犱竴涓仈绯讳汉");
}
- form.value.contactPerson = formYYs.value.contactList
+ form.value.contactPerson = form.value.contactList
.map(item => item.contactPerson)
.join(",");
- form.value.contactPhone = formYYs.value.contactList
+ form.value.contactPhone = form.value.contactList
.map(item => item.contactPhone)
.join(",");
addCustomer(form.value).then(res => {
@@ -1177,10 +1200,10 @@
};
// 鎻愪氦淇敼
const submitEdit = () => {
- form.value.contactPerson = formYYs.value.contactList
+ form.value.contactPerson = form.value.contactList
.map(item => item.contactPerson)
.join(",");
- form.value.contactPhone = formYYs.value.contactList
+ form.value.contactPhone = form.value.contactList
.map(item => item.contactPhone)
.join(",");
updateCustomer(form.value).then(res => {
@@ -1220,7 +1243,7 @@
const openShareDialog = row => {
shareForm.id = row.id;
shareForm.customerName = row.customerName;
- shareForm.boundIds = [];
+ shareForm.boundIds = row.userIds || [];
ensureUserList().then(() => {
shareDialogVisible.value = true;
});
@@ -1253,8 +1276,8 @@
return;
}
shareCustomer({
- customerId: shareForm.id,
- boundIds: shareForm.boundIds,
+ id: shareForm.id,
+ userIds: shareForm.boundIds,
}).then(() => {
proxy.$modal.msgSuccess("鍏变韩鎴愬姛");
closeShareDialog();
@@ -1288,7 +1311,7 @@
type: "warning",
})
.then(() => {
- proxy.download("/basic/customer/export", {}, "瀹㈡埛妗f.xlsx");
+ proxy.download("/basic/customer/export", {type: 1}, "瀹㈡埛妗f.xlsx");
})
.catch(() => {
proxy.$modal.msg("宸插彇娑�");
@@ -1647,7 +1670,7 @@
const downloadAttachment = row => {
if (row.url) {
// proxy.download(row.url, {}, row.name);
- proxy.$download.name(row.url);
+ proxy.$download.byUrl(row.url, row.originalFilename);
} else {
proxy.$modal.msgError("涓嬭浇閾炬帴涓嶅瓨鍦�");
}
--
Gitblit v1.9.3