diff --git a/src/views/bg/bgpartymatter/BgPartymatter.api.ts b/src/views/bg/bgpartymatter/BgPartymatter.api.ts new file mode 100644 index 0000000..edc7ae5 --- /dev/null +++ b/src/views/bg/bgpartymatter/BgPartymatter.api.ts @@ -0,0 +1,131 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/bgpartymatter/bgPartymatter/list', + save= '/bgpartymatter/bgPartymatter/add', + edit= '/bgpartymatter/bgPartymatter/edit', + deleteOne = '/bgpartymatter/bgPartymatter/delete', + deleteBatch = '/bgpartymatter/bgPartymatter/deleteBatch', + importExcel = '/bgpartymatter/bgPartymatter/importExcel', + exportXls = '/bgpartymatter/bgPartymatter/exportXls', + bgPartymatterFeedbackList = '/bgpartymatter/bgPartymatter/listBgPartymatterFeedbackByMainId', + bgPartymatterFeedbackSave= '/bgpartymatter/bgPartymatter/addBgPartymatterFeedback', + bgPartymatterFeedbackEdit= '/bgpartymatter/bgPartymatter/editBgPartymatterFeedback', + bgPartymatterFeedbackDelete = '/bgpartymatter/bgPartymatter/deleteBgPartymatterFeedback', + bgPartymatterFeedbackDeleteBatch = '/bgpartymatter/bgPartymatter/deleteBatchBgPartymatterFeedback', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params },{ isTransformResponse: false }); +} + +/** + * 列表接口 + * @param params + */ +export const bgPartymatterFeedbackList = (params) => { + if(params['mainId']){ + return defHttp.get({ url: Api.bgPartymatterFeedbackList, params }); + } + return Promise.resolve({}); +} + +/** + * 删除单个 + */ +export const bgPartymatterFeedbackDelete = (params,handleSuccess) => { + return defHttp.delete({ url: Api.bgPartymatterFeedbackDelete, params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + */ +export const bgPartymatterFeedbackDeleteBatch = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({ url: Api.bgPartymatterFeedbackDeleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + */ +export const bgPartymatterFeedbackSaveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.bgPartymatterFeedbackEdit : Api.bgPartymatterFeedbackSave; + return defHttp.post({ url: url, params },{ isTransformResponse: false }); +} + +/** + * 导入 + */ +export const bgPartymatterFeedbackImportUrl = '/bgpartymatter/bgPartymatter/importBgPartymatterFeedback' + +/** + * 导出 + */ +export const bgPartymatterFeedbackExportXlsUrl = '/bgpartymatter/bgPartymatter/exportBgPartymatterFeedback' diff --git a/src/views/bg/bgpartymatter/BgPartymatter.data.ts b/src/views/bg/bgpartymatter/BgPartymatter.data.ts new file mode 100644 index 0000000..3dc8d92 --- /dev/null +++ b/src/views/bg/bgpartymatter/BgPartymatter.data.ts @@ -0,0 +1,160 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '年份', + align:"center", + dataIndex: 'year' + }, + { + title: '序号', + align:"center", + dataIndex: 'number' + }, + { + title: '会议时间', + align:"center", + dataIndex: 'matterTime', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + }, + { + title: '事项名称', + align:"center", + dataIndex: 'title' + }, + { + title: '会议决议', + align:"center", + dataIndex: 'content' + }, + { + title: '事项目录编码', + align:"center", + dataIndex: 'matterCode' + }, + { + title: '责任部门', + align:"center", + dataIndex: 'responDeptid_dictText' + }, + { + title: '实际执行情况', + align:"center", + dataIndex: 'actualExect' + }, + { + title: '完成状态', + align:"center", + dataIndex: 'bpmStatus' + }, + { + title: '督办次数', + align:"center", + dataIndex: 'superviseCount' + }, + { + title: '要求完成日期', + align:"center", + dataIndex: 'deadline', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + }, + { + title: '紧急程度', + align:"center", + dataIndex: 'urgencyLevel' + }, + { + title: '是否需要所办领导审批', + align:"center", + dataIndex: 'isNeedAppro', + customRender:({text}) => { + return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}]) + }, + }, + { + title: '是否抄送所领导', + align:"center", + dataIndex: 'isNeedSuoleader', + customRender:({text}) => { + return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}]) + }, + }, + { + title: '抄送所领导', + align:"center", + dataIndex: 'suoleaderid_dictText' + }, +]; + +//子表列表数据 +export const bgPartymatterFeedbackColumns: BasicColumn[] = [ + { + title: '责任部门id', + align:"center", + dataIndex: 'responDeptid' + }, + { + title: '责任部门名称', + align:"center", + dataIndex: 'responDeptname' + }, + { + title: '反馈人id', + align:"center", + dataIndex: 'responPersonid' + }, + { + title: '反馈人姓名', + align:"center", + dataIndex: 'responPersonname' + }, + { + title: '实际执行情况', + align:"center", + dataIndex: 'actualExect' + }, + { + title: '实际完成时间', + align:"center", + dataIndex: 'actualTime' + }, + { + title: '完成状态', + align:"center", + dataIndex: 'bpmStatus' + }, + { + title: '外键', + align:"center", + dataIndex: 'mainId' + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + year: {title: '年份',order: 0,view: 'text', type: 'string',}, + number: {title: '序号',order: 1,view: 'text', type: 'string',}, + matterTime: {title: '会议时间',order: 2,view: 'date', type: 'string',}, + title: {title: '事项名称',order: 3,view: 'text', type: 'string',}, + content: {title: '会议决议',order: 4,view: 'textarea', type: 'string',}, + matterCode: {title: '事项目录编码',order: 5,view: 'text', type: 'string',}, + responDeptid: {title: '责任部门',order: 6,view: 'sel_depart', type: 'string',}, + actualExect: {title: '实际执行情况',order: 7,view: 'text', type: 'string',}, + bpmStatus: {title: '完成状态',order: 8,view: 'text', type: 'string',}, + superviseCount: {title: '督办次数',order: 9,view: 'text', type: 'string',}, + deadline: {title: '要求完成日期',order: 10,view: 'date', type: 'string',}, + urgencyLevel: {title: '紧急程度',order: 11,view: 'text', type: 'string',}, + isNeedAppro: {title: '是否需要所办领导审批',order: 12,view: 'switch', type: 'string',}, + isNeedSuoleader: {title: '是否抄送所领导',order: 13,view: 'switch', type: 'string',}, + suoleaderid: {title: '抄送所领导',order: 14,view: 'sel_user', type: 'string',}, +}; diff --git a/src/views/bg/bgpartymatter/BgPartymatterFeedbackList.vue b/src/views/bg/bgpartymatter/BgPartymatterFeedbackList.vue new file mode 100644 index 0000000..3f7513d --- /dev/null +++ b/src/views/bg/bgpartymatter/BgPartymatterFeedbackList.vue @@ -0,0 +1,210 @@ + + + + diff --git a/src/views/bg/bgpartymatter/BgPartymatterList.vue b/src/views/bg/bgpartymatter/BgPartymatterList.vue new file mode 100644 index 0000000..4ab5ea3 --- /dev/null +++ b/src/views/bg/bgpartymatter/BgPartymatterList.vue @@ -0,0 +1,315 @@ + + + + \ No newline at end of file diff --git a/src/views/bg/bgpartymatter/V20260416_1__menu_insert_BgPartymatter.sql b/src/views/bg/bgpartymatter/V20260416_1__menu_insert_BgPartymatter.sql new file mode 100644 index 0000000..ab4c98f --- /dev/null +++ b/src/views/bg/bgpartymatter/V20260416_1__menu_insert_BgPartymatter.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/bgpartymatter文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2026041603588520200', NULL, '党委会', '/bg/bgpartymatter/bgPartymatterList', 'bg/bgpartymatter/BgPartymatterList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026041603588520201', '2026041603588520200', '添加党委会', NULL, NULL, 0, NULL, NULL, 2, 'bgpartymatter:bg_partymatter:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026041603588520202', '2026041603588520200', '编辑党委会', NULL, NULL, 0, NULL, NULL, 2, 'bgpartymatter:bg_partymatter:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026041603588520203', '2026041603588520200', '删除党委会', NULL, NULL, 0, NULL, NULL, 2, 'bgpartymatter:bg_partymatter:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026041603588520204', '2026041603588520200', '批量删除党委会', NULL, NULL, 0, NULL, NULL, 2, 'bgpartymatter:bg_partymatter:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026041603588520205', '2026041603588520200', '导出excel_党委会', NULL, NULL, 0, NULL, NULL, 2, 'bgpartymatter:bg_partymatter:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026041603588520206', '2026041603588520200', '导入excel_党委会', NULL, NULL, 0, NULL, NULL, 2, 'bgpartymatter:bg_partymatter:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-04-16 15:58:20', NULL, NULL, 0, 0, '1', 0); diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterFeedbackForm.vue b/src/views/bg/bgpartymatter/components/BgPartymatterFeedbackForm.vue new file mode 100644 index 0000000..87403c9 --- /dev/null +++ b/src/views/bg/bgpartymatter/components/BgPartymatterFeedbackForm.vue @@ -0,0 +1,185 @@ + + + + + diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterFeedbackModal.vue b/src/views/bg/bgpartymatter/components/BgPartymatterFeedbackModal.vue new file mode 100644 index 0000000..b379521 --- /dev/null +++ b/src/views/bg/bgpartymatter/components/BgPartymatterFeedbackModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue b/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue new file mode 100644 index 0000000..f558616 --- /dev/null +++ b/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterModal.vue b/src/views/bg/bgpartymatter/components/BgPartymatterModal.vue new file mode 100644 index 0000000..55bd08e --- /dev/null +++ b/src/views/bg/bgpartymatter/components/BgPartymatterModal.vue @@ -0,0 +1,84 @@ + + + + + + \ No newline at end of file