zhuhao 1 سال پیش
والد
کامیت
b1e3e25dd4

+ 12 - 10
src/router/index.js

@@ -289,16 +289,18 @@ const routes = [
       //       },
       //       component:() => import('@/views/report/tort/index.vue'),
       //     },
-      //     //回避设计
-      //     {
-      //       path: '/avoid',
-      //       name:"avoid",
-      //       meta:{
-      //         aside: true,
-      //         showHeader:true,
-      //       },
-      //       component:() => import('@/views/report/avoid/index.vue'),
-      //     },
+          //回避设计
+          {
+            path: '/avoid',
+            name:"avoid",
+            meta:{
+              aside: true,
+              showHeader: true,
+              sign:'avoid',
+              belong:'AllReport'
+            },
+            component:() => import('@/views/report/avoid/index.vue'),
+          },
       //     //无效分析、第三方意见、稳定性分析报告详情
       //     {
       //       path: '/rDetails',

+ 2 - 2
src/views/patentMining/components/dialog/handleTask1.vue

@@ -51,7 +51,7 @@
           <el-col :span="24">
             <el-form-item label="参与人:">
               <div class="manage">
-                <el-button size="small" @click="showDialog()">选择</el-button>
+                <el-button :disabled="form.isLook" size="small" @click="showDialog()" >选择</el-button>
                 <div v-html="getNames(form.involvedPersons)">
 
                 </div>
@@ -64,7 +64,7 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="负责人:">
-              <span v-if="form.isLook">{{ form.headId ? form.headId : '--' }}</span>
+              <span v-if="form.isLook">{{ form.headName ? form.headName : '--' }}</span>
               <el-select v-else v-model="form.headId" placeholder="请选择负责人" style="width: 100%;" filterable remote
                 :remote-method="remoteMethodPerson" v-SelectLazyLoading="lazyLoadingPerson"
                 :loading="personnelList.loading">

+ 3 - 5
src/views/patentMining/components/dialog/handleTask2.vue

@@ -31,9 +31,6 @@
         </el-form-item>
       </el-form>
 
-
-
-
       <span slot="footer" class="dialog-footer">
         <el-button @click="handleClose" size="small">取 消</el-button>
         <template>
@@ -187,6 +184,7 @@ export default {
   .el-dialog__body {
     padding: 10px 20px;
   }
+
 }
 </style>
 <style lang="scss" scoped>
@@ -209,8 +207,8 @@ export default {
   }
 
   .dialog-footer {
-    display: flex;
-    justify-content: end;
+    display: flex !important;
+    justify-content: end !important;
   }
 }
 </style>

+ 55 - 42
src/views/report/components/index.vue

@@ -20,21 +20,21 @@
               }}</el-button>
           </el-button-group>
           <div id="step4" class="margin-left_10">
-            <el-dropdown size="small"  v-if="$permission('/pcs/report/add')">
+            <el-dropdown size="small" v-if="$permission('/pcs/report/add')">
               <el-button type="primary" size="small">
                 创建报告<i class="el-icon-arrow-down el-icon--right"></i>
               </el-button>
-              <el-dropdown-menu slot="dropdown" style="margin-top:0px" v-if="dictMessage.REPORT_TYPE && dictMessage.REPORT_TYPE.length>0">
+              <el-dropdown-menu slot="dropdown" style="margin-top:0px"
+                v-if="dictMessage.REPORT_TYPE && dictMessage.REPORT_TYPE.length > 0">
                 <!-- 遍历按钮 -->
-                <el-dropdown-item
-                  v-for="item in dictMessage.REPORT_TYPE.filter(item => !['6'].includes(item.value))"
+                <el-dropdown-item v-for="item in dictMessage.REPORT_TYPE.filter(item => !['6'].includes(item.value))"
                   :key="item.label" @click.native="handleAnalyse(item.value)"
                   v-if="$permission('/pcs/report/add/' + item.permission)">{{ item.label }}</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
             <el-button type="primary" class="margin-left_10" size="small" @click="showField">显示栏位管理</el-button>
           </div>
-          
+
         </div>
       </el-header>
       <el-main id="patent-list-container" class="main" v-loading="loading">
@@ -73,10 +73,10 @@ export default {
   },
   props: {
     isOperate: '',
-    matterId:{},
-    scenarioId:{},
-    eventName:'',
-    eventId:'',
+    matterId: {},
+    scenarioId: {},
+    eventName: '',
+    eventId: '',
   },
   data() {
     return {
@@ -103,10 +103,10 @@ export default {
       //检索条件
       searchOption: {
         name: localStorage.searchContent,
-        reportType:localStorage.reportType? [localStorage.reportType]:'',
-        scenarioNames:this.scenarioId,
-        matterNames:this.matterId,
-        eventNames:this.eventName
+        reportType: localStorage.reportType ? [localStorage.reportType] : '',
+        scenarioNames: this.scenarioId,
+        matterNames: this.matterId,
+        eventNames: this.eventName
       },
       //分组的值
       groupingValue: '',
@@ -138,7 +138,7 @@ export default {
       columnList: [],
       // 子组件新增、编辑报告成功发送的字符串
       handleMessage: '',
-      showView:false,
+      showView: false,
     };
   },
   watch: {},
@@ -191,15 +191,15 @@ export default {
       return []
 
     },
-    scene(){
-      var a = this.$store.state.dictMessage.scenario.map(item=>{
+    scene() {
+      var a = this.$store.state.dictMessage.scenario.map(item => {
         return {
-          label:item.name,
-          value:item.id
+          label: item.name,
+          value: item.id
         }
       })
-      var obj = this.searchFiled.find(item=>{return item.label == '应用场景'})
-      if(obj){
+      var obj = this.searchFiled.find(item => { return item.label == '应用场景' })
+      if (obj) {
         obj.options = a
       }
       return this.$store.state.dictMessage.scenario
@@ -271,22 +271,22 @@ export default {
               this.handleSearchArray(obj)
             }
           })
-           //为应用场景添加选项
-           var obj = this.searchFiled.find(item=>{return item.label == '应用场景'})
-          if(obj){
-            obj.options = this.scene.map(item=>{
+          //为应用场景添加选项
+          var obj = this.searchFiled.find(item => { return item.label == '应用场景' })
+          if (obj) {
+            obj.options = this.scene.map(item => {
               return {
-                label:item.name,
-                value:item.id
+                label: item.name,
+                value: item.id
               }
             })
           }
-          var obj = this.searchFiled.find(item=>{return item.label == '调查类型'})
-          if(obj){
-            obj.options = this.matter.map(item=>{
+          var obj = this.searchFiled.find(item => { return item.label == '调查类型' })
+          if (obj) {
+            obj.options = this.matter.map(item => {
               return {
-                label:item.name,
-                value:item.id
+                label: item.name,
+                value: item.id
               }
             })
           }
@@ -298,7 +298,7 @@ export default {
     handleSearchArray(obj) {
       switch (obj.label) {
         case '报告类型':
-          if(this.dictMessage.REPORT_TYPE && this.dictMessage.REPORT_TYPE.length>0){
+          if (this.dictMessage.REPORT_TYPE && this.dictMessage.REPORT_TYPE.length > 0) {
             let dict = this.dictMessage.REPORT_TYPE.filter(item => !['6'].includes(item.value))
             obj.options = dict.map(item => {
               return {
@@ -307,7 +307,7 @@ export default {
               }
             })
           }
-          
+
           break;
         case '报告状态':
           obj.options = [
@@ -377,8 +377,8 @@ export default {
         searchQuery: this.$commonJS.objectToString(this.searchOption),//检索条件
         orderDTOList: [
           {
-            orderBy:this.groupingValue,
-            orderType:this.sort.orderType
+            orderBy: this.groupingValue,
+            orderType: this.sort.orderType
           }
         ],//排序
         groupBy: this.groupingValue,//分组信息
@@ -398,7 +398,7 @@ export default {
     handleSort({ column, prop, order }) {
       //如需要多个字段排序,则不需要清空
       var params = {
-        sort:this.sort,
+        sort: this.sort,
         column,
         prop,
         order,
@@ -463,10 +463,10 @@ export default {
     handleAnalyse(id) {
       var form = {
         reportType: id,
-        eventId:this.eventId,
-        eventName:this.eventName,
-        matterId:this.matterId || [],
-        scenarioId:this.scenarioId || [],
+        eventId: this.eventId,
+        eventName: this.eventName,
+        matterId: this.matterId || [],
+        scenarioId: this.scenarioId || [],
       }
       this.$refs.ReportForm.open(form)
     },
@@ -512,7 +512,7 @@ export default {
           window.open(routerReport3.href, '_blank');
           break
         case '9'://回避设计
-          this.handleDetails(row)
+          this.handleDetails(row, '回避设计')
           break;
         case '10'://添加对比文件
           this.addPatentList(row)
@@ -534,6 +534,19 @@ export default {
           break
       }
     },
+    // 跳转回避设计或拆分特征
+    handleDetails(row, type) {
+      if (type == '回避设计') {
+        var router = this.$router.resolve({
+          path: "/avoid",
+          query: {
+            patentNo: row.patentNo,
+            reportId: row.reportId,
+          }
+        })
+        window.open(router.href, '_blank');
+      }
+    },
     // 删除
     handleDelete(row, isLast) {
       this.handleDeletes([row.id], isLast)
@@ -632,7 +645,7 @@ export default {
     },
     //清空信息
     clearMessage() {
-      this.$emit('submit',true)
+      this.$emit('submit', true)
       this.$nextTick(() => {
         this.handleMessage = ''
       })

+ 49 - 25
src/views/task/components/index.vue

@@ -6,7 +6,7 @@
           <mySearch :SearchFields="searchFiled" @search="search" :searchValue="searchOption"></mySearch>
         </div>
         <div>
-          <el-button class="margin-right_10" type="primary" size="small" @click="createTask">创建任务</el-button>
+          <el-button v-if="!show" class="margin-right_10" type="primary" size="small" @click="createTask">创建任务</el-button>
         </div>
       </el-header>
       <el-main class="height_100">
@@ -47,7 +47,8 @@
                     <el-dropdown-item command="1" v-if="[6].includes(scope.row.type)">查看审核记录</el-dropdown-item>
                     <el-dropdown-item command="4" v-if="scope.row.status != 3 || scope.row.createName == userinfo.name">编
                       辑</el-dropdown-item>
-                    <el-dropdown-item command="3" v-if="[6].includes(scope.row.type) && scope.row.status==2">完 成</el-dropdown-item>
+                    <el-dropdown-item command="3" v-if="[6].includes(scope.row.type) && scope.row.status == 2">完
+                      成</el-dropdown-item>
                     <el-dropdown-item command="2"
                       v-if="scope.row.createName == userinfo.name || (scope.row.type == 5 && !scope.row.handlerName.includes('@'))"
                       divided style="color: red;">取 消</el-dropdown-item>
@@ -75,7 +76,7 @@
 
 <script>
 import { mapGetters } from 'vuex'
-import { column,optionsData} from '@/views/patentMining/components/mixins/index2'
+import { column, optionsData } from '@/views/patentMining/components/mixins/index2'
 import { taskPatentMining } from './mixins/task'
 import auditRecords from '@/views/patentMining/components/dialog/auditRecords.vue'
 import createTask from '@/views/patentMining/components/dialog/createTask.vue'
@@ -85,11 +86,15 @@ export default {
   mixins: [column, optionsData, taskPatentMining],
   // type区分是从哪里进入
   props: {
-    type:{
-      default:1
+    type: {
+      default: 1
+    },
+    id: '',
+    processId: '',
+    show: {
+      type: Boolean,
+      default:false
     },
-    id:'',
-    processId:''
   },
   components: {
     auditRecords,
@@ -107,9 +112,9 @@ export default {
         size: 10,
         total: 0,
       },
-      searchFiled2:{
-        projectId:this.id,
-        processId:this.processId
+      searchFiled2: {
+        projectId: this.id,
+        processId: this.processId
       },
       // 检索字段
       searchFiled: [],
@@ -143,13 +148,13 @@ export default {
     }
   },
   watch: {
-    processId(val){
-      if(val){
+    processId(val) {
+      if (val) {
         this.searchFiled2.processId = val
         this.tableData = []
         this.getList()
       }
-      
+
     }
   },
   computed: {
@@ -187,7 +192,7 @@ export default {
         searchQuery: this.$commonJS.objectToString(searchOption),//检索条件
         orderDTOList: this.sort,//排序信息
       }
-      
+
       this.$api.queryProjectTask(params).then(response => {
         if (response.code == 200) {
           this.tableData = response.data.data
@@ -239,7 +244,7 @@ export default {
         taskId: id,
         type: status
       }
-      var str =''
+      var str = ''
       if (status == 0) {
         str = '此操作会将任务置为完成,操作不可逆, 是否继续?'
       } else if (status == 1) {
@@ -268,13 +273,32 @@ export default {
     },
     //处理任务 
     handleTask(row) {
-      if (row.status != 2 || row.handlerName != this.userinfo.name) {// 负责人不是自己
-        this.handleTypeTask2(row)
-      } else {
-        this.handleTypeTask(row)
+      // 状态不是处理中或者创建人和处理人不相同是查看
+      var str = (row.status != 2 || row.handlerName != this.userinfo.name) ? '查看' : '处理'
+
+      switch (row.type) {
+        case 1://项目开卷审核任务
+          this.getPatentMining(row, str == '查看'?1:2)
+          break;
+        case 5://任务审核任务
+        case 7://文件审核任务
+          row.disabled = str == '查看'?true:false
+          let router = this.$router.resolve({
+            path: '/handleExamine',
+            query: {
+              row: JSON.stringify(row)
+            }
+          })
+          window.open(router.href, '_blank')
+          break;
+        case 6://文件分配任务
+          this.$refs.handleTask2Dialog.open(row, str == '查看'?false:true)
+          break;
+
+        default:
+          break;
       }
     },
-    
     // 处理人和负责人相同是处理流程
     // handleTypeTask(row) {
     //   switch (row.type) {
@@ -326,15 +350,15 @@ export default {
     //   }
     // },
     // 获取挖掘项目
-    getPatentMining(row,val) {
+    getPatentMining(row, val) {
       let params = {
         current: 1,
         size: 10,
-        searchQuery: `id=${this.id}`,//检索条件
+        searchQuery: `id=${row.projectId}`,//检索条件
       }
       this.$api.queryPatentDigProject(params).then(res => {
         if (res.code == 200) {
-          this.$refs.handleTask1Dialog.open(res.data.data[0],row, val)
+          this.$refs.handleTask1Dialog.open(res.data.data[0], row, val)
         }
       })
     },
@@ -403,8 +427,8 @@ export default {
             }
           }
           var obj3 = this.searchFiled.find(item => { return item.label == '所属流程' })
-          obj3.options=this.pathOptions
-          
+          obj3.options = this.pathOptions
+
         }
       })
 

+ 1 - 1
src/views/task/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <Table :id="id"></Table>
+    <Table :id="id" :show="true"></Table>
   </div>
 </template>