!12 fix(xispeak): 修复反馈信息展示和交互问题
Merge pull request !12 from new_new_new/feature/20260525
This commit is contained in:
@@ -22,6 +22,7 @@ pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.claude
|
||||
.svn
|
||||
# .vscode
|
||||
*.java
|
||||
|
||||
@@ -2,13 +2,16 @@
|
||||
|
||||
## 控制模型
|
||||
|
||||
- 默认全关,逐级显式通过 `extendUrlParams` 传 `=1` 开启
|
||||
- `showBaseInfo` 默认开启(向后兼容),其余默认全关,逐级显式通过 `extendUrlParams` 传 `=1` 开启
|
||||
- 上级未开启时,下级传参不生效
|
||||
- 每个 UI 元素只受一个属性控制
|
||||
|
||||
## 控制树
|
||||
|
||||
```
|
||||
showBaseInfo → 基础信息区域(表单 + 字段)
|
||||
└── baseInfoReadonly → 基础信息字段是否只读(showBaseInfo=1 时生效)
|
||||
|
||||
showProcessHandle → 流程办理区域
|
||||
└── showSubApproveUser → 是否办结 + 部门经办人选人
|
||||
|
||||
@@ -17,6 +20,7 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
├── showEditFeedback → 编辑/删除操作列
|
||||
├── showDeptFeedback → 按部门过滤反馈数据
|
||||
└── showJiJianFields → 纪检字段列(检查情况/监督意见/措施数量)
|
||||
└── jiJianFieldsReadonly → 纪检字段可见但不可编辑
|
||||
```
|
||||
|
||||
## 节点权限配置
|
||||
@@ -29,6 +33,8 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
### 节点: <督办部门经办人发起流程>
|
||||
* taskDefKey: `<Task_00v3pcv>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `0` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `0` —— 反馈信息区域
|
||||
@@ -36,12 +42,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1
|
||||
---
|
||||
|
||||
|
||||
### 节点: <督办部门负责人审批>
|
||||
* taskDefKey: `<Task_0zmn6ik>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `0` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `0` —— 反馈信息区域
|
||||
@@ -49,11 +58,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1
|
||||
---
|
||||
|
||||
### 节点: <所党委审批>
|
||||
* taskDefKey: `<Task_15sm4w5>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `0` —— 反馈信息区域
|
||||
@@ -61,11 +73,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1
|
||||
---
|
||||
|
||||
### 节点: <收集流程部门负责人接受任务并分配>
|
||||
* taskDefKey: `<Task_1v9ce78>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `1` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `0` —— 反馈信息区域
|
||||
@@ -73,11 +88,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showSubApproveUser=1
|
||||
---
|
||||
|
||||
### 节点: <收集流程门经办人填写>
|
||||
* taskDefKey: `<Task_0jrgrzs>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -85,11 +103,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `1` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `1` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1&showDeptFeedback=1
|
||||
---
|
||||
|
||||
### 节点: <收集流程部门负责人审批>
|
||||
* taskDefKey: `<Task_0mf32ge>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -97,11 +118,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `1` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showDeptFeedback=1
|
||||
---
|
||||
|
||||
### 节点: <收集流程督办发起人确认部门经办人填写内容>
|
||||
* taskDefKey: `<Task_1w4vxgc>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -109,12 +133,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=0&showProcessHandle=1&showFeedbackInfo=1
|
||||
---
|
||||
|
||||
|
||||
### 节点: <反馈流程部门经办人填写反馈情况>
|
||||
* taskDefKey: `<Task_08zb04x>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -122,11 +149,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `1` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `1` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1&showDeptFeedback=1
|
||||
---
|
||||
|
||||
### 节点: <反馈流程部门负责人审批>
|
||||
* taskDefKey: `<Task_04bazej>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -134,11 +164,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `1` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showDeptFeedback=1
|
||||
---
|
||||
|
||||
### 节点: <反馈流程督办经办人核查>
|
||||
* taskDefKey: `<Task_175afz2>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -146,12 +179,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1
|
||||
---
|
||||
|
||||
|
||||
### 节点: <反馈流程督办部门负责人审批>
|
||||
* taskDefKey: `<Task_00i7rrp>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -159,11 +195,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `0` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1
|
||||
---
|
||||
|
||||
### 节点: <反馈流程纪检经办人监察>
|
||||
* taskDefKey: `<Task_1wfkrvj>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -171,11 +210,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `1` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showEditFeedback=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
|
||||
### 节点: <反馈流程纪检负责人审批>
|
||||
* taskDefKey: `<Task_1ogk921>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -183,11 +225,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showEditFeedback=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
|
||||
### 节点: <督办部门经办人确认全部反馈事项>
|
||||
* taskDefKey: `<Task_0bj578x>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -195,11 +240,14 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
## 习讲话经办人反馈流程
|
||||
### 节点: <部门经办人反馈完成情况>
|
||||
* taskDefKey: `<Task_12vdqzv>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -207,11 +255,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `1` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* **jiJianFieldsReadonly** `1` —— 纪检字段可见但不可编辑
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showAddFeedback=1&showEditFeedback=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
|
||||
### 节点: <部门负责人审批>
|
||||
* taskDefKey: `<Task_06di2wf>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -219,11 +271,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* **jiJianFieldsReadonly** `1` —— 纪检字段可见但不可编辑
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
|
||||
### 节点: <督办经办人核查>
|
||||
* taskDefKey: `<Task_13olnz1>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `0` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -231,11 +287,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* **jiJianFieldsReadonly** `1` —— 纪检字段可见但不可编辑
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
|
||||
### 节点: <督办部门负责人审批>
|
||||
* taskDefKey: `<Task_1l650tz>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `0` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -243,11 +303,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* **jiJianFieldsReadonly** `1` —— 纪检字段可见但不可编辑
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1&jiJianFieldsReadonly=1
|
||||
---
|
||||
|
||||
### 节点: <纪检经办人监察>
|
||||
* taskDefKey: `<Task_0bahwr8>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `1` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -255,12 +319,15 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `1` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo-1&showEditFeedback=1&showJiJianFields=1
|
||||
---
|
||||
|
||||
|
||||
### 节点: <纪检负责人审批>
|
||||
* taskDefKey: `<Task_005iiwi>`
|
||||
|
||||
* **showBaseInfo** `1` —— 基础信息区域
|
||||
* **baseInfoReadonly** `0` —— 基础信息只读
|
||||
* **showProcessHandle** `1` —— 流程办理区域
|
||||
* **showSubApproveUser** `0` —— 是否办结 + 部门经办人
|
||||
* **showFeedbackInfo** `1` —— 反馈信息区域
|
||||
@@ -268,4 +335,5 @@ showFeedbackInfo → 反馈信息区域(表格 + 表头)
|
||||
* **showEditFeedback** `0` —— 编辑/删除操作列
|
||||
* **showDeptFeedback** `0` —— 按部门过滤反馈
|
||||
* **showJiJianFields** `1` —— 纪检字段列
|
||||
* bg/xispeak/components/BgXiSpeakBPMForm?edit=1&showProcessHandle=1&showFeedbackInfo=1&showJiJianFields=1
|
||||
---
|
||||
|
||||
@@ -185,6 +185,10 @@ export const withDrawXiSpeak = (params) => {
|
||||
return defHttp.post({ url: '/bg/xispeak/bgXiSpeak/withDrawXiSpeak', params }, { joinParamsToUrl: true, isTransformResponse: false });
|
||||
};
|
||||
|
||||
export const deleteSingleProcess = (params) => {
|
||||
return defHttp.post({ url: '/tasktask/taskTask/deleteSingleProcess', params }, { joinParamsToUrl: true, isTransformResponse: false });
|
||||
};
|
||||
|
||||
/**
|
||||
* 批量查询反馈统计数量(每个 xispeak 下的 feedback 总条数和已闭环数)
|
||||
* @param params { ids: "id1,id2,id3" }
|
||||
|
||||
@@ -83,6 +83,7 @@
|
||||
updateLaunchType,
|
||||
saveOrUpdateDict,
|
||||
withDrawXiSpeak,
|
||||
deleteSingleProcess,
|
||||
getRootListWithDept,
|
||||
bgXiSpeakFeedbackList,
|
||||
} from './BgXiSpeak.api';
|
||||
@@ -597,7 +598,7 @@
|
||||
}
|
||||
|
||||
async function handleDeleteProcess(processRecord, reload) {
|
||||
const res = await withDrawXiSpeak({ id: currentBusinessId.value });
|
||||
const res = await deleteSingleProcess({ processInstId: processRecord.processInstId });
|
||||
if (res.success) {
|
||||
createMessage.success(res.message || '删除流程成功');
|
||||
await reload();
|
||||
@@ -680,7 +681,7 @@
|
||||
deptLeaderId: deptId,
|
||||
deptHandlerName: deptHandlerMap.get(deptId) || '',
|
||||
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
||||
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
||||
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD'),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -717,7 +718,7 @@
|
||||
deptId: options.deptId || record.implDept,
|
||||
deptLeaderId: record.responsiblePerson,
|
||||
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
||||
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
||||
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD'),
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="反馈人" name="responPersonid">
|
||||
<j-select-user v-model:value="formData.responPersonid" allow-clear @change="handleUserChange" />
|
||||
<a-form-item label="反馈人">
|
||||
<a-input :value="formData.responPersonname" disabled placeholder="自动填充当前用户" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
@@ -70,17 +70,17 @@
|
||||
<!-- </a-col>-->
|
||||
<a-col v-if="showJiJianFields" :span="12">
|
||||
<a-form-item label="检查情况(纪检)" name="checkStatus">
|
||||
<a-input v-model:value="formData.checkStatus" placeholder="填写监督检查情况,成果是否完整,符合,时间是否按时等" allow-clear />
|
||||
<a-input v-model:value="formData.checkStatus" placeholder="填写监督检查情况,成果是否完整,符合,时间是否按时等" :disabled="jiJianFieldsReadonly" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col v-if="showJiJianFields" :span="24">
|
||||
<a-form-item label="监督意见(纪检)" name="inspectionAdvice" :labelCol="wideLabelCol" :wrapperCol="wideWrapperCol">
|
||||
<a-textarea v-model:value="formData.inspectionAdvice" placeholder="是否通过审核" :rows="3" allow-clear />
|
||||
<a-textarea v-model:value="formData.inspectionAdvice" placeholder="是否通过审核" :rows="3" :disabled="jiJianFieldsReadonly" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col v-if="showJiJianFields" :span="12">
|
||||
<a-form-item label="措施数量(纪检)" name="measureNum">
|
||||
<a-input-number v-model:value="formData.measureNum" placeholder="填写本条举措设计的措施数量" style="width: 100%" allow-clear />
|
||||
<a-input-number v-model:value="formData.measureNum" placeholder="填写本条举措设计的措施数量" style="width: 100%" :disabled="jiJianFieldsReadonly" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
@@ -108,12 +108,12 @@
|
||||
import { buildUUID } from '/@/utils/uuid';
|
||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
||||
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
|
||||
import JSelectUser from '/@/components/Form/src/jeecg/components/JSelectUser.vue';
|
||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
|
||||
const emit = defineEmits(['success']);
|
||||
const props = defineProps({
|
||||
showJiJianFields: { type: Boolean, default: false },
|
||||
jiJianFieldsReadonly: { type: Boolean, default: false },
|
||||
});
|
||||
const { createMessage } = useMessage();
|
||||
const userStore = useUserStore();
|
||||
@@ -240,12 +240,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
function handleUserChange(value, row) {
|
||||
if (row) {
|
||||
formData.responPersonname = row.realname || row.name || '';
|
||||
}
|
||||
}
|
||||
|
||||
function handleCancel() {
|
||||
visible.value = false;
|
||||
}
|
||||
|
||||
@@ -70,11 +70,11 @@
|
||||
<j-select-dept v-model:value="mainForm.implDept" :disabled="mainDisabled" :multiple="true" checkStrictly allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="落实方案" name="implPlan">
|
||||
<a-input v-model:value="mainForm.implPlan" :disabled="mainDisabled" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="落实方案" name="implPlan">-->
|
||||
<!-- <a-input v-model:value="mainForm.implPlan" :disabled="mainDisabled" allow-clear />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="贯彻落实措施" name="implMeasures">
|
||||
<a-input v-model:value="mainForm.implMeasures" :disabled="mainDisabled" allow-clear />
|
||||
@@ -102,6 +102,7 @@
|
||||
dictCode="db_status"
|
||||
placeholder="请选择完成状态"
|
||||
type="radio"
|
||||
:stringToNumber="true"
|
||||
:disabled="mainDisabled"
|
||||
/>
|
||||
</a-form-item>
|
||||
@@ -110,8 +111,7 @@
|
||||
<a-form-item label="截止日期" name="deadline">
|
||||
<a-date-picker
|
||||
v-model:value="mainForm.deadline"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
:show-time="true"
|
||||
value-format="YYYY-MM-DD"
|
||||
:disabled="mainDisabled"
|
||||
style="width: 100%"
|
||||
allow-clear
|
||||
@@ -123,14 +123,14 @@
|
||||
<a-input v-model:value="mainForm.reportFeedbackStatus" :disabled="mainDisabled" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="是否存在完成风险" name="isCompletionRisk">
|
||||
<a-radio-group v-model:value="mainForm.isCompletionRisk" :disabled="mainDisabled">
|
||||
<a-radio :value="0">不存在</a-radio>
|
||||
<a-radio :value="1">存在</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="是否存在完成风险" name="isCompletionRisk">-->
|
||||
<!-- <a-radio-group v-model:value="mainForm.isCompletionRisk" :disabled="mainDisabled">-->
|
||||
<!-- <a-radio :value="0">不存在</a-radio>-->
|
||||
<!-- <a-radio :value="1">存在</a-radio>-->
|
||||
<!-- </a-radio-group>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="是否需要督办领导" name="needSdwApproval">
|
||||
<a-radio-group v-model:value="mainForm.needSdwApproval" :disabled="mainDisabled">
|
||||
@@ -144,34 +144,34 @@
|
||||
<j-select-user v-model:value="mainForm.sdwLeaderList" :disabled="mainDisabled" :multiple="true" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="拖期风险应对措施" name="delayRiskMitigation">
|
||||
<a-input v-model:value="mainForm.delayRiskMitigation" :disabled="mainDisabled" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="拖期风险应对措施" name="delayRiskMitigation">-->
|
||||
<!-- <a-input v-model:value="mainForm.delayRiskMitigation" :disabled="mainDisabled" allow-clear />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="督办次数" name="supervisionCount">
|
||||
<a-input-number v-model:value="mainForm.supervisionCount" :disabled="mainDisabled" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="父级节点" name="pid">
|
||||
<j-tree-select
|
||||
v-model:value="mainForm.pid"
|
||||
dict="bg_xi_speak,impl_status,id"
|
||||
pidField="pid"
|
||||
pidValue="0"
|
||||
hasChildField="has_child"
|
||||
:disabled="mainDisabled"
|
||||
allow-clear
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="落实情况" name="implStatus">
|
||||
<a-textarea v-model:value="mainForm.implStatus" :auto-size="{ minRows: 1, maxRows: 7 }" :disabled="mainDisabled" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="父级节点" name="pid">-->
|
||||
<!-- <j-tree-select-->
|
||||
<!-- v-model:value="mainForm.pid"-->
|
||||
<!-- dict="bg_xi_speak,impl_status,id"-->
|
||||
<!-- pidField="pid"-->
|
||||
<!-- pidValue="0"-->
|
||||
<!-- hasChildField="has_child"-->
|
||||
<!-- :disabled="mainDisabled"-->
|
||||
<!-- allow-clear-->
|
||||
<!-- />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="落实情况" name="implStatus">-->
|
||||
<!-- <a-textarea v-model:value="mainForm.implStatus" :auto-size="{ minRows: 1, maxRows: 7 }" :disabled="mainDisabled" allow-clear />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
</template>
|
||||
</a-row>
|
||||
</a-form>
|
||||
@@ -197,16 +197,17 @@
|
||||
</a-space>
|
||||
</div>
|
||||
<a-table
|
||||
v-if="showFeedbackInfo"
|
||||
v-if="showFeedbackInfo && showFeedbackDetail"
|
||||
rowKey="id"
|
||||
size="small"
|
||||
bordered
|
||||
:columns="feedbackColumns"
|
||||
:data-source="feedbackList"
|
||||
:pagination="false"
|
||||
:scroll="{ x: 2080 }"
|
||||
:scroll="{ x: 1980 }"
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template #bodyCell="{ column, record, index }">
|
||||
<template v-if="column.key === 'seq'">{{ index + 1 }}</template>
|
||||
<template v-if="column.key === 'attachments'">
|
||||
<SUploadFile v-if="record.id" class="feedback-attachment-list" :bussiness-id="record.id" :disabled="true" :multiple="true" />
|
||||
<span v-else>-</span>
|
||||
@@ -220,9 +221,15 @@
|
||||
</template>
|
||||
</a-table>
|
||||
|
||||
<BgXiSpeakBPMFeedbackModal ref="feedbackModalRef" :showJiJianFields="showJiJianFields" @success="loadFeedbackList" />
|
||||
<BgXiSpeakBPMFeedbackModal
|
||||
ref="feedbackModalRef"
|
||||
:showJiJianFields="showJiJianFields"
|
||||
:jiJianFieldsReadonly="jiJianFieldsReadonly"
|
||||
@success="loadFeedbackList"
|
||||
/>
|
||||
|
||||
<template v-if="showProcessHandle">
|
||||
|
||||
<a-divider />
|
||||
<div class="process-header section-toolbar">
|
||||
<div class="section-title">流程办理</div>
|
||||
@@ -343,15 +350,15 @@
|
||||
|
||||
const feedbackColumns = computed(() => {
|
||||
const cols: any[] = [
|
||||
{ title: '序号', dataIndex: 'num', align: 'center', width: 60 },
|
||||
{ title: '序号', key: 'seq', align: 'center', width: 60 },
|
||||
{ title: '反馈部门名称', dataIndex: 'responDeptname', align: 'center', width: 140 },
|
||||
{ title: '反馈人姓名', dataIndex: 'responPersonname', align: 'center', width: 120 },
|
||||
{ title: '措施内容', dataIndex: 'method', align: 'left', width: 200 },
|
||||
{ title: '完成状态', dataIndex: 'completionStatus_dictText', align: 'center', width: 100 },
|
||||
{ title: '是否有报送上级报告', dataIndex: 'isReportedToHigher_dictText', align: 'center', width: 140 },
|
||||
{ title: '进展情况', dataIndex: 'progress', align: 'left', width: 200 },
|
||||
{ title: '落实情况', dataIndex: 'implStatus', align: 'left', width: 200 },
|
||||
{ title: '附件', dataIndex: 'id', key: 'attachments', align: 'left', width: 340 },
|
||||
// { title: '落实情况', dataIndex: 'implStatus', align: 'left', width: 200 },
|
||||
{ title: '附件', dataIndex: 'id', key: 'attachments', align: 'left', width: 280 },
|
||||
];
|
||||
if (showJiJianFields.value) {
|
||||
cols.push(
|
||||
@@ -387,9 +394,11 @@
|
||||
if (explicit === '0') return false;
|
||||
if (explicit === '1') return true;
|
||||
// 未显式设置时,任一子属性开启则自动显示反馈区域
|
||||
return String(p?.showAddFeedback ?? p?.addfeedback ?? '') === '1'
|
||||
|| String(p?.showEditFeedback ?? p?.editfeedback ?? '') === '1'
|
||||
|| String(p?.showDeptFeedback ?? p?.deptfeedback ?? '') === '1';
|
||||
return (
|
||||
String(p?.showAddFeedback ?? p?.addfeedback ?? '') === '1' ||
|
||||
String(p?.showEditFeedback ?? p?.editfeedback ?? '') === '1' ||
|
||||
String(p?.showDeptFeedback ?? p?.deptfeedback ?? '') === '1'
|
||||
);
|
||||
});
|
||||
const showEditFeedback = computed(
|
||||
() => String(props.formData?.extendUrlParams?.showEditFeedback ?? props.formData?.extendUrlParams?.editfeedback ?? '') === '1'
|
||||
@@ -398,6 +407,7 @@
|
||||
() => String(props.formData?.extendUrlParams?.showDeptFeedback ?? props.formData?.extendUrlParams?.deptfeedback ?? '') === '1'
|
||||
);
|
||||
const showJiJianFields = computed(() => String(props.formData?.extendUrlParams?.showJiJianFields ?? '') === '1');
|
||||
const jiJianFieldsReadonly = computed(() => String(props.formData?.extendUrlParams?.jiJianFieldsReadonly ?? '') === '1');
|
||||
const showDeptFields = computed(() => String(props.formData?.extendUrlParams?.deptfields ?? '') === '1');
|
||||
const showSubApproveUser = computed(
|
||||
() => String(props.formData?.extendUrlParams?.showSubApproveUser ?? props.formData?.extendUrlParams?.selectuser ?? '') === '1'
|
||||
@@ -438,7 +448,7 @@
|
||||
if (!dataId) {
|
||||
return;
|
||||
}
|
||||
showBaseInfoDetail.value = false;
|
||||
showBaseInfoDetail.value = true;
|
||||
loading.value = true;
|
||||
try {
|
||||
const data = await defHttp.get({ url: queryByIdUrl, params: { id: dataId } });
|
||||
@@ -713,6 +723,7 @@
|
||||
}
|
||||
|
||||
:deep(.ant-input),
|
||||
:deep(.ant-input-number),
|
||||
:deep(.ant-picker),
|
||||
:deep(.ant-select-selector) {
|
||||
min-height: 30px;
|
||||
@@ -730,6 +741,9 @@
|
||||
:deep(.ant-input-outlined[disabled]),
|
||||
:deep(.ant-input-outlined.ant-input-disabled),
|
||||
:deep(textarea.ant-input[disabled]),
|
||||
:deep(.ant-input-number-disabled),
|
||||
:deep(.ant-input-number-disabled:hover),
|
||||
:deep(.ant-input-number-disabled:focus),
|
||||
:deep(.ant-picker-disabled),
|
||||
:deep(.ant-select-disabled .ant-select-selector) {
|
||||
background: transparent !important;
|
||||
@@ -743,6 +757,7 @@
|
||||
:deep(.ant-input[disabled]),
|
||||
:deep(.ant-input-disabled),
|
||||
:deep(.ant-input-affix-wrapper-disabled),
|
||||
:deep(.ant-input-number-disabled),
|
||||
:deep(textarea.ant-input[disabled]) {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
@@ -754,6 +769,13 @@
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
:deep(.ant-input-number-disabled .ant-input-number-input) {
|
||||
background: transparent !important;
|
||||
color: #1f2937 !important;
|
||||
-webkit-text-fill-color: #1f2937 !important;
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
:deep(.ant-input[disabled]::placeholder),
|
||||
:deep(.ant-input-disabled::placeholder),
|
||||
:deep(.ant-input-affix-wrapper-disabled .ant-input::placeholder) {
|
||||
@@ -788,9 +810,23 @@
|
||||
:deep(.ant-picker-disabled .ant-picker-suffix),
|
||||
:deep(.ant-input-disabled .ant-input-clear-icon),
|
||||
:deep(.ant-input-affix-wrapper-disabled .ant-input-clear-icon),
|
||||
:deep(.ant-input-number-disabled .ant-input-number-handler-wrap),
|
||||
:deep(.ant-select-disabled .ant-select-clear) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep(.ant-radio-wrapper-disabled) {
|
||||
color: #1f2937 !important;
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
:deep(.ant-radio-wrapper-disabled:not(.ant-radio-wrapper-checked)) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep(.ant-radio-disabled .ant-radio-inner) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.feedback-header {
|
||||
@@ -820,11 +856,13 @@
|
||||
}
|
||||
|
||||
.feedback-attachment-list {
|
||||
min-width: 300px;
|
||||
min-width: 240px;
|
||||
|
||||
:deep(.file-list-wrapper) {
|
||||
min-height: auto;
|
||||
padding: 8px;
|
||||
min-height: 36px;
|
||||
max-height: 130px;
|
||||
overflow-y: auto;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
:deep(.file-list-header) {
|
||||
@@ -839,6 +877,18 @@
|
||||
|
||||
:deep(.ant-empty) {
|
||||
margin: 0;
|
||||
padding: 4px 0;
|
||||
|
||||
.ant-empty-image {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ant-empty-description {
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="900"
|
||||
:width="1300"
|
||||
:visible="visible"
|
||||
:okButtonProps="{ class: { 'jee-hidden': true } }"
|
||||
@cancel="handleCancel"
|
||||
@@ -20,7 +20,20 @@
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:bordered="false"
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'attachments'">
|
||||
<SUploadFile
|
||||
v-if="record.id"
|
||||
class="feedback-view-attachment-list"
|
||||
:bussiness-id="record.id"
|
||||
:disabled="true"
|
||||
:multiple="true"
|
||||
/>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -29,6 +42,7 @@
|
||||
import { BasicTable } from '/@/components/Table';
|
||||
import type { BasicColumn } from '/@/components/Table';
|
||||
import JModal from '/@/components/Modal/src/JModal/JModal.vue';
|
||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
||||
import { bgXiSpeakFeedbackList } from '../BgXiSpeak.api';
|
||||
|
||||
const visible = ref(false);
|
||||
@@ -67,6 +81,33 @@
|
||||
align: 'center',
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '检查情况(纪检)',
|
||||
dataIndex: 'checkStatus',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
},
|
||||
{
|
||||
title: '监督意见(纪检)',
|
||||
dataIndex: 'inspectionAdvice',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
width: 140,
|
||||
},
|
||||
{
|
||||
title: '措施数量(纪检)',
|
||||
dataIndex: 'measureNum',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '附件',
|
||||
dataIndex: 'id',
|
||||
key: 'attachments',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
},
|
||||
];
|
||||
|
||||
const title = computed(() => {
|
||||
@@ -98,3 +139,41 @@
|
||||
|
||||
defineExpose({ open });
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.feedback-view-attachment-list {
|
||||
min-width: 240px;
|
||||
|
||||
:deep(.file-list-wrapper) {
|
||||
min-height: 40px;
|
||||
max-height: 120px;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
:deep(.file-list-header) {
|
||||
margin-bottom: 6px;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
|
||||
:deep(.file-list .file-item) {
|
||||
padding: 8px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
:deep(.ant-empty) {
|
||||
margin: 0;
|
||||
padding: 4px 0;
|
||||
|
||||
.ant-empty-image {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ant-empty-description {
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,16 +2,20 @@
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<JFormContainer :disabled="disabled">
|
||||
<template #detail>
|
||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol" name="BgXiSpeakForm">
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<a-form ref="formRef" class="antd-modal-form" labelAlign="left" :labelCol="labelCol" :wrapperCol="wrapperCol" name="BgXiSpeakForm">
|
||||
<!-- 基本信息 -->
|
||||
<a-divider orientation="left" plain>基本信息</a-divider>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="24">
|
||||
<a-form-item
|
||||
label="习近平总书记重要讲话指示批示情况"
|
||||
label="重要讲话指示批示"
|
||||
v-bind="validateInfos.speakStatus"
|
||||
id="BgXiSpeakForm-speakStatus"
|
||||
name="speakStatus"
|
||||
:labelCol="{ xs: { span: 24 }, sm: { span: 3 } }"
|
||||
:wrapperCol="{ xs: { span: 24 }, sm: { span: 21 } }"
|
||||
>
|
||||
<a-textarea v-model:value="formData.speakStatus" :rows="4" placeholder="请输入习近平总书记重要讲话指示批示情况" allow-clear />
|
||||
<a-textarea v-model:value="formData.speakStatus" :rows="3" placeholder="请输入习近平总书记重要讲话指示批示情况" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
@@ -25,7 +29,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="学习传达研究部署情况" v-bind="validateInfos.status" id="BgXiSpeakForm-status" name="status">
|
||||
<a-form-item label="学习传达研究部署" v-bind="validateInfos.status" id="BgXiSpeakForm-status" name="status">
|
||||
<a-input v-model:value="formData.status" placeholder="请输入学习传达研究部署情况" allow-clear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -39,11 +43,6 @@
|
||||
<j-select-user v-model:value="formData.responsiblePerson" placeholder="请从所党委选择责任人" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="落实方案" v-bind="validateInfos.implPlan" id="BgXiSpeakForm-implPlan" name="implPlan">-->
|
||||
<!-- <a-input v-model:value="formData.implPlan" placeholder="请输入落实方案" allow-clear></a-input>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="牵头部门" v-bind="validateInfos.implDept" id="BgXiSpeakForm-implDept" name="implDept">
|
||||
<j-select-dept v-model:value="formData.implDept" :multiple="true" placeholder="请选择牵头部门" checkStrictly allow-clear />
|
||||
@@ -55,22 +54,12 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item
|
||||
label="会议决策数"
|
||||
v-bind="validateInfos.numberOfResolutions"
|
||||
id="BgXiSpeakForm-numberOfResolutions"
|
||||
name="numberOfResolutions"
|
||||
>
|
||||
<a-form-item label="会议决策数" v-bind="validateInfos.numberOfResolutions" id="BgXiSpeakForm-numberOfResolutions" name="numberOfResolutions">
|
||||
<a-input-number v-model:value="formData.numberOfResolutions" placeholder="请输入会议决策数" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item
|
||||
label="是否需要所党委督办领导"
|
||||
v-bind="validateInfos.needSdwApproval"
|
||||
id="BgXiSpeakForm-needSdwApproval"
|
||||
name="needSdwApproval"
|
||||
>
|
||||
<a-form-item label="是否需要督办领导" v-bind="validateInfos.needSdwApproval" id="BgXiSpeakForm-needSdwApproval" name="needSdwApproval">
|
||||
<a-radio-group v-model:value="formData.needSdwApproval">
|
||||
<a-radio :value="1">是</a-radio>
|
||||
<a-radio :value="0">否</a-radio>
|
||||
@@ -78,100 +67,50 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col v-if="formData.needSdwApproval === 1" :span="12">
|
||||
<a-form-item label="所党委督办领导列表" v-bind="validateInfos.sdwLeaderList" id="BgXiSpeakForm-sdwLeaderList" name="sdwLeaderList">
|
||||
<a-form-item label="督办领导列表" v-bind="validateInfos.sdwLeaderList" id="BgXiSpeakForm-sdwLeaderList" name="sdwLeaderList">
|
||||
<j-select-user v-model:value="formData.sdwLeaderList" :multiple="true" allow-clear placeholder="请选择督办领导" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<!-- 状态与统计 -->
|
||||
<a-divider orientation="left" plain>状态与统计</a-divider>
|
||||
<a-row :gutter="[16, 0]">
|
||||
<a-col :span="12">
|
||||
<a-form-item label="指定落实措施条数" v-bind="validateInfos.implCount" id="BgXiSpeakForm-implCount" name="implCount">
|
||||
<a-input-number
|
||||
v-model:value="formData.implCount"
|
||||
placeholder="指定落实措施条数无需输入,每增加一条反馈数量加1"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<a-input-number v-model:value="formData.implCount" placeholder="每增加一条反馈数量加1" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="措施已闭环数量" v-bind="validateInfos.closedCount" id="BgXiSpeakForm-closedCount" name="closedCount">
|
||||
<a-input-number v-model:value="formData.closedCount" placeholder="措施已闭环数量无需输入,每一个牵头部门完成反馈全流程,增加相应反馈数量" style="width: 100%" />
|
||||
<a-input-number v-model:value="formData.closedCount" placeholder="完成反馈全流程后增加" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="落实情况" v-bind="validateInfos.implStatus" id="BgXiSpeakForm-implStatus" name="implStatus">-->
|
||||
<!-- <a-textarea v-model:value="formData.implStatus" :rows="4" placeholder="请输入" allow-clear />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item
|
||||
label="报告反馈情况"
|
||||
v-bind="validateInfos.reportFeedbackStatus"
|
||||
id="BgXiSpeakForm-reportFeedbackStatus"
|
||||
name="reportFeedbackStatus"
|
||||
>
|
||||
<a-form-item label="报告反馈情况" v-bind="validateInfos.reportFeedbackStatus" id="BgXiSpeakForm-reportFeedbackStatus" name="reportFeedbackStatus">
|
||||
<a-input v-model:value="formData.reportFeedbackStatus" placeholder="请输入" allow-clear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="是否存在完成风险" id="BgXiSpeakForm-isCompletionRisk" name="isCompletionRisk">-->
|
||||
<!-- <a-radio-group v-model:value="formData.isCompletionRisk">-->
|
||||
<!-- <a-radio :value="0">不存在</a-radio>-->
|
||||
<!-- <a-radio :value="1">存在</a-radio>-->
|
||||
<!-- </a-radio-group>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="完成状态" v-bind="validateInfos.completionStatus" id="BgXiSpeakForm-completionStatus" name="completionStatus">
|
||||
<JDictSelectTag v-model:value="formData.completionStatus" dictCode="db_status" placeholder="请选择完成状态" type="radio" />
|
||||
<JDictSelectTag v-model:value="formData.completionStatus" dictCode="db_status" placeholder="请选择完成状态" type="radio" :stringToNumber="true" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="截止日期" v-bind="validateInfos.deadline" id="BgXiSpeakForm-deadline" name="deadline">
|
||||
<a-date-picker
|
||||
placeholder="请选择截止日期"
|
||||
v-model:value="formData.deadline"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
:show-time="true"
|
||||
style="width: 100%"
|
||||
allow-clear
|
||||
/>
|
||||
<a-date-picker placeholder="请选择截止日期" v-model:value="formData.deadline" value-format="YYYY-MM-DD" style="width: 100%" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item-->
|
||||
<!-- label="拖期风险应对措施"-->
|
||||
<!-- v-bind="validateInfos.delayRiskMitigation"-->
|
||||
<!-- id="BgXiSpeakForm-delayRiskMitigation"-->
|
||||
<!-- name="delayRiskMitigation"-->
|
||||
<!-- >-->
|
||||
<!-- <a-input v-model:value="formData.delayRiskMitigation" placeholder="请输入" allow-clear></a-input>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="督办次数" v-bind="validateInfos.supervisionCount" id="BgXiSpeakForm-supervisionCount" name="supervisionCount">
|
||||
<a-input-number
|
||||
v-model:value="formData.supervisionCount"
|
||||
placeholder="督办次数无需输入,每次发起督办流程自动加1"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<a-input-number v-model:value="formData.supervisionCount" placeholder="每次发起督办流程自动加1" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <a-form-item label="父级节点" v-bind="validateInfos.pid" id="BgXiSpeakForm-pid" name="pid">-->
|
||||
<!-- <j-tree-select-->
|
||||
<!-- v-model:value="formData.pid"-->
|
||||
<!-- dict="bg_xi_speak,impl_status,id"-->
|
||||
<!-- pidField="pid"-->
|
||||
<!-- pidValue="0"-->
|
||||
<!-- hasChildField="has_child"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!-- />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col v-if="showFlowSubmitButton" :span="24" style="width: 100%; text-align: center">
|
||||
</a-row>
|
||||
|
||||
<a-col v-if="showFlowSubmitButton" :span="24" style="width: 100%; text-align: center; margin-top: 16px;">
|
||||
<a-button preIcon="ant-design:check-outlined" style="width: 126px" type="primary" @click="submitForm">提 交</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</template>
|
||||
</JFormContainer>
|
||||
@@ -231,8 +170,8 @@
|
||||
});
|
||||
|
||||
const { createMessage } = useMessage();
|
||||
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });
|
||||
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } });
|
||||
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 6 } });
|
||||
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 18 } });
|
||||
const confirmLoading = ref<boolean>(false);
|
||||
|
||||
const validatorRules = reactive({
|
||||
@@ -286,7 +225,8 @@
|
||||
return false;
|
||||
});
|
||||
|
||||
function add(obj = {}) {
|
||||
async function add(obj = {}) {
|
||||
treeData.value = await loadTreeData({ async: false, pcode: '' });
|
||||
edit(obj);
|
||||
}
|
||||
|
||||
@@ -294,12 +234,22 @@
|
||||
nextTick(async () => {
|
||||
resetFields();
|
||||
expandedRowKeys.value = [];
|
||||
treeData.value = await loadTreeData({ async: false, pcode: '' });
|
||||
|
||||
// 非BPM模式且有ID时,从API查询完整数据,避免列表行数据不完整导致字段不显示
|
||||
let data = record;
|
||||
if (record.id && !props.formBpm) {
|
||||
try {
|
||||
const res = await defHttp.get({ url: queryByIdUrl, params: { id: record.id } });
|
||||
data = res || record;
|
||||
} catch {
|
||||
data = record;
|
||||
}
|
||||
}
|
||||
|
||||
const tmpData = {};
|
||||
Object.keys(formData).forEach((key) => {
|
||||
if (record.hasOwnProperty(key)) {
|
||||
tmpData[key] = record[key] === null ? (key === 'needSdwApproval' ? 0 : '') : record[key];
|
||||
if (data.hasOwnProperty(key)) {
|
||||
tmpData[key] = data[key] === null ? (key === 'needSdwApproval' ? 0 : '') : data[key];
|
||||
}
|
||||
});
|
||||
|
||||
@@ -376,5 +326,17 @@
|
||||
<style lang="less" scoped>
|
||||
.antd-modal-form {
|
||||
padding: 14px;
|
||||
|
||||
:deep(.ant-form-item-label) {
|
||||
overflow: visible;
|
||||
white-space: normal;
|
||||
text-overflow: unset;
|
||||
text-align: left;
|
||||
|
||||
> label {
|
||||
justify-content: flex-start;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
const { createMessage } = useMessage();
|
||||
|
||||
const title = ref<string>('');
|
||||
const width = ref<number>(800);
|
||||
const width = ref<number>(1400);
|
||||
const visible = ref<boolean>(false);
|
||||
const disableSubmit = ref<boolean>(false);
|
||||
const registerForm = ref();
|
||||
|
||||
Reference in New Issue
Block a user