From 8d6b574a04d1cba911465aabb042c093ab2f646c Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 10 七月 2026 16:56:42 +0800
Subject: [PATCH] mes基础参数/参数模版接口调用
---
src/api/mdm/unit/index.ts | 10
src/views/mes/process-design/parameter/data.ts | 189 +++++------
src/views/mes/process-design/template/data.ts | 131 ++++---
src/api/mes/pro/processdesign/template/index.ts | 62 ++-
src/views/mes/process-design/template/modules/parameter-select-dialog.vue | 14
src/views/mes/process-design/template/index.vue | 198 ++++++-----
src/views/mes/process-design/parameter/index.vue | 26 +
src/api/mes/pro/processdesign/parameter/index.ts | 39 +
src/views/mes/process-design/template/modules/form.vue | 317 ++++++++++--------
9 files changed, 536 insertions(+), 450 deletions(-)
diff --git a/src/api/mdm/unit/index.ts b/src/api/mdm/unit/index.ts
index d05a8f2..6b437ba 100644
--- a/src/api/mdm/unit/index.ts
+++ b/src/api/mdm/unit/index.ts
@@ -1,6 +1,6 @@
-import type { PageParam, PageResult } from '#/packages/effects/request/src';
+import type { PageParam, PageResult } from "#/packages/effects/request/src";
-import { requestClient } from '#/api/request';
+import { requestClient } from "#/api/request";
export namespace MdmUnitApi {
/** 璁¢噺鍗曚綅淇℃伅 */
@@ -18,7 +18,7 @@
/** 鏌ヨ璁¢噺鍗曚綅鍒嗛〉 */
export function getUnitPage(params: PageParam) {
- return requestClient.get<PageResult<MdmUnitApi.Unit>>('/mdm/unit/page', {
+ return requestClient.get<PageResult<MdmUnitApi.Unit>>("/mdm/unit/page", {
params,
});
}
@@ -35,12 +35,12 @@
/** 鏂板璁¢噺鍗曚綅 */
export function createUnit(data: MdmUnitApi.Unit) {
- return requestClient.post('/mdm/unit/create', data);
+ return requestClient.post("/mdm/unit/create", data);
}
/** 淇敼璁¢噺鍗曚綅 */
export function updateUnit(data: MdmUnitApi.Unit) {
- return requestClient.put('/mdm/unit/update', data);
+ return requestClient.put("/mdm/unit/update", data);
}
/** 鍒犻櫎璁¢噺鍗曚綅 */
diff --git a/src/api/mes/pro/processdesign/parameter/index.ts b/src/api/mes/pro/processdesign/parameter/index.ts
index 391964a..516ecb6 100644
--- a/src/api/mes/pro/processdesign/parameter/index.ts
+++ b/src/api/mes/pro/processdesign/parameter/index.ts
@@ -6,22 +6,25 @@
/** 宸ヨ壓鍙傛暟 */
export interface Parameter {
id?: number;
- code?: string;
- name?: string;
- type?: number;
- unit?: string;
- requiredFlag?: boolean;
- dictType?: string;
- apiUrl?: string;
+ paramCode?: string;
+ paramName?: string;
+ paramType?: number;
+ unitMeasureId?: number;
+ unitMeasureName?: string;
+ required?: boolean;
remark?: string;
createTime?: Date;
}
}
/** 鏌ヨ宸ヨ壓鍙傛暟鍒嗛〉 */
-export function getParameterPage(params: PageParam) {
+export function getParameterPage(params: PageParam & {
+ paramCode?: string;
+ paramName?: string;
+ paramType?: number;
+}) {
return requestClient.get<PageResult<MesPdParameterApi.Parameter>>(
- '/mes/pro/process-design/parameter/page',
+ '/mes/pd/process-param/page',
{ params },
);
}
@@ -29,21 +32,21 @@
/** 鏌ヨ宸ヨ壓鍙傛暟绮剧畝鍒楄〃 */
export function getParameterSimpleList() {
return requestClient.get<MesPdParameterApi.Parameter[]>(
- '/mes/pro/process-design/parameter/simple-list',
+ '/mes/pd/process-param/simple-list',
);
}
/** 鏌ヨ宸ヨ壓鍙傛暟璇︽儏 */
export function getParameter(id: number) {
return requestClient.get<MesPdParameterApi.Parameter>(
- `/mes/pro/process-design/parameter/get?id=${id}`,
+ `/mes/pd/process-param/get?id=${id}`,
);
}
/** 鏂板宸ヨ壓鍙傛暟 */
export function createParameter(data: MesPdParameterApi.Parameter) {
return requestClient.post(
- '/mes/pro/process-design/parameter/create',
+ '/mes/pd/process-param/create',
data,
);
}
@@ -51,7 +54,7 @@
/** 淇敼宸ヨ壓鍙傛暟 */
export function updateParameter(data: MesPdParameterApi.Parameter) {
return requestClient.put(
- '/mes/pro/process-design/parameter/update',
+ '/mes/pd/process-param/update',
data,
);
}
@@ -59,6 +62,14 @@
/** 鍒犻櫎宸ヨ壓鍙傛暟 */
export function deleteParameter(id: number) {
return requestClient.delete(
- `/mes/pro/process-design/parameter/delete?id=${id}`,
+ `/mes/pd/process-param/delete?id=${id}`,
+ );
+}
+
+/** 瀵煎嚭宸ヨ壓鍙傛暟 */
+export function exportParameterExcel(params: any) {
+ return requestClient.download(
+ '/mes/pd/process-param/export-excel',
+ { params },
);
}
diff --git a/src/api/mes/pro/processdesign/template/index.ts b/src/api/mes/pro/processdesign/template/index.ts
index ab05241..191c3d0 100644
--- a/src/api/mes/pro/processdesign/template/index.ts
+++ b/src/api/mes/pro/processdesign/template/index.ts
@@ -1,53 +1,65 @@
-import type { PageParam, PageResult } from '../../../../../packages/effects/request/src';
+import type { PageParam, PageResult } from "../../../../../packages/effects/request/src";
-import { requestClient } from '#/api/request';
+import { requestClient } from "#/api/request";
export namespace MesPdTemplateApi {
+ /** 妯℃澘鏄庣粏 */
+ export interface TemplateDetail {
+ id?: number;
+ templateId?: number;
+ processParamId?: number;
+ paramCode?: string;
+ paramName?: string;
+ paramType?: number;
+ unitMeasureName?: string;
+ required?: boolean;
+ remark?: string;
+ }
+
/** 宸ヨ壓鍙傛暟妯℃澘 */
export interface Template {
id?: number;
- name?: string;
- type?: number;
- parameterIds?: number[];
- createUser?: string;
+ templateCode?: string;
+ templateName?: string;
+ templateType?: number;
+ remark?: string;
+ details?: TemplateDetail[];
createTime?: Date;
}
}
/** 鏌ヨ宸ヨ壓鍙傛暟妯℃澘鍒嗛〉 */
-export function getTemplatePage(params: PageParam) {
- return requestClient.get<PageResult<MesPdTemplateApi.Template>>(
- '/mes/pro/process-design/template/page',
- { params },
- );
+export function getTemplatePage(
+ params: PageParam & {
+ templateCode?: string;
+ templateName?: string;
+ templateType?: number;
+ },
+) {
+ return requestClient.get<PageResult<MesPdTemplateApi.Template>>("/mes/pd/process-param-template/page", { params });
}
/** 鏌ヨ宸ヨ壓鍙傛暟妯℃澘璇︽儏 */
export function getTemplate(id: number) {
- return requestClient.get<MesPdTemplateApi.Template>(
- `/mes/pro/process-design/template/get?id=${id}`,
- );
+ return requestClient.get<MesPdTemplateApi.Template>(`/mes/pd/process-param-template/get?id=${id}`);
}
/** 鏂板宸ヨ壓鍙傛暟妯℃澘 */
export function createTemplate(data: MesPdTemplateApi.Template) {
- return requestClient.post(
- '/mes/pro/process-design/template/create',
- data,
- );
+ return requestClient.post("/mes/pd/process-param-template/create", data);
}
/** 淇敼宸ヨ壓鍙傛暟妯℃澘 */
export function updateTemplate(data: MesPdTemplateApi.Template) {
- return requestClient.put(
- '/mes/pro/process-design/template/update',
- data,
- );
+ return requestClient.put("/mes/pd/process-param-template/update", data);
}
/** 鍒犻櫎宸ヨ壓鍙傛暟妯℃澘 */
export function deleteTemplate(id: number) {
- return requestClient.delete(
- `/mes/pro/process-design/template/delete?id=${id}`,
- );
+ return requestClient.delete(`/mes/pd/process-param-template/delete?id=${id}`);
+}
+
+/** 瀵煎嚭宸ヨ壓鍙傛暟妯℃澘 */
+export function exportTemplateExcel(params: any) {
+ return requestClient.download("/mes/pd/process-param-template/export-excel", { params });
}
diff --git a/src/views/mes/process-design/parameter/data.ts b/src/views/mes/process-design/parameter/data.ts
index e90cfed..6931b85 100644
--- a/src/views/mes/process-design/parameter/data.ts
+++ b/src/views/mes/process-design/parameter/data.ts
@@ -1,113 +1,96 @@
-import type { VbenFormSchema } from '#/adapter/form';
-import type { VxeTableGridOptions } from '#/adapter/vxe-table';
-import type { MesPdParameterApi } from '#/api/mes/pro/processdesign/parameter';
+import type { VbenFormSchema } from "#/adapter/form";
+import type { VxeTableGridOptions } from "#/adapter/vxe-table";
+import type { MesPdParameterApi } from "#/api/mes/pro/processdesign/parameter";
-import { DICT_TYPE } from '../../../../packages/constants/src';
-import { getDictOptions } from '../../../../packages/effects/hooks/src';
+import { DICT_TYPE } from "../../../../packages/constants/src";
+import { getDictOptions } from "../../../../packages/effects/hooks/src";
-import { z } from '#/adapter/form';
-
-/** 鍙傛暟绫诲瀷 - 涓嬫媺閫夐」鐨勫�� */
-const PARAM_TYPE_SELECT = 3;
+import { z } from "#/adapter/form";
+import { getUnitPage } from "#/api/mdm/unit";
/** 琛ㄥ崟绫诲瀷 */
-export type FormType = 'create' | 'detail' | 'update';
+export type FormType = "create" | "detail" | "update";
/** 鏂板/淇敼宸ヨ壓鍙傛暟鐨勮〃鍗� */
export function useFormSchema(): VbenFormSchema[] {
return [
{
- fieldName: 'id',
- component: 'Input',
+ fieldName: "id",
+ component: "Input",
dependencies: {
- triggerFields: [''],
+ triggerFields: [""],
show: () => false,
},
},
{
- fieldName: 'code',
- label: '鍙傛暟缂栫爜',
- component: 'Input',
+ fieldName: "paramCode",
+ label: "鍙傛暟缂栫爜",
+ component: "Input",
componentProps: {
maxLength: 64,
- placeholder: '璇疯緭鍏ュ弬鏁扮紪鐮�',
+ placeholder: "鍙傛暟缂栫爜鑷姩鐢熸垚",
+ disabled: true,
},
- rules: z.string().min(1, '鍙傛暟缂栫爜涓嶈兘涓虹┖').max(64),
},
{
- fieldName: 'name',
- label: '鍙傛暟鍚嶇О',
- component: 'Input',
+ fieldName: "paramName",
+ label: "鍙傛暟鍚嶇О",
+ component: "Input",
componentProps: {
maxLength: 100,
- placeholder: '璇疯緭鍏ュ弬鏁板悕绉�',
+ placeholder: "璇疯緭鍏ュ弬鏁板悕绉�",
},
- rules: z.string().min(1, '鍙傛暟鍚嶇О涓嶈兘涓虹┖').max(100),
+ rules: z.string().min(1, "鍙傛暟鍚嶇О涓嶈兘涓虹┖").max(100),
},
{
- fieldName: 'type',
- label: '鍙傛暟绫诲瀷',
- component: 'Select',
+ fieldName: "paramType",
+ label: "鍙傛暟绫诲瀷",
+ component: "Select",
componentProps: {
allowClear: true,
- options: getDictOptions(DICT_TYPE.MES_PD_PARAM_TYPE, 'number'),
- placeholder: '璇烽�夋嫨鍙傛暟绫诲瀷',
+ options: getDictOptions(DICT_TYPE.MES_PD_PARAM_TYPE, "number"),
+ placeholder: "璇烽�夋嫨鍙傛暟绫诲瀷",
},
- rules: 'selectRequired',
+ rules: "selectRequired",
},
{
- fieldName: 'unit',
- label: '鍗曚綅',
- component: 'Input',
+ fieldName: "unitMeasureId",
+ label: "璁¢噺鍗曚綅",
+ component: "ApiSelect",
componentProps: {
- maxLength: 20,
- placeholder: '璇疯緭鍏ュ崟浣�',
+ allowClear: true,
+ api: async () => {
+ const result = await getUnitPage({ pageNo: 1, pageSize: 100 });
+ return result.list.map(item => ({
+ label: item.name || "",
+ value: item.id || 0,
+ }));
+ },
+ labelField: "label",
+ valueField: "value",
+ placeholder: "璇烽�夋嫨璁¢噺鍗曚綅",
+ showSearch: true,
+ filterOption: true,
},
},
{
- fieldName: 'requiredFlag',
- label: '鏄惁蹇呭~',
- component: 'Switch',
+ fieldName: "required",
+ label: "鏄惁蹇呭~",
+ component: "Switch",
componentProps: {
- checkedChildren: '鏄�',
- unCheckedChildren: '鍚�',
+ checkedChildren: "鏄�",
+ unCheckedChildren: "鍚�",
},
rules: z.boolean().default(false),
},
{
- fieldName: 'dictType',
- label: '瀛楀吀绫诲瀷',
- component: 'Input',
- componentProps: {
- maxLength: 64,
- placeholder: '璇疯緭鍏ュ瓧鍏哥被鍨嬶紙涓嬫媺閫夐」鏃堕厤缃級',
- },
- dependencies: {
- triggerFields: ['type'],
- show: (values) => values?.type === PARAM_TYPE_SELECT,
- },
- },
- {
- fieldName: 'apiUrl',
- label: '鎺ュ彛鍦板潃',
- component: 'Input',
+ fieldName: "remark",
+ label: "澶囨敞",
+ component: "Textarea",
+ formItemClass: "col-span-2",
componentProps: {
maxLength: 250,
- placeholder: '璇疯緭鍏ユ帴鍙e湴鍧�锛堜笅鎷夐�夐」鏃堕厤缃級',
- },
- dependencies: {
- triggerFields: ['type'],
- show: (values) => values?.type === PARAM_TYPE_SELECT,
- },
- },
- {
- fieldName: 'remark',
- label: '澶囨敞',
- component: 'Textarea',
- formItemClass: 'col-span-2',
- componentProps: {
- maxLength: 250,
- placeholder: '璇疯緭鍏ュ娉�',
+ placeholder: "璇疯緭鍏ュ娉�",
rows: 3,
},
},
@@ -118,79 +101,79 @@
export function useGridFormSchema(): VbenFormSchema[] {
return [
{
- fieldName: 'code',
- label: '鍙傛暟缂栫爜',
- component: 'Input',
+ fieldName: "paramCode",
+ label: "鍙傛暟缂栫爜",
+ component: "Input",
componentProps: {
allowClear: true,
- placeholder: '璇疯緭鍏ュ弬鏁扮紪鐮�',
+ placeholder: "璇疯緭鍏ュ弬鏁扮紪鐮�",
},
},
{
- fieldName: 'name',
- label: '鍙傛暟鍚嶇О',
- component: 'Input',
+ fieldName: "paramName",
+ label: "鍙傛暟鍚嶇О",
+ component: "Input",
componentProps: {
allowClear: true,
- placeholder: '璇疯緭鍏ュ弬鏁板悕绉�',
+ placeholder: "璇疯緭鍏ュ弬鏁板悕绉�",
},
},
{
- fieldName: 'type',
- label: '鍙傛暟绫诲瀷',
- component: 'Select',
+ fieldName: "paramType",
+ label: "鍙傛暟绫诲瀷",
+ component: "Select",
componentProps: {
allowClear: true,
- options: getDictOptions(DICT_TYPE.MES_PD_PARAM_TYPE, 'number'),
- placeholder: '璇烽�夋嫨鍙傛暟绫诲瀷',
+ options: getDictOptions(DICT_TYPE.MES_PD_PARAM_TYPE, "number"),
+ placeholder: "璇烽�夋嫨鍙傛暟绫诲瀷",
},
},
];
}
/** 鍒楄〃鐨勫瓧娈� */
-export function useGridColumns(): VxeTableGridOptions<MesPdParameterApi.Parameter>['columns'] {
+export function useGridColumns(): VxeTableGridOptions<MesPdParameterApi.Parameter>["columns"] {
return [
{
- type: 'seq',
- title: '搴忓彿',
+ type: "seq",
+ title: "搴忓彿",
width: 60,
- align: 'center',
+ align: "center",
},
- { field: 'code', title: '鍙傛暟缂栫爜', minWidth: 150 },
- { field: 'name', title: '鍙傛暟鍚嶇О', minWidth: 180 },
+ { field: "paramCode", title: "鍙傛暟缂栫爜", minWidth: 150 },
+ { field: "paramName", title: "鍙傛暟鍚嶇О", minWidth: 180 },
{
- field: 'type',
- title: '鍙傛暟绫诲瀷',
+ field: "paramType",
+ title: "鍙傛暟绫诲瀷",
width: 120,
cellRender: {
- name: 'CellDict',
+ name: "CellDict",
props: { type: DICT_TYPE.MES_PD_PARAM_TYPE },
},
},
- { field: 'unit', title: '鍗曚綅', width: 80 },
+ { field: "unitMeasureName", title: "鍗曚綅", width: 80 },
{
- field: 'requiredFlag',
- title: '鏄惁蹇呭~',
+ field: "required",
+ title: "鏄惁蹇呭~",
width: 90,
cellRender: {
- name: 'CellDict',
+ name: "CellDict",
props: { type: DICT_TYPE.INFRA_BOOLEAN_STRING },
},
},
- { field: 'remark', title: '澶囨敞', minWidth: 180 },
+ { field: "remark", title: "澶囨敞", minWidth: 180 },
{
- field: 'createTime',
- title: '鍒涘缓鏃堕棿',
+ field: "createTime",
+ title: "鍒涘缓鏃堕棿",
width: 180,
- formatter: 'formatDateTime',
+ formatter: "formatDateTime",
},
{
- title: '鎿嶄綔',
+ title: "鎿嶄綔",
width: 150,
- fixed: 'right',
+ fixed: "right",
slots: {
- default: 'actions',
+ default: "actions",
},
},
];
diff --git a/src/views/mes/process-design/parameter/index.vue b/src/views/mes/process-design/parameter/index.vue
index dfd7e51..da91e8b 100644
--- a/src/views/mes/process-design/parameter/index.vue
+++ b/src/views/mes/process-design/parameter/index.vue
@@ -10,8 +10,10 @@
import {
deleteParameter,
getParameterPage,
+ exportParameterExcel,
} from '#/api/mes/pro/processdesign/parameter';
import { $t } from '#/locales';
+import { downloadFileFromBlobPart } from '../../../../packages/utils/src';
import { useGridColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue';
@@ -44,16 +46,23 @@
/** 鍒犻櫎宸ヨ壓鍙傛暟 */
async function handleDelete(row: MesPdParameterApi.Parameter) {
const hideLoading = message.loading({
- content: $t('ui.actionMessage.deleting', [row.name]),
+ content: $t('ui.actionMessage.deleting', [row.paramName]),
duration: 0,
});
try {
await deleteParameter(row.id!);
- message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
+ message.success($t('ui.actionMessage.deleteSuccess', [row.paramName]));
handleRefresh();
} finally {
hideLoading();
}
+}
+
+/** 瀵煎嚭宸ヨ壓鍙傛暟 */
+async function handleExport() {
+ const formValues = await gridApi.formApi.getValues();
+ const data = await exportParameterExcel(formValues);
+ downloadFileFromBlobPart({ fileName: '宸ヨ壓鍙傛暟.xlsx', source: data });
}
const [Grid, gridApi] = useVbenVxeGrid({
@@ -100,11 +109,18 @@
auth: ['mes:pd:parameter:create'],
onClick: handleCreate,
},
+ {
+ label: $t('ui.actionTitle.export'),
+ type: 'primary',
+ icon: ACTION_ICON.DOWNLOAD,
+ auth: ['mes:pd:parameter:export'],
+ onClick: handleExport,
+ },
]"
/>
</template>
- <template #code="{ row }">
- <Button type="link" @click="handleDetail(row)">{{ row.code }}</Button>
+ <template #paramCode="{ row }">
+ <Button type="link" @click="handleDetail(row)">{{ row.paramCode }}</Button>
</template>
<template #actions="{ row }">
<TableAction
@@ -123,7 +139,7 @@
icon: ACTION_ICON.DELETE,
auth: ['mes:pd:parameter:delete'],
popConfirm: {
- title: $t('ui.actionMessage.deleteConfirm', [row.name]),
+ title: $t('ui.actionMessage.deleteConfirm', [row.paramName]),
confirm: handleDelete.bind(null, row),
},
},
diff --git a/src/views/mes/process-design/template/data.ts b/src/views/mes/process-design/template/data.ts
index 0e2f655..57dcd52 100644
--- a/src/views/mes/process-design/template/data.ts
+++ b/src/views/mes/process-design/template/data.ts
@@ -1,64 +1,65 @@
-import type { VbenFormSchema } from '#/adapter/form';
-import type { VxeTableGridOptions } from '#/adapter/vxe-table';
-import type { MesPdTemplateApi } from '#/api/mes/pro/processdesign/template';
+import type { VbenFormSchema } from "#/adapter/form";
+import type { VxeTableGridOptions } from "#/adapter/vxe-table";
+import type { MesPdTemplateApi } from "#/api/mes/pro/processdesign/template";
-import { DICT_TYPE } from '../../../../packages/constants/src';
-import { getDictOptions } from '../../../../packages/effects/hooks/src';
+import { DICT_TYPE } from "../../../../packages/constants/src";
+import { getDictOptions } from "../../../../packages/effects/hooks/src";
-import { z } from '#/adapter/form';
+import { z } from "#/adapter/form";
/** 琛ㄥ崟绫诲瀷 */
-export type FormType = 'create' | 'detail' | 'update';
+export type FormType = "create" | "detail" | "update";
/** 鏂板/淇敼宸ヨ壓鍙傛暟妯℃澘鐨勮〃鍗� */
export function useFormSchema(): VbenFormSchema[] {
return [
{
- fieldName: 'id',
- component: 'Input',
+ fieldName: "id",
+ component: "Input",
dependencies: {
- triggerFields: [''],
+ triggerFields: [""],
show: () => false,
},
},
{
- fieldName: 'name',
- label: '妯℃澘鍚嶇О',
- component: 'Input',
+ fieldName: "templateCode",
+ label: "妯℃澘缂栫爜",
+ component: "Input",
+ componentProps: {
+ maxLength: 64,
+ placeholder: "妯℃澘缂栫爜鑷姩鐢熸垚",
+ disabled: true,
+ },
+ },
+ {
+ fieldName: "templateName",
+ label: "妯℃澘鍚嶇О",
+ component: "Input",
componentProps: {
maxLength: 100,
- placeholder: '璇疯緭鍏ユā鏉垮悕绉�',
+ placeholder: "璇疯緭鍏ユā鏉垮悕绉�",
},
- rules: z.string().min(1, '妯℃澘鍚嶇О涓嶈兘涓虹┖').max(100),
+ rules: z.string().min(1, "妯℃澘鍚嶇О涓嶈兘涓虹┖").max(100),
},
{
- fieldName: 'type',
- label: '妯℃澘绫诲瀷',
- component: 'Select',
+ fieldName: "templateType",
+ label: "妯℃澘绫诲瀷",
+ component: "Select",
componentProps: {
allowClear: true,
- options: getDictOptions(DICT_TYPE.MES_PD_TEMPLATE_TYPE, 'number'),
- placeholder: '璇烽�夋嫨妯℃澘绫诲瀷',
+ options: getDictOptions(DICT_TYPE.MES_PD_TEMPLATE_TYPE, "number"),
+ placeholder: "璇烽�夋嫨妯℃澘绫诲瀷",
},
- rules: 'selectRequired',
+ rules: "selectRequired",
},
{
- fieldName: 'parameterIds',
- label: '鍏宠仈鍙傛暟',
- component: 'Input',
- dependencies: {
- triggerFields: [''],
- show: () => false,
- },
- },
- {
- fieldName: 'remark',
- label: '澶囨敞',
- component: 'Textarea',
- formItemClass: 'col-span-2',
+ fieldName: "remark",
+ label: "澶囨敞",
+ component: "Textarea",
+ formItemClass: "col-span-2",
componentProps: {
maxLength: 250,
- placeholder: '璇疯緭鍏ュ娉�',
+ placeholder: "璇疯緭鍏ュ娉�",
rows: 3,
},
},
@@ -69,59 +70,69 @@
export function useGridFormSchema(): VbenFormSchema[] {
return [
{
- fieldName: 'name',
- label: '妯℃澘鍚嶇О',
- component: 'Input',
+ fieldName: "templateCode",
+ label: "妯℃澘缂栫爜",
+ component: "Input",
componentProps: {
allowClear: true,
- placeholder: '璇疯緭鍏ユā鏉垮悕绉�',
+ placeholder: "璇疯緭鍏ユā鏉跨紪鐮�",
},
},
{
- fieldName: 'type',
- label: '妯℃澘绫诲瀷',
- component: 'Select',
+ fieldName: "templateName",
+ label: "妯℃澘鍚嶇О",
+ component: "Input",
componentProps: {
allowClear: true,
- options: getDictOptions(DICT_TYPE.MES_PD_TEMPLATE_TYPE, 'number'),
- placeholder: '璇烽�夋嫨妯℃澘绫诲瀷',
+ placeholder: "璇疯緭鍏ユā鏉垮悕绉�",
+ },
+ },
+ {
+ fieldName: "templateType",
+ label: "妯℃澘绫诲瀷",
+ component: "Select",
+ componentProps: {
+ allowClear: true,
+ options: getDictOptions(DICT_TYPE.MES_PD_TEMPLATE_TYPE, "number"),
+ placeholder: "璇烽�夋嫨妯℃澘绫诲瀷",
},
},
];
}
/** 鍒楄〃鐨勫瓧娈� */
-export function useGridColumns(): VxeTableGridOptions<MesPdTemplateApi.Template>['columns'] {
+export function useGridColumns(): VxeTableGridOptions<MesPdTemplateApi.Template>["columns"] {
return [
{
- type: 'seq',
- title: '搴忓彿',
+ type: "seq",
+ title: "搴忓彿",
width: 60,
- align: 'center',
+ align: "center",
},
- { field: 'name', title: '妯℃澘鍚嶇О', minWidth: 180 },
+ { field: "templateCode", title: "妯℃澘缂栫爜", minWidth: 150 },
+ { field: "templateName", title: "妯℃澘鍚嶇О", minWidth: 180 },
{
- field: 'type',
- title: '妯℃澘绫诲瀷',
+ field: "templateType",
+ title: "妯℃澘绫诲瀷",
width: 120,
cellRender: {
- name: 'CellDict',
+ name: "CellDict",
props: { type: DICT_TYPE.MES_PD_TEMPLATE_TYPE },
},
},
- { field: 'createUser', title: '鍒涘缓浜�', width: 120 },
+ { field: "remark", title: "澶囨敞", minWidth: 180 },
{
- field: 'createTime',
- title: '鍒涘缓鏃堕棿',
+ field: "createTime",
+ title: "鍒涘缓鏃堕棿",
width: 180,
- formatter: 'formatDateTime',
+ formatter: "formatDateTime",
},
{
- title: '鎿嶄綔',
- width: 150,
- fixed: 'right',
+ title: "鎿嶄綔",
+ width: 240,
+ fixed: "right",
slots: {
- default: 'actions',
+ default: "actions",
},
},
];
diff --git a/src/views/mes/process-design/template/index.vue b/src/views/mes/process-design/template/index.vue
index 0c6faa2..643f400 100644
--- a/src/views/mes/process-design/template/index.vue
+++ b/src/views/mes/process-design/template/index.vue
@@ -1,98 +1,107 @@
<script lang="ts" setup>
-import type { VxeTableGridOptions } from '#/adapter/vxe-table';
-import type { MesPdTemplateApi } from '#/api/mes/pro/processdesign/template';
+ import type { VxeTableGridOptions } from "#/adapter/vxe-table";
+ import type { MesPdTemplateApi } from "#/api/mes/pro/processdesign/template";
-import { Page, useVbenModal } from '../../../../packages/effects/common-ui/src';
+ import { Page, useVbenModal } from "../../../../packages/effects/common-ui/src";
-import { Button, message } from 'ant-design-vue';
+ import { Button, message } from "ant-design-vue";
-import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
-import {
- deleteTemplate,
- getTemplatePage,
-} from '#/api/mes/pro/processdesign/template';
-import { $t } from '#/locales';
+ import { ACTION_ICON, TableAction, useVbenVxeGrid } from "#/adapter/vxe-table";
+ import {
+ deleteTemplate,
+ getTemplatePage,
+ exportTemplateExcel,
+ } from "#/api/mes/pro/processdesign/template";
+ import { $t } from "#/locales";
+ import { downloadFileFromBlobPart } from "../../../../packages/utils/src";
-import { useGridColumns, useGridFormSchema } from './data';
-import Form from './modules/form.vue';
+ import { useGridColumns, useGridFormSchema } from "./data";
+ import Form from "./modules/form.vue";
-const [FormModal, formModalApi] = useVbenModal({
- connectedComponent: Form,
- destroyOnClose: true,
-});
-
-/** 鍒锋柊琛ㄦ牸 */
-function handleRefresh() {
- gridApi.query();
-}
-
-/** 鍒涘缓宸ヨ壓鍙傛暟妯℃澘 */
-function handleCreate() {
- formModalApi.setData({ formType: 'create' }).open();
-}
-
-/** 缂栬緫宸ヨ壓鍙傛暟妯℃澘 */
-function handleEdit(row: MesPdTemplateApi.Template) {
- formModalApi.setData({ id: row.id, formType: 'update' }).open();
-}
-
-/** 鏌ョ湅宸ヨ壓鍙傛暟妯℃澘璇︽儏 */
-function handleDetail(row: MesPdTemplateApi.Template) {
- formModalApi.setData({ id: row.id, formType: 'detail' }).open();
-}
-
-/** 鍒犻櫎宸ヨ壓鍙傛暟妯℃澘 */
-async function handleDelete(row: MesPdTemplateApi.Template) {
- const hideLoading = message.loading({
- content: $t('ui.actionMessage.deleting', [row.name]),
- duration: 0,
+ const [FormModal, formModalApi] = useVbenModal({
+ connectedComponent: Form,
+ destroyOnClose: true,
});
- try {
- await deleteTemplate(row.id!);
- message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
- handleRefresh();
- } finally {
- hideLoading();
- }
-}
-const [Grid, gridApi] = useVbenVxeGrid({
- formOptions: {
- schema: useGridFormSchema(),
- },
- gridOptions: {
- columns: useGridColumns(),
- height: 'auto',
- keepSource: true,
- proxyConfig: {
- ajax: {
- query: async ({ page }, formValues) => {
- return await getTemplatePage({
- pageNo: page.currentPage,
- pageSize: page.pageSize,
- ...formValues,
- });
+ /** 鍒锋柊琛ㄦ牸 */
+ function handleRefresh() {
+ gridApi.query();
+ }
+
+ /** 鍒涘缓宸ヨ壓鍙傛暟妯℃澘 */
+ function handleCreate() {
+ formModalApi.setData({ formType: "create" }).open();
+ }
+
+ /** 缂栬緫宸ヨ壓鍙傛暟妯℃澘 */
+ function handleEdit(row: MesPdTemplateApi.Template) {
+ formModalApi.setData({ id: row.id, formType: "update" }).open();
+ }
+
+ /** 鏌ョ湅宸ヨ壓鍙傛暟妯℃澘璇︽儏 */
+ function handleDetail(row: MesPdTemplateApi.Template) {
+ formModalApi.setData({ id: row.id, formType: "detail" }).open();
+ }
+
+ /** 鍒犻櫎宸ヨ壓鍙傛暟妯℃澘 */
+ async function handleDelete(row: MesPdTemplateApi.Template) {
+ const hideLoading = message.loading({
+ content: $t("ui.actionMessage.deleting", [row.templateName]),
+ duration: 0,
+ });
+ try {
+ await deleteTemplate(row.id!);
+ message.success($t("ui.actionMessage.deleteSuccess", [row.templateName]));
+ handleRefresh();
+ } finally {
+ hideLoading();
+ }
+ }
+
+ /** 瀵煎嚭宸ヨ壓鍙傛暟妯℃澘 */
+ async function handleExport() {
+ const formValues = await gridApi.formApi.getValues();
+ const data = await exportTemplateExcel(formValues);
+ downloadFileFromBlobPart({ fileName: "宸ヨ壓鍙傛暟妯℃澘.xlsx", source: data });
+ }
+
+ const [Grid, gridApi] = useVbenVxeGrid({
+ formOptions: {
+ schema: useGridFormSchema(),
+ },
+ gridOptions: {
+ columns: useGridColumns(),
+ height: "auto",
+ keepSource: true,
+ proxyConfig: {
+ ajax: {
+ query: async ({ page }, formValues) => {
+ return await getTemplatePage({
+ pageNo: page.currentPage,
+ pageSize: page.pageSize,
+ ...formValues,
+ });
+ },
},
},
- },
- rowConfig: {
- isHover: true,
- keyField: 'id',
- },
- toolbarConfig: {
- refresh: true,
- search: true,
- },
- } as VxeTableGridOptions<MesPdTemplateApi.Template>,
-});
+ rowConfig: {
+ isHover: true,
+ keyField: "id",
+ },
+ toolbarConfig: {
+ refresh: true,
+ search: true,
+ },
+ } as VxeTableGridOptions<MesPdTemplateApi.Template>,
+ });
</script>
<template>
- <Page auto-content-height><FormModal @success="handleRefresh" />
+ <Page auto-content-height>
+ <FormModal @success="handleRefresh" />
<Grid table-title="宸ヨ壓鍙傛暟妯℃澘鍒楄〃">
<template #toolbar-tools>
- <TableAction
- :actions="[
+ <TableAction :actions="[
{
label: $t('ui.actionTitle.create', ['妯℃澘']),
type: 'primary',
@@ -100,15 +109,27 @@
auth: ['mes:pd:template:create'],
onClick: handleCreate,
},
- ]"
- />
+ {
+ label: $t('ui.actionTitle.export'),
+ type: 'primary',
+ icon: ACTION_ICON.DOWNLOAD,
+ auth: ['mes:pd:template:export'],
+ onClick: handleExport,
+ },
+ ]" />
</template>
- <template #name="{ row }">
- <Button type="link" @click="handleDetail(row)">{{ row.name }}</Button>
+ <template #templateCode="{ row }">
+ <Button type="link"
+ @click="handleDetail(row)">{{ row.templateCode }}</Button>
</template>
<template #actions="{ row }">
- <TableAction
- :actions="[
+ <TableAction :actions="[
+ {
+ label: $t('common.detail'),
+ type: 'link',
+ icon: ACTION_ICON.VIEW,
+ onClick: handleDetail.bind(null, row),
+ },
{
label: $t('common.edit'),
type: 'link',
@@ -123,12 +144,11 @@
icon: ACTION_ICON.DELETE,
auth: ['mes:pd:template:delete'],
popConfirm: {
- title: $t('ui.actionMessage.deleteConfirm', [row.name]),
+ title: $t('ui.actionMessage.deleteConfirm', [row.templateName]),
confirm: handleDelete.bind(null, row),
},
},
- ]"
- />
+ ]" />
</template>
</Grid>
</Page>
diff --git a/src/views/mes/process-design/template/modules/form.vue b/src/views/mes/process-design/template/modules/form.vue
index 8d824f3..158d321 100644
--- a/src/views/mes/process-design/template/modules/form.vue
+++ b/src/views/mes/process-design/template/modules/form.vue
@@ -1,173 +1,206 @@
<script lang="ts" setup>
-import type { FormType } from '../data';
+ import type { FormType } from "../data";
-import type { MesPdParameterApi } from '#/api/mes/pro/processdesign/parameter';
-import type { MesPdTemplateApi } from '#/api/mes/pro/processdesign/template';
+ import type { MesPdParameterApi } from "#/api/mes/pro/processdesign/parameter";
+ import type { MesPdTemplateApi } from "#/api/mes/pro/processdesign/template";
-import { computed, ref } from 'vue';
+ import { computed, ref } from "vue";
-import { useVbenModal } from '../../../../../packages/effects/common-ui/src';
+ import { useVbenModal } from "../../../../../packages/effects/common-ui/src";
-import { Button, message, Tag } from 'ant-design-vue';
+ import { Button, message, Switch, Input } from "ant-design-vue";
-import { useVbenForm } from '#/adapter/form';
-import {
- createTemplate,
- getTemplate,
- updateTemplate,
-} from '#/api/mes/pro/processdesign/template';
-import { $t } from '#/locales';
+ import { useVbenForm } from "#/adapter/form";
+ import {
+ createTemplate,
+ getTemplate,
+ updateTemplate,
+ } from "#/api/mes/pro/processdesign/template";
+ import { $t } from "#/locales";
-import { useFormSchema } from '../data';
-import ParameterSelectDialog from './parameter-select-dialog.vue';
+ import { useFormSchema } from "../data";
+ import ParameterSelectDialog from "./parameter-select-dialog.vue";
-const emit = defineEmits(['success']);
-const formType = ref<FormType>('create');
-const formData = ref<MesPdTemplateApi.Template>();
+ const emit = defineEmits(["success"]);
+ const formType = ref<FormType>("create");
+ const formData = ref<MesPdTemplateApi.Template>();
-/** 宸查�夊弬鏁板垪琛紙鐢ㄤ簬椤甸潰灞曠ず锛� */
-const selectedParameters = ref<MesPdParameterApi.Parameter[]>([]);
-const parameterSelectDialogRef = ref<InstanceType<typeof ParameterSelectDialog>>();
+ /** 宸查�夊弬鏁板垪琛紙鐢ㄤ簬椤甸潰灞曠ず锛� */
+ const selectedDetails = ref<MesPdTemplateApi.TemplateDetail[]>([]);
+ const parameterSelectDialogRef =
+ ref<InstanceType<typeof ParameterSelectDialog>>();
-const isDetail = computed(() => formType.value === 'detail');
-const getTitle = computed(() => {
- if (formType.value === 'detail') {
- return $t('ui.actionTitle.detail', ['宸ヨ壓鍙傛暟妯℃澘']);
- }
- return formType.value === 'update'
- ? $t('ui.actionTitle.edit', ['宸ヨ壓鍙傛暟妯℃澘'])
- : $t('ui.actionTitle.create', ['宸ヨ壓鍙傛暟妯℃澘']);
-});
+ const isDetail = computed(() => formType.value === "detail");
+ const getTitle = computed(() => {
+ if (formType.value === "detail") {
+ return $t("ui.actionTitle.detail", ["宸ヨ壓鍙傛暟妯℃澘"]);
+ }
+ return formType.value === "update"
+ ? $t("ui.actionTitle.edit", ["宸ヨ壓鍙傛暟妯℃澘"])
+ : $t("ui.actionTitle.create", ["宸ヨ壓鍙傛暟妯℃澘"]);
+ });
-const [Form, formApi] = useVbenForm({
- commonConfig: {
- componentProps: {
- class: 'w-full',
+ const [Form, formApi] = useVbenForm({
+ commonConfig: {
+ componentProps: {
+ class: "w-full",
+ },
+ formItemClass: "col-span-1",
+ labelWidth: 100,
},
- formItemClass: 'col-span-1',
- labelWidth: 100,
- },
- layout: 'horizontal',
- schema: [],
- showDefaultActions: false,
- wrapperClass: 'grid-cols-2',
-});
+ layout: "horizontal",
+ schema: [],
+ showDefaultActions: false,
+ wrapperClass: "grid-cols-2",
+ });
-/** 鎵撳紑宸ヨ壓鍙傛暟閫夋嫨寮圭獥 */
-function handleSelectParameters() {
- parameterSelectDialogRef.value?.open(
- selectedParameters.value
- .map((p) => p.id)
- .filter((id): id is number => id !== undefined),
- );
-}
+ /** 鎵撳紑宸ヨ壓鍙傛暟閫夋嫨寮圭獥 */
+ function handleSelectParameters() {
+ parameterSelectDialogRef.value?.open(
+ selectedDetails.value
+ .map(d => d.processParamId)
+ .filter((id): id is number => id !== undefined)
+ );
+ }
-/** 鎺ユ敹閫変腑鐨勫弬鏁� */
-function onParametersSelected(rows: MesPdParameterApi.Parameter[]) {
- selectedParameters.value = rows;
-}
+ /** 鎺ユ敹閫変腑鐨勫弬鏁� */
+ function onParametersSelected(rows: MesPdParameterApi.Parameter[]) {
+ selectedDetails.value = rows.map(row => ({
+ processParamId: row.id,
+ paramCode: row.paramCode,
+ paramName: row.paramName,
+ paramType: row.paramType,
+ unitMeasureName: row.unitMeasureName,
+ required: row.required,
+ remark: row.remark,
+ }));
+ }
-/** 绉婚櫎宸查�夊弬鏁� */
-function removeParameter(param: MesPdParameterApi.Parameter) {
- selectedParameters.value = selectedParameters.value.filter(
- (p) => p.id !== param.id,
- );
-}
+ /** 绉婚櫎宸查�夊弬鏁� */
+ function removeParameter(index: number) {
+ selectedDetails.value.splice(index, 1);
+ }
-const [Modal, modalApi] = useVbenModal({
- async onConfirm() {
- if (isDetail.value) {
- await modalApi.close();
- return;
- }
- const { valid } = await formApi.validate();
- if (!valid) {
- return;
- }
- if (selectedParameters.value.length === 0) {
- message.warning('璇疯嚦灏戦�夋嫨涓�涓伐鑹哄弬鏁�');
- return;
- }
- modalApi.lock();
- const data = (await formApi.getValues()) as MesPdTemplateApi.Template;
- data.parameterIds = selectedParameters.value
- .map((p) => p.id)
- .filter((id): id is number => id !== undefined);
- try {
- await (formData.value?.id ? updateTemplate(data) : createTemplate(data));
- await modalApi.close();
- emit('success');
- message.success($t('ui.actionMessage.operationSuccess'));
- } finally {
- modalApi.unlock();
- }
- },
- async onOpenChange(isOpen: boolean) {
- if (!isOpen) {
- formData.value = undefined;
- selectedParameters.value = [];
- return;
- }
- formApi.setState({ schema: useFormSchema() });
- const data = modalApi.getData<{ formType: FormType; id?: number }>();
- formType.value = data.formType;
- formApi.setDisabled(formType.value === 'detail');
- modalApi.setState({ showConfirmButton: formType.value !== 'detail' });
- if (!data?.id) {
- return;
- }
- modalApi.lock();
- try {
- formData.value = await getTemplate(data.id);
- await formApi.setValues(formData.value);
- // 鍥炴樉宸查�夊弬鏁帮紙浠庤鎯呮帴鍙h繑鍥炵殑鍙傛暟鍒楄〃涓幏鍙栵級
- if (formData.value.parameterIds) {
- // parameterIds 宸茬敱鍚庣杩斿洖锛宻electedParameters 鍦ㄨ鎯呮ā寮忎笅灞曠ず
+ const [Modal, modalApi] = useVbenModal({
+ async onConfirm() {
+ if (isDetail.value) {
+ await modalApi.close();
+ return;
}
- } finally {
- modalApi.unlock();
- }
- },
-});
+ const { valid } = await formApi.validate();
+ if (!valid) {
+ return;
+ }
+ if (selectedDetails.value.length === 0) {
+ message.warning("璇疯嚦灏戦�夋嫨涓�涓伐鑹哄弬鏁�");
+ return;
+ }
+ modalApi.lock();
+ const data = (await formApi.getValues()) as MesPdTemplateApi.Template;
+ data.details = selectedDetails.value.map(d => ({
+ ...d,
+ processParamId: d.processParamId,
+ required: d.required,
+ remark: d.remark,
+ }));
+ try {
+ await (formData.value?.id ? updateTemplate(data) : createTemplate(data));
+ await modalApi.close();
+ emit("success");
+ message.success($t("ui.actionMessage.operationSuccess"));
+ } finally {
+ modalApi.unlock();
+ }
+ },
+ async onOpenChange(isOpen: boolean) {
+ if (!isOpen) {
+ formData.value = undefined;
+ selectedDetails.value = [];
+ return;
+ }
+ formApi.setState({ schema: useFormSchema() });
+ const data = modalApi.getData<{ formType: FormType; id?: number }>();
+ formType.value = data.formType;
+ formApi.setDisabled(formType.value === "detail");
+ modalApi.setState({ showConfirmButton: formType.value !== "detail" });
+ if (!data?.id) {
+ return;
+ }
+ modalApi.lock();
+ try {
+ formData.value = await getTemplate(data.id);
+ await formApi.setValues(formData.value);
+ // 鍥炴樉宸查�夊弬鏁帮紙浠庤鎯呮帴鍙h繑鍥炵殑鍙傛暟鍒楄〃涓幏鍙栵級
+ if (formData.value.details) {
+ selectedDetails.value = [...formData.value.details];
+ }
+ } finally {
+ modalApi.unlock();
+ }
+ },
+ });
</script>
<template>
- <Modal :title="getTitle" class="w-4/5">
+ <Modal :title="getTitle"
+ class="w-4/5">
<Form class="mx-4" />
- <!-- 鍏宠仈鍙傛暟閫夋嫨鍖哄煙 -->
+ <!-- 妯℃澘鏄庣粏鍖哄煙 -->
<div class="mx-4 mt-4">
<div class="mb-2 flex items-center justify-between">
- <span class="text-sm font-medium">鍏宠仈宸ヨ壓鍙傛暟</span>
- <Button
- v-if="!isDetail"
- type="primary"
- size="small"
- @click="handleSelectParameters"
- >
- 閫夋嫨鍙傛暟
+ <span class="text-sm font-medium">妯℃澘鏄庣粏</span>
+ <Button v-if="!isDetail"
+ type="primary"
+ size="small"
+ @click="handleSelectParameters">
+ 娣诲姞鍙傛暟
</Button>
</div>
- <div
- v-if="selectedParameters.length > 0"
- class="min-h-10 rounded border border-gray-200 p-2"
- >
- <Tag
- v-for="param in selectedParameters"
- :key="param.id"
- :closable="!isDetail"
- class="mb-1 mr-1"
- @close="removeParameter(param)"
- >
- {{ param.name }}({{ param.code }})
- </Tag>
+ <div v-if="selectedDetails.length > 0"
+ class="rounded border border-gray-200">
+ <div class="grid grid-cols-12 gap-2 border-b border-gray-200 bg-gray-50 p-2 text-xs font-medium">
+ <div class="col-span-3">鍙傛暟鍚嶇О</div>
+ <div class="col-span-2">鍙傛暟缂栫爜</div>
+ <div class="col-span-2">鍗曚綅</div>
+ <div class="col-span-2 text-center">鏄惁蹇呭~</div>
+ <div class="col-span-2">澶囨敞</div>
+ <div v-if="!isDetail"
+ class="col-span-1 text-center">鎿嶄綔</div>
+ </div>
+ <div v-for="(detail, index) in selectedDetails"
+ :key="detail.processParamId || index"
+ class="grid grid-cols-12 gap-2 border-b border-gray-100 p-2">
+ <div class="col-span-3 text-sm">{{ detail.paramName }}</div>
+ <div class="col-span-2 text-sm text-gray-500">{{ detail.paramCode }}</div>
+ <div class="col-span-2 text-sm">{{ detail.unitMeasureName }}</div>
+ <div class="col-span-2 flex items-center justify-center">
+ <Switch v-model:checked="detail.required"
+ :disabled="isDetail"
+ size="small" />
+ </div>
+ <div class="col-span-2">
+ <Input v-model:value="detail.remark"
+ :disabled="isDetail"
+ placeholder="澶囨敞"
+ size="small" />
+ </div>
+ <div v-if="!isDetail"
+ class="col-span-1 flex items-center justify-center">
+ <Button type="text"
+ danger
+ size="small"
+ @click="removeParameter(index)">
+ 鍒犻櫎
+ </Button>
+ </div>
+ </div>
</div>
- <div v-else class="rounded border border-dashed border-gray-300 p-4 text-center text-gray-400">
+ <div v-else
+ class="rounded border border-dashed border-gray-300 p-4 text-center text-gray-400">
鏆傛湭閫夋嫨鍙傛暟
</div>
</div>
- <ParameterSelectDialog
- ref="parameterSelectDialogRef"
- @selected="onParametersSelected"
- />
+ <ParameterSelectDialog ref="parameterSelectDialogRef"
+ @selected="onParametersSelected" />
</Modal>
</template>
diff --git a/src/views/mes/process-design/template/modules/parameter-select-dialog.vue b/src/views/mes/process-design/template/modules/parameter-select-dialog.vue
index b4f87c6..3fb2869 100644
--- a/src/views/mes/process-design/template/modules/parameter-select-dialog.vue
+++ b/src/views/mes/process-design/template/modules/parameter-select-dialog.vue
@@ -57,7 +57,7 @@
formOptions: {
schema: [
{
- fieldName: 'code',
+ fieldName: 'paramCode',
label: '鍙傛暟缂栫爜',
component: 'Input',
componentProps: {
@@ -66,7 +66,7 @@
},
},
{
- fieldName: 'name',
+ fieldName: 'paramName',
label: '鍙傛暟鍚嶇О',
component: 'Input',
componentProps: {
@@ -79,10 +79,10 @@
gridOptions: {
columns: [
{ type: 'checkbox', width: 50 },
- { field: 'code', title: '鍙傛暟缂栫爜', minWidth: 150 },
- { field: 'name', title: '鍙傛暟鍚嶇О', minWidth: 180 },
+ { field: 'paramCode', title: '鍙傛暟缂栫爜', minWidth: 150 },
+ { field: 'paramName', title: '鍙傛暟鍚嶇О', minWidth: 180 },
{
- field: 'type',
+ field: 'paramType',
title: '鍙傛暟绫诲瀷',
width: 120,
cellRender: {
@@ -90,9 +90,9 @@
props: { type: DICT_TYPE.MES_PD_PARAM_TYPE },
},
},
- { field: 'unit', title: '鍗曚綅', width: 80 },
+ { field: 'unitMeasureName', title: '鍗曚綅', width: 80 },
{
- field: 'requiredFlag',
+ field: 'required',
title: '鏄惁蹇呭~',
width: 90,
cellRender: {
--
Gitblit v1.9.3