瀏覽代碼

fto对比结果,协同

zhuhao 1 年之前
父節點
當前提交
59f410812e

+ 8 - 0
src/api/newApi/common.js

@@ -152,4 +152,12 @@ export default {
    addCustomFieldValue(data) {
     return axios.post("/xiaoshi/customField/addCustomFieldValue", data);
   },
+   /**
+   * 自定义栏位统计
+   * @param {*} data 
+   * @returns 
+   */
+   esCountSearch(data) {
+    return axios.post("/xiaoshi/patent/esCountSearch", data);
+  },
 };

+ 49 - 0
src/api/newApi/report.js

@@ -183,6 +183,55 @@ export default {
   addFinalAssItResult(data) {
     return axios.post("/xiaoshi/fto/addFinalAssitResult", data);
   },
+  /**
+   * 根据code码查询信息
+   */
+  getTaskByCode(params) {
+    return axios.get("/xiaoshi/outSiders/getTaskByCode", {params});
+  },
+
+  /**
+   * FTO报告详情查询已经对比过的专利文件
+   */
+  getComparedPatent(params) {
+    return axios.get("/xiaoshi/fto/getComparedPatent", {params});
+  },
+  /**
+   * FTO报告详情查询已经对比过的专利文件的对比结果
+   */
+  getLastRecord(params) {
+    return axios.get("/xiaoshi/fto/getLastRecord", {params});
+  },
+  /**
+   * 报告后续事项添加
+   */
+  addFollowUp(data) {
+    return axios.post("/xiaoshi/followUp/add", data);
+  },
+  /**
+   * 报告后续事项更新
+   */
+  updateFollowUp(data) {
+    return axios.post("/xiaoshi/followUp/update", data);
+  },
+  /**
+   * 报告后续事项查询
+   */
+  getFollowUp(data) {
+    return axios.post("/xiaoshi/followUp/query", data);
+  },
+  /**
+   * 报告后续事项删除
+   */
+  deleteFollowUp(data) {
+    return axios.post("/xiaoshi/followUp/delete", data);
+  },
+  /**
+   * 报告后续事项添加登记结果
+   */
+  addRegister(data) {
+    return axios.post("/xiaoshi/followUp/register", data);
+  },
 
 
 

+ 12 - 10
src/router/index.js

@@ -289,16 +289,18 @@ const routes = [
       //       },
       //       component:() => import('@/views/report/Invalid/index.vue'),
       //     },
-          //FTO风险排查
-          // {
-          //   path: '/FTOIndex',
-          //   name:"FTOIndex",
-          //   meta:{
-          //     aside: true,
-          //     showHeader:true,
-          //   },
-          //   component:() => import('@/views/report/FTO/index.vue'),
-          // },
+          //code码页面
+          {
+            path: '/identificationCode',
+            name:"identificationCode",
+            meta:{
+              aside: true,
+              showHeader: true,
+              sign:'identificationCode',
+              belong:'AllReport'
+            },
+            component:() => import('@/views/components/identificationCode/index.vue'),
+          },
           //FTO风险排查分配任务
           {
             path: '/allocationTask',

+ 40 - 10
src/views/components/identificationCode/index.vue

@@ -36,16 +36,19 @@ export default {
         this.$api.getTaskByCode({ code: this.code }).then(res => {
           if (res.code == 200) {
             // 进入专利列表页面
-            let a = this.$router.resolve({
-              path: '/tortTeamWork',
-              query: {
-                taskId: res.data.id,//任务id
-                projectId: res.data.projectId,//项目id
-                isTaskLook:2,//处理
-              }
-            })
-            this.$store.commit("COORDINATION", this.coordination)
-            window.open(a.href, "_blank")
+            // let a = this.$router.resolve({
+            //   path: '/reportPatentList',
+            //   query: {
+            //     taskId: res.data.id,
+            //     projectId: res.data.projectId,
+            //     taskType: res.data.type,
+            //     reportType: res.data.reportType,
+            //     isResult: 1,
+            //   }
+            // })
+            // // this.$store.commit("COORDINATION", this.coordination)
+            // window.open(a.href, "_blank")
+            this.teamworkTask(res.data)
           } else {
             document.getElementsByClassName("el-input__inner")[0].style.border = "1px solid red"
             this.show = true;
@@ -67,6 +70,33 @@ export default {
       document.getElementsByClassName("el-input__inner")[0].style.border = "1px solid #DCDFE6"
       this.show = false;
     },
+    teamworkTask(row) {
+      if (row.reportType == 3) {//fto
+        let router = this.$router.resolve({
+          path: '/reportPatentList',
+          query: {
+            taskId: row.id,
+            projectId: row.projectId,
+            taskType: row.type,
+            reportType: row.reportType,
+            isResult: 1,
+          }
+        })
+        window.open(router.href, '_blank')
+      } else {//侵权
+        let router = this.$router.resolve({
+          path: '/tortTeamWork',
+          query: {
+            taskId: row.id,
+            projectId: row.projectId,
+            isResult: 1,
+            reportType: row.reportType,
+          }
+        })
+        window.open(router.href, '_blank')
+      }
+
+    },
   }
 }
 </script>

+ 44 - 26
src/views/project/patentDetails/components/PatentField.vue

@@ -17,13 +17,13 @@
               </el-dropdown-menu>
             </el-dropdown>
           </div>
-          <template v-if="item.type === 0 || item.type === 2 || item.type === 1">
-            <el-date-picker v-if="item.type === 1" v-model="item.label" value-format="yyyy-MM-dd" type="date" size="small"
+          <template v-if="(item.type === 0 || item.type === 2 || item.type === 1) && !item.showField">
+            <el-date-picker v-if="item.type === 1" v-model="item.selectedValue" value-format="yyyy-MM-dd" type="date" size="small"
               placeholder="选择日期" class="width_100" @blur="onChange($event, item)"></el-date-picker>
-            <el-input v-else type="textarea" v-model="item.label" placeholder="请输入内容" size="small"
+            <el-input v-else type="textarea" v-model="item.selectedValue" placeholder="请输入内容" size="small"
               @blur="onChange($event, item)"></el-input>
           </template>
-          <template v-if="item.type === 4">
+          <template v-if="item.type === 4 && !item.showField">
             <div class="showValue">
               <div>
                 <div v-for="fieldValue in item.selected" :key="fieldValue.value" class="value">{{ fieldValue.value }}
@@ -31,30 +31,29 @@
               </div>
               <el-button size="small" @click="$set(item, 'show', !item.show)">{{ item.show ? '收起' : '修改' }}</el-button>
             </div>
-            <el-radio-group v-model="item.selectedId" v-show="item.show">
+            <el-radio-group v-model="item.selectedValue" v-show="item.show">
               <div v-for="option in item.option" :key="option.id">
                 <el-radio class="custom-radio" :label="option.id" @change="onChange($event, item)">{{
                   option.name }}</el-radio>
               </div>
             </el-radio-group>
           </template>
-          <template v-if="item.type === 5">
+          <template v-if="item.type === 5 && !item.showField">
             <div class="showValue">
               <div>
-                <div v-for="fieldValue in item.selected" :key="fieldValue" class="value">{{ fieldValue.value }}</div>
+                <div v-for="fieldValue in item.selected" :key="fieldValue.valueId" class="value">{{ fieldValue.value }}</div>
               </div>
               <el-button size="small" @click="$set(item, 'show', !item.show)">{{ item.show ? '收起' : '修改' }}</el-button>
             </div>
-            <el-checkbox-group v-model="item.selectedValue" v-show="item.show">
+            <el-checkbox-group :value="item.selectedValue" v-show="item.show">
               <el-checkbox class="custom-checkbox" v-for="option in item.option" :label="option.id" :key="option.id"
-                @change="(val) => onChange(option.id, item, val)">{{ option.name
-                }}</el-checkbox>
+                @change="(val) => onChange(option, item, val)">{{ option.name}}</el-checkbox>
             </el-checkbox-group>
           </template>
-          <template v-if="item.type === 6">
+          <template v-if="item.type === 6 && !item.showField">
             <div class="showValue">
               <div>
-                <div v-for="fieldValue in item.selected" :key="fieldValue" class="value">{{ fieldValue.value }}</div>
+                <div v-for="fieldValue in item.selected" :key="fieldValue.valueId" class="value">{{ fieldValue.value }}</div>
               </div>
               <el-button size="small" @click="$set(item, 'show', !item.show)">{{ item.show ? '收起' : '修改' }}</el-button>
             </div>
@@ -151,7 +150,7 @@ export default {
     },
     //切换选择
     onChange(data, item, checked) {
-      console.log(data, item);
+      // console.log(data, item,checked);
       var params = {
         projectId: this.projectId,
         taskId: this.taskId,
@@ -162,15 +161,32 @@ export default {
         optionType: '',
       }
       if (item.type == 0 || item.type == 1 || item.type == 2) {
-        params.fieldValue[0] = item.label
+        params.fieldValue[0] = item.selectedValue
+        if (data) {//单选的id
+          this.$set(item, 'selectedValue', data)
+        }
+        params.optionType = 2
       }
       // 判断optionType  0取消1添加2覆盖
       if (item.type == 6 || item.type == 5) {
         if (checked) {
           item.selectedValue.push(data.id)
-          item.selected.push(data.name)
+          var name = ''
+          if (data.pathName == '/') {
+            name = data.pathName + data.name
+          } else if(data.pathName) {
+            name = data.pathName+'/' + data.name
+          } else {
+            name =data.name
+          }
+          item.selected.push(
+            {
+              value: name,
+              valueId:data.id
+            }
+          ) 
           params.optionType = 1
-        } else if (checked == false) {
+        } else  {
           let index = item.selectedValue.findIndex(valIndex => {
             return valIndex == data.id
           })
@@ -180,21 +196,24 @@ export default {
           }
           params.optionType = 0
         }
-      } else {
-        if (data) {//单选的id
-          this.$set(item, 'selectedId', data)
-        }
-        params.optionType = 2
-      }
+      } 
       this.$api.addCustomFieldValue(params).then(response => {
         if (response.code == 200) {
           this.$message.success('修改成功')
-          this.getSelected(item)
+          // this.getSelected(item)
+          this.refresh(item)
         }
       }).catch(error => {
 
       })
     },
+    //刷新
+    refresh(item) {
+      this.$set(item,'showField',true)
+      this.$nextTick(() => {
+        this.$set(item,'showField',false)
+      })
+    },
     // 获取栏位
     getCustomField() {
       var params = {
@@ -321,15 +340,14 @@ export default {
       this.$api.getCustomFieldValues(params).then(response => {
         if (response.code == 200) {
           item.selected = response.data.data
-
           switch (item.type) {
             case 0://数字,日期,文字
             case 1:
             case 2:
-              this.$set(item, 'label', (item.selected && item.selected.length > 0) ? item.selected[0].value : '')
+              this.$set(item, 'selectedValue', (item.selected && item.selected.length > 0) ? item.selected[0].value : '')
               break;
             case 4://单选
-              this.$set(item, 'selectedId', (item.selected && item.selected.length > 0) ? item.selected[0].valueId : '')
+              this.$set(item, 'selectedValue', (item.selected && item.selected.length > 0) ? item.selected[0].valueId : '')
               break;
             case 6://多选和树
             case 5:

+ 2 - 2
src/views/project/patentDetails/index.vue

@@ -36,11 +36,11 @@ export default {
     projectId(){
       return this.$route.query.projectId
     },
-    taskId(){
+    taskId() {
       return this.$route.query.taskId
     },
     search(){
-      return this.$s.getSession('search')
+      return this.$s.getSession('search')||{}
     }
     
   },

+ 12 - 1
src/views/report/components/allocationTask/components/allocationTask.vue

@@ -94,6 +94,7 @@ import personList from '@/views/components/dialog/person.vue'
 import checkPatent from '../../checkPatent/checkPatent.vue'
 import examine from '@/views/components/dialog/examine.vue'
 import showColumn from './showColumn.vue'
+import patent from '@/api/newApi/patent'
 export default {
   components: {
     personList,
@@ -230,7 +231,17 @@ export default {
     // 选择专利
     chosePatentFile(row) {
       this.row = row
-      this.$refs.checkPatent.open(this.projectId)
+      var patentNoList = this.getPatentNoList()
+      this.$refs.checkPatent.open(this.projectId,patentNoList)
+    },
+    getPatentNoList() {
+      var patentNoList = []
+      this.tableData.forEach(item => {
+        if (item.patentNos) {
+          patentNoList = patentNoList.concat(item.patentNos)
+        }
+      })
+      return patentNoList
     },
     // 子组件选择的专利号数组数据 
     checkPatentList(val) {

+ 128 - 25
src/views/report/components/checkPatent/checkPatent.vue

@@ -2,21 +2,35 @@
   <!-- 选择专利弹窗 -->
   <div>
     <el-dialog title="选择专利" :visible.sync="dialogVisible" width="800px" :before-close="handleClose">
+      <el-container>
+        <el-header style="display: flex;align-items: center;">
+          <slot name="head">
+            <div id="step1">
+              <mySearch style="width: 500px" :SearchFields="searchFiled" @search="search" :searchValue="searchOption">
+              </mySearch>
+            </div>
+          </slot>
+          
+        </el-header>
+        <el-main>
+          <Table :column="column" :tableData="tableData" :queryParams="queryParams" :refresh="refresh"
+            :patentNoList.sync="patentNoList" :projectId="projectId" @on-sort="handleSort"></Table>
+        </el-main>
+        <el-footer>
+          <div style="display: flex;justify-content: space-between;margin-bottom: 10px;">
+            <div>
+              <el-button type="primary" @click="selectPage">本页选择</el-button>
+            </div>
+            <div>
+              <el-pagination background layout="total, sizes, prev, pager, next, jumper"
+                :current-page.sync="queryParams.current" :page-size.sync="queryParams.size"
+                @current-change="handleCurrentChange" @size-change="getList" :total="total">
+              </el-pagination>
+            </div>
 
-      <Table :column="column" :tableData="tableData" :queryParams="queryParams" :refresh="refresh"
-        :patentNoList="patentNoList" :projectId="projectId" @on-sort="handleSort"></Table>
-
-      <div>
-        <div></div>
-        <div>
-          <el-pagination background layout="total, sizes, prev, pager, next, jumper"
-          :current-page.sync="queryParams.current" :page-size.sync="queryParams.size"
-          @current-change="handleCurrentChange" @size-change="getList" :total="total">
-          </el-pagination>
-        </div>
-        
-      </div>
-
+          </div>
+        </el-footer>
+      </el-container>
       <span slot="footer" class="dialog-footer">
         <el-button @click="handleClose">取 消</el-button>
         <el-button type="primary" @click="handleSure">确 定</el-button>
@@ -41,14 +55,18 @@ export default {
       default: () => {
         return {}
       }
-    }
+    },
+    sign:''
   },
   data() {
     return {
       projectId: '',
       // 控制弹窗的打开关闭
       dialogVisible: false,
-      searchOption:{},
+      //检索字段
+      searchFiled: [],
+      //检索条件
+      searchOption: {},
       // 分页信息
       queryParams: {
         current: 1,
@@ -98,17 +116,89 @@ export default {
       refresh: true,
       //排序
       sort: [],
+      patentNos:[]
     }
   },
-  mounted() {
-
+  async mounted() {
+    
+    await this.getColumn()
   },
   methods: {
+    // 获取信息
+    async getPatentList() {
+      let params = {
+        ...this.queryParams,
+          projectId: this.projectId,
+          compareResult: this.oldSearchOption.compareResult
+        }
+      await this.$api.getComparedPatent(params).then(response => {
+        if (response.code == 200) {
+            this.total = response.data.total
+            this.tableData = response.data.data
+        }
+      }).catch(error => {
+        this.total = 0
+        this.tableData = []
+      })
+    },
+    // 本页选择
+    selectPage() {
+      this.patentNoList = this.tableData.map(item => item.patentNo)
+      this.refreshTable()
+    },
+    //刷新
+    refreshTable() {
+      this.refresh = false
+      this.$nextTick(() => {
+        this.refresh = true
+      })
+    },
+    //获取table栏位及分组字段、检索字段
+    async getColumn() {
+      let params = ['patent']
+      await this.$api.getParamsCommon(params).then(res => {
+        if (res.code == 200) {
+          let conditionDTOList = JSON.parse(JSON.stringify(res.data[0].conditionDTOList))
+          // 搜索字段
+          this.searchFiled = this.$commonJS.getField(conditionDTOList, (u) => u.ifSearch == true, {
+            label: 'name',
+            value: 'value',
+            type: 'type',
+          })
+        }
+      })
+    },
+    //检索
+    search(val) {
+      let params = {}
+      val.forEach(item => {
+        if (item.type == 3) {
+          params[item.value] = item.searchValue.map(itemValue => {
+            return itemValue.value
+          })
+        } else {
+          params[item.value] = item.searchValue.label
+        }
+      })
+      // 返回字符串
+      this.searchOption = params
+      // 调用查询接口
+      this.queryParams.current = 1
+      this.getList()
+    },
     // 打开弹窗
-    open(projectId) {
+    open(projectId,patentNoList) {
       this.refresh = true
       this.projectId = projectId
-      this.getList()
+      if (patentNoList) {
+        this.patentNos = patentNoList
+      }
+      if (this.sign == 'teamwork') {
+        this.getPatentList()
+      } else {
+        this.getList()
+      }
+      
       this.dialogVisible = true
     },
     // 弹窗确定
@@ -125,8 +215,12 @@ export default {
 
     // 分页信息
     handleCurrentChange(val) {
-      this.queryParams.current = val,
-        this.getList()
+      this.queryParams.current = val
+      if (this.sign == 'teamwork') {
+        this.getPatentList()
+        return 
+      }
+      this.getList()
     },
     //排序
     handleSort({ column, prop, order }) {
@@ -142,15 +236,24 @@ export default {
       this.getList()
     },
     getList() {
-      var searchOption={
+      var searchOption = {
         ...this.oldSearchOption,
         ...this.searchOption
       }
+      var searchStr = this.$commonJS.objectToString(searchOption)
+      var patentNoStr = ''
+      this.patentNos.forEach((item, index) =>{
+        if (index == 0) {
+          patentNoStr = patentNoStr + `patentNo=${item}`
+        } else {
+          patentNoStr = patentNoStr + ` And patentNo=${item}`
+        }
+      })
       let params = {
         ...this.queryParams,//分页信息
         projectId: this.projectId,
-        searchQuery: this.$commonJS.objectToString(searchOption) ,//检索条件
-        customFields:this.customFields,
+        searchQuery: searchStr + ((patentNoStr)?(' Not '+`(${patentNoStr})`):''),//检索条件
+        customFields: this.customFields,
         orderDTOList: this.sort,//排序信息
       }
       this.$api.QueryPatent(params).then(res => {

+ 6 - 0
src/views/report/components/details/index.vue

@@ -117,6 +117,12 @@ export default {
           path:'report/components/reportFile/reportFileTable.vue',
           reportType:[0,1,2,3,4,5]
         },
+        { 
+          label: '后续事项', 
+          name:"remarryMatter",
+          path:'report/components/matter/remarryMatter.vue',
+          reportType:[0,1,2,3,4,5]
+        },
       ]
       var menu = menus.filter(item=>{
         return item.reportType.indexOf(Number(this.reportType))!=-1

+ 4 - 12
src/views/report/components/dialog/teamwork.vue

@@ -78,13 +78,11 @@
       </div>
     </el-dialog>
 
-    <checkPatent ref="checkPatent" @checkPatentList="checkPatentList"></checkPatent>
   </div>
 </template>
 
 <script>
 import { personnelLoading } from '@/views/patentMining/components/mixins/index2'
-import checkPatent from '../checkPatent/checkPatent.vue'
 export default {
   mixins: [personnelLoading],
   props: {
@@ -97,7 +95,7 @@ export default {
     },
   },
   components: {
-    checkPatent
+    // checkPatent
   },
   data() {
     //校验协同人是否为空
@@ -172,17 +170,11 @@ export default {
   },
   methods: {
     // 打开协同弹窗
-    open() {
-      if (this.reportType == 3) {
-        this.$refs.checkPatent.open(this.projectId)
-      } else {
-        this.visibleCollaboration = true
+    open(patentNoList) {
+      if (patentNoList) {
+        this.form.patentNos=patentNoList
       }
-    },
-    // 从专利清单子组件传值(专利号的数据)
-    checkPatentList(val) {
       this.visibleCollaboration = true
-      this.form.patentNos = val
     },
     // 协同弹窗的关闭
     close() {

+ 63 - 63
src/views/report/components/matter/addMatters.vue

@@ -3,27 +3,27 @@
     <div v-if="type == 1">
       <!-- 单个后续事项 -->
       <el-form :model="formData[0]" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
-        <el-form-item label="名称" prop="followUpName">
-          <el-input v-model="formData[0].followUpName" autocomplete="off" placeholder="请输入后续跟进事项名称"></el-input>
+        <el-form-item label="名称" prop="name">
+          <el-input v-model="formData[0].name" autocomplete="off" placeholder="请输入后续跟进事项名称"></el-input>
         </el-form-item>
-        <el-form-item label="描述" prop="remark">
-          <el-input type="textarea" :rows="1" v-model="formData[0].remark" autocomplete="off"
+        <el-form-item label="描述" prop="description">
+          <el-input type="textarea" :rows="1" v-model="formData[0].description" autocomplete="off"
             placeholder="请输入后续跟进事项描述"></el-input>
         </el-form-item>
-        <el-form-item label="处理人" prop="agent">
-          <el-input v-model="formData[0].agent" placeholder="请输入后续跟进事项处理人"></el-input>
+        <el-form-item label="处理人" prop="handler">
+          <el-input v-model="formData[0].handler" placeholder="请输入后续跟进事项处理人"></el-input>
         </el-form-item>
-        <el-form-item label="协办人" prop="assistPerson">
-          <el-input v-model="formData[0].assistPerson" placeholder="请输入后续跟进事项协办人"></el-input>
+        <el-form-item label="协办人" prop="synery">
+          <el-input v-model="formData[0].synery" placeholder="请输入后续跟进事项协办人"></el-input>
         </el-form-item>
-        <el-form-item label="期限" prop="timeLimit">
-          <el-date-picker style="width: 100%" v-model="formData[0].timeLimit" type="datetime"
+        <el-form-item label="期限" prop="deadline">
+          <el-date-picker style="width: 100%" v-model="formData[0].deadline" type="datetime"
             value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间">
           </el-date-picker>
         </el-form-item>
         <el-form-item>
           <div style="display:flex;justify-content:center"
-            v-if="formData[0].status != '已完成' && $reportPermission(reportId, [0, 1])">
+            v-if="formData[0].status != '已完成' && $reportPermission(projectId, [0, 1])">
             <el-button type="primary" @click="submitForm()" size="small" style="width:100px"
               :loading="btnLoading">保存</el-button>
             <el-button @click="resetForm()" size="small" style="width:100px">取消</el-button>
@@ -32,10 +32,10 @@
         </el-form-item>
       </el-form>
     </div>
-    <div v-else :class="reportId ? 'item1' : 'item2'">
+    <div v-else :class="projectId ? 'item1' : 'item2'">
       <!-- 多个后续事项 -->
       <el-table :data="formData" style="width: 100%" class="twj-table">
-        <el-table-column prop="followUpName" label="名称" align="center" min-width="150px">
+        <el-table-column prop="name" label="名称" align="center" min-width="150px">
           <template slot="header">
             <div>
               <span>名称<span style="color:red;"> *</span></span>
@@ -43,36 +43,36 @@
           </template>
           <template slot-scope="scope">
             <div>
-              <el-input v-model="scope.row.followUpName" autocomplete="off" placeholder="请输入名称"></el-input>
+              <el-input v-model="scope.row.name" autocomplete="off" placeholder="请输入名称"></el-input>
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="remark" label="描述" align="center" width="250px">
+        <el-table-column prop="description" label="描述" align="center" width="250px">
           <template slot-scope="scope">
             <div>
-              <el-input type="textarea" :rows="1" v-model="scope.row.remark" autocomplete="off"
+              <el-input type="textarea" :rows="1" v-model="scope.row.description" autocomplete="off"
                 placeholder="请输入描述"></el-input>
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="agent" label="处理人" align="center" min-width="150px">
+        <el-table-column prop="handler" label="处理人" align="center" min-width="150px">
           <template slot-scope="scope">
             <div>
-              <el-input v-model="scope.row.agent" placeholder="请输入处理人"></el-input>
+              <el-input v-model="scope.row.handler" placeholder="请输入处理人"></el-input>
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="assistPerson" label="协办人" align="center" min-width="150px">
+        <el-table-column prop="synery" label="协办人" align="center" min-width="150px">
           <template slot-scope="scope">
             <div>
-              <el-input v-model="scope.row.assistPerson" placeholder="请输入协办人"></el-input>
+              <el-input v-model="scope.row.synery" placeholder="请输入协办人"></el-input>
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="timeLimit" label="期限" align="center" min-width="150px">
+        <el-table-column prop="deadline" label="期限" align="center" min-width="150px">
           <template slot-scope="scope">
             <div>
-              <el-date-picker style="width: 100%" v-model="scope.row.timeLimit" type="datetime"
+              <el-date-picker style="width: 100%" v-model="scope.row.deadline" type="datetime"
                 value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间">
               </el-date-picker>
             </div>
@@ -88,7 +88,7 @@
         </el-table-column>
       </el-table>
       <div style="display:flex;justify-content: center;margin-top:20px"
-        v-if="reportId && (sign != false && sign != true)">
+        v-if="projectId && (sign != false && sign != true)">
         <el-button type="primary" @click="submitForm1()" size="small" style="width:100px"
           :loading="btnLoading">保存</el-button>
         <el-button size="small" @click="resetForm()" style="width:100px">取消</el-button>
@@ -98,7 +98,7 @@
 </template>
 <script>
 export default {
-  props: ["type", "reportId", 'sign', 'row'],
+  props: ["type", "projectId", 'sign', 'row'],
   data() {
     return {
       // 保存按鈕的loading
@@ -106,17 +106,17 @@ export default {
       // 后续事项的数据
       formData: [
         {
-          reportId: this.reportId,
-          followUpName: '',
-          remark: '',
-          agent: '',
-          assistPerson: '',
-          timeLimit: ''
+          projectId: this.projectId,
+          name: '',
+          description: '',
+          handler: '',
+          synery: '',
+          deadline: ''
         }
       ],
       // 后续事项的校验规则
       rules: {
-        followUpName: [{ required: true, message: '请输入后续跟进事项名称', trigger: "blur", },],
+        name: [{ required: true, message: '请输入后续跟进事项名称', trigger: "blur", },],
       },
     };
   },
@@ -144,24 +144,24 @@ export default {
         for (var i = 0; i < 2; i++) {
           this.formData.push(
             {
-              reportId: this.reportId,
-              followUpName: '',
-              remark: '',
-              agent: '',
-              assistPerson: '',
-              timeLimit: ''
+              projectId: this.projectId,
+              name: '',
+              description: '',
+              handler: '',
+              synery: '',
+              deadline: ''
             }
           )
         }
       } else {
         this.formData = [
           {
-            reportId: this.reportId,
-            followUpName: '',
-            remark: '',
-            agent: '',
-            assistPerson: '',
-            timeLimit: ''
+            projectId: this.projectId,
+            name: '',
+            description: '',
+            handler: '',
+            synery: '',
+            deadline: ''
           }
         ]
       }
@@ -172,7 +172,7 @@ export default {
         if (valid) {
           this.btnLoading = true
           if (this.row) {
-            this.$api.updateMatters(this.formData).then(response => {
+            this.$api.updateFollowUp(this.formData).then(response => {
               if (response.code == 200) {
                 this.btnLoading = false
                 this.$message.success('后续跟进事项更新成功')
@@ -183,7 +183,7 @@ export default {
               this.$message.error('后续跟进事项更新失败')
             })
           } else {
-            this.$api.addMatters(this.formData).then(response => {
+            this.$api.addFollowUp(this.formData).then(response => {
               if (response.code == 200) {
                 this.btnLoading = false
                 this.$message.success('后续跟进事项添加成功')
@@ -205,11 +205,11 @@ export default {
         var list = []
         var b = false
         var keyList = {
-          followUpName: '',
-          remark: '',
-          agent: '',
-          assistPerson: '',
-          timeLimit: ''
+          name: '',
+          description: '',
+          handler: '',
+          synery: '',
+          deadline: ''
         }
         this.formData.forEach(item => {
           var a = false
@@ -219,7 +219,7 @@ export default {
             }
           }
           if (a == true) {
-            if (item.followUpName != '') {
+            if (item.name != '') {
               b = true
               list.push(item)
             } else {
@@ -228,7 +228,7 @@ export default {
             }
           }
         })
-        this.$api.addMatters(list).then(response => {
+        this.$api.addFollowUp(list).then(response => {
           if (response.code == 200) {
             this.btnLoading = false
             this.$message.success('后续跟进事项添加成功')
@@ -250,11 +250,11 @@ export default {
       }
       this.formData = [
         {
-          followUpName: '',
-          remark: '',
-          agent: '',
-          assistPerson: '',
-          timeLimit: ''
+          name: '',
+          description: '',
+          handler: '',
+          synery: '',
+          deadline: ''
         }
       ]
       this.$emit('dialog', false)
@@ -264,12 +264,12 @@ export default {
     addRow() {
       this.formData.push(
         {
-          reportId: this.reportId,
-          followUpName: '',
-          remark: '',
-          agent: '',
-          assistPerson: '',
-          timeLimit: ''
+          projectId: this.projectId,
+          name: '',
+          description: '',
+          handler: '',
+          synery: '',
+          deadline: ''
         }
       )
     },

+ 33 - 32
src/views/report/components/matter/remarryMatter.vue

@@ -3,7 +3,7 @@
   <div class="height_100">
     <el-container>
       <el-header style="display: flex;justify-content: flex-end;">
-        <div v-if="$reportPermission(reportId, [0, 1])">
+        <div v-if="$reportPermission(projectId, [0, 1])">
           <el-dropdown trigger="click" split-button type="primary" size="small" @command="handleCommand($event)">
             <span @click="handleClick(1)">添加后续事项</span>
             <el-dropdown-menu slot="dropdown" class="text-align_center">
@@ -41,15 +41,15 @@
               <div>
                 <el-dropdown trigger="click" split-button type="primary" size="small"
                   @command="handleCommand1($event, scope.row)">
-                  <span @click="edit(scope.row)">{{ scope.row.status == '进行中' && $reportPermission(reportId, [0, 1]) ?
+                  <span @click="edit(scope.row)">{{ scope.row.statusStr == '进行中' && $reportPermission(projectId, [0, 1]) ?
                     '编辑' :
                     '查看' }}</span>
                   <el-dropdown-menu slot="dropdown" class="text-align_center">
                     <el-dropdown-item command="1"
-                      v-if="scope.row.status == '进行中' && $reportPermission(reportId, [0, 1])">登记结果</el-dropdown-item>
+                      v-if="scope.row.statusStr == '进行中' && $reportPermission(projectId, [0, 1])">登记结果</el-dropdown-item>
                     <el-dropdown-item command="2" v-else>查看结果</el-dropdown-item>
                     <el-dropdown-item command="3" divided class="color-red"
-                      v-if="$reportPermission(reportId, [0, 1])">删除</el-dropdown-item>
+                      v-if="$reportPermission(projectId, [0, 1])">删除</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
               </div>
@@ -67,9 +67,9 @@
     </el-container>
 
     <!-- 编辑、查看后续事项弹窗 -->
-    <el-dialog :title="title" :visible.sync="dialogVisible" :width="type == 1 ? '800px' : '1100px'" :before-close="close">
+    <el-dialog :title="title" :visible.sync="dialogVisible" v-if="dialogVisible" :width="type == 1 ? '800px' : '1100px'" :before-close="close">
       <div>
-        <addMatter :type="type" :reportId="reportId" :row="row" @dialog="getDialog"></addMatter>
+        <addMatter :type="type" :projectId="projectId" :row="row" @dialog="getDialog"></addMatter>
       </div>
     </el-dialog>
 
@@ -107,7 +107,7 @@
           </el-form-item>
         </el-form>
         <p v-if="registerForm.type == 1" style="margin-left:10px">后续事项:</p>
-        <addMatter :type="type" :reportId="reportId" :sign="matterSign" @value="getMatter" v-if="registerForm.type == 1">
+        <addMatter :type="type" :projectId="projectId" :sign="matterSign" @value="getMatter" v-if="registerForm.type == 1">
         </addMatter>
       </div>
       <div slot="footer" class="dialog-footer" v-if="registerForm.type == 1 || registerForm.edit == true">
@@ -128,7 +128,7 @@ export default {
     addMatter,
     Menu
   },
-  props: ['reportId'],
+  props: ['projectId'],
   data() {
     return {
       // 表格字段
@@ -136,32 +136,32 @@ export default {
         {
           name: "名称",
           type: "String",
-          value: "followUpName",
+          value: "name",
         },
         {
           name: "描述",
           type: "String",
-          value: "remark",
+          value: "description",
         },
         {
           name: "期限",
           type: "String",
-          value: "timeLimit",
+          value: "deadline",
         },
         {
           name: "处理人",
           type: "String",
-          value: "agent",
+          value: "handler",
         },
         {
           name: "协办人",
           type: "String",
-          value: "assistPerson",
+          value: "synery",
         },
         {
           name: "创建人",
           type: "String",
-          value: "createPersonName",
+          value: "createName",
         },
         {
           name: "创建时间",
@@ -176,7 +176,7 @@ export default {
         {
           name: "状态",
           type: "String",
-          value: "status",
+          value: "statusStr",
         },
       ],
       // 状态
@@ -219,7 +219,7 @@ export default {
   mounted() {
     // 获取table栏位
     // this.columnList = await this.$commonJS.getCustomField('projectTask')
-    // this.getList()
+    this.getList()
   },
   methods: {
     //设置表格高度
@@ -255,14 +255,15 @@ export default {
     //查询后续跟进事项
     getList() {
       let params = {
+        projectId:this.projectId,
         ...this.queryParams,//分页信息
         // searchQuery: this.$commonJS.objectToString(this.searchOption),//检索条件
         orderDTOList: this.sort,//排序信息
       }
       this.tableLoading = true
-      this.$api.queryMatters(params).then(response => {
+      this.$api.getFollowUp(params).then(response => {
         if (response.code == 200) {
-          this.tableData = response.data.list
+          this.tableData = response.data.data
           this.total = response.data.total
           this.tableLoading = false
         }
@@ -301,11 +302,12 @@ export default {
     //打开编辑后续跟进事项弹窗
     edit(row) {
       this.title = '查看后续跟进事项'
-      if (row.status == '进行中') {
+      if (row.statusStr == '进行中') {
         this.title = '编辑后续跟进事项'
       }
       this.type = 1
       this.row = JSON.parse(JSON.stringify(row))
+      console.log(this.row,row);
       this.dialogVisible = true
     },
     //关闭弹窗
@@ -317,7 +319,7 @@ export default {
     //获取弹窗状态
     getDialog(val) {
       this.close()
-      // this.getList()
+      this.getList()
     },
     //表格下拉菜单
     handleCommand1(e, row) {
@@ -347,9 +349,7 @@ export default {
     deleteRegister(row) {
       if (row) {
         var ids = [row.id]
-      } else {
-
-      }
+      } 
       this.$confirm('此操作将永久删除, 是否继续?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -363,7 +363,7 @@ export default {
     },
     //删除事项
     deleteMatters(ids) {
-      this.$api.deleteMatters(ids).then(response => {
+      this.$api.deleteFollowUp(ids).then(response => {
         if (response.code == 200) {
           this.$message.success('删除成功')
           this.getList()
@@ -457,11 +457,11 @@ export default {
       this.btnLoading = true
       try {
         var keyList = {
-          followUpName: '',
-          remark: '',
-          agent: '',
-          assistPerson: '',
-          timeLimit: ''
+          name: '',
+          description: '',
+          handler: '',
+          synery: '',
+          deadline: ''
         }
         var list = []
         val.forEach(item => {
@@ -472,12 +472,13 @@ export default {
             }
           }
           if (a == true) {
-            if (item.followUpName != '') {
+            if (item.name != '') {
               list.push(item)
             } else {
               throw new Error()
             }
           }
+          console.log(item,a,list);
         })
         if (list.length == 0) {
           return false
@@ -500,7 +501,7 @@ export default {
       this.$nextTick(() => {
         // this.btnLoading = true
         if (this.registerForm.followUps && this.registerForm.followUps.length > 0) {
-          this.registerForm.followUps = []
+          // this.registerForm.followUps = []
         } else {
           this.submitRegister1()
         }
@@ -515,7 +516,7 @@ export default {
         this.registerForm.systemFileList = []
       }
       this.registerForm.followUpId = this.registerForm.id
-      this.$api.register(this.registerForm).then(response => {
+      this.$api.addRegister(this.registerForm).then(response => {
         if (response.code == 200) {
           this.btnLoading = false
           this.getList()

+ 12 - 0
src/views/report/components/patentList/components/customFields.vue

@@ -169,8 +169,20 @@ export default {
   },
   mounted() {
     this.getList()
+    this.esCountSearch()
   },
   methods: {
+    // 获取
+    esCountSearch() {
+      let params={}
+      this.$api.esCountSearch().then(response => {
+        if (response.code == 200) {
+
+        }
+      }).catch(error => {
+       
+      })
+    },
     // 点击搜索自定义栏位的选项
     handleSearch(val){},
     // 查询自定义栏位数据

+ 19 - 1
src/views/report/components/patentList/components/index.vue

@@ -144,7 +144,7 @@ export default {
             }
           }
         )
-      } else {//FTO对比任务
+      } else {//FTO对比任务协同任务
         this.$router.push(
           {
             path: '/tortIndex',
@@ -226,11 +226,29 @@ export default {
         case '1':
           this.handleAllocation()
           break;
+        case '2'://专利号
+          this.patentImport(2)
+          break;
+        case '3'://excel
+          this.patentImport(1)
+          break;
+        case '4'://检索导入
+          this.patentImport(4)
+          break;
 
         default:
           break;
       }
     },
+    //专利导入
+    patentImport(type){
+      var form = {
+        importToId:this.projectId,
+        importToType:1,
+        type:type,
+      }
+      this.$commonJS.toImportParent(form,type)
+    },
     // 跳转分配任务页面
     handleAllocation() {
       this.$router.push(

+ 96 - 138
src/views/report/components/productResult/productResult.vue

@@ -60,76 +60,27 @@
           <table class="PatentMessage">
             <tr>
               <td>公告号</td>
-              <td> <span v-if="patent">{{ patent.patentNo }}</span></td>
+              <td> <span v-if="patent">{{ patent.grantNo }}</span></td>
               <td>公告日</td>
-              <td><span v-if="patent">{{ patent.publicDate }}</span></td>
+              <td><span v-if="patent">{{ patent.grantDate }}</span></td>
               <td>专利权人</td>
-              <td><span v-if="patent && patent.applicant"><span
-                    v-for="item in patent.applicant.filter(a => a.dataType === 1)">{{ item.name }}</span></span></td>
+              <td><span v-if="patent && patent.rightHolder"><span
+                    v-for="item in patent.rightHolder.filter(a => a.type == 1)">{{ item.name }}</span></span></td>
             </tr>
             <tr>
               <td>优先权</td>
               <td><span v-if="patent">{{ patent.priorityNo }}</span></td>
               <td>案件状态</td>
-              <td> <span v-if="patent && patent.affair">{{ patent.affair[0].status }}</span></td>
+              <td> <span v-if="patent && patent.simpleStatusStr">{{ patent.simpleStatusStr }}</span></td>
               <td>同族专利</td>
               <td><span v-if="patent" v-html="getPatentFamily(patent)"></span></td>
             </tr>
           </table>
 
-          <!-- 表格专利信息 -->
-          <el-table :data="tableData" border ref="table" :span-method="objectSpanMethod"
-            v-loading="loading" style="width: 100%;overflow: auto;">
-            <el-table-column prop="pRightName" label="权要" align="center">
-              <template slot-scope="scope">
-                <!-- <el-tooltip class="item" effect="dark"
-                :content="rightList.length > 0 ? rightList.filter(item => { return item.sort == scope.row.rightSort })[0].content : '暂无数据'"
-                placement="top"> -->
-                <el-tooltip class="item" effect="dark" :content="scope.row.pContent" placement="top">
-                  <span>{{ scope.row.pRightName }}</span>
-                </el-tooltip>
-              </template>
-            </el-table-column>
 
-            <el-table-column prop="content" label="特征" min-width="300" align="center">
-              <template slot-scope="scope">
-                <div v-if="isEdit">
-                  <el-checkbox-group v-model="checkList">
-                    <el-checkbox :label="scope.row.featureId" @change="getRow(scope)"
-                      style="display: flex;align-items: center;">
-                      <el-input type="textarea" style="width:250px" autosize v-model="scope.row.content">
-                        {{ scope.row.content }}</el-input>
-                    </el-checkbox>
-                  </el-checkbox-group>
-                </div>
-                <div v-else v-html="scope.row.content"> </div>
-              </template>
-            </el-table-column>
+          <split-Page :tableData="tableData" :columnList="columnList" isResult="noShow" :isEdit="false"></split-Page>
 
-            <el-table-column prop="explainText" label="解释(可粘贴图片)" align="center">
-              <template slot-scope="scope">
-                <div v-if="isEdit">
-                  <myRichText style="text-align:left" v-model="scope.row.explainText" placeholder="请输入解释(可粘贴图片)">
-                  </myRichText>
-                </div>
-                <div v-else v-html="scope.row.explainText"></div>
-              </template>
-            </el-table-column>
 
-
-            <el-table-column v-for="(item, index) in columnList" :key="index" :prop="item.value" :label="item.name"
-              align="center" min-width="160px">
-              <template slot-scope="scope">
-                <div v-if="item.type == 'String'">
-                  <div v-html="getColumnData(scope.row, item)"></div>
-                </div>
-                <div v-else-if="item.type == 'Array'">
-                  <div v-html="getColumnData(scope.row, item)"></div>
-                </div>
-              </template>
-            </el-table-column>
-
-          </el-table>
         </div>
       </el-aside>
       <el-main v-show="showRight == true" :width="width" style="padding:5px">
@@ -154,32 +105,61 @@
     <!-- 协同任务 -->
     <teamwork ref="teamwork" :projectId="projectId" :reportType="reportType"></teamwork>
 
+    <!-- 选择专利弹窗 -->
+    <checkPatent ref="checkPatent" @checkPatentList="checkPatentList" sign="teamwork" :oldSearchOption="{compareResult:queryParams.compareResult}" :tableData2="tableData2">
+      <div slot="head">
+        <el-select v-model="compareResult" clearable @change="changePatent" placeholder="请选择对比结果">
+          <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+          </el-option>
+        </el-select>
+      </div>
+    </checkPatent>
 
   </div>
 </template>
 
 <script>
 import CreateReport from '@/views/report/components/dialog/addAndEditReport.vue'
+import checkPatent from '../checkPatent/checkPatent.vue'
 import teamwork from "@/views/report/components/dialog/teamwork.vue"
+import splitPage from '../splitPage/splitPage.vue'
 export default {
   components: {
     CreateReport,
+    checkPatent,
     teamwork,
+    splitPage
+  },
+  // props: ['projectId', 'patentNo', "reportType"],
+  props: {
+    projectId: {
+      default: ''
+    },
+    patentNo: {
+      default: ''
+    },
+    reportType: {
+      default: ''
+    },
+    // 是否可读
+    isEdit: {
+      type: Boolean,
+      default: false
+    },
   },
-  props: ['projectId', 'patentNo', "reportType"],
   data() {
     return {
       // 栏位
       columnList: [
         {
-          name: "标的说明(可粘贴图片)",
+          name: "标的说明",
           type: "String",
-          value: ['finalRecordVO', 'targetDescription'],
+          value: ['originalRecordVO', 'targetDescription'],
         },
         {
           name: "比对结果",
           type: "Array",
-          value: ['finalRecordVO', 'compareResult'],
+          value: ['originalRecordVO', 'compareResult'],
           options: [
             {
               value: 0,
@@ -197,9 +177,9 @@ export default {
           ],
         },
         {
-          name: "比对说明(可粘贴图片)",
+          name: "比对说明",
           type: "String",
-          value: ['finalRecordVO', 'compareDescription'],
+          value: ['originalRecordVO', 'compareDescription'],
         },
       ],
       // 控制宽度
@@ -213,16 +193,19 @@ export default {
       patentList: [],
       // 返回的数据
       tableData: [],
+      // 返回的数据(专利清单弹窗使用)
+      tableData2: [],
       // 公告号公告日等信息
       patent: {},
       // 表格合并信息
       mergeObj: {},
-      mergeArr: ['pRightName'],
+      mergeArr: ['pSort', 'pRightName'],
       // 分页信息
       queryParams: {
         size: 10,
         current: 1,
       },
+      total: 0,
       // 对比结果选择
       options: [
         {
@@ -240,6 +223,8 @@ export default {
         }
       ],
       index: 0,
+      // 勾选中的特征数据
+      checkList: [],
     }
   },
   computed: {
@@ -274,48 +259,20 @@ export default {
     },
   },
   async mounted() {
-    // this.getList()
+    await this.getPatentList()
+    if (this.patentList) {
+      this.patent = this.patentList[0]
+      this.getList(this.patent.patentNo)
+    }
   },
   methods: {
     // 处理同族专利
-    getPatentFamily() { },
-    // 获取/处理数据
-    getColumnData(row, field) {
-      if (typeof field.value == 'string') {
-        return row[field.value]
+    getPatentFamily(list) {
+      if (list.InpadocFamilyNos) {
+        return list.InpadocFamilyNos.join(',')
       } else {
-        var str = row
-        if (field.value && field.value.length > 0) {
-          try {
-            field.value.forEach(item => {
-              if (str[item] != 0 && !str[item]) {
-                throw Error();
-              }
-              str = str[item]
-            })
-          }
-          catch (e) {
-            return ''
-          }
-
-        }
-        if (this.isEdit || field.disabled) {
-
-        } else {
-          if (field.options && field.options.length > 0) {
-            let a = field.options.find(item => {
-              return item.value == str
-            })
-            if (a) {
-              return a.label
-            } else {
-              return ''
-            }
-          }
-        }
-        return str
+        return ''
       }
-
     },
     // 创建报告
     handleAnalyse(val) {
@@ -328,26 +285,46 @@ export default {
       this.$refs.ReportForm.open(form)
     },
     // 工作协同
-    taskWork() {
-      this.$refs.teamwork.open()
+    async taskWork() {
+      this.$refs.checkPatent.open(this.projectId)
+    },
+    // 从专利清单子组件传值(专利号的数据)
+    checkPatentList(val) {
+      this.$refs.teamwork.open(val)
+    },
+    // 选择专利框的对比结果
+    changePatent(val) {
+      this.compareResult = val
     },
     // 显示勾选的信息
     async load() {
       this.queryParams.current += 1
-      // await this.getPatentList()
+      await this.getPatentList()
+    },
+    // 获取信息
+    async getPatentList() {
+      let params = {
+          projectId: this.projectId,
+          compareResult: this.queryParams.compareResult
+        }
+      await this.$api.getComparedPatent(params).then(response => {
+        if (response.code == 200) {
+            this.total = response.data.total
+            this.patentList = this.patentList.concat(response.data.data)
+
+        }
+      })
     },
     // 获取数据
-    getList() {
+    getList(patentNo) {
       let params = {
         projectId: this.projectId,
-        patentNo: this.patentNo,
-        // searchQuery:this.$commonJS.objectToString(this.searchOption || {}),//检索条件
-        orderDTOList: [],//排序
+        patentNo: patentNo,
       }
-      this.$api.query(params).then(res => {
+      this.$api.getLastRecord(params).then(res => {
         if (res.code == 200) {
-          this.tableData = res.data.data
-          this.getInterface(this.tableData)
+          // this.tableData = res.data
+          this.getInterface(res)
         }
       })
     },
@@ -411,57 +388,38 @@ export default {
         }
       }
     },
-
-
-
-
-
-
-
-    // 旧代码
-    //切换专利
-    patentChange(patent, index) {
-      this.patent = patent
-      this.index = index
-      this.queryCompareMessage(this.patent.patentNo)
-    },
     //上一篇
     handleLink1() {
       this.index -= 1
       this.patent = this.patentList[this.index]
-      this.queryCompareMessage(this.patent.patentNo)
+      this.getList(this.patent.patentNo)
     },
     //下一篇
     async handleLink() {
       this.index += 1
       this.patent = this.patentList[this.index]
-      this.queryCompareMessage(this.patent.patentNo)
+      this.getList(this.patent.patentNo)
       if (index == this.queryParams.size * this.queryParams.current - 1) {
         await this.getPatentList()
       }
     },
+    //切换专利
+    patentChange(patent, index) {
+      this.patent = patent
+      this.index = index
+      this.getList(this.patent.patentNo)
+    },
+
     async change() {
       this.index = 0
       this.patentList = []
       await this.getPatentList()
       if (this.patentList.length > 0) {
         this.patent = this.patentList[0]
-        this.queryCompareMessage(this.patent.patentNo)
+        this.getList(this.patent.patentNo)
       }
     },
-    // 获取数据信息
-    queryCompareMessage(patentNo) {//patentRightVos
-      this.loading = true
-      let PatentRight = {
-        patentNo: patentNo,
-        projectId: this.projectId,
-      }
-      this.$api.queryCompareMessage(PatentRight).then(res => {
 
-      }).catch(error => {
-        this.loading = false
-      })
-    },
 
 
   },

+ 1 - 1
src/views/report/components/splitPage/splitPage.vue

@@ -2,7 +2,7 @@
   <!-- 权要拆分类型等 -->
   <div class="height_100">
     <el-container>
-      <el-header style="display: flex; justify-content: space-between;">
+      <el-header v-if="isResult != 'noShow'" style="display: flex; justify-content: space-between;">
         <div style="display:flex;align-items:center">
           <div>
             <slot name="handleLeft"></slot>

+ 27 - 32
src/views/report/tort/components/tortContrast.vue

@@ -38,8 +38,8 @@
 
             <component :is="viewType" style="height: calc(100% - -10px);overflow: auto;" :tableData="tableData"
               :patentNo="patentNo" :projectId="projectId" :reportType="reportType" :columnList="columnList"
-              @splitSelect="splitSelect" @isSave="isSave" :isEdit="(taskId && (reportType != 3 && isResult)) ? false : true" :isResult="isResult"
-              @changeResult="changeResult">
+              @splitSelect="splitSelect" @isSave="isSave" :isEdit="(taskId && isResult) ? false : true"
+              :isResult="isResult" @changeResult="changeResult">
               <div slot="handleRight" v-if="isResult == 3">
                 <el-button type="primary" @click="agree">全部同意</el-button>
               </div>
@@ -118,8 +118,6 @@ export default {
     }
   },
   mounted() {
-    console.log(this.taskId,this.reportType,this.isResult);
-    console.log((this.taskId && (this.reportType != 3 && this.isResult)));
     this.getColumn()
     this.getList()
   },
@@ -365,43 +363,40 @@ export default {
     },
     // 获取数据
     getList(split = { splitType: '1', splitBy: '2' }, ifReSplit = false) {
-      console.log(11);
       let params = {
-        taskId:this.taskId
+        taskId: this.taskId,
+        patentNo: this.reportType == 3 ? this.patentNo : null
       }
       var api = {
         3: ['getFTOAssItResult', 'getFTOFinalResult', 'getFTOCompareRecord'],
-        4:['getAllTortTaskResult', 'getTortFinalResult', 'getTortCompareRecord']
+        4: ['getAllTortTaskResult', 'getTortFinalResult', 'getTortCompareRecord']
       }
       if (this.taskId && this.isResult == 1) {//处理协同
-          console.log(22);
-          this.$api[api[this.reportType][0]](params).then(res => {
-            if (res.code == 200) {
-              this.getInterface(res)
-            }
-          })
+        this.$api[api[this.reportType][0]](params).then(res => {
+          if (res.code == 200) {
+            this.getInterface(res)
+          }
+        })
       } else if (this.taskId && this.isResult == 3) {//确认协同结果,
-        console.log(33);
-          this.$api[api[this.reportType][1]](params).then(res => {
-            if (res.code == 200) {
-              this.getInterface(res)
-            }
-          })
-      } else {//FTO对比结果
-        console.log(44);
-          params = {
-            taskId:this.reportType==3?this.taskId:null,
-            ifReSplit: ifReSplit,
-            projectId: Number(this.projectId),
-            patentNo: this.patentNo,
-            ...split,//拆分条件
+        this.$api[api[this.reportType][1]](params).then(res => {
+          if (res.code == 200) {
+            this.getInterface(res)
           }
-          this.$api[api[this.reportType][2]](params).then(res => {
-            if (res.code == 200) {
-              this.getInterface(res)
-            }
-          })
+        })
+      } else {//FTO对比结果
+        params = {
+          taskId: this.reportType == 3 ? this.taskId : null,
+          ifReSplit: ifReSplit,
+          projectId: Number(this.projectId),
+          patentNo: this.patentNo,
+          ...split,//拆分条件
         }
+        this.$api[api[this.reportType][2]](params).then(res => {
+          if (res.code == 200) {
+            this.getInterface(res)
+          }
+        })
+      }
     },
     // 处理获取的数据
     getInterface(res) {

+ 1 - 1
src/views/report/tort/components/tortTeamWork/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <!-- 确认结果以及协同人处理结果 -->
+  <!-- 确认结果以及协同人处理结果页面 -->
   <div>
     <!-- <tortTeamWork :patentNo="patentNo" :projectId="projectId" :taskId="taskId"></tortTeamWork> -->
     <tortContrast :patentNo="patentNo" :projectId="projectId" :taskId="taskId" :reportType="reportType" :isResult="isResult"></tortContrast>

+ 21 - 13
src/views/task/components/index.vue

@@ -41,7 +41,7 @@
               <div>
                 <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)"
                   @click="handleTask(scope.row)">
-                  <span v-if="scope.row.status != 2 || scope.row.handlerName != userinfo.name">查 看</span>
+                  <span v-if="(scope.row.status != 2 || scope.row.handlerName != userinfo.name) && (scope.row.projectType != 2)">查 看</span>
                   <span v-else>处 理</span>
                   <el-dropdown-menu slot="dropdown" style="text-align: center;">
                     <el-dropdown-item command="1" v-if="[6].includes(scope.row.type)">查看审核记录</el-dropdown-item>
@@ -241,12 +241,20 @@ export default {
     },
     // 确认协同结果
     handleConfirm(row) {
+      var str = ''
+      if (row.reportType == 3) {
+        str = '/reportPatentList'
+      } else {
+        str ='/tortTeamWork'
+      }
       let router = this.$router.resolve({
-        path: '/tortTeamWork',
+        path: str,
         query: {
           taskId: row.id,
           projectId: row.projectId,
-          isResult: 3
+          reportType:row.reportType,
+          taskType: row.type,
+          isResult: 3,
         }
       })
       window.open(router.href, '_blank')
@@ -350,16 +358,16 @@ export default {
     teamworkTask(row, val) {
       if (row.reportType == 3) {//fto
         let router = this.$router.resolve({
-        path: '/reportPatentList',
-        query: {
-          taskId: row.id,
-          projectId: row.projectId,
-          taskType: row.type,
-          reportType: row.reportType,
-          isResult: val,
-        }
-      })
-      window.open(router.href, '_blank')
+          path: '/reportPatentList',
+          query: {
+            taskId: row.id,
+            projectId: row.projectId,
+            taskType: row.type,
+            reportType: row.reportType,
+            isResult: val,
+          }
+        })
+        window.open(router.href, '_blank')
       } else {//侵权
         let router = this.$router.resolve({
           path: '/tortTeamWork',