zhuliu 7 months ago
parent
commit
f9aa9f6c2b

+ 37 - 0
src/api/newApi/reportAffair.js

@@ -9,4 +9,41 @@ export default {
     queryAssoCasePhaseList(data){
         return axios.post('/xiaoshi/reportAffair/queryAssoCasePhaseList', data)
     },
+    /**
+     * 添加案件文档接口
+     * @param {*} data 
+     * {
+            occurredTime:时间,
+            fileGuids:文件guid列表,
+            description:描述,
+            assoasePhaseId:案件阶段id,
+            caseChildPhase:自定义案件子阶段,
+            ifSendEmail:是否发送邮箱,
+            extraEmailDTOS:自定义邮箱,
+            projectId:项目id(必填),
+        }
+     * @return {*} 
+     */
+    addReportAffairCase(data){
+        return axios.post('/xiaoshi/reportAffair/addReportAffairCase', data)
+    },
+    /**
+     * 添加案件文档接口
+     * @param {*} data 
+     * {
+            id:案件流程id,
+            occurredTime:时间,
+            fileGuids:文件guid列表,
+            description:描述,
+            assoasePhaseId:案件阶段id,
+            caseChildPhase:自定义案件子阶段,
+            ifSendEmail:是否发送邮箱,
+            extraEmailDTOS:自定义邮箱,
+            projectId:项目id(必填),
+        }
+     * @return {*} 
+     */
+    updateReportAffairCase(data){
+        return axios.post('/xiaoshi/reportAffair/updateReportAffairCase', data)
+    },
 };

+ 95 - 34
src/views/report/InvalidResponse/components/dialog/editFlowPath.vue

@@ -2,16 +2,23 @@
     <div class="responseDialog">
       <el-dialog  :title="(form.id?'编辑':'添加') +type.title" :visible.sync="showDialog" width="700px" :close-on-click-modal="false"  :before-close="handleClose" append-to-body>
         <el-form  :model="form" :rules="rules" ref="form" label-width="120px" label-position="left">
-          <template v-if="type.type==8">
+          <el-form-item label="案件阶段">
+            <span>{{ type.casePhase }}</span>
+          </el-form-item>
+          <template v-if="type.type==17 || type.type==27">
             <el-form-item label="案件子阶段">
-              <el-input  v-model="form.recordDescription" autocomplete="off" placeholder="请输入案件子阶段名称"></el-input>
+              <el-input  v-model="form.caseChildPhase" autocomplete="off" placeholder="请输入案件子阶段名称"></el-input>
+            </el-form-item>
+          </template>
+          <template v-else>
+            <el-form-item label="案件子阶段">
+              <span>{{ type.caseChildPhase }}</span>
             </el-form-item>
           </template>
-
           <el-form-item :label="type.time">
             <el-date-picker v-model="form[type.timeField]" value-format="yyyy-MM-dd" type="date"  placeholder="请选择时间" style="width: 100%;"></el-date-picker>
           </el-form-item>
-          <template v-if="type.type==0">
+          <template v-if="type.type==6">
             <el-form-item  label="地点">
               <el-input  v-model="form.position" autocomplete="off" placeholder="请输入地点"></el-input>
             </el-form-item>
@@ -29,7 +36,7 @@
                 </el-form-item>
             </div>
           </template>
-          <template v-if="type.type ==3">
+          <template v-if="type.type ==7">
             <div>
                 <el-form-item label="决定书号码">
                     <el-input v-model="form.fileNo" autocomplete="off" placeholder="请输入决定书号码"></el-input>
@@ -46,14 +53,14 @@
                 </el-form-item>
             </div>
           </template>
-          <template v-if="type.type ==5">
+          <template v-if="type.type ==16">
             <div>
               <el-form-item label="行诉结果">
                     <el-input v-model="form.conclusion" autocomplete="off" placeholder="请输入结论"></el-input>
                 </el-form-item>
             </div>
           </template>
-          <template v-if="type.type ==8">
+          <template v-if="type.type ==17 || type.type ==27">
             <div>
                 <el-form-item label="文档名称">
                   <el-input v-model="form.documentName" autocomplete="off" placeholder="请输入文档名称"></el-input>
@@ -117,7 +124,7 @@
   
 <script>
 import addEmailVue from '../IPREmail/components/dialog/addEmail.vue'
-const defaultSendEmail = ['0','1','3','4','5','7','8']
+const defaultSendEmail = ['6','1','7','8','16','3','17','27']
   export default {
     components:{
       addEmailVue
@@ -141,8 +148,8 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
         isFinish: false,
         type:{},
         types:{
-            0:{
-                type:'0',
+            6:{
+                type:'6',
                 title:'口审记录',
                 time:'口审时间',
                 timeField:'oralTrailTime'
@@ -153,44 +160,62 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
                 time:'提出无效时间',
                 timeField:'invalidRequestDate'
             },
-            2:{
-                type:'2',
+            5:{
+                type:'5',
                 title:'陈述意见书',
                 time:'陈述答复时间',
                 timeField:'stateReplyTime'
             },
-            3:{
-                type:'3',
+            7:{
+                type:'7',
                 title:'无效决定书',
                 time:'无效决定时间',
                 timeField:'invalidDecisionTime'
             },
-            4:{
-                type:'4',
+            8:{
+                type:'8',
                 title:'行政诉讼书',
                 time:'发起诉讼时间',
                 timeField:'proceedingTime'
             },
-            5:{
-                type:'5',
+            18:{
+                type:'18',
+                title:'行政诉讼书',
+                time:'发起诉讼时间',
+                timeField:'proceedingTime'
+            },
+            16:{
+                type:'16',
                 title:'行政诉讼判决书',
                 time:'法院判决时间',
                 timeField:'judgmentTime'
             },
-            6:{
-                type:'6',
+            26:{
+                type:'26',
+                title:'行政诉讼判决书',
+                time:'法院判决时间',
+                timeField:'judgmentTime'
+            },
+            2:{
+                type:'2',
                 title:'权要修改记录',
                 time:'权要修改时间',
                 timeField:'claimHistoryTime'
             },
-            7:{
-                type:'7',
+            3:{
+                type:'3',
                 title:'补充证据和理由记录',
                 time:'补充证据和理由时间',
                 timeField:'supplyEvidenceTime'
             },
-            8:{
-                type:'8',
+            17:{
+                type:'27',
+                title:'其他文档',
+                time:'文档时间',
+                timeField:'documentTime'
+            },
+            27:{
+                type:'27',
                 title:'其他文档',
                 time:'文档时间',
                 timeField:'documentTime'
@@ -215,8 +240,21 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
     },
     methods: {
         open(type,form) {
-            this.type = this.types[type] || {}
+            let type1 = this.types[type.flowType] || {
+              type:type.flowType,
+              time:'发文日',
+              timeField:'occurredTime'
+            }
+            this.type = {
+              ...type1,
+              title : type.flowName,
+              ...type
+            }
             this.form = JSON.parse(JSON.stringify(form))
+            if(type.id){
+              this.form.assoCasePhaseId = type.id
+            }
+            
             this.otherPerson = []
             if(this.$permission.FunPermissions('xiaoshi/sendEmail')){
               if(defaultSendEmail.indexOf(type+'')!=-1){
@@ -310,34 +348,40 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
                       return false
                     }
                     this.loading = true
-                    switch(this.type.type){
-                        case '0':
+                    switch(this.type.type + ''){
+                        case '6':
                             this.addOralTrail()
                             break;
                         case '1':
                             this.addInvalidProcess()
                             break;
-                        case '2':
+                        case '5':
                             this.addStateOpinion()
                             break;
-                        case '3':
+                        case '7':
                             this.addInvalidDecisionFile()
                             break;
-                        case '4':
+                        case '8':
+                        case '18':
                             this.addAdminProceed()
                             break;
-                        case '5':
+                        case '16':
+                        case '26':
                             this.addAdminProceedJudgment()
                             break;
-                        case '6':
+                        case '2':
                             this.addPatentClaimHistory()
                             break;
-                        case '7':
+                        case '3':
                             this.addSupplyEvidence()
                             break;
-                        case '8':
+                        case '17':
+                        case '27':
                             this.addOtherDocuments()
                             break;
+                        default:
+                            this.addReportAffairCase()
+                          break;
                     }
                 } else {
                     return false;
@@ -345,6 +389,23 @@ const defaultSendEmail = ['0','1','3','4','5','7','8']
             });
             
         },
+        //其他文档信息的上传
+        addReportAffairCase(){
+          var api = ''
+          if(this.form.id){
+            api = 'addReportAffairCase'
+          }else{
+            api = 'updateReportAffairCase'
+          }
+          this.$api[api](this.form).then(response=>{
+            if(response.code == 200){
+              this.$emit('save',true)
+              this.handleClose()
+            }
+          }).catch(error=>{
+            this.loading = false
+          }) 
+        },
         // 上传无效请求书
         addInvalidProcess() {
           var api = ''

+ 43 - 31
src/views/report/InvalidResponse/components/flowPath/flowPath.vue

@@ -27,13 +27,13 @@
           <template v-for="(menu,index) in menuList">
             <el-dropdown-item :key="'menu1'+index" v-if="menu.children && menu.children.length">
               <el-dropdown placement="left-start" >
-                  <span>{{ menu.title }}<i class="el-icon-arrow-right"></i></span>
+                  <span>{{ menu.casePhase }}<i class="el-icon-arrow-right"></i></span>
                 <el-dropdown-menu slot="dropdown" >
-                  <el-dropdown-item v-for="menuItem in menu.children" :key="menuItem.id" :command="menuItem.id" @click.native="handleCommand(menuItem)">{{menuItem.title}}</el-dropdown-item>
+                  <el-dropdown-item v-for="menuItem in menu.children" :key="menuItem.id" :command="menuItem.id" @click.native="handleCommand(menuItem)">添加{{menuItem.flowName}}</el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown>
             </el-dropdown-item>
-            <el-dropdown-item v-else :key="'menu2'+index" :command="menu.id" @click.native="handleCommand(menu)">{{menu.title}}</el-dropdown-item>
+            <el-dropdown-item v-else :key="'menu2'+index" :command="menu.id" @click.native="handleCommand(menu)">添加{{menu.casePhase}}</el-dropdown-item>
           </template>
         </el-dropdown-menu>
         
@@ -45,31 +45,31 @@
         <el-timeline-item v-for="item in timelineList" :timestamp="item.occurredTime" :key="item.id" placement="top">
           <el-card>
             <div>
-              <span>{{ timeType[item.affairType] }}:</span><span>{{ item.occurredTime}}</span>
+              <span>{{ timeType[item.flowType] }}:</span><span>{{ item.occurredTime}}</span>
               <div style="float: right;">
                   <span style="margin-right: 10px;"  @click="edit(item)"><el-link>编辑</el-link></span>
                   <span  @click="dele(item)"><el-link>删除</el-link></span>
               </div>
             </div>
             
-            <div v-if="item.affairType==0">
+            <div v-if="item.flowType==6">
               <p><span>地点:</span><span>{{ item.oralTrailVO.position }}</span></p>
               <p><span>参与人:</span><span>{{ item.oralTrailVO.participator }}</span></p>
               <p><span>口审笔录描述:</span><span>{{ item.oralTrailVO.recordDescription }}</span></p>
             </div>
-            <div v-if="item.affairType==1">
+            <div v-if="item.flowType==1">
               <p><span>发文日:</span><span>{{ item.invalidRequestFileVO.invalidFileSendDate }}</span></p>
             </div>
-            <div v-if="item.affairType==3">
+            <div v-if="item.flowType==7">
               <p><span>决定书号码:</span><span>{{ item.invalidDecisionFileVO.fileNo }}</span></p>
               <p><span>法律依据:</span><span>{{ item.invalidDecisionFileVO.legalBase }}</span></p>
               <p><span>决定要点:</span><span>{{ item.invalidDecisionFileVO.decisionKey }}</span></p>
               <p><span>无效结果:</span><span>{{ item.invalidDecisionFileVO.conclusion }}</span></p>
             </div>
-            <div v-if="item.affairType==5">
+            <div v-if="item.flowType==16||item.flowType==26">
               <p><span>行诉结果:</span><span>{{ item.judgementVO.conclusion }}</span></p>
             </div>
-            <div v-if="item.affairType==8">
+            <div v-if="item.flowType==17||item.flowType==27">
               <p><span>文档名称:</span><span>{{ item.otherDocumentsVO.documentName }}</span></p>
             </div>
             <div>
@@ -109,14 +109,17 @@ export default {
       queryParams: {},
       timeType: {
         '1': '提出无效时间',
-        '2': '陈述答复时间',
-        '0': '口审时间',
-        '3': '无效决定时间',
-        '4': '发起诉讼时间',
-        '5': '法院判决时间',
-        '6':  '权要修改时间',
-        '7':  '补充证据和理由时间',
-        '8':'文档时间'
+        '5': '陈述答复时间',
+        '6': '口审时间',
+        '7': '无效决定时间',
+        '8': '发起诉讼时间',
+        '18': '发起诉讼时间',
+        '16': '法院判决时间',
+        '26': '法院判决时间',
+        '2':  '权要修改时间',
+        '3':  '补充证据和理由时间',
+        '17':' 文档时间',
+        '27':' 文档时间',
       },
       menuList:[],
       currentMenuList:[]
@@ -134,17 +137,17 @@ export default {
     getMenuList(){
       this.$api.queryAssoCasePhaseList().then(response=>{
         if(response.code == 200){
-          var data = response.data
+          var data = response.data.data
           this.currentMenuList = data
           let arr = []
           for(let i = 0;i<data.length;i++){
             let item = data[i]
             let obj = arr.find(a=>{
-              return a.title == item.casePhase
+              return a.casePhase == item.casePhase
             })
             if(!obj){
               obj = {
-                title : item.casePhase,
+                casePhase : item.casePhase,
                 children:[]
               }
               arr.push(obj)
@@ -185,15 +188,18 @@ export default {
     // 编辑
     edit(item) {
       var field= {
-        0:'oralTrailVO',
+        6:'oralTrailVO',
         1:'invalidRequestFileVO',
-        2:'stateOpinionVO',
-        3:'invalidDecisionFileVO',
-        4:'adminProceedVO',
-        5:'judgementVO',
-        6:'claimHistoryVO',
-        7:'supplyEvidenceVO',
-        8:'otherDocumentsVO'
+        5:'stateOpinionVO',
+        7:'invalidDecisionFileVO',
+        8:'adminProceedVO',
+        18:'adminProceedVO',
+        16:'judgementVO',
+        26:'judgementVO',
+        2:'claimHistoryVO',
+        3:'supplyEvidenceVO',
+        17:'otherDocumentsVO',
+        27:'otherDocumentsVO',
       }
       var form = {
         id:item.id,
@@ -201,9 +207,16 @@ export default {
         affairType:item.affairType,
         description:item.description,
         systemFileList:item.systemFileList,
-        ...item[field[item.affairType]]
+        ...item[field[item.flowType]]
+      }
+      let type = {
+        id:item.assoCasePhaseId,
+        flowName:item.flowName,
+        casePhase:item.casePhase,
+        caseChildPhase:item.caseChildPhase,
+        flowType:item.flowType
       }
-      this.$refs.responseDialog.open(item.affairType,form)
+      this.$refs.responseDialog.open(type,form)
     },
     // 删除
     dele(item) {
@@ -236,7 +249,6 @@ export default {
       var form = {
         systemFileList:[]
       }
-      form.type = option
       this.$refs.responseDialog.open(option,form)
     },
   },