fix: BUG修改
This commit is contained in:
parent
68a3c8acc6
commit
25ae8a3557
@ -2,10 +2,10 @@
|
|||||||
NODE_ENV = 'development'
|
NODE_ENV = 'development'
|
||||||
|
|
||||||
# 本地环境接口地址(/api/index.ts文件中使用)
|
# 本地环境接口地址(/api/index.ts文件中使用)
|
||||||
# VITE_API_URL = 'http://192.168.34.155:6688'
|
VITE_API_URL = 'http://192.168.34.155:6688'
|
||||||
# VITE_API_URL = 'http://2xliv7gs.shenzhuo.vip:55296'
|
# VITE_API_URL = 'http://2xliv7gs.shenzhuo.vip:55296'
|
||||||
VITE_WPAPI_URL = "http://jxjzw.zhgdyun.com:8081"
|
VITE_WPAPI_URL = "http://jxjzw.zhgdyun.com:8081"
|
||||||
VITE_API_URL = "http://jxjzw.zhgdyun.com:9013"
|
# VITE_API_URL = "http://jxjzw.zhgdyun.com:9013"
|
||||||
|
|
||||||
# 上传
|
# 上传
|
||||||
# VITE_ULD_API_URL = 'http://192.168.34.155:8012/onlinePreview?url='
|
# VITE_ULD_API_URL = 'http://192.168.34.155:8012/onlinePreview?url='
|
||||||
|
|||||||
@ -114,7 +114,7 @@ export const getTreemRoleList = (params: any) => {
|
|||||||
return http.post(BASEURL + `/xmgl/baseMenu/getMenus`, params);
|
return http.post(BASEURL + `/xmgl/baseMenu/getMenus`, params);
|
||||||
};
|
};
|
||||||
// 列表查询系统角色信息 这里用来用户管理的下拉框显示
|
// 列表查询系统角色信息 这里用来用户管理的下拉框显示
|
||||||
export const getRoleNamelist = (params: { state: number | string }) => {
|
export const getRoleNamelist = (params: any) => {
|
||||||
return http.post(BASEURL + `/gov/systemRole/list`, params);
|
return http.post(BASEURL + `/gov/systemRole/list`, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="card filter">
|
<div class="card filter">
|
||||||
<h4 class="title sle" v-if="title">{{ title }}</h4>
|
<h4 class="title sle" v-if="title">{{ title }}</h4>
|
||||||
<!-- <div style="display: flex; box-sizing: border-box">
|
<div style="display: flex; box-sizing: border-box">
|
||||||
<el-input style="margin-right: 20px" v-model="filterText" placeholder="请输入" clearable>
|
<el-input style="margin-right: 20px" v-model="filterText" placeholder="请输入" clearable>
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<el-icon class="el-input__icon"><search /></el-icon>
|
<el-icon class="el-input__icon"><search /></el-icon>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
<slot name="addButton"></slot>
|
<slot name="addButton"></slot>
|
||||||
</div> -->
|
</div>
|
||||||
<el-scrollbar :style="{ height: title ? `calc(100% - 95px)` : `calc(100% - 56px)` }">
|
<el-scrollbar :style="{ height: title ? `calc(100% - 95px)` : `calc(100% - 56px)` }">
|
||||||
<el-tree
|
<el-tree
|
||||||
ref="treeRef"
|
ref="treeRef"
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<el-button type="primary" @click="onAddDept">新增部门</el-button>
|
<el-button type="primary" @click="onAddDept">新增部门</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #editButton="{ row }">
|
<template #editButton="{ row }">
|
||||||
<el-button style="font-size: 12px" type="danger" link :icon="Delete" @click="onDelDept(row)">删除</el-button>
|
<el-button type="danger" link :icon="Delete" @click="onDelDept(row)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</TreeFilter>
|
</TreeFilter>
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
|
|||||||
@ -44,17 +44,72 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<!-- 新增角色 -->
|
||||||
<DialogForm
|
<el-dialog class="imgDialog" :title="title" width="700px" v-model="visible" show-close>
|
||||||
:title="title"
|
<el-form class="diaForm" :rules="rules" :model="formData" ref="ruleFormRef" label-width="160px">
|
||||||
:formConfig="formConfig"
|
<el-form-item label="用户姓名:" prop="realName">
|
||||||
:formData="formData"
|
<el-input v-model="formData.realName" placeholder="请输入" />
|
||||||
v-model:visible="visible"
|
</el-form-item>
|
||||||
append-to-body
|
<el-form-item label="手机号码:" prop="userTel">
|
||||||
width="700px"
|
<el-input v-model="formData.userTel" placeholder="请输入" />
|
||||||
@confirm="saveItem"
|
</el-form-item>
|
||||||
>
|
<el-form-item label="账号名称:" prop="account">
|
||||||
</DialogForm>
|
<el-input v-model="formData.account" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="密码:" prop="showPassword">
|
||||||
|
<el-input v-model="formData.showPassword" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="邮箱:" prop="email">
|
||||||
|
<el-input v-model="formData.email" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="状态:" prop="state">
|
||||||
|
<el-radio-group v-model="formData.state">
|
||||||
|
<el-radio :label="1">启用</el-radio>
|
||||||
|
<el-radio :label="0">禁用</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户性别:" prop="sex">
|
||||||
|
<el-select v-model="formData.sex" clearable placeholder="请选择" style="width: 100%">
|
||||||
|
<el-option label="男" :value="1" />
|
||||||
|
<el-option label="女" :value="0" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户类型:" prop="accountType" v-if="store.accountType == 2">
|
||||||
|
<el-radio-group v-model="formData.accountType" @change="getSelectData">
|
||||||
|
<el-radio :label="2">政务</el-radio>
|
||||||
|
<el-radio :label="3">企业</el-radio>
|
||||||
|
<el-radio :label="4">项目</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="指定类型:" prop="sn" v-if="formData.accountType != 2">
|
||||||
|
<el-select v-model="formData.sn" clearable placeholder="请选择" style="width: 100%" @change="getRoleData">
|
||||||
|
<el-option v-for="item in typeList" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="归属部门:" prop="department">
|
||||||
|
<el-select v-model="formData.department" clearable placeholder="请选择" style="width: 100%">
|
||||||
|
<el-option v-for="item in departmentList" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="岗位:" prop="jobName">
|
||||||
|
<el-input v-model="formData.jobName" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="角色:" prop="roleId">
|
||||||
|
<el-select v-model="formData.roleId" clearable placeholder="请选择" style="width: 100%">
|
||||||
|
<el-option v-for="item in roleList" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注:" prop="remark">
|
||||||
|
<el-input v-model="formData.remark" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<div>
|
||||||
|
<el-button class="hzCancelStyle" @click="visible = false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="saveItem(ruleFormRef, formData)"> 保存 </el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -63,16 +118,23 @@ import { ref, reactive, onMounted, nextTick } from "vue";
|
|||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
import { Delete } from "@element-plus/icons-vue";
|
import { Delete } from "@element-plus/icons-vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { User } from "@/api/interface";
|
|
||||||
import { jxj_User } from "@/api/types";
|
import { jxj_User } from "@/api/types";
|
||||||
import { ColumnProps } from "@/components/ProTable/interface";
|
import { ColumnProps } from "@/components/ProTable/interface";
|
||||||
import { useHandleData } from "@/hooks/useHandleData";
|
import { useHandleData } from "@/hooks/useHandleData";
|
||||||
import ProTable from "@/components/ProTable/index.vue";
|
import ProTable from "@/components/ProTable/index.vue";
|
||||||
import { getUserPage, addUser, editUser, deleteUser, getRoleNamelist, getTreeList } from "@/api/modules/goverment";
|
import {
|
||||||
|
getUserPage,
|
||||||
|
addUser,
|
||||||
|
editUser,
|
||||||
|
deleteUser,
|
||||||
|
getRoleNamelist,
|
||||||
|
getTreeList,
|
||||||
|
getentNamelist
|
||||||
|
} from "@/api/modules/goverment";
|
||||||
|
import { engineerList } from "@/api/modules/huizhou";
|
||||||
import { GlobalStore } from "@/stores";
|
import { GlobalStore } from "@/stores";
|
||||||
import DialogForm from "@/components/DialogForm/index.vue";
|
|
||||||
import { getuserDataScope, editUserDataScope } from "@/api/modules/auth";
|
import { getuserDataScope, editUserDataScope } from "@/api/modules/auth";
|
||||||
import { getengineeringList } from "@/api/modules/project";
|
import type { FormRules, FormInstance } from "element-plus";
|
||||||
|
|
||||||
interface authorityColumns {
|
interface authorityColumns {
|
||||||
relevanceId: string;
|
relevanceId: string;
|
||||||
@ -82,6 +144,12 @@ interface authorityColumns {
|
|||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const store = GlobalStore();
|
const store = GlobalStore();
|
||||||
|
const roleList = ref<any>([]); // 角色列表
|
||||||
|
const engineerProjectList = ref([]); // 项目列表
|
||||||
|
const enterpriseList = ref([]); // 企业列表
|
||||||
|
const typeList = ref([]);
|
||||||
|
const ruleFormRef = ref();
|
||||||
|
const departmentList = ref([]);
|
||||||
const visible = ref(false);
|
const visible = ref(false);
|
||||||
const authorityVisible = ref(false);
|
const authorityVisible = ref(false);
|
||||||
const title = ref("");
|
const title = ref("");
|
||||||
@ -89,12 +157,14 @@ const formData = ref({
|
|||||||
realName: "",
|
realName: "",
|
||||||
userTel: "",
|
userTel: "",
|
||||||
account: "",
|
account: "",
|
||||||
password: "",
|
showPassword: "",
|
||||||
email: "",
|
email: "",
|
||||||
state: 1,
|
state: 1,
|
||||||
sex: "",
|
sex: "",
|
||||||
department: "",
|
department: "",
|
||||||
jobName: "",
|
jobName: "",
|
||||||
|
accountType: 2,
|
||||||
|
sn: "",
|
||||||
roleId: "",
|
roleId: "",
|
||||||
remark: ""
|
remark: ""
|
||||||
});
|
});
|
||||||
@ -148,125 +218,88 @@ const authorityColumns = ref([
|
|||||||
{ type: "selection", fixed: "left", width: 80 },
|
{ type: "selection", fixed: "left", width: 80 },
|
||||||
{ prop: "engineeringName", label: "项目名称" }
|
{ prop: "engineeringName", label: "项目名称" }
|
||||||
]);
|
]);
|
||||||
|
const rules = reactive<FormRules>({
|
||||||
// 弹窗中的配置
|
realName: [
|
||||||
const formConfig = reactive({
|
|
||||||
formItemConfig: [
|
|
||||||
{
|
{
|
||||||
label: "用户姓名",
|
required: true,
|
||||||
prop: "realName",
|
message: "请输入用户姓名",
|
||||||
type: "input"
|
trigger: "blur"
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "手机号码",
|
|
||||||
prop: "userTel",
|
|
||||||
type: "input"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "账号名称",
|
|
||||||
prop: "account",
|
|
||||||
type: "input"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "密码",
|
|
||||||
prop: "password",
|
|
||||||
type: "input"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "邮箱",
|
|
||||||
prop: "email",
|
|
||||||
type: "input"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
label: "状态",
|
|
||||||
prop: "state",
|
|
||||||
type: "radio",
|
|
||||||
data: [
|
|
||||||
{ label: "启用", value: 1 },
|
|
||||||
{ label: "禁用", value: 0 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "用户性别",
|
|
||||||
prop: "sex",
|
|
||||||
type: "select",
|
|
||||||
data: [
|
|
||||||
{ label: "男", value: 1 },
|
|
||||||
{ label: "女", value: 0 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "归属部门",
|
|
||||||
prop: "department",
|
|
||||||
type: "select",
|
|
||||||
data: [],
|
|
||||||
fieldNames: { label: "roleName", value: "roleId" }
|
|
||||||
// 树形接口i
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
label: "岗位",
|
|
||||||
prop: "jobName",
|
|
||||||
type: "input"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "角色",
|
|
||||||
prop: "roleId",
|
|
||||||
type: "select",
|
|
||||||
data: []
|
|
||||||
|
|
||||||
// 接口获取角色管理
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "备注",
|
|
||||||
prop: "remark",
|
|
||||||
type: "input"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
rules: {
|
userTel: [
|
||||||
realName: [
|
{
|
||||||
{
|
required: true,
|
||||||
required: true,
|
message: "请输入手机号码",
|
||||||
message: "请输入用户姓名",
|
trigger: "blur"
|
||||||
trigger: "blur"
|
}
|
||||||
}
|
],
|
||||||
],
|
showPassword: [
|
||||||
userTel: [
|
{
|
||||||
{
|
required: true,
|
||||||
required: true,
|
message: "请输入密码",
|
||||||
message: "请输入手机号码",
|
trigger: "blur"
|
||||||
trigger: "blur"
|
}
|
||||||
}
|
],
|
||||||
],
|
account: [
|
||||||
password: [
|
{
|
||||||
{
|
required: true,
|
||||||
required: true,
|
message: "请输入名称",
|
||||||
message: "请输入密码",
|
trigger: "blur"
|
||||||
trigger: "blur"
|
}
|
||||||
}
|
],
|
||||||
],
|
accountType: [
|
||||||
account: [
|
{
|
||||||
{
|
required: true,
|
||||||
required: true,
|
message: "请选择角色类型",
|
||||||
message: "请输入名称",
|
trigger: "blur"
|
||||||
trigger: "blur"
|
}
|
||||||
}
|
],
|
||||||
],
|
sn: [
|
||||||
roleId: [
|
{
|
||||||
{
|
required: true,
|
||||||
required: true,
|
message: "请选择指定类型",
|
||||||
message: "请选择角色",
|
trigger: "blur"
|
||||||
trigger: "blur"
|
}
|
||||||
}
|
],
|
||||||
]
|
roleId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择角色",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
// 获取角色下拉数据
|
||||||
|
const getRoleData = async () => {
|
||||||
|
let requestData = {
|
||||||
|
state: 1
|
||||||
|
};
|
||||||
|
if (formData.value.accountType != 2) {
|
||||||
|
requestData.sn = formData.value.sn;
|
||||||
}
|
}
|
||||||
});
|
const res: any = await getRoleNamelist(requestData);
|
||||||
|
roleList.value = res.result.map(i => {
|
||||||
const initParam = reactive({
|
return {
|
||||||
// type: 1
|
label: i.roleName,
|
||||||
});
|
value: i.roleId
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 获取下拉数据
|
||||||
|
const getSelectData = async () => {
|
||||||
|
typeList.value.length = 0;
|
||||||
|
if (formData.value.accountType == 3) {
|
||||||
|
typeList.value = [...enterpriseList.value];
|
||||||
|
roleList.value.length = 0;
|
||||||
|
} else if (formData.value.accountType == 4) {
|
||||||
|
typeList.value = [...engineerProjectList.value];
|
||||||
|
roleList.value.length = 0;
|
||||||
|
} else {
|
||||||
|
getRoleData();
|
||||||
|
}
|
||||||
|
formData.value.sn = "";
|
||||||
|
formData.value.roleId = "";
|
||||||
|
};
|
||||||
// dataCallback 是对于返回的表格数据做处理,如果你后台返回的数据不是 list && total && pageNum && pageSize 这些字段,那么你可以在这里进行处理成这些字段
|
// dataCallback 是对于返回的表格数据做处理,如果你后台返回的数据不是 list && total && pageNum && pageSize 这些字段,那么你可以在这里进行处理成这些字段
|
||||||
// 或者直接去 hooks/useTable.ts 文件中把字段改为你后端对应的就行
|
// 或者直接去 hooks/useTable.ts 文件中把字段改为你后端对应的就行
|
||||||
const dataCallback = (data: any) => {
|
const dataCallback = (data: any) => {
|
||||||
@ -317,19 +350,28 @@ const handleEditItem = async (index: number, row: any) => {
|
|||||||
realName: "",
|
realName: "",
|
||||||
userTel: "",
|
userTel: "",
|
||||||
account: "",
|
account: "",
|
||||||
password: "",
|
showPassword: "",
|
||||||
email: "",
|
email: "",
|
||||||
state: 1,
|
state: 1,
|
||||||
sex: "",
|
sex: "",
|
||||||
department: "",
|
department: "",
|
||||||
jobName: "",
|
jobName: "",
|
||||||
|
accountType: 2,
|
||||||
|
sn: "",
|
||||||
roleId: "",
|
roleId: "",
|
||||||
remark: ""
|
remark: ""
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
title.value = "编辑用户";
|
title.value = "编辑用户";
|
||||||
formData.value = reactive({ ...row });
|
formData.value = reactive({ ...row });
|
||||||
|
typeList.value.length = 0;
|
||||||
|
if (formData.value.accountType == 3) {
|
||||||
|
typeList.value = [...enterpriseList.value];
|
||||||
|
} else if (formData.value.accountType == 4) {
|
||||||
|
typeList.value = [...engineerProjectList.value];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
await getRoleData();
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -340,32 +382,52 @@ const handleDeleteItem = async (params: jxj_User.ResUserList) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 页面新增,编辑数据
|
// 页面新增,编辑数据
|
||||||
const saveItem = async (form: any) => {
|
const saveItem = async (formEl: FormInstance | undefined, form: any) => {
|
||||||
if (form.userId) {
|
// 标记表单校验
|
||||||
const res = await editUser(form);
|
if (!formEl) return;
|
||||||
proTable.value.getTableList();
|
await formEl.validate(async (valid, fields) => {
|
||||||
ElMessage.success("编辑成功");
|
if (valid) {
|
||||||
} else {
|
if (form.userId) {
|
||||||
const res = await addUser(form);
|
const res = await editUser(form);
|
||||||
ElMessage.success("新增成功");
|
proTable.value.getTableList();
|
||||||
proTable.value.getTableList();
|
ElMessage.success("编辑成功");
|
||||||
}
|
} else {
|
||||||
visible.value = false;
|
const res = await addUser(form);
|
||||||
|
ElMessage.success("新增成功");
|
||||||
|
proTable.value.getTableList();
|
||||||
|
}
|
||||||
|
visible.value = false;
|
||||||
|
} else {
|
||||||
|
console.log("error submit!", fields);
|
||||||
|
ElMessage({
|
||||||
|
showClose: true,
|
||||||
|
message: "请完善表单信息!",
|
||||||
|
type: "error"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const res = await getRoleNamelist({ state: 1 });
|
|
||||||
const res1 = await getTreeList({ deptId: "", status: 1 });
|
const res1 = await getTreeList({ deptId: "", status: 1 });
|
||||||
formConfig.formItemConfig[7].data = res1.result.map(i => {
|
departmentList.value = res1.result.map(i => {
|
||||||
return {
|
return {
|
||||||
label: i.deptName,
|
label: i.deptName,
|
||||||
value: i.deptId
|
value: i.deptId
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
formConfig.formItemConfig[9].data = res.result.map(i => {
|
const res2: any = await getentNamelist({});
|
||||||
|
enterpriseList.value = res2.result.map(item => {
|
||||||
return {
|
return {
|
||||||
label: i.roleName,
|
label: item.enterpriseName,
|
||||||
value: i.roleId
|
value: item.enterpriseSn
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
const res3: any = await engineerList({});
|
||||||
|
engineerProjectList.value = res3.result.map(item => {
|
||||||
|
return {
|
||||||
|
label: item.engineeringName,
|
||||||
|
value: item.engineeringSn
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
// treeDeptList.value = res.result;
|
// treeDeptList.value = res.result;
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<el-button type="primary" @click="onAddDept">新增部门</el-button>
|
<el-button type="primary" @click="onAddDept">新增部门</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #editButton="{ row }">
|
<template #editButton="{ row }">
|
||||||
<el-button style="font-size: 12px" type="danger" link :icon="Delete" @click="onDelDept(row)">删除</el-button>
|
<el-button type="danger" link :icon="Delete" @click="onDelDept(row)">删除</el-button>
|
||||||
<!-- {{ row.showEdit ? "true" : "false" }} -->
|
<!-- {{ row.showEdit ? "true" : "false" }} -->
|
||||||
</template>
|
</template>
|
||||||
</TreeFilter>
|
</TreeFilter>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user