|
|
@@ -141,20 +141,29 @@
|
|
|
<!-- 分配目标选择 -->
|
|
|
<div class="assign-target-section">
|
|
|
<el-row :gutter="20">
|
|
|
- <!-- <el-col :span="12">
|
|
|
+ <el-col :span="12">
|
|
|
<div class="target-input-wrapper">
|
|
|
<span class="required-mark">*</span>
|
|
|
<span class="label">分配对象类型:</span>
|
|
|
<el-select v-model="assignForm.targetType" placeholder="请选择分配对象类型" clearable style="flex: 1" @change="handleTargetTypeChange">
|
|
|
- <el-option label="SRM供应商" value="srm" />
|
|
|
+ <el-option label="自营" value="zy" />
|
|
|
<el-option label="BP伙伴商" value="bp" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- </el-col> -->
|
|
|
- <el-col :span="12">
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-if="assignForm.targetType === 'zy'">
|
|
|
<div class="target-input-wrapper">
|
|
|
<span class="required-mark">*</span>
|
|
|
- <span class="label">供应商: </span>
|
|
|
+ <span class="label">自营客户: </span>
|
|
|
+ <el-select v-model="assignForm.targetId" :placeholder="'请选择自营客户'" clearable filterable style="flex: 1">
|
|
|
+ <el-option v-for="item in customerList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-if="assignForm.targetType === 'bp'">
|
|
|
+ <div class="target-input-wrapper">
|
|
|
+ <span class="required-mark">*</span>
|
|
|
+ <span class="label">伙伴商: </span>
|
|
|
<el-select v-model="assignForm.targetId" :placeholder="'请选择伙伴商'" clearable filterable style="flex: 1">
|
|
|
<el-option v-for="item in partnerList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
@@ -217,6 +226,8 @@
|
|
|
import { getOrderMain } from '@/api/order/orderMain';
|
|
|
import { listOrderAssignment } from '@/api/order/orderAssignmentLog';
|
|
|
import { listPartnerMerchant } from '@/api/partner/merchant';
|
|
|
+import { listCustomerInfo } from '@/api/customer/customerFile/customerInfo';
|
|
|
+
|
|
|
import { addOrderSplitAssign, addOrderAssignment } from '@/api/order/orderAssignmentLog';
|
|
|
import { OrderSplitAssignForm, OrderProductAssignRule, OrderAssignmentForm } from '@/api/order/orderAssignmentLog/types';
|
|
|
|
|
|
@@ -270,6 +281,9 @@ const cachedPartnerList = ref<any[]>([]);
|
|
|
|
|
|
// 伙伴商列表
|
|
|
const partnerList = ref<any[]>([]);
|
|
|
+// 自营客户列表
|
|
|
+const customerList = ref<any[]>([]);
|
|
|
+const cachedCustomerList = ref<any[]>([]);
|
|
|
|
|
|
// 标签页
|
|
|
const activeTab = ref('pending');
|
|
|
@@ -504,17 +518,37 @@ const submitAssign = async () => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-// /** 分配对象类型变化 */
|
|
|
-// const handleTargetTypeChange = () => {
|
|
|
-// // 切换类型时清空已选择的目标
|
|
|
-// assignForm.targetId = '';
|
|
|
-
|
|
|
-// if (assignForm.targetType === 'srm') {
|
|
|
-// supplierList.value = cachedPartnerList.value;
|
|
|
-// } else {
|
|
|
-// // 处理伙伴商等其他情况(目前留空或使用别的缓存)
|
|
|
-// }
|
|
|
-// };
|
|
|
+/** 加载自营客户数据 */
|
|
|
+const loadCustomerData = async () => {
|
|
|
+ if (cachedCustomerList.value.length > 0) {
|
|
|
+ customerList.value = cachedCustomerList.value;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ const res: any = await listCustomerInfo({ pageNum: 1, pageSize: 1000 });
|
|
|
+ const list = res.rows || res.data || [];
|
|
|
+ cachedCustomerList.value = list.map((item: any) => ({
|
|
|
+ ...item,
|
|
|
+ id: item.id,
|
|
|
+ name: item.customerName
|
|
|
+ }));
|
|
|
+ customerList.value = cachedCustomerList.value;
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取自营客户列表失败', error);
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/** 分配对象类型变化 */
|
|
|
+const handleTargetTypeChange = () => {
|
|
|
+ // 切换类型时清空已选择的目标
|
|
|
+ assignForm.targetId = '';
|
|
|
+
|
|
|
+ if (assignForm.targetType === 'zy') {
|
|
|
+ loadCustomerData();
|
|
|
+ } else if (assignForm.targetType === 'bp') {
|
|
|
+ partnerList.value = cachedPartnerList.value;
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
defineExpose({
|
|
|
open
|