Browse Source

update 修改代码缩进格式

LiuHao 2 years ago
parent
commit
dbfe263681

+ 78 - 69
src/views/login.vue

@@ -56,19 +56,19 @@ const userStore = useUserStore();
 const router = useRouter();
 
 const loginForm = ref<LoginData>({
-    tenantId: "000000",
-    username: 'admin',
-    password: 'admin123',
-    rememberMe: false,
-    code: '',
-    uuid: ''
+  tenantId: "000000",
+  username: 'admin',
+  password: 'admin123',
+  rememberMe: false,
+  code: '',
+  uuid: ''
 });
 
 const loginRules: ElFormRules = {
-    tenantId: [{ required: true, trigger: "blur", message: "请输入您的租户编号" }],
-    username: [{ required: true, trigger: 'blur', message: '请输入您的账号' }],
-    password: [{ required: true, trigger: 'blur', message: '请输入您的密码' }],
-    code: [{ required: true, trigger: 'change', message: '请输入验证码' }]
+  tenantId: [{ required: true, trigger: "blur", message: "请输入您的租户编号" }],
+  username: [{ required: true, trigger: 'blur', message: '请输入您的账号' }],
+  password: [{ required: true, trigger: 'blur', message: '请输入您的密码' }],
+  code: [{ required: true, trigger: 'change', message: '请输入验证码' }]
 };
 
 const codeUrl = ref('');
@@ -87,64 +87,64 @@ const loginRef = ref(ElForm);
 const tenantList = ref<TenantVO[]>([]);
 
 const handleLogin = () => {
-    loginRef.value.validate(async (valid:boolean, fields: any) => {
-        if (valid) {
-            loading.value = true;
-            // 勾选了需要记住密码设置在 cookie 中设置记住用户名和密码
-            if (loginForm.value.rememberMe) {
-                Cookies.set("tenantId", loginForm.value.tenantId, { expires: 30 });
-                Cookies.set('username', loginForm.value.username, { expires: 30 });
-                Cookies.set('password', String(encrypt(loginForm.value.password)), { expires: 30 });
-                Cookies.set('rememberMe', String(loginForm.value.rememberMe), { expires: 30 });
-            } else {
-                // 否则移除
-                Cookies.remove("tenantId");
-                Cookies.remove('username');
-                Cookies.remove('password');
-                Cookies.remove('rememberMe');
-            }
-            // 调用action的登录方法
-            // prittier-ignore
-            const [err] = await to(userStore.login(loginForm.value));
-            if (!err) {
-                await router.push({ path: redirect.value || '/' });
-            } else {
-                loading.value = false;
-                // 重新获取验证码
-                if (captchaEnabled.value) {
-                    await getCode();
-                }
-            }
-        } else {
-            console.log('error submit!', fields);
+  loginRef.value.validate(async (valid: boolean, fields: any) => {
+    if (valid) {
+      loading.value = true;
+      // 勾选了需要记住密码设置在 cookie 中设置记住用户名和密码
+      if (loginForm.value.rememberMe) {
+        Cookies.set("tenantId", loginForm.value.tenantId, { expires: 30 });
+        Cookies.set('username', loginForm.value.username, { expires: 30 });
+        Cookies.set('password', String(encrypt(loginForm.value.password)), { expires: 30 });
+        Cookies.set('rememberMe', String(loginForm.value.rememberMe), { expires: 30 });
+      } else {
+        // 否则移除
+        Cookies.remove("tenantId");
+        Cookies.remove('username');
+        Cookies.remove('password');
+        Cookies.remove('rememberMe');
+      }
+      // 调用action的登录方法
+      // prittier-ignore
+      const [err] = await to(userStore.login(loginForm.value));
+      if (!err) {
+        await router.push({ path: redirect.value || '/' });
+      } else {
+        loading.value = false;
+        // 重新获取验证码
+        if (captchaEnabled.value) {
+          await getCode();
         }
-    });
+      }
+    } else {
+      console.log('error submit!', fields);
+    }
+  });
 };
 
 /**
  * 获取验证码
  */
 const getCode = async () => {
-    const res = await getCodeImg();
-    const { data } = res;
-    captchaEnabled.value = data.captchaEnabled === undefined ? true : data.captchaEnabled;
-    if (captchaEnabled.value) {
-        codeUrl.value = 'data:image/gif;base64,' + data.img;
-        loginForm.value.uuid = data.uuid;
-    }
+  const res = await getCodeImg();
+  const { data } = res;
+  captchaEnabled.value = data.captchaEnabled === undefined ? true : data.captchaEnabled;
+  if (captchaEnabled.value) {
+    codeUrl.value = 'data:image/gif;base64,' + data.img;
+    loginForm.value.uuid = data.uuid;
+  }
 };
 
 const getCookie = () => {
-    const tenantId = Cookies.get("tenantId");
-    const username = Cookies.get('username');
-    const password = Cookies.get('password');
-    const rememberMe = Cookies.get('rememberMe');
-    loginForm.value = {
-        tenantId: tenantId === undefined ? loginForm.value.tenantId : tenantId,
-        username: username === undefined ? loginForm.value.username : username,
-        password: password === undefined ? loginForm.value.password : (decrypt(password) as string),
-        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
-    };
+  const tenantId = Cookies.get("tenantId");
+  const username = Cookies.get('username');
+  const password = Cookies.get('password');
+  const rememberMe = Cookies.get('rememberMe');
+  loginForm.value = {
+    tenantId: tenantId === undefined ? loginForm.value.tenantId : tenantId,
+    username: username === undefined ? loginForm.value.username : username,
+    password: password === undefined ? loginForm.value.password : (decrypt(password) as string),
+    rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
+  };
 }
 
 
@@ -152,20 +152,20 @@ const getCookie = () => {
  * 获取租户列表
  */
 const initTenantList = async () => {
-    const { data } = await getTenantList();
-    tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled;
-    if (tenantEnabled.value) {
-        tenantList.value = data.voList;
-        if (tenantList.value != null && tenantList.value.length !== 0) {
-            loginForm.value.tenantId = tenantList.value[0].tenantId;
-        }
+  const { data } = await getTenantList();
+  tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled;
+  if (tenantEnabled.value) {
+    tenantList.value = data.voList;
+    if (tenantList.value != null && tenantList.value.length !== 0) {
+      loginForm.value.tenantId = tenantList.value[0].tenantId;
     }
+  }
 }
 
 onMounted(() => {
-    getCode();
-    initTenantList();
-    getCookie();
+  getCode();
+  initTenantList();
+  getCookie();
 });
 </script>
 
@@ -178,6 +178,7 @@ onMounted(() => {
   background-image: url("../assets/images/login-background.jpg");
   background-size: cover;
 }
+
 .title {
   margin: 0px auto 30px auto;
   text-align: center;
@@ -189,32 +190,39 @@ onMounted(() => {
   background: #ffffff;
   width: 400px;
   padding: 25px 25px 5px 25px;
+
   .el-input {
     height: 40px;
+
     input {
       height: 40px;
     }
   }
+
   .input-icon {
     height: 39px;
     width: 14px;
     margin-left: 0px;
   }
 }
+
 .login-tip {
   font-size: 13px;
   text-align: center;
   color: #bfbfbf;
 }
+
 .login-code {
   width: 33%;
   height: 40px;
   float: right;
+
   img {
     cursor: pointer;
     vertical-align: middle;
   }
 }
+
 .el-login-footer {
   height: 40px;
   line-height: 40px;
@@ -223,10 +231,11 @@ onMounted(() => {
   width: 100%;
   text-align: center;
   color: #fff;
-  font-family: Arial,serif;
+  font-family: Arial, serif;
   font-size: 12px;
   letter-spacing: 1px;
 }
+
 .login-code-img {
   height: 40px;
   padding-left: 12px;

+ 61 - 61
src/views/register.vue

@@ -63,13 +63,13 @@ import { to } from 'await-to-js';
 const router = useRouter();
 
 const registerForm = ref<RegisterForm>({
-    tenantId: "",
-    username: "",
-    password: "",
-    confirmPassword: "",
-    code: "",
-    uuid: "",
-    userType: "sys_user"
+  tenantId: "",
+  username: "",
+  password: "",
+  confirmPassword: "",
+  code: "",
+  uuid: "",
+  userType: "sys_user"
 });
 
 // 租户开关
@@ -77,30 +77,30 @@ const tenantEnabled = ref(true);
 
 
 const equalToPassword = (rule: any, value: string, callback: any) => {
-    if (registerForm.value.password !== value) {
-        callback(new Error("两次输入的密码不一致"));
-    } else {
-        callback();
-    }
+  if (registerForm.value.password !== value) {
+    callback(new Error("两次输入的密码不一致"));
+  } else {
+    callback();
+  }
 };
 
 const registerRules: ElFormRules = {
-    tenantId: [
-        { required: true, trigger: "blur", message: "请输入您的租户编号" }
-    ],
-    username: [
-        { required: true, trigger: "blur", message: "请输入您的账号" },
-        { min: 2, max: 20, message: "用户账号长度必须介于 2 和 20 之间", trigger: "blur" }
-    ],
-    password: [
-        { required: true, trigger: "blur", message: "请输入您的密码" },
-        { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }
-    ],
-    confirmPassword: [
-        { required: true, trigger: "blur", message: "请再次输入您的密码" },
-        { required: true, validator: equalToPassword, trigger: "blur" }
-    ],
-    code: [{ required: true, trigger: "change", message: "请输入验证码" }]
+  tenantId: [
+    { required: true, trigger: "blur", message: "请输入您的租户编号" }
+  ],
+  username: [
+    { required: true, trigger: "blur", message: "请输入您的账号" },
+    { min: 2, max: 20, message: "用户账号长度必须介于 2 和 20 之间", trigger: "blur" }
+  ],
+  password: [
+    { required: true, trigger: "blur", message: "请输入您的密码" },
+    { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }
+  ],
+  confirmPassword: [
+    { required: true, trigger: "blur", message: "请再次输入您的密码" },
+    { required: true, validator: equalToPassword, trigger: "blur" }
+  ],
+  code: [{ required: true, trigger: "change", message: "请输入验证码" }]
 };
 const codeUrl = ref("");
 const loading = ref(false);
@@ -110,50 +110,50 @@ const registerRef = ref(ElForm);
 const tenantList = ref<TenantVO[]>([]);
 
 const handleRegister = () => {
-    registerRef.value.validate(async (valid: boolean) => {
-        if (valid) {
-            loading.value = true;
-            const [err] = await to(register(registerForm.value));
-            if (!err) {
-                const username = registerForm.value.username;
-                await ElMessageBox.alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", "系统提示", {
-                    dangerouslyUseHTMLString: true,
-                    type: "success",
-                });
-                await router.push("/login");
-            } else {
-                loading.value = false;
-                if (captchaEnabled) {
-                    getCode();
-                }
-            }
+  registerRef.value.validate(async (valid: boolean) => {
+    if (valid) {
+      loading.value = true;
+      const [err] = await to(register(registerForm.value));
+      if (!err) {
+        const username = registerForm.value.username;
+        await ElMessageBox.alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", "系统提示", {
+          dangerouslyUseHTMLString: true,
+          type: "success",
+        });
+        await router.push("/login");
+      } else {
+        loading.value = false;
+        if (captchaEnabled) {
+          getCode();
         }
-    });
+      }
+    }
+  });
 }
 
 const getCode = async () => {
-    const { data } = await getCodeImg();
-    captchaEnabled.value = data.captchaEnabled === undefined ? true : data.captchaEnabled;
-    if (captchaEnabled.value) {
-        codeUrl.value = "data:image/gif;base64," + data.img;
-        registerForm.value.uuid = data.uuid;
-    }
+  const { data } = await getCodeImg();
+  captchaEnabled.value = data.captchaEnabled === undefined ? true : data.captchaEnabled;
+  if (captchaEnabled.value) {
+    codeUrl.value = "data:image/gif;base64," + data.img;
+    registerForm.value.uuid = data.uuid;
+  }
 }
 
 const initTenantList = async () => {
-    const { data } = await getTenantList();
-    tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled;
-    if (tenantEnabled.value) {
-        tenantList.value = data.voList;
-        if (tenantList.value != null && tenantList.value.length !== 0) {
-            registerForm.value.tenantId = tenantList.value[0].tenantId;
-        }
+  const { data } = await getTenantList();
+  tenantEnabled.value = data.tenantEnabled === undefined ? true : data.tenantEnabled;
+  if (tenantEnabled.value) {
+    tenantList.value = data.voList;
+    if (tenantList.value != null && tenantList.value.length !== 0) {
+      registerForm.value.tenantId = tenantList.value[0].tenantId;
     }
+  }
 }
 
 onMounted(() => {
-    getCode();
-    initTenantList();
+  getCode();
+  initTenantList();
 })
 </script>
 

+ 92 - 92
src/views/system/dept/index.vue

@@ -135,9 +135,9 @@ import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild }
 import { DeptForm, DeptQuery, DeptVO } from "@/api/system/dept/types";
 
 interface DeptOptionsType {
-    deptId: number | string;
-    deptName: string;
-    children: DeptOptionsType[];
+  deptId: number | string;
+  deptName: string;
+  children: DeptOptionsType[];
 
 }
 
@@ -152,8 +152,8 @@ const isExpandAll = ref(true)
 
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const deptTableRef = ref<ElTableInstance>();
@@ -161,137 +161,137 @@ const queryFormRef = ref<ElFormInstance>();
 const deptFormRef = ref<ElFormInstance>();
 
 const initFormData: DeptForm = {
-    deptId: undefined,
-    parentId: undefined,
-    deptName: undefined,
-    orderNum: 0,
-    leader: undefined,
-    phone: undefined,
-    email: undefined,
-    status: "0"
+  deptId: undefined,
+  parentId: undefined,
+  deptName: undefined,
+  orderNum: 0,
+  leader: undefined,
+  phone: undefined,
+  email: undefined,
+  status: "0"
 }
 const data = reactive<PageData<DeptForm, DeptQuery>>({
-    form: {...initFormData},
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        deptName: undefined,
-        status: undefined
-    },
-    rules: {
-        parentId: [{ required: true, message: "上级部门不能为空", trigger: "blur" }],
-        deptName: [{ required: true, message: "部门名称不能为空", trigger: "blur" }],
-        orderNum: [{ required: true, message: "显示排序不能为空", trigger: "blur" }],
-        email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
-        phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
-    },
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    deptName: undefined,
+    status: undefined
+  },
+  rules: {
+    parentId: [{ required: true, message: "上级部门不能为空", trigger: "blur" }],
+    deptName: [{ required: true, message: "部门名称不能为空", trigger: "blur" }],
+    orderNum: [{ required: true, message: "显示排序不能为空", trigger: "blur" }],
+    email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
+    phone: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
+  },
 })
 
 const { queryParams, form, rules } = toRefs<PageData<DeptForm, DeptQuery>>(data)
 
 /** 查询菜单列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listDept(queryParams.value);
-    const data = proxy?.handleTree<DeptVO>(res.data, "deptId")
-    if (data) {
-        deptList.value = data
-    }
-    loading.value = false
+  loading.value = true;
+  const res = await listDept(queryParams.value);
+  const data = proxy?.handleTree<DeptVO>(res.data, "deptId")
+  if (data) {
+    deptList.value = data
+  }
+  loading.value = false
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset()
-    dialog.visible = false
+  reset()
+  dialog.visible = false
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = {...initFormData};
-    deptFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  deptFormRef.value?.resetFields();
 }
 
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    getList();
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery()
+  queryFormRef.value?.resetFields();
+  handleQuery()
 }
 /** 新增按钮操作 */
 const handleAdd = (row?: DeptVO) => {
-    listDept().then(res => {
-        const data = proxy?.handleTree<DeptOptionsType>(res.data, "deptId");
-        if (data) {
-            deptOptions.value = data
-            dialog.visible = true;
-            dialog.title = "添加部门";
-            nextTick(() => {
-                reset();
-                if (row && row.deptId) {
-                    form.value.parentId = row?.deptId;
-                }
-            })
+  listDept().then(res => {
+    const data = proxy?.handleTree<DeptOptionsType>(res.data, "deptId");
+    if (data) {
+      deptOptions.value = data
+      dialog.visible = true;
+      dialog.title = "添加部门";
+      nextTick(() => {
+        reset();
+        if (row && row.deptId) {
+          form.value.parentId = row?.deptId;
         }
-    })
+      })
+    }
+  })
 }
 /** 展开/折叠操作 */
 const handleToggleExpandAll = () => {
-    isExpandAll.value = !isExpandAll.value;
-    toggleExpandAll(deptList.value, isExpandAll.value)
+  isExpandAll.value = !isExpandAll.value;
+  toggleExpandAll(deptList.value, isExpandAll.value)
 }
 /** 展开/折叠所有 */
 const toggleExpandAll = (data: DeptVO[], status: boolean) => {
-    data.forEach((item) => {
-        deptTableRef.value?.toggleRowExpansion(item, status)
-        if(item.children && item.children.length > 0) toggleExpandAll(item.children, status)
-    })
+  data.forEach((item) => {
+    deptTableRef.value?.toggleRowExpansion(item, status)
+    if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
+  })
 }
 
 /** 修改按钮操作 */
 const handleUpdate = async (row: DeptVO) => {
-    const res = await getDept(row.deptId);
-    dialog.visible = true;
-    dialog.title = "修改部门";
-    await nextTick(async () => {
-      reset();
-      form.value = res.data
-      const response = await listDeptExcludeChild(row.deptId);
-      const data = proxy?.handleTree < DeptOptionsType > (response.data, "deptId")
-      if (data) {
-        deptOptions.value = data;
-        if (data.length === 0) {
-          const noResultsOptions: DeptOptionsType = {
-            deptId: res.data.parentId,
-            deptName: res.data.parentName,
-            children: []
-          };
-          deptOptions.value.push(noResultsOptions);
-        }
+  const res = await getDept(row.deptId);
+  dialog.visible = true;
+  dialog.title = "修改部门";
+  await nextTick(async () => {
+    reset();
+    form.value = res.data
+    const response = await listDeptExcludeChild(row.deptId);
+    const data = proxy?.handleTree<DeptOptionsType>(response.data, "deptId")
+    if (data) {
+      deptOptions.value = data;
+      if (data.length === 0) {
+        const noResultsOptions: DeptOptionsType = {
+          deptId: res.data.parentId,
+          deptName: res.data.parentName,
+          children: []
+        };
+        deptOptions.value.push(noResultsOptions);
       }
-    })
+    }
+  })
 }
 /** 提交按钮 */
 const submitForm = () => {
-    deptFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.deptId ? await updateDept(form.value) : await addDept(form.value);
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            await getList();
-        }
-    })
+  deptFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.deptId ? await updateDept(form.value) : await addDept(form.value);
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      await getList();
+    }
+  })
 }
 /** 删除按钮操作 */
 const handleDelete = async (row: DeptVO) => {
-    await proxy?.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?');
-    await delDept(row.deptId);
-    await getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  await proxy?.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?');
+  await delDept(row.deptId);
+  await getList();
+  proxy?.$modal.msgSuccess("删除成功");
 }
 
 onMounted(() => {
-    getList();
+  getList();
 });
 </script>

+ 89 - 89
src/views/system/dict/data.vue

@@ -159,154 +159,154 @@ const queryFormRef = ref<ElFormInstance>();
 
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 // 数据标签回显样式
 const listClassOptions = ref<Array<{ value: string, label: string }>>([
-    { value: "default", label: "默认" },
-    { value: "primary", label: "主要" },
-    { value: "success", label: "成功" },
-    { value: "info", label: "信息" },
-    { value: "warning", label: "警告" },
-    { value: "danger", label: "危险" }
+  { value: "default", label: "默认" },
+  { value: "primary", label: "主要" },
+  { value: "success", label: "成功" },
+  { value: "info", label: "信息" },
+  { value: "warning", label: "警告" },
+  { value: "danger", label: "危险" }
 ]);
 
 const initFormData: DictDataForm = {
-    dictCode: undefined,
-    dictLabel: '',
-    dictValue: '',
-    cssClass: '',
-    listClass: "default",
-    dictSort: 0,
-    status: "0",
-    remark: ''
+  dictCode: undefined,
+  dictLabel: '',
+  dictValue: '',
+  cssClass: '',
+  listClass: "default",
+  dictSort: 0,
+  status: "0",
+  remark: ''
 }
 const data = reactive<PageData<DictDataForm, DictDataQuery>>({
-    form: { ...initFormData },
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        dictName: '',
-        dictType: '',
-        status: '',
-        dictLabel: ''
-    },
-    rules: {
-        dictLabel: [{ required: true, message: "数据标签不能为空", trigger: "blur" }],
-        dictValue: [{ required: true, message: "数据键值不能为空", trigger: "blur" }],
-        dictSort: [{ required: true, message: "数据顺序不能为空", trigger: "blur" }]
-    }
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    dictName: '',
+    dictType: '',
+    status: '',
+    dictLabel: ''
+  },
+  rules: {
+    dictLabel: [{ required: true, message: "数据标签不能为空", trigger: "blur" }],
+    dictValue: [{ required: true, message: "数据键值不能为空", trigger: "blur" }],
+    dictSort: [{ required: true, message: "数据顺序不能为空", trigger: "blur" }]
+  }
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
 /** 查询字典类型详细 */
 const getTypes = async (dictId: string | number) => {
-    const { data } = await getType(dictId);
-    queryParams.value.dictType = data.dictType;
-    defaultDictType.value = data.dictType;
-    getList();
+  const { data } = await getType(dictId);
+  queryParams.value.dictType = data.dictType;
+  defaultDictType.value = data.dictType;
+  getList();
 }
 
 /** 查询字典类型列表 */
 const getTypeList = async () => {
-    const res = await getDictOptionselect()
-    typeOptions.value = res.data;
+  const res = await getDictOptionselect()
+  typeOptions.value = res.data;
 }
 /** 查询字典数据列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listData(queryParams.value);
-    dataList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listData(queryParams.value);
+  dataList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 /** 取消按钮 */
 const cancel = () => {
-    dialog.visible = false;
-    reset();
+  dialog.visible = false;
+  reset();
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = { ...initFormData };
-    dataFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  dataFormRef.value?.resetFields();
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 返回按钮操作 */
 const handleClose = () => {
-    const obj = { path: "/system/dict" };
-    proxy?.$tab.closeOpenPage(obj);
+  const obj = { path: "/system/dict" };
+  proxy?.$tab.closeOpenPage(obj);
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    queryParams.value.dictType = defaultDictType.value;
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  queryParams.value.dictType = defaultDictType.value;
+  handleQuery();
 }
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加字典数据";
-    nextTick(() => {
-        reset();
-        form.value.dictType = queryParams.value.dictType;
-    })
+  dialog.visible = true;
+  dialog.title = "添加字典数据";
+  nextTick(() => {
+    reset();
+    form.value.dictType = queryParams.value.dictType;
+  })
 }
 /** 多选框选中数据 */
 const handleSelectionChange = (selection: DictDataVO[]) => {
-    ids.value = selection.map(item => item.dictCode);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.dictCode);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 修改按钮操作 */
 const handleUpdate = (row?: DictDataVO) => {
-    const dictCode = row?.dictCode || ids.value[0];
-    dialog.visible = true;
-    dialog.title = "修改字典数据";
-    nextTick(async () => {
-        const res =  await getData(dictCode);
-        reset();
-        form.value = res.data;
-    })
+  const dictCode = row?.dictCode || ids.value[0];
+  dialog.visible = true;
+  dialog.title = "修改字典数据";
+  nextTick(async () => {
+    const res = await getData(dictCode);
+    reset();
+    form.value = res.data;
+  })
 }
 /** 提交按钮 */
 const submitForm = () => {
-    dataFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.dictCode ? await updateData(form.value) : await addData(form.value);
-            useDictStore().removeDict(queryParams.value.dictType);
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            await getList();
+  dataFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.dictCode ? await updateData(form.value) : await addData(form.value);
+      useDictStore().removeDict(queryParams.value.dictType);
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      await getList();
 
-        }
-    });
+    }
+  });
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: DictDataVO) => {
-    const dictCodes = row?.dictCode || ids.value;
-    await proxy?.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?');
-    await delData(dictCodes);
-    await getList();
-    proxy?.$modal.msgSuccess("删除成功");
-    useDictStore().removeDict(queryParams.value.dictType);
+  const dictCodes = row?.dictCode || ids.value;
+  await proxy?.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?');
+  await delData(dictCodes);
+  await getList();
+  proxy?.$modal.msgSuccess("删除成功");
+  useDictStore().removeDict(queryParams.value.dictType);
 
 }
 /** 导出按钮操作 */
 const handleExport = () => {
-    proxy?.download("system/dict/data/export", {
-        ...queryParams.value
-    }, `dict_data_${new Date().getTime()}.xlsx`);
+  proxy?.download("system/dict/data/export", {
+    ...queryParams.value
+  }, `dict_data_${new Date().getTime()}.xlsx`);
 }
 
 onMounted(() => {
-    getTypes(route.params && route.params.dictId as string);
-    getTypeList();
+  getTypes(route.params && route.params.dictId as string);
+  getTypeList();
 })
 </script>

+ 72 - 72
src/views/system/dict/index.vue

@@ -144,123 +144,123 @@ const queryFormRef = ref<ElFormInstance>();
 
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const initFormData: DictTypeForm = {
-    dictId: undefined,
-    dictName: '',
-    dictType: '',
-    status: "0",
-    remark: ''
+  dictId: undefined,
+  dictName: '',
+  dictType: '',
+  status: "0",
+  remark: ''
 }
 const data = reactive<PageData<DictTypeForm, DictTypeQuery>>({
-    form: {...initFormData},
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        dictName: '',
-        dictType: '',
-        status: ''
-    },
-    rules: {
-        dictName: [{ required: true, message: "字典名称不能为空", trigger: "blur" }],
-        dictType: [{ required: true, message: "字典类型不能为空", trigger: "blur" }]
-    },
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    dictName: '',
+    dictType: '',
+    status: ''
+  },
+  rules: {
+    dictName: [{ required: true, message: "字典名称不能为空", trigger: "blur" }],
+    dictType: [{ required: true, message: "字典类型不能为空", trigger: "blur" }]
+  },
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
 /** 查询字典类型列表 */
 const getList = () => {
-    loading.value = true;
-    listType(proxy?.addDateRange(queryParams.value, dateRange.value)).then(res => {
-        typeList.value = res.rows;
-        total.value = res.total;
-        loading.value = false;
-    });
+  loading.value = true;
+  listType(proxy?.addDateRange(queryParams.value, dateRange.value)).then(res => {
+    typeList.value = res.rows;
+    total.value = res.total;
+    loading.value = false;
+  });
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = {...initFormData};
-    dictFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  dictFormRef.value?.resetFields();
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    dateRange.value = ['', ''];
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  dateRange.value = ['', ''];
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加字典类型";
-    nextTick(() => {
-        reset();
-    })
+  dialog.visible = true;
+  dialog.title = "添加字典类型";
+  nextTick(() => {
+    reset();
+  })
 }
 /** 多选框选中数据 */
-const handleSelectionChange = (selection: DictTypeVO[]) =>  {
-    ids.value = selection.map(item => item.dictId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+const handleSelectionChange = (selection: DictTypeVO[]) => {
+  ids.value = selection.map(item => item.dictId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 修改按钮操作 */
 const handleUpdate = (row?: DictTypeVO) => {
-    dialog.visible = true;
-    dialog.title = "修改字典类型";
-    const dictId = row?.dictId || ids.value[0];
-    nextTick(async () => {
-        reset();
-        const res = await getType(dictId);
-        form.value = res.data;
-    })
+  dialog.visible = true;
+  dialog.title = "修改字典类型";
+  const dictId = row?.dictId || ids.value[0];
+  nextTick(async () => {
+    reset();
+    const res = await getType(dictId);
+    form.value = res.data;
+  })
 
 }
 /** 提交按钮 */
 const submitForm = () => {
-    dictFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.dictId ? await updateType(form.value) : await addType(form.value);
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            getList();
-        }
-    });
+  dictFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.dictId ? await updateType(form.value) : await addType(form.value);
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      getList();
+    }
+  });
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: DictTypeVO) => {
-    const dictIds = row?.dictId || ids.value;
-    await proxy?.$modal.confirm('是否确认删除字典编号为"' + dictIds + '"的数据项?');
-    await delType(dictIds);
-    getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  const dictIds = row?.dictId || ids.value;
+  await proxy?.$modal.confirm('是否确认删除字典编号为"' + dictIds + '"的数据项?');
+  await delType(dictIds);
+  getList();
+  proxy?.$modal.msgSuccess("删除成功");
 }
 /** 导出按钮操作 */
 const handleExport = () => {
-    proxy?.download("system/dict/type/export", {
-        ...queryParams.value
-    }, `dict_${new Date().getTime()}.xlsx`);
+  proxy?.download("system/dict/type/export", {
+    ...queryParams.value
+  }, `dict_${new Date().getTime()}.xlsx`);
 }
 /** 刷新缓存按钮操作 */
 const handleRefreshCache = async () => {
-    await refreshCache();
-    proxy?.$modal.msgSuccess("刷新成功");
-    useDictStore().cleanDict();
+  await refreshCache();
+  proxy?.$modal.msgSuccess("刷新成功");
+  useDictStore().cleanDict();
 }
 
-onMounted(()=>{
-    getList();
+onMounted(() => {
+  getList();
 })
 </script>

+ 81 - 81
src/views/system/menu/index.vue

@@ -266,9 +266,9 @@ import { MenuForm, MenuQuery, MenuVO } from '@/api/system/menu/types';
 import { MenuTypeEnum } from '@/enums/MenuTypeEnum';
 
 interface MenuOptionsType {
-    menuId: number;
-    menuName: string;
-    children: MenuOptionsType[] | undefined;
+  menuId: number;
+  menuName: string;
+  children: MenuOptionsType[] | undefined;
 }
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance
@@ -281,36 +281,36 @@ const menuOptions = ref<MenuOptionsType[]>([])
 const isExpandAll = ref(false)
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const queryFormRef = ref<ElFormInstance>();
 const menuFormRef = ref<ElFormInstance>();
 const initFormData = {
-    path: '',
-    menuId: undefined,
-    parentId: 0,
-    menuName: '',
-    icon: '',
-    menuType: MenuTypeEnum.M,
-    orderNum: 1,
-    isFrame: "1",
-    isCache: "0",
-    visible: "0",
-    status: "0"
+  path: '',
+  menuId: undefined,
+  parentId: 0,
+  menuName: '',
+  icon: '',
+  menuType: MenuTypeEnum.M,
+  orderNum: 1,
+  isFrame: "1",
+  isCache: "0",
+  visible: "0",
+  status: "0"
 }
 const data = reactive<PageData<MenuForm, MenuQuery>>({
-    form: { ...initFormData },
-    queryParams: {
-        menuName: undefined,
-        status: undefined
-    },
-    rules: {
-        menuName: [{ required: true, message: "菜单名称不能为空", trigger: "blur" }],
-        orderNum: [{ required: true, message: "菜单顺序不能为空", trigger: "blur" }],
-        path: [{ required: true, message: "路由地址不能为空", trigger: "blur" }]
-    },
+  form: { ...initFormData },
+  queryParams: {
+    menuName: undefined,
+    status: undefined
+  },
+  rules: {
+    menuName: [{ required: true, message: "菜单名称不能为空", trigger: "blur" }],
+    orderNum: [{ required: true, message: "菜单顺序不能为空", trigger: "blur" }],
+    path: [{ required: true, message: "路由地址不能为空", trigger: "blur" }]
+  },
 })
 
 const menuTableRef = ref<ElTableInstance>();
@@ -318,99 +318,99 @@ const menuTableRef = ref<ElTableInstance>();
 const { queryParams, form, rules } = toRefs<PageData<MenuForm, MenuQuery>>(data)
 /** 查询菜单列表 */
 const getList = async () => {
-    loading.value = true
-    const res = await listMenu(queryParams.value);
-    const data = proxy?.handleTree<MenuVO>(res.data, "menuId")
-    if (data) {
-        menuList.value = data
-    }
-    loading.value = false
+  loading.value = true
+  const res = await listMenu(queryParams.value);
+  const data = proxy?.handleTree<MenuVO>(res.data, "menuId")
+  if (data) {
+    menuList.value = data
+  }
+  loading.value = false
 }
 /** 查询菜单下拉树结构 */
 const getTreeselect = async () => {
-    menuOptions.value = []
-    const response = await listMenu();
-    const menu: MenuOptionsType = { menuId: 0, menuName: "主类目", children: [] }
-    menu.children = proxy?.handleTree<MenuOptionsType>(response.data, "menuId")
-    menuOptions.value.push(menu)
+  menuOptions.value = []
+  const response = await listMenu();
+  const menu: MenuOptionsType = { menuId: 0, menuName: "主类目", children: [] }
+  menu.children = proxy?.handleTree<MenuOptionsType>(response.data, "menuId")
+  menuOptions.value.push(menu)
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset()
-    dialog.visible = false
+  reset()
+  dialog.visible = false
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = { ...initFormData };
-    menuFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  menuFormRef.value?.resetFields();
 }
 
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    getList();
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 新增按钮操作 */
 const handleAdd = (row?: MenuVO) => {
-    dialog.visible = true;
-    dialog.title = "添加菜单";
-    getTreeselect();
-    nextTick(() => {
-        reset();
-        row && row.menuId ? form.value.parentId = row.menuId : form.value.parentId = 0;
-    })
+  dialog.visible = true;
+  dialog.title = "添加菜单";
+  getTreeselect();
+  nextTick(() => {
+    reset();
+    row && row.menuId ? form.value.parentId = row.menuId : form.value.parentId = 0;
+  })
 
 }
 /** 展开/折叠操作 */
 const handleToggleExpandAll = () => {
-    isExpandAll.value = !isExpandAll.value;
-    toggleExpandAll(menuList.value, isExpandAll.value)
+  isExpandAll.value = !isExpandAll.value;
+  toggleExpandAll(menuList.value, isExpandAll.value)
 }
 /** 展开/折叠所有 */
 const toggleExpandAll = (data: MenuVO[], status: boolean) => {
-    data.forEach((item: MenuVO) => {
-        menuTableRef.value?.toggleRowExpansion(item, status)
-        if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
-    })
+  data.forEach((item: MenuVO) => {
+    menuTableRef.value?.toggleRowExpansion(item, status)
+    if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
+  })
 }
 /** 修改按钮操作 */
 const handleUpdate = async (row: MenuVO) => {
-    await getTreeselect();
-    dialog.visible = true;
-    dialog.title = "修改菜单";
-    await nextTick(async () => {
-        if (row.menuId) {
-            const { data } = await getMenu(row.menuId);
-            reset();
-            form.value = data;
-        }
-    })
+  await getTreeselect();
+  dialog.visible = true;
+  dialog.title = "修改菜单";
+  await nextTick(async () => {
+    if (row.menuId) {
+      const { data } = await getMenu(row.menuId);
+      reset();
+      form.value = data;
+    }
+  })
 
 }
 /** 提交按钮 */
 const submitForm = () => {
-    menuFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.menuId ? await updateMenu(form.value) : await addMenu(form.value);
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            await getList();
-        }
-    })
+  menuFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.menuId ? await updateMenu(form.value) : await addMenu(form.value);
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      await getList();
+    }
+  })
 }
 /** 删除按钮操作 */
 const handleDelete = async (row: MenuVO) => {
-    await proxy?.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?');
-    await delMenu(row.menuId);
-    await getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  await proxy?.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?');
+  await delMenu(row.menuId);
+  await getList();
+  proxy?.$modal.msgSuccess("删除成功");
 }
 
 onMounted(() => {
-    getList();
+  getList();
 });
 </script>

+ 65 - 65
src/views/system/notice/index.vue

@@ -139,111 +139,111 @@ const noticeFormRef = ref<ElFormInstance>();
 
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const initFormData: NoticeForm = {
-    noticeId: undefined,
-    noticeTitle: '',
-    noticeType: '',
-    noticeContent: '',
-    status: "0",
-    remark: '',
-    createByName: ''
+  noticeId: undefined,
+  noticeTitle: '',
+  noticeType: '',
+  noticeContent: '',
+  status: "0",
+  remark: '',
+  createByName: ''
 }
 const data = reactive<PageData<NoticeForm, NoticeQuery>>({
-    form: { ...initFormData },
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        noticeTitle: '',
-        createByName: '',
-        status: '',
-        noticeType: ''
-    },
-    rules: {
-        noticeTitle: [{ required: true, message: "公告标题不能为空", trigger: "blur" }],
-        noticeType: [{ required: true, message: "公告类型不能为空", trigger: "change" }]
-    },
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    noticeTitle: '',
+    createByName: '',
+    status: '',
+    noticeType: ''
+  },
+  rules: {
+    noticeTitle: [{ required: true, message: "公告标题不能为空", trigger: "blur" }],
+    noticeType: [{ required: true, message: "公告类型不能为空", trigger: "change" }]
+  },
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
 /** 查询公告列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listNotice(queryParams.value);
-    noticeList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listNotice(queryParams.value);
+  noticeList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = { ...initFormData };
-    noticeFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  noticeFormRef.value?.resetFields();
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 多选框选中数据 */
 const handleSelectionChange = (selection: NoticeVO[]) => {
-    ids.value = selection.map(item => item.noticeId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.noticeId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加公告";
-    nextTick(() => {
-        reset();
-    })
+  dialog.visible = true;
+  dialog.title = "添加公告";
+  nextTick(() => {
+    reset();
+  })
 }
 /**修改按钮操作 */
 const handleUpdate = (row?: NoticeVO) => {
-    dialog.visible = true;
-    dialog.title = "修改公告";
-    nextTick(async () => {
-        const noticeId = row?.noticeId || ids.value[0];
-        reset();
-        const { data } = await getNotice(noticeId);
-        form.value = data;
-    })
+  dialog.visible = true;
+  dialog.title = "修改公告";
+  nextTick(async () => {
+    const noticeId = row?.noticeId || ids.value[0];
+    reset();
+    const { data } = await getNotice(noticeId);
+    form.value = data;
+  })
 }
 /** 提交按钮 */
 const submitForm = () => {
-    noticeFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.noticeId ? await updateNotice(form.value) : await addNotice(form.value);
-            proxy?.$modal.msgSuccess("修改成功");
-            dialog.visible = false;
-            await getList();
-        }
-    });
+  noticeFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.noticeId ? await updateNotice(form.value) : await addNotice(form.value);
+      proxy?.$modal.msgSuccess("修改成功");
+      dialog.visible = false;
+      await getList();
+    }
+  });
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: NoticeVO) => {
-    const noticeIds = row?.noticeId || ids.value
-    await proxy?.$modal.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?');
-    await delNotice(noticeIds);
-    await getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  const noticeIds = row?.noticeId || ids.value
+  await proxy?.$modal.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?');
+  await delNotice(noticeIds);
+  await getList();
+  proxy?.$modal.msgSuccess("删除成功");
 }
 
 onMounted(() => {
-    getList();
+  getList();
 })
 </script>

+ 140 - 140
src/views/system/oss/config.vue

@@ -133,12 +133,12 @@
 
 <script setup name="OssConfig" lang="ts">
 import {
-    listOssConfig,
-    getOssConfig,
-    delOssConfig,
-    addOssConfig,
-    updateOssConfig,
-    changeOssConfigStatus
+  listOssConfig,
+  getOssConfig,
+  delOssConfig,
+  addOssConfig,
+  updateOssConfig,
+  changeOssConfigStatus
 } from "@/api/system/ossConfig";
 import { OssConfigForm, OssConfigQuery, OssConfigVO } from "@/api/system/ossConfig/types";
 
@@ -159,189 +159,189 @@ const queryFormRef = ref<ElFormInstance>();
 const ossConfigFormRef = ref<ElFormInstance>();
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 // 列显隐信息
 const columns = ref<FieldOption[]>([
-    { key: 0, label: `主建`, visible: true },
-    { key: 1, label: `配置key`, visible: false },
-    { key: 2, label: `访问站点`, visible: true },
-    { key: 3, label: `自定义域名`, visible: true },
-    { key: 4, label: `桶名称`, visible: true },
-    { key: 5, label: `前缀`, visible: true },
-    { key: 6, label: `域`, visible: true },
-    { key: 7, label: `桶权限类型`, visible: true },
-    { key: 8, label: `状态`, visible: true }
+  { key: 0, label: `主建`, visible: true },
+  { key: 1, label: `配置key`, visible: false },
+  { key: 2, label: `访问站点`, visible: true },
+  { key: 3, label: `自定义域名`, visible: true },
+  { key: 4, label: `桶名称`, visible: true },
+  { key: 5, label: `前缀`, visible: true },
+  { key: 6, label: `域`, visible: true },
+  { key: 7, label: `桶权限类型`, visible: true },
+  { key: 8, label: `状态`, visible: true }
 ]);
 
 
 const initFormData: OssConfigForm = {
-    ossConfigId: undefined,
-    configKey: '',
-    accessKey: '',
-    secretKey: '',
-    bucketName: '',
-    prefix: '',
-    endpoint: '',
-    domain: '',
-    isHttps: "N",
-    accessPolicy: "1",
-    region: '',
-    status: "1",
-    remark: '',
+  ossConfigId: undefined,
+  configKey: '',
+  accessKey: '',
+  secretKey: '',
+  bucketName: '',
+  prefix: '',
+  endpoint: '',
+  domain: '',
+  isHttps: "N",
+  accessPolicy: "1",
+  region: '',
+  status: "1",
+  remark: '',
 }
 const data = reactive<PageData<OssConfigForm, OssConfigQuery>>({
-    form: { ...initFormData },
-    // 查询参数
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        configKey: '',
-        bucketName: '',
-        status: '',
-    },
-    rules: {
-        configKey: [{ required: true, message: "configKey不能为空", trigger: "blur" },],
-        accessKey: [
-            { required: true, message: "accessKey不能为空", trigger: "blur" },
-            {
-                min: 2,
-                max: 200,
-                message: "accessKey长度必须介于 2 和 100 之间",
-                trigger: "blur",
-            },
-        ],
-        secretKey: [
-            { required: true, message: "secretKey不能为空", trigger: "blur" },
-            {
-                min: 2,
-                max: 100,
-                message: "secretKey长度必须介于 2 和 100 之间",
-                trigger: "blur",
-            },
-        ],
-        bucketName: [
-            { required: true, message: "bucketName不能为空", trigger: "blur" },
-            {
-                min: 2,
-                max: 100,
-                message: "bucketName长度必须介于 2 和 100 之间",
-                trigger: "blur",
-            },
-        ],
-        endpoint: [
-            { required: true, message: "endpoint不能为空", trigger: "blur" },
-            {
-                min: 2,
-                max: 100,
-                message: "endpoint名称长度必须介于 2 和 100 之间",
-                trigger: "blur",
-            },
-        ],
-        accessPolicy: [{ required: true, message: "accessPolicy不能为空", trigger: "blur" }]
-    }
+  form: { ...initFormData },
+  // 查询参数
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    configKey: '',
+    bucketName: '',
+    status: '',
+  },
+  rules: {
+    configKey: [{ required: true, message: "configKey不能为空", trigger: "blur" },],
+    accessKey: [
+      { required: true, message: "accessKey不能为空", trigger: "blur" },
+      {
+        min: 2,
+        max: 200,
+        message: "accessKey长度必须介于 2 和 100 之间",
+        trigger: "blur",
+      },
+    ],
+    secretKey: [
+      { required: true, message: "secretKey不能为空", trigger: "blur" },
+      {
+        min: 2,
+        max: 100,
+        message: "secretKey长度必须介于 2 和 100 之间",
+        trigger: "blur",
+      },
+    ],
+    bucketName: [
+      { required: true, message: "bucketName不能为空", trigger: "blur" },
+      {
+        min: 2,
+        max: 100,
+        message: "bucketName长度必须介于 2 和 100 之间",
+        trigger: "blur",
+      },
+    ],
+    endpoint: [
+      { required: true, message: "endpoint不能为空", trigger: "blur" },
+      {
+        min: 2,
+        max: 100,
+        message: "endpoint名称长度必须介于 2 和 100 之间",
+        trigger: "blur",
+      },
+    ],
+    accessPolicy: [{ required: true, message: "accessPolicy不能为空", trigger: "blur" }]
+  }
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
 /** 查询对象存储配置列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listOssConfig(queryParams.value);
-    ossConfigList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listOssConfig(queryParams.value);
+  ossConfigList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 /** 取消按钮 */
 const cancel = () => {
-    dialog.visible = false;
-    reset();
+  dialog.visible = false;
+  reset();
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = { ...initFormData };
-    ossConfigFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  ossConfigFormRef.value?.resetFields();
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 选择条数  */
 const handleSelectionChange = (selection: OssConfigVO[]) => {
-    ids.value = selection.map(item => item.ossConfigId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.ossConfigId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加对象存储配置";
-    nextTick(() => {
-        reset();
-    })
+  dialog.visible = true;
+  dialog.title = "添加对象存储配置";
+  nextTick(() => {
+    reset();
+  })
 }
 /** 修改按钮操作 */
 const handleUpdate = (row?: OssConfigVO) => {
-    loading.value = true;
-    dialog.visible = true;
-    dialog.title = "修改对象存储配置";
-    const ossConfigId = row?.ossConfigId || ids.value[0];
-    nextTick(async () => {
-        reset();
-        const res = await getOssConfig(ossConfigId);
-        loading.value = false;
-        form.value = res.data;
-    })
+  loading.value = true;
+  dialog.visible = true;
+  dialog.title = "修改对象存储配置";
+  const ossConfigId = row?.ossConfigId || ids.value[0];
+  nextTick(async () => {
+    reset();
+    const res = await getOssConfig(ossConfigId);
+    loading.value = false;
+    form.value = res.data;
+  })
 }
 /** 提交按钮 */
 const submitForm = () => {
-    ossConfigFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            buttonLoading.value = true;
-            if (form.value.ossConfigId) {
-                await updateOssConfig(form.value).finally(() => buttonLoading.value = false);
-            } else {
-                await addOssConfig(form.value).finally(() => buttonLoading.value = false);
-            }
-            proxy?.$modal.msgSuccess("新增成功");
-            dialog.visible = false;
-            getList();
-        }
-    });
+  ossConfigFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      buttonLoading.value = true;
+      if (form.value.ossConfigId) {
+        await updateOssConfig(form.value).finally(() => buttonLoading.value = false);
+      } else {
+        await addOssConfig(form.value).finally(() => buttonLoading.value = false);
+      }
+      proxy?.$modal.msgSuccess("新增成功");
+      dialog.visible = false;
+      getList();
+    }
+  });
 }
 /** 状态修改  */
-const  handleStatusChange = async (row: OssConfigVO) => {
-    let text = row.status === "0" ? "启用" : "停用";
-    try {
-        await proxy?.$modal.confirm('确认要"' + text + '""' + row.configKey + '"配置吗?');
-        await changeOssConfigStatus(row.ossConfigId, row.status, row.configKey);
-        getList()
-        proxy?.$modal.msgSuccess(text + "成功");
-    } catch { return } finally {
-        row.status = row.status === "0" ? "1" : "0";
-    }
+const handleStatusChange = async (row: OssConfigVO) => {
+  let text = row.status === "0" ? "启用" : "停用";
+  try {
+    await proxy?.$modal.confirm('确认要"' + text + '""' + row.configKey + '"配置吗?');
+    await changeOssConfigStatus(row.ossConfigId, row.status, row.configKey);
+    getList()
+    proxy?.$modal.msgSuccess(text + "成功");
+  } catch { return } finally {
+    row.status = row.status === "0" ? "1" : "0";
+  }
 
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: OssConfigVO) => {
-    const ossConfigIds = row?.ossConfigId || ids.value;
-    await proxy?.$modal.confirm('是否确认删除OSS配置编号为"' + ossConfigIds + '"的数据项?');
-    loading.value = true;
-    await delOssConfig(ossConfigIds).finally(() => loading.value = false);
-    getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  const ossConfigIds = row?.ossConfigId || ids.value;
+  await proxy?.$modal.confirm('是否确认删除OSS配置编号为"' + ossConfigIds + '"的数据项?');
+  loading.value = true;
+  await delOssConfig(ossConfigIds).finally(() => loading.value = false);
+  getList();
+  proxy?.$modal.msgSuccess("删除成功");
 
 }
 
 onMounted(() => {
-    getList();
+  getList();
 })
 </script>

+ 113 - 113
src/views/system/oss/index.vue

@@ -154,8 +154,8 @@ const previewListResource = ref(true);
 const daterangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']);
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 // 默认排序
@@ -165,175 +165,175 @@ const ossFormRef = ref<ElFormInstance>();
 const queryFormRef = ref<ElFormInstance>();
 
 const initFormData = {
-    file: undefined,
+  file: undefined,
 }
 const data = reactive<PageData<OssForm, OssQuery>>({
-    form: { ...initFormData },
-    // 查询参数
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        fileName: '',
-        originalName: '',
-        fileSuffix: '',
-        createTime: '',
-        service: '',
-        orderByColumn: defaultSort.value.prop,
-        isAsc: defaultSort.value.order
-    },
-    rules: {
-        file: [
-            { required: true, message: "文件不能为空", trigger: "blur" }
-        ]
-    }
+  form: { ...initFormData },
+  // 查询参数
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    fileName: '',
+    originalName: '',
+    fileSuffix: '',
+    createTime: '',
+    service: '',
+    orderByColumn: defaultSort.value.prop,
+    isAsc: defaultSort.value.order
+  },
+  rules: {
+    file: [
+      { required: true, message: "文件不能为空", trigger: "blur" }
+    ]
+  }
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
 /** 查询OSS对象存储列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await proxy?.getConfigKey("sys.oss.previewListResource");
-    previewListResource.value = res?.msg === undefined ? true : res.msg === 'true';
-    const response = await listOss(proxy?.addDateRange(queryParams.value, daterangeCreateTime.value, "CreateTime"));
-    ossList.value = response.rows;
-    total.value = response.total;
-    loading.value = false;
-    showTable.value = true;
+  loading.value = true;
+  const res = await proxy?.getConfigKey("sys.oss.previewListResource");
+  previewListResource.value = res?.msg === undefined ? true : res.msg === 'true';
+  const response = await listOss(proxy?.addDateRange(queryParams.value, daterangeCreateTime.value, "CreateTime"));
+  ossList.value = response.rows;
+  total.value = response.total;
+  loading.value = false;
+  showTable.value = true;
 }
 function checkFileSuffix(fileSuffix: string[]) {
-    let arr = ["png", "jpg", "jpeg"];
-    return arr.some(type => {
-        return fileSuffix.indexOf(type) > -1;
-    });
+  let arr = ["png", "jpg", "jpeg"];
+  return arr.some(type => {
+    return fileSuffix.indexOf(type) > -1;
+  });
 }
 /** 取消按钮 */
 function cancel() {
-    dialog.visible = false;
-    reset();
+  dialog.visible = false;
+  reset();
 }
 /** 表单重置 */
 function reset() {
-    form.value = { ...initFormData };
-    ossFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  ossFormRef.value?.resetFields();
 }
 /** 搜索按钮操作 */
 function handleQuery() {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 function resetQuery() {
-    showTable.value = false;
-    daterangeCreateTime.value = ['', ''];
-    queryFormRef.value?.resetFields();
-    queryParams.value.orderByColumn = defaultSort.value.prop;
-    queryParams.value.isAsc = defaultSort.value.order;
-    handleQuery();
+  showTable.value = false;
+  daterangeCreateTime.value = ['', ''];
+  queryFormRef.value?.resetFields();
+  queryParams.value.orderByColumn = defaultSort.value.prop;
+  queryParams.value.isAsc = defaultSort.value.order;
+  handleQuery();
 }
 /** 选择条数  */
 function handleSelectionChange(selection: OssVO[]) {
-    ids.value = selection.map(item => item.ossId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.ossId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 设置列的排序为我们自定义的排序 */
 const handleHeaderClass = ({ column }: any): any => {
-    column.order = column.multiOrder
+  column.order = column.multiOrder
 }
 /** 点击表头进行排序 */
 const handleHeaderCLick = (column: any) => {
-    if (column.sortable !== 'custom') {
-        return
-    }
-    switch (column.multiOrder) {
-        case 'descending':
-            column.multiOrder = 'ascending';
-            break;
-        case 'ascending':
-            column.multiOrder = '';
-            break;
-        default:
-            column.multiOrder = 'descending';
-            break;
-    }
-    handleOrderChange(column.property, column.multiOrder)
+  if (column.sortable !== 'custom') {
+    return
+  }
+  switch (column.multiOrder) {
+    case 'descending':
+      column.multiOrder = 'ascending';
+      break;
+    case 'ascending':
+      column.multiOrder = '';
+      break;
+    default:
+      column.multiOrder = 'descending';
+      break;
+  }
+  handleOrderChange(column.property, column.multiOrder)
 }
 const handleOrderChange = (prop: string, order: string) => {
-    let orderByArr = queryParams.value.orderByColumn ? queryParams.value.orderByColumn.split(",") : [];
-    let isAscArr = queryParams.value.isAsc ? queryParams.value.isAsc.split(",") : [];
-    let propIndex = orderByArr.indexOf(prop)
-    if (propIndex !== -1) {
-        if (order) {
-            //排序里已存在 只修改排序
-            isAscArr[propIndex] = order;
-        } else {
-            //如果order为null 则删除排序字段和属性
-            isAscArr.splice(propIndex, 1);//删除排序
-            orderByArr.splice(propIndex, 1);//删除属性
-        }
+  let orderByArr = queryParams.value.orderByColumn ? queryParams.value.orderByColumn.split(",") : [];
+  let isAscArr = queryParams.value.isAsc ? queryParams.value.isAsc.split(",") : [];
+  let propIndex = orderByArr.indexOf(prop)
+  if (propIndex !== -1) {
+    if (order) {
+      //排序里已存在 只修改排序
+      isAscArr[propIndex] = order;
     } else {
-        //排序里不存在则新增排序
-        orderByArr.push(prop);
-        isAscArr.push(order);
+      //如果order为null 则删除排序字段和属性
+      isAscArr.splice(propIndex, 1);//删除排序
+      orderByArr.splice(propIndex, 1);//删除属性
     }
-    //合并排序
-    queryParams.value.orderByColumn = orderByArr.join(",");
-    queryParams.value.isAsc = isAscArr.join(",");
-    getList();
+  } else {
+    //排序里不存在则新增排序
+    orderByArr.push(prop);
+    isAscArr.push(order);
+  }
+  //合并排序
+  queryParams.value.orderByColumn = orderByArr.join(",");
+  queryParams.value.isAsc = isAscArr.join(",");
+  getList();
 }
 /** 任务日志列表查询 */
 const handleOssConfig = () => {
-    router.push('/system/oss-config/index')
+  router.push('/system/oss-config/index')
 }
 /** 文件按钮操作 */
 const handleFile = () => {
-    dialog.visible = true;
-    dialog.title = "上传文件";
-    nextTick(() => {
-        reset();
-        type.value = 0;
-    })
+  dialog.visible = true;
+  dialog.title = "上传文件";
+  nextTick(() => {
+    reset();
+    type.value = 0;
+  })
 }
 /** 图片按钮操作 */
 const handleImage = () => {
-    dialog.visible = true;
-    dialog.title = "上传图片";
-    nextTick(() => {
-        reset();
-        type.value = 1;
-    })
+  dialog.visible = true;
+  dialog.title = "上传图片";
+  nextTick(() => {
+    reset();
+    type.value = 1;
+  })
 }
 /** 提交按钮 */
 const submitForm = () => {
-    dialog.visible = false;
-    getList();
+  dialog.visible = false;
+  getList();
 }
 /** 下载按钮操作 */
 const handleDownload = (row: OssVO) => {
-    proxy?.$download.oss(row.ossId)
+  proxy?.$download.oss(row.ossId)
 }
 /** 用户状态修改  */
 const handlePreviewListResource = async (preview: boolean) => {
-    let text = preview ? "启用" : "停用";
-    try {
-      await proxy?.$modal.confirm('确认要"' + text + '""预览列表图片"配置吗?');
-      await proxy?.updateConfigByKey("sys.oss.previewListResource", preview);
-      getList()
-      proxy?.$modal.msgSuccess(text + "成功");
-    } catch { return }
+  let text = preview ? "启用" : "停用";
+  try {
+    await proxy?.$modal.confirm('确认要"' + text + '""预览列表图片"配置吗?');
+    await proxy?.updateConfigByKey("sys.oss.previewListResource", preview);
+    getList()
+    proxy?.$modal.msgSuccess(text + "成功");
+  } catch { return }
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: OssVO) => {
-    const ossIds = row?.ossId || ids.value;
-    await proxy?.$modal.confirm('是否确认删除OSS对象存储编号为"' + ossIds + '"的数据项?');
-    loading.value = true;
-    await delOss(ossIds).finally(() => loading.value = false);
-    getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  const ossIds = row?.ossId || ids.value;
+  await proxy?.$modal.confirm('是否确认删除OSS对象存储编号为"' + ossIds + '"的数据项?');
+  loading.value = true;
+  await delOss(ossIds).finally(() => loading.value = false);
+  getList();
+  proxy?.$modal.msgSuccess("删除成功");
 }
 
 onMounted(() => {
-    getList();
+  getList();
 })
 </script>

+ 67 - 67
src/views/system/post/index.vue

@@ -125,117 +125,117 @@ const postFormRef = ref<ElFormInstance>();
 const queryFormRef = ref<ElFormInstance>();
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const initFormData: PostForm = {
-    postId: undefined,
-    postCode: '',
-    postName: '',
-    postSort: 0,
-    status: "0",
-    remark: ''
+  postId: undefined,
+  postCode: '',
+  postName: '',
+  postSort: 0,
+  status: "0",
+  remark: ''
 }
 
 const data = reactive<PageData<PostForm, PostQuery>>({
-    form: {...initFormData},
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        postCode: '',
-        postName: '',
-        status: ''
-    },
-    rules: {
-        postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
-        postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
-        postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
-    }
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    postCode: '',
+    postName: '',
+    status: ''
+  },
+  rules: {
+    postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
+    postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
+    postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
+  }
 });
 
 const { queryParams, form, rules } = toRefs<PageData<PostForm, PostQuery>>(data);
 
 /** 查询岗位列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listPost(queryParams.value);
-    postList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listPost(queryParams.value);
+  postList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
 /** 表单重置 */
 const reset = () => {
-    form.value = {...initFormData};
-    postFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  postFormRef.value?.resetFields();
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 多选框选中数据 */
 const handleSelectionChange = (selection: PostVO[]) => {
-    ids.value = selection.map(item => item.postId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.postId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加岗位";
-    nextTick(() => {
-        reset();
-    })
+  dialog.visible = true;
+  dialog.title = "添加岗位";
+  nextTick(() => {
+    reset();
+  })
 }
 /** 修改按钮操作 */
 const handleUpdate = (row?: PostVO) => {
-    dialog.visible = true;
-    dialog.title = "修改岗位";
-    nextTick(async () => {
-        reset();
-        const postId = row?.postId || ids.value[0];
-        const res = await getPost(postId);
-        form.value = res.data;
-    })
+  dialog.visible = true;
+  dialog.title = "修改岗位";
+  nextTick(async () => {
+    reset();
+    const postId = row?.postId || ids.value[0];
+    const res = await getPost(postId);
+    form.value = res.data;
+  })
 }
 /** 提交按钮 */
 const submitForm = () => {
-    postFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.postId ? await updatePost(form.value) : await addPost(form.value);
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            await getList();
-        }
-    });
+  postFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.postId ? await updatePost(form.value) : await addPost(form.value);
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      await getList();
+    }
+  });
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: PostVO) => {
-    const postIds = row?.postId || ids.value;
-    await proxy?.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?');
-    await delPost(postIds);
-    await getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  const postIds = row?.postId || ids.value;
+  await proxy?.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?');
+  await delPost(postIds);
+  await getList();
+  proxy?.$modal.msgSuccess("删除成功");
 }
 /** 导出按钮操作 */
 const handleExport = () => {
-    proxy?.download("system/post/export", {
-        ...queryParams.value
-    }, `post_${new Date().getTime()}.xlsx`);
+  proxy?.download("system/post/export", {
+    ...queryParams.value
+  }, `post_${new Date().getTime()}.xlsx`);
 }
 
 onMounted(() => {
-    getList();
+  getList();
 });
 </script>

+ 33 - 33
src/views/system/role/authUser.vue

@@ -86,64 +86,64 @@ const queryFormRef = ref<ElFormInstance>();
 const selectRef = ref<InstanceType<typeof SelectUser>>();
 
 const queryParams = reactive<UserQuery>({
-    pageNum: 1,
-    pageSize: 10,
-    roleId: route.params.roleId as string,
-    userName: undefined,
-    phonenumber: undefined,
+  pageNum: 1,
+  pageSize: 10,
+  roleId: route.params.roleId as string,
+  userName: undefined,
+  phonenumber: undefined,
 });
 
 /** 查询授权用户列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await allocatedUserList(queryParams);
-    userList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await allocatedUserList(queryParams);
+  userList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 // 返回按钮
 const handleClose = () => {
-    const obj = { path: "/system/role" };
-    proxy?.$tab.closeOpenPage(obj);
+  const obj = { path: "/system/role" };
+  proxy?.$tab.closeOpenPage(obj);
 }
 /** 搜索按钮操作 */
-const handleQuery=() => {
-    queryParams.pageNum = 1;
-    getList();
+const handleQuery = () => {
+  queryParams.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
-const resetQuery=() =>{
-    queryFormRef.value?.resetFields();
-    handleQuery();
+const resetQuery = () => {
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 // 多选框选中数据
-const handleSelectionChange = (selection: UserVO[]) =>{
-    userIds.value = selection.map(item => item.userId);
-    multiple.value = !selection.length;
+const handleSelectionChange = (selection: UserVO[]) => {
+  userIds.value = selection.map(item => item.userId);
+  multiple.value = !selection.length;
 }
 /** 打开授权用户表弹窗 */
 const openSelectUser = () => {
-    selectRef.value.show();
+  selectRef.value?.show();
 }
 /** 取消授权按钮操作 */
 const cancelAuthUser = async (row: UserVO) => {
-    await proxy?.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?');
-    await authUserCancel({ userId: row.userId, roleId: queryParams.roleId });
-    await getList();
-    proxy?.$modal.msgSuccess("取消授权成功");
+  await proxy?.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?');
+  await authUserCancel({ userId: row.userId, roleId: queryParams.roleId });
+  await getList();
+  proxy?.$modal.msgSuccess("取消授权成功");
 }
 /** 批量取消授权按钮操作 */
 const cancelAuthUserAll = async () => {
-    const roleId = queryParams.roleId;
-    const uIds = userIds.value.join(",");
-    await proxy?.$modal.confirm("是否取消选中用户授权数据项?");
-    await authUserCancelAll({ roleId: roleId, userIds: uIds });
-    await getList();
-    proxy?.$modal.msgSuccess("取消授权成功");
+  const roleId = queryParams.roleId;
+  const uIds = userIds.value.join(",");
+  await proxy?.$modal.confirm("是否取消选中用户授权数据项?");
+  await authUserCancelAll({ roleId: roleId, userIds: uIds });
+  await getList();
+  proxy?.$modal.msgSuccess("取消授权成功");
 }
 
 onMounted(() => {
-    getList();
+  getList();
 });
 </script>
 

+ 178 - 178
src/views/system/role/index.vue

@@ -121,7 +121,7 @@
         <el-form-item label="状态">
           <el-radio-group v-model="form.status">
             <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{
-                dict.label
+              dict.label
             }}</el-radio>
           </el-radio-group>
         </el-form-item>
@@ -221,11 +221,11 @@ const openDataScope = ref(false)
 
 /** 数据范围选项*/
 const dataScopeOptions = ref([
-    { value: "1", label: "全部数据权限" },
-    { value: "2", label: "自定数据权限" },
-    { value: "3", label: "本部门数据权限" },
-    { value: "4", label: "本部门及以下数据权限" },
-    { value: "5", label: "仅本人数据权限" }
+  { value: "1", label: "全部数据权限" },
+  { value: "2", label: "自定数据权限" },
+  { value: "3", label: "本部门数据权限" },
+  { value: "4", label: "本部门及以下数据权限" },
+  { value: "5", label: "仅本人数据权限" }
 ])
 
 const queryFormRef = ref<ElFormInstance>();
@@ -235,40 +235,40 @@ const menuRef = ref<ElTreeInstance>();
 const deptRef = ref<ElTreeInstance>();
 
 const initForm: RoleForm = {
-    roleId: undefined,
-    roleSort: 1,
-    status: '0',
-    roleName: '',
-    roleKey: '',
-    menuCheckStrictly: true,
-    deptCheckStrictly: true,
-    remark: '',
-    dataScope: '1',
-    menuIds: [],
-    deptIds: [],
+  roleId: undefined,
+  roleSort: 1,
+  status: '0',
+  roleName: '',
+  roleKey: '',
+  menuCheckStrictly: true,
+  deptCheckStrictly: true,
+  remark: '',
+  dataScope: '1',
+  menuIds: [],
+  deptIds: [],
 }
 
 const data = reactive<PageData<RoleForm, RoleQuery>>({
-    form: {...initForm},
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        roleName: '',
-        roleKey: '',
-        status: '',
-    },
-    rules: {
-        roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
-        roleKey: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
-        roleSort: [{ required: true, message: "角色顺序不能为空", trigger: "blur" }]
-    }
+  form: { ...initForm },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    roleName: '',
+    roleKey: '',
+    status: '',
+  },
+  rules: {
+    roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
+    roleKey: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
+    roleSort: [{ required: true, message: "角色顺序不能为空", trigger: "blur" }]
+  }
 })
 const { form, queryParams, rules } = toRefs(data)
 
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 
@@ -276,241 +276,241 @@ const dialog = reactive<DialogOption>({
  * 查询角色列表
  */
 const getList = () => {
-    loading.value = true
-    listRole(proxy?.addDateRange(queryParams.value, dateRange.value)).then(res => {
-        roleList.value = res.rows
-        total.value = res.total
-        loading.value = false
-    })
+  loading.value = true
+  listRole(proxy?.addDateRange(queryParams.value, dateRange.value)).then(res => {
+    roleList.value = res.rows
+    total.value = res.total
+    loading.value = false
+  })
 }
 
 /**
  * 搜索按钮操作
  */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 
 /** 重置 */
 const resetQuery = () => {
-    dateRange.value = ['', '']
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  dateRange.value = ['', '']
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /**删除按钮操作 */
 const handleDelete = async (row?: RoleVO) => {
-    const roleids = row?.roleId || ids.value;
-    await proxy?.$modal.confirm('是否确认删除角色编号为' + roleids + '数据项目');
-    await delRole(roleids);
-    getList();
-    proxy?.$modal.msgSuccess('删除成功');
+  const roleids = row?.roleId || ids.value;
+  await proxy?.$modal.confirm('是否确认删除角色编号为' + roleids + '数据项目');
+  await delRole(roleids);
+  getList();
+  proxy?.$modal.msgSuccess('删除成功');
 }
 
 /** 导出按钮操作 */
 const handleExport = () => {
-    proxy?.download("system/role/export", {
-        ...queryParams.value,
-    }, `role_${new Date().getTime()}.xlsx`)
+  proxy?.download("system/role/export", {
+    ...queryParams.value,
+  }, `role_${new Date().getTime()}.xlsx`)
 }
 /** 多选框选中数据 */
 const handleSelectionChange = (selection: RoleVO[]) => {
-    ids.value = selection.map((item: RoleVO) => item.roleId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map((item: RoleVO) => item.roleId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 
 /** 角色状态修改 */
 const handleStatusChange = async (row: RoleVO) => {
-    let text = row.status === "0" ? "启用" : "停用";
-    try {
-        await proxy?.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?');
-        await changeRoleStatus(row.roleId, row.status);
-        proxy?.$modal.msgSuccess(text + "成功");
-    } catch {
-        row.status = row.status === "0" ? "1" : "0";
-    }
+  let text = row.status === "0" ? "启用" : "停用";
+  try {
+    await proxy?.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?');
+    await changeRoleStatus(row.roleId, row.status);
+    proxy?.$modal.msgSuccess(text + "成功");
+  } catch {
+    row.status = row.status === "0" ? "1" : "0";
+  }
 }
 
 /** 分配用户 */
 const handleAuthUser = (row: RoleVO) => {
-    router.push("/system/role-auth/user/" + row.roleId);
+  router.push("/system/role-auth/user/" + row.roleId);
 }
 
 /** 查询菜单树结构 */
 const getMenuTreeselect = async () => {
-    const res = await menuTreeselect();
-    menuOptions.value = res.data;
+  const res = await menuTreeselect();
+  menuOptions.value = res.data;
 }
 /** 所有部门节点数据 */
 const getDeptAllCheckedKeys = (): any => {
-    // 目前被选中的部门节点
-    let checkedKeys = deptRef.value?.getCheckedKeys();
-    // 半选中的部门节点
-    let halfCheckedKeys = deptRef.value?.getHalfCheckedKeys();
-    if(halfCheckedKeys) {
-      checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
-    }
-    return checkedKeys
+  // 目前被选中的部门节点
+  let checkedKeys = deptRef.value?.getCheckedKeys();
+  // 半选中的部门节点
+  let halfCheckedKeys = deptRef.value?.getHalfCheckedKeys();
+  if (halfCheckedKeys) {
+    checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
+  }
+  return checkedKeys
 }
 /** 重置新增的表单以及其他数据  */
 const reset = () => {
-    menuRef.value?.setCheckedKeys([]);
-    menuExpand.value = false
-    menuNodeAll.value = false
-    deptExpand.value = true
-    deptNodeAll.value = false
-    form.value = { ...initForm };
-    roleFormRef.value?.resetFields();
+  menuRef.value?.setCheckedKeys([]);
+  menuExpand.value = false
+  menuNodeAll.value = false
+  deptExpand.value = true
+  deptNodeAll.value = false
+  form.value = { ...initForm };
+  roleFormRef.value?.resetFields();
 
 }
 
 /** 添加角色 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加角色";
-    nextTick(() => {
-        reset();
-        getMenuTreeselect();
-    })
+  dialog.visible = true;
+  dialog.title = "添加角色";
+  nextTick(() => {
+    reset();
+    getMenuTreeselect();
+  })
 }
 /** 修改角色 */
 const handleUpdate = async (row?: RoleVO) => {
-    const roleId = row?.roleId || ids.value[0]
-    const roleMenu = getRoleMenuTreeselect(roleId)
-    const { data } = await getRole(roleId);
-    dialog.visible = true;
-    dialog.title = "修改角色";
-    await nextTick(() => {
-      reset();
-      Object.assign(form.value, data);
-      form.value.roleSort = Number(form.value.roleSort);
-      nextTick(async () => {
-        const res = await roleMenu;
-        let checkedKeys = res.checkedKeys;
-        checkedKeys.forEach((v) => {
-          nextTick(() => {
-            menuRef.value?.setChecked(v, true, false);
-          })
+  const roleId = row?.roleId || ids.value[0]
+  const roleMenu = getRoleMenuTreeselect(roleId)
+  const { data } = await getRole(roleId);
+  dialog.visible = true;
+  dialog.title = "修改角色";
+  await nextTick(() => {
+    reset();
+    Object.assign(form.value, data);
+    form.value.roleSort = Number(form.value.roleSort);
+    nextTick(async () => {
+      const res = await roleMenu;
+      let checkedKeys = res.checkedKeys;
+      checkedKeys.forEach((v) => {
+        nextTick(() => {
+          menuRef.value?.setChecked(v, true, false);
         })
       })
     })
+  })
 }
 /** 根据角色ID查询菜单树结构 */
 const getRoleMenuTreeselect = (roleId: string | number) => {
-    return roleMenuTreeselect(roleId).then((res): RoleMenuTree => {
-        menuOptions.value = res.data.menus;
-        return res.data;
-    })
+  return roleMenuTreeselect(roleId).then((res): RoleMenuTree => {
+    menuOptions.value = res.data.menus;
+    return res.data;
+  })
 }
 /** 根据角色ID查询部门树结构 */
 const getRoleDeptTreeSelect = async (roleId: string | number) => {
-    const res = await deptTreeSelect(roleId);
-    deptOptions.value = res.data.depts;
-    return res.data;
+  const res = await deptTreeSelect(roleId);
+  deptOptions.value = res.data.depts;
+  return res.data;
 }
 /** 树权限(展开/折叠)*/
 const handleCheckedTreeExpand = (value: boolean, type: string) => {
-    if (type == "menu") {
-        let treeList = menuOptions.value;
-        for (let i = 0; i < treeList.length; i++) {
-          if (menuRef.value) {
-            menuRef.value.store.nodesMap[treeList[i].id].expanded = value;
-          }
-        }
-    } else if (type == "dept") {
-        let treeList = deptOptions.value;
-        for (let i = 0; i < treeList.length; i++) {
-            if (deptRef.value) {
-              deptRef.value.store.nodesMap[treeList[i].id].expanded = value;
-            }
-        }
+  if (type == "menu") {
+    let treeList = menuOptions.value;
+    for (let i = 0; i < treeList.length; i++) {
+      if (menuRef.value) {
+        menuRef.value.store.nodesMap[treeList[i].id].expanded = value;
+      }
     }
+  } else if (type == "dept") {
+    let treeList = deptOptions.value;
+    for (let i = 0; i < treeList.length; i++) {
+      if (deptRef.value) {
+        deptRef.value.store.nodesMap[treeList[i].id].expanded = value;
+      }
+    }
+  }
 }
 /** 树权限(全选/全不选) */
 const handleCheckedTreeNodeAll = (value: any, type: string) => {
-    if (type == "menu") {
-        menuRef.value?.setCheckedNodes(value ? menuOptions.value as any : []);
-    } else if (type == "dept") {
-        deptRef.value?.setCheckedNodes(value ? deptOptions.value as any : []);
-    }
+  if (type == "menu") {
+    menuRef.value?.setCheckedNodes(value ? menuOptions.value as any : []);
+  } else if (type == "dept") {
+    deptRef.value?.setCheckedNodes(value ? deptOptions.value as any : []);
+  }
 }
 /** 树权限(父子联动) */
 const handleCheckedTreeConnect = (value: any, type: string) => {
-    if (type == "menu") {
-        form.value.menuCheckStrictly = value;
-    } else if (type == "dept") {
-        form.value.deptCheckStrictly = value;
-    }
+  if (type == "menu") {
+    form.value.menuCheckStrictly = value;
+  } else if (type == "dept") {
+    form.value.deptCheckStrictly = value;
+  }
 }
 /** 所有菜单节点数据 */
 const getMenuAllCheckedKeys = (): any => {
-    // 目前被选中的菜单节点
-    let checkedKeys = menuRef.value?.getCheckedKeys();
-    // 半选中的菜单节点
-    let halfCheckedKeys = menuRef.value?.getHalfCheckedKeys();
-    if (halfCheckedKeys) {
-      checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
-    }
-    return checkedKeys;
+  // 目前被选中的菜单节点
+  let checkedKeys = menuRef.value?.getCheckedKeys();
+  // 半选中的菜单节点
+  let halfCheckedKeys = menuRef.value?.getHalfCheckedKeys();
+  if (halfCheckedKeys) {
+    checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
+  }
+  return checkedKeys;
 }
 /** 提交按钮 */
 const submitForm = () => {
-    roleFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.menuIds = getMenuAllCheckedKeys()
-            form.value.roleId ? await updateRole(form.value) : await addRole(form.value);
-            proxy?.$modal.msgSuccess("操作成功")
-            dialog.visible = false
-            getList()
-        }
-    })
+  roleFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.menuIds = getMenuAllCheckedKeys()
+      form.value.roleId ? await updateRole(form.value) : await addRole(form.value);
+      proxy?.$modal.msgSuccess("操作成功")
+      dialog.visible = false
+      getList()
+    }
+  })
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset()
-    dialog.visible = false;
+  reset()
+  dialog.visible = false;
 }
 /** 选择角色权限范围触发 */
 const dataScopeSelectChange = (value: string) => {
-    if (value !== "2") {
-        deptRef.value?.setCheckedKeys([])
-    }
+  if (value !== "2") {
+    deptRef.value?.setCheckedKeys([])
+  }
 }
 /** 分配数据权限操作 */
 const handleDataScope = async (row: RoleVO) => {
-    const roleDeptTreeselect = getRoleDeptTreeSelect(row.roleId);
-    const response = await getRole(row.roleId);
-    Object.assign(form.value, response.data);
-    openDataScope.value = true;
-    dialog.title = "分配数据权限";
-    await nextTick(async () => {
-      const res = await roleDeptTreeselect;
-      await nextTick(() => {
-        if (deptRef.value) {
-          deptRef.value.setCheckedKeys(res.checkedKeys);
-        }
-      })
+  const roleDeptTreeselect = getRoleDeptTreeSelect(row.roleId);
+  const response = await getRole(row.roleId);
+  Object.assign(form.value, response.data);
+  openDataScope.value = true;
+  dialog.title = "分配数据权限";
+  await nextTick(async () => {
+    const res = await roleDeptTreeselect;
+    await nextTick(() => {
+      if (deptRef.value) {
+        deptRef.value.setCheckedKeys(res.checkedKeys);
+      }
     })
+  })
 }
 /** 提交按钮(数据权限) */
 const submitDataScope = async () => {
-    if (form.value.roleId) {
-        form.value.deptIds = getDeptAllCheckedKeys();
-        await dataScope(form.value);
-        proxy?.$modal.msgSuccess("修改成功");
-        openDataScope.value = false;
-        getList();
-    }
+  if (form.value.roleId) {
+    form.value.deptIds = getDeptAllCheckedKeys();
+    await dataScope(form.value);
+    proxy?.$modal.msgSuccess("修改成功");
+    openDataScope.value = false;
+    getList();
+  }
 }
 /** 取消按钮(数据权限)*/
 const cancelDataScope = () => {
-    dataScopeRef.value?.resetFields();
-    form.value = {...initForm};
-    openDataScope.value = false;
+  dataScopeRef.value?.resetFields();
+  form.value = { ...initForm };
+  openDataScope.value = false;
 }
 
 onMounted(() => {
-    getList();
+  getList();
 });
 </script>

+ 32 - 32
src/views/system/role/selectUser.vue

@@ -50,9 +50,9 @@ import { UserQuery } from '@/api/system/user/types';
 
 
 const props = defineProps({
-    roleId: {
-        type: [Number, String]
-    }
+  roleId: {
+    type: [Number, String]
+  }
 })
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -64,68 +64,68 @@ const total = ref(0);
 const userIds = ref<Array<string | number>>([]);
 
 const queryParams = reactive<UserQuery>({
-    pageNum: 1,
-    pageSize: 10,
-    roleId: undefined,
-    userName: undefined,
-    phonenumber: undefined
+  pageNum: 1,
+  pageSize: 10,
+  roleId: undefined,
+  userName: undefined,
+  phonenumber: undefined
 })
 
 const tableRef = ref<ElTableInstance>();
 const queryFormRef = ref<ElFormInstance>();
 
 const show = () => {
-    queryParams.roleId = props.roleId;
-    getList();
-    visible.value = true;
+  queryParams.roleId = props.roleId;
+  getList();
+  visible.value = true;
 }
 
 /**
  * 选择行
  */
 const clickRow = (row: any) => {
-    // ele的bug
-    tableRef.value?.toggleRowSelection(row);
+  // ele的bug
+  tableRef.value?.toggleRowSelection(row);
 }
 /** 多选框选中数据 */
 const handleSelectionChange = (selection: UserVO[]) => {
-    userIds.value = selection.map((item: UserVO) => item.userId);
+  userIds.value = selection.map((item: UserVO) => item.userId);
 }
 
 /** 查询数据 */
 const getList = async () => {
-    const res = await unallocatedUserList(queryParams);
-    userList.value = res.rows;
-    total.value = res.total;
+  const res = await unallocatedUserList(queryParams);
+  userList.value = res.rows;
+  total.value = res.total;
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.pageNum = 1;
-    getList();
+  queryParams.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    getList();
+  queryFormRef.value?.resetFields();
+  getList();
 }
 
 const emit = defineEmits(["ok"]);
 /**选择授权用户操作 */
 const handleSelectUser = async () => {
-    const roleId = queryParams.roleId;
-    const ids = userIds.value.join(',');
-    if (ids == "") {
-        proxy?.$modal.msgError('请选择要分配的用户');
-        return;
-    }
-    await authUserSelectAll({ roleId, userIds: ids });
-    proxy?.$modal.msgSuccess('分配成功');
-    emit('ok');
-    visible.value = false;
+  const roleId = queryParams.roleId;
+  const ids = userIds.value.join(',');
+  if (ids == "") {
+    proxy?.$modal.msgError('请选择要分配的用户');
+    return;
+  }
+  await authUserSelectAll({ roleId, userIds: ids });
+  proxy?.$modal.msgSuccess('分配成功');
+  emit('ok');
+  visible.value = false;
 }
 // 暴露
 defineExpose({
-    show,
+  show,
 });
 </script>
 

+ 118 - 118
src/views/system/tenant/index.vue

@@ -82,7 +82,7 @@
         </el-table-column>
       </el-table>
 
-      <pagination v-show="total>0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
     </el-card>
     <!-- 添加或修改租户对话框 -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@@ -162,192 +162,192 @@ const queryFormRef = ref<ElFormInstance>();
 const tenantFormRef = ref<ElFormInstance>();
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const initFormData: TenantForm = {
-    id: undefined,
-    tenantId: undefined,
-    contactUserName: '',
-    contactPhone: '',
-    username: '',
-    password: '',
-    companyName: '',
-    licenseNumber: '',
-    domain: '',
-    address: '',
-    intro: '',
-    remark: '',
-    packageId: '',
-    expireTime: '',
-    accountCount: 0,
-    status: '0',
+  id: undefined,
+  tenantId: undefined,
+  contactUserName: '',
+  contactPhone: '',
+  username: '',
+  password: '',
+  companyName: '',
+  licenseNumber: '',
+  domain: '',
+  address: '',
+  intro: '',
+  remark: '',
+  packageId: '',
+  expireTime: '',
+  accountCount: 0,
+  status: '0',
 }
 const data = reactive<PageData<TenantForm, TenantQuery>>({
-    form: {...initFormData},
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        tenantId: '',
-        contactUserName: '',
-        contactPhone: '',
-        companyName: ''
-    },
-    rules: {
-        id: [{ required: true, message: "id不能为空", trigger: "blur" }],
-        tenantId: [{ required: true, message: "租户编号不能为空", trigger: "blur" }],
-        contactUserName: [{ required: true, message: "联系人不能为空", trigger: "blur" }],
-        contactPhone: [{ required: true, message: "联系电话不能为空", trigger: "blur" }],
-        companyName: [{ required: true, message: "企业名称不能为空", trigger: "blur" }],
-        username: [
-            { required: true, message: "用户名不能为空", trigger: "blur" },
-            { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
-        ],
-        password: [
-            { required: true, message: "密码不能为空", trigger: "blur" },
-            { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
-        ]
-    }
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    tenantId: '',
+    contactUserName: '',
+    contactPhone: '',
+    companyName: ''
+  },
+  rules: {
+    id: [{ required: true, message: "id不能为空", trigger: "blur" }],
+    tenantId: [{ required: true, message: "租户编号不能为空", trigger: "blur" }],
+    contactUserName: [{ required: true, message: "联系人不能为空", trigger: "blur" }],
+    contactPhone: [{ required: true, message: "联系电话不能为空", trigger: "blur" }],
+    companyName: [{ required: true, message: "企业名称不能为空", trigger: "blur" }],
+    username: [
+      { required: true, message: "用户名不能为空", trigger: "blur" },
+      { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
+    ],
+    password: [
+      { required: true, message: "密码不能为空", trigger: "blur" },
+      { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
+    ]
+  }
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
 /** 查询所有租户套餐 */
 const getTenantPackage = async () => {
-    const res = await selectTenantPackage()
-    packageList.value = res.data;
+  const res = await selectTenantPackage()
+  packageList.value = res.data;
 }
 
 /** 查询租户列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listTenant(queryParams.value);
-    tenantList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listTenant(queryParams.value);
+  tenantList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 
 // 租户套餐状态修改
 const handleStatusChange = async (row: TenantVO) => {
-    let text = row.status === "0" ? "启用" : "停用";
-    try {
-        await proxy?.$modal.confirm('确认要"' + text + '""' + row.companyName + '"租户吗?');
-        await changeTenantStatus(row.id, row.tenantId, row.status);
-        proxy?.$modal.msgSuccess(text + "成功");
-    } catch {
-        row.status = row.status === "0" ? "1" : "0";
-    }
+  let text = row.status === "0" ? "启用" : "停用";
+  try {
+    await proxy?.$modal.confirm('确认要"' + text + '""' + row.companyName + '"租户吗?');
+    await changeTenantStatus(row.id, row.tenantId, row.status);
+    proxy?.$modal.msgSuccess(text + "成功");
+  } catch {
+    row.status = row.status === "0" ? "1" : "0";
+  }
 
 
 }
 
 // 取消按钮
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
 
 // 表单重置
 const reset = () => {
-    form.value = {...initFormData};
-    tenantFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  tenantFormRef.value?.resetFields();
 }
 
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 
 // 多选框选中数据
 const handleSelectionChange = (selection: TenantVO[]) => {
-    ids.value = selection.map(item => item.id);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.id);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "添加租户";
-    nextTick(() => {
-        reset();
-        getTenantPackage();
-    })
+  dialog.visible = true;
+  dialog.title = "添加租户";
+  nextTick(() => {
+    reset();
+    getTenantPackage();
+  })
 }
 
 /** 修改按钮操作 */
 const handleUpdate = (row?: TenantVO) => {
-    loading.value = true;
-    dialog.visible = true;
-    dialog.title = "修改租户";
-    nextTick(async () => {
-        reset();
-        await getTenantPackage();
-        const _id = row?.id || ids.value[0];
-        const res = await getTenant(_id);
-        loading.value = false;
-        Object.assign(form.value, res.data)
-    })
+  loading.value = true;
+  dialog.visible = true;
+  dialog.title = "修改租户";
+  nextTick(async () => {
+    reset();
+    await getTenantPackage();
+    const _id = row?.id || ids.value[0];
+    const res = await getTenant(_id);
+    loading.value = false;
+    Object.assign(form.value, res.data)
+  })
 }
 
 /** 提交按钮 */
 const submitForm = () => {
-    tenantFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            buttonLoading.value = true;
-            if (form.value.id) {
-                await updateTenant(form.value).finally(() => buttonLoading.value = false);
-            } else {
-                await addTenant(form.value).finally(() => buttonLoading.value = false);
-            }
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            getList();
-        }
-    });
+  tenantFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      buttonLoading.value = true;
+      if (form.value.id) {
+        await updateTenant(form.value).finally(() => buttonLoading.value = false);
+      } else {
+        await addTenant(form.value).finally(() => buttonLoading.value = false);
+      }
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      getList();
+    }
+  });
 }
 
 /** 删除按钮操作 */
 const handleDelete = async (row?: TenantVO) => {
-    const _ids = row?.id || ids.value;
-    await proxy?.$modal.confirm('是否确认删除租户编号为"' + _ids + '"的数据项?')
-    loading.value = true;
-    await delTenant(_ids).finally(() => loading.value = false);
-    await getList();
-    proxy?.$modal.msgSuccess("删除成功");
+  const _ids = row?.id || ids.value;
+  await proxy?.$modal.confirm('是否确认删除租户编号为"' + _ids + '"的数据项?')
+  loading.value = true;
+  await delTenant(_ids).finally(() => loading.value = false);
+  await getList();
+  proxy?.$modal.msgSuccess("删除成功");
 
 
 }
 
 /** 同步租户套餐按钮操作 */
 const handleSyncTenantPackage = async (row: TenantVO) => {
-    try {
-        await proxy?.$modal.confirm('是否确认同步租户套餐租户编号为"' + row.tenantId + '"的数据项?');
-        loading.value = true;
-        await syncTenantPackage(row.tenantId, row.packageId);
-        await getList();
-        proxy?.$modal.msgSuccess("同步成功");
-    } catch {return} finally {
-        loading.value = false;
-    }
+  try {
+    await proxy?.$modal.confirm('是否确认同步租户套餐租户编号为"' + row.tenantId + '"的数据项?');
+    loading.value = true;
+    await syncTenantPackage(row.tenantId, row.packageId);
+    await getList();
+    proxy?.$modal.msgSuccess("同步成功");
+  } catch { return } finally {
+    loading.value = false;
+  }
 }
 
 /** 导出按钮操作 */
 const handleExport = () => {
-    proxy?.download('system/tenant/export', {
-        ...queryParams.value
-    }, `tenant_${new Date().getTime()}.xlsx`)
+  proxy?.download('system/tenant/export', {
+    ...queryParams.value
+  }, `tenant_${new Date().getTime()}.xlsx`)
 }
 
 onMounted(() => {
-    getList();
+  getList();
 })
 </script>

+ 1 - 1
src/views/system/tenantPackage/index.vue

@@ -61,7 +61,7 @@
         </el-table-column>
       </el-table>
 
-      <pagination v-show="total>0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
     </el-card>
 
     <!-- 添加或修改租户套餐对话框 -->

+ 168 - 168
src/views/system/user/index.vue

@@ -211,7 +211,7 @@
             <el-form-item label="状态">
               <el-radio-group v-model="form.status">
                 <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{
-                    dict.label }}</el-radio>
+                  dict.label }}</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
@@ -317,7 +317,7 @@ const ids = ref<Array<number | string>>([]);
 const single = ref(true);
 const multiple = ref(true);
 const total = ref(0);
-const dateRange = ref<[DateModelType, DateModelType]>(['','']);
+const dateRange = ref<[DateModelType, DateModelType]>(['', '']);
 const deptName = ref('');
 const deptOptions = ref<DeptVO[]>([]);
 const initPassword = ref('123456');
@@ -325,28 +325,28 @@ const postOptions = ref<PostVO[]>([]);
 const roleOptions = ref<RoleVO[]>([]);
 /*** 用户导入参数 */
 const upload = reactive<ImportOption>({
-    // 是否显示弹出层(用户导入)
-    open: false,
-    // 弹出层标题(用户导入)
-    title: "",
-    // 是否禁用上传
-    isUploading: false,
-    // 是否更新已经存在的用户数据
-    updateSupport: 0,
-    // 设置上传的请求头部
-    headers: { Authorization: "Bearer " + getToken() },
-    // 上传的地址
-    url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData"
+  // 是否显示弹出层(用户导入)
+  open: false,
+  // 弹出层标题(用户导入)
+  title: "",
+  // 是否禁用上传
+  isUploading: false,
+  // 是否更新已经存在的用户数据
+  updateSupport: 0,
+  // 设置上传的请求头部
+  headers: { Authorization: "Bearer " + getToken() },
+  // 上传的地址
+  url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData"
 })
 // 列显隐信息
 const columns = ref<FieldOption[]>([
-    { key: 0, label: `用户编号`, visible: false },
-    { key: 1, label: `用户名称`, visible: true },
-    { key: 2, label: `用户昵称`, visible: true },
-    { key: 3, label: `部门`, visible: true },
-    { key: 4, label: `手机号码`, visible: true },
-    { key: 5, label: `状态`, visible: true },
-    { key: 6, label: `创建时间`, visible: true }
+  { key: 0, label: `用户编号`, visible: false },
+  { key: 1, label: `用户名称`, visible: true },
+  { key: 2, label: `用户昵称`, visible: true },
+  { key: 3, label: `部门`, visible: true },
+  { key: 4, label: `手机号码`, visible: true },
+  { key: 5, label: `状态`, visible: true },
+  { key: 6, label: `创建时间`, visible: true }
 ])
 
 
@@ -356,243 +356,243 @@ const userFormRef = ref<ElFormInstance>();
 const uploadRef = ref<ElUploadInstance>();
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const initFormData: UserForm = {
-    userId: undefined,
-    deptId: undefined,
-    userName: '',
-    nickName: undefined,
-    password: '',
-    phonenumber: undefined,
-    email: undefined,
-    sex: undefined,
-    status: "0",
-    remark: '',
-    postIds: [],
-    roleIds: []
+  userId: undefined,
+  deptId: undefined,
+  userName: '',
+  nickName: undefined,
+  password: '',
+  phonenumber: undefined,
+  email: undefined,
+  sex: undefined,
+  status: "0",
+  remark: '',
+  postIds: [],
+  roleIds: []
 }
 const data = reactive<PageData<UserForm, UserQuery>>({
-    form: { ...initFormData },
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        userName: '',
-        phonenumber: '',
-        status: '',
-        deptId: ''
-    },
-    rules: {
-        userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
-        nickName: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
-        password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
-        email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
-        phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
-    }
+  form: { ...initFormData },
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    userName: '',
+    phonenumber: '',
+    status: '',
+    deptId: ''
+  },
+  rules: {
+    userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
+    nickName: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
+    password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
+    email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
+    phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
+  }
 })
 
 const { queryParams, form, rules } = toRefs<PageData<UserForm, UserQuery>>(data)
 
 /** 通过条件过滤节点  */
 const filterNode = (value: string, data: any) => {
-    if (!value) return true
-    return data.label.indexOf(value) !== -1
+  if (!value) return true
+  return data.label.indexOf(value) !== -1
 }
 /** 根据名称筛选部门树 */
 watchEffect(
-    () => {deptTreeRef.value?.filter(deptName.value);},
-    {
-        flush: 'post' // watchEffect会在DOM挂载或者更新之前就会触发,此属性控制在DOM元素更新后运行
-    }
+  () => { deptTreeRef.value?.filter(deptName.value); },
+  {
+    flush: 'post' // watchEffect会在DOM挂载或者更新之前就会触发,此属性控制在DOM元素更新后运行
+  }
 );
 
 /** 查询部门下拉树结构 */
 const getTreeSelect = async () => {
-    const res = await api.deptTreeSelect();
-    deptOptions.value = res.data;
+  const res = await api.deptTreeSelect();
+  deptOptions.value = res.data;
 };
 
 /** 查询用户列表 */
 const getList = async () => {
-    loading.value = true;
-    const res = await api.listUser(proxy?.addDateRange(queryParams.value, dateRange.value));
-    loading.value = false;
-    userList.value = res.rows;
-    total.value = res.total;
+  loading.value = true;
+  const res = await api.listUser(proxy?.addDateRange(queryParams.value, dateRange.value));
+  loading.value = false;
+  userList.value = res.rows;
+  total.value = res.total;
 }
 
 /** 节点单击事件 */
 const handleNodeClick = (data: DeptVO) => {
-    queryParams.value.deptId = data.id;
-    handleQuery()
+  queryParams.value.deptId = data.id;
+  handleQuery()
 }
 
 
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1
-    getList()
+  queryParams.value.pageNum = 1
+  getList()
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    dateRange.value = ['','']
-    queryFormRef.value?.resetFields();
-    queryParams.value.pageNum = 1;
-    queryParams.value.deptId = undefined;
-    deptTreeRef.value?.setCurrentKey(undefined);
-    handleQuery();
+  dateRange.value = ['', '']
+  queryFormRef.value?.resetFields();
+  queryParams.value.pageNum = 1;
+  queryParams.value.deptId = undefined;
+  deptTreeRef.value?.setCurrentKey(undefined);
+  handleQuery();
 }
 
 /** 删除按钮操作 */
 const handleDelete = async (row?: UserVO) => {
-    const userIds = row?.userId || ids.value;
-    const [err] = await to(proxy?.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') as any);
-    if (!err) {
-        await api.delUser(userIds);
-        await getList();
-        proxy?.$modal.msgSuccess("删除成功");
-    }
+  const userIds = row?.userId || ids.value;
+  const [err] = await to(proxy?.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') as any);
+  if (!err) {
+    await api.delUser(userIds);
+    await getList();
+    proxy?.$modal.msgSuccess("删除成功");
+  }
 }
 
 /** 用户状态修改  */
 const handleStatusChange = async (row: UserVO) => {
-    let text = row.status === "0" ? "启用" : "停用"
-    try {
-        await proxy?.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?');
-        await api.changeUserStatus(row.userId, row.status);
-        proxy?.$modal.msgSuccess(text + "成功");
-    } catch (err) {
-        row.status = row.status === "0" ? "1" : "0";
-    }
+  let text = row.status === "0" ? "启用" : "停用"
+  try {
+    await proxy?.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?');
+    await api.changeUserStatus(row.userId, row.status);
+    proxy?.$modal.msgSuccess(text + "成功");
+  } catch (err) {
+    row.status = row.status === "0" ? "1" : "0";
+  }
 }
 /** 跳转角色分配 */
 const handleAuthRole = (row: UserVO) => {
-    const userId = row.userId;
-    router.push("/system/user-auth/role/" + userId);
+  const userId = row.userId;
+  router.push("/system/user-auth/role/" + userId);
 }
 
 /** 重置密码按钮操作 */
 const handleResetPwd = async (row: UserVO) => {
-    const [err, res] = await to(ElMessageBox.prompt('请输入"' + row.userName + '"的新密码', "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        closeOnClickModal: false,
-        inputPattern: /^.{5,20}$/,
-        inputErrorMessage: "用户密码长度必须介于 5 和 20 之间",
-    }))
-    if (!err) {
-        await api.resetUserPwd(row.userId, res.value);
-        proxy?.$modal.msgSuccess("修改成功,新密码是:" + res.value);
-    }
+  const [err, res] = await to(ElMessageBox.prompt('请输入"' + row.userName + '"的新密码', "提示", {
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    closeOnClickModal: false,
+    inputPattern: /^.{5,20}$/,
+    inputErrorMessage: "用户密码长度必须介于 5 和 20 之间",
+  }))
+  if (!err) {
+    await api.resetUserPwd(row.userId, res.value);
+    proxy?.$modal.msgSuccess("修改成功,新密码是:" + res.value);
+  }
 }
 
 /** 选择条数  */
 const handleSelectionChange = (selection: UserVO[]) => {
-    ids.value = selection.map((item) => item.userId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map((item) => item.userId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 
 /** 导入按钮操作 */
 const handleImport = () => {
-    upload.title = "用户导入";
-    upload.open = true;
+  upload.title = "用户导入";
+  upload.open = true;
 }
 /** 导出按钮操作 */
 const handleExport = () => {
-    proxy?.download("system/user/export", {
-        ...queryParams.value,
-    }, `user_${new Date().getTime()}.xlsx`);
+  proxy?.download("system/user/export", {
+    ...queryParams.value,
+  }, `user_${new Date().getTime()}.xlsx`);
 };
 /** 下载模板操作 */
 const importTemplate = () => {
-    proxy?.download("system/user/importTemplate", {
-    }, `user_template_${new Date().getTime()}.xlsx`);
+  proxy?.download("system/user/importTemplate", {
+  }, `user_template_${new Date().getTime()}.xlsx`);
 }
 
 /**文件上传中处理 */
 const handleFileUploadProgress = () => {
-    upload.isUploading = true;
+  upload.isUploading = true;
 }
 /** 文件上传成功处理 */
 const handleFileSuccess = (response: any, file: UploadFile) => {
-    upload.open = false;
-    upload.isUploading = false;
-    uploadRef.value?.handleRemove(file);
-    ElMessageBox.alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
-    getList();
+  upload.open = false;
+  upload.isUploading = false;
+  uploadRef.value?.handleRemove(file);
+  ElMessageBox.alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
+  getList();
 }
 
 /** 提交上传文件 */
 function submitFileForm() {
-    uploadRef.value?.submit();
+  uploadRef.value?.submit();
 }
 
 /** 初始化部门数据 */
 const initTreeData = async () => {
-    // 判断部门的数据是否存在,存在不获取,不存在则获取
-    if (deptOptions.value === undefined) {
-        const { data } = await treeselect();
-        deptOptions.value = data;
-    }
+  // 判断部门的数据是否存在,存在不获取,不存在则获取
+  if (deptOptions.value === undefined) {
+    const { data } = await treeselect();
+    deptOptions.value = data;
+  }
 }
 
 
 /** 重置操作表单 */
 const reset = () => {
-    form.value = { ...initFormData };
-    userFormRef.value?.resetFields();
+  form.value = { ...initFormData };
+  userFormRef.value?.resetFields();
 }
 /** 取消按钮 */
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
 
 /** 新增按钮操作 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "新增用户";
-    nextTick(async () => {
-        reset();
-        await initTreeData();
-        const { data } = await api.getUser();
-        postOptions.value = data.posts;
-        roleOptions.value = data.roles;
-        form.value.password = initPassword.value;
-    })
+  dialog.visible = true;
+  dialog.title = "新增用户";
+  nextTick(async () => {
+    reset();
+    await initTreeData();
+    const { data } = await api.getUser();
+    postOptions.value = data.posts;
+    roleOptions.value = data.roles;
+    form.value.password = initPassword.value;
+  })
 }
 /** 修改按钮操作 */
 const handleUpdate = (row?: UserForm) => {
-    dialog.visible = true;
-    dialog.title = "修改用户";
-    nextTick(async () => {
-        reset();
-        await initTreeData();
-        const userId = row?.userId || ids.value[0]
-        const { data } = await api.getUser(userId)
-        Object.assign(form.value, data.user);
-        postOptions.value = data.posts;
-        roleOptions.value = data.roles;
-        form.value.postIds = data.postIds;
-        form.value.roleIds = data.roleIds;
-        form.value.password = "";
-    })
+  dialog.visible = true;
+  dialog.title = "修改用户";
+  nextTick(async () => {
+    reset();
+    await initTreeData();
+    const userId = row?.userId || ids.value[0]
+    const { data } = await api.getUser(userId)
+    Object.assign(form.value, data.user);
+    postOptions.value = data.posts;
+    roleOptions.value = data.roles;
+    form.value.postIds = data.postIds;
+    form.value.roleIds = data.roleIds;
+    form.value.password = "";
+  })
 
 }
 
 /** 提交按钮 */
 const submitForm = () => {
-    userFormRef.value?.validate(async (valid: boolean) => {
-        if (valid) {
-            form.value.userId ? await api.updateUser(form.value) : await api.addUser(form.value);
-            proxy?.$modal.msgSuccess("操作成功");
-            dialog.visible = false;
-            await getList();
-        }
-    })
+  userFormRef.value?.validate(async (valid: boolean) => {
+    if (valid) {
+      form.value.userId ? await api.updateUser(form.value) : await api.addUser(form.value);
+      proxy?.$modal.msgSuccess("操作成功");
+      dialog.visible = false;
+      await getList();
+    }
+  })
 }
 
 
@@ -600,23 +600,23 @@ const submitForm = () => {
  * 关闭用户弹窗
  */
 const closeDialog = () => {
-    dialog.visible = false;
-    resetForm();
+  dialog.visible = false;
+  resetForm();
 }
 
 /**
  * 重置表单
  */
 const resetForm = () => {
-    userFormRef.value?.resetFields();
-    userFormRef.value?.clearValidate();
+  userFormRef.value?.resetFields();
+  userFormRef.value?.clearValidate();
 
-    form.value.id = undefined;
-    form.value.status = '1';
+  form.value.id = undefined;
+  form.value.status = '1';
 }
 onMounted(() => {
-    getTreeSelect() // 初始化部门数据
-    getList() // 初始化列表数据
+  getTreeSelect() // 初始化部门数据
+  getList() // 初始化列表数据
 });
 </script>
 

+ 9 - 9
src/views/system/user/profile/index.vue

@@ -70,22 +70,22 @@ import { getUserProfile } from "@/api/system/user";
 
 const activeTab = ref("userinfo");
 const state = ref<Record<string, any>>({
-    user: {},
-    roleGroup: '',
-    postGroup: ''
+  user: {},
+  roleGroup: '',
+  postGroup: ''
 });
 
 const userForm = ref({});
 
 const getUser = async () => {
-    const res = await getUserProfile();
-    state.value.user = res.data.user;
-    userForm.value = { ...res.data.user }
-    state.value.roleGroup = res.data.roleGroup;
-    state.value.postGroup = res.data.postGroup;
+  const res = await getUserProfile();
+  state.value.user = res.data.user;
+  userForm.value = { ...res.data.user }
+  state.value.roleGroup = res.data.roleGroup;
+  state.value.postGroup = res.data.postGroup;
 };
 
 onMounted(() => {
-    getUser();
+  getUser();
 })
 </script>

+ 5 - 5
src/views/tool/gen/basicInfoForm.vue

@@ -34,16 +34,16 @@
 import { propTypes } from "@/utils/propTypes";
 
 const prop = defineProps({
-    info: propTypes.any.def({})
+  info: propTypes.any.def({})
 });
 
 const infoForm = computed(() => prop.info)
 
 // 表单校验
 const rules = ref({
-    tableName: [{ required: true, message: "请输入表名称", trigger: "blur" }],
-    tableComment: [{ required: true, message: "请输入表描述", trigger: "blur" }],
-    className: [{ required: true, message: "请输入实体类名称", trigger: "blur" }],
-    functionAuthor: [{ required: true, message: "请输入作者", trigger: "blur" }]
+  tableName: [{ required: true, message: "请输入表名称", trigger: "blur" }],
+  tableComment: [{ required: true, message: "请输入表描述", trigger: "blur" }],
+  className: [{ required: true, message: "请输入实体类名称", trigger: "blur" }],
+  functionAuthor: [{ required: true, message: "请输入作者", trigger: "blur" }]
 });
 </script>

+ 3 - 3
src/views/tool/gen/editTable.vue

@@ -135,8 +135,8 @@ const genInfo = ref<InstanceType<typeof GenInfoForm>>();
 
 /** 提交按钮 */
 const submitForm = () => {
-  const basicForm = basicInfo.value.$refs.basicInfoForm;
-  const genForm = genInfo.value.$refs.genInfoForm;
+  const basicForm = basicInfo.value?.$refs.basicInfoForm;
+  const genForm = genInfo.value?.$refs.genInfoForm;
 
   Promise.all([basicForm, genForm].map(getFormPromise)).then(async res => {
     const validateResult = res.every(item => !!item);
@@ -167,7 +167,7 @@ const getFormPromise = (form: any) => {
   });
 }
 const close = () => {
-  const obj = {path: "/tool/gen", query: {t: Date.now(), pageNum: route.query.pageNum}};
+  const obj = { path: "/tool/gen", query: { t: Date.now(), pageNum: route.query.pageNum } };
   proxy?.$tab.closeOpenPage(obj);
 }
 

+ 5 - 5
src/views/tool/gen/genInfoForm.vue

@@ -246,11 +246,11 @@ const table = computed(() => props.tables);
 
 // 表单校验
 const rules = ref({
-  tplCategory: [{required: true, message: "请选择生成模板", trigger: "blur"}],
-  packageName: [{required: true, message: "请输入生成包路径", trigger: "blur"}],
-  moduleName: [{required: true, message: "请输入生成模块名", trigger: "blur"}],
-  businessName: [{required: true, message: "请输入生成业务名", trigger: "blur"}],
-  functionName: [{required: true, message: "请输入生成功能名", trigger: "blur"}]
+  tplCategory: [{ required: true, message: "请选择生成模板", trigger: "blur" }],
+  packageName: [{ required: true, message: "请输入生成包路径", trigger: "blur" }],
+  moduleName: [{ required: true, message: "请输入生成模块名", trigger: "blur" }],
+  businessName: [{ required: true, message: "请输入生成业务名", trigger: "blur" }],
+  functionName: [{ required: true, message: "请输入生成功能名", trigger: "blur" }]
 });
 const subSelectChange = () => {
   infoForm.value.subTableFkName = "";

+ 36 - 36
src/views/tool/gen/importTable.vue

@@ -26,7 +26,7 @@
         <el-table-column prop="createTime" label="创建时间"></el-table-column>
         <el-table-column prop="updateTime" label="更新时间"></el-table-column>
       </el-table>
-      <pagination v-show="total>0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
     </el-row>
     <template #footer>
       <div class="dialog-footer">
@@ -51,11 +51,11 @@ const tableRef = ref<ElTableInstance>();
 const queryFormRef = ref<ElFormInstance>();
 
 const queryParams = reactive<DbTableQuery>({
-    pageNum: 1,
-    pageSize: 10,
-    dataName: '',
-    tableName: '',
-    tableComment: ''
+  pageNum: 1,
+  pageSize: 10,
+  dataName: '',
+  tableName: '',
+  tableComment: ''
 });
 const dataNameList = ref<Array<string>>([]);
 
@@ -63,53 +63,53 @@ const emit = defineEmits(["ok"]);
 
 /** 查询参数列表 */
 const show = (dataName: string) => {
-    getDataNameList();
-    if(dataName){
-      queryParams.dataName = dataName;
-    } else {
-      queryParams.dataName = 'master';
-    }
-    getList();
-    visible.value = true;
+  getDataNameList();
+  if (dataName) {
+    queryParams.dataName = dataName;
+  } else {
+    queryParams.dataName = 'master';
+  }
+  getList();
+  visible.value = true;
 }
 /** 单击选择行 */
 const clickRow = (row: DbTableVO) => {
-    // ele bug
-    tableRef.value?.toggleRowSelection(row);
+  // ele bug
+  tableRef.value?.toggleRowSelection(row);
 }
 /** 多选框选中数据 */
 const handleSelectionChange = (selection: DbTableVO[]) => {
-    tables.value = selection.map(item => item.tableName);
+  tables.value = selection.map(item => item.tableName);
 }
 /** 查询表数据 */
 const getList = async () => {
-    const res = await listDbTable(queryParams);
-    dbTableList.value = res.rows;
-    total.value = res.total;
+  const res = await listDbTable(queryParams);
+  dbTableList.value = res.rows;
+  total.value = res.total;
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.pageNum = 1;
-    getList();
+  queryParams.pageNum = 1;
+  getList();
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 导入按钮操作 */
 const handleImportTable = async () => {
-    const tableNames = tables.value.join(",");
-    if (tableNames == "") {
-        proxy?.$modal.msgError("请选择要导入的表");
-        return;
-    }
-    const res = await importTable({ tables: tableNames, dataName: queryParams.dataName });
-    proxy?.$modal.msgSuccess(res.msg);
-    if (res.code === 200) {
-        visible.value = false;
-        emit("ok");
-    }
+  const tableNames = tables.value.join(",");
+  if (tableNames == "") {
+    proxy?.$modal.msgError("请选择要导入的表");
+    return;
+  }
+  const res = await importTable({ tables: tableNames, dataName: queryParams.dataName });
+  proxy?.$modal.msgSuccess(res.msg);
+  if (res.code === 200) {
+    visible.value = false;
+    emit("ok");
+  }
 }
 /** 查询多数据源名称 */
 const getDataNameList = async () => {
@@ -118,6 +118,6 @@ const getDataNameList = async () => {
 }
 
 defineExpose({
-    show,
+  show,
 });
 </script>

+ 61 - 61
src/views/tool/gen/index.vue

@@ -136,31 +136,31 @@ const queryFormRef = ref<ElFormInstance>();
 const importRef = ref<InstanceType<typeof ImportTable>>();
 
 const queryParams = ref<TableQuery>({
-    pageNum: 1,
-    pageSize: 10,
-    tableName: '',
-    tableComment: '',
-    dataName: ""
+  pageNum: 1,
+  pageSize: 10,
+  tableName: '',
+  tableComment: '',
+  dataName: ""
 })
 
-const preview = ref <any>({
-    data: {},
-    activeName: 'domain.java'
+const preview = ref<any>({
+  data: {},
+  activeName: 'domain.java'
 })
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: '代码预览'
+  visible: false,
+  title: '代码预览'
 });
 
 onActivated(() => {
-    const time = route.query.t;
-    if (time != null && time != uniqueId.value) {
-        uniqueId.value = time as string;
-        queryParams.value.pageNum = Number(route.query.pageNum);
-        dateRange.value = ['', ''];
-        queryFormRef.value?.resetFields();
-        getList();
-    }
+  const time = route.query.t;
+  if (time != null && time != uniqueId.value) {
+    uniqueId.value = time as string;
+    queryParams.value.pageNum = Number(route.query.pageNum);
+    dateRange.value = ['', ''];
+    queryFormRef.value?.resetFields();
+    getList();
+  }
 })
 
 /** 查询多数据源名称 */
@@ -171,81 +171,81 @@ const getDataNameList = async () => {
 
 /** 查询表集合 */
 const getList = async () => {
-    loading.value = true;
-    const res = await listTable(proxy?.addDateRange(queryParams.value, dateRange.value));
-    tableList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listTable(proxy?.addDateRange(queryParams.value, dateRange.value));
+  tableList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
 /** 搜索按钮操作 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
 /** 生成代码操作 */
 const handleGenTable = async (row?: TableVO) => {
-    const tbIds = row?.tableId || ids.value;
-    if (tbIds == "") {
-        proxy?.$modal.msgError('请选择要生成的数据');
-        return;
-    }
-    if (row?.genType === "1") {
-        await genCode(row.tableId);
-        proxy?.$modal.msgSuccess('成功生成到自定义路径:' + row.genPath);
-    } else {
-        proxy?.$download.zip('/tool/gen/batchGenCode?tableIdStr=' + tbIds, 'ruoyi.zip');
-    }
+  const tbIds = row?.tableId || ids.value;
+  if (tbIds == "") {
+    proxy?.$modal.msgError('请选择要生成的数据');
+    return;
+  }
+  if (row?.genType === "1") {
+    await genCode(row.tableId);
+    proxy?.$modal.msgSuccess('成功生成到自定义路径:' + row.genPath);
+  } else {
+    proxy?.$download.zip('/tool/gen/batchGenCode?tableIdStr=' + tbIds, 'ruoyi.zip');
+  }
 }
 /** 同步数据库操作 */
 const handleSynchDb = async (row: TableVO) => {
-    const tableId = row.tableId;
-    await proxy?.$modal.confirm('确认要强制同步"' + row.tableName + '"表结构吗?');
-    await synchDb(tableId);
-    proxy?.$modal.msgSuccess('同步成功');
+  const tableId = row.tableId;
+  await proxy?.$modal.confirm('确认要强制同步"' + row.tableName + '"表结构吗?');
+  await synchDb(tableId);
+  proxy?.$modal.msgSuccess('同步成功');
 }
 /** 打开导入表弹窗 */
 const openImportTable = () => {
-    importRef.value.show(queryParams.value.dataName);
+  importRef.value?.show(queryParams.value.dataName);
 }
 /** 重置按钮操作 */
 const resetQuery = () => {
-    dateRange.value = ['', ''];
-    queryFormRef.value?.resetFields();
-    handleQuery();
+  dateRange.value = ['', ''];
+  queryFormRef.value?.resetFields();
+  handleQuery();
 }
 /** 预览按钮 */
 const handlePreview = async (row: TableVO) => {
-    const res = await previewTable(row.tableId);
-    preview.value.data = res.data;
-    dialog.visible = true;
-    preview.value.activeName = 'domain.java';
+  const res = await previewTable(row.tableId);
+  preview.value.data = res.data;
+  dialog.visible = true;
+  preview.value.activeName = 'domain.java';
 }
 /** 复制代码成功 */
 const copyTextSuccess = () => {
-    proxy?.$modal.msgSuccess('复制成功');
+  proxy?.$modal.msgSuccess('复制成功');
 }
 // 多选框选中数据
 const handleSelectionChange = (selection: TableVO[]) => {
-    ids.value = selection.map(item => item.tableId);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.tableId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
 /** 修改按钮操作 */
 const handleEditTable = (row?: TableVO) => {
-    const tableId = row?.tableId || ids.value[0];
-    router.push({ path: '/tool/gen-edit/index/' + tableId, query: { pageNum: queryParams.value.pageNum } });
+  const tableId = row?.tableId || ids.value[0];
+  router.push({ path: '/tool/gen-edit/index/' + tableId, query: { pageNum: queryParams.value.pageNum } });
 }
 /** 删除按钮操作 */
 const handleDelete = async (row?: TableVO) => {
-    const tableIds = row?.tableId || ids.value;
-    await proxy?.$modal.confirm('是否确认删除表编号为"' + tableIds + '"的数据项?');
-    await delTable(tableIds);
-    getList();
-    proxy?.$modal.msgSuccess('删除成功');
+  const tableIds = row?.tableId || ids.value;
+  await proxy?.$modal.confirm('是否确认删除表编号为"' + tableIds + '"的数据项?');
+  await delTable(tableIds);
+  getList();
+  proxy?.$modal.msgSuccess('删除成功');
 }
 
 onMounted(() => {
-    getList();
-    getDataNameList();
+  getList();
+  getDataNameList();
 })
 </script>