From 2f456991b7d6c7e6c85398abcfad5a74320858f3 Mon Sep 17 00:00:00 2001
From: shikeying <pxzsky@163.com>
Date: 星期五, 14 四月 2023 12:46:58 +0800
Subject: [PATCH] 工作流测试选人

---
 src/views/activiti/task/index.vue |  180 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 117 insertions(+), 63 deletions(-)

diff --git a/src/views/activiti/task/index.vue b/src/views/activiti/task/index.vue
index f5ed247..544a0c9 100644
--- a/src/views/activiti/task/index.vue
+++ b/src/views/activiti/task/index.vue
@@ -1,14 +1,45 @@
 <template>
   <div class="app-container">
 
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+        >鍒涘缓婕旂ず娴佺▼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleSelectActor"
+        >鍒涘缓'閫変汉鎵�鏈�'娴佺▼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click=""
+        >鍒犻櫎</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
 
     <el-table v-loading="loading" :data="tastList">
       <!--      <el-table-column label="娴佺▼ID" align="center" prop="id"/>-->
-      <el-table-column label="娴佺▼鍚嶇О" align="center" prop="instanceName"/>
-      <el-table-column label="浠诲姟鑺傜偣鍚嶇О" align="center" prop="name"/>
-      <el-table-column label="浠诲姟鐘舵��" align="center" prop="status"/>
-      <el-table-column label="鍔炵悊浜�" align="center" prop="assignee"/>
-      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createdDate"/>
+      <el-table-column label="娴佺▼鍚嶇О" align="center" prop="title"/>
+      <el-table-column label="浠诲姟鑺傜偣鍚嶇О" align="center" prop="taskName"/>
+      <el-table-column label="浠诲姟鐘舵��" align="center" prop=""/>
+      <el-table-column label="鍔炵悊浜�" align="center" prop="userId"/>
+      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime"/>
 
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -16,7 +47,7 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
-            @click="examineAndApprove (scope.row)"
+            @click="showTodoDetail(scope.row)"
             v-hasPermi="['wf:task:**']"
           >瀹℃壒
           </el-button>
@@ -34,30 +65,41 @@
 
     <!-- 瀹℃壒瀵硅瘽妗� -->
     <el-dialog :title="title" :visible.sync="open" v-if="open" width="500px" append-to-body>
-      <leaveHistoryForm :businessKey="businessKey" v-if="'leave'==definitionKey"/>
-
+<!--      <leaveHistoryForm :businessKey="businessKey" v-if="'leave'==definitionKey"/>-->
       <el-form :model="form" ref="form" label-width="100px" class="demo-dynamic">
-        <el-form-item
-          v-for="(domain, index) in form.formData"
-          :label="domain.controlLable"
-          :key="index"
-        >
-          <el-radio-group v-model="domain.controlValue" v-if="'radio'==domain.controlType">
-            <el-radio v-for="(defaults,indexd) in domain.controlDefault.split('--__--')"
-                      :label=indexd
-                      :key="indexd"
-                      >{{defaults}}
-
-            </el-radio>
-
-          </el-radio-group>
-          <el-input type="textarea" v-model="domain.controlValue" v-if="'textarea'==domain.controlType"
-          ></el-input>
+        <el-form-item label="娴佺▼鍚嶇О">
+          <el-input v-model="todoTask.title"/>
         </el-form-item>
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input v-model="todoTask.taskName"/>
+        </el-form-item>
+        <el-form-item label="涓氬姟涓婚敭" prop="businessKey">
+<!--          <el-input v-model="todoTask.businessKey"/>-->
+          <el-input v-model="form.businessKey"/>
+        </el-form-item>
+        <el-form-item label="娴佺▼鏍囪瘑" prop="processDefinitionKey">
+<!--          <el-input v-model="todoTask.processDefinitionKey"/>-->
+          <el-input v-model="form.processDefinitionKey"/>
+        </el-form-item>
+        <el-form-item label="浠诲姟ID" prop="taskInstanceId">
+<!--          <el-input v-model="todoTask.id"/>-->
+          <el-input v-model="form.taskInstanceId"/>
+        </el-form-item>
+        <el-form-item label="瀹℃壒閫夐」" prop="approveResult">
+          <el-radio-group v-model="form.approveResult">
+            <el-radio label="yes">鍚屾剰</el-radio>
+            <el-radio label="no">閫�鍥�</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="瀹℃壒鎰忚" prop="approveSummary">
+          <el-input v-model="form.approveSummary" placeholder="杈撳叆瀹℃壒鎰忚" maxlength="90" />
+        </el-form-item>
+
       </el-form>
 
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button type="primary" @click="submitForm">杞� 鍙�</el-button>
+        <el-button type="danger" @click="testGetNextNode">鑾峰彇涓嬩竴姝�</el-button>
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
@@ -65,19 +107,19 @@
 </template>
 
 <script>
-
-
-  import {listTask, formDataShow, formDataSave} from "@/api/activiti/task";
-  import leaveHistoryForm from "@/views/workflow/leave/leaveHistoryForm";
+  import {createDemoProcessInstance, getNextTaskInfo, listTask, todoDetail, transmission} from "@/api/activiti/task";
+  // import leaveHistoryForm from "@/views/workflow/leave/leaveHistoryForm";
 
   export default {
     name: "Leave",
-    components: {leaveHistoryForm},
+    components: {},
     data() {
       return {
         id:'',
         definitionKey: '',
         businessKey: '',
+        // 褰撳墠寰呭姙浠诲姟璇︾粏锛堢偣鍑荤殑璇︽儏锛夛紝2023-04-03
+        todoTask: undefined,
         // 閬僵灞�
         loading: true,
         // 閫変腑鏁扮粍
@@ -103,7 +145,13 @@
         },
         // 琛ㄥ崟鍙傛暟
         form: {
-          formData:[]
+          businessKey: undefined,
+          processDefinitionKey: undefined,
+          assignee: undefined,
+          taskInstanceId: undefined,
+          approveResult: 'yes',
+          approveSummary: '',
+          approveTime: undefined
         },
         // 琛ㄥ崟鏍¢獙
         rules: {}
@@ -130,59 +178,65 @@
       },
       // 琛ㄥ崟閲嶇疆
       reset() {
-        this.definitionKey = '',
-          this.businessKey = '',
-          this.form = {
-            formData:[],
-          };
+        this.definitionKey = '';
+        this.businessKey = '';
+        this.form = {};
         this.resetForm("form");
       },
 
       /** 瀹℃壒鎸夐挳鎿嶄綔 */
-      examineAndApprove(row) {
-        console.log(row)
+      showTodoDetail(row) {
+        console.log(row);
         this.reset();
         this.definitionKey = row.definitionKey;
         this.businessKey = row.businessKey;
         this.id=row.id;
-        formDataShow(row.id).then(response => {
+        todoDetail(row).then(response => {
           // FormProperty_3qipis2--__!!radio--__!!瀹℃壒鎰忚--__!!i--__!!鍚屾剰--__--涓嶅悓鎰�
           // FormProperty_0lffpcm--__!!textarea--__!!鎵规敞--__!!f--__!!null
-          let datas = response.data;
-          let formData = []
-          for (let i = 0; i < datas.length; i++) {
-            let strings = datas[i].split('--__!!')
-            let controlValue = null
-            let controlDefault = null
-            switch (strings[1]) {
-              case 'radio':
-                controlValue = 0;
-                controlDefault = strings[4]
-                break;
-              // default:
-            }
-            formData.push({
-              controlId: strings[0],
-              controlType: strings[1],
-              controlLable: strings[2],
-              controlIsParam: strings[3],
-              controlValue: controlValue,
-              controlDefault: controlDefault
-            })
-          }
-          this.form.formData = formData;
+          this.todoTask = response.data;
+          this.form.businessKey = this.todoTask.businessKey;
+          this.form.taskInstanceId = this.todoTask.id;
+          this.form.processDefinitionKey = this.todoTask.processDefinitionKey;
+
+          // this.form.formData = formData;
           this.open = true;
           this.title = "瀹℃壒";
         });
       },
       /** 鎻愪氦鎸夐挳 */
       submitForm() {
-        formDataSave(this.id,this.form.formData).then(response => {
+        transmission(this.form).then(response => {
           this.$modal.msgSuccess("瀹℃壒鎴愬姛");
           this.open = false;
           this.getList();
         });
       },
+
+      /** 鍒涘缓娴嬭瘯娴佺▼瀹炰緥锛�2023-04-10 */
+      handleAdd() {
+        createDemoProcessInstance().then(response => {
+          this.$modal.msgSuccess("婕旂ず娴佺▼瀹炰緥宸插垱寤�");
+          this.open = false;
+          this.getList();
+        });
+      },
+
+      /** 鍒涘缓閫変汉娴佺▼婕旂ず锛�2023-04-13 */
+      handleSelectActor(){
+        createDemoProcessInstance("", "", "select").then(response => {
+          this.$modal.msgSuccess("婕旂ず'閫変汉鎵�鏈�'瀹炰緥宸插垱寤�");
+          this.open = false;
+          this.getList();
+        });
+      },
+
+      /** 娴嬭瘯鑾峰彇涓嬩竴姝ヤ换鍔★紝2023-04-10 */
+      testGetNextNode(){
+        getNextTaskInfo(this.form.taskInstanceId).then(response => {
+          this.$modal.msgSuccess(response.data);
+        });
+      }
     }
   };
 </script>

--
Gitblit v1.9.1