diff --git a/frontend/src/api/device/interface/index.ts b/frontend/src/api/device/interface/index.ts index b7b8fab..cba0c56 100644 --- a/frontend/src/api/device/interface/index.ts +++ b/frontend/src/api/device/interface/index.ts @@ -2,19 +2,6 @@ import type { ReqPage } from '@/api/interface' // 被检设备模块 export namespace Device { - - // 被检设备列表 - export interface ResDeviceList { - id: string; //被检设备ID - deviceName: string; //检测设备名称 - deviceType: string; //检测设备类型 - deviceChannels: string;//设备通道数 - PlanName: string; //所属计划名称 - deviceUn: string; //设备额定电压 - deviceIn: string; //设备额定电流 - deviceCompany: string;//设备厂家 - deviceModel: string; //设备模式 模拟 数字 比对 - } // 被检设备参数 export interface ReqDeviceParams extends ReqPage { @@ -30,7 +17,7 @@ export namespace Device { } // 被检设备列表 - export interface DeviceList { + export interface ResDeviceList { id: string; //装置序号ID name: string; //设备名称 pattern?: string; //设备模式 模拟 数字 比对 diff --git a/frontend/src/api/system/dictionary/interface/index.ts b/frontend/src/api/system/dictionary/interface/index.ts index f8ee2fa..f123d77 100644 --- a/frontend/src/api/system/dictionary/interface/index.ts +++ b/frontend/src/api/system/dictionary/interface/index.ts @@ -100,7 +100,7 @@ export namespace Dict { name: string;//指标名称 phase: string;//相别 dataType: string;//数据模型(epd、pqd...) - otherName?: string | null;//别名(默认与Name相同,主要是为了适配不同数据库里面字段) + otherName?: string ;//别名(默认与Name相同,主要是为了适配不同数据库里面字段) showName?:string | null;//显示名称 sort:number;//排序 type?: string | null;//指标数据类型(整型、浮点型、枚举型这些的) diff --git a/frontend/src/views/system/dictionary/dictPq/components/pqPopup.vue b/frontend/src/views/system/dictionary/dictPq/components/pqPopup.vue index b8b755d..438ddd0 100644 --- a/frontend/src/views/system/dictionary/dictPq/components/pqPopup.vue +++ b/frontend/src/views/system/dictionary/dictPq/components/pqPopup.vue @@ -25,9 +25,9 @@ @@ -50,12 +50,11 @@ - - + @@ -66,9 +65,9 @@ @@ -76,9 +75,9 @@ @@ -94,7 +93,7 @@ @@ -168,8 +167,9 @@ import { addDictPq, updateDictPq } from '@/api/system/dictionary/dictPq' import { computed, type Ref, ref } from 'vue'; import { useDictStore } from '@/stores/modules/dict' +import { el } from 'element-plus/es/locale'; const dictStore = useDictStore() - + const selectedStatMethods = ref([]) // 定义弹出组件元信息 const dialogFormRef = ref() function useMetaInfo() { @@ -213,7 +213,6 @@ classId: [{ required: true, message: '数据库表名必选!', trigger: 'change' }], }) - // 关闭弹窗 const close = () => { dialogVisible.value = false @@ -221,6 +220,7 @@ resetFormContent() // 重置表单 dialogFormRef.value?.resetFields() + selectedStatMethods.value = [] } // 保存数据 @@ -228,13 +228,26 @@ try { dialogFormRef.value?.validate(async (valid: boolean) => { if (valid) { - + formContent.value.statMethod = selectedStatMethods.value.join(',') if (formContent.value.id) { - await updateDictPq(formContent.value) + updateDictPq(formContent.value).then(result => { + if(result.code != 'A0000'){ + ElMessage.error({ message: result.message}) + }else{ + ElMessage.success({ message: `${dialogTitle.value}成功!` }) + } + }) } else { - await addDictPq(formContent.value) + addDictPq(formContent.value).then(result => { + if(result.code != 'A0000'){ + ElMessage.error({ message: result.message}) + }else{ + ElMessage.success({ message: `${dialogTitle.value}成功!` }) + } + }) } - ElMessage.success({ message: `${dialogTitle.value}成功!` }) + //ElMessage.success({ message: `${dialogTitle.value}成功!` }) + close() // 刷新表格 await props.refreshTable!() @@ -249,7 +262,8 @@ const open = (sign: string, data: Dict.ResDictPq) => { titleType.value = sign dialogVisible.value = true - console.log('123456',dictStore) + console.log(dictStore) + selectedStatMethods.value = data.statMethod ? data.statMethod.split(',') : [] if (data.id) { formContent.value = { ...data } } else { @@ -263,4 +277,6 @@ refreshTable: (() => Promise) | undefined; }>() + + \ No newline at end of file diff --git a/frontend/src/views/system/dictionary/dictPq/index.vue b/frontend/src/views/system/dictionary/dictPq/index.vue index bf662f7..980b0e5 100644 --- a/frontend/src/views/system/dictionary/dictPq/index.vue +++ b/frontend/src/views/system/dictionary/dictPq/index.vue @@ -69,6 +69,10 @@ search: { el: 'input', }, + render: (scope) => { + const codes = scope.row.otherName; + return codes || '/'; + } }, { prop: 'showName', @@ -77,56 +81,95 @@ search: { el: 'input', }, + render: (scope) => { + const codes = scope.row.showName; + return codes || '/'; + } }, { prop: 'phase', label: '相别', width: 180, + enum: dictStore.getDictData('High_Cate'), + fieldNames: { label: 'name', value: 'code' }, }, { - prop: 'phase', + prop: 'unit', label: '单位', width: 180, + render: (scope) => { + const codes = scope.row.unit; + return codes || '/'; + } }, { prop: 'type', label: '指标数据类型', width: 180, + render: (scope) => { + const codes = scope.row.type; + return codes || '/'; + } }, { prop: 'harmStart', label: '数据谐波次数', width: 180, render: (scope) => { - return scope.row.harmStart + return (scope.row.harmStart && scope.row.harmEnd) ? `${scope.row.harmStart}-${scope.row.harmEnd}` - : '/'; // 如果 harmStart 为空,返回 \ + : '/'; // 如果 harmStart 或 harmEnd 为空,返回 '/' }, }, { prop: 'statMethod', label: '数据统计类型', - width: 180, - render: (row) => { - const methods = row.statMethod || []; // 确保statMethod存在 - if (methods.length === 0) { - return '/'; // 空值时显示/ - } else if (methods.length > 2) { - return methods.join(', '); // 超过两个用逗号分隔 - } else { - return methods.join(' '); // 少于等于两个时用空格分隔 + width: 250, + enum: dictStore.getDictData('Event_Type'), + fieldNames: { label: 'name', value: 'code' }, + render: (scope) => { + // 假设 statMethod 是一个数组,包含多个 'code' 值 + const codes = scope.row.statMethod; // 获取当前行的 statMethod 字段 + //console.log('codes',codes) + if (!codes) { + return '/'; // 如果 statMethod 为 undefined 或 null,返回 '/' } - }, + // 确保 codes 是一个字符串 + const codeString = Array.isArray(codes) ? codes.join(',') : codes; + const codeArray = codeString.split(','); + if (codeArray.length > 1) { + // 查找与每个 code 值匹配的 name,然后拼接成逗号分割的字符串 + //console.log('codeArray',codeArray) + const names = codeArray.map(code => { + const dictItem = dictStore.getDictData('Event_Type').find(item => item.code === code); + return dictItem ? dictItem.name : ''; // 如果找到匹配的项,返回对应的 name + }); + //console.log('names',names) + return names.join(', '); // 用逗号连接所有的 name + } + // 查找单个 code 对应的 name + const dictItem = dictStore.getDictData('Event_Type').find(item => item.code === codeArray[0]); + return dictItem ? dictItem.name : ''; // 如果找到匹配的项,返回对应的 name + }, }, { prop: 'classId', label: '数据表表名', width: 180, + enum: dictStore.getDictData('High_Cate'), + fieldNames: { label: 'name', value: 'code' }, + }, { prop: 'resourcesId', label: '报表数据来源', width: 180, + enum: dictStore.getDictData('Dev_Series'), + fieldNames: { label: 'name', value: 'code' }, + render: (scope) => { + const codes = scope.row.resourcesId; + return codes || '/'; + } }, { prop: 'operation',