浏览代码

增加判断

humingbo 1 年之前
父节点
当前提交
2816915b58
共有 2 个文件被更改,包括 217 次插入18 次删除
  1. 11 0
      src/api/meeting/enforce.js
  2. 206 18
      src/views/enforceflow/enforceflow.vue

+ 11 - 0
src/api/meeting/enforce.js

@@ -133,6 +133,17 @@ export function getEnforceFlowFiles(id){
   })
 }
 
+/**
+ * 个人任务Map
+ * @param user
+ * @returns {*}
+ */
+export function getPersonalTaskMap(user){
+  return request({
+    url:'/enforce/getPersonalTaskMap?user='+encodeURIComponent(user),
+    method: 'get'
+  })
+}
 
 
 

+ 206 - 18
src/views/enforceflow/enforceflow.vue

@@ -61,11 +61,16 @@
       </el-table-column>
       <el-table-column prop="hsytem" label="所属系统" align="center">
       </el-table-column>
-      <el-table-column prop="createTime" label="创建时间" width="130" align="center">
+      <el-table-column prop="createTime" label="创建时间" width="130" align="center" v-if="false">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
         </template>
       </el-table-column>
+      <el-table-column prop="status1" label="当前实施状态" width="120" align="center">
+        <template slot-scope="scope">
+          <span style="color: green">{{scope.row.act.taskName}}</span>
+        </template>
+      </el-table-column>
       <el-table-column prop="status" label="状态" width="80" align="center">
         <template slot-scope="scope">
           <div v-if="scope.row.status===0" style="color: green">待开始</div>
@@ -82,7 +87,8 @@
           </el-button>
           <el-button size="mini" v-if="scope.row.status===0" type="danger" @click="deleteEnforce(scope.row)">删除
           </el-button>
-          <el-button size="mini" type="success" @click="openEnforceManageDialog(scope.row)">查看详情</el-button>
+          <el-button size="mini" v-if="scope.row.status!==0 && scope.row.act.id!==undefined"  type="primary" @click="enforceFlowDealWin(scope.row)">流程处理</el-button>
+          <el-button size="mini" type="success" v-if="scope.row.status!==0" @click="openEnforceManageDialog(scope.row)">查看详情</el-button>
           <el-button size="mini" v-show="false" v-if="scope.row.status!==0" type="primary"
                      @click="getEnforceDetail(scope.row)">
             查看实施详情
@@ -232,8 +238,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="实施详情" :visible.sync="enforceFlowVisble" width="85%" @click="enforceFlowDialog"
-               :close-on-click-modal="false">
+    <el-dialog title="实施详情" :visible.sync="enforceFlowVisble" width="85%" @click="enforceFlowDialog" :close-on-click-modal="false">
       <el-table
         border
         :data="enforceTableData"
@@ -362,9 +367,7 @@
                 <template slot="label">
                   当前负责人
                 </template>
-                <el-input size="small" v-model="enforceForm.director" :disabled="true"
-                          @keyup.enter.native="openUsers()">
-                  <el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
+                <el-input size="small" v-model="enforceForm.director" :disabled="true">
                 </el-input>
               </el-descriptions-item>
               <el-descriptions-item :span="2">
@@ -490,8 +493,6 @@
             v-model="editEnforceRecord.enforceTime"
             type="date"
             size="mini"
-            value-format="yyyy-MM-dd"
-            format="yyyy-MM-dd"
             placeholder="选择日期" style="width: 350px">
           </el-date-picker>
         </el-form-item>
@@ -505,6 +506,104 @@
       </div>
     </el-dialog>
 
+    <!--处理实施工作任务--->
+    <el-dialog title="审批处理" :visible.sync="editEnforceFormVisible1" width="75%" :close-on-click-modal="false">
+      <el-form label-width="120px" :model="enforceForm" size="mini">
+        <el-descriptions title="" :column="2" border size="mini">
+          <el-descriptions-item>
+            <template slot="label">
+              项目名称
+            </template>
+            {{ enforceFlow.name }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              项目总负责人
+            </template>
+            {{ enforceFlow.enforcer }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              实施医院
+            </template>
+            {{ enforceFlow.hno }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              实施系统
+            </template>
+            {{ enforceFlow.hsytem }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              实施时间
+            </template>
+            {{ enforceFlow.time }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              实施状态
+            </template>
+            <span style="color: darkred" v-if="enforceFlow.status===0">待开始</span>
+            <span style="color: green" v-else-if="enforceFlow.status===1">进行中</span>
+            <span style="color: darkblue" v-else="enforceFlow.status===2">已结束</span>
+          </el-descriptions-item>
+          <el-descriptions-item :span="2">
+            <template slot="label">
+              当前任务
+            </template>
+            {{ enforceFlow.flowType }}
+          </el-descriptions-item>
+          <el-descriptions-item :span="2">
+            <template slot="label">
+              实施内容
+            </template>
+            {{ enforceFlow.content }}
+          </el-descriptions-item>
+          <el-descriptions-item :span="2">
+            <template slot="label">
+              下个步骤负责人
+            </template>
+            <el-input size="small" v-model="enforceForm.director" :disabled="true" @keyup.enter.native="openUsers()">
+              <el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
+            </el-input>
+          </el-descriptions-item>
+          <el-descriptions-item :span="2">
+            <template slot="label">
+              备注说明
+            </template>
+            <el-input size="small" v-model="enforceForm.remark" type="textarea" :rows="4"></el-input>
+          </el-descriptions-item>
+
+          <el-descriptions-item :span="2">
+            <template slot="label">
+              文件列表
+            </template>
+            <el-upload
+              ref="upload"
+              :action="fileAction"
+              :on-remove="handleRemove"
+              :on-success="handleSuccess"
+              :on-error="handleError"
+              name="file">
+              <el-button slot="trigger" size="mini" type="primary">选取文件</el-button>
+            </el-upload>
+          </el-descriptions-item>
+          <el-descriptions-item :span="2">
+            <template slot="label">
+              其他说明
+            </template>
+            <div id="editorElem1" style="text-align:left" >
+            </div>
+          </el-descriptions-item>
+        </el-descriptions>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="closeEnforceDialog1">取消</el-button>
+        <el-button size="mini" type="primary" class="title" @click="submitEnforceForm1('editForm')">确定处理</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -513,6 +612,7 @@ import E from 'wangeditor';
 
 let editor;
 let editorEnforce;
+let editorElem1;
 import Pagination from '@/components/Page/Pagination'
 import {
   getEnforcesByPage,
@@ -521,7 +621,11 @@ import {
   addEnforce,
   deleteEnforce,
   startEnforceFlow,
-  getEnforceFlowsByEnforceId, getEnforceFlowsByEnforceIdAndStep, getEnforceFlowFiles
+  getEnforceFlowsByEnforceId,
+  getEnforceFlowsByEnforceIdAndStep,
+  getEnforceFlowFiles,
+  getPersonalTaskList,
+  getPersonalTaskMap, completeTask
 } from '@/api/meeting/enforce'
 import {getDeptUserTree} from '@/api/system/user'
 import {deleteEnforceRemindById, editEnforceRemind, getEnforceRemindList} from '@/api/meeting/enforceRemind'
@@ -543,7 +647,7 @@ export default {
         enforceType: '',
         enforceTime: null,
         enforceId: null,
-        remark: ''
+        remark: '',
       },
       enforceFileData: [],
       addEnforceRecordWin: false,
@@ -585,7 +689,10 @@ export default {
         director: null,
         directorId: null,
         remark: null,
-        content: null
+        taskId: null,
+        currentStep: null,
+        filess: [],
+        content:null
       },
       enforceFlow: {
         name: '',
@@ -632,7 +739,9 @@ export default {
         elBadge10: true,
         elBadge11: true,
         elBadge12: true,
-      }
+      },
+      editEnforceFormVisible1:false,
+      enforceFlowData:[]
     }
   },
   // 注册组件
@@ -765,6 +874,25 @@ export default {
       this.closeEnforceDialog();
       this.resetSearch();
 
+    },
+    submitEnforceForm1() {
+      let data = this.enforceForm;
+      if (data.director === '' || data.remark === null || data.remark === '') {
+        this.$message({
+          message: '请将表单信息填写完整!',
+          type: 'warning'
+        });
+        return
+      }
+      completeTask(data).then(res => {
+        this.$message({
+          message: '操作成功!',
+          type: 'success'
+        });
+        this.editEnforceFormVisible1=false
+        this.resetSearch();
+      });
+
     },
     closeUserDialog() {
       this.usersVisble = false
@@ -834,8 +962,14 @@ export default {
       this.enforceManageVisble = true
       this.enforceFlowId = row.id
       this.enforceFlowTitle = row.name + "实施流程明细"
-      this.on_click(1)
+      let step=row.act.step
+      if(step===undefined){
+        step=12
+        this.maxStep=12
+      }
       this.enforceDetail = row
+      this.on_click(step)
+
     },
     createwangeditor() {
       editor = new E('#editorElem');
@@ -852,7 +986,16 @@ export default {
       editorEnforce.create()
       editorEnforce.txt.html(this.editEnforceRecord.remark)
       editorEnforce.config.onchange = (html) => {
-        this.editEnforceRecord.remark = editor.txt.html()
+        this.editEnforceRecord.remark = editorEnforce.txt.html()
+      };
+    },
+    createeditorElem1Editor(){
+      editorElem1 = new E('#editorElem1');
+      editorElem1.config.height = 300
+      editorElem1.create()
+      editorElem1.txt.html(this.enforceForm.content)
+      editorElem1.config.onchange = (html) => {
+        this.enforceForm.content = editorElem1.txt.html()
       };
     },
     handleRemove(file, fileList) {
@@ -888,6 +1031,10 @@ export default {
     },
     on_click(e) {
       let dot = e;
+      //判断一下当前最大流程
+      let maxStep=this.maxStep;
+
+
       switch (dot) {
         case 1:
           this.elBadgeForm.elBadge1 = false;
@@ -940,7 +1087,7 @@ export default {
       }
 
       if (e !== "" || e != null) {
-        if (e !== 12 && e != 11) {
+        if (e !== 12 && e !== 11) {
           let id = this.enforceFlowId
           getEnforceFlowsByEnforceIdAndStep(id, e).then(res => {
             console.log(JSON.stringify(res))
@@ -948,10 +1095,10 @@ export default {
             this.enforceFlow = data.enforceFlow
             if (data.dtos.length > 0) {
               this.enforceFlow.fileDatas = data.dtos[0].fileDatas
+              this.uploadFileList=[]
               for (let i = 0; i < data.dtos[0].fileDatas.length; i++) {
                 let file = data.dtos[0].fileDatas[i];
-                this.uploadFileList.push(
-                  {
+                this.uploadFileList.push({
                     url: file.url,
                     name: file.fileName.substring(0, file.fileName.indexOf('<'))
                   }
@@ -977,6 +1124,7 @@ export default {
         } else if (e === 12) {
           this.getEnforceRemindList()
           this.active = e
+
         } else {
           this.getEnforceFlowFileList();
           this.active = e
@@ -1028,6 +1176,8 @@ export default {
     },
     addEnforceRecordClick() {
       this.addEnforceRecordWin = true
+      this.editEnforceRecord.id=null
+      this.editEnforceRecord.remark=''
       this.$nextTick(() => {
         if (editorEnforce == null) {
           this.createEnforceEditor()
@@ -1103,6 +1253,44 @@ export default {
         return true
       };
       return data.name.indexOf(value) !== -1;
+    },
+    closeEnforceDialog1(){
+      this.editEnforceFormVisible1=false
+    },
+    getTaskList() {
+      getPersonalTaskList().then(res => {
+        console.log(res.data)
+      })
+    },
+    enforceFlowDealWin(row){
+      this.enforceFlow.name = row.name
+      this.enforceFlow.enforcer = row.enforcer
+      this.enforceFlow.hno = row.hname
+      this.enforceFlow.hsytem = row.hsytem
+      this.enforceFlow.content = row.content
+      this.enforceFlow.time = row.beginTime + "至" + row.endTime
+      this.enforceFlow.status = row.status
+      this.enforceFlow.flowType = row.act.taskName
+      this.enforceForm.taskId = row.act.taskId
+      this.enforceForm.currentStep = row.act.step
+      this.enforceForm.enforceId = row.id
+      let userId=this.$store.getters.userId
+      let userName=this.$store.getters.name
+      this.enforceForm.director=userName
+      this.enforceForm.directorId=userId
+      this.enforceForm.remark=''
+      this.enforceForm.filess=[]
+      this.enforceForm.content=''
+
+      this.$nextTick(()=>{
+        if (editorElem1==null){
+          this.createeditorElem1Editor()
+        }else {
+          editorElem1.destroy();//这里做了一次判断,判断编辑器是否被创建,如果创建了就先销毁。
+          this.createeditorElem1Editor()
+        }
+      });
+      this.editEnforceFormVisible1=true
     }
   }