zhuhao 2 anni fa
parent
commit
f316a70386

+ 5 - 0
RMS-FrontEnd/src/api/report.js

@@ -490,4 +490,9 @@ export default {
   updateCompareMessage(params){
     return axios.post('/report/api/compareMessage/updateCompareMessage',params)
   },
+
+  //回避设计方案保存
+  addAvoidDesignDirection(params){
+    return axios.post('/report/api/avoidDesignDirections/addAvoidDesignDirection',params)
+  },
 }

+ 46 - 0
RMS-FrontEnd/src/views/components/articles/components/history/product.vue

@@ -0,0 +1,46 @@
+<template>
+  <div>
+    <el-descriptions title="产品信息列表" :column="1">
+        <el-descriptions-item label="标的产品">{{ product.productName }}</el-descriptions-item>
+        <el-descriptions-item label="调查标的说明">{{ product.productDescription }}</el-descriptions-item>
+        <el-descriptions-item label="调查区域">{{ product.surveyArea }}</el-descriptions-item>
+        <el-descriptions-item label="产品图">
+          {{ product.address }}
+        </el-descriptions-item>
+        <el-descriptions-item label="检索策略">{{ product.searchPolicy }}</el-descriptions-item>
+        <el-descriptions-item label="检索截止日期">{{ product.deadLine }}</el-descriptions-item>
+        <el-descriptions-item label="关注企业/发明人/技术方向">{{product.focusInformation}}</el-descriptions-item>
+    </el-descriptions>
+  </div>
+</template>
+
+<script>
+export default {
+  props: ["reportId","patent"],
+  data() {
+    return {
+      product:{},
+    }
+  },
+  mounted() {
+    console.log(this.reportId,this.patent);
+    this.getPriduct();
+  },
+  methods: {
+    getPriduct() {
+      let a = {
+                reportId:this.reportId
+            }
+            this.$api.getProduct(a).then(response=>{
+              if (response.code == 200) {
+                    this.product = response.data
+                }
+            })
+    }
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 36 - 18
RMS-FrontEnd/src/views/components/articles/index.vue

@@ -1,23 +1,29 @@
 <template>
 <div :style="{ top: showPositionTop + 'px', left: showPositionLeft + 'px' }">
-  <div style="background:white;display:flex; justify-content:flex-end;align-items: center;height: 50px;" >
-    <el-button type="primary" size="small" @click="checkResult" style="margin-right:10px;height:32px;"> 查看结果 </el-button>
-    <el-popover placement="bottom" title="关键词高亮" width="320" trigger="click" >
-      <patent-keywords-highlight :project-id="projectId" />
-        <el-button :disabled="!$permission('/workspace/common/highlight')" slot="reference" size="small" type="primary" class="margin-right_10">
-           高亮<i class="el-icon-arrow-down el-icon--right"></i>
-        </el-button>
-    </el-popover>
-    <el-switch
-      v-model="value"
-      :disabled="!$permission('/workspace/details/comparison')"
-      inactive-text="对比"
-      active-color="#00BFFF"
-      inactive-color="#D3D3D3">
-    </el-switch>
-    <patent-list v-if="taskId" :patent-id="patentId" :project-id="projectId" @on-change="onChange" :taskId="taskId" :location="location1" :state="state" :ban='ban'/>
-  </div>       
-              
+  <div style="display:flex;justify-content: space-between;align-items: center;">
+    <div >
+      <el-tooltip class="item" effect="dark" content="返回任务页面" placement="top-start">
+        <el-button type="primary" size="small" @click="goBack"> 返回 </el-button>
+      </el-tooltip>
+    </div>
+    <div style="background:white;display:flex; justify-content:flex-end;align-items: center;height: 50px;" >
+      <el-button type="primary" size="small" @click="checkResult" style="margin-right:10px;height:32px;"> 查看结果 </el-button>
+      <el-popover placement="bottom" title="关键词高亮" width="320" trigger="click" >
+        <patent-keywords-highlight :project-id="projectId" />
+          <el-button :disabled="!$permission('/workspace/common/highlight')" slot="reference" size="small" type="primary" class="margin-right_10">
+            高亮<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+      </el-popover>
+      <el-switch
+        v-model="value"
+        :disabled="!$permission('/workspace/details/comparison')"
+        inactive-text="对比"
+        active-color="#00BFFF"
+        inactive-color="#D3D3D3">
+      </el-switch>
+      <patent-list v-if="taskId" :patent-id="patentId" :project-id="projectId" @on-change="onChange" :taskId="taskId" :location="location1" :state="state" :ban='ban'/>
+    </div>       
+  </div>
   <!-- <el-button @click="two">对比</el-button> -->
   <el-container style=" border: 1px solid #eee">
     <el-container v-show="width!='100%'">
@@ -180,6 +186,7 @@ import File from './components/history/file.vue'
 import Invalid from './components/history/invalid.vue'
 import Litigation from './components/history/litigation.vue'
 import Other from './components/history/other.vue'
+// import Product from './components/history/product.vue'
 import { getPatentCountry } from "@/utils";
 import Import from '../import/index.vue'
 // import {addContrast} from './components/mixins';
@@ -208,6 +215,7 @@ export default {
     Invalid,
     Litigation,
     Other,
+    // Product,
 },
   data() {
     return {
@@ -280,6 +288,10 @@ export default {
         },
       ],
       menuList2: [
+        // {
+        //   value: 'Product',
+        //   label: '产品信息'
+        // },
         {
           value: 'Examination',
           label: '审查历史'
@@ -364,6 +376,12 @@ export default {
 
   },
   methods: {
+    // 返回
+    goBack() {
+      this.$router.push({
+        path: '/admin/task/MyHandle',
+      })
+    },
     getIsTrue(val){
       console.log(val)
       this.isTrue = val

+ 36 - 17
RMS-FrontEnd/src/views/report/FTO/FTOPage/components/ContrasrProduct.vue

@@ -1,22 +1,29 @@
 <template>
   <div style="top:0px;left:0px;">
-    <div style="background:white;display:flex; justify-content:flex-end;align-items: center;height: 50px;">
-      <!-- <el-tag :type="patentStatus2=='0'?'info':'primary'" effect="dark" size="mini" class="margin-left_10"
-        style="cursor: pointer" @click="changeStatus(patentStatus2)">{{ patentStatus[patentStatus2] }}</el-tag> -->
-      <!-- <el-button type="primary" size="small" @click="checkResult" style="margin-top:20px;margin-right:10px;height:32px;"> 查看结果 </el-button> -->
-      <el-button v-if="reportType==4 && !taskId" @click="taskWork" type="primary" size="small" style="height: 32px;"> 协同办公 </el-button>
-      <el-popover placement="bottom" title="关键词高亮" width="320" trigger="click" style="margin-left: 20px;">
-        <patent-keywords-highlight :project-id="projectId" />
-        <el-button slot="reference" size="small" type="primary"
-          class="margin-right_10">
-          高亮<i class="el-icon-arrow-down el-icon--right"></i>
-        </el-button>
-      </el-popover>
-      <el-switch v-model="value" 
-        inactive-text="查看详情" active-color="#00BFFF" inactive-color="#D3D3D3">
-      </el-switch>
-      <patent-list v-if="taskId && reportType!=4" :patent-id="patentId" :project-id="projectId" @on-change="onChange" :taskId="taskId"
-        :location="location1" :state="state" :ban='ban' @behindNumber="behindNumber"/>
+    <div style="display:flex;justify-content: space-between;align-items: center;">
+      <div :style="{visibility: !coordinationA?'visible':'hidden'}">
+        <el-tooltip class="item" effect="dark" content="返回任务页面" placement="top-start">
+          <el-button type="primary" size="small" @click="goBack"> 返回 </el-button>
+        </el-tooltip>
+      </div>
+      <div style="background:white;display:flex; justify-content:flex-end;align-items: center;height: 50px;">
+        <!-- <el-tag :type="patentStatus2=='0'?'info':'primary'" effect="dark" size="mini" class="margin-left_10"
+          style="cursor: pointer" @click="changeStatus(patentStatus2)">{{ patentStatus[patentStatus2] }}</el-tag> -->
+        <!-- <el-button type="primary" size="small" @click="checkResult" style="margin-top:20px;margin-right:10px;height:32px;"> 查看结果 </el-button> -->
+        <el-button v-if="reportType==4 && !taskId" @click="taskWork" type="primary" size="small" style="height: 32px;"> 协同办公 </el-button>
+        <el-popover placement="bottom" title="关键词高亮" width="320" trigger="click" style="margin-left: 20px;">
+          <patent-keywords-highlight :project-id="projectId" />
+          <el-button slot="reference" size="small" type="primary"
+            class="margin-right_10">
+            高亮<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+        </el-popover>
+        <el-switch v-model="value" 
+          inactive-text="查看详情" active-color="#00BFFF" inactive-color="#D3D3D3">
+        </el-switch>
+        <patent-list v-if="taskId && reportType!=4" :patent-id="patentId" :project-id="projectId" @on-change="onChange" :taskId="taskId"
+          :location="location1" :state="state" :ban='ban' @behindNumber="behindNumber"/>
+      </div>
     </div>
 
     <!-- <el-button @click="two">对比</el-button> -->
@@ -139,6 +146,7 @@ import { getPatentCountry } from "@/utils";
 import Import from '@/views/components/import/index.vue'
 import Features from '@/views/components/articles/components/features.vue'
 import sendCollaboration from "@/views/report/components/sendCollaboration.vue"
+import Product from '@/views/components/articles/components/history/product.vue'
 
 export default {
   mixins: [patentKeywordsHighlight, changeTranslation],
@@ -165,6 +173,7 @@ export default {
     Litigation,
     Other,
     sendCollaboration,
+    Product,
   },
   data() {
     return {
@@ -241,6 +250,10 @@ export default {
       ],
       menuList2: [
         {
+          value: 'Product',
+          label: '产品信息'
+        },
+        {
           value: 'Examination',
           label: '审查历史'
         },
@@ -301,6 +314,12 @@ export default {
     console.log(this.reportId, this.$s.getSession('params'));
   },
   methods: {
+    // 返回
+    goBack() {
+      this.$router.push({
+        path: '/admin/task/MyHandle',
+      })
+    },
       // 侵权分析工作协同
       taskWork() { 
         this.visibleWork = true

+ 1 - 1
RMS-FrontEnd/src/views/report/FTO/FTOPage/components/PatentFeatures.vue

@@ -186,7 +186,7 @@
         // patentNo:"",//专利号
         splitType1:"0",//拆分类型0仅拆主权要,1全部拆分
         splitBy1: "2",//拆分符号0 ',',1';',2','和';'
-        Type: "1",//下拉框
+        Type: "0",//下拉框
         typeArr:[1],//显示权要还是全部显示
         loading: false,
         loadings: false,

+ 95 - 6
RMS-FrontEnd/src/views/report/FTO/FTOPage/components/ProductResult.vue

@@ -4,6 +4,7 @@
             
             <el-aside style="background:white" :style="{width:'calc(100% - ' + width +')'}">
                 <div style="display:flex; justify-content:flex-end;align-items:center;margin-bottom: 10px;">
+                    <el-button @click="choice" type="primary" size="small" >选择专利</el-button>
                     <el-button @click="taskWork" type="primary" size="small" >协同办公</el-button>
                     <el-dropdown size="medium" style="margin:10px 20px 10px 20px">
                         <el-button type="primary" size="small" >
@@ -51,7 +52,7 @@
                     <table class="PatentMessage">
                         <tr>
                             <td>公告号</td>
-                            <td><span v-if="patent">{{patent.patentNo}}</span></td>
+                            <td> <span v-if="patent">{{patent.patentNo}}</span></td>
                             <td>公告日</td>
                             <td><span v-if="patent">{{patent.publicDate}}</span></td>
                             <td>专利权人</td>
@@ -141,22 +142,71 @@
                 </div>
             </el-main>
         </el-container>
+
+        <el-dialog
+          title="选择专利"
+          :visible.sync="dialogVisible"
+          width="800px"
+          :before-close="handleClose">
+            <patentTable :tableData="choiceTableData" :queryParams="queryParams" :choiceMark="choiceMark" :isHandleSure="isHandleSure" @selected="handleSelected" @onForm="handleOnForm"></patentTable>
+          <!-- <el-table
+            :data="choiceTableData"
+            border
+            style="width: 100%">
+            <el-table-column
+              prop="date"
+              label="专利号"
+              width="180">
+              <template slot-scope="scope">
+                <el-checkbox-group v-model="checkList">
+                  <el-checkbox :label="scope.row.patentNo"><span>{{ scope.row.patentNo }}</span></el-checkbox>
+                   
+                </el-checkbox-group>
+               
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="name"
+              label="比对结果"
+              width="180">
+              <template slot-scope="scope">
+                <span>{{ scope.row.patentNo }}</span>
+              </template>
+            </el-table-column>
+           
+          </el-table> -->
+          <div class="pagination">
+            <el-pagination :current-page.sync="queryParams.current" :page-size="queryParams.size" :total="total" @current-change="handleCurrentChange" layout="total, prev, pager, next, jumper" background></el-pagination>
+          </div>
+          <span slot="footer" class="dialog-footer">
+            <el-button @click="handleClose">取 消</el-button>
+            <el-button type="primary" @click="handleSure">确 定</el-button>
+          </span>
+        </el-dialog>
         <CreateReport ref="ReportForm" @getList="isGetList"></CreateReport>
-        <sendCollaboration :visibleCollaborations="visibleWork" @collaboration="collaboration" :reportId="queryParams.reportId" :compareResultA="compareResult"></sendCollaboration>
+        <sendCollaboration :visibleCollaborations="visibleWork" @collaboration="collaboration" :reportId="queryParams.reportId" :compareResultA="compareResult" :selected="selected"></sendCollaboration>
     </div>
 </template>
 
 <script>
 import CreateReport from '@/views/report/components/CreateReport.vue'
 import sendCollaboration from "@/views/report/components/sendCollaboration.vue"
+import patentTable from "@/views/report/components/patentTable.vue"
 export default {
     components: {
     CreateReport,
-    sendCollaboration
+    sendCollaboration,
+    patentTable,
     },
     props:['reportId','row','taskId'],
     data() {
       return {
+            choiceTableData: [],
+            checkList: [],
+            choiceMark:true,
+            isHandleSure:false,
+            selected:[],
+            dialogVisible:false,
             visibleWork:false,
             total:'',
             index:0,
@@ -166,6 +216,7 @@ export default {
             width:'0px',
             patentList:[],
             tableData:[],
+           
             tableData1:[],
             mergeObj: {},
             mergeArr: [ 'pRightName'],
@@ -181,7 +232,10 @@ export default {
                 {
                     value: 1,
                     label: '相同'
-                }, {
+              },{
+                    value: 3,
+                    label: '等同'
+              },{
                     value: 0,
                     label: '不相同'
                 }, {
@@ -215,7 +269,41 @@ export default {
        }
        
     },
-    methods: {
+  methods: {
+      // 选择专利
+    choice() {
+        this.dialogVisible=true
+        },
+    handleClose() {
+        this.dialogVisible=false
+    },
+    handleSure() { 
+      this.dialogVisible = false
+      this.isHandleSure=true
+    },
+    // 选择专利数据
+    handleSelected(val) {
+      console.log(val);
+      this.isHandleSure=false
+    },
+    // 选择专利筛选条件
+    async handleOnForm(val) {
+      console.log(val);
+      this.queryParams.patentNo=val.patentNo//专利号
+      this.queryParams.patentNo=val.patentNo//标题
+      this.queryParams.compareResult=val.compareResult//比对结果
+      await this.getPatentList()
+    },
+    handleCurrentChange(val) {//分页
+      
+      // if (this.params) {
+      //   this.params.current = val;
+      //   this.getList2()
+      // } else {
+      //   this.queryParams.current = val;
+      //   this.getList()
+      // }
+    },
       async handleAnalyse(id) {
         //     let a = {
         //         reportId:this.reportId
@@ -302,7 +390,8 @@ export default {
            await this.$api.getComparedMessage(this.queryParams).then(response=>{
              if (response.code == 200) {
                   this.total = response.data.total
-                  this.patentList=this.patentList.concat(response.data.records)
+                this.patentList = this.patentList.concat(response.data.records)
+                this.choiceTableData=response.data.records
                 }
             })
         },

+ 10 - 3
RMS-FrontEnd/src/views/report/Invalid/InvalidPage/AssignTasks.vue

@@ -113,10 +113,13 @@ export default {
   props:['reportId','isFinish','patentNo',"personId",'reportName'],
   data() {
     const isTime = (rule, value, callback) => {
-      let a = Date.parse(new Date)
+      if (this.formEndTime) {
+         this.changeEndTime = Date.parse(new Date)
+      }
+      // let a = Date.parse(new Date)
       let b = Date.parse(value)
       if (value) {
-        if (b<a) {
+        if (b < this.changeEndTime) {
           callback(new Error('禁止选择现在及以前时间,请重新选择'))
         } else {
           callback()
@@ -134,6 +137,8 @@ export default {
       form:{
         
       },
+      formEndTime: true,
+      changeEndTime:null,
       patentInformation:false,
       personInformation: false,
       // totalNumber: this.tableDataA.length!=0?tableDataA.length:"",//总件数
@@ -287,7 +292,8 @@ export default {
       })
     },
     //保存任务
-    submitTask(){
+    submitTask() {
+      this.formEndTime=false
       this.$refs.form.validate((valid) => {
           if (valid) {
             var a = {
@@ -505,6 +511,7 @@ export default {
     },
     close2(){
       this.taskInformation = false
+      this.formEndTime = true
       this.$emit('addTask',false)
     },
     getPersonPatent(val){

+ 1 - 1
RMS-FrontEnd/src/views/report/Invalid/InvalidPage/Claims.vue

@@ -110,7 +110,7 @@ export default {
       // patentNo:"",//专利号
       splitType1:this.$s.getSession('reportMessage1').splitType?this.$s.getSession('reportMessage1').splitType.toString():"0",//拆分类型0仅拆主权要,1全部拆分
       splitBy1: this.$s.getSession('reportMessage1').splitBy?this.$s.getSession('reportMessage1').splitBy.toString():"2",//拆分符号0 ',',1';',2','和';'
-      Type: "1",//下拉框
+      Type: "0",//下拉框
       typeArr:[1],//显示权要还是全部显示
       // ReportId:"",//报告id
       // explainText: "",

+ 104 - 58
RMS-FrontEnd/src/views/report/avoid/avoidPage/avoidDirection.vue

@@ -23,7 +23,11 @@
             <el-option label="全部显示" value="0"></el-option>
         </el-select>
       </div>
-        <el-button @click="keep" type="primary" style="float: right;">保存</el-button>
+      <div>
+        <el-button @click="keep" type="primary">保存</el-button>
+        <!-- <el-button @click="finish" type="primary">完成</el-button> -->
+      </div>
+        
     </div>
     <template>
       <el-table
@@ -62,56 +66,79 @@
             label="解释(可粘贴图片)"
             align="center">
             <template slot-scope="scope">
-              <el-input type="textarea" style="width:250px" autosize v-model="scope.row.explainText"> {{scope.row.explainText}}</el-input>
+              <div style="width:100%;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px" id="preview" contenteditable="true" 
+                v-html="scope.row.explainText"  @input="saveValue($event.target.innerHTML)"  @click="saveValue($event.target.innerHTML)"
+                @blur="getValue(scope.row,'explainText')"  v-on:paste="handlePaste($event,scope.row,'explainText')">
+                
+              </div>
+              <!-- <el-input type="textarea" style="width:250px" autosize v-model="scope.row.explainText"> {{scope.row.explainText}}</el-input> -->
             </template>
           </el-table-column>
           <el-table-column
-            prop="direction"
+            prop="littleDirection"
             label="回避设计方向(可粘贴图片)"
             align="center">
             <template slot-scope="scope">
-              <el-input type="textarea" style="width:250px" autosize v-model="scope.row.direction"> {{scope.row.direction}}</el-input>
+              <div style="width:100%;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px" id="preview" contenteditable="true" 
+                v-html="scope.row.littleDirection"  @input="saveValue($event.target.innerHTML)"  @click="saveValue($event.target.innerHTML)"
+                @blur="getValue(scope.row,'littleDirection')"  v-on:paste="handlePaste($event,scope.row,'littleDirection')">
+                
+              </div>
+              <!-- <el-input type="textarea" style="width:250px" autosize v-model="scope.row.littleDirection"> {{scope.row.littleDirection}}</el-input> -->
             </template>
           </el-table-column>
         </el-table>
     </template>
     <div style="margin-top: 20px;">
       <p >回避设计总体方向:</p>
-      <el-input
+      <div >
+            <div style="min-height:60px;outline: #dcdfe6;border:1px solid #DCDFE6;border-radius:5px;padding: 10px;" id="preview" class="edit-box" contenteditable="true" placeholder="请输入回避设计总体方向(可粘贴图片)"
+              v-html="textarea1.wholeDirection"  @input="saveValue($event.target.innerHTML)"  @click="saveValue($event.target.innerHTML)"
+              @blur="getValue(textarea1,'wholeDirection')"  v-on:paste="handlePaste($event,textarea1,'wholeDirection')">
+            </div>
+      </div>
+         
+      <!-- <el-input
         type="textarea"
         :autosize="{ minRows: 2, maxRows: 4}"
         placeholder="请输入内容(可粘贴图片)"
         v-model="textarea1">
-      </el-input>
+      </el-input> -->
     </div>
   </div>
 </template>
 
 <script>
+import {explain} from '@/views/report/components/mixins'
+import { PatentDetails } from '@/views/components/common/mixins';
 export default {
-  props:['patentNo','reportId','splitBy','splitType'],
+  props: ['patentNo', 'reportId', 'splitBy', 'splitType'],
+  mixins:[explain,PatentDetails],
   data() {
     return {
       tableData:[],
       tableData1: [],
       checkList: [],
-      splitType1:"0",
-      splitBy1: "2",//拆分符号0 ',',1';',2','和';'
-      Type: "1",
-      textarea1: '',
+      splitType1:this.$s.getSession('reportMessage1').splitType?this.$s.getSession('reportMessage1').splitType.toString():"0",//拆分类型0仅拆主权要,1全部拆分
+      splitBy1: this.$s.getSession('reportMessage1').splitBy?this.$s.getSession('reportMessage1').splitBy.toString():"2",
+      Type: "0",
+      textarea1: {},
       mergeArr: ['id', 'pRightName'],
       mergeObj: {},
       typeArr:[1],//显示权要还是全部显示
       loading: false,
       row: [],
       Index_row: [],
-      arrIndex: 0,
     };
   },
   mounted() {
     this.splitPatentRight()
   },
   methods: {
+    //完成
+    // finish() {
+      
+    // },
     //初始拆分
     splitPatentRight() {
       this.loading = true
@@ -123,7 +150,11 @@ export default {
         ReportId: this.reportId,
       }
       this.$api.splitPatentRight(PatentRight).then(res => {
-        if (res.code==200) {
+        if (res.code == 200) {
+          let a=this.$s.getSession('reportMessage1')
+          a.splitBy=res.data.splitBy.toString()
+          a.splitType = res.data.splitType.toString()
+          this.$s.setSession('reportMessage1',a)
           if (res.data.patentRightVos.length>0) {
             res.data.patentRightVos.forEach(RightVosItem => {
               if (RightVosItem.features.length>0) {
@@ -143,11 +174,11 @@ export default {
                       FeaturesItem.explainText=FeaturesItem.contentOut
                     }
                   }
-                  if (!FeaturesItem.hasOwnProperty("direction")) {
-                    FeaturesItem.direction=FeaturesItem.contentOut
+                  if (!FeaturesItem.hasOwnProperty("littleDirection")) {
+                    FeaturesItem.littleDirection=FeaturesItem.contentOut
                   } else {
-                    if (FeaturesItem.direction=="") {
-                      FeaturesItem.direction=FeaturesItem.contentOut
+                    if (FeaturesItem.littleDirection=="") {
+                      FeaturesItem.littleDirection=FeaturesItem.contentOut
                     }
                   }
                    this.tableData1.push(FeaturesItem)
@@ -229,7 +260,7 @@ export default {
         //   }
         // }
     },
-      //保存
+    //保存
     keep() { 
       console.log(this.tableData);
       let keepArr = [
@@ -264,48 +295,63 @@ export default {
             }
           )
         }
-        let featuresArr = ["signPatentNo", "patentId", "content","type","direction","explainText","contentOut","splitBy","splitType","featuresOrder","id","rightName","isFinal"]
-        featuresArr.forEach(item1 => {
-          var keepArrIndex = keepArr[j].features.findIndex(item2 => {
-          // console.log(item2,item1);
-            return item2==item1
-          })
-          if (keepArrIndex < 0) {
-            // console.log(keepArr[j].features);
-            keepArr[j].features.push({
-              // keepArr[j].features:this.tableData1[i].item1
-            })
+        // let featuresArr = ["signPatentNo", "patentId", "content","type","littleDirection","explainText","contentOut","splitBy","splitType","featuresOrder","id","rightName","isFinal"]
+        // featuresArr.forEach(item1 => {
+        //   var keepArrIndex = keepArr[j].features.findIndex(item2 => {
+        //   // console.log(item2,item1);
+        //     return item2.hasOwnProperty(item1)
+        //   })
+        //   console.log(keepArrIndex);
+        //   if (keepArrIndex < 0) {
+        //     console.log(item1,keepArr[j].features);
+        //     keepArr[j].features.push({
+        //       item1:this.tableData1[i].item1,
+        //     })
            
-          }
-        })
-        // keepArr[j].features.push({
-        //       signPatentNo: this.tableData1[i].signPatentNo,
-        //       patentId: this.tableData1[i].patentId,
-        //       content: this.tableData1[i].content,
-        //       type: this.tableData1[i].type,
-        //       direction: this.tableData1[i].direction?this.tableData1[i].direction:'',
-        //       explainText: this.tableData1[i].explainText?this.tableData1[i].explainText:'',
-        //       contentOut: this.tableData1[i].contentOut,
-        //       splitBy: this.tableData1[i].splitBy,
-        //       splitType: this.tableData1[i].splitType,
-        //       featuresOrder: this.tableData1[i].featuresOrder,
-        //       id: this.tableData1[i].id,
-        //       rightName: this.tableData1[i].rightName,
-        //       isFinal: this.tableData1[i].isFinal,
+        //   }
         // })
+        keepArr[j].features.push({
+              signPatentNo: this.tableData1[i].signPatentNo,
+              patentId: this.tableData1[i].patentId,
+              content: this.tableData1[i].content,
+              type: this.tableData1[i].type,
+              littleDirection: this.tableData1[i].littleDirection ? this.tableData1[i].littleDirection : '',
+              // littleDirection:
+              reportId: this.tableData1[i].pReportId,
+              explainText: this.tableData1[i].explainText?this.tableData1[i].explainText:'',
+              contentOut: this.tableData1[i].contentOut,
+              splitBy: this.tableData1[i].splitBy,
+              splitType: this.tableData1[i].splitType,
+              featuresOrder: this.tableData1[i].featuresOrder,
+              id: this.tableData1[i].id,
+              rightName: this.tableData1[i].rightName,
+              isFinal: this.tableData1[i].isFinal,
+        })
       }
-      console.log(this.tableData,keepArr);
-      // this.$api.KeepPatentRight(keepArr).then(res => {
-      //   console.log(res);
-      //   if (res.code == 200) {
-      //     this.keepSure = true;
-      //     this.$message.success("保存成功")
-      //   }
-      // })
+//       {
+//   "reportId": 0,
+//   "avoidDesignLittleDirectionDTOs": [
+//     {}
+//   ],
+//   "wholeDirection": "string"
+// }
+      let keepStr = {
+        reportId: this.reportId,
+        avoidDesignLittleDirectionDTOs: keepArr,
+        wholeDirection:this.textarea1.wholeDirection?this.textarea1.wholeDirection:''
+      }
+      console.log(this.textarea1.wholeDirection);
+      console.log(this.tableData,keepArr,keepStr);
+      this.$api.addAvoidDesignDirection(keepStr).then(res => {
+        console.log(res);
+        if (res.code == 200) {
+          this.$message.success("保存成功")
+        }
+      })
     },
     // 获取选中特征信息
     getRow(scope) {
-      console.log(scope);
+      // console.log(scope);
       
       let Index=this.row.findIndex(item=>{ return item.id==scope.row.id })
       if (Index < 0) {
@@ -347,7 +393,7 @@ export default {
           if (rowIndex<this.row.length-1) {
             str = str + rowItem.content + ","
             str1 = str1 + rowItem.contentOut + ","
-            str2 = str2 + rowItem.direction + ","
+            str2 = str2 + rowItem.littleDirection + ","
             str3 = str3 + rowItem.explainText + ","
             let Index1 = this.tableData1.findIndex(item => { return rowItem.id==item.id  })
             if (Index1!=-1) {
@@ -357,14 +403,14 @@ export default {
           }else if(rowIndex==this.row.length-1){
             str=str+rowItem.content
             str1=str1+rowItem.contentOut
-            str2=str2+rowItem.direction
+            str2=str2+rowItem.littleDirection
             str3=str3+rowItem.explainText
           }
           let Index2 = this.tableData1.findIndex(item => { return item.id == rowItem.id })
           if (Index2!=-1) {
             this.tableData1[Index2].content=str
             this.tableData1[Index2].contentOut=str1
-            this.tableData1[Index2].direction=str2
+            this.tableData1[Index2].littleDirection=str2
             this.tableData1[Index2].explainText = str3
             console.log(this.tableData1);
           }
@@ -391,7 +437,7 @@ export default {
               id: rowItem.id+'a',
               content: '',
               contentOut:'',
-              direction:'',
+              littleDirection:'',
               explainText: '',
               rightName:rowItem.rightName,
               featuresOrder:rowItem.featuresOrder,

+ 67 - 8
RMS-FrontEnd/src/views/report/components/patentTable.vue

@@ -90,7 +90,34 @@
           </el-table>
           
 
-    <el-dialog title="筛选" :visible.sync="visible" width="1000px" max-height="600" :before-close="close" append-to-body>
+    <el-dialog v-if="choiceMark" title="筛选" :visible.sync="visible" width="800px" max-height="600" :before-close="close" append-to-body>
+      <div style="height: 500px">
+        <el-form ref="choiceForm" :model="choiceForm" label-width="80px" label-position="left">
+          <el-form-item label="标题">
+            <el-input type="textarea" v-model="choiceForm.patentName" placeholder="请输入查询内容"></el-input>
+          </el-form-item>
+          <el-form-item label="专利号">
+            <el-input type="textarea" v-model="choiceForm.patentNo" placeholder="请输入查询内容"></el-input>
+          </el-form-item>
+          <el-form-item label="对比结果">
+            <el-select v-model="choiceForm.compareResult" clearable @change="change" placeholder="请选择对比结果">
+                    <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value">
+                    </el-option>
+            </el-select>
+            <!-- <el-input type="textarea" v-model="choiceForm.compareResult" placeholder="请输入查询内容"></el-input> -->
+          </el-form-item>
+        </el-form>
+        </div>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="close">取 消</el-button>
+          <el-button type="primary" @click="screen">确 定</el-button>
+        </div>
+    </el-dialog>
+    <el-dialog v-else title="筛选" :visible.sync="visible" width="1000px" max-height="600" :before-close="close" append-to-body>
       <div style="height: 500px">
         <el-form ref="form" :model="form" label-width="80px" label-position="left">
           <el-form-item label="标题">
@@ -124,22 +151,39 @@
 <script>
 import { PatentDetails } from '@/views/components/common/mixins';
 export default{
-  props:['tableData','isSubmit','queryParams'],
+  props:['tableData','isSubmit','queryParams',"choiceMark","isHandleSure"],
   mixins:[PatentDetails],
   data() {
     return {
       loading:false,
       visible:false,
       form: {},
+      choiceForm: {},
+      choiceFormS: {},
       // formS: {},
       // tableData:[],
       checkList:[],
       selected: [],
-      formS:{},
+      formS: {},
+      options: [
+                {
+                    value: 1,
+                    label: '相同'
+              },{
+                    value: 3,
+                    label: '等同'
+              },{
+                    value: 0,
+                    label: '不相同'
+                }, {
+                    value: 2,
+                    label: '待确定'
+                }
+            ],
     }
   },
   mounted() {
-    
+    console.log(this.tableData,this.selected);
   },
   watch:{
     isSubmit(val){
@@ -148,6 +192,11 @@ export default{
         this.checkList=[]
         this.selected = []
       }
+    },
+    isHandleSure(val) {
+      if (val) {
+        this.$emit("selected", this.selected)
+      }
     }
   },
   methods: {
@@ -190,6 +239,7 @@ export default{
     close() {//筛选取消
       this.visible = false
       this.form = this.formS
+      this.choiceForm = this.choiceFormS
     },
     screen() {//筛选确定
       // for (let key in this.form) {
@@ -197,12 +247,21 @@ export default{
       // }
       // this.queryParams.patentName=this.form.patentName
       // this.getList()
-      this.formS=JSON.parse(JSON.stringify(this.form))
-      this.$emit("onForm", this.formS)
-      this.visible = false
+      if (!this.choiceMark) {
+        this.formS=JSON.parse(JSON.stringify(this.form))
+        this.$emit("onForm", this.formS)
+        this.visible = false
+      } else {
+        this.choiceFormS = JSON.parse(JSON.stringify(this.choiceForm))
+        this.$emit("onForm", this.choiceFormS)
+        this.visible = false
+      }
+      
       // this.form = {}
     },
-   
+    change(val) {
+      console.log(val);
+    },
    
   },
 }

+ 1 - 1
RMS-FrontEnd/src/views/report/components/sendCollaboration.vue

@@ -90,7 +90,7 @@
 import { mapGetters } from 'vuex'
 import PersonnelList from './personnelList'
 export default {
-  props: ["visibleCollaborations", "reportId", "onChangesIn", "formS","compareResultA","patentNo1"],
+  props: ["visibleCollaborations", "reportId", "onChangesIn", "formS","compareResultA","patentNo1","selected"],
   components: {
     PersonnelList
   },

+ 1 - 1
RMS-FrontEnd/src/views/task/MyInitiate.vue

@@ -132,7 +132,7 @@ export default {
       tableData:[],
       form:[],
       formEndTime: true,
-      changeEndTimes:null,
+      changeEndTime:null,
       queryParams: {
         size: 10,
         current: 1,