Forráskód Böngészése

智慧党建管理系统:
1、后台管理系统-组织关系变更前端研发完成100%
2、后台管理系统-情况说明管理前端研发完成100%
3、后台管理系统-党员发展管理前端研发完成95%
4、后台管理系统-正式党员管理前端研发完成90%
5、【High】党员信息新增录入信息功能前端研发完成100%
6、【High】党员信息完善更新功能前端研发完成100%
7、党员信息展示功能前端研发完成60%

Rockery 3 éve
szülő
commit
8e9e9112f2

+ 13 - 5
src/api/PartyBuildingMgr/SituationDesc.js

@@ -6,7 +6,7 @@ export function listSituationDesc(query) {
     url: '/town/partymemberconditionlog/list',
     method: 'get',
     params: query
-  })
+  });
 }
 
 // 查询详细
@@ -14,7 +14,7 @@ export function viewSituationDesc(id) {
   return request({
     url: '/town/partymemberconditionlog/' + id,
     method: 'get'
-  })
+  });
 }
 
 // 新增
@@ -23,7 +23,7 @@ export function addSituationDesc(data) {
     url: '/town/partymemberconditionlog',
     method: 'post',
     data: data
-  })
+  });
 }
 
 // 修改
@@ -32,7 +32,7 @@ export function updateSituationDesc(data) {
     url: '/town/partymemberconditionlog',
     method: 'put',
     data: data
-  })
+  });
 }
 
 // 删除
@@ -40,5 +40,13 @@ export function delSituationDesc(id) {
   return request({
     url: '/town/partymemberconditionlog/' + id,
     method: 'delete'
-  })
+  });
+}
+
+// 情况说明人选项列表
+export function getFactSheetOptionList() {
+  return request({
+    url: '/town/partymember/nameList',
+    method: 'get'
+  });
 }

+ 8 - 0
src/api/home.js

@@ -16,3 +16,11 @@ export function getUrgencyListHome(query) {
     params: query
   });
 }
+
+// 待处理通知
+export function getWaitHandleList() {
+  return request({
+    url: '/town/partymember/waitHandleList',
+    method: 'get'
+  });
+}

BIN
src/assets/images/home-main-list-card-img.png


BIN
src/assets/images/tentative-img.png


+ 17 - 11
src/components/BottomRightNotification/index.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2021-12-14 11:50:13
  * @LastEditors: Rockery
- * @LastEditTime: 2021-12-14 17:54:55
+ * @LastEditTime: 2022-01-20 09:25:40
  * @FilePath: \party_construct_web\src\components\BottomRightNotification\index.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->
@@ -15,6 +15,8 @@
 </template>
 
 <script>
+import { getWaitHandleList } from "@/api/home";
+
 export default {
   name: 'Bottomrightnotification',
   data() {
@@ -28,12 +30,7 @@ export default {
   },
   mounted() {
     this.intervalTimer = setInterval(() => {
-      this.openMessageTips(
-        {
-          messageId: '999999',
-          content: '您当前有 3 条数据将超出处理时间,请尽快安排处理'
-        }
-      );
+      this.getWaitHandleListData();
     }, 120000);
   },
   destroyed() {
@@ -42,10 +39,19 @@ export default {
   methods: {
     /** 初始化数据 */
     initData() {
-      this.openMessageTips(
-        {
-          messageId: '999999',
-          content: '您当前有 3 条数据将超出处理时间,请尽快安排处理'
+      this.getWaitHandleListData();
+    },
+    getWaitHandleListData() {
+      getWaitHandleList().then(
+        resp => {
+          if (resp.code === 200) {
+            this.openMessageTips(
+              {
+                messageId: `ROCBRNOTIFY-${new Date().getTime()}`,
+                content: `您当前有 ${resp.data} 条数据将超出处理时间,请尽快安排处理`
+              }
+            );
+          }
         }
       );
     },

+ 574 - 2
src/components/PartyMemberDetails/JsonData/EleObjArr.js

@@ -77,7 +77,7 @@ module.exports = [
       }
     ]
   },
-  /** 一、申请入党 */
+  /** 二、入党积极分子的确定和考察 */
   {
     tabPaneLabel: '二、入党积极分子的确定和考察',
     tabPaneName: 'POSITIVE',
@@ -220,7 +220,7 @@ module.exports = [
         elcolKey: 'SEVENTH',
         elcolStyle: 'margin-top: 46px;',
         stepItemRightTitle: '入党积极分子思想汇报与参加短期集中培训的结业证书',
-        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemTailStyle: '',
         stepItemRightList: [
           {
             stepItemColSpan: 12,
@@ -246,5 +246,577 @@ module.exports = [
         ]
       }
     ]
+  },
+  /** 三、发展对象的确定和考察 */
+  {
+    tabPaneLabel: '三、发展对象的确定和考察',
+    tabPaneName: 'DEVELOP',
+    tabPaneHeadLeftTitle: '三',
+    tabPaneHeadRight: '发展对象的确定和考察',
+    tabpaneStepList: [
+      // 8 讨论确定发展对象前听取意见记录
+      {
+        stepItemLeft: 8,
+        elcolKey: 'eighth',
+        elcolStyle: '',
+        stepItemRightTitle: '讨论确定发展对象前听取意见记录',
+        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '听取意见时间:',
+            stepItemColProp: 'listenToTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '听取意见记录:',
+            stepItemColProp: 'listenToFile',
+            stepItemColPdfFileName: '党建管理-详情-8-听取意见记录'
+          }
+        ]
+      },
+      // 9 确定为发展对象的支委会会议记录
+      {
+        stepItemLeft: 9,
+        elcolKey: 'ninth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '确定为发展对象的支委会会议记录',
+        stepItemTailStyle: 'height: 104px; margin-top: -56px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 24,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支委会会议结果:',
+            stepItemColProp: 'branchPartyMeetingResult1',
+            stepItemColPropType: 'RADIORESULT'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支委会会议时间:',
+            stepItemColProp: 'branchPartyMeetingTime1',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '支委会会议记录:',
+            stepItemColProp: 'branchPartyMeetingFile1',
+            stepItemColPdfFileName: '党建管理-详情-9-支委会会议记录'
+          }
+        ]
+      },
+      // 10 确定为发展对象相关公示材料及备案请示、报告、批复
+      {
+        stepItemLeft: 10,
+        elcolKey: 'tenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '确定为发展对象相关公示材料及备案请示、报告、批复',
+        stepItemTailStyle: 'height: 180px; margin-top: -132px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '公示时间:',
+            stepItemColProp: 'publicTimeRange',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '公示材料:',
+            stepItemColProp: 'publicMaterialsFile',
+            stepItemColPdfFileName: '党建管理-详情-10-公示材料'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '备案请示时间:',
+            stepItemColProp: 'recordsRequestTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '备案请示:',
+            stepItemColProp: 'recordsRequestFile',
+            stepItemColPdfFileName: '党建管理-详情-10-备案请示材料'
+          },
+          {
+            stepItemColSpan: 24,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '备案批复结果:',
+            stepItemColProp: 'recordsReplyResult',
+            stepItemColPropType: 'RADIORESULT'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '备案批复时间:',
+            stepItemColProp: 'recordsReplyTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '备案批复:',
+            stepItemColProp: 'recordsReplyFile',
+            stepItemColPdfFileName: '党建管理-详情-10-备案批复材料'
+          }
+        ]
+      },
+      // 11 综合性政审报告和相关材料
+      {
+        stepItemLeft: 11,
+        elcolKey: 'eleventh',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '综合性政审报告和相关材料',
+        stepItemTailStyle: 'height: 104px; margin-top: -56px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '综合性政审时间:',
+            stepItemColProp: 'syntheticalPoliticalTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '综合性政审报告:',
+            stepItemColProp: 'syntheticalPoliticalReportFile',
+            stepItemColPdfFileName: '党建管理-详情-11-综合性政审报告'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '政审人:',
+            stepItemColProp: 'politicalChecker',
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '相关材料:',
+            stepItemColProp: 'politicalCheckFile',
+            stepItemColPdfFileName: '党建管理-详情-11-政审相关材料'
+          }
+        ]
+      },
+      // 12 发展对象参加短期集中培训的结业证书
+      {
+        stepItemLeft: 12,
+        elcolKey: 'twelfth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '发展对象参加短期集中培训的结业证书',
+        stepItemTailStyle: 'height: 110px; margin-top: -64x;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '结业时间:',
+            stepItemColProp: 'courseCompletionTime1',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '结业证书:',
+            stepItemColProp: 'courseCompletionFile1',
+            stepItemColPdfFileName: '党建管理-详情-12-结业证书'
+          }
+        ]
+      },
+    ]
+  },
+  /** 四、发展党员的预审 */
+  {
+    tabPaneLabel: '四、发展党员的预审',
+    tabPaneName: 'PRETRIAL',
+    tabPaneHeadLeftTitle: '四',
+    tabPaneHeadRight: '发展党员的预审',
+    tabpaneStepList: [
+      // 13 支委会拟接收预备党员审查会议记录和上报的预审请示
+      {
+        stepItemLeft: 13,
+        elcolKey: 'thirteenth',
+        elcolStyle: '',
+        stepItemRightTitle: '支委会拟接收预备党员审查会议记录和上报的预审请示',
+        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 24,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '审查结果:',
+            stepItemColProp: 'checkResult',
+            stepItemColPropType: 'RADIORESULT'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '审查会议时间:',
+            stepItemColProp: 'checkMeetingTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '审查会议记录:',
+            stepItemColProp: 'checkMeetingFile',
+            stepItemColPdfFileName: '党建管理-详情-13-审查会议记录'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '上报预审请示时间:',
+            stepItemColProp: 'reportRequestTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '预审请示:',
+            stepItemColProp: 'reportRequestFile',
+            stepItemColPdfFileName: '党建管理-详情-13-预审请示材料'
+          }
+        ]
+      },
+      // 14 基层党委预审会议记录及预审批复
+      {
+        stepItemLeft: 14,
+        elcolKey: 'fourteenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '基层党委预审会议记录及预审批复',
+        stepItemTailStyle: 'height: 218px; margin-top: -170px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 24,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '预审批复结果:',
+            stepItemColProp: 'readyCheckReplyResult',
+            stepItemColPropType: 'RADIORESULT'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '基层党委预审会议时间:',
+            stepItemColProp: 'basicReadyCheckMeetingTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '基层党委预审会议记录:',
+            stepItemColProp: 'basicReadyCheckMeetingFile',
+            stepItemColPdfFileName: '党建管理-详情-14-基层党委预审会议记录'
+          }
+        ]
+      },
+      // 15 发展党员工作有关工作部门征求意见情况
+      {
+        stepItemLeft: 15,
+        elcolKey: 'fifteenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '发展党员工作有关工作部门征求意见情况',
+        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '征求意见时间:',
+            stepItemColProp: 'consultationTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '征求意见情况的材料:',
+            stepItemColProp: 'consultationConditionFile',
+            stepItemColPdfFileName: '党建管理-详情-15-征求意见情况的材料'
+          }
+        ]
+      },
+      // 16 《中国共产党入党志愿书》
+      {
+        stepItemLeft: 16,
+        elcolKey: 'sixteenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '《中国共产党入党志愿书》',
+        stepItemTailStyle: '',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '递交志愿书时间:',
+            stepItemColProp: 'submitVolunteerBookTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '《中国共产党入党志愿书》:',
+            stepItemColProp: 'submitVolunteerBookFile',
+            stepItemColPdfFileName: '党建管理-详情-16-《中国共产党入党志愿书》'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支委会接收预备党员的时间:',
+            stepItemColProp: 'branchPartyAcceptReadyMemberTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '关于预备党员基层党委审批意见的时间:',
+            stepItemColProp: 'aboutReadyMemberCheckIdeaTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '预备期:',
+            stepItemColProp: 'readyDeadlineRange',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支委会转正的时间:',
+            stepItemColProp: 'branchPartyConfirmTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '转正基层党委审批意见的时间:',
+            stepItemColProp: 'confirmBasicPartyCheckIdeaTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '是否延期转为正式党员:',
+            stepItemColProp: 'isPostponeConfirmMember',
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '延期转正基层党委审批意见的时间:',
+            stepItemColProp: 'postponeConfirmMemberParthCheckIdeaTime',
+            stepItemColPropType: 'DATEPICKER'
+          }
+        ]
+      }
+    ]
+  },
+  /** 五、预备党员的接收 */
+  {
+    tabPaneLabel: '五、预备党员的接收',
+    tabPaneName: 'TAKEOVER',
+    tabPaneHeadLeftTitle: '五',
+    tabPaneHeadRight: '预备党员的接收',
+    tabpaneStepList: [
+      // 17 支部大会接收为中共预备党员的会议记录和票决结果
+      {
+        stepItemLeft: 17,
+        elcolKey: 'seventeenth',
+        elcolStyle: '',
+        stepItemRightTitle: '支部大会接收为中共预备党员的会议记录和票决结果',
+        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支部大会的会议时间:',
+            stepItemColProp: 'branchPartyBigMeetingTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '支部大会的会议记录:',
+            stepItemColProp: 'branchPartyBigMeetingRecordFile',
+            stepItemColPdfFileName: '党建管理-详情-17-支部大会的会议记录'
+          }
+        ]
+      },
+      // 18 接收为中共预备党员审批请示
+      {
+        stepItemLeft: 18,
+        elcolKey: 'eighteenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '接收为中共预备党员审批请示',
+        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '审批请示时间:',
+            stepItemColProp: 'checkRequestTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '审批请示材料:',
+            stepItemColProp: 'checkRequestFile',
+            stepItemColPdfFileName: '党建管理-详情-18-审批请示材料'
+          }
+        ]
+      },
+      // 19 基层党委审批会议记录、会议纪要和批复
+      {
+        stepItemLeft: 19,
+        elcolKey: 'nineteenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '基层党委审批会议记录、会议纪要和批复',
+        stepItemTailStyle: 'height: 64px; margin-top: -18px;',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 24,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '批复结果:',
+            stepItemColProp: 'replyResult1',
+            stepItemColPropType: 'RADIORESULT'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '基层党委审批会议时间:',
+            stepItemColProp: 'basicPartyCheckMeetingTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '基层党委审批会议记录、会议纪要:',
+            stepItemColProp: 'basicPartyCheckMeetingRecordFile',
+            stepItemColPdfFileName: '党建管理-详情-19-基层党委审批会议记录、会议纪要'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '批复时间:',
+            stepItemColProp: 'replyTime1',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '批复材料:',
+            stepItemColProp: 'replyMaterialsFile1',
+            stepItemColPdfFileName: '党建管理-详情-19-批复材料'
+          }
+        ]
+      },
+      // 20 向上级党委组织部门的备案报告和批复
+      {
+        stepItemLeft: 16,
+        elcolKey: 'sixteenth',
+        elcolStyle: 'margin-top: 46px;',
+        stepItemRightTitle: '《中国共产党入党志愿书》',
+        stepItemTailStyle: '',
+        stepItemRightList: [
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '递交志愿书时间:',
+            stepItemColProp: 'submitVolunteerBookTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColType: 'VIEWPDFFILE',
+            stepItemColLable: '《中国共产党入党志愿书》:',
+            stepItemColProp: 'submitVolunteerBookFile',
+            stepItemColPdfFileName: '党建管理-详情-16-《中国共产党入党志愿书》'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支委会接收预备党员的时间:',
+            stepItemColProp: 'branchPartyAcceptReadyMemberTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '关于预备党员基层党委审批意见的时间:',
+            stepItemColProp: 'aboutReadyMemberCheckIdeaTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '预备期:',
+            stepItemColProp: 'readyDeadlineRange',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '支委会转正的时间:',
+            stepItemColProp: 'branchPartyConfirmTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '转正基层党委审批意见的时间:',
+            stepItemColProp: 'confirmBasicPartyCheckIdeaTime',
+            stepItemColPropType: 'DATEPICKER'
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '是否延期转为正式党员:',
+            stepItemColProp: 'isPostponeConfirmMember',
+          },
+          {
+            stepItemColSpan: 12,
+            stepItemColStyle: 'margin-top: 16px;',
+            stepItemColType: 'CONTENT',
+            stepItemColLable: '延期转正基层党委审批意见的时间:',
+            stepItemColProp: 'postponeConfirmMemberParthCheckIdeaTime',
+            stepItemColPropType: 'DATEPICKER'
+          }
+        ]
+      }
+    ]
   }
 ];

+ 35 - 12
src/components/PartyMemberDetails/index.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2022-01-04 10:37:17
  * @LastEditors: Rockery
- * @LastEditTime: 2022-01-19 18:14:20
+ * @LastEditTime: 2022-01-20 17:15:02
  * @FilePath: \party_construct_web\src\components\PartyMemberDetails\index.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->
@@ -37,7 +37,7 @@
               <div class="partymemberdetails-head-basic">
                 <div class="partymemberdetails-head-basic-personphoto">
                   <img
-                    :src="viewFullPartyInfoObj.personPhoto ? viewFullPartyInfoObj.personPhoto : require('@/assets/images/home-main-list-card-img.png')"
+                    :src="viewFullPartyInfoObj.personPhoto ? (viewPdfFileUrlPrefix + viewFullPartyInfoObj.personPhoto) : require('@/assets/images/tentative-img.png')"
                     @error="imgViewerOnerror"
                   />
                 </div>
@@ -222,7 +222,10 @@
                                 <div class="step-item-left">{{ tabpaneStepItem.stepItemLeft }}</div>
                                 <div class="step-item-right">
                                   <el-row>
-                                    <el-col :span="24">
+                                    <el-col
+                                      :span="24"
+                                      :style="([7, 12].includes(tabpaneStepItem.stepItemLeft)) ? 'margin-bottom: 46px;' : ''"
+                                    >
                                       <!-- 小类节点标题 -->
                                       <div
                                         class="step-item-right-title"
@@ -283,7 +286,7 @@
                                                   >下载</div>
                                                 </div>
                                               </template>
-                                              <template>
+                                              <template v-else>
                                                 <div class="step-item-right-container_viewpdffile">
                                                   <div
                                                     class="viewpdffile-label"
@@ -302,7 +305,7 @@
                                                   v-for="(thoughtRecordItem, thoughtRecordIndex) in viewFullPartyInfoObj[stepItemRightItem.stepItemColProp]"
                                                   :key="stepItemRightItem.stepItemColProp + '-' + (thoughtRecordIndex + 1)"
                                                   :span="24"
-                                                  style="margin-top: 16px; margin-bottom: 46px;"
+                                                  style="margin-top: 16px;"
                                                 >
                                                   <el-row :gutter="20">
                                                     <el-col :span="12">
@@ -328,7 +331,7 @@
                                                           >下载</div>
                                                         </div>
                                                       </template>
-                                                      <template>
+                                                      <template v-else>
                                                         <div
                                                           class="step-item-right-container_viewpdffile"
                                                         >
@@ -361,10 +364,18 @@
 
                             <!-- 节点链接线 -->
                             <el-col :span="24">
-                              <div
-                                class="roc-tabpane-step-tail"
-                                :style="tabpaneStepItem.stepItemTailStyle ? tabpaneStepItem.stepItemTailStyle : ''"
-                              ></div>
+                              <template v-if="tabpaneStepItem.stepItemLeft === 7">
+                                <div
+                                  class="roc-tabpane-step-tail"
+                                  :style="{height: (84 + viewFullPartyInfoObj.thoughtReportRecord.length * 38) + 'px', marginTop: '-' + (64 + viewFullPartyInfoObj.thoughtReportRecord.length * 38) + 'px'}"
+                                ></div>
+                              </template>
+                              <template v-else>
+                                <div
+                                  class="roc-tabpane-step-tail"
+                                  :style="tabpaneStepItem.stepItemTailStyle ? tabpaneStepItem.stepItemTailStyle : ''"
+                                ></div>
+                              </template>
                             </el-col>
                           </el-row>
                         </el-col>
@@ -423,7 +434,7 @@ export default {
       educationOptions: [],
       tabsModel: 'APPLY',
       viewFullPartyInfoObj: {
-        thoughtReportRecordList: []
+        thoughtReportRecord: []
       },
       viewPdfFileObj: {},
       pdfDialogVisible: false,
@@ -431,6 +442,7 @@ export default {
       tabsEleObjList: [...EleObjArr],
       nodeDataObj: { ...NodeDataObj },
       atStageNodeDataObj: { ...AtStageNodeDataObj },
+      viewPdfFileUrlPrefix: `${window.origin}${process.env.VUE_APP_FILE_VIEW_API}`
     };
   },
   watch: {
@@ -491,7 +503,7 @@ export default {
         // 分离数据
         const { partyMember, flowPointPo, ...otherViewResp } = viewResp.data || {};
         const { place, address, ...otherPartyMember } = partyMember || {};
-        const { publicTime, readyDeadline, readyDeadline1, publicTime1, ...otherFlowPointPo } = flowPointPo || {};
+        const { thoughtReportRecord, publicTime, readyDeadline, readyDeadline1, publicTime1, ...otherFlowPointPo } = flowPointPo || {};
 
         // 籍贯数据
         if (place) {
@@ -507,6 +519,17 @@ export default {
           }
         }
 
+        // 第7步 思想汇报数据
+        tempFormModel.thoughtReportRecord = [
+          {
+            submitTime: null,
+            filePath: null
+          }
+        ];
+        if (thoughtReportRecord && thoughtReportRecord?.length > 0) {
+          tempFormModel.thoughtReportRecord = [...thoughtReportRecord];
+        }
+
         // 第10步 公示时间数据
         if (publicTime) {
           let publicTimeArr = publicTime.split('~') || [];

+ 1 - 1
src/components/UpdatePartyDevelop/index.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2021-12-15 17:54:05
  * @LastEditors: Rockery
- * @LastEditTime: 2022-01-19 17:12:39
+ * @LastEditTime: 2022-01-20 16:38:33
  * @FilePath: \party_construct_web\src\components\UpdatePartyDevelop\index.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->

+ 2 - 2
src/views/PartyBuildingMgr/FullPartyMember/FullPartyMemberIndex.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2021-12-10 10:39:07
  * @LastEditors: Rockery
- * @LastEditTime: 2022-01-18 16:28:42
+ * @LastEditTime: 2022-01-20 10:15:45
  * @FilePath: \party_construct_web\src\views\PartyBuildingMgr\FullPartyMember\FullPartyMemberIndex.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->
@@ -123,7 +123,7 @@
                       >
                         <div class="list-cell-img">
                           <img
-                            :src="item.personPhoto ? (viewPdfFileUrlPrefix + item.personPhoto) : require('@/assets/images/empty_img.png')"
+                            :src="item.personPhoto ? (viewPdfFileUrlPrefix + item.personPhoto) : require('@/assets/images/tentative-img.png')"
                             @error="imgViewerOnerror"
                           />
                           <div class="list-cell-shield">

+ 6 - 3
src/views/PartyBuildingMgr/OrgRelationship/OrgRelationshipIndex.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2021-12-10 10:45:41
  * @LastEditors: Rockery
- * @LastEditTime: 2022-01-18 16:33:57
+ * @LastEditTime: 2022-01-20 09:34:06
  * @FilePath: \party_construct_web\src\views\PartyBuildingMgr\OrgRelationship\OrgRelationshipIndex.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->
@@ -232,7 +232,7 @@
                     <div slot="label" class="roc-form-item-label">相关材料:</div>
                     <div class="orgrelationship-viewpage-form-desc">
                       <div @click="handleViewPageCheckClick(viewPageFormObj.formModel)">查看</div>
-                      <div @click="handleViewPageDownloadClick(viewPageFormObj.formModel)">下载</div>
+                      <div @click="handleViewPageDownloadClick(viewPageFormObj.formModel.relatedFile, '党建管理-组织关系变更-详情-相关材料')">下载</div>
                     </div>
                   </el-form-item>
                 </el-col>
@@ -384,6 +384,7 @@ import {
   addOrgRelationship,
   viewOrgRelationship,
 } from "@/api/PartyBuildingMgr/OrgRelationship";
+import { regularDownloadPdfFile } from "@/utils/rockeryutil";
 
 export default {
   name: "Orgrelationship",
@@ -523,7 +524,9 @@ export default {
     /**
      * 详情页面下载按钮事件
      */
-    handleViewPageDownloadClick() {
+    handleViewPageDownloadClick(pdfFilePath, pdfFileName = 'pdf-file') {
+      if (!pdfFilePath) return;
+      regularDownloadPdfFile(`${window.origin}${process.env.VUE_APP_FILE_VIEW_API}${pdfFilePath}`, pdfFileName);
     },
     /**
      * 详情页面关闭按钮事件

+ 247 - 79
src/views/PartyBuildingMgr/SituationDesc/SituationDescIndex.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2021-12-10 10:45:58
  * @LastEditors: Rockery
- * @LastEditTime: 2022-01-06 10:37:18
+ * @LastEditTime: 2022-01-20 17:41:01
  * @FilePath: \party_construct_web\src\views\PartyBuildingMgr\SituationDesc\SituationDescIndex.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->
@@ -99,15 +99,15 @@
               >
                 <el-table-column
                   label="情况说明人姓名"
-                  prop="name"
+                  prop="conditionPerson"
                   width="180"
                   :show-overflow-tooltip="true"
                 />
-                <el-table-column
-                  label="说明了以下流程节点问题"
-                  prop="conditionPoint"
-                  :show-overflow-tooltip="true"
-                />
+                <el-table-column label="说明了以下流程节点问题" :show-overflow-tooltip="true">
+                  <template slot-scope="scope">
+                    <div>{{ scope.row.conditionPointsText ? ('流程节点问题:' + scope.row.conditionPointsText) : (scope.row.otherDesc? '其他问题:' + scope.row.otherDesc: '') }}</div>
+                  </template>
+                </el-table-column>
                 <el-table-column
                   label="情况说明时间"
                   align="center"
@@ -186,19 +186,20 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="情况说明人:" prop="conditionPerson">
+              <el-form-item label="情况说明人:" prop="conditionPersonOption">
                 <el-select
-                  v-model="addPageFormObj.formModel.conditionPerson"
+                  v-model="addPageFormObj.formModel.conditionPersonOption"
                   clearable
                   filterable
                   style="width: 100%;"
                   placeholder="请选择情况说明人"
+                  @change="handleConditionPersonChange"
                 >
                   <el-option
                     v-for="situationExplainerOption in situationExplainerOptions"
-                    :key="situationExplainerOption.dictValue"
-                    :label="situationExplainerOption.dictLabel"
-                    :value="situationExplainerOption.dictValue"
+                    :key="situationExplainerOption.id + '-' + situationExplainerOption.name"
+                    :label="situationExplainerOption.id + '-' + situationExplainerOption.name"
+                    :value="situationExplainerOption.id + ';' + situationExplainerOption.name"
                   />
                 </el-select>
               </el-form-item>
@@ -214,14 +215,11 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="问题类型:" required class="situationdesc-addpage-form-processnode">
-                <el-radio-group
-                  v-model="addPageFormObj.formModel.conditionPoint"
-                  style="width: 100%;"
-                >
+                <el-radio-group v-model="addPageFormObj.formModel.type" style="width: 100%;">
                   <el-radio label="1">流程节点问题</el-radio>
-                  <el-radio label="0">其他问题</el-radio>
+                  <el-radio label="2">其他问题</el-radio>
                 </el-radio-group>
-                <template v-if="addPageFormObj.formModel.conditionPoint === '0'">
+                <template v-if="addPageFormObj.formModel.type === '2'">
                   <el-input
                     type="textarea"
                     clearable
@@ -229,31 +227,44 @@
                     show-word-limit
                     :autosize="{ minRows: 6}"
                     placeholder="请输入内容"
-                    v-model="addPageFormObj.formModel.remark"
+                    v-model="addPageFormObj.formModel.otherDesc"
                   />
                 </template>
-                <template v-else-if="addPageFormObj.formModel.conditionPoint === '1'">
+                <template v-else-if="addPageFormObj.formModel.type === '1'">
                   <div class="mt5 mb20">
                     <el-button
                       type="rocpartyprimarybtn"
                       @click="handleDetectionProcessProblemClick"
                     >立即检测流程问题</el-button>
                   </div>
-                  <div v-show="isHasDetectProblem">
-                    <el-checkbox-group
-                      v-model="addPageFormObj.formModel.checkList"
-                      style="width: 100%;"
-                    >
-                      <el-checkbox label="《入党积极分子、发展对象培养教育考察登记表》" style="width: 100%;">
-                        <div class="processnode-circle">6</div>
-                        <div class="processnode-label">《入党积极分子、发展对象培养教育考察登记表》</div>
-                      </el-checkbox>
-                      <el-checkbox label="支委会拟接收预备党员审查会议记录和上报的预审请示" style="width: 100%;">
-                        <div class="processnode-circle">13</div>
-                        <div class="processnode-label">支委会拟接收预备党员审查会议记录和上报的预审请示</div>
-                      </el-checkbox>
-                    </el-checkbox-group>
-                  </div>
+                  <template v-if="isHasDetectProblem === 'HASDATA'">
+                    <div>
+                      <el-checkbox-group
+                        v-model="addPageFormObj.formModel.conditionPointList"
+                        style="width: 100%;"
+                        @change="handleConditionPointListChange"
+                      >
+                        <el-checkbox
+                          v-for="(item, index) in processProblemCheckboxOptions"
+                          :key="'PROCESSPROBLEM-' + index"
+                          :label="item.errorId + '|' + item.errorMsg"
+                          style="width: 100%;"
+                        >
+                          <div class="processnode-circle">{{ item.errorId }}</div>
+                          <div class="processnode-label">{{ item.errorMsg }}</div>
+                        </el-checkbox>
+                      </el-checkbox-group>
+                    </div>
+                  </template>
+                  <template v-else-if="isHasDetectProblem === 'NOHASDATA'">
+                    <div style="color: #67c23a; font-size: 16px; font-weight: 400;">无流程问题。</div>
+                  </template>
+                  <template v-else-if="isHasDetectProblem === 'INITDATA'">
+                    <div style="color: #e6a23c; font-size: 16px; font-weight: 400;">待检测流程问题。</div>
+                  </template>
+                  <template v-else>
+                    <div>&nbsp;</div>
+                  </template>
                 </template>
                 <template v-else>
                   <div>&nbsp;</div>
@@ -269,6 +280,7 @@
             @click="handleAddpageCloseClick"
           >取 消</el-button>
           <el-button
+            :disabled="getAddBtnIsDisabled()"
             type="rocpartyprimarybtn"
             icon="el-icon-circle-check"
             @click="handleAddpageSubmitClick"
@@ -313,28 +325,46 @@
               <el-form-item label="情况说明:" prop="conditionFile">
                 <div class="situationdesc-viewpage-form-desc">
                   <div @click="handleViewPageCheckClick">查看</div>
-                  <div @click="handleViewPageDownloadClick">下载</div>
+                  <div
+                    @click="handleViewPageDownloadClick(viewPageFormObj.formModel.conditionFile, '党建管理-情况说明管理-详情-情况说明')"
+                  >下载</div>
                 </div>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item
-                label="说明了以下流程节点问题:"
+                label="问题类型:"
                 prop="sort"
                 class="situationdesc-viewpage-form-processnode"
               >
-                <el-checkbox-group v-model="viewPageFormObj.formModel.conditionPoint">
-                  <el-checkbox label="《入党积极分子、发展对象培养教育考察登记表》" disabled>
-                    <div class="processnode-circle">6</div>
-                    <div class="processnode-label">《入党积极分子、发展对象培养教育考察登记表》</div>
-                  </el-checkbox>
-                  <el-checkbox label="支委会拟接收预备党员审查会议记录和上报的预审请示" disabled>
-                    <div class="processnode-circle">13</div>
-                    <div class="processnode-label">支委会拟接收预备党员审查会议记录和上报的预审请示</div>
-                  </el-checkbox>
-                </el-checkbox-group>
+                <div>{{ viewPageFormObj.formModel.type === 1 ? '流程节点问题' : (viewPageFormObj.formModel.type === 2 ? '其他问题' : '')}}</div>
               </el-form-item>
             </el-col>
+            <template v-if="viewPageFormObj.formModel.type === 1">
+              <el-col :span="24">
+                <el-form-item
+                  label="流程节点问题:"
+                  prop="sort"
+                  class="situationdesc-viewpage-form-processnode"
+                >
+                  <div v-html="viewPageFormObj.formModel.conditionPointsText"></div>
+                </el-form-item>
+              </el-col>
+            </template>
+            <template v-else-if="viewPageFormObj.formModel.type === 2">
+              <el-col :span="24">
+                <el-form-item
+                  label="其他问题:"
+                  prop="sort"
+                  class="situationdesc-viewpage-form-processnode"
+                >
+                  <div>{{ viewPageFormObj.formModel.otherDesc }}</div>
+                </el-form-item>
+              </el-col>
+            </template>
+            <template v-else>
+              <div>&nbsp;</div>
+            </template>
           </el-row>
         </el-form>
         <div class="pagefooter-btngroup">
@@ -362,10 +392,11 @@
 import {
   listSituationDesc,
   viewSituationDesc,
-  addSituationDesc
+  addSituationDesc,
+  getFactSheetOptionList
 } from "@/api/PartyBuildingMgr/SituationDesc";
 import {
-  getFullPartyMemberOptions
+  checkProgressAndCompletion
 } from "@/api/PartyBuildingMgr/FullPartyMember";
 import { regularDownloadPdfFile } from "@/utils/rockeryutil";
 
@@ -384,31 +415,39 @@ export default {
       situationExplainerOptions: [],
       total: 10,
       queryParams: {
-        pageNum: 0,
-        pageSize: 10
+        pageNum: 1,
+        pageSize: 10,
+        beginTime: undefined,
+        endTime: undefined,
+        name: undefined
       },
-      list: [
-        {
-          name: '张三'
-        },
-        {
-          name: '李四'
-        }
-      ],
+      list: [],
       /** 新增或编辑弹框 */
       addPageFormObj: {
         formModel: {
-          checkList: []
+          conditionTime: undefined,
+          conditionPersonOption: undefined,
+          conditionPointsText: undefined,
+          memberId: undefined,
+          conditionPerson: undefined,
+          conditionFile: undefined,
+          type: '1',
+          conditionPoints: undefined,
+          conditionPointList: [],
+          otherDesc: undefined
         },
         formRules: {
-          sort: [{ required: true, message: '排序不能为空!', trigger: ['blur', 'change'] }],
-          bannerUrl: [{ required: true, message: '封面图片不能为空!', trigger: 'change' }]
+          conditionTime: [{ required: true, message: '情况说明时间不能为空!', trigger: ['blur', 'change'] }],
+          conditionPersonOption: [{ required: true, message: '情况说明人不能为空!', trigger: 'change' }],
+          conditionFile: [{ required: true, message: '情况说明不能为空!', trigger: 'blur' }],
+          type: [{ required: true, message: '问题类型不能为空!', trigger: 'change' }]
         }
       },
-      isHasDetectProblem: false,
+      isHasDetectProblem: 'INITDATA',
+      processProblemCheckboxOptions: [],
       viewPageFormObj: {
         formModel: {
-          checkList: []
+          conditionPoints: []
         }
       },
       pdfDialogVisible: false,
@@ -435,19 +474,16 @@ export default {
           this.list = response.rows || [];
           this.total = response.total ?? 0;
           this.loading = false;
-          this.list.push({
-            name: '张三'
-          });
         }
       );
     },
     /**
-     * 获取情况说明人选项列表
+     * 情况说明人选项列表
      */
-    async getSituationExplainerOptions() {
-      await getFullPartyMemberOptions().then(
-        response => {
-          this.situationExplainerOptions = response.rows || [];
+    async getFactSheetOptionListData() {
+      await getFactSheetOptionList().then(
+        resp => {
+          this.situationExplainerOptions = resp.data || [];
         }
       );
     },
@@ -455,6 +491,7 @@ export default {
     * 搜索按钮事件
     */
     handleQueryClick() {
+      this.queryParams.pageNum = 1;
       this.initData();
     },
     /**
@@ -468,32 +505,96 @@ export default {
     * 新增按钮事件
     */
     async handleAddClick() {
-      await this.getSituationExplainerOptions();
+      // 初始化数据
+      this.resetForm('situationDescAddpageFormRef');
+      await this.getFactSheetOptionListData();
+
+      // 绑定数据
+      this.addPageFormObj = {
+        ...this.addPageFormObj,
+        formModel: {
+          conditionTime: undefined,
+          conditionPersonOption: undefined,
+          conditionPointsText: undefined,
+          memberId: undefined,
+          conditionPerson: undefined,
+          conditionFile: undefined,
+          type: '1',
+          conditionPoints: undefined,
+          conditionPointList: [],
+          otherDesc: undefined
+        }
+      };
       this.pageType = 'ADD';
     },
     /**
     * 详情按钮事件
     */
     handleViewClick(row) {
-      this.pageType = 'VIEW';
+      viewSituationDesc(row.id).then((viewResp) => {
+        if (viewResp.code === 200) {
+          this.viewPageFormObj.formModel = viewResp.data || {};
+          if (this.viewPageFormObj.formModel.type === 1) {
+            this.viewPageFormObj.formModel.conditionPointsText = this.viewPageFormObj.formModel.conditionPointsText.replace(';', ';<br />');
+          }
+          this.pageType = 'VIEW';
+        }
+      });
     },
     /**
     * 立即检测流程问题按钮事件
     */
     handleDetectionProcessProblemClick() {
-      this.isHasDetectProblem = true;
+      if (!this.addPageFormObj.formModel.memberId) {
+        this.msgWarning('请选择情况说明人!');
+        return;
+      }
+
+      checkProgressAndCompletion({ memberId: this.addPageFormObj.formModel.memberId }).then((checkResp) => {
+        if (checkResp.code === 200) {
+          if (checkResp.data && checkResp.data.length > 0) {
+            this.isHasDetectProblem = 'HASDATA';
+            this.processProblemCheckboxOptions = checkResp.data || [];
+          } else {
+            this.isHasDetectProblem = 'NOHASDATA';
+          }
+        }
+      });
     },
     /**
     * 新增页面确定按钮事件
     */
     handleAddpageSubmitClick() {
-      this.pageType = 'LIST';
+      this.$refs["situationDescAddpageFormRef"].validate(valid => {
+        if (valid) {
+          const { conditionPersonOption, conditionPointList, ...formModel } = this.addPageFormObj.formModel || {};
+          addSituationDesc(formModel).then((addResp) => {
+            if (addResp.code === 200) {
+              this.msgSuccess('新增成功!');
+              this.initData();
+              this.pageType = 'LIST';
+            }
+          });
+        }
+      });
     },
     /**
     * 新增页面取消按钮事件
     */
     handleAddpageCloseClick() {
-      this.addPageFormObj.formModel = {};
+      this.addPageFormObj.formModel = {
+        conditionTime: undefined,
+        conditionPersonOption: undefined,
+        conditionPointsText: undefined,
+        memberId: undefined,
+        conditionPerson: undefined,
+        conditionFile: undefined,
+        type: '1',
+        conditionPoints: undefined,
+        conditionPointList: [],
+        otherDesc: undefined
+      };
+      this.isHasDetectProblem = 'INITDATA';
       this.resetForm('situationDescAddpageFormRef');
       this.pageType = 'LIST';
     },
@@ -506,14 +607,81 @@ export default {
     /**
      * 详情页面下载按钮事件
      */
-    handleViewPageDownloadClick() {
-      regularDownloadPdfFile(`${window.origin}${process.env.VUE_APP_FILE_VIEW_API}/statics/2021/12/29/211dbc76-7380-4bd5-a997-b138cad51ab7.pdf`, '党建管理-情况说明管理-情况说明');
+    handleViewPageDownloadClick(pdfFilePath, pdfFileName = 'pdf-file') {
+      if (!pdfFilePath) return;
+      regularDownloadPdfFile(`${window.origin}${process.env.VUE_APP_FILE_VIEW_API}${pdfFilePath}`, pdfFileName);
     },
     /**
      * 详情页面关闭按钮事件
      */
     handleViewPageCloseClick() {
       this.pageType = 'LIST';
+    },
+    /**
+     * 情况说明人选项改变事件
+     */
+    handleConditionPersonChange(val) {
+      if (!val) {
+        this.addPageFormObj.formModel.memberId = undefined;
+        this.addPageFormObj.formModel.conditionPerson = undefined;
+      } else {
+        const conditionPersonOption = this.addPageFormObj.formModel.conditionPersonOption.split(';') || [];
+        this.addPageFormObj.formModel.memberId = conditionPersonOption[0];
+        this.addPageFormObj.formModel.conditionPerson = conditionPersonOption[1];
+      }
+      this.isHasDetectProblem = 'INITDATA';
+    },
+    /**
+     * 流程问题多选框组改变事件
+     */
+    handleConditionPointListChange(val) {
+      if (val && val.length > 0) {
+        const conditionPointList = this.addPageFormObj.formModel.conditionPointList || [];
+        this.addPageFormObj.formModel.conditionPoints = '';
+        let [conditionPointsList, conditionPointsTextList] = [[], []];
+        for (let item of conditionPointList) {
+
+          if (item) {
+            let tempItemArr = item.split('|') || [];
+            conditionPointsList.push(tempItemArr[0]);
+            conditionPointsTextList.push(`${tempItemArr[0]}、${tempItemArr[1]}`);
+          }
+        }
+        this.addPageFormObj.formModel.conditionPoints = conditionPointsList.join(',');
+        this.addPageFormObj.formModel.conditionPointsText = `${conditionPointsTextList.join(';')}。`;
+      } else {
+        this.addPageFormObj.formModel.conditionPoints = undefined;
+        this.addPageFormObj.formModel.conditionPointsText = undefined;
+      }
+    },
+    /**
+     * 获取新增页面的确定按钮是否禁用
+     */
+    getAddBtnIsDisabled() {
+      const { conditionPersonOption, conditionPointsText, conditionPoints, conditionPointList, otherDesc, ...formModel } = this.addPageFormObj.formModel || {};
+      let flag = false;
+      for (let item in formModel) {
+        if (item === 'type') {
+          if (formModel[item] === '2') {
+            if (!otherDesc) {
+              flag = true;
+              break;
+            }
+          } else if (formModel[item] === '1') {
+            if (!conditionPointList || conditionPointList.length <= 0) {
+              flag = true;
+              break;
+            }
+          } else { }
+        } else {
+          if (!formModel[item]) {
+            flag = true;
+            break;
+          }
+        }
+      }
+
+      return flag;
     }
   }
 };

+ 1 - 1
src/views/index.vue

@@ -127,7 +127,7 @@
                     <div class="home-main-list_card">
                       <div class="home-main-list_card-basic">
                         <img
-                          :src="item.personPhoto ? (viewPdfFileUrlPrefix + item.personPhoto) : require('@/assets/images/empty_img.png')"
+                          :src="item.personPhoto ? (viewPdfFileUrlPrefix + item.personPhoto) : require('@/assets/images/tentative-img.png')"
                           @error="imgViewerOnerror"
                         />