|
|
@@ -7,7 +7,7 @@
|
|
|
<span>企业组织结构信息列表</span>
|
|
|
</el-col>
|
|
|
<el-col :span="2" style="text-align: right">
|
|
|
- <el-button type="primary" plain icon="Plus" @click="handleAdd">新增部门</el-button>
|
|
|
+ <el-button type="primary" plain icon="Plus" @click="handleAdd()">新增部门</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</template>
|
|
|
@@ -17,7 +17,7 @@
|
|
|
<el-table-column prop="yearlyBudget" label="年度预算" align="center" />
|
|
|
<el-table-column prop="monthLimit" label="月采限额" align="center" />
|
|
|
<el-table-column prop="usedBudget" label="已用预算" align="center" />
|
|
|
- <el-table-column prop="bindAddress" label="绑定地址" align="center" />
|
|
|
+ <el-table-column prop="bindAddressStr" label="绑定地址" align="center" />
|
|
|
<el-table-column label="状态" align="center">
|
|
|
<template #default="scope">
|
|
|
<el-tag v-if="scope.row.status === '0'" type="success">启用</el-tag>
|
|
|
@@ -70,9 +70,13 @@
|
|
|
<el-switch v-model="form.bindStatus" :active-value="'0'" :inactive-value="'1'" />
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="form.bindStatus === '0'" label="绑定地址" prop="bindAddress">
|
|
|
- <el-select v-model="form.bindAddress" placeholder="请选择" style="width: 100%">
|
|
|
- <el-option label="地址1" value="address1" />
|
|
|
- <el-option label="地址2" value="address2" />
|
|
|
+ <el-select v-model="form.bindAddress" placeholder="请选择" clearable style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="addr in shippingAddressList"
|
|
|
+ :key="addr.id"
|
|
|
+ :label="(addr.provincialCityCountry || '') + (addr.provincialCityCountry && addr.address ? ' - ' : '') + (addr.address || '')"
|
|
|
+ :value="addr.id"
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
@@ -89,6 +93,8 @@
|
|
|
<script setup name="CustomerDept" lang="ts">
|
|
|
import { listCustomerDept, getCustomerDept, delCustomerDept, addCustomerDept, updateCustomerDept } from '@/api/customer/customerFile/customerDept';
|
|
|
import { CustomerDeptVO, CustomerDeptQuery, CustomerDeptForm } from '@/api/customer/customerFile/customerDept/types';
|
|
|
+import { listShippingAddress, getShippingAddress } from '@/api/customer/customerFile/shippingAddress';
|
|
|
+import { ShippingAddressVO, ShippingAddressQuery, ShippingAddressForm } from '@/api/customer/customerFile/shippingAddress/types';
|
|
|
import { delDept } from '@/api/system/dept';
|
|
|
|
|
|
type CustomerDeptOption = {
|
|
|
@@ -110,6 +116,7 @@ const { sys_platform_yes_no } = toRefs<any>(proxy?.useDict('sys_platform_yes_no'
|
|
|
|
|
|
const customerDeptList = ref<CustomerDeptVO[]>([]);
|
|
|
const customerDeptOptions = ref<CustomerDeptOption[]>([]);
|
|
|
+const shippingAddressList = ref<ShippingAddressVO[]>([]);
|
|
|
const buttonLoading = ref(false);
|
|
|
const showSearch = ref(true);
|
|
|
const isExpandAll = ref(true);
|
|
|
@@ -209,6 +216,26 @@ const getTreeselect = async () => {
|
|
|
customerDeptOptions.value = proxy?.handleTree<CustomerDeptOption>(res.data, 'deptId', 'parentId') || [];
|
|
|
};
|
|
|
|
|
|
+/** 获取客户收货地址列表 */
|
|
|
+const getShippingAddressList = async () => {
|
|
|
+ if (!props.customerId) {
|
|
|
+ shippingAddressList.value = [];
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ const query: ShippingAddressQuery = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ customerId: props.customerId
|
|
|
+ };
|
|
|
+ const res = await listShippingAddress(query);
|
|
|
+ shippingAddressList.value = res.rows || [];
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取收货地址列表失败:', error);
|
|
|
+ shippingAddressList.value = [];
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
// 取消按钮
|
|
|
const cancel = () => {
|
|
|
reset();
|
|
|
@@ -236,6 +263,7 @@ const resetQuery = () => {
|
|
|
const handleAdd = async (row?: CustomerDeptVO) => {
|
|
|
reset();
|
|
|
await getTreeselect();
|
|
|
+ await getShippingAddressList();
|
|
|
if (row != null && row.deptId) {
|
|
|
form.value.parentId = row.deptId;
|
|
|
}
|
|
|
@@ -264,6 +292,7 @@ const toggleExpandAll = (data: CustomerDeptVO[], status: boolean) => {
|
|
|
const handleUpdate = async (row: CustomerDeptVO) => {
|
|
|
reset();
|
|
|
await getTreeselect();
|
|
|
+ await getShippingAddressList();
|
|
|
const res = await getCustomerDept(row.deptId);
|
|
|
Object.assign(form.value, res.data);
|
|
|
// 修正数据:如果 parentId 等于自己的 id,说明是顶级部门,将 parentId 设为 0
|