wucl há 1 ano atrás
pai
commit
bd37a4f2b7

+ 1 - 1
src/api/modules/personalProduction.js

@@ -17,7 +17,7 @@ export default {
       return request.get(`personalProduction/downloadPkg/${params}`)
    },
    checkPass(params){
-      return request.get(`personalProduction/pass/${params}`)
+      return request.put(`personalProduction/pass`,params)
    },
    inWareHouse(params){
       return request.post(`personalProduction/in`,params)

+ 218 - 207
src/components/workflowBoard.vue

@@ -1,231 +1,242 @@
 <template>
-    <div class="contanier">
-        <el-card shadow="always" style="margin-bottom:20px;">
-          <!-- <div class="button-area">
-          <el-button v-if="nodeBusinessInfo.currentNodePermission.commit" class="y-save"  type="success" round @click="commit('PASS')" :disabled="!nodeBusinessInfo.doWorkflow">提交</el-button>
-          <el-button v-if="nodeBusinessInfo.currentNodePermission.reversible" class="y-save"  type="info" round @click="commit('REVERSE')" :disabled="!nodeBusinessInfo.doWorkflow">退回</el-button>
-          <el-button v-if="nodeBusinessInfo.currentNodePermission.skippable" class="y-save"  type="warning" round @click="commit('SKIP')" :disabled="!nodeBusinessInfo.doWorkflow">跳过</el-button>
-          <el-button v-if="nodeBusinessInfo.currentNodePermission.terminable" class="y-save"  type="danger" round @click="commit('TERMINATE')" :disabled="!nodeBusinessInfo.doWorkflow">终止</el-button>
-          <el-button v-if="nodeBusinessInfo.currentNodePermission.restartable" class="y-save"  type="danger" round @click="commit('RESTART')" :disabled="!nodeBusinessInfo.doWorkflow">重置</el-button>
-        </div> -->
-        <div class="node-area" >
-          <div class="node-seq">
-            <WrokflowNode name="开始" state="START" />
-          </div>
-          <div class="node-seq"  v-for="(n,index) in queue" :key="index">
-            <WrokflowNode :key="index" :name="n.nodeName" :state="n.state"  @openCurrentNodeDialog="openCurrentNodeDialog(n)" />
-          </div>
-          <div class="node-seq" v-if="!nodeBusinessInfo.production">
-            <WrokflowNode name="待定"  state="WAITING" :last=true />
-          </div>
-          <div class="node-seq" v-else>
-            <WrokflowNode name="结束" state="END" :last=true />
-          </div>
+  <div class="contanier">
+      <el-card shadow="always" style="margin-bottom:20px;">
+        <!-- <div class="button-area">
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.commit" class="y-save"  type="success" round @click="commit('PASS')" :disabled="!nodeBusinessInfo.doWorkflow">提交</el-button>
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.reversible" class="y-save"  type="info" round @click="commit('REVERSE')" :disabled="!nodeBusinessInfo.doWorkflow">退回</el-button>
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.skippable" class="y-save"  type="warning" round @click="commit('SKIP')" :disabled="!nodeBusinessInfo.doWorkflow">跳过</el-button>
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.terminable" class="y-save"  type="danger" round @click="commit('TERMINATE')" :disabled="!nodeBusinessInfo.doWorkflow">终止</el-button>
+        <el-button v-if="nodeBusinessInfo.currentNodePermission.restartable" class="y-save"  type="danger" round @click="commit('RESTART')" :disabled="!nodeBusinessInfo.doWorkflow">重置</el-button>
+      </div> -->
+      <div class="node-area" >
+        <div class="node-seq">
+          <WrokflowNode name="开始" state="START" />
         </div>
-      </el-card>
-      <el-dialog custom-class="nodeDialog" :title="dialogTitle" :visible.sync="dialogVisible" width="40%">
-          <el-table :data="taskPageData"  border style="width:100%">
-            <el-table-column label="任务" align="center"  prop="taskName" />
-            <el-table-column label="处理人" align="center"   prop="handler" />
-            <el-table-column label="任务状态" align="center"   prop="finished" />
-            <el-table-column label="处理时间" align="center"   prop="finishTime" />
-        </el-table>
-      </el-dialog>
-    </div>
+        <div class="node-seq"  v-for="(n,index) in queue" :key="index">
+          <WrokflowNode :key="index" :name="n.nodeName" :state="n.state"  @openCurrentNodeDialog="openCurrentNodeDialog(n)" />
+        </div>
+        <div class="node-seq" v-if="!nodeBusinessInfo.production">
+          <WrokflowNode name="待定"  state="WAITING" :last=true />
+        </div>
+        <div class="node-seq" v-else>
+          <WrokflowNode name="结束" state="END" :last=true />
+        </div>
+      </div>
+    </el-card>
+    <el-dialog custom-class="nodeDialog" :title="dialogTitle" :visible.sync="dialogVisible" width="40%">
+        <el-table :data="taskPageData"  border style="width:100%">
+          <el-table-column label="任务" align="center"  prop="taskName" />
+          <el-table-column label="处理人" align="center"   prop="handler" />
+          <el-table-column label="任务状态" align="center"   prop="finished" />
+          <el-table-column label="处理时间" align="center"   prop="finishTime" />
+      </el-table>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
-  import WrokflowNode from '@/components/workflowNode'
+import WrokflowNode from '@/components/workflowNode'
 
-  export default {
-    components: {
-      WrokflowNode
+export default {
+  components: {
+    WrokflowNode
+  },
+  name: 'workflowBoard',
+  props: {
+    nodeBusinessInfo:{
+      type: Object
     },
-    name: 'workflowBoard',
-    props: {
-      nodeBusinessInfo:{
-        type: Object
+  },
+  watch:{
+    nodeBusinessInfo:{
+      handler(newVal,oldVal){
+          if (newVal.ccId){
+             this.workNodeCommit.ccId= newVal.ccId;
+          }
       },
-    },
-    data() {
-      return {
-        queue:[
-        {
-            flowId:null,
-            pnodeId:null,
-            nodeId:null,
-            flowCode:null,
-            nodeName:"业务下单",
-            nodeCode:null,
-            state:"PENDING",
-            instanceId:null
+      deep:true
+    }
+  },
+  data() {
+    return {
+      queue:[
+      {
+          flowId:null,
+          pnodeId:null,
+          nodeId:null,
+          flowCode:null,
+          nodeName:"业务下单",
+          nodeCode:null,
+          state:"PENDING",
+          instanceId:null
+        }
+      ],
+      instance:{
+        mainBusiness:null,
+        businessId:null,
+        businessSubId:null,
+        businessMinId:null,
+        production:[],
+        ifPay:null
+      },
+      dialogVisible:false,
+      taskPageData:[],
+      dialogTitle:null,
+      workNodeCommit:{
+        instanceNodeId:null,
+        state:null,
+        comments:null,
+        production:[],
+        reportNos:[],
+        ifCheckTask:true,
+        businessSubId:null,
+        doSecondCheck:null,
+        doThirdCheck:null
+      },
+      
+    }
+  },
+
+  created(){
+    //this.getInstanceQueue();
+  },
+  methods: {
+    openCurrentNodeDialog(node){
+      this.dialogVisible = true;
+      this.dialogTitle = node.nodeName;
+      if (node.instanceId){
+        this.$api.workNodeTaskRecord.instanceTask(node.instanceId).then(res=>{
+          if (res.code === 200 ){
+            this.taskPageData = res.data;
           }
-        ],
-        instance:{
-          mainBusiness:null,
-          businessId:null,
-          businessSubId:null,
-          businessMinId:null,
-          production:[],
-          ifPay:null
-        },
-        dialogVisible:false,
-        taskPageData:[],
-        dialogTitle:null,
-        workNodeCommit:{
-          instanceNodeId:null,
-          state:null,
-          comments:null,
-          production:[],
-          reportNos:[],
-          ifCheckTask:true,
-          businessSubId:null,
-          doSecondCheck:null,
-          doThirdCheck:null
-        },
-        
+        })
+      }else {
+        this.taskPageData = [];
       }
+      
     },
-
-    created(){
-      //this.getInstanceQueue();
+    getInstanceQueue(){
+      if (this.nodeBusinessInfo.mainBusiness!=null && this.nodeBusinessInfo.businessId!=null){
+        this.instance.mainBusiness = this.nodeBusinessInfo.mainBusiness;
+        this.instance.businessId = this.nodeBusinessInfo.businessId;
+        this.instance.businessSubId = this.nodeBusinessInfo.businessSubId;
+        this.instance.businessMinId = this.nodeBusinessInfo.businessMinId;
+        this.instance.production = this.nodeBusinessInfo.production;
+        this.instance.ifPay = this.nodeBusinessInfo.ifPay;
+        this.$api.workNodeInstance.queue(this.instance).then(res =>{
+          if (res.code ===200){
+            this.queue = res.data;
+          }
+        })
+      }
     },
-    methods: {
-      openCurrentNodeDialog(node){
-        this.dialogVisible = true;
-        this.dialogTitle = node.nodeName;
-        if (node.instanceId){
-          this.$api.workNodeTaskRecord.instanceTask(node.instanceId).then(res=>{
-            if (res.code === 200 ){
-              this.taskPageData = res.data;
-            }
-          })
-        }else {
-          this.taskPageData = [];
-        }
-        
-      },
-      getInstanceQueue(){
-        if (this.nodeBusinessInfo.mainBusiness!=null && this.nodeBusinessInfo.businessId!=null){
-          this.instance.mainBusiness = this.nodeBusinessInfo.mainBusiness;
-          this.instance.businessId = this.nodeBusinessInfo.businessId;
-          this.instance.businessSubId = this.nodeBusinessInfo.businessSubId;
-          this.instance.businessMinId = this.nodeBusinessInfo.businessMinId;
-          this.instance.production = this.nodeBusinessInfo.production;
-          this.instance.ifPay = this.nodeBusinessInfo.ifPay;
-          this.$api.workNodeInstance.queue(this.instance).then(res =>{
-            if (res.code ===200){
-              this.queue = res.data;
-            }
-          })
-        }
-      },
-      commit(state){
-        let commit = this.workNodeCommit
-        let handldType = "提交";
-        let type = "success"
-        if (state ==='REVERSE'){
-          handldType= "退回"
-          type = "warning"
-        }
-        if (state ==='SKIP'){
-          handldType= "跳过"
-          type = "warning"
+    commit(state){
+      let commit = this.workNodeCommit
+      let handldType = "提交";
+      let type = "success"
+      if (state ==='REVERSE'){
+        handldType= "退回"
+        type = "warning"
+      }
+      if (state ==='SKIP'){
+        handldType= "跳过"
+        type = "warning"
+      }
+      if (state ==='TERMINATE'){
+        handldType= "终止"
+        type = "error"
+      }
+      if (state ==='RESTART'){
+        handldType= "重置"
+        type = "error"
+      }
+      //需要把必要的业务信息提交给流程
+      commit.state = state;
+      commit.instanceNodeId = this.nodeBusinessInfo.currentInstanceNodeId;
+      commit.production = this.nodeBusinessInfo.production;
+      commit.reportNos = this.nodeBusinessInfo.reportNos;
+      commit.ifCheckTask = this.nodeBusinessInfo.ifCheckTask;
+      commit.businessSubId = this.nodeBusinessInfo.businessSubId;
+      commit.businessMinId = this.nodeBusinessInfo.businessMinId;
+      commit.doSecondCheck = this.nodeBusinessInfo.doSecondCheck;
+      commit.doThirdCheck = this.nodeBusinessInfo.doThirdCheck;
+      commit.ifFeedback = this.nodeBusinessInfo.ifFeedback;
+      console.log(commit);
+      let isOk = true
+      this.$emit('workflowCommitVerify',{"commit":commit},val =>{
+        if (!val.state){
+          isOk = false;
         }
-        if (state ==='TERMINATE'){
-          handldType= "终止"
-          type = "error"
+        if (val.cleanReport!=null){
+            commit.cleanReportNo = val.cleanReport;
         }
-        if (state ==='RESTART'){
-          handldType= "重置"
-          type = "error"
+        if (val.nextHandlerId){
+          commit.nextHandlerId =  val.nextHandlerId
         }
-        //需要把必要的业务信息提交给流程
-        commit.state = state;
-        commit.instanceNodeId = this.nodeBusinessInfo.currentInstanceNodeId;
-        commit.production = this.nodeBusinessInfo.production;
-        commit.reportNos = this.nodeBusinessInfo.reportNos;
-        commit.ifCheckTask = this.nodeBusinessInfo.ifCheckTask;
-        commit.businessSubId = this.nodeBusinessInfo.businessSubId;
-        commit.businessMinId = this.nodeBusinessInfo.businessMinId;
-        commit.doSecondCheck = this.nodeBusinessInfo.doSecondCheck;
-        commit.doThirdCheck = this.nodeBusinessInfo.doThirdCheck;
-        commit.ifFeedback = this.nodeBusinessInfo.ifFeedback;
-        let isOk = true
-        this.$emit('workflowCommitVerify',{"commit":commit},val =>{
-          if (!val.state){
-            isOk = false;
-          }
-          if (val.cleanReport!=null){
-              commit.cleanReportNo = val.cleanReport;
-          }
-          if (val.nextHandlerId){
-            commit.nextHandlerId =  val.nextHandlerId
-          }
-        });
-        if (isOk){
-            this.$prompt('请填写处理意见,若无可直接点击确认按钮。',handldType,{
-                confirmButtonText: '确认',
-                cancelButtonText: '取消',
-                type: type,
-            }).then(({value})=>{
-              commit.comments = value;
-              this.$api.workflow.commit(commit).then(res=>{
-              if (res.code === 200 && res.data){
-                this.$notify({
-                    title: '成功',
-                    message: '工作流节点提交成功。',
-                    type: 'success',
-                    duration: 2000
-                  });
-                  this.goBack();
-              }else{
-                this.$notify({
-                    title: '失败',
-                    message: '工作流节点提交失败,请联系管理员。',
-                    type: 'error',
-                    duration: 2000
-                  });
-              }
-            })
+      });
+      if (isOk){
+          this.$prompt('请填写处理意见,若无可直接点击确认按钮。',handldType,{
+              confirmButtonText: '确认',
+              cancelButtonText: '取消',
+              type: type,
+          }).then(({value})=>{
+            commit.comments = value;
+            this.$api.workflow.commit(commit).then(res=>{
+            if (res.code === 200 && res.data){
+              this.$notify({
+                  title: '成功',
+                  message: '工作流节点提交成功。',
+                  type: 'success',
+                  duration: 2000
+                });
+                this.goBack();
+            }else{
+              this.$notify({
+                  title: '失败',
+                  message: '工作流节点提交失败,请联系管理员。',
+                  type: 'error',
+                  duration: 2000
+                });
+            }
           })
-        }
-      },
-      goBack(){
-        const back = this.$route.query.back;
-        if (back) {
-          this.$router.push({path:back, query:this.listQuery})
-        }
-      },
-      getPreviousNode(){
-        const nodes = this.queue;
-        nodes.map((item,index)=>{
-          if (item.state==="PENDING"){
-            this.$emit("getPreviousNode",this.queue[(index-1)])
-          }
         })
-      },
-    }
+      }
+    },
+    goBack(){
+      const back = this.$route.query.back;
+      if (back) {
+        this.$router.push({path:back, query:this.listQuery})
+      }
+    },
+    getPreviousNode(){
+      const nodes = this.queue;
+      nodes.map((item,index)=>{
+        if (item.state==="PENDING"){
+          this.$emit("getPreviousNode",this.queue[(index-1)])
+        }
+      })
+    },
   }
+}
 </script>
 
 <style lang="scss" scoped>
-  .contanier{
-    width:100%;
-    height:auto;
-  }
-  .node-area{
-    width:100%;
-  }
-  .node-seq{
-    display:flex;
-    float:left
-  }
-  .button-area{
-    text-align: right;
-  }
-  /deep/.nodeDialog {
-  border-radius: 20px;
+.contanier{
+  width:100%;
+  height:auto;
+}
+.node-area{
+  width:100%;
+}
+.node-seq{
+  display:flex;
+  float:left
+}
+.button-area{
+  text-align: right;
+}
+/deep/.nodeDialog {
+border-radius: 20px;
 }
 </style>
 

+ 162 - 27
src/views/personal/todoDetail.vue

@@ -956,7 +956,9 @@
             <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%; width: 20%;" v-if="hasStatement">
               <img :src="statementCardPNG"  class="image">
               <div style="padding: 14px;">
-                <span>房地产意见书</span> <time class="time">{{ statementProd.modified }}</time>
+                <span>房地产意见书</span>
+                <span class="checked">{{ statementProd.checkState }}<i v-if="statementProd.checkState" class="el-icon-circle-check"></i></span> 
+                <time class="time">{{ statementProd.modified }}</time>
                 <div class="control" >
                   <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
                   <el-button type="text" class="button" @click="warehouse()" :disabled="currentNode.nodeCode!='STATEMENT_IN' && currentNode.nodeCode!='STATEMENT_OUT'">出入库</el-button>
@@ -974,10 +976,12 @@
             <el-card :body-style="{ padding: '0px' }" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;" v-if="hasReport">
               <img :src="technicCardPNG" class="image">
               <div style="padding: 14px;">
-                <span>技术报告</span><time class="time">{{ technicReportProd.modified }}</time>
+                <span>技术报告</span>
+                <span class="checked">{{ technicReportProd.checkState }}<i v-if="technicReportProd.checkState" class="el-icon-circle-check"></i></span> 
+                <time class="time">{{ technicReportProd.modified }}</time>
                 <div class="control">
                     <el-button type="text" class="button" @click="doStamp(technicReportProd.files)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">加盖公章</el-button>
-                    <el-button type="text" class="button" @click="doStamp(technicReportProd.files)" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
+                    <el-button type="text" class="button" @click="warehouse()" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
                     <el-button type="text" class="button" @click="genProductionFile(2)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">系统生成</el-button>
                 </div>
               </div>
@@ -991,10 +995,12 @@
             <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;" v-if="hasReport">
               <img :src="finalCardPNG"  class="image">
               <div style="padding: 14px;">
-                <span>结果报告</span><time class="time">{{ finalReprotProd.modified }}</time>
+                <span>结果报告</span>
+                <span class="checked">{{ finalReprotProd.checkState }}<i v-if="finalReprotProd.checkState" class="el-icon-circle-check"></i></span>
+                <time class="time">{{ finalReprotProd.modified }}</time>
                 <div class="control" >
                   <el-button type="text" class="button" @click="doStamp(finalReprotProd.files)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">加盖公章</el-button>
-                  <el-button type="text" class="button" @click="doStamp(finalReprotProd.files)" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
+                  <el-button type="text" class="button" @click="warehouse()" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
                   <el-button type="text" class="button" @click="genProductionFile(3)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">系统生成</el-button>
                 </div>    
               </div>
@@ -1082,7 +1088,7 @@
       <el-dialog  :visible.sync="inWarehouseDialog" width="25%" center top="35vh" custom-class="doWarehouseClass">
         <div>
           <i class="el-icon-warning" style="color:RGB(230,162,60);font-size:22px;margin-right:10px;"></i>
-          <span style="position:absolute;top:58px">{{ warehouseTip }}</span>
+          <span style="position:absolute;top:58px;padding-right:50px">{{ warehouseTip }}</span>
         </div>
         <span slot="footer" class="dialog-footer">
           <el-button @click="warehouseDialog = false">取 消</el-button>
@@ -1099,6 +1105,73 @@
           <el-button type="primary" @click="doOutWareHouse()">确 定</el-button>
         </span>
       </el-dialog>
+      <el-dialog :visible.sync="checkDialog" width="50%" center top="25vh" custom-class="doWarehouseClass">
+        <el-divider content-position="left">产品审核</el-divider>
+        <el-form ref="targetForm" :model="target">
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="24" :span="6">
+              <el-form-item
+                label="坐落:"
+                prop="location"
+                label-width="140px"
+                class="postInfo-container-item"
+              >
+                <el-input :value="target.location" class="filter-item" disabled readonly style=" width: 100%"/>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="8" :span="6">
+              <el-form-item
+                label="评估面积(平):"
+                prop="acreage"
+                label-width="140px"
+                class="postInfo-container-item"
+              >
+              <el-input v-model="target.acreage" disabled readonly ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="8" :span="6">
+              <el-form-item
+                label="评估单价(元):"
+                prop="price"
+                label-width="140px"
+                class="postInfo-container-item"
+              >
+              <el-input v-model="target.price" disabled readonly></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="8" :span="6">
+              <el-form-item
+              label="评估总价(元):"
+              prop="amount"
+              label-width="140px"
+              class="postInfo-container-item"
+            >
+            <el-input v-model="target.amount" disabled readonly></el-input>
+            </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="24" :span="6">
+              <el-form-item
+              label="备注:"
+              prop="amount"
+              label-width="140px"
+              class="postInfo-container-item"
+            >
+             <span style="font-weight: bolder; color: red;">本人已对评估结果信息及报告文档完成审核,已确认无误。</span> 
+            </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :xs="24" :sm="12" :lg="24" :span="6">
+                <el-button type="info" plain style="margin-left: 40%;" @click="checkDialog=false">取消</el-button>
+                <el-button type="success" plain @click="checkPass()">确认</el-button>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-dialog>
     </div>
 </template>
   <script>
@@ -1195,7 +1268,8 @@
                 currentNodeInstanceCode:null,
                 production:[],
                 businessSubId:null,
-                ifFeedback:null
+                ifFeedback:null,
+                ccId:null
             },
             currentNode:{
                 flowId:null,
@@ -1221,6 +1295,7 @@
               purpose:[],
               location:null,
               clienteleType:null,
+              clienteleId:null,
               cclienteleName:null,
               cclienteleSubName:null,
               agent:null,
@@ -1413,19 +1488,22 @@
                 id:null,
                 targetId:null,
                 files:[],
-                created:null
+                created:null,
+                checkSatae:null
             },
             technicReportProd:{
                 id:null,
                 targetId:null,
                 files:[],
-                created:null
+                created:null,
+                checkSatae:null
             },
             finalReprotProd:{
                 id:null,
                 targetId:null,
                 files:[],
-                created:null
+                created:null,
+                checkSatae:null
             },
             statementCardPNG:emptyPNG,
             technicCardPNG:emptyPNG,
@@ -1436,7 +1514,12 @@
             productionId:null,
             hasStatement:false,
             hasReport:false,
-            feedback:[]
+            feedback:[],
+            checkDialog:false,
+            checkProDTO:{
+              targetId:null,
+              production:null
+            }
 
         }
       },
@@ -1475,6 +1558,7 @@
                         if (this.personal.evaluateAim==='抵押'){
                           this.linkAttributes.ownerName = this.personal.bailorA;
                         }
+                        this.nodeBusinessInfo.ccId = this.personal.clienteleId;
                     }
                 })
             }
@@ -1611,8 +1695,14 @@
                   callback(verify);
                   return ;
               case "REVIEW_STATEMENT":
-                const id = this.statementProd.id
-                this.checkPass(id);
+                if (!this.statementProd.checkState){
+                  verify.state = false;
+                  callback(verify);
+                  this.checkProDTO.production = "STATEMENT";
+                  this.checkProDTO.targetId = this.target.id;
+                  this.checkDialog = true
+                  return ;
+                }
                 callback(verify);
                 return ;
               case "WRITE_REPORT":
@@ -1640,6 +1730,17 @@
                   }
                   callback(verify);
                   return ;
+              case "CHECK_REPORT":
+                 if (!this.technicReportProd.checkState || !this.finalReprotProd.checkState){
+                    verify.state = false;
+                    callback(verify);
+                    this.checkProDTO.production = "REPORT";
+                    this.checkProDTO.targetId = this.target.id;
+                    this.checkDialog = true
+                    return ;
+                 }
+                  callback(verify);
+                  return ;
             }
           }
         },
@@ -2007,41 +2108,70 @@
               }
             })
         },
-        checkPass(id){
-          this.$api.personalProduction.checkPass(id);
+        checkPass(){
+          if (this.checkProDTO.targetId && this.checkProDTO.production){
+            const taskRecordDTO = this.buildTaskRecordDTO(this.checkProDTO);
+            this.$api.personalProduction.checkPass(taskRecordDTO).then(res=>{
+              if (res.code ===200 && res.data){
+                this.$notify({
+                      title: '成功',
+                      message:'审核成功',
+                      type: 'success',
+                      duration: 2000
+                  });
+              }else{
+                this.$notify({
+                      title: '失败',
+                      message:'审核失败',
+                      type: 'error',
+                      duration: 2000
+                    });
+              }
+              this.checkDialog = false;
+              this.getProductions();
+            })
+          }
+          
         },
         warehouse(){
           const code = this.currentNode.nodeCode;
            if (code==='STATEMENT_IN'){
               const fileName = this.statementProd.files[0].name
               this.warehouseTip = "请确认将["+fileName+"]入库?";
-              this.productionId = this.statementProd.id;
+              this.checkProDTO.production = "STATEMENT";
+              this.checkProDTO.targetId = this.target.id;
               this.inWarehouseDialog = true;
            }
            if (code==='STATEMENT_OUT'){
               const fileName = this.statementProd.files[0].name
               this.warehouseTip = "请确认将["+fileName+"]出库?";
-              this.productionId = this.statementProd.id;
+              this.checkProDTO.production = "STATEMENT";
+              this.checkProDTO.targetId = this.target.id;
               this.outWarehouseDialog = true;
            }
            if (code==='REPORT_IN'){
-              const fileName = this.technicReportProd.files[0].name
-              this.warehouseTip = "请确认将["+fileName+"]入库?";
-              this.productionId = this.statementProd.id
+              const technicName = this.technicReportProd.files[0].name;
+              const fianlName = this.finalReprotProd.files[0].name;
+              this.warehouseTip = "请确认将["+technicName+"],["+fianlName+"]入库?";
+              this.checkProDTO.production = "REPORT";
+              this.checkProDTO.targetId = this.target.id;
+              
               this.inWarehouseDialog = true;
            }
            if (code==='REPORT_OUT'){
-              const fileName = this.technicReportProd.files[0].name
-              this.warehouseTip = "请确认将["+fileName+"]出库?";
-              this.productionId = this.statementProd.id;
+              const technicName = this.technicReportProd.files[0].name
+              const fianlName = this.finalReprotProd.files[0].name;
+              this.warehouseTip = "请确认将["+technicName+"],["+fianlName+"]出库?";
+              this.checkProDTO.production = "REPORT";
+              this.checkProDTO.targetId = this.target.id;
               this.outWarehouseDialog = true;
            }
             
 
         },
         doInWareHouse(){
-          if (this.productionId){
-            let taskRecordDTO = this.buildTaskRecordDTO(this.productionId);
+          if (this.checkProDTO.targetId && this.checkProDTO.production){
+            let taskRecordDTO = this.buildTaskRecordDTO(this.checkProDTO);
               this.$api.personalProduction.inWareHouse(taskRecordDTO).then(res=>{
                 if (res.code ===200 && res.data){
                   this.$notify({
@@ -2064,8 +2194,8 @@
           
         },
         doOutWareHouse(){
-          if (this.productionId){
-            let taskRecordDTO = this.buildTaskRecordDTO(this.productionId);
+          if (this.checkProDTO.targetId && this.checkProDTO.production){
+            let taskRecordDTO = this.buildTaskRecordDTO(this.checkProDTO);
               this.$api.personalProduction.outWareHouse(taskRecordDTO).then(res=>{
                 if (res.code ===200 && res.data){
                   this.$notify({
@@ -2216,5 +2346,10 @@
       position: relative;
       top: 10px;
   }
+  .checked{
+    margin-left:10px;
+    font-size:12px;
+    color:green;
+  }
   </style>
   

+ 6 - 3
src/views/set/workflow/detail.vue

@@ -146,9 +146,12 @@
               class="filter-item"
               style="width: 100%"
             >
-              <el-option key="1" label="评估对象价值校验" value="CHECK_PRODUCTION_CHECK"/>
-              <el-option key="2" label="出具产品类型校验" value="CHECK_PRODUCTION_TYPE"/>
-              <el-option key="3" label="产品已收款校验" value="CHECK_PRODUCTION_FUND"/>
+              <el-option key="1" label="评估对象价值校验(大中型)" value="CHECK_PRODUCTION_CHECK"/>
+              <el-option key="2" label="出具产品类型校验(大中型)" value="CHECK_PRODUCTION_TYPE"/>
+              <el-option key="3" label="产品已收款校验(大中型)" value="CHECK_PRODUCTION_FUND"/>
+              <el-option key="4" label="报价反馈节点校验(个贷)" value="CHECK_FEEDBACK"/>
+              <el-option key="5" label="出具产品类型校验(个贷)" value="CHECK_PERSONAL_PRODUCTION_TYPE"/>
+              <el-option key="6" label="客户类型校验(个贷)" value="CHECK_PERSONAL_CLIENT_TYPE"/>
             </el-select>
         </el-form-item>
         <el-form-item label="节点任务:" prop="tasks">