فهرست منبع

Merge branch 'lrh' of yinet2020/YinetOASystemWeb into master

吕瑞涵 4 سال پیش
والد
کامیت
578aab3c13
3فایلهای تغییر یافته به همراه134 افزوده شده و 58 حذف شده
  1. 10 1
      src/api/activiti/form/fw.js
  2. 121 54
      src/views/system/actform/fawen/write2.vue
  3. 3 3
      src/views/system/actwork/todo.vue

+ 10 - 1
src/api/activiti/form/fw.js

@@ -14,13 +14,14 @@ export function submitApply(query) {
 }
 
 //更新详情数据
-export function  updateInfo(query) {
+export function updateInfo(query) {
   return request({
     url: '/fw/updateInfo',
     method: 'post',
     params: query
   })
 }
+
 // 发文待办列表
 export function listInfo(query) {
   return request({
@@ -79,3 +80,11 @@ export function getFile(url) {
     method: 'get'
   })
 }
+
+export function rejectToDoItem(params) {
+  return request({
+    url: '/fw/rejectToDoItem',
+    method: 'put',
+    data: params
+  })
+}

+ 121 - 54
src/views/system/actform/fawen/write2.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="app-container">
-    <el-form ref="form" :model="form" :rules="rules"  label-width="130px" border>
+    <el-form ref="form" :model="form" :rules="rules" label-width="130px" border>
       <table width="100%" border="1">
         <tr>
-          <td colspan="2"><p class="title">发文起草</p></td>
+          <td colspan="2"><p class="title">发文处理</p></td>
         </tr>
         <tr>
           <td>
@@ -113,18 +113,40 @@
             </el-form-item>
           </td>
         </tr>
+        <tr>
+          <td>
+            <el-form-item label="处理意见" prop="">
+              <el-select v-model="proccessButton" placeholder="请选择">
+                <el-option label="同意" value="agree_"></el-option>
+                <el-option label="拒绝" value="disagree_"></el-option>
+                <el-option v-if="fkbuttonpopu[0].check" label="驳回" value="reject_"></el-option>
+                <el-option v-if="fkbuttonpopu[1].check" label="结束" value="finish_"></el-option>
+              </el-select>
+            </el-form-item>
+          </td>
+          <td>
+            <el-form-item label="选择节点" v-if="proccessButton==='reject_'">
+              <el-select v-model="oldFlowNodeSelect" placeholder="请选择">
+                <el-option v-for="item in oldFlowNodes" :label="item.flowname+' - '+item.username"
+                           :value="item.flowid"></el-option>
+              </el-select>
+            </el-form-item>
+          </td>
+        </tr>
       </table>
+
     </el-form>
     <div slot="footer" class="dialog-footer" v-show="open4">
-      <el-button type="primary" @click="submitToDo()">同意</el-button>
-      <el-button type="primary" @click="deleteToDo()">拒绝</el-button>
+      <!--      <el-button type="primary" @click="submitToDo()">同意</el-button>-->
+      <!--      <el-button type="primary" @click="deleteToDo()">拒绝</el-button>-->
+      <el-button type="primary" @click="submitFw()">提交</el-button>
       <el-button @click="cancel">取 消</el-button>
     </div>
     <el-dialog id="content" title="正文修改" :visible.sync="contentOpen" :before-close="cancel" append-to-body
                width="80%"
                top="10" height="800px">
       <!-- 动态引入组件-->
-      <i-web-office  :key="timer" @func="getcontent" :fileData="fileData"></i-web-office>
+      <i-web-office :key="timer" @func="getcontent" :fileData="fileData"></i-web-office>
     </el-dialog>
 
     <el-dialog :title="title" :visible.sync="deptOpen" width="40%" append-to-body style="size: 30px">
@@ -145,7 +167,6 @@
 
     <select-user-by-dept ref="selectUserByDept" :title="title" :open="Renopen" @ok="selectOK"/>
 
-
   </div>
 </template>
 
@@ -154,7 +175,7 @@
   import iWebOffice from './iWebOffice'
   import SelectRen from '@/components/SelectRen'
   import { treeselect } from '@/api/system/dept'
-  import { getFormData, deleteToDoItem, submitToDoItem,updateInfo } from '@/api/activiti/form/fw'
+  import { getFormData, deleteToDoItem, submitToDoItem, updateInfo, rejectToDoItem } from '@/api/activiti/form/fw'
   import Treeselect from '@riophae/vue-treeselect'
   import { getToken } from '@/utils/auth'
 
@@ -204,23 +225,23 @@
         // 表单校验
         rules: {
           fwtitle: [
-            { required: true, message: "标题题不能为空", trigger: "blur" }
+            { required: true, message: '标题题不能为空', trigger: 'blur' }
           ],
           fwdept: [
-            { required: true, message: "请选择发文部门", trigger: "blur" }
+            { required: true, message: '请选择发文部门', trigger: 'blur' }
           ],
           copyTo: [
-            { required: true, message: "请选择抄送部门", trigger: "blur" }
+            { required: true, message: '请选择抄送部门', trigger: 'blur' }
           ],
           avtiveSend: [
-            { required: true, message: "请选择主送部门", trigger: "blur" }
+            { required: true, message: '请选择主送部门', trigger: 'blur' }
           ],
           ponderance: [
-            { required: true, message: "请选择缓急程度", trigger: "blur" }
+            { required: true, message: '请选择缓急程度', trigger: 'blur' }
           ],
           securityClass: [
-            { required: true, message: "请选择密级等级", trigger: "blur" }
-          ],
+            { required: true, message: '请选择密级等级', trigger: 'blur' }
+          ]
         },
         flg: '',
         // 判断是否为提交,还是添加
@@ -231,8 +252,8 @@
         // 部门树选项
         deptOptions: [],
         defaultProps: {
-          children: "children",
-          label: "label"
+          children: 'children',
+          label: 'label'
         },
         // 部门id
         depid: [],
@@ -242,12 +263,17 @@
           // 是否禁用上传
           isUploading: false,
           // 设置上传的请求头部
-          headers: {Authorization: "Bearer " + getToken()},
+          headers: { Authorization: 'Bearer ' + getToken() },
           // 上传的地址
-          url: process.env.VUE_APP_BASE_API + "/common/upload",
+          url: process.env.VUE_APP_BASE_API + '/common/upload',
           // 上传的文件列表
           fileList: []
         },
+        //页面按钮
+        fkbuttonpopu: [],
+        proccessButton: 'agree_',
+        oldFlowNodes: [],
+        oldFlowNodeSelect: undefined
       }
     },
     created() {
@@ -265,22 +291,34 @@
     },
     methods: {
 
-
-
       /** 写 选择人员 按钮弹窗操作 */
-    /*  handleSelect(type) {
-        this.deptOpen = true;
-        if (type == 0) {
-          this.title = "主送部门";
-        } else {
-          this.title = "抄送部门";
-        }
+      /*  handleSelect(type) {
+          this.deptOpen = true;
+          if (type == 0) {
+            this.title = "主送部门";
+          } else {
+            this.title = "抄送部门";
+          }
 
-      }, /!** 写 选择人员 按钮弹窗操作 *!/
-      handleSelectDept() {
-        this.deptOpen = true;
-        this.title = "发文部门";
-      },*/
+        }, /!** 写 选择人员 按钮弹窗操作 *!/
+        handleSelectDept() {
+          this.deptOpen = true;
+          this.title = "发文部门";
+        },*/
+      submitFw() {
+        switch (this.proccessButton) {
+          case 'agree_':
+            this.submitToDo()
+            break
+          case 'disagree_':
+            this.deleteToDo()
+            break
+          case 'reject_':
+            this.rejectToDo()
+            break
+          case  'finish_':
+        }
+      },
       handleSelect() {
         this.$refs.selectUserByDept.childOpen = true
         this.Renopen = true
@@ -293,8 +331,8 @@
         this.open = false
         this.reset()
       },
-      cancelDept(){
-        this.deptOpen=false;
+      cancelDept() {
+        this.deptOpen = false
       },
       selectOK(zh, xm) {
         this.postForm.sendUser = zh
@@ -303,29 +341,33 @@
       },
       //返回正文
       getcontent(data) {
-        this.contentOpen = false;
-        this.form.content = data;
-        this.fileData.filePath = data;
+        this.contentOpen = false
+        this.form.content = data
+        this.fileData.filePath = data
       },
 
       //获取详细信息,修改用到
       getDetails() {
         getFormData(this.form.formId).then(response => {
-          this.form = response.data;
+          this.form = response.data
           //下一节点用户选择规则
           this.postForm.SelectUserType = response.data.SelectUserType
-          this.fileData.filePath = this.form.content==""?"/profile/doc/NewCreate.doc":this.form.content;
-          this.fileData.user = this.form.user;
-          var files= response.data.accessory.split(",")
-          for (var i=0;i<files.length;i++){
-            var fiellist={
-              "name":files[i].substring(files[i].lastIndexOf("/")+1,files[i].length),
-              "url":process.env.VUE_APP_BASE_API+files[i]
+          //获取页面按钮
+          this.fkbuttonpopu = JSON.parse(response.data.fkbuttonpopu)
+          //获取历史节点
+          this.oldFlowNodes = JSON.parse(response.data.oldFlowNodes)
+          this.fileData.filePath = this.form.content == '' ? '/profile/doc/NewCreate.doc' : this.form.content
+          this.fileData.user = this.form.user
+          var files = response.data.accessory.split(',')
+          for (var i = 0; i < files.length; i++) {
+            var fiellist = {
+              'name': files[i].substring(files[i].lastIndexOf('/') + 1, files[i].length),
+              'url': process.env.VUE_APP_BASE_API + files[i]
             }
             this.upload.fileList.push(fiellist)
           }
 
-        });
+        })
       },
 
       //打开weboffice 页面添加正文
@@ -335,13 +377,18 @@
       },
       //同意
       submitToDo() {
-        updateInfo(this.form).then(response => {
-          if(response.code==200){
-           submitToDoItem(this.form.taskid, this.postForm).then(response1 => {
-            this.msgSuccess('提交成功')
-            console.log(response1.code)
-             this.$emit('getList')
-          });
+        //有问题,应该单独传参
+        var tempForm = {
+          content: this.form.content,
+          id: this.form.id
+        }
+        updateInfo(tempForm).then(response => {
+          if (response.code == 200) {
+            submitToDoItem(this.form.taskid, this.postForm).then(response1 => {
+              this.msgSuccess('提交成功')
+              console.log(response1.code)
+              this.$emit('getList')
+            })
           }
         })
       },
@@ -359,7 +406,27 @@
 
         }).catch(() => {
         })
-
+      },
+      //驳回
+      rejectToDo() {
+        //有问题,应该单独传参
+        var tempForm = {
+          content: this.form.content,
+          id: this.form.id
+        }
+        updateInfo(tempForm).then(response => {
+          if (response.code == 200) {
+            tempForm = {
+              taskId: this.form.taskid,
+              targetFlowId: this.oldFlowNodeSelect
+            }
+            rejectToDoItem(tempForm).then(response1 => {
+              this.msgSuccess('驳回成功')
+              console.log(response1.code)
+              this.$emit('getList')
+            })
+          }
+        })
       }
     }
   }

+ 3 - 3
src/views/system/actwork/todo.vue

@@ -62,7 +62,7 @@
             size="small"
             type="text"
             icon="el-icon-edit"
-            @click="openactform(scope.row.processDfinitionId,scope.row.businessKey,scope.row.name,scope.row.title)"
+            @click="openactform(scope.row.processInstanceId,scope.row.businessKey,scope.row.name,scope.row.title)"
           >办理</el-button>
 
         <!--  <el-button
@@ -95,7 +95,7 @@
 
 <script>
   import {toDoItemListInfo} from "@/api/activiti/form/fw";
-  import {getStartFormKey } from '@/api/activiti/process/startprocess'
+  import {getCurrentFlowFormKey } from '@/api/activiti/process/startprocess'
   import Option from "@/components/files/option";
   export default {
     name: 'todo',
@@ -174,7 +174,7 @@
         actkey=actkey.split(":")[0];
         this.details.getactkey = actkey//动态传参到下面的页面
         this.details.formId = id//动态传参到下面的页面
-        getStartFormKey(actkey).then(response => {
+        getCurrentFlowFormKey(actkey).then(response => {
           var path = response.msg
           this.actForm = () => Promise.resolve().then(() => require(`@/views/${path}`))
         })