Commit e2c84db8 by 金民

feat(jjbgl): 添加业务组织字段支持

- 在配置文件中新增p20业务组织字段及其相关组件配置
- 添加业务组织字段的表格列显示配置
- 集成XjrSelect组件并配置字典数据源
- 更新工作流权限配置以包含业务组织字段
- 配置多选模式和搜索功能

feat(sbgl): 重构设备管理业务组织字段

- 将原工作中心字段替换为业务组织字段
- 统一使用字典数据源替代API调用方式
- 删除多余设备属性字段如规格型号、建档号等
- 更新表格列配置以反映字段变更
- 调整查询表单的时间字段映射配置

refactor(models): 同步更新设备管理接口模型

- 修改MesEquipmentPageParams接口字段定义
- 移除已删除的设备属性相关参数
- 保留核心业务字段如名称、分类、状态等
- 确保API模型与前端配置保持一致

refactor(workflow): 更新工作流权限配置

- 调整交接班管理业务组织字段权限设置
- 重新映射设备管理字段ID与显示名称对应关系
- 更新子表字段配置顺序和类型定义
- 确保工作流中字段可见性和编辑权限正确设置
parent c7359f81
......@@ -6,35 +6,11 @@ import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';
export interface MesEquipmentPageParams extends BasicPageParams {
name: string;
workCenterId: string;
specification: string;
archivesCode: string;
code: string;
location: string;
registerCode: string;
createArchivesUserId: string;
companyId: string;
categoryId: string;
userId: string;
usePermitCode: string;
manufacturer: string;
eState: string;
companyId: string;
indexCode: string;
manufactureDate: string;
}
/**
......@@ -47,33 +23,11 @@ export interface MesEquipmentPageModel {
specification: string;
code: string;
categoryId: string;
userId: string;
eState: string;
companyId: string;
workCenterId: string;
archivesCode: string;
location: string;
registerCode: string;
createArchivesUserId: string;
usePermitCode: string;
manufacturer: string;
indexCode: string;
manufactureDate: string;
}
/**
......
......@@ -9,6 +9,21 @@ export const searchFormSchema: FormSchema[] = [
component: 'Input',
},
{
field: 'p20',
label: '业务组织',
defaultValue: undefined,
component: 'XjrSelect',
componentProps: {
datasourceType: 'dic',
params: { itemId: '2015724355955159041' },
labelField: 'name',
valueField: 'value',
mode: 'multiple',
showSearch: true,
getPopupContainer: () => document.body,
},
},
{
field: 'jbbz',
label: '交班班组',
defaultValue: undefined,
......@@ -166,6 +181,19 @@ export const columns: BasicColumn[] = [
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'p20',
title: '业务组织',
componentType: 'select',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
];
//表头合并配置
export const headerMergingData = [];
......@@ -250,6 +278,54 @@ export const formProps: FormProps = {
span: 8,
list: [
{
key: 'lkajsldjaljdla',
field: 'p20',
label: '业务组织',
type: 'select',
component: 'XjrSelect',
colProps: { span: 24 },
componentProps: {
width: '100%',
span: 7,
placeholder: '请选择下拉选择业务组织',
showLabel: true,
showSearch: false,
isMultiple: false,
clearable: false,
disabled: false,
staticOptions: [
{ key: 1, label: 'Option 1', value: 'Option 1' },
{ key: 2, label: 'Option 2', value: 'Option 2' },
{ key: 3, label: 'Option 3', value: 'Option 3' },
],
defaultSelect: null,
datasourceType: 'dic',
labelField: 'name',
valueField: 'value',
apiConfig: {
path: '/bmxx/getCompanyList',
method: 'GET',
apiId: 'copy1765431632890d13798',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select id as value,name as label from res_company";\r\nreturn db.select(sql);',
},
dicOptions: [],
required: true,
rules: [],
events: {},
isShow: true,
tooltipConfig: { visible: false, title: '提示文本' },
params: { itemId: '2015724355955159041' },
itemId: '2015724355955159041',
style: { width: '100%' },
},
},
{
key: 'fd1b0f4df3ff44179f86dfa5ec6a5c1f',
field: 'jjdh',
label: '交接单号',
......
......@@ -183,4 +183,20 @@ export const permissionList = [
options: {},
defaultValue: '',
},
{
required: true,
view: true,
edit: true,
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '业务组织',
fieldId: 'p20',
isSubTable: false,
showChildren: true,
type: 'select',
key: 'lkajsldjaljdla',
children: [],
options: {},
},
];
......@@ -121,8 +121,9 @@
const { t } = useI18n();
defineEmits(['register']);
const { filterColumnAuth, filterButtonAuth, hasPermission } = usePermission();
// console.log('初始值',columns)
const filterColumns = filterColumnAuth(columns);
// console.log('过滤后的列表',filterColumns)
const tableRef = ref();
......@@ -375,4 +376,4 @@
</style>
\ No newline at end of file
</style>
......@@ -9,25 +9,14 @@ export const searchFormSchema: FormSchema[] = [
component: 'Input',
},
{
field: 'workCenterId',
label: '工作中心',
field: 'companyId',
label: '业务组织',
defaultValue: undefined,
component: 'XjrSelect',
componentProps: {
datasourceType: 'api',
apiConfig: {
path: '/sbgl/getAllGzzx',
method: 'GET',
apiId: 'ed40dde8ce3b41b98cf269ded9d4d4fc',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
"var sql ='select id as value,gzzxmc as label from mes_base_gzzx where delete_mark=0';\r\nreturn db.select(sql)",
},
labelField: 'label',
datasourceType: 'dic',
params: { itemId: '2015724355955159041' },
labelField: 'name',
valueField: 'value',
mode: 'multiple',
showSearch: true,
......@@ -35,47 +24,6 @@ export const searchFormSchema: FormSchema[] = [
},
},
{
field: 'specification',
label: '规格型号',
defaultValue: undefined,
component: 'Input',
},
{
field: 'archivesCode',
label: '建档号',
defaultValue: undefined,
component: 'Input',
},
{
field: 'code',
label: '内部编号',
defaultValue: undefined,
component: 'Input',
},
{
field: 'location',
label: '当前位置',
defaultValue: undefined,
component: 'Input',
},
{
field: 'registerCode',
label: '注册代码',
defaultValue: undefined,
component: 'Input',
},
{
field: 'createArchivesUserId',
label: '建档人',
defaultValue: undefined,
component: 'User',
componentProps: {
suffix: 'ant-design:setting-outlined',
placeholder: '请选择',
},
},
{
field: 'categoryId',
label: '设备类别',
defaultValue: undefined,
......@@ -91,29 +39,6 @@ export const searchFormSchema: FormSchema[] = [
},
},
{
field: 'userId',
label: '负责人',
defaultValue: undefined,
component: 'User',
componentProps: {
suffix: 'ant-design:setting-outlined',
placeholder: '请选择',
},
},
{
field: 'usePermitCode',
label: '使用证编号',
defaultValue: undefined,
component: 'Input',
},
{
field: 'manufacturer',
label: '厂家',
defaultValue: undefined,
component: 'Input',
},
{
field: 'eState',
label: '设备状态',
defaultValue: undefined,
......@@ -128,49 +53,6 @@ export const searchFormSchema: FormSchema[] = [
getPopupContainer: () => document.body,
},
},
{
field: 'companyId',
label: '公司',
defaultValue: undefined,
component: 'XjrSelect',
componentProps: {
datasourceType: 'api',
apiConfig: {
path: '/bmxx/getCompanyList',
method: 'GET',
apiId: 'copy1765431632890d13798',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select id as value,name as label from res_company";\r\nreturn db.select(sql);',
},
labelField: 'label',
valueField: 'value',
mode: 'multiple',
showSearch: true,
getPopupContainer: () => document.body,
},
},
{
field: 'indexCode',
label: '整机编号',
defaultValue: undefined,
component: 'Input',
},
{
field: 'manufactureDate',
label: '生产日期',
defaultValue: undefined,
component: 'RangePicker',
componentProps: {
format: 'YYYY-MM-DD',
style: { width: '100%' },
getPopupContainer: () => document.body,
},
},
];
export const columns: BasicColumn[] = [
......@@ -202,19 +84,6 @@ export const columns: BasicColumn[] = [
{
resizable: true,
dataIndex: 'code',
title: '内部编号',
componentType: 'auto-code',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
{
resizable: true,
dataIndex: 'categoryId',
title: '设备类别',
componentType: 'select',
......@@ -228,19 +97,6 @@ export const columns: BasicColumn[] = [
{
resizable: true,
dataIndex: 'userId',
title: '负责人',
componentType: 'user',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
{
resizable: true,
dataIndex: 'eState',
title: '设备状态',
componentType: 'select',
......@@ -255,7 +111,7 @@ export const columns: BasicColumn[] = [
{
resizable: true,
dataIndex: 'companyId',
title: '公司',
title: '业务组织',
componentType: 'select',
fixed: false,
......@@ -264,123 +120,6 @@ export const columns: BasicColumn[] = [
styleConfig: undefined,
listStyle: undefined,
},
{
resizable: true,
dataIndex: 'workCenterId',
title: '工作中心',
componentType: 'select',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
{
resizable: true,
dataIndex: 'archivesCode',
title: '建档号',
componentType: 'input',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'location',
title: '当前位置',
componentType: 'input',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'registerCode',
title: '注册代码',
componentType: 'input',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'createArchivesUserId',
title: '建档人',
componentType: 'user',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
{
resizable: true,
dataIndex: 'usePermitCode',
title: '使用证编号',
componentType: 'input',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'manufacturer',
title: '厂家',
componentType: 'input',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'indexCode',
title: '整机编号',
componentType: 'input',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'manufactureDate',
title: '生产日期',
componentType: 'date',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
];
//表头合并配置
export const headerMergingData = [];
......@@ -638,6 +377,54 @@ export const formProps: FormProps = {
span: 6,
list: [
{
key: '25184c444b82451c970b1b6702aa7fa9',
field: 'companyId',
label: '业务组织',
type: 'select',
component: 'XjrSelect',
colProps: { span: 24 },
componentProps: {
width: '100%',
span: 7,
placeholder: '请选择下拉选择业务组织',
showLabel: true,
showSearch: false,
isMultiple: false,
clearable: false,
disabled: false,
staticOptions: [
{ key: 1, label: 'Option 1', value: 'Option 1' },
{ key: 2, label: 'Option 2', value: 'Option 2' },
{ key: 3, label: 'Option 3', value: 'Option 3' },
],
defaultSelect: null,
datasourceType: 'dic',
labelField: 'name',
valueField: 'value',
apiConfig: {
path: '/bmxx/getCompanyList',
method: 'GET',
apiId: 'copy1765431632890d13798',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select id as value,name as label from res_company";\r\nreturn db.select(sql);',
},
dicOptions: [],
required: true,
rules: [],
events: {},
isShow: true,
tooltipConfig: { visible: false, title: '提示文本' },
params: { itemId: '2015724355955159041' },
itemId: '2015724355955159041',
style: { width: '100%' },
},
},
{
key: '50abeb905e2e4f67adb855ffe71108a4',
field: 'code',
label: '内部编号',
......@@ -726,32 +513,6 @@ export const formProps: FormProps = {
style: { width: '100%' },
},
},
{
key: 'de0cf6d1a54c42e0b3dbe4a845bd1859',
field: 'createArchivesUserId',
label: '建档人',
type: 'user',
component: 'User',
colProps: { span: 24 },
defaultValue: '',
componentProps: {
span: 7,
width: '100%',
defaultValue: '',
placeholder: '请选择人员',
userType: 0,
prefix: '',
suffix: 'ant-design:setting-outlined',
showLabel: true,
disabled: false,
required: false,
multiple: true,
isShow: true,
events: {},
tooltipConfig: { visible: false, title: '提示文本' },
style: { width: '100%' },
},
},
],
},
{
......@@ -936,52 +697,6 @@ export const formProps: FormProps = {
},
},
{
key: '25184c444b82451c970b1b6702aa7fa9',
field: 'companyId',
label: '公司',
type: 'select',
component: 'XjrSelect',
colProps: { span: 24 },
componentProps: {
width: '100%',
span: 7,
placeholder: '请选择下拉选择',
showLabel: true,
showSearch: false,
isMultiple: false,
clearable: false,
disabled: false,
staticOptions: [
{ key: 1, label: 'Option 1', value: 'Option 1' },
{ key: 2, label: 'Option 2', value: 'Option 2' },
{ key: 3, label: 'Option 3', value: 'Option 3' },
],
defaultSelect: '',
datasourceType: 'api',
labelField: 'label',
valueField: 'value',
apiConfig: {
path: '/bmxx/getCompanyList',
method: 'GET',
apiId: 'copy1765431632890d13798',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select id as value,name as label from res_company";\r\nreturn db.select(sql);',
},
dicOptions: [],
required: false,
rules: [],
events: {},
isShow: true,
tooltipConfig: { visible: false, title: '提示文本' },
style: { width: '100%' },
},
},
{
key: '45fb316373fa4a9390907b157823eef3',
field: 'indexCode',
label: '整机编号',
......@@ -1041,6 +756,32 @@ export const formProps: FormProps = {
style: { width: '100%' },
},
},
{
key: 'de0cf6d1a54c42e0b3dbe4a845bd1859',
field: 'createArchivesUserId',
label: '建档人',
type: 'user',
component: 'User',
colProps: { span: 24 },
defaultValue: '',
componentProps: {
span: 7,
width: '100%',
defaultValue: '',
placeholder: '请选择人员',
userType: 0,
prefix: '',
suffix: 'ant-design:setting-outlined',
showLabel: true,
disabled: false,
required: false,
multiple: true,
isShow: true,
events: {},
tooltipConfig: { visible: false, title: '提示文本' },
style: { width: '100%' },
},
},
],
},
],
......
......@@ -67,6 +67,22 @@ export const permissionList = [
defaultValue: '',
},
{
required: true,
view: true,
edit: true,
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '业务组织',
fieldId: 'companyId',
isSubTable: false,
showChildren: true,
type: 'select',
key: '25184c444b82451c970b1b6702aa7fa9',
children: [],
options: {},
},
{
required: false,
view: true,
edit: false,
......@@ -123,23 +139,6 @@ export const permissionList = [
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '建档人',
fieldId: 'createArchivesUserId',
isSubTable: false,
showChildren: true,
type: 'user',
key: 'de0cf6d1a54c42e0b3dbe4a845bd1859',
children: [],
options: {},
defaultValue: '',
},
{
required: false,
view: true,
edit: true,
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '设备类别',
fieldId: 'categoryId',
isSubTable: false,
......@@ -224,14 +223,15 @@ export const permissionList = [
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '公司',
fieldId: 'companyId',
fieldName: '整机编号',
fieldId: 'indexCode',
isSubTable: false,
showChildren: true,
type: 'select',
key: '25184c444b82451c970b1b6702aa7fa9',
type: 'input',
key: '45fb316373fa4a9390907b157823eef3',
children: [],
options: {},
defaultValue: '',
},
{
required: false,
......@@ -240,12 +240,12 @@ export const permissionList = [
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '整机编号',
fieldId: 'indexCode',
fieldName: '生产日期',
fieldId: 'manufactureDate',
isSubTable: false,
showChildren: true,
type: 'input',
key: '45fb316373fa4a9390907b157823eef3',
type: 'date',
key: '6fcb84a124a741deb3b3d6d17553b39e',
children: [],
options: {},
defaultValue: '',
......@@ -257,12 +257,12 @@ export const permissionList = [
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '生产日期',
fieldId: 'manufactureDate',
fieldName: '建档人',
fieldId: 'createArchivesUserId',
isSubTable: false,
showChildren: true,
type: 'date',
key: '6fcb84a124a741deb3b3d6d17553b39e',
type: 'user',
key: 'de0cf6d1a54c42e0b3dbe4a845bd1859',
children: [],
options: {},
defaultValue: '',
......
......@@ -176,7 +176,7 @@
formConfig: {
labelWidth: 100,
schemas: searchFormSchema,
fieldMapToTime: [['manufactureDate', ['manufactureDateStart', 'manufactureDateEnd'], 'YYYY-MM-DD ', true],],
fieldMapToTime: [],
showResetButton: false,
},
bordered:false,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment