This commit is contained in:
2025-11-29 23:40:29 +08:00
parent bfa83f42a8
commit 51ffefbe2f
95 changed files with 9692 additions and 1322 deletions

View File

@@ -50,25 +50,15 @@
maxlength: 512,
},
required: true,
colProps: { md: 24, lg: 24 },
},
{
label: t('是否删除'),
field: 'titleDelete',
component: 'Select',
componentProps: {
dictType: 'title_delete',
allowClear: true,
},
},
{
label: t('发送时间'),
label: t('到期时间'),
field: 'datetime',
component: 'DatePicker',
componentProps: {
format: 'YYYY-MM-DD',
showTime: false,
},
format: 'YYYY-MM-DD HH:mm',
showTime: { format: 'HH:mm' },
},
},
{
label: t('所属类型'),
@@ -81,32 +71,17 @@
required: true,
},
{
label: t('是否关闭'),
field: 'clickClose',
component: 'Select',
label: t('通知人员'),
field: 'loginUser',
fieldLabel: 'userName',
component: 'ListSelect',
componentProps: {
dictType: 'click_close',
allowClear: true,
selectType: 'userSelect',
},
required: true,
},
{
label: t('待办状态'),
field: 'extra',
component: 'Input',
componentProps: {
maxlength: 64,
},
},
{
label: t('颜色编码'),
field: 'color',
component: 'Input',
componentProps: {
maxlength: 32,
},
},
{
label: t('描述信息'),
label: t('内容信息'),
field: 'description',
component: 'InputTextArea',
required: true,

View File

@@ -18,11 +18,14 @@
<Icon icon="i-fluent:add-12-filled" /> {{ t('新增') }}
</a-button>
</template>
<template #firstColumn="{ record }">
<a @click="handleForm({ id: record.id })" :title="record.createTime">
{{ record.createTime }}
<template #slotBizKey="{ record }">
<a @click="handleForm({ id: record.id })" :title="record.title">
{{ record.title }}
</a>
</template>
<template #slotBizAvatar="{ record }">
<img :src="record.avatar" style="width: 20px; height: 20px; object-fit: cover; border-radius: 50%; display: inline-block; vertical-align: middle;" />
</template>
</BasicTable>
<InputForm @register="registerDrawer" @success="handleSuccess" />
<FormImport @register="registerImportModal" @success="handleSuccess" />
@@ -92,12 +95,17 @@
allowClear: true,
},
},
{
label: t('待办状态'),
field: 'extra',
component: 'Input',
},
{
label: t('是否已读'),
field: 'readFlag',
component: 'Select',
componentProps: {
dictType: 'read_flag',
dictType: 'is_open',
allowClear: true,
},
},
@@ -106,15 +114,10 @@
field: 'clickClose',
component: 'Select',
componentProps: {
dictType: 'click_close',
dictType: 'is_open',
allowClear: true,
},
},
{
label: t('待办状态'),
field: 'extra',
component: 'Input',
},
],
};
@@ -126,7 +129,6 @@
sorter: true,
width: 180,
align: 'left',
slot: 'firstColumn',
},
{
title: t('头像图标'),
@@ -135,6 +137,7 @@
sorter: true,
width: 130,
align: 'left',
slot: 'slotBizAvatar',
},
{
title: t('通知标题'),
@@ -143,6 +146,7 @@
sorter: true,
width: 200,
align: 'left',
slot: 'slotBizKey',
},
{
title: t('是否删除'),
@@ -151,10 +155,10 @@
sorter: true,
width: 130,
align: 'left',
dictType: 'title_delete',
dictType: 'is_open',
},
{
title: t('发送时间'),
title: t('到期时间'),
dataIndex: 'datetime',
key: 'a.datetime',
sorter: true,
@@ -177,16 +181,24 @@
sorter: true,
width: 130,
align: 'left',
dictType: 'read_flag',
dictType: 'is_open',
},
{
title: t('描述信息'),
title: t('内容信息'),
dataIndex: 'description',
key: 'a.description',
sorter: true,
width: 225,
align: 'left',
},
{
title: t('接收用户'),
dataIndex: 'userName',
key: 'a.user_name',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('是否关闭'),
dataIndex: 'clickClose',
@@ -194,7 +206,7 @@
sorter: true,
width: 130,
align: 'left',
dictType: 'click_close',
dictType: 'is_open',
},
{
title: t('待办状态'),
@@ -241,6 +253,7 @@
confirm: handleDelete.bind(this, record),
},
auth: 'biz:listItem:edit',
ifShow: record.clickClose == false
},
],
};

View File

@@ -61,7 +61,7 @@
},
},
{
label: t('项目区域'),
label: t('区域名称'),
field: 'areaCode',
fieldLabel: 'provinceName',
component: 'ListSelect',
@@ -81,7 +81,7 @@
required: true,
},
{
label: t('需求人员'),
label: t('需求用户'),
field: 'employeeId',
fieldLabel: 'employeeName',
component: 'ListSelect',

View File

@@ -89,7 +89,7 @@
component: 'Input',
},
{
label: t('项目区域'),
label: t('区域名称'),
field: 'areaCode',
fieldLabel: 'provinceName',
component: 'ListSelect',
@@ -107,7 +107,7 @@
},
},
{
label: t('需求人员'),
label: t('需求用户'),
field: 'employeeId',
fieldLabel: 'employeeName',
component: 'ListSelect',
@@ -172,14 +172,46 @@
width: 130,
align: 'left',
},
{
title: t('项目区域'),
dataIndex: 'areaCode',
key: 'a.area_code',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('需求用户'),
dataIndex: 'employeeName',
key: 'b.employee_name',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('项目编码'),
dataIndex: 'projectCode',
key: 'c.project_code',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('项目名称'),
dataIndex: 'projectName',
key: 'c.project_name',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('区域编号'),
dataIndex: 'areaCode',
key: 'a.area_code',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('项目名称'),
dataIndex: 'provinceName',
key: 'd.province_name',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('需求描述'),
dataIndex: 'requirementDescription',
@@ -242,6 +274,7 @@
const actionColumn: BasicColumn<BizProjectRequirements> = {
width: 160,
align: 'center',
actions: (record: BizProjectRequirements) => [
{
icon: 'i-clarity:note-edit-line',
@@ -258,6 +291,7 @@
confirm: handleDelete.bind(this, record),
},
auth: 'biz:projectRequirements:edit',
ifShow: record.requirementsStatus == 'PDC'
},
],
};

View File

@@ -1,226 +0,0 @@
import { useI18n } from '@jeesite/core/hooks/web/useI18n';
import { BasicColumn, BasicTableProps, FormProps } from '@jeesite/core/components/Table';
import { bizProjectRequirementsListData } from '@jeesite/biz/api/biz/projectRequirements';
const { t } = useI18n('biz.projectRequirements');
const modalProps = {
title: t('需求信息选择'),
};
const searchForm: FormProps<BizProjectRequirements> = {
baseColProps: { md: 8, lg: 6 },
labelWidth: 90,
schemas: [
{
label: t('记录日期起'),
field: 'createTime_gte',
component: 'DatePicker',
componentProps: {
format: 'YYYY-MM-DD HH:mm',
showTime: { format: 'HH:mm' },
},
},
{
label: t('记录日期止'),
field: 'createTime_lte',
component: 'DatePicker',
componentProps: {
format: 'YYYY-MM-DD HH:mm',
showTime: { format: 'HH:mm' },
},
},
{
label: t('需求名称'),
field: 'requirementName',
component: 'Input',
},
{
label: t('需求编号'),
field: 'requirementCode',
component: 'Input',
},
{
label: t('项目区域'),
field: 'areaCode',
component: 'Input',
},
{
label: t('需求描述'),
field: 'requirementDescription',
component: 'Input',
},
{
label: t('优先级'),
field: 'priority',
component: 'Select',
componentProps: {
dictType: '',
allowClear: true,
},
},
{
label: t('项目ID'),
field: 'projectId',
component: 'Select',
componentProps: {
dictType: '',
allowClear: true,
},
},
{
label: t('用户ID'),
field: 'employeeId',
component: 'Select',
componentProps: {
dictType: '',
allowClear: true,
},
},
{
label: t('需求备注'),
field: 'remark',
component: 'Input',
},
{
label: t('状态'),
field: 'requirementsStatus',
component: 'Select',
componentProps: {
dictType: '',
allowClear: true,
},
},
],
};
const tableColumns: BasicColumn<BizProjectRequirements>[] = [
{
title: t('记录日期'),
dataIndex: 'createTime',
key: 'a.create_time',
sorter: true,
width: 230,
align: 'left',
slot: 'firstColumn',
},
{
title: t('需求名称'),
dataIndex: 'requirementName',
key: 'a.requirement_name',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('需求编号'),
dataIndex: 'requirementCode',
key: 'a.requirement_code',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('项目区域'),
dataIndex: 'areaCode',
key: 'a.area_code',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('需求描述'),
dataIndex: 'requirementDescription',
key: 'a.requirement_description',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('开始时间'),
dataIndex: 'startTime',
key: 'a.start_time',
sorter: true,
width: 130,
align: 'center',
},
{
title: t('结束时间'),
dataIndex: 'endTime',
key: 'a.end_time',
sorter: true,
width: 130,
align: 'center',
},
{
title: t('优先级'),
dataIndex: 'priority',
key: 'a.priority',
sorter: true,
width: 130,
align: 'left',
dictType: '',
},
{
title: t('更新时间'),
dataIndex: 'updateTime',
key: 'a.update_time',
sorter: true,
width: 130,
align: 'center',
},
{
title: t('项目ID'),
dataIndex: 'projectId',
key: 'a.project_id',
sorter: true,
width: 130,
align: 'left',
dictType: '',
},
{
title: t('用户ID'),
dataIndex: 'employeeId',
key: 'a.employee_id',
sorter: true,
width: 130,
align: 'left',
dictType: '',
},
{
title: t('需求备注'),
dataIndex: 'remark',
key: 'a.remark',
sorter: true,
width: 130,
align: 'left',
},
{
title: t('状态'),
dataIndex: 'requirementsStatus',
key: 'a.requirements_status',
sorter: true,
width: 130,
align: 'left',
dictType: '',
},
];
const tableProps: BasicTableProps = {
api: bizProjectRequirementsListData,
beforeFetch: (params) => {
params['isAll'] = true;
return params;
},
columns: tableColumns,
formConfig: searchForm,
rowKey: 'requirementId',
};
export default {
modalProps,
tableProps,
itemCode: 'requirementId',
itemName: 'requirementId',
isShowCode: false,
};

View File

@@ -63,7 +63,7 @@
colProps: { md: 24, lg: 24 },
},
{
label: t('图标类名'),
label: t('图标地址'),
field: 'iconClass',
component: 'Input',
componentProps: {
@@ -112,7 +112,7 @@
field: 'isEnabled',
component: 'Select',
componentProps: {
dictType: 'is_enabled',
dictType: 'ustatus',
allowClear: true,
},
required: true,

View File

@@ -15,9 +15,9 @@
<Icon icon="i-fluent:add-12-filled" /> {{ t('新增') }}
</a-button>
</template>
<template #firstColumn="{ record }">
<a @click="handleForm({ id: record.id })" :title="record.createTime">
{{ record.createTime }}
<template #slotBizKey="{ record }">
<a @click="handleForm({ id: record.id })" :title="record.systemName">
{{ record.systemName }}
</a>
</template>
</BasicTable>
@@ -85,26 +85,26 @@
sorter: true,
width: 180,
align: 'left',
slot: 'firstColumn',
},
{
title: t('系统名称'),
dataIndex: 'systemName',
key: 'a.system_name',
sorter: true,
width: 225,
width: 200,
align: 'left',
slot: 'slotBizKey',
},
{
title: t('首页地址'),
dataIndex: 'homepageUrl',
key: 'a.homepage_url',
sorter: true,
width: 200,
width: 225,
align: 'left',
},
{
title: t('图标类名'),
title: t('图标地址'),
dataIndex: 'iconClass',
key: 'a.icon_class',
sorter: true,
@@ -150,7 +150,7 @@
sorter: true,
width: 130,
align: 'center',
dictType: 'is_enabled',
dictType: 'ustatus',
},
{
title: t('更新时间'),