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 @@
-
+
-
-
- {{ scope.row.status ? '启用' : '禁用' }}
+
+ {{ scope.row.status === 0 ? '启用' : '禁用' }}
+
+
+ {{ formatDateTime(scope.row.expireTime) }}
+
+
{{ formatDateTime(scope.row.createTime) }}
-
+
+ 添加设备
编辑
删除
@@ -107,28 +142,25 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
@@ -141,6 +173,8 @@