Browse Source

11482-【CR】【投资系统】增加审批流程-项目终止

hxy 3 months ago
parent
commit
33b2e7cb6e

+ 8 - 0
ruoyi-ui/src/api/project/termination/pool.js

@@ -100,3 +100,11 @@ export function getMyTaskTerminationNumber() {
     method: 'get'
     method: 'get'
   })
   })
 }
 }
+
+//  查询项目终止列表 ​/dev-api​/invest​/pool​/listDecision
+export function listTerminationList() {
+  return request({
+    url: '/project/termination/listTermination',
+    method: 'get'
+  })
+}

+ 39 - 7
ruoyi-ui/src/views/project/decision/edit.vue

@@ -68,7 +68,7 @@
     </section>
     </section>
     <section class="section3">
     <section class="section3">
       <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tabs v-model="activeName" @tab-click="handleClick">
-        <el-tab-pane label="投决申请信息" name="0"></el-tab-pane>
+        <el-tab-pane label="投决信息" name="0"></el-tab-pane>
         <el-tab-pane label="项目基本信息" name="1"></el-tab-pane>
         <el-tab-pane label="项目基本信息" name="1"></el-tab-pane>
       </el-tabs>
       </el-tabs>
       <section>
       <section>
@@ -80,6 +80,7 @@
                 class="special-el-form public-padded-t-20"
                 class="special-el-form public-padded-t-20"
                 ref="formTJApply"
                 ref="formTJApply"
                 :model="formTJApply"
                 :model="formTJApply"
+                :rules="rulesTJApply"
                 label-width="120px"
                 label-width="120px"
               >
               >
                 <el-form-item
                 <el-form-item
@@ -102,6 +103,7 @@
                   <fileItem
                   <fileItem
                     ref="fileItemTJApply"
                     ref="fileItemTJApply"
                     :id="formTJApply.id"
                     :id="formTJApply.id"
+                    @getFileList="getFileListTJApply"
                   ></fileItem>
                   ></fileItem>
                 </el-form-item>
                 </el-form-item>
 <!--                <el-form-item
 <!--                <el-form-item
@@ -158,7 +160,6 @@
 </template>
 </template>
 <script>
 <script>
 import poolForm from "../../invest/components/poolForm";
 import poolForm from "../../invest/components/poolForm";
-//import tableForm from "../../invest/components/tableForm";
 import fileItem from "../../invest/components/fileItem";
 import fileItem from "../../invest/components/fileItem";
 
 
 import {
 import {
@@ -178,10 +179,16 @@ export default {
   name: "investPoolDetail",
   name: "investPoolDetail",
   components: {
   components: {
     poolForm,
     poolForm,
-    //tableForm,
     fileItem,
     fileItem,
   },
   },
   data() {
   data() {
+    const validateLogo = (rule, value, callback) => {
+      if (this.fileListTJApply.length <= 0) {
+        callback(new Error("请上传文件"));
+      } else {
+        callback();
+      }
+    };
     return {
     return {
       showDueApply: false,
       showDueApply: false,
       meetingId: "0",
       meetingId: "0",
@@ -202,6 +209,11 @@ export default {
         participantsId: null,
         participantsId: null,
         flag:null,
         flag:null,
       },
       },
+      fileListTJApply: [],
+      rulesTJApply: {
+        provision: [{ required: true, trigger: "blur", message: "请输入" }],
+        listFile: [{ required: true, validator: validateLogo }],
+      },
       flowBaseInfo:{
       flowBaseInfo:{
         comment:null,
         comment:null,
         taskId:null
         taskId:null
@@ -280,6 +292,15 @@ export default {
         }
         }
       });
       });
     },
     },
+    // 投决申请附件回显
+    getFileListTJApply(fileList) {
+      this.fileListTJApply = fileList;
+      if (fileList && fileList.length > 0) {
+        this.$refs.formTJApply.clearValidate(["listFile"]);
+      } else {
+        this.fileListTJApply = [];
+      }
+    },
     //项目报备
     //项目报备
     getDetail() {
     getDetail() {
       getPool(this.id).then((response) => {
       getPool(this.id).then((response) => {
@@ -299,14 +320,25 @@ export default {
     /** 用户审批任务 */
     /** 用户审批任务 */
     taskComplete(flag) {
     taskComplete(flag) {
       this.formTJApply.flag=flag;
       this.formTJApply.flag=flag;
+      this.formTJApply.listFile = this.fileListTJApply;
       const params={
       const params={
         projectDecision:this.formTJApply,
         projectDecision:this.formTJApply,
         flowBaseInfo: this.flowBaseInfo
         flowBaseInfo: this.flowBaseInfo
       }
       }
-      decisionComplete(params).then(response => {
-        this.$modal.msgSuccess(response.msg);
-        this.goMyTask();
-      });
+      this.$refs["formTJApply"].validate((valid) => {
+        if (valid) {
+          try{
+            decisionComplete(params).then(response => {
+              this.$modal.msgSuccess(response.msg);
+              this.$store.dispatch("getMyTaskDecisionNumber"); //更新代办数量
+              this.goMyTask();
+            });
+          } catch (err) {
+            // 捕获重复提交错误
+            this.$message.error(err.message);
+          }
+        }
+      })
     },
     },
     /*返回*/
     /*返回*/
     goBack() {
     goBack() {

+ 9 - 56
ruoyi-ui/src/views/project/termination/applyList.vue

@@ -140,17 +140,6 @@
           </div>
           </div>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <!-- <el-table-column
-        label="项目所属城市"
-        align="center"
-        prop="tProjectCompany.registeredAddress"
-      >
-        <template slot-scope="scope">
-          <div :title="scope.row.tProjectCompany.registeredAddress">
-            {{ scope.row.tProjectCompany.registeredAddress }}
-          </div>
-        </template>
-      </el-table-column> -->
       <el-table-column label="所属行业" align="center" prop="industry"
       <el-table-column label="所属行业" align="center" prop="industry"
         ><template slot-scope="scope">
         ><template slot-scope="scope">
           <dict-tag
           <dict-tag
@@ -167,7 +156,7 @@
           />
           />
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <el-table-column
+<!--      <el-table-column
         label="项目状态"
         label="项目状态"
         align="center"
         align="center"
         prop="projectState"
         prop="projectState"
@@ -179,12 +168,12 @@
             :value="scope.row.projectState"
             :value="scope.row.projectState"
           />
           />
         </template>
         </template>
-      </el-table-column>
-      <!-- <el-table-column label="备案时间" align="center" prop="tProjectCompany.filingTime">
+      </el-table-column>-->
+       <el-table-column label="备案时间" align="center" prop="tProjectCompany.filingTime">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}") }}</span>
           <span>{{ parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}") }}</span>
         </template>
         </template>
-      </el-table-column> -->
+      </el-table-column>
       <el-table-column label="立项通过日期" align="center" prop="projectDate">
       <el-table-column label="立项通过日期" align="center" prop="projectDate">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
@@ -214,7 +203,6 @@
           </div>
           </div>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <!-- <el-table-column label="项目编号" align="center" prop="projectCode" /> -->
       <el-table-column
       <el-table-column
         label="渠道"
         label="渠道"
         align="center"
         align="center"
@@ -231,49 +219,11 @@
           </div>
           </div>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <!-- <el-table-column
-        label="所属组别"
-        align="center"
-        prop="tProjectChannel.channelGroup"
-      >
-        <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.project_group"
-            :value="scope.row.tProjectChannel.channelGroup"
-          />
-        </template>
-      </el-table-column> -->
-
-      <!-- <el-table-column
-        label="项目联系人"
-        align="center"
-        prop="tProjectContacts.name"
-      >
-        <template slot-scope="scope">
-          <div :title="scope.row.tProjectContacts.name">
-            {{ scope.row.tProjectContacts.name }}
-          </div>
-        </template>
-      </el-table-column> -->
-
-      <!--<el-table-column
-        label="创建人"
-        width="120"
-        align="center"
-        prop="createBy"
-      />
-      <el-table-column
-        label="创建时间"
-        align="center"
-        prop="createTime"
-        width="160"
-      /> -->
-      <!-- delFlag -->
       <el-table-column
       <el-table-column
         label="状态"
         label="状态"
         align="center"
         align="center"
         prop="investHead"
         prop="investHead"
-        width="50px"
+        width="70px"
       >
       >
         <template slot-scope="scope">
         <template slot-scope="scope">
           <div :title="scope.row.delFlag === '1' ? '终止' : '正常'">
           <div :title="scope.row.delFlag === '1' ? '终止' : '正常'">
@@ -309,6 +259,9 @@ import {
   editStage,
   editStage,
   addDecision,
   addDecision,
 } from "@/api/invest/pool";
 } from "@/api/invest/pool";
+import {
+  listTerminationList,
+} from "@/api/project/termination/pool";
 import { listChannel } from "@/api/invest/channel";
 import { listChannel } from "@/api/invest/channel";
 import meetingList from "../meetingList.vue";
 import meetingList from "../meetingList.vue";
 import businessUpdate from "../../invest/components/businessUpdate";
 import businessUpdate from "../../invest/components/businessUpdate";
@@ -393,7 +346,7 @@ export default {
     /** 查询项目池列表 */
     /** 查询项目池列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
-      listDecisionList(this.queryParams).then((response) => {
+      listTerminationList(this.queryParams).then((response) => {
         this.poolList = response.rows;
         this.poolList = response.rows;
         this.total = response.total;
         this.total = response.total;
         this.loading = false;
         this.loading = false;

+ 10 - 5
ruoyi-ui/src/views/project/termination/audit.vue

@@ -223,7 +223,6 @@ export default {
       getTerminationInfo(this.$route.query.pInstId).then((response) => {
       getTerminationInfo(this.$route.query.pInstId).then((response) => {
         if (response && response.data) {
         if (response && response.data) {
           that.formZZApply = response.data;
           that.formZZApply = response.data;
-          console.log(response.data.procInstId);
           /*setTimeout(() => {
           /*setTimeout(() => {
             that.$refs.fileItemTJApply.handleButton();
             that.$refs.fileItemTJApply.handleButton();
             that.$refs.fileItemTJApply.fileList = [];
             that.$refs.fileItemTJApply.fileList = [];
@@ -263,10 +262,16 @@ export default {
         projectTermination: this.formZZApply,  // 拆分明确字段
         projectTermination: this.formZZApply,  // 拆分明确字段
         flowBaseInfo: this.flowBaseInfo
         flowBaseInfo: this.flowBaseInfo
       }
       }
-      terminationComplete(params).then(response => {
-        this.$modal.msgSuccess(response.msg);
-        this.goMyTask();
-      });
+      try{
+        terminationComplete(params).then(response => {
+          this.$modal.msgSuccess(response.msg);
+          this.$store.dispatch("getMyTaskTerminationNumber"); //更新代办数量
+          this.goMyTask();
+        });
+      } catch (err) {
+        // 捕获重复提交错误
+        this.$message.error(err.message);
+      }
     },
     },
     /*返回*/
     /*返回*/
     goBack() {
     goBack() {

+ 18 - 4
ruoyi-ui/src/views/project/termination/edit.vue

@@ -80,6 +80,7 @@
                 class="special-el-form public-padded-t-20"
                 class="special-el-form public-padded-t-20"
                 ref="formZZApply"
                 ref="formZZApply"
                 :model="formZZApply"
                 :model="formZZApply"
+                :rules="rulesZZApply"
                 label-width="120px"
                 label-width="120px"
               >
               >
                 <el-form-item
                 <el-form-item
@@ -163,6 +164,9 @@ export default {
         reason: null,
         reason: null,
         flag:null,
         flag:null,
       },
       },
+      rulesZZApply: {
+        reason: [{ required: true, trigger: "blur", message: "请输入" }],
+      },
       flowBaseInfo:{
       flowBaseInfo:{
         comment:null,
         comment:null,
         taskId:null
         taskId:null
@@ -236,10 +240,20 @@ export default {
         projectTermination:this.formZZApply,
         projectTermination:this.formZZApply,
         flowBaseInfo: this.flowBaseInfo
         flowBaseInfo: this.flowBaseInfo
       }
       }
-      terminationComplete(params).then(response => {
-        this.$modal.msgSuccess(response.msg);
-        this.goMyTask();
-      });
+      this.$refs["formZZApply"].validate((valid) => {
+        if (valid) {
+          try{
+            terminationComplete(params).then(response => {
+              this.$modal.msgSuccess(response.msg);
+              this.$store.dispatch("getMyTaskTerminationNumber"); //更新代办数量
+              this.goMyTask();
+            });
+          } catch (err) {
+            // 捕获重复提交错误
+            this.$message.error(err.message);
+          }
+        }
+      })
     },
     },
     /*返回*/
     /*返回*/
     goBack() {
     goBack() {

+ 42 - 8
ruoyi-ui/src/views/project/termination/myTask.vue

@@ -72,7 +72,7 @@
                 />
                 />
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column
+<!--            <el-table-column
               label="项目状态"
               label="项目状态"
               align="center"
               align="center"
               prop="projectState"
               prop="projectState"
@@ -84,7 +84,7 @@
                   :value="scope.row.projectState"
                   :value="scope.row.projectState"
                 />
                 />
               </template>
               </template>
-            </el-table-column>
+            </el-table-column>-->
             <el-table-column label="项目负责人" align="center" prop="investHead">
             <el-table-column label="项目负责人" align="center" prop="investHead">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <div :title="scope.row.investHead">
                 <div :title="scope.row.investHead">
@@ -107,6 +107,18 @@
                 </div>
                 </div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
+            <el-table-column label="申请人" align="center" prop="startUserName">
+              <template slot-scope="scope">
+                <div :title="scope.row.startUserName">
+                  {{ scope.row.startUserName }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column label="申请日期" align="center" prop="createTime">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+              </template>
+            </el-table-column>
             <el-table-column label="当前节点" align="center" prop="taskName">
             <el-table-column label="当前节点" align="center" prop="taskName">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <div :title="scope.row.taskName"  class="public-text-blue public-cursor" @click="handleReadImage(scope.row)">
                 <div :title="scope.row.taskName"  class="public-text-blue public-cursor" @click="handleReadImage(scope.row)">
@@ -207,7 +219,7 @@
                 />
                 />
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column
+<!--            <el-table-column
               label="项目状态"
               label="项目状态"
               align="center"
               align="center"
               prop="projectState"
               prop="projectState"
@@ -219,7 +231,7 @@
                   :value="scope.row.projectState"
                   :value="scope.row.projectState"
                 />
                 />
               </template>
               </template>
-            </el-table-column>
+            </el-table-column>-->
             <el-table-column label="项目负责人" align="center" prop="investHead">
             <el-table-column label="项目负责人" align="center" prop="investHead">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <div :title="scope.row.investHead">
                 <div :title="scope.row.investHead">
@@ -242,6 +254,18 @@
                 </div>
                 </div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
+            <el-table-column label="申请人" align="center" prop="startUserName">
+              <template slot-scope="scope">
+                <div :title="scope.row.startUserName">
+                  {{ scope.row.startUserName }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column label="申请日期" align="center" prop="createTime">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+              </template>
+            </el-table-column>
             <el-table-column label="处理节点" align="center" prop="taskName">
             <el-table-column label="处理节点" align="center" prop="taskName">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <div  v-if="scope.row.deployId !== null && scope.row.deployId !== undefined && scope.row.deployId !== ''"  :title="scope.row.taskName" class="public-text-blue public-cursor" @click="handleReadImage(scope.row)">
                 <div  v-if="scope.row.deployId !== null && scope.row.deployId !== undefined && scope.row.deployId !== ''"  :title="scope.row.taskName" class="public-text-blue public-cursor" @click="handleReadImage(scope.row)">
@@ -331,7 +355,7 @@
                 />
                 />
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column
+<!--            <el-table-column
               label="项目状态"
               label="项目状态"
               align="center"
               align="center"
               prop="projectState"
               prop="projectState"
@@ -343,7 +367,7 @@
                   :value="scope.row.projectState"
                   :value="scope.row.projectState"
                 />
                 />
               </template>
               </template>
-            </el-table-column>
+            </el-table-column>-->
             <el-table-column label="项目负责人" align="center" prop="investHead">
             <el-table-column label="项目负责人" align="center" prop="investHead">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <div :title="scope.row.investHead">
                 <div :title="scope.row.investHead">
@@ -366,6 +390,18 @@
                 </div>
                 </div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
+            <el-table-column label="申请人" align="center" prop="startUserName">
+              <template slot-scope="scope">
+                <div :title="scope.row.startUserName">
+                  {{ scope.row.startUserName }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column label="申请日期" align="center" prop="createTime">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+              </template>
+            </el-table-column>
             <el-table-column label="当前节点" align="center" prop="taskName">
             <el-table-column label="当前节点" align="center" prop="taskName">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <div :title="scope.row.taskName" class="public-text-blue public-cursor" @click="handleReadImage(scope.row)">
                 <div :title="scope.row.taskName" class="public-text-blue public-cursor" @click="handleReadImage(scope.row)">
@@ -549,7 +585,6 @@ export default {
       this.loading = true;
       this.loading = true;
       // 调用待办任务接口(示例)
       // 调用待办任务接口(示例)
       getMyTaskList(this.queryParams).then((response) => {
       getMyTaskList(this.queryParams).then((response) => {
-        console.log( response.rows);
         this.myTaskList = response.rows; // 表格数据
         this.myTaskList = response.rows; // 表格数据
         this.myTaskTotal = response.total; // 分页总条数
         this.myTaskTotal = response.total; // 分页总条数
         this.loading = false;
         this.loading = false;
@@ -694,7 +729,6 @@ export default {
     handleReadImage(row){
     handleReadImage(row){
       this.readImage.title = "流程图";
       this.readImage.title = "流程图";
       this.readImage.open = true;
       this.readImage.open = true;
-      console.log(row)
       // this.readImage.src = process.env.VUE_APP_BASE_API + "/flowable/definition/readImage/" + deploymentId;
       // this.readImage.src = process.env.VUE_APP_BASE_API + "/flowable/definition/readImage/" + deploymentId;
       flowXmlAndNode({procInsId: row.procInstId,deployId:row.deployId}).then(res => {
       flowXmlAndNode({procInsId: row.procInstId,deployId:row.deployId}).then(res => {
         this.flowData = res.data;
         this.flowData = res.data;