Explorar o código

1、升级furion v4.1.8.9 2、页面格式调整

zuohuaijun %!s(int64=3) %!d(string=hai) anos
pai
achega
0fb0f78d26

+ 3 - 3
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -16,9 +16,9 @@
     <PackageReference Include="AngleSharp" Version="0.17.1" />
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
     <PackageReference Include="DotNetCore.Natasha.CSharp" Version="5.0.2" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.1.7" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.1.7" />
-    <PackageReference Include="Furion.Pure" Version="4.8.1.7" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.1.9" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.1.9" />
+    <PackageReference Include="Furion.Pure" Version="4.8.1.9" />
     <PackageReference Include="Lazy.Captcha.Core" Version="1.1.6" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.7.0" />
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.0" />

+ 1 - 1
Web/src/views/system/codeGen/component/editCodeGenDialog.vue

@@ -199,9 +199,9 @@ export default defineComponent({
 			closeDialog,
 			cancel,
 			submit,
-			...toRefs(state),
 			isOrNotSelect,
 			DbChanged,
+			...toRefs(state),
 		};
 	},
 });

+ 1 - 1
Web/src/views/system/config/index.vue

@@ -147,9 +147,9 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
+			editConfigRef,
 			handleQuery,
 			resetQuery,
-			editConfigRef,
 			openAddConfig,
 			openEditConfig,
 			delConfig,

+ 1 - 1
Web/src/views/system/dict/component/dictDataDialog.vue

@@ -155,10 +155,10 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
+			editDictDataRef,
 			openDialog,
 			handleQuery,
 			resetQuery,
-			editDictDataRef,
 			openAddDictData,
 			openEditDictData,
 			delDictData,

+ 2 - 2
Web/src/views/system/dict/index.vue

@@ -149,10 +149,10 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
-			handleQuery,
-			resetQuery,
 			editDictTypeRef,
 			dictDataDialogRef,
+			handleQuery,
+			resetQuery,
 			openAddDictType,
 			openEditDictType,
 			openDictDataDialog,

+ 1 - 1
Web/src/views/system/file/index.vue

@@ -233,9 +233,9 @@ export default defineComponent({
 			},
 		];
 		return {
+			uploadRef,
 			handleQuery,
 			resetQuery,
-			uploadRef,
 			openUploadDialog,
 			handleChange,
 			uploadFile,

+ 1 - 1
Web/src/views/system/menu/index.vue

@@ -131,9 +131,9 @@ export default defineComponent({
 				.catch(() => {});
 		};
 		return {
+			editMenuRef,
 			handleQuery,
 			resetQuery,
-			editMenuRef,
 			openAddMenu,
 			openEditMenu,
 			delMenu,

+ 1 - 1
Web/src/views/system/notice/index.vue

@@ -169,9 +169,9 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
+			editNoticeRef,
 			handleQuery,
 			resetQuery,
-			editNoticeRef,
 			openAddNotice,
 			openEditNotice,
 			delNotice,

+ 2 - 2
Web/src/views/system/org/index.vue

@@ -139,10 +139,10 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
-			handleQuery,
-			resetQuery,
 			editOrgRef,
 			orgTreeRef,
+			handleQuery,
+			resetQuery,
 			openAddOrg,
 			openEditOrg,
 			delOrg,

+ 1 - 1
Web/src/views/system/pos/index.vue

@@ -115,9 +115,9 @@ export default defineComponent({
 				.catch(() => {});
 		};
 		return {
+			editPosRef,
 			handleQuery,
 			resetQuery,
-			editPosRef,
 			openAddPos,
 			openEditPos,
 			delPos,

+ 2 - 2
Web/src/views/system/region/index.vue

@@ -175,10 +175,10 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
-			handleQuery,
-			resetQuery,
 			editRegionRef,
 			regionTreeRef,
+			handleQuery,
+			resetQuery,
 			openAddRegion,
 			openEditRegion,
 			delRegion,

+ 2 - 2
Web/src/views/system/role/index.vue

@@ -166,10 +166,10 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
-			handleQuery,
-			resetQuery,
 			editRoleRef,
 			grantDataRef,
+			handleQuery,
+			resetQuery,
 			openAddRole,
 			openEditRole,
 			openGrantData,

+ 3 - 3
Web/src/views/system/tenant/index.vue

@@ -172,7 +172,7 @@ export default defineComponent({
 				type: 'warning',
 			})
 				.then(async () => {
-					await getAPI(SysTenantApi).sysTenantResetPwdPost({ id: row.id });
+					await getAPI(SysTenantApi).sysTenantResetPwdPost({ userId: row.userId });
 					ElMessage.success('密码重置成功:123456');
 				})
 				.catch(() => {});
@@ -215,10 +215,10 @@ export default defineComponent({
 				.catch(() => {});
 		};
 		return {
-			handleQuery,
-			resetQuery,
 			editTenantRef,
 			grantMenuRef,
+			handleQuery,
+			resetQuery,
 			openAddTenant,
 			openEditTenant,
 			openGrantMenu,

+ 0 - 130
Web/src/views/system/timer/component/editTimer.vue

@@ -1,130 +0,0 @@
-<!-- <template>
-	<div class="sys-timer-container">
-		<el-dialog v-model="isShowDialog" draggable width="769px">
-			<template #header>
-				<div style="color: #fff">
-					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
-					<span> {{ title }} </span>
-				</div>
-			</template>
-			<el-form :model="ruleForm" ref="ruleFormRef" size="default" label-width="100px">
-				<el-row :gutter="35">
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="任务名称" prop="timerName" :rules="[{ required: true, message: '任务名称不能为空', trigger: 'blur' }]">
-							<el-input v-model="ruleForm.timerName" placeholder="任务名称" clearable />
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="请求地址" prop="requestUrl" :rules="[{ required: true, message: '请求地址不能为空', trigger: 'blur' }]">
-							<el-input v-model="ruleForm.requestUrl" placeholder="请求地址" clearable />
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="请求类型" prop="requestType" :rules="[{ required: true, message: '请求类型不能为空', trigger: 'blur' }]">
-							<el-radio-group v-model="ruleForm.requestType">
-								<el-radio :label="0">RUN</el-radio>
-								<el-radio :label="1">GET</el-radio>
-								<el-radio :label="2">POST</el-radio>
-								<el-radio :label="3">PUT</el-radio>
-								<el-radio :label="4">DELETE</el-radio>
-							</el-radio-group>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="请求参数" prop="requestPara">
-							<el-input v-model="ruleForm.requestPara" placeholder="所属分类" clearable type="textarea" />
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="任务类型" prop="timerType" :rules="[{ required: true, message: '任务类型不能为空', trigger: 'blur' }]">
-							<el-select v-model="ruleForm.timerType" placeholder="岗位状态" style="width: 100%">
-								<el-option label="间隔模式" :value="0" />
-								<el-option label="Cron模式" :value="1" />
-							</el-select>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="执行间隔" prop="interval" v-if="ruleForm.timerType == 0">
-							<el-input v-model="ruleForm.interval" placeholder="执行间隔" clearable />
-						</el-form-item>
-						<el-form-item label="Cron表达式" prop="cron" v-else>
-							<el-input v-model="ruleForm.cron" placeholder="Cron表达式" clearable />
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="备注">
-							<el-input v-model="ruleForm.remark" placeholder="请输入备注内容" clearable type="textarea" />
-						</el-form-item>
-					</el-col>
-				</el-row>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="cancel" size="default">取 消</el-button>
-					<el-button type="primary" @click="submit" size="default">确 定</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref } from 'vue';
-import mittBus from '/@/utils/mitt';
-
-import { getAPI } from '/@/utils/axios-utils';
-import { SysTimerApi } from '/@/api-services/api';
-import { UpdateTimerInput } from '/@/api-services/models';
-
-export default defineComponent({
-	name: 'sysEditTimer',
-	components: {},
-	props: {
-		title: {
-			type: String,
-			default: '',
-		},
-	},
-	setup() {
-		const ruleFormRef = ref();
-		const state = reactive({
-			isShowDialog: false,
-			ruleForm: {} as UpdateTimerInput,
-		});
-		// 打开弹窗
-		const openDialog = (row: any) => {
-			state.ruleForm = JSON.parse(JSON.stringify(row));
-			state.isShowDialog = true;
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			mittBus.emit('submitRefresh');
-			state.isShowDialog = false;
-		};
-		// 取消
-		const cancel = () => {
-			state.isShowDialog = false;
-		};
-		// 提交
-		const submit = () => {
-			ruleFormRef.value.validate(async (valid: boolean) => {
-				if (!valid) return;
-				if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
-					await getAPI(SysTimerApi).sysTimerUpdatePost(state.ruleForm);
-				} else {
-					await getAPI(SysTimerApi).sysTimerAddPost(state.ruleForm);
-				}
-				closeDialog();
-			});
-		};
-		return {
-			ruleFormRef,
-			openDialog,
-			closeDialog,
-			cancel,
-			submit,
-			...toRefs(state),
-		};
-	},
-});
-</script> -->

+ 0 - 200
Web/src/views/system/timer/index.vue

@@ -1,200 +0,0 @@
-<!-- <template>
-	<div class="sys-timer-container">
-		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
-			<el-form :model="queryParams" ref="queryForm" :inline="true">
-				<el-form-item label="任务名称" prop="timerName">
-					<el-input placeholder="任务名称" clearable @keyup.enter="handleQuery" v-model="queryParams.timerName" />
-				</el-form-item>
-				<el-form-item>
-					<el-button icon="ele-Refresh" @click="resetQuery"> 重置 </el-button>
-					<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysTimer:page'"> 查询 </el-button>
-					<el-button icon="ele-Plus" @click="openAddTimer" v-auth="'sysTimer:add'"> 新增 </el-button>
-				</el-form-item>
-			</el-form>
-		</el-card>
-
-		<el-card shadow="hover" style="margin-top: 8px">
-			<el-table :data="timerData" style="width: 100%" v-loading="loading" border>
-				<el-table-column type="index" label="序号" width="55" align="center" />
-				<el-table-column prop="timerName" label="任务名称" width="160" show-overflow-tooltip />
-				<el-table-column prop="requestUrl" label="请求地址" width="120" show-overflow-tooltip />
-				<el-table-column prop="requestType" label="请求类型" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						<el-tag type="info" v-if="scope.row.requestType == 0"> {{ 'RUN' }} </el-tag>
-						<el-tag type="info" v-else-if="scope.row.requestType == 1"> {{ 'GET' }} </el-tag>
-						<el-tag type="info" v-else-if="scope.row.requestType == 2"> {{ 'POST' }} </el-tag>
-						<el-tag type="info" v-else-if="scope.row.requestType == 3"> {{ 'PUT' }} </el-tag>
-						<el-tag type="info" v-else-if="scope.row.requestType == 4"> {{ 'DELETE' }} </el-tag>
-					</template>
-				</el-table-column>
-				<el-table-column prop="timerType" label="任务类型" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						{{ scope.row.timerType == 0 ? scope.row.interval : scope.row.cron }}
-					</template>
-				</el-table-column>
-				<el-table-column prop="executeType" label="执行类型" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						{{ scope.row.executeType == 0 ? '并行' : '串行' }}
-					</template>
-				</el-table-column>
-				<el-table-column prop="doOnce" label="执行一次" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						{{ scope.row.doOnce ? '是' : '否' }}
-					</template>
-				</el-table-column>
-				<el-table-column prop="startNow" label="立即执行" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						{{ scope.row.startNow ? '是' : '否' }}
-					</template>
-				</el-table-column>
-				<el-table-column prop="status" label="任务状态" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						<el-tag type="success" v-if="scope.row.status == 0"> {{ '运行中' }} </el-tag>
-						<el-tag type="danger" v-else-if="scope.row.status == 1"> {{ '已停止' }} </el-tag>
-						<el-tag type="danger" v-else-if="scope.row.status == 2"> {{ '已失败' }} </el-tag>
-						<el-tag type="danger" v-else-if="scope.row.status == 3"> {{ '已删除' }} </el-tag>
-					</template>
-				</el-table-column>
-				<el-table-column prop="status" label="启动停止" width="100" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						<el-switch v-model="scope.row.status" :active-value="0" :inactive-value="1" size="small" @change="changeStatus(scope.row)" v-auth="'sysTimer:setStatus'" />
-					</template>
-				</el-table-column>
-				<el-table-column prop="tally" label="执行次数" width="100" align="center" show-overflow-tooltip />
-				<el-table-column prop="createTime" label="修改时间" width="100" align="center" show-overflow-tooltip />
-				<el-table-column prop="remark" label="备注" show-overflow-tooltip />
-				<el-table-column label="操作" width="140" fixed="right" align="center" show-overflow-tooltip>
-					<template #default="scope">
-						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditTimer(scope.row)" v-auth="'sysTimer:update'"> 编辑 </el-button>
-						<el-button icon="ele-Delete" size="small" text type="danger" @click="delTimer(scope.row)" v-auth="'sysTimer:delete'"> 删除 </el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<el-pagination
-				v-model:currentPage="tableParams.page"
-				v-model:page-size="tableParams.pageSize"
-				:total="tableParams.total"
-				:page-sizes="[10, 20, 50, 100]"
-				small
-				background
-				@size-change="handleSizeChange"
-				@current-change="handleCurrentChange"
-				layout="total, sizes, prev, pager, next, jumper"
-			/>
-		</el-card>
-		<EditTimer ref="editTimerRef" :title="editTimerTitle" />
-	</div>
-</template>
-
-<script lang="ts">
-import { toRefs, reactive, onMounted, ref, defineComponent, onUnmounted, onActivated, onDeactivated } from 'vue';
-import { ElMessageBox, ElMessage } from 'element-plus';
-import mittBus from '/@/utils/mitt';
-import EditTimer from '/@/views/system/timer/component/editTimer.vue';
-
-import { getAPI } from '/@/utils/axios-utils';
-import { SysTimerApi, TimerOutput } from '/@/api-services';
-
-export default defineComponent({
-	name: 'sysTimer',
-	components: { EditTimer },
-	setup() {
-		const editTimerRef = ref();
-		const state = reactive({
-			loading: false,
-			timerData: [] as Array<TimerOutput>,
-			queryParams: {
-				timerName: undefined,
-			},
-			tableParams: {
-				page: 1,
-				pageSize: 10,
-				total: 0 as any,
-			},
-			editTimerTitle: '',
-			timer: null as any,
-		});
-		onMounted(async () => {
-			handleQuery();
-
-			mittBus.on('submitRefresh', () => {
-				handleQuery();
-			});
-		});
-		onUnmounted(() => {
-			mittBus.off('submitRefresh');
-		});
-		// 查询操作
-		const handleQuery = async () => {
-			state.loading = true;
-			var res = await getAPI(SysTimerApi).sysTimerPageGet(state.queryParams.timerName, state.tableParams.page, state.tableParams.pageSize);
-			state.timerData = res.data.result?.items ?? [];
-			state.tableParams.total = res.data.result?.total;
-			state.loading = false;
-		};
-		// 重置操作
-		const resetQuery = () => {
-			state.queryParams.timerName = undefined;
-			handleQuery();
-		};
-		// 打开新增页面
-		const openAddTimer = () => {
-			state.editTimerTitle = '添加任务';
-			editTimerRef.value.openDialog({});
-		};
-		// 打开编辑页面
-		const openEditTimer = (row: any) => {
-			state.editTimerTitle = '编辑任务';
-			editTimerRef.value.openDialog(row);
-		};
-		// 删除
-		const delTimer = (row: any) => {
-			ElMessageBox.confirm(`确定删除任务:【${row.timerName}】?`, '提示', {
-				confirmButtonText: '确定',
-				cancelButtonText: '取消',
-				type: 'warning',
-			})
-				.then(async () => {
-					await getAPI(SysTimerApi).sysTimerDeletePost({ id: row.id });
-					handleQuery();
-					ElMessage.success('删除成功');
-				})
-				.catch(() => {});
-		};
-		// 改变页面容量
-		const handleSizeChange = (val: number) => {
-			state.tableParams.pageSize = val;
-			handleQuery();
-		};
-		// 改变页码序号
-		const handleCurrentChange = (val: number) => {
-			state.tableParams.page = val;
-			handleQuery();
-		};
-		// 修改状态
-		const changeStatus = async (row: any) => {
-			await getAPI(SysTimerApi).sysTimerSetStatusPost({ timerName: row.timerName, status: row.status });
-		};
-		onActivated(() => {
-			state.timer = setInterval(() => {
-				handleQuery();
-			}, 10000);
-		});
-		onDeactivated(() => {
-			clearInterval(state.timer);
-		});
-		return {
-			handleQuery,
-			resetQuery,
-			editTimerRef,
-			openAddTimer,
-			openEditTimer,
-			delTimer,
-			handleSizeChange,
-			handleCurrentChange,
-			changeStatus,
-			...toRefs(state),
-		};
-	},
-});
-</script> -->

+ 2 - 2
Web/src/views/system/user/index.vue

@@ -230,10 +230,10 @@ export default defineComponent({
 			handleQuery();
 		};
 		return {
-			handleQuery,
-			resetQuery,
 			orgTreeRef,
 			editUserRef,
+			handleQuery,
+			resetQuery,
 			openAddUser,
 			openEditUser,
 			delUser,