Sfoglia il codice sorgente

审批流 加入业务流程

qinbai 3 anni fa
parent
commit
3647a2f2ff

+ 1 - 1
src/api/work/work.js

@@ -74,7 +74,7 @@ export const claimTask = (taskId) => {
 
 export const completeTask = (data) => {
   return request({
-    url: '/api/blade-flow/work/complete-task',
+    url: '/api/blade-flow/work/checkCompleteTask',
     method: 'post',
     data
   })

+ 10 - 9
src/components/examineApprove/index.vue

@@ -23,7 +23,7 @@
       </template>
     </avue-crud>
     <span slot="footer" class="dialog-footer">
-          <el-button @click="closeFunc == false">关 闭</el-button>
+          <el-button @click="closeFun()">关 闭</el-button>
   </span>
     <el-dialog
       title="配置"
@@ -35,6 +35,7 @@
     >
       <examine-start
         :processDefinitionId="processDefinitionId"
+        :itemId = "itemId"
         @dialogClose="dialogConfigurationClose"
       ></examine-start>
     </el-dialog>
@@ -47,14 +48,14 @@
   import examineStart from "@/components/examineApprove/start";
   export default {
     name: "index",
-    // props: {
-    //   id: {
-    //     type: String
-    //   },
-    //   closeFunc: {
-    //     type: Boolean
-    //   }
-    // },
+    props: {
+      itemId: {
+        type: String
+      },
+      closeFun: {
+        type: Function
+      }
+    },
     components:{
       examineStart
     },

+ 21 - 7
src/components/examineApprove/start.vue

@@ -1,6 +1,6 @@
 <template>
   <basic-container>
-    <avue-form :option="option" v-model="form" @submit="handleSubmit"/>
+    <avue-form  ref="form" :option="option"  v-model="form" @submit="handleSubmit"/>
   </basic-container>
 </template>
 
@@ -11,6 +11,9 @@
       props:{
         processDefinitionId:{
           type:String
+        },
+        itemId:{
+          type:String
         }
       },
       data(){
@@ -19,17 +22,19 @@
           option: {
             group: [
               {
+                labelWidth: 120,
                 column: [
                   {
                     label: '第一级审批人',
                     prop: 'checkUser',
                     type: 'select',
                     dicUrl: `/api/blade-user/user-list`,
+                    row:true,
                     props: {
                       label: "account",
                       value: "id"
                     },
-                    span: 6,
+                    span: 22,
                     rules: [
                       {
                         required: true,
@@ -42,12 +47,13 @@
                     label: '第二级审批人',
                     prop: 'checkSecondsUser',
                     type: 'select',
+                    row:true,
                     dicUrl: `/api/blade-user/user-list`,
                     props: {
                       label: "account",
                       value: "id"
                     },
-                    span: 6,
+                    span: 22,
                     rules: [
                       {
                         required: true,
@@ -58,9 +64,10 @@
                   },
                   {
                     label: '备注',
+                    row:true,
                     prop: 'reason',
                     type: 'textarea',
-                    span: 6,
+                    span: 22,
                     rules: [
                       {
                         required: true,
@@ -77,9 +84,16 @@
       },
       methods:{
         handleSubmit(){
-          this.form.processDefinitionId = this.processDefinitionId
-          examineApproveSubmit(this.form).then(res =>{
-            console.log(res)
+          this.$refs["form"].validate((valid) => {
+            if(valid){
+              this.form.processDefinitionId = this.processDefinitionId
+              this.form.itemId = this.itemId
+              examineApproveSubmit(this.form).then(res =>{
+                if(res.data.success){
+                  this.$message.success("操作成功!")
+                }
+              })
+            }
           })
         }
       }

+ 13 - 15
src/views/basicData/customerInformation/index.vue

@@ -39,18 +39,11 @@
             <el-button
               type="primary"
               size="small"
-              icon="el-icon-plus"
+              icon="el-icon-bottom"
               @click="commodityImport()"
             >导入
             </el-button>
             <el-button
-              type="success"
-              icon="el-icon-upload2"
-              size="small"
-              @click="derivation()"
-            >下载模板
-            </el-button>
-            <el-button
               icon="el-icon-printer"
               size="small"
               type="primary"
@@ -91,6 +84,11 @@
                    :visible.sync="excelBox"
                    width="555px">
           <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"/>
+          <template slot="excelTemplate">
+            <el-button type="primary" @click="derivation">
+              点击下载<i class="el-icon-download el-icon--right"></i>
+            </el-button>
+          </template>
         </el-dialog>
       </basic-container>
     </el-col>
@@ -168,6 +166,12 @@ export default {
             },
             tip: '请上传 .xls,.xlsx 标准格式文件',
             action: "",
+          },
+          {
+            label: '模板下载',
+            prop: 'excelTemplate',
+            formslot: true,
+            span: 24,
           }
         ]
       }
@@ -191,13 +195,7 @@ export default {
       }
     },
     derivation() {
-      this.$confirm("是否下载模板?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        window.open(`/api/blade-client/corpsdesc/export-template?${this.website.tokenHeader}=${getToken()}`);
-      });
+      window.open(`/api/blade-client/corpsdesc/export-template?${this.website.tokenHeader}=${getToken()}`);
     },
     uploadAfter(res, done, loading, column) {
       window.console.log(column);

+ 25 - 17
src/views/purchase/contract/detailsPage.vue

@@ -607,15 +607,15 @@ export default {
         this.pConfiguration.dicData = this.form.purchaserName
         if(res.data.data.itemsVOList){
           this.contactsData = res.data.data.itemsVOList
-          this.oldContactsData = res.data.data.itemsVOList
+          this.oldContactsData = this.deepClone(res.data.data.itemsVOList)
         }
         if(res.data.data.orderFeesList){
           this.orderFeesList = res.data.data.orderFeesList
-          this.oldFeesList = res.data.data.orderFeesList
+          this.oldFeesList = this.deepClone(res.data.data.orderFeesList)
         }
         if( res.data.data.orderFilesList){
           this.orderFilesList = res.data.data.orderFilesList
-          this.oldFilesList = res.data.data.orderFilesList
+          this.oldFilesList = this.deepClone(res.data.data.orderFilesList)
         }
       })
     }else{
@@ -688,15 +688,15 @@ export default {
                 this.pConfiguration.dicData = this.form.purchaserName
                 if(res.data.data.itemsVOList){
                   this.contactsData = res.data.data.itemsVOList
-                  this.oldContactsData = res.data.data.itemsVOList
+                  this.oldContactsData = this.deepClone(res.data.data.itemsVOList)
                 }
                 if(res.data.data.orderFeesList){
                   this.orderFeesList = res.data.data.orderFeesList
-                  this.oldFeesList = res.data.data.orderFeesList
+                  this.oldFeesList = this.deepClone(res.data.data.orderFeesList)
                 }
                 if( res.data.data.orderFilesList){
                   this.orderFilesList = res.data.data.orderFilesList
-                  this.oldFilesList = res.data.data.orderFilesList
+                  this.oldFilesList = this.deepClone(res.data.data.orderFilesList)
                 }
               })
             }
@@ -1036,17 +1036,25 @@ export default {
       this.$message.success('发货成功')
     },
     backToList() {
-      if(contrastObj(this.form,this.oldform) || contrastList(this.orderFeesList,this.olddata)){
-        this.$confirm("是否保存当前页面?", "提示", {
-          confirmButtonText: "保存",
-          cancelButtonText: "取消",
-          type: "warning",
-        }).then(() => {
-          this.editCustomer(true)
-        })
-      }else{
-        this.$emit("goBack");
-      }
+      console.log(this.form)
+      console.log(this.oldForm)
+      console.log(contrastObj(this.form,this.oldForm))
+      // console.log(contrastList(this.contactsData,this.oldContactsData))
+      // console.log(contrastList(this.orderFeesList,this.oldFeesList))
+      // console.log(contrastList(this.orderFilesList,this.oldFilesList))
+      // if(contrastObj(this.form,this.oldForm) || contrastList(this.contactsData,this.oldContactsData)
+      // || contrastList(this.orderFeesList,this.oldFeesList) || contrastList(this.orderFilesList,this.oldFilesList)
+      // ){
+      //   this.$confirm("是否保存当前页面?", "提示", {
+      //     confirmButtonText: "保存",
+      //     cancelButtonText: "取消",
+      //     type: "warning",
+      //   }).then(() => {
+      //     this.editCustomer(true)
+      //   })
+      // }else{
+      //   this.$emit("goBack");
+      // }
     },
   }
 }

+ 2 - 0
src/views/work/process/leave/handle.vue

@@ -128,6 +128,7 @@
           processInstanceId: this.processInstanceId,
           flag: 'ok',
           comment: this.form.comment,
+          itemId : '1458265136067522561'
         };
         completeTask(params).then(res => {
           const data = res.data;
@@ -149,6 +150,7 @@
           taskId: this.taskId,
           processInstanceId: this.processInstanceId,
           comment: this.form.comment,
+          itemId : '1458265136067522561'
         };
         completeTask(params).then(res => {
           const data = res.data;

+ 14 - 50
src/views/workManagement/main-items/detailsPage.vue

@@ -67,7 +67,7 @@
             <el-button type="info"
                        size="small"
                        :disabled="crudSelection == 0"
-                       @click.stop="pleaseCheckDialog = true">请 核
+                       @click.stop="openPleaseCheckDialog()">请 核
             </el-button>
           </template>
           <template slot="menuRight">
@@ -192,38 +192,13 @@
       :close-on-click-modal="false"
       :destroy-on-close="true"
       :close-on-press-escape="false"
-      v-dialog-drag>
+      v-dialog-drag
+    >
       <examine-approve
-
+        :itemId ="itemId"
+        :closeFun="dialogExamineApproveClose"
       >
       </examine-approve>
-<!--      <basic-container>-->
-<!--        <avue-crud :option="pleaseCheckContact"-->
-<!--                   :table-loading="pleaseCheckLoading"-->
-<!--                   :data="pleaseCheckData"-->
-<!--                   ref="applicationCrud"-->
-<!--                   @refresh-change="pleaseCheckRefreshChange"-->
-<!--                   :page.sync="pleaseCheckPage"-->
-<!--                   @on-load="pleaseCheckOnLoad">-->
-<!--          <template slot-scope="scope" slot="menu">-->
-<!--            <el-button type="text"-->
-<!--                       size="small"-->
-<!--                       plain-->
-<!--                       class="none-border"-->
-<!--                       @click.stop="handleStart(scope.row)">发起-->
-<!--            </el-button>-->
-<!--            <el-button type="text"-->
-<!--                       size="small"-->
-<!--                       plain-->
-<!--                       class="none-border"-->
-<!--                       @click.stop="handleImage(scope.row,scope.index)">流程图-->
-<!--            </el-button>-->
-<!--          </template>-->
-<!--        </avue-crud>-->
-<!--      </basic-container>-->
-<!--      <span slot="footer" class="dialog-footer">-->
-<!--          <el-button @click="applicationDialog = false ">关 闭</el-button>-->
-<!--        </span>-->
     </el-dialog>
     <el-dialog title="流程图"
                append-to-body
@@ -541,6 +516,7 @@
         //流程图
         flowBox: false,
         flowUrl: '',
+        itemId:'',
       };
     },
     created() {
@@ -654,6 +630,10 @@
           this.editMainProject(10010);
         })
       },
+      openPleaseCheckDialog(){
+        this.pleaseCheckDialog = true;
+        this.itemId = this.crudSelection[0].id
+      },
       //请核之前
       beforePleaseCheck(){
         if(this.crudSelection){
@@ -667,7 +647,8 @@
           if(resultUserName.findIndex(item => item != true) == -1){
             // 如果数组内有一个 为false  则为false
             if(result.findIndex(item => item != true) == -1){
-              this.editMainProject(10086);
+              // this.openPleaseCheckDialog()
+              // this.editMainProject(10086);
             }else{
               this.$message({
                 type: "error",
@@ -904,25 +885,8 @@
            this.userDialog = !this.userDialog
          }
       },
-      pleaseCheckRefreshChange(){
-
-      },
-      pleaseCheckOnLoad(page, params = {}) {
-        params.mode = '1';
-        this.pleaseCheckLoading = true;
-        startList(page.currentPage, page.pageSize,params).then(res => {
-          const data = res.data.data;
-          this.pleaseCheckPage.total = data.total;
-          this.pleaseCheckData = data.records;
-          this.pleaseCheckLoading = false;
-        });
-      },
-      handleStart(row) {
-        this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/form/${row.id}`});
-      },
-      handleImage(row) {
-        this.flowUrl = `/api/blade-flow/process/resource-view?processDefinitionId=${row.id}`;
-        this.flowBox = true;
+      dialogExamineApproveClose(){
+        this.pleaseCheckDialog = false
       },
     },
   };