zhaoke 2 жил өмнө
parent
commit
dd2967baec

+ 13 - 0
public/demo.js

@@ -27,6 +27,14 @@ const DATACONTENT_ID = {
   authTreeId: 40, //权限管理-权限树
   authTreeNewId: 92, //权限管理-权限树
 
+  /***-----应用管理------***/
+  appTableId: 39, //应用管理
+
+  /***-----账号管理------***/
+  accountTableId: 78, //账号管理-首页-列表
+  accountRoleId: 43, //账号管理-根据id查角色
+  accountDetailsId: 45, //账号管理-根据id查详情
+
   /***-----账号组管理------***/
   accountGroupTableId: 18034, //账号组管理-首页-列表
   accountGroupSelId: 18035, //账号组管理-下拉
@@ -73,6 +81,11 @@ const SERVICE_ID = {
   sysQueryTabId: 5, //系统设置-查询模板-表格-增删改
   /***-----权限项管理------***/
   authScId: 13, //权限项管理-增删改
+  /***-----应用管理------***/
+  appScId: 12, //应用管理-增删改
+  /***-----账号管理------***/
+  accountScId: 17, //账号管理-增删改
+  roleScId: 16, //账号管理-角色授权-增删改
   /***-----角色管理------***/
   roleMsgId: 14, //角色管理-增删改
   roleMsgTreeId: 15, //角色管理-权限树-增删改

+ 136 - 106
src/views/userManagement/account/index.vue

@@ -9,7 +9,7 @@
     </div>
     <div class="application-content flex">
       <div class="box account-tree">
-        <el-tree :data="data" :props="defaultProps" default-expand-all @node-click="handleNodeClick" />
+        <el-tree :data="data" :props="defaultProps" node-key="user_group_id" default-expand-all @node-click="handleNodeClick" />
       </div>
       <Table class="account-table" BtnGroupWidth="250px" :tableHeader="tableHeader" @btnClick="btnClick" :tableBtnGroup="tableBtnGroup" :tableData="tableData" />
     </div>
@@ -18,19 +18,19 @@
     <!--新增/编辑-->
     <Dialog :flag="editDialogVisible" :msgTitle="editDialogTitle" @submitForm="submitForm(ruleFormRef)" @resetForm="resetForm(ruleFormRef)" :show-flag="true">
       <el-form ref="ruleFormRef" :model="ruleForm" label-width="110px" class="demo-ruleForm">
-        <el-form-item label="账号名称" prop="roleName">
-          <el-input v-model="ruleForm.roleName" size="default" placeholder="请输入账号名称" />
+        <el-form-item label="账号名称" prop="user_name">
+          <el-input v-model="ruleForm.user_name" size="default" placeholder="请输入账号名称" />
         </el-form-item>
-        <el-form-item label="账号密码" prop="rolePwd">
-          <el-input v-model="ruleForm.rolePwd" type="password" show-password size="default" placeholder="请输入账号名称" />
+        <el-form-item label="账号密码" prop="user_pwd">
+          <el-input v-model="ruleForm.user_pwd" type="password" show-password size="default" placeholder="请输入账号名称" />
         </el-form-item>
-        <el-form-item label="账号描述" prop="roleDesc">
-          <el-input v-model="ruleForm.roleDesc" size="default" type="textarea" :rows="3" placeholder="请输入账号描述" />
+        <el-form-item label="账号描述" prop="user_comment">
+          <el-input v-model="ruleForm.user_comment" size="default" type="textarea" :rows="3" placeholder="请输入账号描述" />
         </el-form-item>
-        <el-form-item label="是否启用" prop="roleStatus">
-          <el-radio-group v-model="ruleForm.roleStatus">
-            <el-radio label="1">启用</el-radio>
-            <el-radio label="2"> 禁用</el-radio>
+        <el-form-item label="是否启用" prop="user_status">
+          <el-radio-group v-model="ruleForm.user_status">
+            <el-radio :label="1">启用</el-radio>
+            <el-radio :label="2"> 禁用</el-radio>
           </el-radio-group>
         </el-form-item>
       </el-form>
@@ -39,46 +39,19 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive } from "vue";
+import { ref, reactive, onBeforeMount } from "vue";
 import { ElMessage, FormInstance, FormRules } from "element-plus";
 import Table from "@/components/tableTemp/index.vue";
 import Search from "@/components/search/index.vue";
-interface Tree {
-  label: string;
-  children?: Tree[];
-}
+import { translateDataToTreeAll } from "@/utils/validate";
+import { GeneralDataReception, Query } from "@/api/dataIntegration";
+import * as _ from "lodash";
+import MD5 from "blueimp-md5";
+import table from "../hooks/useTable";
 const router = useRouter();
 const ruleFormRef = ref<FormInstance>();
-const tableHeader = [
-  { label: "账号名称", key: "roleName" },
-  { label: "账号数", key: "accountNum" },
-  { label: "权限项数", key: "authNum" },
-  { label: "是否存在互斥", key: "isHc" },
-  { label: "启用状态", key: "status" },
-  { label: "描述", key: "desc" },
-];
-const tableData = ref([
-  {
-    id: 1,
-    roleName: "11",
-    accountNum: "22",
-    authNum: "33",
-    isHc: "是",
-    status: "启用",
-    desc: "555",
-    pwd: "",
-  },
-  {
-    id: 2,
-    roleName: "11",
-    accountNum: "22",
-    authNum: "33",
-    isHc: "是",
-    status: "启用",
-    desc: "555",
-    pwd: "",
-  },
-]);
+const tableHeader = ref<any>([]);
+const tableData = ref<any>([]);
 const tableBtnGroup = [
   {
     name: "编辑",
@@ -101,57 +74,137 @@ const title = ref("");
 const dT = ref("add");
 const editDialogVisible = ref(false);
 const editDialogTitle = ref("新增账号");
-const ruleForm = reactive({
-  roleName: "",
-  roleDesc: "",
-  roleStatus: "",
-  rolePwd: "",
+const ruleForm = ref<any>({
+  user_name: "",
+  user_comment: "",
+  user_status: "",
+  user_pwd: "",
 });
-const rowIndex = ref(1);
+const rowIndex = ref<any>({});
+const data = ref<any>([]);
+const msgId = ref(null);
+const msgType = ref("all");
+const PageIndex = ref(1);
+const searchInfo = ref("");
+//获取用户组
+const getGroup = async () => {
+  const { code, returnData } = await Query({
+    id: DATACONTENT_ID.accountGroupTableId,
+    dataContent: [""],
+  });
+  if (code == 0 && returnData.listValues) {
+    const dataObj = {
+      user_group_id: -1,
+      up_user_group_id: -2,
+      user_group_name: "全部用户组",
+      children: translateDataToTreeAll(
+        returnData.listValues,
+        "up_user_group_id",
+        "user_group_id"
+      ),
+    };
+    data.value = [dataObj];
+  } else {
+    const dataObj = {
+      user_group_id: -1,
+      up_user_group_id: -2,
+      user_group_name: "全部用户组",
+      children: [],
+    };
+    data.value = [dataObj];
+  }
+};
+
+//获取table
+const accountList = async () => {
+  let result: any = null;
+  if (msgType.value == "all") {
+    result = await Query({
+      id: DATACONTENT_ID.accountTableId,
+      needPage: PageIndex.value,
+      dataContent: [searchInfo.value],
+    });
+  } else {
+    result = await Query({
+      id: DATACONTENT_ID.accountGroupDetailsId,
+      dataContent: [msgId.value],
+      needPage: PageIndex.value,
+    });
+  }
+  const { code, returnData, message } = result;
+  if (code == 0) {
+    const { columnSet, listValues } = returnData;
+    tableHeader.value = columnSet;
+    tableData.value = listValues;
+  } else {
+    ElMessage.error(message);
+  }
+};
 
-const handleNodeClick = (data: Tree) => {
-  console.log(data);
+// 回到第一页
+const pageInit = () => {
+  PageIndex.value = 1;
+  tableHeader.value = [];
+  tableData.value = [];
+  accountList();
 };
 
-const data: Tree[] = [
-  {
-    label: "全部账号组",
-    children: [
-      {
-        label: "账号组名称",
-        children: [],
-      },
-      {
-        label: "账号组名称",
-        children: [],
-      },
-    ],
-  },
-];
+//增删改
+const dataChange = async (event, data) => {
+  const { code, message } = await table.dataChange(
+    SERVICE_ID.accountScId,
+    event,
+    data
+  );
+  if (code == 0) {
+    ElMessage.success(message);
+    pageInit();
+  } else {
+    ElMessage.error(message);
+  }
+};
+
+onBeforeMount(() => {
+  getGroup();
+  accountList();
+});
+
+const handleNodeClick = (data) => {
+  tableHeader.value = [];
+  tableData.value = [];
+  if (data.user_group_id != -1 && data.up_user_group_id != -2) {
+    PageIndex.value = 1;
+    msgType.value = "cld";
+    msgId.value = data.user_group_id;
+    accountList();
+  } else {
+    msgType.value = "all";
+    clear();
+  }
+};
 
 const defaultProps = {
   children: "children",
-  label: "label",
+  label: "user_group_name",
 };
 const search = (val) => {
-  ElMessage.success(`搜索成功:${val}`);
+  searchInfo.value = val;
+  pageInit();
 };
 const clear = () => {
-  ElMessage.success(`清除`);
+  searchInfo.value = "";
+  pageInit();
 };
 const btnClick = (index, row, param) => {
-  rowIndex.value = index;
+  rowIndex.value = row;
   if (param == "del") {
     flag.value = true;
-    title.value = row.roleName;
+    title.value = row.user_name;
   } else if (param == "edit") {
     dT.value = "edit";
     editDialogVisible.value = true;
     editDialogTitle.value = "编辑账号";
-    ruleForm.roleName = row.roleName;
-    ruleForm.roleDesc = row.desc;
-    ruleForm.roleStatus = row.status;
-    ruleForm.rolePwd = row.pwd;
+    ruleForm.value = _.cloneDeep(row);
   } else {
     router.push("/userManagement/accountAuth");
   }
@@ -160,47 +213,24 @@ const delRest = () => {
   flag.value = false;
 };
 const remove = () => {
-  tableData.value.splice(rowIndex.value, 1);
-  ElMessage.success("删除成功");
+  dataChange(3, rowIndex.value);
   flag.value = false;
 };
 const addApp = () => {
   editDialogVisible.value = true;
   editDialogTitle.value = "新增账号";
   dT.value = "add";
-  ruleForm.roleDesc = "";
-  ruleForm.roleName = "";
-  ruleForm.roleStatus = "";
+  ruleForm.value = {};
 };
 const submitForm = async (formEl: FormInstance | undefined) => {
   if (!formEl) return;
   await formEl.validate((valid, fields) => {
     if (valid) {
+      ruleForm.value.user_pwd = MD5(ruleForm.value.user_pwd);
       if (dT.value == "add") {
-        const len = tableData.value.length;
-        tableData.value.push({
-          id: len + 1,
-          roleName: ruleForm.roleName,
-          desc: ruleForm.roleDesc,
-          status: ruleForm.roleStatus,
-          pwd: ruleForm.rolePwd,
-          accountNum: "22",
-          authNum: "33",
-          isHc: "是",
-        });
-        ElMessage.success("新增成功");
+        dataChange(1, ruleForm.value);
       } else {
-        tableData.value[rowIndex.value] = {
-          id: tableData.value[rowIndex.value].id,
-          roleName: ruleForm.roleName,
-          desc: ruleForm.roleDesc,
-          status: ruleForm.roleStatus,
-          pwd: ruleForm.rolePwd,
-          accountNum: "22",
-          authNum: "33",
-          isHc: "是",
-        };
-        ElMessage.success("编辑成功");
+        dataChange(2, ruleForm.value);
       }
       editDialogVisible.value = false;
     } else {

+ 25 - 38
src/views/userManagement/accountGroup/index.vue

@@ -27,20 +27,15 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive, onBeforeMount } from "vue";
+import { ref, onBeforeMount } from "vue";
 import { ElMessage, FormInstance, FormRules } from "element-plus";
-import { GeneralDataReception, Query } from "@/api/dataIntegration";
 import Table from "@/components/tableTemp/index.vue";
 import Search from "@/components/search/index.vue";
 import * as _ from "lodash";
-interface msgObj {
-  user_group_name: string;
-  user_group_comment: string | undefined;
-  event?: number;
-}
+import table from "../hooks/useTable";
 const ruleFormRef = ref<FormInstance>();
-const tableHeader = ref([]);
-const tableData = ref([]);
+const tableHeader = ref<any>([]);
+const tableData = ref<any>([]);
 const tableBtnGroup = [
   {
     name: "编辑",
@@ -59,11 +54,11 @@ const searchInfo = ref("");
 const dT = ref("add");
 const editDialogVisible = ref(false);
 const editDialogTitle = ref("新增账号组");
-const ruleForm = ref({
+const ruleForm = ref<any>({
   user_group_name: "",
   user_group_comment: "",
 });
-const rowIndex = ref({});
+const rowIndex = ref<any>({});
 
 onBeforeMount(() => {
   accountList();
@@ -71,20 +66,11 @@ onBeforeMount(() => {
 
 //获取账号组数据
 const accountList = async () => {
-  try {
-    const { code, returnData, message } = await Query({
-      id: DATACONTENT_ID.accountGroupTableId,
-      needPage: 1,
-      dataContent: [searchInfo.value],
-    });
-    if (code == 0 && returnData) {
-      const { columnSet, listValues } = returnData;
-      tableHeader.value = columnSet;
-      tableData.value = listValues;
-    } else {
-      ElMessage.error(message);
-    }
-  } catch (err: any) {}
+  const res = await table.getTable(DATACONTENT_ID.accountGroupTableId, [
+    searchInfo.value,
+  ]);
+  tableHeader.value = res.tableHeader.value;
+  tableData.value = res.tableData.value;
 };
 
 const search = (val) => {
@@ -112,11 +98,12 @@ const delRest = () => {
 };
 const remove = async () => {
   try {
-    rowIndex.value.event = 3;
-    const { code, message } = await GeneralDataReception({
-      serviceId: SERVICE_ID.accountGroupScId,
-      dataContent: JSON.stringify(rowIndex.value),
-    });
+    const { code, message } = await table.dataChange(
+      SERVICE_ID.accountGroupScId,
+      3,
+      rowIndex.value
+    );
+
     if (code == 0) {
       ElMessage.success(message);
       accountList();
@@ -133,12 +120,13 @@ const addApp = () => {
   ruleForm.value = {};
 };
 // 新增/编辑账号
-const saveAddAccount = async () => {
+const saveAddAccount = async (event) => {
   try {
-    const { code, message } = await GeneralDataReception({
-      serviceId: SERVICE_ID.accountGroupScId,
-      dataContent: JSON.stringify(ruleForm.value),
-    });
+    const { code, message } = await table.dataChange(
+      SERVICE_ID.accountGroupScId,
+      event,
+      ruleForm.value
+    );
     if (code == 0) {
       ElMessage.success(message);
       accountList();
@@ -152,12 +140,11 @@ const submitForm = async (formEl: FormInstance | undefined) => {
   await formEl.validate((valid, fields) => {
     if (valid) {
       if (dT.value == "add") {
-        ruleForm.value.event = 1;
+        saveAddAccount(1);
       } else {
         // ruleForm.value = rowIndex.value;
-        ruleForm.value.event = 2;
+        saveAddAccount(2);
       }
-      saveAddAccount();
       editDialogVisible.value = false;
     } else {
       console.log("error submit!", fields);

+ 52 - 55
src/views/userManagement/application/index.vue

@@ -14,14 +14,14 @@
     <!--新增/编辑-->
     <Dialog :flag="editDialogVisible" :msgTitle="editDialogTitle" @submitForm="submitForm(ruleFormRef)" @resetForm="resetForm(ruleFormRef)" :show-flag="true">
       <el-form ref="ruleFormRef" :model="ruleForm" label-width="110px" class="demo-ruleForm">
-        <el-form-item label="应用名称" prop="appName">
-          <el-input v-model="ruleForm.appName" size="default" placeholder="请输入应用名称" />
+        <el-form-item label="应用名称" prop="app_name">
+          <el-input v-model="ruleForm.app_name" size="default" placeholder="请输入应用名称" />
         </el-form-item>
-        <el-form-item label="appid" prop="appId">
-          <el-input v-model="ruleForm.appId" size="default" placeholder="请输入appid" />
+        <el-form-item label="appid" prop="app_show_id">
+          <el-input v-model="ruleForm.app_show_id" size="default" placeholder="请输入appid" />
         </el-form-item>
-        <el-form-item label="应用描述" prop="appDesc">
-          <el-input v-model="ruleForm.appDesc" size="default" type="textarea" :rows="3" placeholder="请输入应用描述" />
+        <el-form-item label="应用描述" prop="app_comment">
+          <el-input v-model="ruleForm.app_comment" size="default" type="textarea" :rows="3" placeholder="请输入应用描述" />
         </el-form-item>
       </el-form>
     </Dialog>
@@ -29,29 +29,14 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive } from "vue";
+import { ref, onBeforeMount } from "vue";
 import { ElMessage, FormInstance, FormRules } from "element-plus";
 import Table from "@/components/tableTemp/index.vue";
+import * as _ from "lodash";
+import table from "../hooks/useTable";
 const ruleFormRef = ref<FormInstance>();
-const tableHeader = [
-  { label: "应用名称", key: "appName" },
-  { label: "appid", key: "appId" },
-  { label: "应用描述", key: "appDesc" },
-];
-const tableData = ref([
-  {
-    id: 1,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
-  },
-  {
-    id: 2,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
-  },
-]);
+const tableHeader = ref<any>([]);
+const tableData = ref<any>([]);
 const tableBtnGroup = [
   {
     name: "编辑",
@@ -69,63 +54,75 @@ const title = ref("");
 const dT = ref("add");
 const editDialogVisible = ref(false);
 const editDialogTitle = ref("新增应用");
-const ruleForm = reactive({
-  appName: "",
-  appDesc: "",
-  appId: "",
+const ruleForm = ref<any>({
+  app_name: "",
+  app_comment: "",
+  app_show_id: "",
 });
 const rowIndex = ref(1);
+const searchInfo = ref("");
+
+onBeforeMount(() => {
+  getApp();
+});
+
+const getApp = async () => {
+  const res = await table.getTable(DATACONTENT_ID.appTableId, [
+    searchInfo.value,
+  ]);
+  tableHeader.value = res.tableHeader.value;
+  tableData.value = res.tableData.value;
+};
+
 const btnClick = (index, row, param) => {
-  rowIndex.value = index;
+  rowIndex.value = _.cloneDeep(row);
   if (param == "del") {
     flag.value = true;
-    title.value = row.appName;
+    title.value = row.app_name;
   } else {
     dT.value = "edit";
     editDialogVisible.value = true;
     editDialogTitle.value = "编辑应用";
-    ruleForm.appDesc = row.appDesc;
-    ruleForm.appName = row.appName;
-    ruleForm.appId = row.appId;
+    ruleForm.value = _.cloneDeep(row);
   }
 };
 const delRest = () => {
   flag.value = false;
 };
 const remove = () => {
-  tableData.value.splice(rowIndex.value, 1);
-  ElMessage.success("删除成功");
+  dataChange(3, rowIndex.value);
   flag.value = false;
 };
 const addApp = () => {
   editDialogVisible.value = true;
   editDialogTitle.value = "新增应用";
   dT.value = "add";
-  ruleForm.appDesc = "";
-  ruleForm.appName = "";
-  ruleForm.appId = "";
+  ruleForm.value = {};
 };
+
+//增删改
+const dataChange = async (event, data) => {
+  const { code, message } = await table.dataChange(
+    SERVICE_ID.appScId,
+    event,
+    data
+  );
+  if (code == 0) {
+    ElMessage.success(message);
+    getApp();
+  } else {
+    ElMessage.error(message);
+  }
+};
+
 const submitForm = async (formEl: FormInstance | undefined) => {
   if (!formEl) return;
   await formEl.validate((valid, fields) => {
     if (valid) {
       if (dT.value == "add") {
-        const len = tableData.value.length;
-        tableData.value.push({
-          id: len + 1,
-          appName: ruleForm.appName,
-          appDesc: ruleForm.appDesc,
-          appId: ruleForm.appId,
-        });
-        ElMessage.success("新增成功");
+        dataChange(1, ruleForm.value);
       } else {
-        tableData.value[rowIndex.value] = {
-          id: tableData.value[rowIndex.value].id,
-          appName: ruleForm.appName,
-          appDesc: ruleForm.appDesc,
-          appId: ruleForm.appId,
-        };
-        ElMessage.success("编辑成功");
+        dataChange(2, ruleForm.value);
       }
       editDialogVisible.value = false;
     } else {

+ 49 - 0
src/views/userManagement/hooks/useTable.ts

@@ -0,0 +1,49 @@
+import { ref } from 'vue'
+import { ElMessage } from 'element-plus'
+import { GeneralDataReception, Query } from '@/api/dataIntegration'
+import { IdType } from '../type'
+const tableHeader = ref<any>([])
+const tableData = ref<any>([])
+const getTable = async (id: IdType, dataContent) => {
+  try {
+    const { code, returnData, message } = await Query({
+      id: id,
+      needPage: 1,
+      dataContent: [...dataContent],
+    })
+    if (code == 0 && returnData) {
+      const { columnSet, listValues } = returnData
+      tableHeader.value = columnSet
+      tableData.value = listValues
+      return {
+        tableHeader,
+        tableData,
+      }
+    } else {
+      ElMessage.error(message)
+      return {
+        tableHeader,
+        tableData,
+      }
+    }
+  } catch (err: any) {
+    return {
+      tableHeader,
+      tableData,
+    }
+  }
+}
+
+const dataChange = async (id: IdType, event: IdType, data) => {
+  const obj = Object.assign(data, { event })
+  const { code, message } = await GeneralDataReception({
+    serviceId: id,
+    dataContent: JSON.stringify(obj),
+  })
+  return {
+    code,
+    message,
+  }
+}
+
+export default { getTable, dataChange }

+ 5 - 4
src/views/userManagement/hooks/useTree.ts

@@ -1,6 +1,7 @@
 import { Query } from '@/api/dataIntegration'
 import { translateDataToTreeAll } from '@/utils/validate'
-import { ref, onBeforeMount } from 'vue'
+import { ref } from 'vue'
+import * as _ from 'lodash'
 const dataObj = ref<any>({
   auth_id: -1,
   auth_name: '所有权限',
@@ -11,6 +12,7 @@ const dataObj = ref<any>({
   children: [] as Array<any>,
 })
 const data = ref<any>([])
+const newData = ref<any>([])
 const setTree = (arr: Array<any>, upkey = 'up_auth_id', key = 'auth_id') => {
   if (arr.length) {
     const datas = translateDataToTreeAll(arr, upkey, key)
@@ -26,6 +28,7 @@ const getTree = async () => {
       dataContent: [sessionStorage.getItem('User_Id')],
     })
     if (code == 0 && returnData.listValues) {
+      newData.value = _.cloneDeep(returnData.listValues)
       data.value = [setTree(returnData.listValues)]
       return data
     } else {
@@ -37,10 +40,8 @@ const getTree = async () => {
     return data
   }
 }
-onBeforeMount(() => {
-  getTree()
-})
 export default {
   setTree,
   getTree,
+  newData,
 }

+ 12 - 54
src/views/userManagement/role/auth.vue

@@ -80,6 +80,7 @@ import { EditRole } from "@/api/apiAuthority";
 import { Query, GeneralDataReception } from "@/api/dataIntegration";
 import { translateDataToTreeAll } from "@/utils/validate";
 import { ElMessage, ElTree } from "element-plus";
+import tree from "../hooks/useTree";
 import * as _ from "lodash";
 const route = useRoute();
 const role_id = route.query.role_id;
@@ -97,11 +98,11 @@ const form = ref({
   edit_row_condition: "",
   edit_col_condition: "",
 });
-const checkObj = ref(null);
-const data = ref([]);
-const newData = ref([]);
-const checkData = ref([]);
-const checkKeys = ref([]);
+const checkObj = ref<any>(null);
+const data = ref<any>([]);
+const newData = ref<any>([]);
+const checkData = ref<any>([]);
+const checkKeys = ref<any>([]);
 const treeRef = ref<InstanceType<typeof ElTree>>();
 onBeforeMount(() => {
   roleDetails();
@@ -118,20 +119,10 @@ watch(
         checkData.value.push(item);
         const datas = _.unionBy(checkData.value, "auth_id");
         checkData.value = datas;
-        console.log(checkData.value);
       }
     });
-    const obj = {
-      auth_id: -1,
-      auth_name: "所有权限",
-      auth_status: true,
-      up_auth_id: -1,
-      auth_type: 0,
-      disabled: true,
-      children: translateDataToTreeAll(newData.value, "up_auth_id", "auth_id"),
-    };
     checkKeys.value = [checkObj.value.auth_id];
-    data.value = [obj];
+    data.value = [tree.setTree(newData.value)];
   },
   { deep: true }
 );
@@ -153,40 +144,9 @@ const roleDetails = async () => {
 
 //权限树
 const getTree = async () => {
-  try {
-    const { code, message, returnData } = await Query({
-      id: DATACONTENT_ID.authTreeNewId,
-      dataContent: [sessionStorage.getItem("User_Id")],
-    });
-    if (code == 0 && returnData.listValues) {
-      newData.value = _.cloneDeep(returnData.listValues);
-      const obj = {
-        auth_id: -1,
-        auth_name: "所有权限",
-        auth_status: true,
-        up_auth_id: -1,
-        auth_type: 0,
-        disabled: true,
-        children: translateDataToTreeAll(
-          returnData.listValues,
-          "up_auth_id",
-          "auth_id"
-        ),
-      };
-      data.value = [obj];
-    } else {
-      const obj = {
-        auth_id: -1,
-        auth_name: "所有权限",
-        auth_status: true,
-        up_auth_id: -1,
-        auth_type: 0,
-        disabled: true,
-        children: [],
-      };
-    }
-    data.value = [obj];
-  } catch (error) {}
+  const res = await tree.getTree();
+  newData.value = await tree.newData.value;
+  data.value = res.value;
 };
 
 //权限详情
@@ -197,7 +157,7 @@ const roleAuths = async () => {
       dataContent: [role_id],
     });
     if (code == 0 && returnData.listValues) {
-      const datas = [];
+      const datas: any = [];
       returnData.listValues.forEach((item) => {
         datas.push(item.auth_id);
       });
@@ -231,9 +191,7 @@ const clearFormData = () => {
 };
 
 const currentChange = () => {
-  const datas = treeRef
-    .value!.getCheckedNodes()
-    .concat(treeRef.value!.getHalfCheckedNodes());
+  const datas = treeRef.value!.getCheckedNodes(false, true);
   console.log(datas);
 };
 

+ 20 - 29
src/views/userManagement/role/index.vue

@@ -33,11 +33,11 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive, onBeforeMount } from "vue";
+import { ref, onBeforeMount } from "vue";
 import { ElMessage, FormInstance, FormRules } from "element-plus";
 import Table from "@/components/tableTemp/index.vue";
 import Search from "@/components/search/index.vue";
-import { Query, GeneralDataReception } from "@/api/dataIntegration";
+import table from "../hooks/useTable";
 import * as _ from "lodash";
 const router = useRouter();
 const ruleFormRef = ref<FormInstance>();
@@ -65,32 +65,24 @@ const title = ref("");
 const dT = ref("add");
 const editDialogVisible = ref(false);
 const editDialogTitle = ref("新增角色");
-const ruleForm = ref({
+const ruleForm = ref<any>({
   role_name: "",
   role_comment: "",
   role_status: "",
 });
 const searchInfo = ref("");
-const rowIndex = ref({});
+const rowIndex = ref<any>({});
 onBeforeMount(() => {
   gueryRole();
 });
 
 const gueryRole = async () => {
-  try {
-    const { code, returnData, message } = await Query({
-      id: DATACONTENT_ID.roleTableNId,
-      needPage: 1,
-      dataContent: [searchInfo.value, sessionStorage.getItem("User_Id")],
-    });
-    if (code == 0 && returnData) {
-      const { columnSet, listValues } = returnData;
-      tableHeader.value = columnSet;
-      tableData.value = listValues;
-    } else {
-      ElMessage.error(message);
-    }
-  } catch (err: any) {}
+  const res = await table.getTable(DATACONTENT_ID.roleTableNId, [
+    searchInfo.value,
+    sessionStorage.getItem("User_Id"),
+  ]);
+  tableHeader.value = res.tableHeader.value;
+  tableData.value = res.tableData.value;
 };
 
 const search = (val) => {
@@ -123,10 +115,9 @@ const btnClick = (index, row, param) => {
 const delRest = () => {
   flag.value = false;
 };
-const remove = () => {
-  rowIndex.value.event = 3;
+const remove = async () => {
   rowIndex.value.operator_id = sessionStorage.getItem("User_Id");
-  saveRole(rowIndex.value);
+  saveRole(3, rowIndex.value);
   flag.value = false;
 };
 const addApp = () => {
@@ -136,12 +127,13 @@ const addApp = () => {
   ruleForm.value = {};
 };
 // 新增/编辑角色
-const saveRole = async () => {
+const saveRole = async (event, data) => {
   try {
-    const { code, message } = await GeneralDataReception({
-      serviceId: SERVICE_ID.roleMsgId,
-      dataContent: JSON.stringify(ruleForm.value),
-    });
+    const { code, message } = await table.dataChange(
+      SERVICE_ID.roleMsgId,
+      event,
+      data
+    );
     if (code == 0) {
       ElMessage.success(message);
       gueryRole();
@@ -155,13 +147,12 @@ const submitForm = async (formEl: FormInstance | undefined) => {
   await formEl.validate((valid, fields) => {
     if (valid) {
       if (dT.value == "add") {
-        ruleForm.value.event = 1;
         ruleForm.value.operator_id = sessionStorage.getItem("User_Id");
+        saveRole(1, ruleForm.value);
       } else {
-        ruleForm.value.event = 2;
         ruleForm.value.operator_id = sessionStorage.getItem("User_Id");
+        saveRole(2, ruleForm.value);
       }
-      saveRole();
       editDialogVisible.value = false;
     } else {
       console.log("error submit!", fields);

+ 1 - 0
src/views/userManagement/type.d.ts

@@ -0,0 +1 @@
+export type IdType = string | number

+ 0 - 0
src/views/userManagement/type.ts