检测首页增加不同入口的默认选择状态和禁止选择状态

This commit is contained in:
GYYM
2024-11-07 20:41:32 +08:00
parent 4695a82b38
commit 9804baf8a3
11 changed files with 425 additions and 214 deletions

View File

@@ -1,10 +1,10 @@
const data = [ const data = [
{ {
id: 'device1', id: 'device1',
devicename:"模拟装置1", deviceName:"模拟装置1",
deviceType:"PQS882B4电能质量监测装置", deviceType:"PQS882B4电能质量监测装置",
deviceChannels:"4", deviceChannels:"4",
Planname: "沧州220kV留古等4座变电站电能质量检测", planName: "沧州220kV留古等4座变电站电能质量检测",
deviceUn: "57.74", deviceUn: "57.74",
deviceIn: "5", deviceIn: "5",
deviceCompany: "南京灿能电力自动化股份有限公司", deviceCompany: "南京灿能电力自动化股份有限公司",
@@ -12,10 +12,10 @@ const data = [
}, },
{ {
id: 'device2', id: 'device2',
devicename:"模拟装置2", deviceName:"模拟装置2",
deviceType:"PQS882A电能质量监测装置", deviceType:"PQS882A电能质量监测装置",
deviceChannels:"1", deviceChannels:"1",
Planname: "邯郸220kV团城站等4座站电能质量检测", planName: "邯郸220kV团城站等4座站电能质量检测",
deviceUn: "57.74", deviceUn: "57.74",
deviceIn: "5", deviceIn: "5",
deviceCompany: "南京灿能电力自动化股份有限公司", deviceCompany: "南京灿能电力自动化股份有限公司",
@@ -23,10 +23,10 @@ const data = [
}, },
{ {
id: 'device3', id: 'device3',
devicename:"模拟装置3", deviceName:"模拟装置3",
deviceType:"PQS882A电能质量监测装置", deviceType:"PQS882A电能质量监测装置",
deviceChannels:"1", deviceChannels:"1",
Planname: "衡水冀州光伏电站配套出口工程", planName: "衡水冀州光伏电站配套出口工程",
deviceUn: "57.74", deviceUn: "57.74",
deviceIn: "1", deviceIn: "1",
deviceCompany: "南京灿能电力自动化股份有限公司", deviceCompany: "南京灿能电力自动化股份有限公司",
@@ -34,10 +34,10 @@ const data = [
}, },
{ {
id: 'device4', id: 'device4',
devicename:"模拟装置4", deviceName:"模拟装置4",
deviceType:"PMC-680M-22-22-00-115ANBC电能质量监测装置", deviceType:"PMC-680M-22-22-00-115ANBC电能质量监测装置",
deviceChannels:"4", deviceChannels:"4",
Planname: "深圳市中电软件有限公司委托送检", planName: "深圳市中电软件有限公司委托送检",
deviceUn: "57.74", deviceUn: "57.74",
deviceIn: "5", deviceIn: "5",
deviceCompany: "深圳中电电力技术股份有限公司", deviceCompany: "深圳中电电力技术股份有限公司",
@@ -48,7 +48,7 @@ const data = [
const plan_devicedata = [ const plan_devicedata = [
{ {
id: '1', //装置序号ID id: '1', //装置序号ID
name: '设备1', //设备名称 name: '模拟装置1', //设备名称
dev_Type: 'PQS882A',//设备类型 dev_Type: 'PQS882A',//设备类型
dev_Chns: 1, //设备通道数 dev_Chns: 1, //设备通道数
check_Result: '合格', //检测结果 check_Result: '合格', //检测结果
@@ -59,7 +59,7 @@ const data = [
}, },
{ {
id: '2', //装置序号ID id: '2', //装置序号ID
name: '设备2', //设备名称 name: '模拟装置2', //设备名称
dev_Type: 'PQS882B4',//设备类型 dev_Type: 'PQS882B4',//设备类型
dev_Chns: 4, //设备通道数 dev_Chns: 4, //设备通道数
check_Result: '/', //检测结果 check_Result: '/', //检测结果
@@ -70,7 +70,7 @@ const data = [
}, },
{ {
id: '3', //装置序号ID id: '3', //装置序号ID
name: '设备3', //设备名称 name: '模拟装置3', //设备名称
dev_Type: 'PQS882B4',//设备类型 dev_Type: 'PQS882B4',//设备类型
dev_Chns: 4, //设备通道数 dev_Chns: 4, //设备通道数
check_Result: '/', //检测结果 check_Result: '/', //检测结果
@@ -81,7 +81,7 @@ const data = [
}, },
{ {
id: '4', //装置序号ID id: '4', //装置序号ID
name: '设备4', //设备名称 name: '模拟装置4', //设备名称
dev_Type: 'PQS882B4',//设备类型 dev_Type: 'PQS882B4',//设备类型
dev_Chns: 4, //设备通道数 dev_Chns: 4, //设备通道数
check_Result: '不合格', //检测结果 check_Result: '不合格', //检测结果
@@ -90,6 +90,61 @@ const data = [
check_State:'检测完成',//检测状态 check_State:'检测完成',//检测状态
reCheck_Num: 1, //复检次数 reCheck_Num: 1, //复检次数
}, },
{
id: '5', //装置序号ID
name: '中电测试装置', //设备名称
dev_Type: 'PMC-680M-22-22-00-115ANBC',//设备类型
dev_Chns: 4, //设备通道数
check_Result: '不合格', //检测结果
report_State: '未生成', //报告状态
document_State: '未归档', //归档状态
check_State:'检测完成',//检测状态
reCheck_Num: 1, //复检次数
},
{
id: '6', //装置序号ID
name: '易司拓测试装置1', //设备名称
dev_Type: 'E703A',//设备类型
dev_Chns: 1, //设备通道数
check_Result: '不合格', //检测结果
report_State: '已生成', //报告状态
document_State: '未归档', //归档状态
check_State:'检测完成',//检测状态
reCheck_Num: 1, //复检次数
},
{
id: '7', //装置序号ID
name: '易司拓测试装置2', //设备名称
dev_Type: 'E703A',//设备类型
dev_Chns: 1, //设备通道数
check_Result: '不合格', //检测结果
report_State: '已生成', //报告状态
document_State: '未归档', //归档状态
check_State:'检测完成',//检测状态
reCheck_Num: 1, //复检次数
},
{
id: '8', //装置序号ID
name: '山大电力测试装置1', //设备名称
dev_Type: 'SDL-3002C',//设备类型
dev_Chns: 1, //设备通道数
check_Result: '不合格', //检测结果
report_State: '已生成', //报告状态
document_State: '未归档', //归档状态
check_State:'检测完成',//检测状态
reCheck_Num: 1, //复检次数
},
{
id: '9', //装置序号ID
name: '山大电力测试装置2', //设备名称
dev_Type: 'SDL-3002C',//设备类型
dev_Chns: 1, //设备通道数
check_Result: '不合格', //检测结果
report_State: '已生成', //报告状态
document_State: '未归档', //归档状态
check_State:'检测完成',//检测状态
reCheck_Num: 2, //复检次数
},
] ]
export default {data,plan_devicedata} export default {data,plan_devicedata}

View File

@@ -150,6 +150,22 @@ const testErrSystDataList: Dict[] = [
}, },
] ]
//父计划ID及名称
const testFatherPlanList: Dict[] = [
{
id: "1",
label: '检测计划1',
},
{
id: "2",
label: '检测子计划2',
},
{
id: "3",
label: '检测子计划1-2',
},
]
const planData = ref<Plan.PlanBO[]>([ const planData = ref<Plan.PlanBO[]>([
{ {
'id': '1', 'id': '1',
@@ -172,7 +188,7 @@ const planData = ref<Plan.PlanBO[]>([
'error_Sys_Id':'2', 'error_Sys_Id':'2',
'test_State':'2', 'test_State':'2',
'report_State':'2', 'report_State':'2',
'result':'2', 'result':'0',
}, },
{ {
'id': '3', 'id': '3',
@@ -182,9 +198,9 @@ const planData = ref<Plan.PlanBO[]>([
'dataSource_Id':'3', 'dataSource_Id':'3',
'script_Id':'3', 'script_Id':'3',
'error_Sys_Id':'3', 'error_Sys_Id':'3',
'test_State':'3', 'test_State':'1',
'report_State':'3', 'report_State':'1',
'result':'3', 'result':'1',
}, },
]) ])
@@ -310,4 +326,4 @@ const planData = ref<Plan.PlanBO[]>([
// }, // },
// ]) // ])
export {planData,dictPattern,dictTestState,dictReportState,dictResult,testPlanDataList,testSoureDataList,testScriptDataList,testErrSystDataList} export {planData,dictPattern,dictTestState,dictReportState,dictResult,testPlanDataList,testSoureDataList,testScriptDataList,testErrSystDataList,testFatherPlanList}

View File

@@ -2,6 +2,7 @@ import http from "@/api";
//获取计划列表 //获取计划列表
export const getPlanList = (data: any) => { export const getPlanList = (data: any) => {
return null;
return http.post<Static.planData>( return http.post<Static.planData>(
"http://192.168.1.123:4523/m1/2573730-0-default/plan/planList/list", "http://192.168.1.123:4523/m1/2573730-0-default/plan/planList/list",
data, data,

View File

@@ -7,17 +7,17 @@
{ {
"id": 4, "id": 4,
"pid": 1, "pid": 1,
"name": "检测计划1" "name": "邯郸220kV团城站等4座站电能质量检测"
}, },
{ {
"id": 5, "id": 5,
"pid": 1, "pid": 1,
"name": "检测计划2" "name": "衡水冀州光伏电站配套出口工程"
}, },
{ {
"id": 6, "id": 6,
"pid": 1, "pid": 1,
"name": "检测计划3" "name": "深圳市中电软件有限公司委托送检"
} }
], ],
"id": 1 "id": 1
@@ -28,17 +28,17 @@
{ {
"id": 7, "id": 7,
"pid": 2, "pid": 2,
"name": "检测计划4" "name": "沧州220kV留古等4座变电站电能质量检测"
}, },
{ {
"id": 8, "id": 8,
"pid": 2, "pid": 2,
"name": "检测计划5" "name": "沧州供电公司110kV东光站等10台装置送检"
}, },
{ {
"id": 9, "id": 9,
"pid": 2, "pid": 2,
"name": "检测计划6" "name": "保定分布式光伏电能质量监测试点"
} }
], ],
"id": 2 "id": 2
@@ -49,12 +49,12 @@
{ {
"id": 10, "id": 10,
"pid": 3, "pid": 3,
"name": "检测计划7" "name": "邯郸2台安徽振兴终端送检"
}, },
{ {
"id": 11, "id": 11,
"pid": 3, "pid": 3,
"name": "检测计划8" "name": "北京2024现场检测"
} }
], ],
"id": 3 "id": 3

View File

@@ -3,6 +3,7 @@
<ProTable <ProTable
ref="proTable" ref="proTable"
:columns="columns" :columns="columns"
:data='deviceData'
:request-api="getTableList" :request-api="getTableList"
:init-param="initParam" :init-param="initParam"
:data-callback="dataCallback" :data-callback="dataCallback"
@@ -13,62 +14,35 @@
<!-- 表格 header 按钮 --> <!-- 表格 header 按钮 -->
<template #tableHeader="scope"> <template #tableHeader="scope">
<el-form :model="form" label-width="80px" :inline="true"> <el-form :model="form" label-width="80px" :inline="true">
<el-form-item label="检测状态" v-if="form.activeTabs != 5"> <el-form-item label="检测状态">
<el-select v-model="form.checkStatus"> <el-select v-model="form.checkStatus" clearable>
<el-option <el-option
v-for="(item, index) in checkStatusList" v-for="(item, index) in checkStatusList"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
:disabled="item.disabled"
:key="index" :key="index"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报告状态" v-if="form.activeTabs != 5"> <el-form-item label="报告状态">
<el-select v-model="form.checkReportStatus"> <el-select v-model="form.checkReportStatus" clearable>
<el-option <el-option
v-for="(item, index) in checkReportStatusList" v-for="(item, index) in checkReportStatusList"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
:disabled="item.disabled"
:key="index" :key="index"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="检测结果" v-if="form.activeTabs != 5"> <el-form-item label="检测结果">
<el-select v-model="form.checkResult"> <el-select v-model="form.checkResult" clearable>
<el-option <el-option
v-for="(item, index) in checkResultList" v-for="(item, index) in checkResultList"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
:key="index" :disabled="item.disabled"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="绑定状态" v-if="form.activeTabs == 5">
<el-select v-model="form.deviceBindStatus">
<el-option
v-for="(item, index) in deviceBindStatusList"
:label="item.label"
:value="item.value"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="设备类型" v-if="form.activeTabs == 5">
<el-select v-model="form.deviceType">
<el-option
v-for="(item, index) in deviceTypeList"
:label="item.label"
:value="item.value"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="制造厂商" v-if="form.activeTabs == 5">
<el-select v-model="form.manufacturer">
<el-option
v-for="(item, index) in manufacturerList"
:label="item.label"
:value="item.value"
:key="index" :key="index"
></el-option> ></el-option>
</el-select> </el-select>
@@ -90,10 +64,18 @@
>启动手动检测</el-button >启动手动检测</el-button
> >
<el-button type="primary" v-if="form.activeTabs === 2" <el-button type="primary" v-if="form.activeTabs === 2"
>报告生成</el-button >不合格项复检</el-button
> >
<el-button type="primary" v-if="form.activeTabs === 5" <el-button type="primary" v-if="form.activeTabs === 2"
>设备导入</el-button >全部复检</el-button
>
<el-button type="primary" v-if="form.activeTabs === 3"
>批量生成报告</el-button
>
<el-button type="primary" v-if="form.activeTabs === 4"
>设备批量归档</el-button
> >
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -128,120 +110,136 @@
<script setup lang="tsx" name="useProTable"> <script setup lang="tsx" name="useProTable">
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { User } from "@/api/interface"; import type { Device } from '@/api/device/interface'
import { useHandleData } from "@/hooks/useHandleData"; import { useHandleData } from "@/hooks/useHandleData";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { type ProTableInstance, type ColumnProps } from '@/components/ProTable/interface'
import { import {
Search, Search,
} from "@element-plus/icons-vue"; } from "@element-plus/icons-vue";
import { getPlanList } from "@/api/plan/planList"; import { getPlanList } from "@/api/plan/planList";
import deviceDataList from '@/api/device/deviceData'
import { log } from "console";
import { isVisible } from "element-plus/es/utils";
const router = useRouter(); const router = useRouter();
const value1 = ref(""); const value1 = ref("");
const value2 = ref(""); const value2 = ref("");
const tableHeight = ref(0); const tableHeight = ref(0);
console.log(window.innerHeight, "+++++++++"); console.log(window.innerHeight, "+++++++++");
tableHeight.value = window.innerHeight - 630; tableHeight.value = window.innerHeight - 630;
const deviceData = deviceDataList.plan_devicedata
//下拉框数据 //下拉框数据
//检测状态数据 //检测状态数据
const checkStatusList = [ let checkStatusList = reactive([
{ {
label: "未检测", label: "未检测",
value: 0, value: 0,
disabled: false,
}, },
{ {
label: "检测中", label: "检测中",
value: 1, value: 1,
disabled: false,
}, },
{ {
label: "检测完成", label: "检测完成",
value: 2, value: 2,
disabled: false,
}, },
{ {
label: "归档", label: "归档",
value: 3, value: 3,
disabled: false,
}, },
]; ]);
//检测报告状态数据 //检测报告状态数据
const checkReportStatusList = [ let checkReportStatusList = reactive([
{ {
label: "未生成报告", label: "未生成报告",
value: 0, value: 0,
disabled: false,
}, },
{ {
label: "已生成报告", label: "已生成报告",
value: 1, value: 1,
disabled: false,
}, },
]; ]);
//检测结果数组 //检测结果数组
const checkResultList = [ let checkResultList = reactive([
{ {
label: "/", label: "未出结果",
value: null, value: 0,
disabled: false,
}, },
{ {
label: "不合格", label: "不合格",
value: 0, value: 1,
disabled: false,
}, },
{ {
label: "合格", label: "合格",
value: 1, value: 2,
disabled: false,
}, },
]; ]);
//绑定状态数组 //绑定状态数组
const deviceBindStatusList = [ // const deviceBindStatusList = [
{ // {
label: "未绑定", // label: "未绑定",
value: 0, // value: 0,
}, // disabled: true,
{ // },
label: "已绑定", // {
value: 1, // label: "已绑定",
}, // value: 1,
]; // disabled: true,
//设备类型数组 // },
const deviceTypeList = [ // ];
{ // //设备类型数组
label: "PQS882A", // const deviceTypeList = [
value: 0, // {
}, // label: "PQS882A",
{ // value: 0,
label: "PQS882B4", // },
value: 1, // {
}, // label: "PQS882B4",
{ // value: 1,
label: "PQS882B5", // },
value: 2, // {
}, // label: "PQS882B5",
{ // value: 2,
label: "PQS882B6", // },
value: 3, // {
}, // label: "PQS882B6",
{ // value: 3,
label: "PQS882B7", // },
value: 4, // {
}, // label: "PQS882B7",
{ // value: 4,
label: "PQS882B8", // },
value: 5, // {
}, // label: "PQS882B8",
]; // value: 5,
//制造厂商数组 // },
const manufacturerList = [ // ];
{ // //制造厂商数组
label: "南京灿能电力", // const manufacturerList = [
value: 0, // {
}, // label: "南京灿能电力",
{ // value: 0,
label: "南瑞继保", // },
value: 1, // {
}, // label: "南瑞继保",
{ // value: 1,
label: "中电", // },
value: 2, // {
}, // label: "中电",
]; // value: 2,
// },
// ];
//查询条件 //查询条件
const form: any = ref({ const form: any = ref({
activeTabs: 0, //功能选择 activeTabs: 0, //功能选择
@@ -285,64 +283,111 @@ const getTableList = (params: any) => {
delete newParams.createTime; delete newParams.createTime;
return getPlanList(newParams); return getPlanList(newParams);
}; };
// 表格配置项 // 表格配置项
const columns = reactive<ColumnProps<User.ResUserList>[]>([ const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
{ type: "selection", fixed: "left", width: 70 }, { type: 'selection', fixed: 'left', width: 70 },
{ {
prop: "checkMode", prop: 'name',
label: "设备序列号", label: '名称',
width: 140, minWidth: 120,
render: (scope) => {
return scope.row.checkMode == 0
? "设备1"
: scope.row.checkMode == 1
? "设备2"
: scope.row.checkMode == 2
? "设备3"
: scope.row.checkMode;
}, },
}, {
{ prop: 'dev_Type',
prop: "checkMode", label: '类型',
label: "设备类型", minWidth: 100,
width: 140,
render: (scope) => {
return scope.row.checkMode == 0
? "PQS991"
: scope.row.checkMode == 1
? "PQS882"
: scope.row.checkMode == 2
? "PQS6666"
: scope.row.checkMode;
}, },
}, {
{ prop: 'dev_Chns',
prop: "checkFrom", label: '通道数',
label: "制造厂商", minWidth: 100,
width: 140,
render: (scope) => {
return scope.row.checkFrom == 0
? "南京灿能"
: scope.row.checkFrom == 1
? "南瑞继保"
: scope.row.checkFrom == 2
? "/"
: scope.row.checkFrom;
}, },
}, {
{ prop: 'reCheck_Num',
prop: "numberFromName", label: '复检次数',
label: "MAC/IP", minWidth: 70,
render: (scope) => {
return scope.row.numberFromName == 0
? "192.168.0.1"
: scope.row.numberFromName == 1
? "192.168.0.2"
: scope.row.numberFromName == 2
? "192.168.0.3"
: scope.row.numberFromName;
}, },
}, {
prop: 'report_State',
label: '报告状态',
minWidth: 130,
},
{
prop: 'check_Result',
label: '检测结果',
minWidth: 130,
},
{
prop: 'check_State',
label: '检测状态',
minWidth: 130,
},
{
prop: 'document_State',
label: '归档状态',
minWidth: 130,
},
// { prop: 'operation', label: '操作', fixed: 'right', minWidth: 200 },
])
// 表格配置项
// const columns = reactive<ColumnProps<User.ResUserList>[]>([
// { type: "selection", fixed: "left", width: 70 },
// {
// prop: "checkMode",
// label: "设备序列号",
// width: 140,
// render: (scope) => {
// return scope.row.checkMode == 0
// ? "设备1"
// : scope.row.checkMode == 1
// ? "设备2"
// : scope.row.checkMode == 2
// ? "设备3"
// : scope.row.checkMode;
// },
// },
// {
// prop: "checkMode",
// label: "设备类型",
// width: 140,
// render: (scope) => {
// return scope.row.checkMode == 0
// ? "PQS991"
// : scope.row.checkMode == 1
// ? "PQS882"
// : scope.row.checkMode == 2
// ? "PQS6666"
// : scope.row.checkMode;
// },
// },
// {
// prop: "checkFrom",
// label: "制造厂商",
// width: 140,
// render: (scope) => {
// return scope.row.checkFrom == 0
// ? "南京灿能"
// : scope.row.checkFrom == 1
// ? "南瑞继保"
// : scope.row.checkFrom == 2
// ? "/"
// : scope.row.checkFrom;
// },
// },
// {
// prop: "numberFromName",
// label: "MAC/IP",
// render: (scope) => {
// return scope.row.numberFromName == 0
// ? "192.168.0.1"
// : scope.row.numberFromName == 1
// ? "192.168.0.2"
// : scope.row.numberFromName == 2
// ? "192.168.0.3"
// : scope.row.numberFromName;
// },
// },
// { // {
// prop: "checkExe", // prop: "checkExe",
// label: "检测脚本", // label: "检测脚本",
@@ -428,7 +473,7 @@ const columns = reactive<ColumnProps<User.ResUserList>[]>([
// }, // },
// }, // },
// { prop: "operation", label: "操作", fixed: "right", width: 250 }, // { prop: "operation", label: "操作", fixed: "right", width: 250 },
]); // ]);
// 跳转详情页 // 跳转详情页
const toDetail = () => { const toDetail = () => {
router.push( router.push(
@@ -507,7 +552,94 @@ const changeStatus = async (row: User.ResUserList) => {
//顶部功能切换时修改activeTabs //顶部功能切换时修改activeTabs
const changeActiveTabs = (val: number) => { const changeActiveTabs = (val: number) => {
form.value.activeTabs = val; form.value.activeTabs = val;
tableHeaderInit(val)
console.log(form,val,666)
}; };
//根据当前功能,初始化表头下拉框中的默认值和禁用值
function tableHeaderInit(val: number) {
refreshStatusList()
switch (val) {
case 0://自动检测
case 1://手动检测
form.value.checkStatus = 0;//检测状态默认为未检
form.value.checkReportStatus = 0;//检测报告状态默认为未生成报告
form.value.checkResult = 0;//检测结果默认为未出结果
disableCheckStatus("检测中")
disableCheckStatus("归档")
break;
case 2://设备复检
form.value.checkStatus = 2;//检测状态默认为检测完成
form.value.checkReportStatus = 0;//检测报告状态默认为未生成报告
form.value.checkResult = 1;//检测结果默认为不合格
disableCheckStatus("未检")
disableCheckStatus("检测中")
disableCheckStatus("归档")
disablecheckResultList("未出结果")
break;
case 3://报告生成
form.value.checkStatus = 2;//检测状态默认为检测完成
form.value.checkReportStatus = 0;//检测报告状态默认为未生成报告
form.value.checkResult = 2;//检测结果默认为合格
disableCheckStatus("未检")
disableCheckStatus("检测中")
disableCheckStatus("归档")
disablecheckResultList("未出结果")
break;
case 4://设备归档
form.value.checkStatus = 2;//检测状态默认为检测完成
form.value.checkReportStatus = 1;//检测报告状态默认为已生成报告
form.value.checkResult = 2;//检测结果默认为合格
disableCheckStatus("未检")
disableCheckStatus("检测中")
disableCheckStatus("归档")
disableCheckReportStatus("未生成报告")
disablecheckResultList("未出结果")
break;
case 5://报告浏览
break;
}
}
function refreshStatusList(){
checkStatusList.map((item: any, index: any) => {
if (item.disabled) {
item.disabled = false;
}
});
checkReportStatusList.map((item: any, index: any) => {
if (item.disabled) {
item.disabled = false;
}
});
checkResultList.map((item: any, index: any) => {
if (item.disabled) {
item.disabled = false;
}
});
}
function disableCheckStatus(val: string){
checkStatusList.map((item: any, index: any) => {
if (val == item.label) {
item.disabled = true;
}
});
}
function disableCheckReportStatus(val: string){
checkReportStatusList.map((item: any, index: any) => {
if (val == item.label) {
item.disabled = true;
}
});
}
function disablecheckResultList(val: string){
checkResultList.map((item: any, index: any) => {
if (val == item.label) {
item.disabled = true;
}
});
}
//启动自动检测/手动检测 //启动自动检测/手动检测
const handleTest = () => { const handleTest = () => {
//自动检测 //自动检测
@@ -523,6 +655,7 @@ const handleTest = () => {
}); });
} }
}; };
onMounted(() => { onMounted(() => {
console.log(proTable.value?.tableData); console.log(proTable.value?.tableData);
}); });

View File

@@ -116,27 +116,27 @@ const tabsList = ref([
checked: false, checked: false,
}, },
{ {
label: "报告生成", label: "设备复检",
value: 2, value: 2,
img: "/src/assets/images/plan/static/6.svg",
checked: false,
},
{
label: "报告生成",
value: 3,
img: "/src/assets/images/plan/static/3.svg", img: "/src/assets/images/plan/static/3.svg",
checked: false, checked: false,
}, },
{ {
label: "设备归档", label: "设备归档",
value: 3, value: 4,
img: "/src/assets/images/plan/static/4.svg", img: "/src/assets/images/plan/static/4.svg",
checked: false, checked: false,
}, },
{ {
label: "设备浏览", label: "设备浏览",
value: 4,
img: "/src/assets/images/plan/static/5.svg",
checked: false,
},
{
label: "设备导入",
value: 5, value: 5,
img: "/src/assets/images/plan/static/6.svg", img: "/src/assets/images/plan/static/5.svg",
checked: false, checked: false,
}, },
]); ]);
@@ -187,11 +187,12 @@ const getPieData = () => {
pieRef1.value.init(); pieRef1.value.init();
}; };
const getTree = () => { const getTree = () => {
getStaticTreeData({ userName: "zhangsan", planName: "111" }).then((res) => { treeRef.value.getTreeData(data);
console.log(res, "99999999"); // getStaticTreeData({ userName: "zhangsan", planName: "111" }).then((res) => {
// treeRef.value.getTreeData(res.data); // console.log(res, "99999999");
treeRef.value.getTreeData(data); // // treeRef.value.getTreeData(res.data);
}); // treeRef.value.getTreeData(data);
// });
}; };
//前往检测 //前往检测
const handleDetection = () => { const handleDetection = () => {
@@ -207,6 +208,8 @@ const planDetail = () => {
}; };
//功能选择css切换 //功能选择css切换
const handleCheckFunction = (val: any) => { const handleCheckFunction = (val: any) => {
console.log("test1",val);
tabsList.value.map((item: any, index: any) => { tabsList.value.map((item: any, index: any) => {
if (val == index) { if (val == index) {
item.checked = true; item.checked = true;

View File

@@ -33,7 +33,7 @@
<!-- <el-button type='primary' :icon='Download' >下载报告</el-button> --> <!-- <el-button type='primary' :icon='Download' >下载报告</el-button> -->
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='View' >查看</el-button> <!-- <el-button type='primary' link :icon='View' >查看</el-button> -->
<el-button type='primary' link :icon='Delete' >移除</el-button> <el-button type='primary' link :icon='Delete' >移除</el-button>
</template> </template>
</ProTable> </ProTable>
@@ -100,7 +100,7 @@
label: '归档状态', label: '归档状态',
minWidth: 130, minWidth: 130,
}, },
{ prop: 'operation', label: '操作', fixed: 'right', minWidth: 200 }, { prop: 'operation', label: '操作', fixed: 'right', minWidth: 150 },
]) ])
const open = (textTitle: string) => { const open = (textTitle: string) => {

View File

@@ -96,7 +96,7 @@
minWidth: 120, minWidth: 120,
}, },
{ {
prop: 'PlanName', prop: 'planName',
label: '所属计划', label: '所属计划',
search: { el: 'input' }, search: { el: 'input' },
minWidth: 280, minWidth: 280,

View File

@@ -9,10 +9,10 @@
<el-form-item label="父计划" prop="father_Plan_Id" :label-width="100"> <el-form-item label="父计划" prop="father_Plan_Id" :label-width="100">
<el-select v-model="formData.father_Plan_Id" placeholder="请选择父计划" autocomplete="off" :disabled="isReadOnly" @change="fatherPlanChange"> <el-select v-model="formData.father_Plan_Id" placeholder="请选择父计划" autocomplete="off" :disabled="isReadOnly" @change="fatherPlanChange">
<el-option <el-option
v-for="plan in fatherPlanList" v-for="plan in testFatherPlanList"
:key="plan.value" :key="plan.id"
:label="plan.label" :label="plan.label"
:value="plan.value"> :value="plan.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -62,7 +62,7 @@
import{ElMessage, FormInstance,FormItemRule}from'element-plus' import{ElMessage, FormInstance,FormItemRule}from'element-plus'
import { defineProps, defineEmits, reactive,watch,ref, Ref } from 'vue'; import { defineProps, defineEmits, reactive,watch,ref, Ref } from 'vue';
import { dialogSmall} from '@/utils/elementBind' import { dialogSmall} from '@/utils/elementBind'
import {dictPattern,dictTestState,dictReportState,dictResult,testPlanDataList,testSoureDataList,testScriptDataList,testErrSystDataList,planData} from '@/api/plan/planData' import {dictPattern,dictTestState,dictReportState,dictResult,testPlanDataList,testSoureDataList,testScriptDataList,testErrSystDataList,planData,testFatherPlanList} from '@/api/plan/planData'
const props = defineProps<{ const props = defineProps<{
visible: boolean; visible: boolean;

View File

@@ -26,7 +26,7 @@
<!-- <el-button type='primary' :icon='Download' >下载报告</el-button> --> <!-- <el-button type='primary' :icon='Download' >下载报告</el-button> -->
<!-- 表格操作 --> <!-- 表格操作 -->
<template #operation='scope'> <template #operation='scope'>
<el-button type='primary' link :icon='View' >查看</el-button> <!-- <el-button type='primary' link :icon='View' >查看</el-button> -->
<el-button type='primary' link :icon='Delete' >移除</el-button> <el-button type='primary' link :icon='Delete' >移除</el-button>
</template> </template>
</ProTable> </ProTable>
@@ -77,7 +77,7 @@
search: { el: 'select' }, search: { el: 'select' },
minWidth: 150, minWidth: 150,
}, },
{ prop: 'operation', label: '操作', fixed: 'right', width: 330 }, { prop: 'operation', label: '操作', fixed: 'right', width: 150 },
]) ])
const open = (textTitle: string) => { const open = (textTitle: string) => {

View File

@@ -45,7 +45,7 @@ import ProTable from '@/components/ProTable/index.vue'
import TimeControl from '@/components/TimeControl/index.vue' import TimeControl from '@/components/TimeControl/index.vue'
import type { ProTableInstance,ColumnProps } from '@/components/ProTable/interface' import type { ProTableInstance,ColumnProps } from '@/components/ProTable/interface'
import { CirclePlus, Delete,EditPen,View,Upload,Download,List} from '@element-plus/icons-vue' import { CirclePlus, Delete,EditPen,View,Upload,Download,List} from '@element-plus/icons-vue'
import {dictPattern,dictTestState,dictReportState,dictResult,testPlanDataList,testSoureDataList,testScriptDataList,testErrSystDataList,planData} from '@/api/plan/planData' import {dictPattern,dictTestState,dictReportState,dictResult,testPlanDataList,testSoureDataList,testScriptDataList,testErrSystDataList,planData,testFatherPlanList} from '@/api/plan/planData'
import { reactive,ref } from 'vue' import { reactive,ref } from 'vue'
import type { Plan } from '@/api/plan/interface' import type { Plan } from '@/api/plan/interface'
import planPopup from "@/views/plan/planList/components/planPopup.vue"; // 导入子组件 import planPopup from "@/views/plan/planList/components/planPopup.vue"; // 导入子组件
@@ -121,37 +121,40 @@ const columns = reactive<ColumnProps<Plan.PlanBO>[]>([
prop: 'test_State', prop: 'test_State',
label: '检测状态', label: '检测状态',
width: 100, width: 100,
enum: dictStore.getDictData('planTestState'), enum: dictTestState,
// enum: dictStore.getDictData('planTestState'),
search: { el: 'select', props: { filterable: true } }, search: { el: 'select', props: { filterable: true } },
fieldNames: { label: 'label', value: 'code' }, fieldNames: { label: 'label', value: 'id' },
}, },
{ {
prop: 'report_State', prop: 'report_State',
label: '检测报告状态', label: '检测报告状态',
width: 150, width: 150,
enum: dictStore.getDictData('planReportState'), enum: dictReportState,
// enum: dictStore.getDictData('planReportState'),
search: { el: 'select', props: { filterable: true } }, search: { el: 'select', props: { filterable: true } },
fieldNames: { label: 'label', value: 'code' }, fieldNames: { label: 'label', value: 'id' },
}, },
{ {
prop: 'result', prop: 'result',
label: '检测结果', label: '检测结果',
width: 100, width: 100,
enum: dictStore.getDictData('planResult'), enum: dictResult,
// enum: dictStore.getDictData('planResult'),
search: { el: 'select', props: { filterable: true } }, search: { el: 'select', props: { filterable: true } },
fieldNames: { label: 'label', value: 'code' }, fieldNames: { label: 'label', value: 'id' },
}, },
{ {
prop: 'father_Plan_Id', prop: 'father_Plan_Id',
label: '父节点', label: '父节点',
width: 200, width: 200,
enum: testFatherPlanList,
fieldNames: { label: 'label', value: 'id' },
}, },
{ prop: 'operation', label: '操作', fixed: 'right' ,width: 500, }, { prop: 'operation', label: '操作', fixed: 'right' ,width: 500, },
]) ])
const fileInput = ref<HTMLInputElement | null>(null); // 声明 fileInput const fileInput = ref<HTMLInputElement | null>(null); // 声明 fileInput
function openFileDialog() { function openFileDialog() {
if (fileInput.value) { if (fileInput.value) {