This commit is contained in:
sjl
2024-11-21 10:05:44 +08:00
parent b992b2653a
commit 4de59336b2
17 changed files with 224 additions and 76 deletions

View File

@@ -10,8 +10,8 @@ const auth: Directive = {
const { value } = binding const { value } = binding
const authStore = useAuthStore() const authStore = useAuthStore()
const currentPageRoles = authStore.authButtonListGet[authStore.routeName] ?? [] const currentPageRoles = authStore.authButtonListGet[authStore.routeName] ?? []
console.log('1234',authStore.routeName) // console.log('1234',authStore.routeName)
console.log('123',currentPageRoles) // console.log('123',currentPageRoles)
if (value instanceof Array && value.length) { if (value instanceof Array && value.length) {
const hasPermission = value.every(item => currentPageRoles.includes(item)) const hasPermission = value.every(item => currentPageRoles.includes(item))
if (!hasPermission) el.remove() if (!hasPermission) el.remove()

View File

@@ -56,11 +56,14 @@ import Message from "./components/Message.vue";
import Fullscreen from "./components/Fullscreen.vue"; import Fullscreen from "./components/Fullscreen.vue";
import { useAuthStore } from "@/stores/modules/auth"; import { useAuthStore } from "@/stores/modules/auth";
import {useDictStore} from "@/stores/modules/dict"; import {useDictStore} from "@/stores/modules/dict";
import { useModeStore } from "@/stores/modules/mode";
const userStore = useUserStore(); const userStore = useUserStore();
const dictStore = useDictStore(); const dictStore = useDictStore();
const username = computed(() => userStore.userInfo.name); const username = computed(() => userStore.userInfo.name);
const router = useRouter(); const router = useRouter();
const authStore = useAuthStore(); const authStore = useAuthStore();
const modeStore = useModeStore();
// 退出登录 // 退出登录
const logout = () => { const logout = () => {
ElMessageBox.confirm("您是否确认退出登录?", "温馨提示", { ElMessageBox.confirm("您是否确认退出登录?", "温馨提示", {
@@ -74,6 +77,7 @@ const logout = () => {
userStore.setToken(""); userStore.setToken("");
userStore.setUserInfo({name: ""}); userStore.setUserInfo({name: ""});
dictStore.setDictData([]); dictStore.setDictData([]);
modeStore.setCurrentMode('');
// 3.重定向到登陆页 // 3.重定向到登陆页
router.replace(LOGIN_URL); router.replace(LOGIN_URL);
ElMessage.success("退出登录成功!"); ElMessage.success("退出登录成功!");

View File

@@ -69,7 +69,7 @@ router.beforeEach(async (to, from, next) => {
await initDynamicRouter() await initDynamicRouter()
return next({ ...to, replace: true }) return next({ ...to, replace: true })
} }
console.log(to) //console.log(to)
// 7.存储 routerName 做按钮权限筛选 // 7.存储 routerName 做按钮权限筛选
authStore.setRouteName(to.name as string) authStore.setRouteName(to.name as string)

View File

@@ -21,6 +21,7 @@
</el-form-item> </el-form-item>
<el-form-item label="图标" prop="icon" :label-width="100"> <el-form-item label="图标" prop="icon" :label-width="100">
<IconSelect <IconSelect
v-model="formContent.icon"
:iconValue="formContent.icon" :iconValue="formContent.icon"
@update:icon-value="iconValue => formContent.icon = iconValue" @update:icon-value="iconValue => formContent.icon = iconValue"
placeholder="选择一个图标" placeholder="选择一个图标"

View File

@@ -9,12 +9,12 @@
<!-- :data='userData' --> <!-- :data='userData' -->
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #tableHeader> <template #tableHeader>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button v-auth.resource="'add'" type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
</template> </template>
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.testScript="'edit'" type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.resource="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
</template> </template>
</ProTable> </ProTable>

View File

@@ -146,9 +146,13 @@ const open = async (sign: string, data: Role.RoleBO, AllFunction: Function.ResFu
const allIds = getAllIds(AllFunction); const allIds = getAllIds(AllFunction);
// 匹配 roleFunctions 中的 id 并设置 checkedKeys // 匹配 roleFunctions 中的 id 并设置 checkedKeys
const checkedKeys = allIds.filter(id => roleFunctions.some(roleFunc => roleFunc.id === id)); const checkedKeys = allIds.filter(id => roleFunctions.some(roleFunc => roleFunc.id === id));
// 过滤出叶子节点
const leafCheckedKeys = filterLeafNodes(AllFunction, checkedKeys);
// 设置 functionList 和 checkedKeys // 设置 functionList 和 checkedKeys
functionList.value = AllFunction; functionList.value = AllFunction;
checkedKeysRef.value = checkedKeys; checkedKeysRef.value = leafCheckedKeys;
// nextTick(() => { // nextTick(() => {
// // 触发一次更新,确保表单中的数据被更新 // // 触发一次更新,确保表单中的数据被更新
@@ -166,14 +170,32 @@ const open = async (sign: string, data: Role.RoleBO, AllFunction: Function.ResFu
} }
} }
const filterLeafNodes = (functions: Function.ResFunction[], checkedKeys: string[]): string[] => {
const leafNodes: string[] = [];
const isLeafNode = (func: Function.ResFunction) => !func.children || func.children.length === 0;
const traverse = (funcs: Function.ResFunction[]) => {
for (const func of funcs) {
if (isLeafNode(func)) {
if (checkedKeys.includes(func.id)) {
leafNodes.push(func.id);
}
} else {
traverse(func.children);
}
}
};
traverse(functions);
return leafNodes;
};
const getAllIds = (functions: Function.ResFunction[]): string[] => { const getAllIds = (functions: Function.ResFunction[]): string[] => {
const ids: string[] = []; const ids: string[] = [];
const traverse = (func: Function.ResFunction) => { const traverse = (func: Function.ResFunction) => {
ids.push(func.id); ids.push(func.id);
if (func.children && func.children.length > 0) { if (func.children && func.children.length > 0) {
func.children.forEach(child => traverse(child)); func.children.forEach((child: any) => traverse(child));
} }
}; };

View File

@@ -8,17 +8,17 @@
<!-- :requestApi="getRoleList" --> <!-- :requestApi="getRoleList" -->
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #tableHeader='scope'> <template #tableHeader='scope'>
<el-button type='primary' :icon='CirclePlus' @click="openDrawer('新增角色')">新增</el-button> <el-button v-auth.role="'add'" type='primary' :icon='CirclePlus' @click="openDrawer('新增角色')">新增</el-button>
<el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected' <el-button v-auth.role="'batchDelete'" type='danger' :icon='Delete' plain :disabled='!scope.isSelected'
@click='batchDelete(scope.selectedListIds)'> @click='batchDelete(scope.selectedListIds)'>
批量删除 批量删除
</el-button> </el-button>
</template> </template>
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='EditPen' @click="openDrawer('编辑角色', scope.row)">编辑</el-button> <el-button v-auth.role="'edit'" type='primary' link :icon='EditPen' @click="openDrawer('编辑角色', scope.row)">编辑</el-button>
<el-button v-if="scope.row.type !== 0 && scope.row.type !== 1" type='primary' link :icon='Delete' @click='deleteAccount(scope.row)'>删除</el-button> <el-button v-auth.role="'delete'" v-if="scope.row.type !== 0 && scope.row.type !== 1" type='primary' link :icon='Delete' @click='deleteAccount(scope.row)'>删除</el-button>
<el-button type='primary' link :icon='Share' @click="openDrawer('设置权限', scope.row)">设置权限</el-button> <el-button v-auth.role="'SetPermissions'" type='primary' link :icon='Share' @click="openDrawer('设置权限', scope.row)">设置权限</el-button>
</template> </template>
</ProTable> </ProTable>

View File

@@ -8,17 +8,17 @@
<!-- :data='userData' --> <!-- :data='userData' -->
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #tableHeader='scope'> <template #tableHeader='scope'>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button v-auth.user="'add'" type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
<el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected' <el-button v-auth.user="'batchDelete'" type='danger' :icon='Delete' plain :disabled='!scope.isSelected'
@click='batchDelete(scope.selectedListIds)'> @click='batchDelete(scope.selectedListIds)'>
批量删除 批量删除
</el-button> </el-button>
</template> </template>
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.user="'edit'" type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.user="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
<el-button type='primary' link :icon='Delete' @click='EditPassWord(scope.row)'>修改密码</el-button> <el-button v-auth.user="'editPassWord'" type='primary' link :icon='Delete' @click='EditPassWord(scope.row)'>修改密码</el-button>
</template> </template>
</ProTable> </ProTable>

View File

@@ -41,27 +41,30 @@ const router = useRouter();
const modeList = [ const modeList = [
{ {
name: "模拟式模块", name: "模拟式模块",
code:"模拟式",
subName: "未启用模拟式检测计划", subName: "未启用模拟式检测计划",
img: "/src/assets/images/dashboard/1.svg", img: "/src/assets/images/dashboard/1.svg",
isActive: true, isActive: true,
}, },
{ {
name: "数字式模块", name: "数字式模块",
code:"数字式",
subName: "启用数字检测计划", subName: "启用数字检测计划",
img: "/src/assets/images/dashboard/2.svg", img: "/src/assets/images/dashboard/2.svg",
isActive: false, isActive: true,
}, },
{ {
name: "比对式模块", name: "比对式模块",
code:"比对式",
subName: "启用比对式检测计划", subName: "启用比对式检测计划",
img: "/src/assets/images/dashboard/3.svg", img: "/src/assets/images/dashboard/3.svg",
isActive: false, isActive: true,
}, },
]; ];
const handelOpen = async (item: any) => { const handelOpen = async (item: any) => {
await authStore.setShowMenu(); await authStore.setShowMenu();
modeStore.setCurrentMode(item.name); // 将模式名称存入 store modeStore.setCurrentMode(item.code); // 将模式code存入 store
return; return;
if (isActive) { if (isActive) {
router.push({ path: "/static" }); router.push({ path: "/static" });

View File

@@ -8,18 +8,18 @@
<!-- :requestApi="getRoleList" --> <!-- :requestApi="getRoleList" -->
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #tableHeader='scope'> <template #tableHeader='scope'>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button v-auth.device="'add'" type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
<el-button type='primary' :icon='Upload' plain @click='downloadFile()'>导出</el-button> <el-button v-auth.device="'export'" type='primary' :icon='Upload' plain @click='downloadFile()'>导出</el-button>
<el-button type='primary' :icon='Download' plain @click='importFile()'>导入</el-button> <el-button v-auth.device="'import'" type='primary' :icon='Download' plain @click='importFile()'>导入</el-button>
<el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected' <el-button v-auth.device="'delete'" type='danger' :icon='Delete' plain :disabled='!scope.isSelected'
@click='batchDelete(scope.selectedListIds)'> @click='batchDelete(scope.selectedListIds)'>
批量删除 批量删除
</el-button> </el-button>
</template> </template>
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='EditPen' :model-value="false" @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.device="'edit'" type='primary' link :icon='EditPen' :model-value="false" @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.device="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
</template> </template>
</ProTable> </ProTable>

View File

@@ -16,8 +16,8 @@
</template> </template>
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='EditPen' :model-value="false" @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.testScript="'edit'" type='primary' link :icon='EditPen' :model-value="false" @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.testScript="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
<el-button v-auth.testScript="'upgrade'" type='primary' v-if="scope.row.type !== 1" link :icon='Share' @click='updateType(scope.row)'>升级</el-button> <el-button v-auth.testScript="'upgrade'" type='primary' v-if="scope.row.type !== 1" link :icon='Share' @click='updateType(scope.row)'>升级</el-button>
</template> </template>
@@ -66,7 +66,7 @@ const columns = reactive<ColumnProps<TestScript.ResTestScript>[]>([
}, },
{ {
prop: 'standardTime', prop: 'standardTime',
label: '标准推行时间', label: '标准推行年份',
minWidth: 150, minWidth: 150,
}, },
{ {

View File

@@ -6,7 +6,7 @@
<el-divider >检测配置</el-divider> <el-divider >检测配置</el-divider>
<el-row :gutter="24" > <el-row :gutter="24" >
<el-col :span="8"> <el-col :span="8">
<el-form-item label='一键检测方式' prop='autoGenerate' :label-width="125"> <el-form-item label='一键检测方式' prop='autoGenerate' :label-width="140">
<el-select v-model="TestConfigForm.autoGenerate" clearable placeholder="请选择一键检测方式" > <el-select v-model="TestConfigForm.autoGenerate" clearable placeholder="请选择一键检测方式" >
<el-option label="只检测,报告后续手动生成" :value="0"></el-option> <el-option label="只检测,报告后续手动生成" :value="0"></el-option>
<el-option label="检测和生成报告同时进行" :value="1"></el-option> <el-option label="检测和生成报告同时进行" :value="1"></el-option>
@@ -14,12 +14,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label='复检最大次数' prop='maxTime' > <el-form-item label='复检最大次数' prop='maxTime' :label-width="110">
<el-input-number v-model='TestConfigForm.maxTime' :min='1' :max='999' /> <el-input-number v-model='TestConfigForm.maxTime' :min='1' :max='999' />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label='数据处理原则' prop='dataRule' :label-width="125"> <el-form-item label='数据处理原则' prop='dataRule' :label-width="140">
<el-select v-model="TestConfigForm.dataRule" clearable placeholder="请选择数据处理原则" > <el-select v-model="TestConfigForm.dataRule" clearable placeholder="请选择数据处理原则" >
<el-option <el-option
v-for="item in dictStore.getDictData('Data_Rule')" v-for="item in dictStore.getDictData('Data_Rule')"
@@ -36,22 +36,22 @@
<el-divider >有效数据配置</el-divider> <el-divider >有效数据配置</el-divider>
<el-row :gutter="24" > <el-row :gutter="24" >
<el-col :span="8"> <el-col :span="8">
<el-form-item label="录波数据有效组数" prop="waveRecord" :label-width="125"> <el-form-item label="录波数据有效组数" prop="waveRecord" :label-width="140">
<el-input v-model.number='RegResForm.waveRecord' placeholder="/" disabled/> <el-input v-model.number='RegResForm.waveRecord' placeholder="/" :disabled="IsMode"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="实时数据有效组数" prop="realTime" :label-width="125" > <el-form-item label="实时数据有效组数" prop="realTime" :label-width="140" >
<el-input number v-model.number='RegResForm.realTime' placeholder="请输入实时数据有效组数"/> <el-input number v-model.number='RegResForm.realTime' placeholder="请输入实时数据有效组数"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="统计数据有效组数" prop="statistics" :label-width="125" > <el-form-item label="统计数据有效组数" prop="statistics" :label-width="140" >
<el-input number v-model.number='RegResForm.statistics' placeholder="请输入统计数据有效组数"/> <el-input number v-model.number='RegResForm.statistics' placeholder="请输入统计数据有效组数"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="闪变数据有效组数" prop="flicker" :label-width="125" > <el-form-item label="闪变数据有效组数" prop="flicker" :label-width="140" >
<el-input number v-model.number='RegResForm.flicker' placeholder="请输入闪变数据有效组数"/> <el-input number v-model.number='RegResForm.flicker' placeholder="请输入闪变数据有效组数"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -63,10 +63,117 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="日志配置"> <el-tab-pane label="日志配置">
<div class="form-grid">
<el-row :gutter="24" >
<el-col :span="8">
<el-form-item label='调试日志配置' :label-width="140">
<el-select clearable placeholder="请选择调试日志配置" >
<el-option label="开启" :value="0"></el-option>
<el-option label="关闭" :value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='调试日志记录等级' :label-width="140">
<el-select clearable placeholder="请选择日志记录等" >
<el-option label="FATAL(致命错误)及以上" :value="0"></el-option>
<el-option label="ERROR(一般错误)及以上" :value="1"></el-option>
<el-option label="WARN(警告)及以上" :value="2"></el-option>
<el-option label="INFO(一般信息)及以上" :value="3"></el-option>
<el-option label="DEBUG(调试信息)及以上" :value="4"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='操作日志配置' :label-width="140">
<el-select clearable placeholder="请选择操作日志配置" >
<el-option label="开启" :value="0"></el-option>
<el-option label="关闭" :value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="dialog-footer">
<el-button type="primary">保存配置</el-button>
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="数据删除备份配置"> <el-tab-pane label="数据删除备份配置">
<div class="form-grid">
<el-row :gutter="24" >
<el-col :span="8">
<el-form-item label='原始数据备份频率' :label-width="140">
<el-select clearable placeholder="请选择原始数据备份频率" >
<el-option label="每月" :value="0"></el-option>
<el-option label="每三月" :value="1"></el-option>
<el-option label="每年" :value="1"></el-option>
<el-option label="从不" :value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='原始数据备份路径' :label-width="140">
<el-col :span="16">
<el-input />
</el-col>
<el-col :span="8">
<el-button type='primary'>立即进行备份</el-button>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" >
<el-col :span="8">
<el-form-item label='原始数据备份时间' :label-width="140">
<el-select clearable placeholder="请选择原始数据备份时间" >
<el-option label="03:00" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='原始数据删除配置' :label-width="140">
<el-select clearable placeholder="请选择原始数据删除配置" >
<el-option label="从不" :value="0"></el-option>
<el-option label="大于半年进行删除" :value="1"></el-option>
<el-option label="大于一年进行删除" :value="2"></el-option>
<el-option label="大于两年进行删除" :value="3"></el-option>
<el-option label="大于五年进行删除" :value="4"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='原始数据删除时间' :label-width="140">
<el-select clearable placeholder="请选择原始数据删除时间" >
<el-option label="05:00" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" >
<el-col :span="8">
<el-form-item label='调试日志保存策略' :label-width="140">
<el-select clearable placeholder="请选择调试日志保存策略" >
<el-option label="一个月" :value="0"></el-option>
<el-option label="三个月" :value="1"></el-option>
<el-option label="六个月" :value="2"></el-option>
<el-option label="从不删除" :value="3"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='操作日志保存策略' :label-width="140">
<el-select clearable placeholder="请选择操作日志保存策略" >
<el-option label="三个月" :value="0"></el-option>
<el-option label="六个月或大于100万条" :value="1"></el-option>
<el-option label="从不" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="dialog-footer">
<el-button type="primary">保存配置</el-button>
</div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
@@ -78,7 +185,7 @@
import PqPopup from '@/views/system/dictionary/dictPq/components/pqPopup.vue' import PqPopup from '@/views/system/dictionary/dictPq/components/pqPopup.vue'
import { useDictStore } from '@/stores/modules/dict' import { useDictStore } from '@/stores/modules/dict'
import { useHandleData } from '@/hooks/useHandleData' import { useHandleData } from '@/hooks/useHandleData'
import { computed, onMounted, reactive, Ref, ref } from 'vue' import { computed, onMounted, reactive, Ref, ref, watch } from 'vue'
import {type Base } from '@/api/system/base/interface' import {type Base } from '@/api/system/base/interface'
import {type VersionRegister } from '@/api/system/versionRegister/interface' import {type VersionRegister } from '@/api/system/versionRegister/interface'
import {getTestConfig,updateTestConfig } from '@/api/system/base/index' import {getTestConfig,updateTestConfig } from '@/api/system/base/index'
@@ -86,10 +193,33 @@
import { ElMessage, FormItemRule } from 'element-plus' import { ElMessage, FormItemRule } from 'element-plus'
import { useModeStore } from '@/stores/modules/mode'; // 引入模式 store import { useModeStore } from '@/stores/modules/mode'; // 引入模式 store
const modeStore = useModeStore(); const modeStore = useModeStore();
const dictStore = useDictStore() const dictStore = useDictStore()
const dialogFormRef = ref() const dialogFormRef = ref()
const mode = ref() const mode = ref()
const IsMode = ref(false)
const TestConfigList = ref<Base.ResTestConfig>()
const RegResList = ref<VersionRegister.ResSys_Reg_Res>()
// 初始化时获取
onMounted(async () => {
mode.value =modeStore.currentMode;//pinia中获取当前是那个模块进来的
const response = await getTestConfig()
TestConfigForm.value = response.data as unknown as Base.ResTestConfig
const patternId = dictStore.getDictData('Pattern').find(item=>item.name=== mode.value)?.id//获取数据字典中对应的id
RegResForm.value.type = patternId || '';
const response2 = await getRegRes(RegResForm.value)
RegResForm.value = response2.data as unknown as VersionRegister.ResSys_Reg_Res
//只有比对式有录波
if(mode.value == '比对式'){
IsMode.value = false
}else{
IsMode.value = true
}
})
const TestConfigForm = ref<Base.ResTestConfig>({ const TestConfigForm = ref<Base.ResTestConfig>({
id: '', id: '',
autoGenerate: 0, autoGenerate: 0,
@@ -119,7 +249,6 @@
flicker: 1, flicker: 1,
}) })
// 定义弹出组件元信息 // 定义弹出组件元信息
const rules = computed(() =>{ const rules = computed(() =>{
const baseRules : Ref<Record<string, Array<FormItemRule>>> = ref({ const baseRules : Ref<Record<string, Array<FormItemRule>>> = ref({
@@ -149,20 +278,8 @@
}) })
const TestConfigList = ref<Base.ResTestConfig>()
const RegResList = ref<VersionRegister.ResSys_Reg_Res>()
// 初始化时获取
onMounted(async () => {
mode.value =modeStore.currentMode.replace('模块', '');//pinia中获取当前是那个模块进来的临时处理去除模块两字
const response = await getTestConfig()
TestConfigForm.value = response.data as unknown as Base.ResTestConfig
//console.log(mode)
const patternId = dictStore.getDictData('Pattern').find(item=>item.name=== mode.value)?.id//获取数据字典中对应的id
RegResForm.value.type = patternId || '';
const response2 = await getRegRes(RegResForm.value)
RegResForm.value = response2.data as unknown as VersionRegister.ResSys_Reg_Res
})
const submitForm = async () => { const submitForm = async () => {
try { try {

View File

@@ -7,17 +7,17 @@
<div class='table-box' :style="{height:(height-64)+'px',maxHeight:(height-64)+'px',overflow:'hidden'}"> <div class='table-box' :style="{height:(height-64)+'px',maxHeight:(height-64)+'px',overflow:'hidden'}">
<ProTable ref='proTable' :columns="columns" :request-api='getDictDataListByTypeId' :initParam="initParam"> <ProTable ref='proTable' :columns="columns" :request-api='getDictDataListByTypeId' :initParam="initParam">
<template #tableHeader="scope"> <template #tableHeader="scope">
<el-button type="primary" :icon="CirclePlus" @click="openDialog('add')">新增</el-button> <el-button v-auth.dict="'show_add'" type="primary" :icon="CirclePlus" @click="openDialog('add')">新增</el-button>
<el-button type='primary' :icon='Download' plain @click="downloadFile">导出</el-button> <el-button v-auth.dict="'show_export'" type='primary' :icon='Download' plain @click="downloadFile">导出</el-button>
<el-button type="danger" :icon="Delete" plain :disabled="!scope.isSelected" <el-button v-auth.dict="'show_batchDelete'" type="danger" :icon="Delete" plain :disabled="!scope.isSelected"
@click="batchDelete(scope.selectedListIds)"> @click="batchDelete(scope.selectedListIds)">
批量删除 批量删除
</el-button> </el-button>
</template> </template>
<template #operation="scope"> <template #operation="scope">
<el-button type="primary" link :icon="EditPen" @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.dict="'show_edit'" type="primary" link :icon="EditPen" @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type="primary" link :icon="Delete" @click="handleDelete(scope.row)">删除</el-button> <el-button v-auth.dict="'show_delete'" type="primary" link :icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</template> </template>
</ProTable> </ProTable>
</div> </div>

View File

@@ -266,3 +266,4 @@
</script> </script>

View File

@@ -6,16 +6,16 @@
:request-api='getDictPqList' :request-api='getDictPqList'
> >
<template #tableHeader='scope'> <template #tableHeader='scope'>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button v-auth.dictPq="'add'" type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
<el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected' <el-button v-auth.dictPq="'batchDelete'" type='danger' :icon='Delete' plain :disabled='!scope.isSelected'
@click='batchDelete(scope.selectedListIds)'> @click='batchDelete(scope.selectedListIds)'>
批量删除 批量删除
</el-button> </el-button>
</template> </template>
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.dictPq="'edit'" type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.dictPq="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
</template> </template>
</ProTable> </ProTable>
</div> </div>

View File

@@ -8,13 +8,13 @@
> >
<template #tableHeader> <template #tableHeader>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button v-auth.dictTree="'add'" type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
</template> </template>
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='CirclePlus' @click="openDialog('add',scope.row)">新增</el-button> <el-button v-auth.dictTree="'add'" type='primary' link :icon='CirclePlus' @click="openDialog('add',scope.row)">新增</el-button>
<el-button type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.dictTree="'edit'" type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.dictTree="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
</template> </template>
</ProTable> </ProTable>
</div> </div>

View File

@@ -6,18 +6,18 @@
:request-api='getDictTypeList' :request-api='getDictTypeList'
> >
<template #tableHeader='scope'> <template #tableHeader='scope'>
<el-button type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button> <el-button v-auth.dict="'add'" type='primary' :icon='CirclePlus' @click="openDialog('add')">新增</el-button>
<el-button type='primary' :icon='Download' plain @click='downloadFile()'>导出</el-button> <el-button v-auth.dict="'export'" type='primary' :icon='Download' plain @click='downloadFile()'>导出</el-button>
<el-button type='danger' :icon='Delete' plain :disabled='!scope.isSelected' <el-button v-auth.dict="'batchDelete'" type='danger' :icon='Delete' plain :disabled='!scope.isSelected'
@click='batchDelete(scope.selectedListIds)'> @click='batchDelete(scope.selectedListIds)'>
批量删除 批量删除
</el-button> </el-button>
</template> </template>
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='View' @click='toDictData(scope.row)'>查看</el-button> <el-button v-auth.dict="'show'" type='primary' link :icon='View' @click='toDictData(scope.row)'>查看</el-button>
<el-button type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button> <el-button v-auth.dict="'edit'" type='primary' link :icon='EditPen' @click="openDialog('edit', scope.row)">编辑</el-button>
<el-button type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button> <el-button v-auth.dict="'delete'" type='primary' link :icon='Delete' @click='handleDelete(scope.row)'>删除</el-button>
</template> </template>
</ProTable> </ProTable>
</div> </div>