From 6af68085ff6615e1ec3a5dd18c761250800d6fca Mon Sep 17 00:00:00 2001
From: LiuHao <liuhaoai545@gmail.com>
Date: 星期二, 06 六月 2023 22:23:43 +0800
Subject: [PATCH] update 修改页面代码 去除ele的引入以及vue的类型声明
---
src/views/system/config/index.vue | 146 ++--
src/views/system/role/index.vue | 94 ++-
src/views/system/oss/config.vue | 12
src/views/system/user/profile/userAvatar.vue | 120 ++--
src/views/system/tenant/index.vue | 18
src/views/system/user/authRole.vue | 78 +-
src/views/monitor/logininfor/index.vue | 14
src/views/monitor/operlog/index.vue | 142 ++--
src/views/register.vue | 3
src/views/system/menu/index.vue | 20
src/views/error/401.vue | 1
src/views/system/role/authUser.vue | 20
src/views/system/dict/data.vue | 16
src/views/system/role/selectUser.vue | 11
src/views/tool/gen/editTable.vue | 9
src/views/tool/gen/importTable.vue | 21
src/views/system/tenantPackage/index.vue | 321 ++++++------
src/views/monitor/cache/index.vue | 1
src/views/system/dept/index.vue | 46
src/views/system/post/index.vue | 15
src/views/system/user/profile/index.vue | 2
src/views/tool/gen/basicInfoForm.vue | 9
src/views/demo/tree/index.vue | 18
src/views/monitor/online/index.vue | 39
src/views/system/oss/index.vue | 10
src/components/Pagination/index.vue | 53 -
src/views/system/user/index.vue | 57 -
src/views/login.vue | 3
src/views/tool/gen/genInfoForm.vue | 14
src/views/system/user/profile/userInfo.vue | 46
src/views/tool/gen/index.vue | 12
src/views/demo/demo/index.vue | 22
src/views/system/user/profile/resetPwd.vue | 56 +-
src/views/system/notice/index.vue | 16
src/views/system/dict/index.vue | 12
35 files changed, 704 insertions(+), 773 deletions(-)
diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue
index c3eb9b2..df73ceb 100644
--- a/src/components/Pagination/index.vue
+++ b/src/components/Pagination/index.vue
@@ -22,52 +22,23 @@
<script setup lang="ts">
import { scrollTo } from '@/utils/scroll-to'
-import { PropType } from "vue";
+import { propTypes } from "@/utils/propTypes";
const props = defineProps({
- total: {
- required: true,
- type: Number
- },
- page: {
- type: Number,
- default: 1
- },
- limit: {
- type: Number,
- default: 20
- },
+ total: propTypes.number,
+ page: propTypes.number.def(1),
+ limit: propTypes.number.def(20),
pageSizes: {
- type: Array as PropType<number[]>,
- default() {
- return [10, 20, 30, 50]
- }
+ type: Array as PropType<number[]>,
+ default: () => [10, 20, 30, 50]
},
// 绉诲姩绔〉鐮佹寜閽殑鏁伴噺绔粯璁ゅ��5
- pagerCount: {
- type: Number,
- default: document.body.clientWidth < 992 ? 5 : 7
- },
- layout: {
- type: String,
- default: 'total, sizes, prev, pager, next, jumper'
- },
- background: {
- type: Boolean,
- default: true
- },
- autoScroll: {
- type: Boolean,
- default: true
- },
- hidden: {
- type: Boolean,
- default: false
- },
- float: {
- type: String,
- default: 'right'
- }
+ pagerCount: propTypes.number.def(document.body.clientWidth < 992 ? 5 : 7),
+ layout: propTypes.string.def('total, sizes, prev, pager, next, jumper'),
+ background: propTypes.bool.def(true),
+ autoScroll: propTypes.bool.def(true),
+ hidden: propTypes.bool.def(false),
+ float: propTypes.string.def('right')
})
const emit = defineEmits(['update:page', 'update:limit', 'pagination']);
diff --git a/src/views/demo/demo/index.vue b/src/views/demo/demo/index.vue
index ad1dc0a..54f7c86 100644
--- a/src/views/demo/demo/index.vue
+++ b/src/views/demo/demo/index.vue
@@ -69,7 +69,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>
@@ -103,8 +103,6 @@
<script setup name="Demo" lang="ts">
import { listDemo, getDemo, delDemo, addDemo, updateDemo } from '@/api/demo/demo';
import { DemoVO, DemoQuery, DemoForm } from '@/api/demo/demo/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -117,8 +115,8 @@
const multiple = ref(true);
const total = ref(0);
-const queryFormRef = ref(ElForm);
-const demoFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const demoFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
@@ -134,7 +132,7 @@
value: undefined,
}
const data = reactive<PageData<DemoForm, DemoQuery>>({
- form: {...initFormData},
+ form: { ...initFormData },
queryParams: {
pageNum: 1,
pageSize: 10,
@@ -185,8 +183,8 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
- form.value = {...initFormData};
- demoFormRef.value.resetFields();
+ form.value = { ...initFormData };
+ demoFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -197,7 +195,7 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
@@ -233,13 +231,13 @@
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- demoFormRef.value.validate(async (valid: boolean) => {
+ demoFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.id) {
- await updateDemo(form.value).finally(() => buttonLoading.value = false);
+ await updateDemo(form.value).finally(() => buttonLoading.value = false);
} else {
- await addDemo(form.value).finally(() => buttonLoading.value = false);
+ await addDemo(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("淇敼鎴愬姛");
dialog.visible = false;
diff --git a/src/views/demo/tree/index.vue b/src/views/demo/tree/index.vue
index da5f98a..f6ec15c 100644
--- a/src/views/demo/tree/index.vue
+++ b/src/views/demo/tree/index.vue
@@ -91,8 +91,6 @@
<script setup name="Tree" lang="ts">
import { listTree, getTree, delTree, addTree, updateTree } from "@/api/demo/tree";
import { TreeVO, TreeQuery, TreeForm } from '@/api/demo/tree/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm, ElTable } from 'element-plus';
type TreeOption = {
@@ -111,9 +109,9 @@
const isExpandAll = ref(true);
const loading = ref(false);
-const queryFormRef = ref(ElForm);
-const treeFormRef = ref(ElForm);
-const treeTableRef = ref(ElTable)
+const queryFormRef = ref<ElFormInstance>();
+const treeFormRef = ref<ElFormInstance>();
+const treeTableRef = ref<ElTableInstance>()
const dialog = reactive<DialogOption>({
visible: false,
@@ -187,7 +185,7 @@
// 琛ㄥ崟閲嶇疆
const reset = () => {
form.value = {...initFormData}
- treeFormRef.value.resetFields();
+ treeFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -197,7 +195,7 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
@@ -225,7 +223,7 @@
/** 灞曞紑/鎶樺彔鎿嶄綔 */
const toggleExpandAll = (data: TreeVO[], status: boolean) => {
data.forEach((item) => {
- treeTableRef.value.toggleRowExpansion(item, status)
+ treeTableRef.value?.toggleRowExpansion(item, status)
if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
})
}
@@ -249,7 +247,7 @@
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- treeFormRef.value.validate(async (valid: boolean) => {
+ treeFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.id) {
@@ -259,7 +257,7 @@
}
proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
dialog.visible = false;
- getList();
+ await getList();
}
});
}
diff --git a/src/views/error/401.vue b/src/views/error/401.vue
index 63c03ba..1d9c76e 100644
--- a/src/views/error/401.vue
+++ b/src/views/error/401.vue
@@ -21,7 +21,6 @@
<script setup lang="ts">
import errImage from '@/assets/401_images/401.gif';
-import { ComponentInternalInstance } from "vue";
let { proxy } = getCurrentInstance() as ComponentInternalInstance;
diff --git a/src/views/login.vue b/src/views/login.vue
index 9559f9b..8e3c014 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -50,7 +50,6 @@
import { encrypt, decrypt } from '@/utils/jsencrypt';
import { useUserStore } from '@/store/modules/user';
import { LoginData, TenantVO } from '@/api/types';
-import { FormRules } from 'element-plus';
import { to } from 'await-to-js';
const userStore = useUserStore();
@@ -65,7 +64,7 @@
uuid: ''
});
-const loginRules: FormRules = {
+const loginRules: ElFormRules = {
tenantId: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勭鎴风紪鍙�" }],
username: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ユ偍鐨勮处鍙�' }],
password: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ユ偍鐨勫瘑鐮�' }],
diff --git a/src/views/monitor/cache/index.vue b/src/views/monitor/cache/index.vue
index e413f75..2914d59 100644
--- a/src/views/monitor/cache/index.vue
+++ b/src/views/monitor/cache/index.vue
@@ -126,7 +126,6 @@
<script setup name="Cache" lang="ts">
import { getCache } from '@/api/monitor/cache';
import * as echarts from 'echarts';
-import { ComponentInternalInstance } from "vue";
const cache = ref<any>({});
const commandstats = ref();
diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue
index 121aaf0..38ab1ad 100644
--- a/src/views/monitor/logininfor/index.vue
+++ b/src/views/monitor/logininfor/index.vue
@@ -100,9 +100,7 @@
<script setup name="Logininfor" lang="ts">
import { list, delLoginInfo, cleanLoginInfo, unlockLoginInfo } from "@/api/monitor/loginInfo";
-import { ComponentInternalInstance } from "vue";
import { LoginInfoQuery, LoginInfoVO } from "@/api/monitor/loginInfo/types";
-import { DateModelType } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_common_status } = toRefs<any>(proxy?.useDict("sys_common_status"));
@@ -118,8 +116,8 @@
const dateRange = ref<[DateModelType,DateModelType]>(['', '']);
const defaultSort = ref<any>({ prop: "loginTime", order: "descending" });
-const queryFormRef = ref(ElForm);
-const loginInfoTableRef = ref(ElTable);
+const queryFormRef = ref<ElFormInstance>();
+const loginInfoTableRef = ref<ElTableInstance>();
// 鏌ヨ鍙傛暟
const queryParams = ref<LoginInfoQuery>({
pageNum: 1,
@@ -147,9 +145,9 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
dateRange.value = ['', ''];
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
queryParams.value.pageNum = 1;
- loginInfoTableRef.value.sort(defaultSort.value.prop, defaultSort.value.order);
+ loginInfoTableRef.value?.sort(defaultSort.value.prop, defaultSort.value.order);
}
/** 澶氶�夋閫変腑鏁版嵁 */
const handleSelectionChange = (selection: LoginInfoVO[]) => {
@@ -169,14 +167,14 @@
const infoIds = row?.infoId || ids.value;
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎璁块棶缂栧彿涓�"' + infoIds + '"鐨勬暟鎹」?');
await delLoginInfo(infoIds);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
/** 娓呯┖鎸夐挳鎿嶄綔 */
const handleClean = async () => {
await proxy?.$modal.confirm("鏄惁纭娓呯┖鎵�鏈夌櫥褰曟棩蹇楁暟鎹」?");
await cleanLoginInfo();
- getList();
+ await getList();
proxy?.$modal.msgSuccess("娓呯┖鎴愬姛");
}
/** 瑙i攣鎸夐挳鎿嶄綔 */
diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue
index 72cd46e..6d7bf87 100644
--- a/src/views/monitor/online/index.vue
+++ b/src/views/monitor/online/index.vue
@@ -56,7 +56,6 @@
<script setup name="Online" lang="ts">
import { forceLogout, list as initData } from "@/api/monitor/online";
-import { ComponentInternalInstance } from "vue";
import { OnlineQuery, OnlineVO } from "@/api/monitor/online/types";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -65,42 +64,42 @@
const loading = ref(true);
const total = ref(0);
-const queryFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
const queryParams = ref<OnlineQuery>({
- pageNum: 1,
- pageSize: 10,
- ipaddr: '',
- userName: ''
+ pageNum: 1,
+ pageSize: 10,
+ ipaddr: '',
+ userName: ''
});
/** 鏌ヨ鐧诲綍鏃ュ織鍒楄〃 */
const getList = async () => {
- loading.value = true;
- const res = await initData(queryParams.value);
- onlineList.value = res.rows;
- total.value = res.total;
- loading.value = false;
+ loading.value = true;
+ const res = await initData(queryParams.value);
+ onlineList.value = res.rows;
+ total.value = res.total;
+ loading.value = false;
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
- queryParams.value.pageNum = 1;
- getList();
+ queryParams.value.pageNum = 1;
+ getList();
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
- handleQuery();
+ queryFormRef.value?.resetFields();
+ handleQuery();
}
/** 寮洪��鎸夐挳鎿嶄綔 */
const handleForceLogout = async (row: OnlineVO) => {
- await proxy?.$modal.confirm('鏄惁纭寮洪��鍚嶇О涓�"' + row.userName + '"鐨勭敤鎴�?');
- await forceLogout(row.tokenId);
- getList();
- proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ await proxy?.$modal.confirm('鏄惁纭寮洪��鍚嶇О涓�"' + row.userName + '"鐨勭敤鎴�?');
+ await forceLogout(row.tokenId);
+ getList();
+ proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
onMounted(() => {
- getList();
+ getList();
})
</script>
diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue
index 51665e1..70a2bd7 100644
--- a/src/views/monitor/operlog/index.vue
+++ b/src/views/monitor/operlog/index.vue
@@ -134,7 +134,7 @@
<el-form-item label="鎿嶄綔鏂规硶锛�">{{ form.method }}</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="璇锋眰鍙傛暟锛�">{{form.operParam}}</el-form-item>
+ <el-form-item label="璇锋眰鍙傛暟锛�">{{ form.operParam }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="杩斿洖鍙傛暟锛�">{{ form.jsonResult }}</el-form-item>
@@ -167,12 +167,10 @@
<script setup name="Operlog" lang="ts">
import { list, delOperlog, cleanOperlog } from '@/api/monitor/operlog';
-import { ComponentInternalInstance } from 'vue';
import { OperLogForm, OperLogQuery, OperLogVO } from '@/api/monitor/operlog/types';
-import { DateModelType } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { sys_oper_type, sys_common_status } = toRefs<any>(proxy?.useDict("sys_oper_type","sys_common_status"));
+const { sys_oper_type, sys_common_status } = toRefs<any>(proxy?.useDict("sys_oper_type", "sys_common_status"));
const operlogList = ref<OperLogVO[]>([]);
const loading = ref(true);
@@ -183,116 +181,116 @@
const dateRange = ref<[DateModelType, DateModelType]>(['', '']);
const defaultSort = ref<any>({ prop: "operTime", order: "descending" });
-const operLogTableRef = ref(ElTable);
-const queryFormRef = ref(ElForm);
+const operLogTableRef = ref<ElTableInstance>();
+const queryFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
- visible: false,
- title: ''
+ visible: false,
+ title: ''
});
const data = reactive<PageData<OperLogForm, OperLogQuery>>({
- form: {
- operId: undefined,
- tenantId: undefined,
- title: '',
- businessType: 0,
- businessTypes: undefined,
- method: '',
- requestMethod: '',
- operatorType: 0,
- operName: '',
- deptName: '',
- operUrl: '',
- operIp: '',
- operLocation: '',
- operParam: '',
- jsonResult: '',
- status: 0,
- errorMsg: '',
- operTime: '',
- costTime: 0
- },
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- title: '',
- operName: '',
- businessType: '',
- status: '',
- orderByColumn: defaultSort.value.prop,
- isAsc: defaultSort.value.order
- },
- rules: {}
+ form: {
+ operId: undefined,
+ tenantId: undefined,
+ title: '',
+ businessType: 0,
+ businessTypes: undefined,
+ method: '',
+ requestMethod: '',
+ operatorType: 0,
+ operName: '',
+ deptName: '',
+ operUrl: '',
+ operIp: '',
+ operLocation: '',
+ operParam: '',
+ jsonResult: '',
+ status: 0,
+ errorMsg: '',
+ operTime: '',
+ costTime: 0
+ },
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ title: '',
+ operName: '',
+ businessType: '',
+ status: '',
+ orderByColumn: defaultSort.value.prop,
+ isAsc: defaultSort.value.order
+ },
+ rules: {}
});
const { queryParams, form } = toRefs(data);
/** 鏌ヨ鐧诲綍鏃ュ織 */
const getList = async () => {
- loading.value = true;
- const res = await list(proxy?.addDateRange(queryParams.value, dateRange.value));
- operlogList.value = res.rows;
- total.value = res.total;
- loading.value = false;
+ loading.value = true;
+ const res = await list(proxy?.addDateRange(queryParams.value, dateRange.value));
+ operlogList.value = res.rows;
+ total.value = res.total;
+ loading.value = false;
}
/** 鎿嶄綔鏃ュ織绫诲瀷瀛楀吀缈昏瘧 */
const typeFormat = (row: OperLogForm) => {
- return proxy?.selectDictLabel(sys_oper_type.value, row.businessType);
+ return proxy?.selectDictLabel(sys_oper_type.value, row.businessType);
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
- queryParams.value.pageNum = 1;
- getList();
+ queryParams.value.pageNum = 1;
+ getList();
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- dateRange.value = ['', ''];
- queryFormRef.value.resetFields();
- queryParams.value.pageNum = 1;
- operLogTableRef.value.sort(defaultSort.value.prop, defaultSort.value.order);
+ dateRange.value = ['', ''];
+ queryFormRef.value?.resetFields();
+ queryParams.value.pageNum = 1;
+ operLogTableRef.value?.sort(defaultSort.value.prop, defaultSort.value.order);
}
/** 澶氶�夋閫変腑鏁版嵁 */
const handleSelectionChange = (selection: OperLogVO[]) => {
- ids.value = selection.map(item => item.operId);
- multiple.value = !selection.length;
+ ids.value = selection.map(item => item.operId);
+ multiple.value = !selection.length;
}
/** 鎺掑簭瑙﹀彂浜嬩欢 */
const handleSortChange = (column: any) => {
- queryParams.value.orderByColumn = column.prop;
- queryParams.value.isAsc = column.order;
- getList();
+ queryParams.value.orderByColumn = column.prop;
+ queryParams.value.isAsc = column.order;
+ getList();
}
/** 璇︾粏鎸夐挳鎿嶄綔 */
const handleView = (row: OperLogVO) => {
- dialog.visible = true;
- form.value = row;
+ dialog.visible = true;
+ form.value = row;
}
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
const handleDelete = async (row?: OperLogVO) => {
- const operIds = row?.operId || ids.value;
- await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鏃ュ織缂栧彿涓�"' + operIds + '"鐨勬暟鎹」?');
- await delOperlog(operIds);
- getList();
- proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ const operIds = row?.operId || ids.value;
+ await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鏃ュ織缂栧彿涓�"' + operIds + '"鐨勬暟鎹」?');
+ await delOperlog(operIds);
+ await getList();
+ proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
/** 娓呯┖鎸夐挳鎿嶄綔 */
const handleClean = async () => {
- await proxy?.$modal.confirm("鏄惁纭娓呯┖鎵�鏈夋搷浣滄棩蹇楁暟鎹」?");
- await cleanOperlog();
- getList();
- proxy?.$modal.msgSuccess("娓呯┖鎴愬姛");
+ await proxy?.$modal.confirm("鏄惁纭娓呯┖鎵�鏈夋搷浣滄棩蹇楁暟鎹」?");
+ await cleanOperlog();
+ await getList();
+ proxy?.$modal.msgSuccess("娓呯┖鎴愬姛");
}
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
const handleExport = () => {
- proxy?.download("monitor/operlog/export", {
- ...queryParams.value,
- }, `config_${new Date().getTime()}.xlsx`);
+ proxy?.download("monitor/operlog/export", {
+ ...queryParams.value,
+ }, `config_${new Date().getTime()}.xlsx`);
}
onMounted(() => {
- getList();
+ getList();
})
</script>
diff --git a/src/views/register.vue b/src/views/register.vue
index b80ce5d..5ff6abd 100644
--- a/src/views/register.vue
+++ b/src/views/register.vue
@@ -58,7 +58,6 @@
<script setup lang="ts">
import { getCodeImg, register, getTenantList } from '@/api/login';
import { RegisterForm, TenantVO } from '@/api/types';
-import { FormRules } from 'element-plus';
import { to } from 'await-to-js';
const router = useRouter();
@@ -85,7 +84,7 @@
}
};
-const registerRules: FormRules = {
+const registerRules: ElFormRules = {
tenantId: [
{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勭鎴风紪鍙�" }
],
diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue
index b0819b9..8ed9f79 100644
--- a/src/views/system/config/index.vue
+++ b/src/views/system/config/index.vue
@@ -125,8 +125,6 @@
<script setup name="Config" lang="ts">
import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
import { ConfigForm, ConfigQuery, ConfigVO } from "@/api/system/config/types";
-import { ComponentInternalInstance } from "vue";
-import { DateModelType } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_yes_no } = toRefs<any>(proxy?.useDict("sys_yes_no"));
@@ -140,124 +138,124 @@
const total = ref(0);
const dateRange = ref<[DateModelType, DateModelType]>(['', '']);
-const queryFormRef = ref(ElForm);
-const configFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const configFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
- visible: false,
- title: ''
+ visible: false,
+ title: ''
});
const initFormData: ConfigForm = {
- configId: undefined,
- configName: '',
- configKey: '',
- configValue: '',
- configType: "Y",
- remark: ''
+ configId: undefined,
+ configName: '',
+ configKey: '',
+ configValue: '',
+ configType: "Y",
+ remark: ''
}
const data = reactive<PageData<ConfigForm, ConfigQuery>>({
- form: {...initFormData},
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- configName: '',
- configKey: '',
- configType: '',
- },
- rules: {
- configName: [{ required: true, message: "鍙傛暟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
- configKey: [{ required: true, message: "鍙傛暟閿悕涓嶈兘涓虹┖", trigger: "blur" }],
- configValue: [{ required: true, message: "鍙傛暟閿�间笉鑳戒负绌�", trigger: "blur" }]
- }
+ form: { ...initFormData },
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ configName: '',
+ configKey: '',
+ configType: '',
+ },
+ rules: {
+ configName: [{ required: true, message: "鍙傛暟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
+ configKey: [{ required: true, message: "鍙傛暟閿悕涓嶈兘涓虹┖", trigger: "blur" }],
+ configValue: [{ required: true, message: "鍙傛暟閿�间笉鑳戒负绌�", trigger: "blur" }]
+ }
});
const { queryParams, form, rules } = toRefs(data);
/** 鏌ヨ鍙傛暟鍒楄〃 */
const getList = async () => {
- loading.value = true;
- const res = await listConfig(proxy?.addDateRange(queryParams.value, dateRange.value));
- configList.value = res.rows;
- total.value = res.total;
- loading.value = false;
+ loading.value = true;
+ const res = await listConfig(proxy?.addDateRange(queryParams.value, dateRange.value));
+ configList.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};
- configFormRef.value.resetFields();
+ form.value = { ...initFormData };
+ configFormRef.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 handleSelectionChange = (selection: ConfigVO[]) => {
- ids.value = selection.map(item => item.configId);
- single.value = selection.length != 1;
- multiple.value = !selection.length;
+ ids.value = selection.map(item => item.configId);
+ 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?: ConfigVO) => {
- dialog.visible = true;
- dialog.title = "淇敼鍙傛暟";
- const configId = row?.configId || ids.value[0];
- nextTick(async () => {
- reset();
- const res = await getConfig(configId);
- form.value = res.data;
- })
+ dialog.visible = true;
+ dialog.title = "淇敼鍙傛暟";
+ const configId = row?.configId || ids.value[0];
+ nextTick(async () => {
+ reset();
+ const res = await getConfig(configId);
+ form.value = res.data;
+ })
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- configFormRef.value.validate(async (valid: boolean) => {
- if (valid) {
- form.value.configId ? await updateConfig(form.value) : await addConfig(form.value);
- proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
- dialog.visible = false;
- getList();
- }
- });
+ configFormRef.value?.validate(async (valid: boolean) => {
+ if (valid) {
+ form.value.configId ? await updateConfig(form.value) : await addConfig(form.value);
+ proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+ dialog.visible = false;
+ await getList();
+ }
+ });
}
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
const handleDelete = async (row?: ConfigVO) => {
- const configIds = row?.configId || ids.value;
- await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鍙傛暟缂栧彿涓�"' + configIds + '"鐨勬暟鎹」锛�');
- await delConfig(configIds);
- getList();
- proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ const configIds = row?.configId || ids.value;
+ await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鍙傛暟缂栧彿涓�"' + configIds + '"鐨勬暟鎹」锛�');
+ await delConfig(configIds);
+ await getList();
+ proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
const handleExport = () => {
- proxy?.download("system/config/export", {
- ...queryParams.value
- }, `config_${new Date().getTime()}.xlsx`);
+ proxy?.download("system/config/export", {
+ ...queryParams.value
+ }, `config_${new Date().getTime()}.xlsx`);
}
/** 鍒锋柊缂撳瓨鎸夐挳鎿嶄綔 */
const handleRefreshCache = async () => {
- await refreshCache();
- proxy?.$modal.msgSuccess("鍒锋柊缂撳瓨鎴愬姛");
+ await refreshCache();
+ proxy?.$modal.msgSuccess("鍒锋柊缂撳瓨鎴愬姛");
}
onMounted(() => {
- getList();
+ getList();
})
</script>
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 4e7750d..7daac8b 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -132,9 +132,7 @@
<script setup name="Dept" lang="ts">
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept"
-import { ComponentInternalInstance } from 'vue';
import { DeptForm, DeptQuery, DeptVO } from "@/api/system/dept/types";
-import { ElTable, ElForm } from "element-plus";
interface DeptOptionsType {
deptId: number | string;
@@ -158,9 +156,9 @@
title: ''
});
-const deptTableRef = ref(ElTable);
-const queryFormRef = ref(ElForm);
-const deptFormRef = ref(ElForm);
+const deptTableRef = ref<ElTableInstance>();
+const queryFormRef = ref<ElFormInstance>();
+const deptFormRef = ref<ElFormInstance>();
const initFormData: DeptForm = {
deptId: undefined,
@@ -209,7 +207,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = {...initFormData};
- deptFormRef.value.resetFields();
+ deptFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -218,7 +216,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery()
}
/** 鏂板鎸夐挳鎿嶄綔 */
@@ -246,7 +244,7 @@
/** 灞曞紑/鎶樺彔鎵�鏈� */
const toggleExpandAll = (data: DeptVO[], status: boolean) => {
data.forEach((item) => {
- deptTableRef.value.toggleRowExpansion(item, status)
+ deptTableRef.value?.toggleRowExpansion(item, status)
if(item.children && item.children.length > 0) toggleExpandAll(item.children, status)
})
}
@@ -256,28 +254,32 @@
const res = await getDept(row.deptId);
dialog.visible = true;
dialog.title = "淇敼閮ㄩ棬";
- 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);
- }
+ 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) => {
+ 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;
- getList();
+ await getList();
}
})
}
@@ -285,7 +287,7 @@
const handleDelete = async (row: DeptVO) => {
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」?');
await delDept(row.deptId);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue
index efa823a..1bd7a8b 100644
--- a/src/views/system/dict/data.vue
+++ b/src/views/system/dict/data.vue
@@ -138,9 +138,7 @@
import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type";
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
import { DictTypeVO } from '@/api/system/dict/type/types';
-import { ComponentInternalInstance } from "vue";
import { DictDataForm, DictDataQuery, DictDataVO } from "@/api/system/dict/data/types";
-import { ElForm } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance
const { sys_normal_disable } = toRefs<any>(proxy?.useDict("sys_normal_disable"));
@@ -156,8 +154,8 @@
const defaultDictType = ref("");
const typeOptions = ref<DictTypeVO[]>([]);
-const dataFormRef = ref(ElForm);
-const queryFormRef = ref(ElForm);
+const dataFormRef = ref<ElFormInstance>();
+const queryFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
@@ -233,7 +231,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = { ...initFormData };
- dataFormRef.value.resetFields();
+ dataFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -247,7 +245,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
queryParams.value.dictType = defaultDictType.value;
handleQuery();
}
@@ -279,13 +277,13 @@
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- dataFormRef.value.validate(async (valid: boolean) => {
+ 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;
- getList();
+ await getList();
}
});
@@ -295,7 +293,7 @@
const dictCodes = row?.dictCode || ids.value;
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」锛�');
await delData(dictCodes);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
useDictStore().removeDict(queryParams.value.dictType);
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index f23fa65..710d0fc 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -125,9 +125,7 @@
<script setup name="Dict" lang="ts">
import useDictStore from '@/store/modules/dict'
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
-import { ComponentInternalInstance } from "vue";
import { DictTypeForm, DictTypeQuery, DictTypeVO } from "@/api/system/dict/type/types";
-import { DateModelType } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_normal_disable } = toRefs<any>(proxy?.useDict("sys_normal_disable"))
@@ -141,8 +139,8 @@
const total = ref(0);
const dateRange = ref<[DateModelType, DateModelType]>(['', '']);
-const dictFormRef = ref(ElForm);
-const queryFormRef = ref(ElForm);
+const dictFormRef = ref<ElFormInstance>();
+const queryFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
@@ -191,7 +189,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = {...initFormData};
- dictFormRef.value.resetFields();
+ dictFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -201,7 +199,7 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
dateRange.value = ['', ''];
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 鏂板鎸夐挳鎿嶄綔 */
@@ -232,7 +230,7 @@
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- dictFormRef.value.validate(async (valid: boolean) => {
+ dictFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
form.value.dictId ? await updateType(form.value) : await addType(form.value);
proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index aa8f352..7578389 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -263,9 +263,7 @@
<script setup name="Menu" lang="ts">
import { addMenu, delMenu, getMenu, listMenu, updateMenu } from '@/api/system/menu';
import { MenuForm, MenuQuery, MenuVO } from '@/api/system/menu/types';
-import { ComponentInternalInstance } from 'vue';
import { MenuTypeEnum } from '@/enums/MenuTypeEnum';
-import { ElTable, ElForm } from 'element-plus';
interface MenuOptionsType {
menuId: number;
@@ -287,8 +285,8 @@
title: ''
});
-const queryFormRef = ref(ElForm);
-const menuFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const menuFormRef = ref<ElFormInstance>();
const initFormData = {
path: '',
menuId: undefined,
@@ -315,7 +313,7 @@
},
})
-const menuTableRef = ref(ElTable);
+const menuTableRef = ref<ElTableInstance>();
const { queryParams, form, rules } = toRefs<PageData<MenuForm, MenuQuery>>(data)
/** 鏌ヨ鑿滃崟鍒楄〃 */
@@ -344,7 +342,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = { ...initFormData };
- menuFormRef.value.resetFields();
+ menuFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -353,7 +351,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 鏂板鎸夐挳鎿嶄綔 */
@@ -375,7 +373,7 @@
/** 灞曞紑/鎶樺彔鎵�鏈� */
const toggleExpandAll = (data: MenuVO[], status: boolean) => {
data.forEach((item: MenuVO) => {
- menuTableRef.value.toggleRowExpansion(item, status)
+ menuTableRef.value?.toggleRowExpansion(item, status)
if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
})
}
@@ -395,12 +393,12 @@
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- menuFormRef.value.validate(async (valid: boolean) => {
+ 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;
- getList();
+ await getList();
}
})
}
@@ -408,7 +406,7 @@
const handleDelete = async (row: MenuVO) => {
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.menuName + '"鐨勬暟鎹」?');
await delMenu(row.menuId);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue
index d075f5d..8b92af7 100644
--- a/src/views/system/notice/index.vue
+++ b/src/views/system/notice/index.vue
@@ -121,9 +121,7 @@
<script setup name="Notice" lang="ts">
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice";
-import { ComponentInternalInstance } from "vue";
import { NoticeForm, NoticeQuery, NoticeVO } from "@/api/system/notice/types";
-import { ElForm } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_notice_status, sys_notice_type } = toRefs<any>(proxy?.useDict("sys_notice_status", "sys_notice_type"));
@@ -136,8 +134,8 @@
const multiple = ref(true);
const total = ref(0);
-const queryFormRef = ref(ElForm);
-const noticeFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const noticeFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
@@ -188,7 +186,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = { ...initFormData };
- noticeFormRef.value.resetFields();
+ noticeFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -197,7 +195,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 澶氶�夋閫変腑鏁版嵁 */
@@ -227,12 +225,12 @@
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- noticeFormRef.value.validate(async (valid: boolean) => {
+ 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;
- getList();
+ await getList();
}
});
}
@@ -241,7 +239,7 @@
const noticeIds = row?.noticeId || ids.value
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎鍏憡缂栧彿涓�"' + noticeIds + '"鐨勬暟鎹」锛�');
await delNotice(noticeIds);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
diff --git a/src/views/system/oss/config.vue b/src/views/system/oss/config.vue
index 752f787..3ce6b02 100644
--- a/src/views/system/oss/config.vue
+++ b/src/views/system/oss/config.vue
@@ -140,9 +140,7 @@
updateOssConfig,
changeOssConfigStatus
} from "@/api/system/ossConfig";
-import { ComponentInternalInstance } from "vue";
import { OssConfigForm, OssConfigQuery, OssConfigVO } from "@/api/system/ossConfig/types";
-import { ElForm } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance
@@ -157,8 +155,8 @@
const multiple = ref(true);
const total = ref(0);
-const queryFormRef = ref(ElForm);
-const ossConfigFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const ossConfigFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
@@ -264,7 +262,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = { ...initFormData };
- ossConfigFormRef.value.resetFields();
+ ossConfigFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -273,7 +271,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 閫夋嫨鏉℃暟 */
@@ -305,7 +303,7 @@
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- ossConfigFormRef.value.validate(async (valid: boolean) => {
+ ossConfigFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.ossConfigId) {
diff --git a/src/views/system/oss/index.vue b/src/views/system/oss/index.vue
index 4cf6484..e067eeb 100644
--- a/src/views/system/oss/index.vue
+++ b/src/views/system/oss/index.vue
@@ -135,9 +135,7 @@
<script setup name="Oss" lang="ts">
import { listOss, delOss } from "@/api/system/oss";
import ImagePreview from "@/components/ImagePreview/index.vue";
-import { ComponentInternalInstance } from "vue";
import { OssForm, OssQuery, OssVO } from "@/api/system/oss/types";
-import { DateModelType } from 'element-plus';
const router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -163,8 +161,8 @@
// 榛樿鎺掑簭
const defaultSort = ref({ prop: 'createTime', order: 'ascending' });
-const ossFormRef = ref(ElForm);
-const queryFormRef = ref(ElForm);
+const ossFormRef = ref<ElFormInstance>();
+const queryFormRef = ref<ElFormInstance>();
const initFormData = {
file: undefined,
@@ -217,7 +215,7 @@
/** 琛ㄥ崟閲嶇疆 */
function reset() {
form.value = { ...initFormData };
- ossFormRef.value.resetFields();
+ ossFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
function handleQuery() {
@@ -228,7 +226,7 @@
function resetQuery() {
showTable.value = false;
daterangeCreateTime.value = ['', ''];
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
queryParams.value.orderByColumn = defaultSort.value.prop;
queryParams.value.isAsc = defaultSort.value.order;
handleQuery();
diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue
index e82cfa2..6b1e8fd 100644
--- a/src/views/system/post/index.vue
+++ b/src/views/system/post/index.vue
@@ -109,7 +109,6 @@
<script setup name="Post" lang="ts">
import { listPost, addPost, delPost, getPost, updatePost } from "@/api/system/post";
import { PostForm, PostQuery, PostVO } from "@/api/system/post/types";
-import { ComponentInternalInstance } from "vue";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { sys_normal_disable } = toRefs<any>(proxy?.useDict("sys_normal_disable"));
@@ -122,8 +121,8 @@
const multiple = ref(true);
const total = ref(0);
-const postFormRef = ref(ElForm);
-const queryFormRef = ref(ElForm);
+const postFormRef = ref<ElFormInstance>();
+const queryFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
@@ -173,7 +172,7 @@
/** 琛ㄥ崟閲嶇疆 */
const reset = () => {
form.value = {...initFormData};
- postFormRef.value.resetFields();
+ postFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -182,7 +181,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 澶氶�夋閫変腑鏁版嵁 */
@@ -212,12 +211,12 @@
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- postFormRef.value.validate(async (valid: boolean) => {
+ 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;
- getList();
+ await getList();
}
});
}
@@ -226,7 +225,7 @@
const postIds = row?.postId || ids.value;
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎宀椾綅缂栧彿涓�"' + postIds + '"鐨勬暟鎹」锛�');
await delPost(postIds);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue
index ae4f73f..815c82f 100644
--- a/src/views/system/role/authUser.vue
+++ b/src/views/system/role/authUser.vue
@@ -58,13 +58,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" />
<select-user ref="selectRef" :roleId="queryParams.roleId" @ok="handleQuery" />
</el-card>
</div>
@@ -73,10 +67,8 @@
<script setup name="AuthUser" lang="ts">
import { allocatedUserList, authUserCancel, authUserCancelAll } from "@/api/system/role";
import { UserQuery } from "@/api/system/user/types";
-import { ComponentInternalInstance } from "vue";
import { UserVO } from "@/api/system/user/types";
import SelectUser from "./selectUser.vue";
-// import { ElForm, ElSelect} from 'element-plus';
const route = useRoute();
@@ -90,8 +82,8 @@
const total = ref(0);
const userIds = ref<Array<string | number>>([]);
-const queryFormRef = ref(ElForm);
-const selectRef = ref(SelectUser);
+const queryFormRef = ref<ElFormInstance>();
+const selectRef = ref<InstanceType<typeof SelectUser>>();
const queryParams = reactive<UserQuery>({
pageNum: 1,
@@ -121,7 +113,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery=() =>{
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
// 澶氶�夋閫変腑鏁版嵁
@@ -137,7 +129,7 @@
const cancelAuthUser = async (row: UserVO) => {
await proxy?.$modal.confirm('纭瑕佸彇娑堣鐢ㄦ埛"' + row.userName + '"瑙掕壊鍚楋紵');
await authUserCancel({ userId: row.userId, roleId: queryParams.roleId });
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍙栨秷鎺堟潈鎴愬姛");
}
/** 鎵归噺鍙栨秷鎺堟潈鎸夐挳鎿嶄綔 */
@@ -146,7 +138,7 @@
const uIds = userIds.value.join(",");
await proxy?.$modal.confirm("鏄惁鍙栨秷閫変腑鐢ㄦ埛鎺堟潈鏁版嵁椤�?");
await authUserCancelAll({ roleId: roleId, userIds: uIds });
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍙栨秷鎺堟潈鎴愬姛");
}
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index fd42b4b..c61c65f 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -198,8 +198,6 @@
import { roleMenuTreeselect, treeselect as menuTreeselect } from '@/api/system/menu/index';
import { RoleVO, RoleForm, RoleQuery, DeptTreeOption } from '@/api/system/role/types';
import { MenuTreeOption, RoleMenuTree } from '@/api/system/menu/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElTree, ElForm, DateModelType } from 'element-plus';
const router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -230,11 +228,11 @@
{ value: "5", label: "浠呮湰浜烘暟鎹潈闄�" }
])
-const queryFormRef = ref(ElForm);
-const roleFormRef = ref(ElForm);
-const dataScopeRef = ref(ElForm);
-const menuRef = ref(ElTree);
-const deptRef = ref(ElTree);
+const queryFormRef = ref<ElFormInstance>();
+const roleFormRef = ref<ElFormInstance>();
+const dataScopeRef = ref<ElFormInstance>();
+const menuRef = ref<ElTreeInstance>();
+const deptRef = ref<ElTreeInstance>();
const initForm: RoleForm = {
roleId: undefined,
@@ -297,7 +295,7 @@
/** 閲嶇疆 */
const resetQuery = () => {
dateRange.value = ['', '']
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/**鍒犻櫎鎸夐挳鎿嶄綔 */
@@ -345,23 +343,25 @@
menuOptions.value = res.data;
}
/** 鎵�鏈夐儴闂ㄨ妭鐐规暟鎹� */
-const getDeptAllCheckedKeys = () => {
+const getDeptAllCheckedKeys = (): any => {
// 鐩墠琚�変腑鐨勯儴闂ㄨ妭鐐�
- let checkedKeys = deptRef.value.getCheckedKeys();
+ let checkedKeys = deptRef.value?.getCheckedKeys();
// 鍗婇�変腑鐨勯儴闂ㄨ妭鐐�
- let halfCheckedKeys = deptRef.value.getHalfCheckedKeys();
- checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
+ let halfCheckedKeys = deptRef.value?.getHalfCheckedKeys();
+ if(halfCheckedKeys) {
+ checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
+ }
return checkedKeys
}
/** 閲嶇疆鏂板鐨勮〃鍗曚互鍙婂叾浠栨暟鎹� */
const reset = () => {
- menuRef.value.setCheckedKeys([]);
+ menuRef.value?.setCheckedKeys([]);
menuExpand.value = false
menuNodeAll.value = false
deptExpand.value = true
deptNodeAll.value = false
form.value = { ...initForm };
- roleFormRef.value.resetFields();
+ roleFormRef.value?.resetFields();
}
@@ -381,19 +381,19 @@
const { data } = await getRole(roleId);
dialog.visible = true;
dialog.title = "淇敼瑙掕壊";
- 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);
- })
- })
+ 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鏌ヨ鑿滃崟鏍戠粨鏋� */
@@ -410,25 +410,29 @@
return res.data;
}
/** 鏍戞潈闄愶紙灞曞紑/鎶樺彔锛�*/
-const handleCheckedTreeExpand = (value: any, type: string) => {
+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++) {
- deptRef.value.store.nodesMap[treeList[i].id].expanded = value;
+ 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 : []);
+ menuRef.value?.setCheckedNodes(value ? menuOptions.value as any : []);
} else if (type == "dept") {
- deptRef.value.setCheckedNodes(value ? deptOptions.value : []);
+ deptRef.value?.setCheckedNodes(value ? deptOptions.value as any : []);
}
}
/** 鏍戞潈闄愶紙鐖跺瓙鑱斿姩锛� */
@@ -440,17 +444,19 @@
}
}
/** 鎵�鏈夎彍鍗曡妭鐐规暟鎹� */
-const getMenuAllCheckedKeys = () => {
+const getMenuAllCheckedKeys = (): any => {
// 鐩墠琚�変腑鐨勮彍鍗曡妭鐐�
- let checkedKeys = menuRef.value.getCheckedKeys();
+ let checkedKeys = menuRef.value?.getCheckedKeys();
// 鍗婇�変腑鐨勮彍鍗曡妭鐐�
- let halfCheckedKeys = menuRef.value.getHalfCheckedKeys();
- checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
+ let halfCheckedKeys = menuRef.value?.getHalfCheckedKeys();
+ if (halfCheckedKeys) {
+ checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
+ }
return checkedKeys;
}
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- roleFormRef.value.validate(async (valid: boolean) => {
+ roleFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
form.value.menuIds = getMenuAllCheckedKeys()
form.value.roleId ? await updateRole(form.value) : await addRole(form.value);
@@ -468,7 +474,7 @@
/** 閫夋嫨瑙掕壊鏉冮檺鑼冨洿瑙﹀彂 */
const dataScopeSelectChange = (value: string) => {
if (value !== "2") {
- deptRef.value.setCheckedKeys([])
+ deptRef.value?.setCheckedKeys([])
}
}
/** 鍒嗛厤鏁版嵁鏉冮檺鎿嶄綔 */
@@ -478,13 +484,13 @@
Object.assign(form.value, response.data);
openDataScope.value = true;
dialog.title = "鍒嗛厤鏁版嵁鏉冮檺";
- nextTick(async () => {
- const res = await roleDeptTreeselect;
- nextTick(() => {
- if (deptRef.value) {
- deptRef.value.setCheckedKeys(res.checkedKeys);
- }
- })
+ await nextTick(async () => {
+ const res = await roleDeptTreeselect;
+ await nextTick(() => {
+ if (deptRef.value) {
+ deptRef.value.setCheckedKeys(res.checkedKeys);
+ }
+ })
})
}
/** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
@@ -499,7 +505,7 @@
}
/** 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級*/
const cancelDataScope = () => {
- dataScopeRef.value.resetFields();
+ dataScopeRef.value?.resetFields();
form.value = {...initForm};
openDataScope.value = false;
}
diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue
index 38c6a44..5d26332 100644
--- a/src/views/system/role/selectUser.vue
+++ b/src/views/system/role/selectUser.vue
@@ -47,8 +47,6 @@
import { authUserSelectAll, unallocatedUserList } from "@/api/system/role";
import { UserVO } from '@/api/system/user/types';
import { UserQuery } from '@/api/system/user/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm, ElTable } from 'element-plus';
const props = defineProps({
@@ -73,8 +71,8 @@
phonenumber: undefined
})
-const tableRef = ref(ElTable);
-const queryFormRef = ref(ElForm);
+const tableRef = ref<ElTableInstance>();
+const queryFormRef = ref<ElFormInstance>();
const show = () => {
queryParams.roleId = props.roleId;
@@ -86,7 +84,8 @@
* 閫夋嫨琛�
*/
const clickRow = (row: any) => {
- tableRef.value.toggleRowSelection(row);
+ // ele鐨刡ug
+ tableRef.value?.toggleRowSelection(row);
}
/** 澶氶�夋閫変腑鏁版嵁 */
const handleSelectionChange = (selection: UserVO[]) => {
@@ -106,7 +105,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
getList();
}
diff --git a/src/views/system/tenant/index.vue b/src/views/system/tenant/index.vue
index 8ea4b40..b593607 100644
--- a/src/views/system/tenant/index.vue
+++ b/src/views/system/tenant/index.vue
@@ -145,8 +145,6 @@
import { selectTenantPackage } from '@/api/system/tenantPackage';
import { TenantForm, TenantQuery, TenantVO } from '@/api/system/tenant/types';
import { TenantPkgVO } from '@/api/system/tenantPackage/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -160,8 +158,8 @@
const multiple = ref(true);
const total = ref(0);
-const queryFormRef = ref(ElForm);
-const tenantFormRef = ref(ElForm);
+const queryFormRef = ref<ElFormInstance>();
+const tenantFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
@@ -253,7 +251,7 @@
// 琛ㄥ崟閲嶇疆
const reset = () => {
form.value = {...initFormData};
- tenantFormRef.value.resetFields();
+ tenantFormRef.value?.resetFields();
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -264,7 +262,7 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
@@ -292,7 +290,7 @@
dialog.title = "淇敼绉熸埛";
nextTick(async () => {
reset();
- getTenantPackage();
+ await getTenantPackage();
const _id = row?.id || ids.value[0];
const res = await getTenant(_id);
loading.value = false;
@@ -302,7 +300,7 @@
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- tenantFormRef.value.validate(async (valid: boolean) => {
+ tenantFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.id) {
@@ -323,7 +321,7 @@
await proxy?.$modal.confirm('鏄惁纭鍒犻櫎绉熸埛缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�')
loading.value = true;
await delTenant(_ids).finally(() => loading.value = false);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
@@ -335,7 +333,7 @@
await proxy?.$modal.confirm('鏄惁纭鍚屾绉熸埛濂楅绉熸埛缂栧彿涓�"' + row.tenantId + '"鐨勬暟鎹」锛�');
loading.value = true;
await syncTenantPackage(row.tenantId, row.packageId);
- getList();
+ await getList();
proxy?.$modal.msgSuccess("鍚屾鎴愬姛");
} catch {return} finally {
loading.value = false;
diff --git a/src/views/system/tenantPackage/index.vue b/src/views/system/tenantPackage/index.vue
index f1837c3..b91f40b 100644
--- a/src/views/system/tenantPackage/index.vue
+++ b/src/views/system/tenantPackage/index.vue
@@ -20,20 +20,20 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
- <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['system:tenantPackage:add']">鏂板</el-button>
+ <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['system:tenantPackage:add']"> 鏂板 </el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['system:tenantPackage:edit']"
- >淇敼</el-button
- >
+ <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['system:tenantPackage:edit']">
+ 淇敼
+ </el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:tenantPackage:remove']"
- >鍒犻櫎</el-button
- >
+ <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:tenantPackage:remove']">
+ 鍒犻櫎
+ </el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['system:tenantPackage:export']">瀵煎嚭</el-button>
+ <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['system:tenantPackage:export']">瀵煎嚭 </el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -55,7 +55,7 @@
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:tenantPackage:edit']"></el-button>
</el-tooltip>
<el-tooltip content="鍒犻櫎" placement="top">
- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:tenantPackage:remove']"> </el-button>
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:tenantPackage:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
@@ -72,8 +72,8 @@
</el-form-item>
<el-form-item label="鍏宠仈鑿滃崟">
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">灞曞紑/鎶樺彔</el-checkbox>
- <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">鍏ㄩ��/鍏ㄤ笉閫�</el-checkbox>
- <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">鐖跺瓙鑱斿姩</el-checkbox>
+ <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">鍏ㄩ��/鍏ㄤ笉閫� </el-checkbox>
+ <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">鐖跺瓙鑱斿姩 </el-checkbox>
<el-tree
class="tree-border"
:data="menuOptions"
@@ -100,12 +100,17 @@
</template>
<script setup name="TenantPackage" lang="ts">
-import { listTenantPackage, getTenantPackage, delTenantPackage, addTenantPackage, updateTenantPackage, changePackageStatus } from "@/api/system/tenantPackage";
+import {
+ listTenantPackage,
+ getTenantPackage,
+ delTenantPackage,
+ addTenantPackage,
+ updateTenantPackage,
+ changePackageStatus
+} from "@/api/system/tenantPackage";
import { treeselect as menuTreeselect, tenantPackageMenuTreeselect } from "@/api/system/menu";
-import { ComponentInternalInstance } from "vue";
import { TenantPkgForm, TenantPkgQuery, TenantPkgVO } from "@/api/system/tenantPackage/types";
import { MenuTreeOption } from "@/api/system/menu/types";
-import { CheckboxValueType, ElTree, ElForm } from 'element-plus';
import to from "await-to-js";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -122,212 +127,216 @@
const menuNodeAll = ref(false);
const menuOptions = ref<MenuTreeOption[]>([]);
-const menuTreeRef = ref(ElTree);
-const queryFormRef = ref(ElForm);
-const tenantPackageFormRef = ref(ElForm);
+const menuTreeRef = ref<ElTreeInstance>();
+const queryFormRef = ref<ElFormInstance>();
+const tenantPackageFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
- visible: false,
- title: ''
+ visible: false,
+ title: ""
});
const initFormData: TenantPkgForm = {
- packageId: undefined,
- packageName: '',
- menuIds: '',
- remark: '',
- menuCheckStrictly: true
+ packageId: undefined,
+ packageName: "",
+ menuIds: "",
+ remark: "",
+ menuCheckStrictly: true
};
const data = reactive<PageData<TenantPkgForm, TenantPkgQuery>>({
- form: {...initFormData},
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- packageName: ''
- },
- rules: {
- packageId: [{ required: true, message: "绉熸埛濂楅id涓嶈兘涓虹┖", trigger: "blur" }],
- packageName: [{ required: true, message: "濂楅鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }]
- }
+ form: { ...initFormData },
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ packageName: ""
+ },
+ rules: {
+ packageId: [{ required: true, message: "绉熸埛濂楅id涓嶈兘涓虹┖", trigger: "blur" }],
+ packageName: [{ required: true, message: "濂楅鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }]
+ }
});
const { queryParams, form, rules } = toRefs(data);
/** 鏌ヨ鑿滃崟鏍戠粨鏋� */
-const getMenuTreeselect = async() => {
- const { data } = await menuTreeselect();
- menuOptions.value = data;
-}
+const getMenuTreeselect = async () => {
+ const { data } = await menuTreeselect();
+ menuOptions.value = data;
+};
// 鎵�鏈夎彍鍗曡妭鐐规暟鎹�
-const getMenuAllCheckedKeys = () => {
- // 鐩墠琚�変腑鐨勮彍鍗曡妭鐐�
- let checkedKeys = menuTreeRef.value.getCheckedKeys();
- // 鍗婇�変腑鐨勮彍鍗曡妭鐐�
- let halfCheckedKeys = menuTreeRef.value.getHalfCheckedKeys();
- checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
- return checkedKeys;
-}
+const getMenuAllCheckedKeys = (): any => {
+ // 鐩墠琚�変腑鐨勮彍鍗曡妭鐐�
+ let checkedKeys = menuTreeRef.value?.getCheckedKeys();
+ // 鍗婇�変腑鐨勮彍鍗曡妭鐐�
+ let halfCheckedKeys = menuTreeRef.value?.getHalfCheckedKeys();
+ if (halfCheckedKeys) {
+ checkedKeys?.unshift.apply(checkedKeys, halfCheckedKeys);
+ }
+ return checkedKeys;
+};
/** 鏍规嵁绉熸埛濂楅ID鏌ヨ鑿滃崟鏍戠粨鏋� */
-const getPackageMenuTreeselect = async(packageId: string | number) => {
- const res = await tenantPackageMenuTreeselect(packageId);
- menuOptions.value = res.data.menus;
- return Promise.resolve(res);
-}
+const getPackageMenuTreeselect = async (packageId: string | number) => {
+ const res = await tenantPackageMenuTreeselect(packageId);
+ menuOptions.value = res.data.menus;
+ return Promise.resolve(res);
+};
/** 鏌ヨ绉熸埛濂楅鍒楄〃 */
const getList = async () => {
- loading.value = true;
- const res = await listTenantPackage(queryParams.value);
- tenantPackageList.value = res.rows;
- total.value = res.total;
- loading.value = false;
-}
+ loading.value = true;
+ const res = await listTenantPackage(queryParams.value);
+ tenantPackageList.value = res.rows;
+ total.value = res.total;
+ loading.value = false;
+};
// 绉熸埛濂楅鐘舵�佷慨鏀�
const handleStatusChange = async (row: TenantPkgVO) => {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
- const [err] = await to(proxy?.$modal.confirm('纭瑕�"' + text + '""' + row.packageName + '"濂楅鍚楋紵') as Promise<any>)
- if (err) {
- row.status = row.status === "0" ? "1" : "0";
- } else {
- await changePackageStatus(row.packageId, row.status);
- proxy?.$modal.msgSuccess(text + "鎴愬姛");
- }
-}
+ let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ const [err] = await to(proxy?.$modal.confirm("纭瑕乗"" + text + "\"\"" + row.packageName + "\"濂楅鍚楋紵") as Promise<any>);
+ if (err) {
+ row.status = row.status === "0" ? "1" : "0";
+ } else {
+ await changePackageStatus(row.packageId, row.status);
+ proxy?.$modal.msgSuccess(text + "鎴愬姛");
+ }
+};
// 鍙栨秷鎸夐挳
const cancel = () => {
- reset();
- dialog.visible = false;
-}
+ reset();
+ dialog.visible = false;
+};
// 琛ㄥ崟閲嶇疆
const reset = () => {
- menuTreeRef.value.setCheckedKeys([]);
- menuExpand.value = false;
- menuNodeAll.value = false;
- form.value = {...initFormData};
- tenantPackageFormRef.value.resetFields();
-}
+ menuTreeRef.value?.setCheckedKeys([]);
+ menuExpand.value = false;
+ menuNodeAll.value = false;
+ form.value = { ...initFormData };
+ tenantPackageFormRef.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: TenantPkgVO[]) => {
- ids.value = selection.map(item => item.packageId);
- single.value = selection.length != 1;
- multiple.value = !selection.length;
-}
+ ids.value = selection.map(item => item.packageId);
+ single.value = selection.length != 1;
+ multiple.value = !selection.length;
+};
// 鏍戞潈闄愶紙灞曞紑/鎶樺彔锛�
const handleCheckedTreeExpand = (value: CheckboxValueType, type: string) => {
- if (type == 'menu') {
- let treeList = menuOptions.value;
- for (let i = 0; i < treeList.length; i++) {
- menuTreeRef.value.store.nodesMap[treeList[i].id].expanded = value;
- }
+ if (type == "menu") {
+ let treeList = menuOptions.value;
+ for (let i = 0; i < treeList.length; i++) {
+ if (menuTreeRef.value) {
+ menuTreeRef.value.store.nodesMap[treeList[i].id].expanded = value as boolean;
+ }
}
-}
+ }
+};
// 鏍戞潈闄愶紙鍏ㄩ��/鍏ㄤ笉閫夛級
const handleCheckedTreeNodeAll = (value: CheckboxValueType, type: string) => {
- if (type == 'menu') {
- menuTreeRef.value.setCheckedNodes(value ? menuOptions.value: []);
- }
-}
+ if (type == "menu") {
+ menuTreeRef.value?.setCheckedNodes(value ? menuOptions.value as any : []);
+ }
+};
// 鏍戞潈闄愶紙鐖跺瓙鑱斿姩锛�
const handleCheckedTreeConnect = (value: CheckboxValueType, type: string) => {
- if (type == 'menu') {
- form.value.menuCheckStrictly = value as boolean;
- }
-}
+ if (type == "menu") {
+ form.value.menuCheckStrictly = value as boolean;
+ }
+};
/** 鏂板鎸夐挳鎿嶄綔 */
const handleAdd = () => {
- dialog.visible = true;
- dialog.title = "娣诲姞绉熸埛濂楅";
- nextTick(() => {
- reset();
- getMenuTreeselect();
- })
-}
+ dialog.visible = true;
+ dialog.title = "娣诲姞绉熸埛濂楅";
+ nextTick(() => {
+ reset();
+ getMenuTreeselect();
+ });
+};
/** 淇敼鎸夐挳鎿嶄綔 */
const handleUpdate = (row?: TenantPkgVO) => {
- loading.value = true
- dialog.visible = true;
- dialog.title = "淇敼绉熸埛濂楅";
- nextTick(async () => {
- reset();
- const _packageId = row?.packageId || ids.value[0];
- const packageMenu = getPackageMenuTreeselect(_packageId);
- const response = await getTenantPackage(_packageId);
- loading.value = false;
- form.value = response.data;
- nextTick(async () => {
- const res = await packageMenu;
- let checkedKeys = res.data.checkedKeys
- checkedKeys.forEach((v) => {
- nextTick(() => {
- menuTreeRef.value.setChecked(v, true ,false);
- })
- })
+ loading.value = true;
+ dialog.visible = true;
+ dialog.title = "淇敼绉熸埛濂楅";
+ nextTick(async () => {
+ reset();
+ const _packageId = row?.packageId || ids.value[0];
+ const packageMenu = getPackageMenuTreeselect(_packageId);
+ const response = await getTenantPackage(_packageId);
+ loading.value = false;
+ form.value = response.data;
+ await nextTick(async () => {
+ const res = await packageMenu;
+ let checkedKeys = res.data.checkedKeys;
+ checkedKeys.forEach((v) => {
+ nextTick(() => {
+ menuTreeRef.value?.setChecked(v, true, false);
});
- })
-}
+ });
+ });
+ });
+};
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- tenantPackageFormRef.value.validate(async (valid: boolean) => {
- if (valid) {
- buttonLoading.value = true;
- form.value.menuIds = getMenuAllCheckedKeys();
- if (form.value.packageId != null) {
- await updateTenantPackage(form.value).finally(() => buttonLoading.value = false);
- } else {
- await addTenantPackage(form.value).finally(() => buttonLoading.value = false);
- }
- proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
- dialog.visible = false;
- getList();
- }
- });
-}
+ tenantPackageFormRef.value?.validate(async (valid: boolean) => {
+ if (valid) {
+ buttonLoading.value = true;
+ form.value.menuIds = getMenuAllCheckedKeys();
+ if (form.value.packageId != null) {
+ await updateTenantPackage(form.value).finally(() => buttonLoading.value = false);
+ } else {
+ await addTenantPackage(form.value).finally(() => buttonLoading.value = false);
+ }
+ proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+ dialog.visible = false;
+ await getList();
+ }
+ });
+};
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
const handleDelete = async (row?: TenantPkgVO) => {
- const _packageIds = row?.packageId || ids.value;
- await proxy?.$modal.confirm('鏄惁纭鍒犻櫎绉熸埛濂楅缂栧彿涓�"' + _packageIds + '"鐨勬暟鎹」锛�').finally(() => {
- loading.value = false;
- });
- await delTenantPackage(_packageIds);
- loading.value = true;
- getList();
- proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-}
+ const _packageIds = row?.packageId || ids.value;
+ await proxy?.$modal.confirm("鏄惁纭鍒犻櫎绉熸埛濂楅缂栧彿涓篭"" + _packageIds + "\"鐨勬暟鎹」锛�").finally(() => {
+ loading.value = false;
+ });
+ await delTenantPackage(_packageIds);
+ loading.value = true;
+ await getList();
+ proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+};
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
const handleExport = () => {
- proxy?.download('system/tenantPackage/export', {
- ...queryParams.value
- }, `tenantPackage_${new Date().getTime()}.xlsx`)
-}
+ proxy?.download("system/tenantPackage/export", {
+ ...queryParams.value
+ }, `tenantPackage_${new Date().getTime()}.xlsx`);
+};
onMounted(() => {
- getList();
-})
+ getList();
+});
</script>
diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue
index 0e8eba2..e55a8d8 100644
--- a/src/views/system/user/authRole.vue
+++ b/src/views/system/user/authRole.vue
@@ -55,11 +55,10 @@
</template>
<script setup name="AuthRole" lang="ts">
-import { RoleVO } from '@/api/system/role/types';
-import { getAuthRole, updateAuthRole } from '@/api/system/user';
-import { UserForm } from '@/api/system/user/types';
-import { ElTable } from "element-plus";
-import { ComponentInternalInstance } from 'vue';
+import { RoleVO } from "@/api/system/role/types";
+import { getAuthRole, updateAuthRole } from "@/api/system/user";
+import { UserForm } from "@/api/system/user/types";
+
const route = useRoute();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -70,58 +69,59 @@
const roleIds = ref<Array<string | number>>([]);
const roles = ref<RoleVO[]>([]);
const form = ref<Partial<UserForm>>({
- nickName: undefined,
- userName: '',
- userId: undefined
+ nickName: undefined,
+ userName: "",
+ userId: undefined
});
-const tableRef = ref(ElTable)
+const tableRef = ref<ElTableInstance>();
/** 鍗曞嚮閫変腑琛屾暟鎹� */
const clickRow = (row: RoleVO) => {
- tableRef.value.toggleRowSelection(row);
+ // ele鐨勬柟娉曟湁闂锛宻elected搴旇涓哄彲閫夊弬鏁�
+ tableRef.value?.toggleRowSelection(row);
};
/** 澶氶�夋閫変腑鏁版嵁 */
const handleSelectionChange = (selection: RoleVO[]) => {
- roleIds.value = selection.map(item => item.roleId);
+ roleIds.value = selection.map(item => item.roleId);
};
/** 淇濆瓨閫変腑鐨勬暟鎹紪鍙� */
const getRowKey = (row: RoleVO): string => {
- return String(row.roleId);
+ return String(row.roleId);
};
/** 鍏抽棴鎸夐挳 */
const close = () => {
- const obj = { path: "/system/user" };
- proxy?.$tab.closeOpenPage(obj);
+ const obj = { path: "/system/user" };
+ proxy?.$tab.closeOpenPage(obj);
};
/** 鎻愪氦鎸夐挳 */
const submitForm = async () => {
- const userId = form.value.userId;
- const rIds = roleIds.value.join(",");
- await updateAuthRole({ userId: userId as string, roleIds: rIds })
- proxy?.$modal.msgSuccess("鎺堟潈鎴愬姛");
- close();
+ const userId = form.value.userId;
+ const rIds = roleIds.value.join(",");
+ await updateAuthRole({ userId: userId as string, roleIds: rIds });
+ proxy?.$modal.msgSuccess("鎺堟潈鎴愬姛");
+ close();
};
-const getList = async() => {
- const userId = route.params && route.params.userId;
- if (userId) {
- loading.value = true;
- const res = await getAuthRole(userId as string);
- Object.assign(form.value, res.data.user)
- Object.assign(roles.value, res.data.roles)
- total.value = roles.value.length;
- await nextTick(() => {
- roles.value.forEach(row => {
- if (row?.flag) {
- tableRef.value.toggleRowSelection(row);
- }
- });
- });
- loading.value = false;
- }
-}
+const getList = async () => {
+ const userId = route.params && route.params.userId;
+ if (userId) {
+ loading.value = true;
+ const res = await getAuthRole(userId as string);
+ Object.assign(form.value, res.data.user);
+ Object.assign(roles.value, res.data.roles);
+ total.value = roles.value.length;
+ await nextTick(() => {
+ roles.value.forEach(row => {
+ if (row?.flag) {
+ tableRef.value?.toggleRowSelection(row, true);
+ }
+ });
+ });
+ loading.value = false;
+ }
+};
onMounted(() => {
- getList();
-})
+ getList();
+});
</script>
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 66de09d..7fd53cb 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -297,29 +297,18 @@
</template>
<script setup name="User" lang="ts">
-import {
- changeUserStatus,
- listUser,
- resetUserPwd,
- delUser,
- getUser,
- updateUser,
- addUser,
- deptTreeSelect
-} from "@/api/system/user"
+import api from "@/api/system/user"
import { UserForm, UserQuery, UserVO } from '@/api/system/user/types';
-import { ComponentInternalInstance } from "vue";
import { getToken } from "@/utils/auth";
import { treeselect } from "@/api/system/dept";
import { DeptVO } from "@/api/system/dept/types";
import { RoleVO } from "@/api/system/role/types";
import { PostVO } from "@/api/system/post/types";
-import { DateModelType, ElTree, ElUpload, UploadFile, ElForm } from 'element-plus';
import { to } from "await-to-js";
+
const router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance
const { sys_normal_disable, sys_user_sex } = toRefs<any>(proxy?.useDict('sys_normal_disable', 'sys_user_sex'));
-
const userList = ref<UserVO[]>();
const loading = ref(true);
@@ -361,10 +350,10 @@
])
-const deptTreeRef = ref(ElTree);
-const queryFormRef = ref(ElForm);
-const userFormRef = ref(ElForm);
-const uploadRef = ref(ElUpload);
+const deptTreeRef = ref<ElTreeInstance>();
+const queryFormRef = ref<ElFormInstance>();
+const userFormRef = ref<ElFormInstance>();
+const uploadRef = ref<ElUploadInstance>();
const dialog = reactive<DialogOption>({
visible: false,
@@ -413,7 +402,7 @@
}
/** 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 */
watchEffect(
- () => {deptTreeRef.value.filter(deptName.value);},
+ () => {deptTreeRef.value?.filter(deptName.value);},
{
flush: 'post' // watchEffect浼氬湪DOM鎸傝浇鎴栬�呮洿鏂颁箣鍓嶅氨浼氳Е鍙戯紝姝ゅ睘鎬ф帶鍒跺湪DOM鍏冪礌鏇存柊鍚庤繍琛�
}
@@ -421,14 +410,14 @@
/** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
const getTreeSelect = async () => {
- const res = await deptTreeSelect();
+ const res = await api.deptTreeSelect();
deptOptions.value = res.data;
};
/** 鏌ヨ鐢ㄦ埛鍒楄〃 */
const getList = async () => {
loading.value = true;
- const res = await listUser(proxy?.addDateRange(queryParams.value, dateRange.value));
+ const res = await api.listUser(proxy?.addDateRange(queryParams.value, dateRange.value));
loading.value = false;
userList.value = res.rows;
total.value = res.total;
@@ -449,10 +438,10 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
dateRange.value = ['','']
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
queryParams.value.pageNum = 1;
queryParams.value.deptId = undefined;
- deptTreeRef.value.setCurrentKey(null);
+ deptTreeRef.value?.setCurrentKey(undefined);
handleQuery();
}
@@ -461,7 +450,7 @@
const userIds = row?.userId || ids.value;
const [err] = await to(proxy?.$modal.confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') as any);
if (!err) {
- await delUser(userIds);
+ await api.delUser(userIds);
await getList();
proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}
@@ -472,7 +461,7 @@
let text = row.status === "0" ? "鍚敤" : "鍋滅敤"
try {
await proxy?.$modal.confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚�?');
- await changeUserStatus(row.userId, row.status);
+ await api.changeUserStatus(row.userId, row.status);
proxy?.$modal.msgSuccess(text + "鎴愬姛");
} catch (err) {
row.status = row.status === "0" ? "1" : "0";
@@ -494,7 +483,7 @@
inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
}))
if (!err) {
- await resetUserPwd(row.userId, res.value);
+ await api.resetUserPwd(row.userId, res.value);
proxy?.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + res.value);
}
}
@@ -531,14 +520,14 @@
const handleFileSuccess = (response: any, file: UploadFile) => {
upload.open = false;
upload.isUploading = false;
- uploadRef.value.handleRemove(file);
+ 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();
}
/** 鍒濆鍖栭儴闂ㄦ暟鎹� */
@@ -554,7 +543,7 @@
/** 閲嶇疆鎿嶄綔琛ㄥ崟 */
const reset = () => {
form.value = { ...initFormData };
- userFormRef.value.resetFields();
+ userFormRef.value?.resetFields();
}
/** 鍙栨秷鎸夐挳 */
const cancel = () => {
@@ -569,7 +558,7 @@
nextTick(async () => {
reset();
await initTreeData();
- const { data } = await getUser();
+ const { data } = await api.getUser();
postOptions.value = data.posts;
roleOptions.value = data.roles;
form.value.password = initPassword.value;
@@ -583,7 +572,7 @@
reset();
await initTreeData();
const userId = row?.userId || ids.value[0]
- const { data } = await getUser(userId)
+ const { data } = await api.getUser(userId)
Object.assign(form.value, data.user);
postOptions.value = data.posts;
roleOptions.value = data.roles;
@@ -596,9 +585,9 @@
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
- userFormRef.value.validate(async (valid: boolean) => {
+ userFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
- form.value.userId ? await updateUser(form.value) : await addUser(form.value);
+ form.value.userId ? await api.updateUser(form.value) : await api.addUser(form.value);
proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
dialog.visible = false;
await getList();
@@ -619,8 +608,8 @@
* 閲嶇疆琛ㄥ崟
*/
const resetForm = () => {
- userFormRef.value.resetFields();
- userFormRef.value.clearValidate();
+ userFormRef.value?.resetFields();
+ userFormRef.value?.clearValidate();
form.value.id = undefined;
form.value.status = '1';
diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue
index 341c08d..76ea863 100644
--- a/src/views/system/user/profile/index.vue
+++ b/src/views/system/user/profile/index.vue
@@ -69,7 +69,7 @@
import { getUserProfile } from "@/api/system/user";
const activeTab = ref("userinfo");
-const state = ref<{ user: any; roleGroup: string; postGroup: string}>({
+const state = ref<Record<string, any>>({
user: {},
roleGroup: '',
postGroup: ''
diff --git a/src/views/system/user/profile/resetPwd.vue b/src/views/system/user/profile/resetPwd.vue
index 174e020..11b00f6 100644
--- a/src/views/system/user/profile/resetPwd.vue
+++ b/src/views/system/user/profile/resetPwd.vue
@@ -17,46 +17,50 @@
</template>
<script setup lang="ts">
-import { updateUserPwd } from '@/api/system/user';
-import { ComponentInternalInstance } from 'vue';
-import { ResetPwdForm } from '@/api/system/user/types'
-import { ElForm } from 'element-plus';
+import { updateUserPwd } from "@/api/system/user";
+import type { ResetPwdForm } from "@/api/system/user/types";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-
-
-const pwdRef = ref(ElForm);
-
+const pwdRef = ref<ElFormInstance>();
const user = ref<ResetPwdForm>({
- oldPassword: '',
- newPassword: '',
- confirmPassword: ''
+ oldPassword: "",
+ newPassword: "",
+ confirmPassword: ""
});
const equalToPassword = (rule: any, value: string, callback: any) => {
- if (user.value.newPassword !== value) {
- callback(new Error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�"));
- } else {
- callback();
- }
+ if (user.value.newPassword !== value) {
+ callback(new Error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�"));
+ } else {
+ callback();
+ }
};
const rules = ref({
- oldPassword: [{ required: true, message: "鏃у瘑鐮佷笉鑳戒负绌�", trigger: "blur" }],
- newPassword: [{ required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" }, { min: 6, max: 20, message: "闀垮害鍦� 6 鍒� 20 涓瓧绗�", trigger: "blur" }],
- confirmPassword: [{ required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, { required: true, validator: equalToPassword, trigger: "blur" }]
+ oldPassword: [{ required: true, message: "鏃у瘑鐮佷笉鑳戒负绌�", trigger: "blur" }],
+ newPassword: [{ required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" }, {
+ min: 6,
+ max: 20,
+ message: "闀垮害鍦� 6 鍒� 20 涓瓧绗�",
+ trigger: "blur"
+ }],
+ confirmPassword: [{ required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, {
+ required: true,
+ validator: equalToPassword,
+ trigger: "blur"
+ }]
});
/** 鎻愪氦鎸夐挳 */
const submit = () => {
- pwdRef.value.validate(async (valid: boolean) => {
- if (valid) {
- await updateUserPwd(user.value.oldPassword, user.value.newPassword)
- proxy?.$modal.msgSuccess("淇敼鎴愬姛");
- }
- });
+ pwdRef.value?.validate(async (valid: boolean) => {
+ if (valid) {
+ await updateUserPwd(user.value.oldPassword, user.value.newPassword);
+ proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+ }
+ });
};
/** 鍏抽棴鎸夐挳 */
const close = () => {
- proxy?.$tab.closePage();
+ proxy?.$tab.closePage();
};
</script>
diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue
index 0af8b28..0796765 100644
--- a/src/views/system/user/profile/userAvatar.vue
+++ b/src/views/system/user/profile/userAvatar.vue
@@ -29,7 +29,9 @@
<el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
<el-button>
閫夋嫨
- <el-icon class="el-icon--right"><Upload /></el-icon>
+ <el-icon class="el-icon--right">
+ <Upload />
+ </el-icon>
</el-button>
</el-upload>
</el-col>
@@ -58,18 +60,17 @@
import { VueCropper } from "vue-cropper";
import { uploadAvatar } from "@/api/system/user";
import useUserStore from "@/store/modules/user";
-import { ComponentInternalInstance } from "vue";
interface Options {
- img: string | ArrayBuffer | null // 瑁佸壀鍥剧墖鐨勫湴鍧�
- autoCrop: boolean // 鏄惁榛樿鐢熸垚鎴浘妗�
- autoCropWidth: number // 榛樿鐢熸垚鎴浘妗嗗搴�
- autoCropHeight: number // 榛樿鐢熸垚鎴浘妗嗛珮搴�
- fixedBox: boolean // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙�
- fileName: string
- previews: any // 棰勮鏁版嵁
- outputType: string
- visible: boolean
+ img: string | ArrayBuffer | null; // 瑁佸壀鍥剧墖鐨勫湴鍧�
+ autoCrop: boolean; // 鏄惁榛樿鐢熸垚鎴浘妗�
+ autoCropWidth: number; // 榛樿鐢熸垚鎴浘妗嗗搴�
+ autoCropHeight: number; // 榛樿鐢熸垚鎴浘妗嗛珮搴�
+ fixedBox: boolean; // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙�
+ fileName: string;
+ previews: any; // 棰勮鏁版嵁
+ outputType: string;
+ visible: boolean;
}
@@ -83,75 +84,76 @@
const cropper = ref<any>({});
//鍥剧墖瑁佸壀鏁版嵁
const options = reactive<Options>({
- img: userStore.avatar,
- autoCrop: true,
- autoCropWidth: 200,
- autoCropHeight: 200,
- fixedBox: true,
- outputType: "png",
- fileName: '',
- previews: {},
- visible: false
+ img: userStore.avatar,
+ autoCrop: true,
+ autoCropWidth: 200,
+ autoCropHeight: 200,
+ fixedBox: true,
+ outputType: "png",
+ fileName: "",
+ previews: {},
+ visible: false
});
/** 缂栬緫澶村儚 */
const editCropper = () => {
- open.value = true;
-}
+ open.value = true;
+};
/** 鎵撳紑寮瑰嚭灞傜粨鏉熸椂鐨勫洖璋� */
const modalOpened = () => {
- visible.value = true;
-}
+ visible.value = true;
+};
/** 瑕嗙洊榛樿涓婁紶琛屼负 */
-const requestUpload = (): any => {}
+const requestUpload = (): any => {
+};
/** 鍚戝乏鏃嬭浆 */
const rotateLeft = () => {
- cropper.value.rotateLeft();
-}
+ cropper.value.rotateLeft();
+};
/** 鍚戝彸鏃嬭浆 */
const rotateRight = () => {
- cropper.value.rotateRight();
-}
+ cropper.value.rotateRight();
+};
/** 鍥剧墖缂╂斁 */
const changeScale = (num: number) => {
- num = num || 1;
- cropper.value.changeScale(num);
-}
+ num = num || 1;
+ cropper.value.changeScale(num);
+};
/** 涓婁紶棰勫鐞� */
const beforeUpload = (file: any) => {
- if (file.type.indexOf("image/") == -1) {
- proxy?.$modal.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��");
- } else {
- const reader = new FileReader();
- reader.readAsDataURL(file);
- reader.onload = () => {
- options.img = reader.result;
- options.fileName = file.name;
- };
- }
-}
+ if (file.type.indexOf("image/") == -1) {
+ proxy?.$modal.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��");
+ } else {
+ const reader = new FileReader();
+ reader.readAsDataURL(file);
+ reader.onload = () => {
+ options.img = reader.result;
+ options.fileName = file.name;
+ };
+ }
+};
/** 涓婁紶鍥剧墖 */
const uploadImg = async () => {
- cropper.value.getCropBlob(async (data: any) => {
- let formData = new FormData();
- formData.append("avatarfile", data, options.fileName);
- const res = await uploadAvatar(formData);
- open.value = false;
- options.img = res.data.imgUrl;
- userStore.avatar = options.img as string;
- proxy?.$modal.msgSuccess("淇敼鎴愬姛");
- visible.value = false;
- });
-}
+ cropper.value.getCropBlob(async (data: any) => {
+ let formData = new FormData();
+ formData.append("avatarfile", data, options.fileName);
+ const res = await uploadAvatar(formData);
+ open.value = false;
+ options.img = res.data.imgUrl;
+ userStore.avatar = options.img as string
+ proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+ visible.value = false;
+ });
+};
/** 瀹炴椂棰勮 */
const realTime = (data: any) => {
- options.previews = data;
-}
+ options.previews = data;
+};
/** 鍏抽棴绐楀彛 */
const closeDialog = () => {
- options.img = userStore.avatar;
- options.visible = false;
-}
+ options.img = userStore.avatar;
+ options.visible = false;
+};
</script>
<style lang="scss" scoped>
diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue
index 0c3d6ef..3dd5ff7 100644
--- a/src/views/system/user/profile/userInfo.vue
+++ b/src/views/system/user/profile/userInfo.vue
@@ -24,40 +24,42 @@
<script setup lang="ts">
import { updateUserProfile } from "@/api/system/user";
-import { FormRules } from "element-plus";
-import { ComponentInternalInstance } from "vue";
-import { PropType } from "vue";
-import { ElForm } from "element-plus";
const props = defineProps({
- user: {
- type: Object as PropType<any>,
- }
+ user: {
+ type: Object as PropType<any>,
+ required: true
+ }
});
const userForm = computed(() => props.user);
-
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-
-const userRef = ref(ElForm);
-
-const rules = ref<FormRules>({
- nickName: [{ required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }],
- email: [{ required: true, message: "閭鍦板潃涓嶈兘涓虹┖", trigger: "blur" }, { type: "email", message: "璇疯緭鍏ユ纭殑閭鍦板潃", trigger: ["blur", "change"] }],
- phonenumber: [{ required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }],
+const userRef = ref<ElFormInstance>();
+const rules = ref<ElFormRules>({
+ nickName: [{ required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }],
+ email: [{ required: true, message: "閭鍦板潃涓嶈兘涓虹┖", trigger: "blur" }, {
+ type: "email",
+ message: "璇疯緭鍏ユ纭殑閭鍦板潃",
+ trigger: ["blur", "change"]
+ }],
+ phonenumber: [{
+ required: true,
+ message: "鎵嬫満鍙风爜涓嶈兘涓虹┖",
+ trigger: "blur"
+ }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }]
});
/** 鎻愪氦鎸夐挳 */
const submit = () => {
- userRef.value.validate(async (valid: boolean) => {
- if (valid) {
- await updateUserProfile(props.user)
- proxy?.$modal.msgSuccess("淇敼鎴愬姛");
- }
- });
+ userRef.value?.validate(async (valid: boolean) => {
+ if (valid) {
+ await updateUserProfile(props.user);
+ proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+ }
+ });
};
/** 鍏抽棴鎸夐挳 */
const close = () => {
- proxy?.$tab.closePage();
+ proxy?.$tab.closePage();
};
</script>
diff --git a/src/views/tool/gen/basicInfoForm.vue b/src/views/tool/gen/basicInfoForm.vue
index 5d8e781..e7c9bdd 100644
--- a/src/views/tool/gen/basicInfoForm.vue
+++ b/src/views/tool/gen/basicInfoForm.vue
@@ -31,15 +31,10 @@
</template>
<script setup lang="ts">
-import { PropType } from 'vue';
+import { propTypes } from "@/utils/propTypes";
const prop = defineProps({
- info: {
- type: Object as PropType<any>,
- default: () => {
- return {};
- }
- }
+ info: propTypes.any.def({})
});
const infoForm = computed(() => prop.info)
diff --git a/src/views/tool/gen/editTable.vue b/src/views/tool/gen/editTable.vue
index 15e6edd..7361bdb 100644
--- a/src/views/tool/gen/editTable.vue
+++ b/src/views/tool/gen/editTable.vue
@@ -117,9 +117,8 @@
import { DbColumnVO, DbTableVO } from '@/api/tool/gen/types';
import { optionselect as getDictOptionselect } from '@/api/system/dict/type';
import { DictTypeVO } from '@/api/system/dict/type/types';
-import basicInfoForm from './basicInfoForm.vue';
-import genInfoForm from "./genInfoForm.vue";
-import { ComponentInternalInstance } from "vue";
+import BasicInfoForm from './basicInfoForm.vue';
+import GenInfoForm from "./genInfoForm.vue";
const route = useRoute();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -131,8 +130,8 @@
const dictOptions = ref<DictTypeVO[]>([]);
const info = ref<Partial<DbTableVO>>({});
-const basicInfo = ref(basicInfoForm);
-const genInfo = ref(genInfoForm);
+const basicInfo = ref<InstanceType<typeof BasicInfoForm>>();
+const genInfo = ref<InstanceType<typeof GenInfoForm>>();
/** 鎻愪氦鎸夐挳 */
const submitForm = () => {
diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue
index ab6e714..bfb24f1 100644
--- a/src/views/tool/gen/genInfoForm.vue
+++ b/src/views/tool/gen/genInfoForm.vue
@@ -223,7 +223,7 @@
<script setup lang="ts">
import { listMenu } from '@/api/system/menu';
-import { ComponentInternalInstance, PropType } from 'vue';
+import { propTypes } from "@/utils/propTypes";
interface MenuOptionsType {
menuId: number | string;
@@ -236,14 +236,8 @@
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const props = defineProps({
- info: {
- type: Object as PropType<any>,
- default: null
- },
- tables: {
- type: Array as PropType<any[]>,
- default: null
- }
+ info: propTypes.any.def(null),
+ tables: propTypes.any.def(null)
});
const infoForm = computed(() => props.info);
@@ -268,7 +262,7 @@
}
}
const setSubTableColumns = (value: string) => {
- table.value.forEach(item => {
+ table.value.forEach((item: any) => {
const name = item.tableName;
if (value === name) {
subColumns.value = item.columns;
diff --git a/src/views/tool/gen/importTable.vue b/src/views/tool/gen/importTable.vue
index eada1dc..00ce7a2 100644
--- a/src/views/tool/gen/importTable.vue
+++ b/src/views/tool/gen/importTable.vue
@@ -3,11 +3,11 @@
<el-dialog title="瀵煎叆琛�" v-model="visible" width="1100px" top="5vh" append-to-body>
<el-form :model="queryParams" ref="queryFormRef" :inline="true">
<el-form-item label="鏁版嵁婧�" prop="dataName">
- <el-select v-model="queryParams.dataName" filterable placeholder="璇烽�夋嫨/杈撳叆鏁版嵁婧愬悕绉�" style="width: 200px">
- <el-option v-for="item in dataNameList" :key="item" :label="item" :value="item"> </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="琛ㄥ悕绉�" prop="tableName">
+ <el-select v-model="queryParams.dataName" filterable placeholder="璇烽�夋嫨/杈撳叆鏁版嵁婧愬悕绉�" style="width: 200px">
+ <el-option v-for="item in dataNameList" :key="item" :label="item" :value="item"> </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="琛ㄥ悕绉�" prop="tableName">
<el-input v-model="queryParams.tableName" placeholder="璇疯緭鍏ヨ〃鍚嶇О" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="琛ㄦ弿杩�" prop="tableComment">
@@ -40,8 +40,6 @@
<script setup lang="ts">
import { listDbTable, importTable, getDataNames } from '@/api/tool/gen';
import { DbTableQuery, DbTableVO } from '@/api/tool/gen/types';
-import { ComponentInternalInstance } from 'vue';
-import { ElTable, ElForm } from 'element-plus';
const total = ref(0);
const visible = ref(false);
@@ -49,8 +47,8 @@
const dbTableList = ref<Array<DbTableVO>>([]);
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const tableRef = ref(ElTable);
-const queryFormRef = ref(ElForm);
+const tableRef = ref<ElTableInstance>();
+const queryFormRef = ref<ElFormInstance>();
const queryParams = reactive<DbTableQuery>({
pageNum: 1,
@@ -76,7 +74,8 @@
}
/** 鍗曞嚮閫夋嫨琛� */
const clickRow = (row: DbTableVO) => {
- tableRef.value.toggleRowSelection(row);
+ // ele bug
+ tableRef.value?.toggleRowSelection(row);
}
/** 澶氶�夋閫変腑鏁版嵁 */
const handleSelectionChange = (selection: DbTableVO[]) => {
@@ -95,7 +94,7 @@
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 瀵煎叆鎸夐挳鎿嶄綔 */
diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue
index c0a099c..dd48635 100644
--- a/src/views/tool/gen/index.vue
+++ b/src/views/tool/gen/index.vue
@@ -116,9 +116,7 @@
import { listTable, previewTable, delTable, genCode, synchDb, getDataNames } from '@/api/tool/gen';
import { TableQuery, TableVO } from '@/api/tool/gen/types';
import router from '@/router';
-import importTable from './importTable.vue';
-import { ComponentInternalInstance } from 'vue';
-import { ElForm, DateModelType } from 'element-plus';
+import ImportTable from './importTable.vue';
const route = useRoute();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -134,8 +132,8 @@
const uniqueId = ref("");
const dataNameList = ref<Array<string>>([]);
-const queryFormRef = ref(ElForm);
-const importRef = ref(importTable);
+const queryFormRef = ref<ElFormInstance>();
+const importRef = ref<InstanceType<typeof ImportTable>>();
const queryParams = ref<TableQuery>({
pageNum: 1,
@@ -160,7 +158,7 @@
uniqueId.value = time as string;
queryParams.value.pageNum = Number(route.query.pageNum);
dateRange.value = ['', ''];
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
getList();
}
})
@@ -212,7 +210,7 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const resetQuery = () => {
dateRange.value = ['', ''];
- queryFormRef.value.resetFields();
+ queryFormRef.value?.resetFields();
handleQuery();
}
/** 棰勮鎸夐挳 */
--
Gitblit v1.9.3