Explorar o código

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

Rockery %!s(int64=3) %!d(string=hai) anos
pai
achega
21585c4ea2

+ 62 - 41
src/views/PartyBuildingMgr/SituationDesc/SituationDescIndex.vue

@@ -3,7 +3,7 @@
  * @Author: Rockery
  * @Date: 2021-12-10 10:45:58
  * @LastEditors: Rockery
- * @LastEditTime: 2021-12-29 15:23:58
+ * @LastEditTime: 2022-01-06 10:37:18
  * @FilePath: \party_construct_web\src\views\PartyBuildingMgr\SituationDesc\SituationDescIndex.vue
  * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 -->
@@ -173,9 +173,9 @@
               <div class="situationdesc-addpage-line"></div>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="情况说明时间:" prop="beginTime">
+              <el-form-item label="情况说明时间:" prop="conditionTime">
                 <el-date-picker
-                  v-model="addPageFormObj.formModel.name"
+                  v-model="addPageFormObj.formModel.conditionTime"
                   type="date"
                   clearable
                   format="yyyy年MM月dd日"
@@ -186,9 +186,9 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="情况说明人:" prop="explainer">
+              <el-form-item label="情况说明人:" prop="conditionPerson">
                 <el-select
-                  v-model="addPageFormObj.formModel.explainer"
+                  v-model="addPageFormObj.formModel.conditionPerson"
                   clearable
                   filterable
                   style="width: 100%;"
@@ -213,16 +213,15 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item
-                label="问题类型:"
-                prop="sort"
-                class="situationdesc-addpage-form-processnode"
-              >
-                <el-radio-group v-model="addPageFormObj.formModel.questionType">
+              <el-form-item label="问题类型:" required class="situationdesc-addpage-form-processnode">
+                <el-radio-group
+                  v-model="addPageFormObj.formModel.conditionPoint"
+                  style="width: 100%;"
+                >
                   <el-radio label="1">流程节点问题</el-radio>
                   <el-radio label="0">其他问题</el-radio>
                 </el-radio-group>
-                <template v-if="addPageFormObj.formModel.questionType === '0'">
+                <template v-if="addPageFormObj.formModel.conditionPoint === '0'">
                   <el-input
                     type="textarea"
                     clearable
@@ -233,33 +232,34 @@
                     v-model="addPageFormObj.formModel.remark"
                   />
                 </template>
-                <template v-else-if="addPageFormObj.formModel.questionType === '1'">
-                  <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>
+                <template v-else-if="addPageFormObj.formModel.conditionPoint === '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>
                 <template v-else>
                   <div>&nbsp;</div>
                 </template>
               </el-form-item>
             </el-col>
-            <!-- <el-col :span="24">
-              <el-form-item
-                label="说明了以下流程节点问题:"
-                prop="sort"
-                class="situationdesc-addpage-form-processnode"
-              ></el-form-item>
-            </el-col>-->
           </el-row>
         </el-form>
         <div class="pagefooter-btngroup">
@@ -300,17 +300,17 @@
               <div class="situationdesc-viewpage-line"></div>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="情况说明时间:" prop="beginTime">
-                <div>{{ viewPageFormObj.formModel.beginTime }}</div>
+              <el-form-item label="情况说明时间:" prop="conditionTime">
+                <div>{{ viewPageFormObj.formModel.conditionTime }}</div>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="情况说明人:" prop="explainer">
-                <div>{{ viewPageFormObj.formModel.explainer }}</div>
+              <el-form-item label="情况说明人:" prop="conditionPerson">
+                <div>{{ viewPageFormObj.formModel.conditionPerson }}</div>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="情况说明:" prop="phone">
+              <el-form-item label="情况说明:" prop="conditionFile">
                 <div class="situationdesc-viewpage-form-desc">
                   <div @click="handleViewPageCheckClick">查看</div>
                   <div @click="handleViewPageDownloadClick">下载</div>
@@ -323,7 +323,7 @@
                 prop="sort"
                 class="situationdesc-viewpage-form-processnode"
               >
-                <el-checkbox-group v-model="viewPageFormObj.formModel.checkList">
+                <el-checkbox-group v-model="viewPageFormObj.formModel.conditionPoint">
                   <el-checkbox label="《入党积极分子、发展对象培养教育考察登记表》" disabled>
                     <div class="processnode-circle">6</div>
                     <div class="processnode-label">《入党积极分子、发展对象培养教育考察登记表》</div>
@@ -349,6 +349,12 @@
     <template v-else>
       <div>&nbsp;</div>
     </template>
+
+    <roc-vue-pdf-dialog
+      v-if="pdfDialogVisible"
+      :visible.sync="pdfDialogVisible"
+      :pdfUrl="viewPdfFileUrlPrefix + viewPageFormObj.formModel.conditionFile"
+    ></roc-vue-pdf-dialog>
   </div>
 </template>
 
@@ -361,11 +367,13 @@ import {
 import {
   getFullPartyMemberOptions
 } from "@/api/PartyBuildingMgr/FullPartyMember";
+import { regularDownloadPdfFile } from "@/utils/rockeryutil";
 
 export default {
   name: "Situationdesc",
   components: {
-    'roc-pdf-file-upload': () => import('@/components/RocPdfFileUpload')
+    'roc-pdf-file-upload': () => import('@/components/RocPdfFileUpload'),
+    'roc-vue-pdf-dialog': () => import('@/components/RocVuePdfDialog')
   },
   data() {
     return {
@@ -397,12 +405,14 @@ export default {
           bannerUrl: [{ required: true, message: '封面图片不能为空!', trigger: 'change' }]
         }
       },
+      isHasDetectProblem: false,
       viewPageFormObj: {
         formModel: {
           checkList: []
         }
       },
-      pdfDialogVisible: false
+      pdfDialogVisible: false,
+      viewPdfFileUrlPrefix: `${window.origin}${process.env.VUE_APP_FILE_VIEW_API}`
     };
   },
   created() {
@@ -425,6 +435,9 @@ export default {
           this.list = response.rows || [];
           this.total = response.total ?? 0;
           this.loading = false;
+          this.list.push({
+            name: '张三'
+          });
         }
       );
     },
@@ -465,6 +478,12 @@ export default {
       this.pageType = 'VIEW';
     },
     /**
+    * 立即检测流程问题按钮事件
+    */
+    handleDetectionProcessProblemClick() {
+      this.isHasDetectProblem = true;
+    },
+    /**
     * 新增页面确定按钮事件
     */
     handleAddpageSubmitClick() {
@@ -482,11 +501,13 @@ export default {
      * 详情页面查看按钮事件
      */
     handleViewPageCheckClick() {
+      this.pdfDialogVisible = true;
     },
     /**
      * 详情页面下载按钮事件
      */
     handleViewPageDownloadClick() {
+      regularDownloadPdfFile(`${window.origin}${process.env.VUE_APP_FILE_VIEW_API}/statics/2021/12/29/211dbc76-7380-4bd5-a997-b138cad51ab7.pdf`, '党建管理-情况说明管理-情况说明');
     },
     /**
      * 详情页面关闭按钮事件

+ 26 - 7
src/views/system/user/profile/userAvatar.vue

@@ -1,12 +1,21 @@
 <template>
   <div>
-    <div class="user-info-head" @click="editCropper()"><img v-bind:src="options.img" title="点击上传头像" class="img-circle img-lg" /></div>
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body @opened="modalOpened"  @close="closeDialog()">
+    <div class="user-info-head" @click="editCropper()">
+      <img :src="isImgUrl ? (imgUrlPrefix + options.img) : options.img" title="点击上传头像" class="img-circle img-lg" />
+    </div>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="800px"
+      append-to-body
+      @opened="modalOpened"
+      @close="closeDialog()"
+    >
       <el-row>
         <el-col :xs="24" :md="12" style="height: 350px;">
           <vue-cropper
             ref="cropper"
-            :img="options.img"
+            :img="isImgUrl ? (imgUrlPrefix + options.img) : options.img"
             :info="true"
             :autoCrop="options.autoCrop"
             :autoCropWidth="options.autoCropWidth"
@@ -25,7 +34,12 @@
       <br />
       <el-row>
         <el-col :lg="2" :md="2">
-          <el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
+          <el-upload
+            action="#"
+            :http-request="requestUpload"
+            :show-file-list="false"
+            :before-upload="beforeUpload"
+          >
             <el-button size="small">
               选择
               <i class="el-icon-upload el-icon--right"></i>
@@ -79,7 +93,9 @@ export default {
         autoCropHeight: 200, // 默认生成截图框高度
         fixedBox: true // 固定截图框大小 不允许改变
       },
-      previews: {}
+      previews: {},
+      isImgUrl: false,
+      imgUrlPrefix: `${window.origin}${process.env.VUE_APP_FILE_VIEW_API}`
     };
   },
   methods: {
@@ -115,6 +131,7 @@ export default {
         const reader = new FileReader();
         reader.readAsDataURL(file);
         reader.onload = () => {
+          this.isImgUrl = false;
           this.options.img = reader.result;
         };
       }
@@ -126,6 +143,7 @@ export default {
         formData.append("avatarfile", data);
         uploadAvatar(formData).then(response => {
           this.open = false;
+          this.isImgUrl = true;
           this.options.img = response.imgUrl;
           store.commit('SET_AVATAR', this.options.img);
           this.msgSuccess("修改成功");
@@ -139,8 +157,9 @@ export default {
     },
     // 关闭窗口
     closeDialog() {
+      this.isImgUrl = false;
       this.options.img = store.getters.avatar
-	  this.visible = false;
+      this.visible = false;
     }
   }
 };
@@ -153,7 +172,7 @@ export default {
 }
 
 .user-info-head:hover:after {
-  content: '+';
+  content: "+";
   position: absolute;
   left: 0;
   right: 0;