Commit 85f4d2c0 authored by 沈翠玲's avatar 沈翠玲

调解中心优化

parent 284f9a1a
...@@ -291,7 +291,7 @@ ...@@ -291,7 +291,7 @@
"component": "/system/tenantManage/index", "component": "/system/tenantManage/index",
"meta": { "meta": {
"icon": "", "icon": "",
"title": "租户管理", "title": "调解中心管理",
"isLink": "", "isLink": "",
"isHide": false, "isHide": false,
"isFull": false, "isFull": false,
......
<template> <template>
<vxe-modal v-model="showModal" title="租户选择" show-footer> <vxe-modal v-model="showModal" title="调解中心选择" show-footer>
<div <div
v-for="tenant in getUserTenants" v-for="tenant in tenantList"
:key="tenant.code" :key="tenant.code"
@click="handleClick(tenant)" @click="handleClick(tenant)"
class="p-2 mb-2 rounded flex items-center justify-between text-center border hover:cursor-pointer hover:bg-gray-100" class="p-2 mb-2 rounded flex items-center justify-between text-center border hover:cursor-pointer hover:bg-gray-100"
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
const emits = defineEmits(['cancel', 'select']); const emits = defineEmits(['cancel', 'select']);
const showModal = ref(false); const showModal = ref(false);
const tenantList = ref([]);
const { getUserTenants } = useUserStore(); const { getUserTenants } = useUserStore();
const handleCancel = () => { const handleCancel = () => {
...@@ -35,7 +36,10 @@ ...@@ -35,7 +36,10 @@
emits('select', tenant); emits('select', tenant);
}; };
const openModal = () => (showModal.value = true); const openModal = (tenants) => {
showModal.value = true
tenantList.value = tenants
};
defineExpose({ defineExpose({
openModal, openModal,
}); });
......
...@@ -7,8 +7,8 @@ export const useUserStore = defineStore({ ...@@ -7,8 +7,8 @@ export const useUserStore = defineStore({
state: () => ({ state: () => ({
token: '', token: '',
userInfo: null, userInfo: null,
isTenant: false, // 是否操作了租户 isTenant: false, // 是否操作了调解中心
tenant: null, // 当前租户 tenant: null, // 当前调解中心
}), }),
getters: { getters: {
getUserTenants() { getUserTenants() {
......
...@@ -31,7 +31,7 @@ class RequestClient { ...@@ -31,7 +31,7 @@ class RequestClient {
config.cancel && axiosCanceler.addPending(config); config.cancel && axiosCanceler.addPending(config);
const { tenant } = useUserStore(); const { tenant } = useUserStore();
// 设置租户请求头 // 设置调解中心请求头
config.headers['tenantId'] = tenant?.id; config.headers['tenantId'] = tenant?.id;
if (config.method.toLocaleUpperCase() == 'GET') { if (config.method.toLocaleUpperCase() == 'GET') {
......
...@@ -101,17 +101,17 @@ ...@@ -101,17 +101,17 @@
}); });
/** /**
* 取消租户选择 * 取消调解中心选择
*/ */
const onCancelTenant = () => { const onCancelTenant = () => {
// 取消选择租户,执行退出登录 // 取消选择调解中心,执行退出登录
userStore.logout(); userStore.logout();
loginLoading.value = false; loginLoading.value = false;
}; };
/** /**
* 选择租户 * 选择调解中心
* @param tenant 租户 * @param tenant 调解中心
*/ */
const onSelectTenant = async (tenant) => { const onSelectTenant = async (tenant) => {
userStore.setIsTenant(true); userStore.setIsTenant(true);
...@@ -148,9 +148,9 @@ ...@@ -148,9 +148,9 @@
let url = `ws://8.152.205.9:8080/websocket/${userInfo.id}`; let url = `ws://8.152.205.9:8080/websocket/${userInfo.id}`;
socketStore.connection(url); socketStore.connection(url);
// 如果有多个租户,需要选择租户进入系统 // 如果有多个调解中心,需要选择调解中心进入系统
if (userInfo.tenants.length > 1) { if (userInfo.tenants.length > 1) {
tenantRef.value.openModal(); tenantRef.value.openModal(userInfo.tenants);
} else { } else {
await onSelectTenant(userInfo.tenants[0] || null); await onSelectTenant(userInfo.tenants[0] || null);
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
show-footer show-footer
esc-closable esc-closable
> >
<el-form ref="formRef" :model="form" :rules="rules" inline label-width="80px"> <el-form ref="formRef" :model="form" :rules="rules" inline label-width="110px">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="24"> <el-col :span="24">
<el-form-item class="w-full" label="调解中心名称" prop="name"> <el-form-item class="w-full" label="调解中心名称" prop="name">
...@@ -20,6 +20,16 @@ ...@@ -20,6 +20,16 @@
<el-input v-model="form.code" placeholder="调解中心编码" /> <el-input v-model="form.code" placeholder="调解中心编码" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24">
<el-form-item class="w-full" label="负责人" prop="adminUser">
<el-input v-model="form.adminUser" placeholder="负责人" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item class="w-full" label="负责人手机" prop="phone">
<el-input v-model="form.phone" placeholder="负责人手机" />
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item class="w-full" label="状态" prop="status"> <el-form-item class="w-full" label="状态" prop="status">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
...@@ -54,6 +64,8 @@ ...@@ -54,6 +64,8 @@
const form = ref({ const form = ref({
name: '', name: '',
code: '', code: '',
adminUser: '',
phone: '',
status: 'enable', status: 'enable',
}); });
const rules = ref({ const rules = ref({
...@@ -82,6 +94,8 @@ ...@@ -82,6 +94,8 @@
form.value = { form.value = {
name: '', name: '',
code: '', code: '',
adminUser: '',
phone: '',
status: 'enable', status: 'enable',
}; };
formRef.value.clearValidate(); formRef.value.clearValidate();
......
...@@ -28,6 +28,20 @@ ...@@ -28,6 +28,20 @@
{ type: 'checkbox', width: 50 }, { type: 'checkbox', width: 50 },
{ field: 'name', title: '调解中心名称', search: { el: 'input' } }, { field: 'name', title: '调解中心名称', search: { el: 'input' } },
{ field: 'code', title: '调解中心编码', search: { el: 'input' } }, { field: 'code', title: '调解中心编码', search: { el: 'input' } },
{ field: 'adminUser', title: '负责人'},
{ field: 'phone', title: '负责人手机'},
{
field: '',
title: '成员数量',
width: 80,
slots: {
default: ({ row }) => {
return (
<div>{row.users.length}</div>
);
},
},
},
{ {
field: 'status', field: 'status',
title: '状态', title: '状态',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment