From 25d82b890665980d3feccc4dc82d654cc1929fa9 Mon Sep 17 00:00:00 2001 From: zhonghua1 Date: Sat, 20 Dec 2025 20:52:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=80=E5=94=AE=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tenant.js | 37 +++++ src/views/device/index.vue | 47 ++++++- src/views/sales/index.vue | 61 +++++++- src/views/tenant/index.vue | 280 ++++++++++++++++++++++++++++--------- 4 files changed, 359 insertions(+), 66 deletions(-) create mode 100644 src/api/tenant.js diff --git a/src/api/tenant.js b/src/api/tenant.js new file mode 100644 index 0000000..76237ab --- /dev/null +++ b/src/api/tenant.js @@ -0,0 +1,37 @@ +import request from '@/utils/request' + +// 分页查询租户列表 +export function getTenantList(params) { + return request({ + url: '/tenant/list', + method: 'post', + data: params + }) +} + +// 新增租户 +export function addTenant(data) { + return request({ + url: '/tenant/add', + method: 'post', + data + }) +} + +// 更新租户 +export function updateTenant(data) { + return request({ + url: '/tenant/update', + method: 'put', + data + }) +} + +// 获取所有租户列表(不分页) +export function getAllTenantList() { + return request({ + url: '/tenant/listAll', + method: 'get' + }) +} + diff --git a/src/views/device/index.vue b/src/views/device/index.vue index 09c726e..32fcf6f 100644 --- a/src/views/device/index.vue +++ b/src/views/device/index.vue @@ -50,6 +50,7 @@ + 添加设备 批量分配设备到机构 @@ -120,6 +121,16 @@ + + + + + { + console.log('获取租户列表响应:', response) + if (response && response.code === 20000) { + // 处理响应数据,可能是数组或包含data字段的对象 + const tenantList = Array.isArray(response.data) ? response.data : (response.data?.data || []) + this.tenantOptions = tenantList.map(item => ({ + value: item.id, + label: item.tenantName + })) + } else { + this.$message.error(response?.message || '获取租户列表失败') + } + }).catch(error => { + console.error('获取租户列表失败:', error) + this.$message.error('获取租户列表失败,请稍后重试') + }) + }, + // 获取列表数据 getList() { this.loading = true @@ -473,11 +510,19 @@ export default { this.deviceForm = { id: null, deviceCode: '', + tenantId: '', dealershipId: '', bindUserId: '', + projectId: '', bindStatus: false } this.dialogVisible = true + // 确保表单引用已准备好并清除验证 + this.$nextTick(() => { + if (this.$refs.deviceForm) { + this.$refs.deviceForm.clearValidate() + } + }) }, // 编辑设备 diff --git a/src/views/sales/index.vue b/src/views/sales/index.vue index e7205ba..d3a2875 100644 --- a/src/views/sales/index.vue +++ b/src/views/sales/index.vue @@ -166,6 +166,29 @@ + + + + + + + + { + console.log('获取租户列表响应:', response) + if (response && response.code === 20000) { + // 处理响应数据,可能是数组或包含data字段的对象 + const tenantList = Array.isArray(response.data) ? response.data : (response.data?.data || []) + this.tenantOptions = tenantList.map(item => ({ + value: item.tenantCode, // 使用租户编码作为值 + label: `${item.tenantName} ${item.tenantCode}` // 显示格式:租户名称 租户编码 + })) + } else { + this.$message.error(response?.message || '获取租户列表失败') + } + }).catch(error => { + console.error('获取租户列表失败:', error) + this.$message.error('获取租户列表失败,请稍后重试') + }) + }, // 查询 handleQuery() { this.queryParams.pageNum = 1 @@ -571,6 +620,8 @@ export default { id: undefined, salesName: '', loginAccount: '', + password: '', + tenantCode: '', dealershipId: '', role: '', status: '1' @@ -583,8 +634,16 @@ export default { console.log('提交表单:', this.salesForm) this.$refs.salesForm.validate(valid => { if (valid) { + // 构建提交数据,将租户编码赋值给租户id + const submitData = { ...this.salesForm } + if (submitData.tenantCode) { + submitData.tenantId = submitData.tenantCode // 将租户编码赋值给租户id + } + // 移除 tenantCode 字段,只传递 tenantId + delete submitData.tenantCode + const submitFunc = this.isEdit ? updateSales : addSales - submitFunc(this.salesForm).then(response => { + submitFunc(submitData).then(response => { console.log('提交表单响应:', response) // 调试日志 if (response && response.code === 20000) { diff --git a/src/views/tenant/index.vue b/src/views/tenant/index.vue index bd04c4f..e220874 100644 --- a/src/views/tenant/index.vue +++ b/src/views/tenant/index.vue @@ -23,11 +23,41 @@ - - + + + + + + + + + + + + + + 搜索 清空 @@ -53,23 +83,28 @@ - + - + + + - + @@ -107,28 +142,25 @@ - - + + - - - - + + + + - - + @@ -141,6 +173,8 @@