zhuliu 1 year ago
parent
commit
9d8c63587b

+ 44 - 0
public/dahua/dahua.css

@@ -0,0 +1,44 @@
+.dahua{
+    width: 800px;
+    margin: 0 auto;
+    padding: 20px 0;
+    
+}
+.dahua .reportTitle{
+    font-size: 48px;
+    text-align: center;
+}
+.dahua .basicMessage{
+    margin-top: 40px;
+    
+}
+.dahua .basicMessage table{
+    width: 100%;
+    
+}
+.dahua .basicMessage td{
+    padding: 8px;
+}
+.dahua .basicMessage tr>td:first-child{
+    width: 200px;
+}
+.dahua .basicMessage table, th, td {
+    border: 1px solid black;
+    border-collapse: collapse; /* 移除单元格之间的间隔 */
+}
+.dahua .mainContent{
+    margin-top: 50px;
+    
+}
+.dahua .mainContent .title{
+    font-size: 24px;
+    font-weight: bolder;
+}
+.dahua .mainContent .title2{
+    margin-top: 20px;
+    padding: 8px 0;
+    font-weight: bold;
+}
+.dahua .mainContent .content{
+    min-height: 50px;
+}

+ 112 - 0
public/dahua/dahua.txt

@@ -0,0 +1,112 @@
+<div class="dahua">
+    <div class="reportTitle">
+        查新检索报告
+    </div>
+    <div class="basicMessage">
+        <table>
+            <tr>
+                <td>提案编号:</td>
+                <td @dblclick="edit('basicMessage','number')">
+                    <div v-if="isEdit('basicMessage','number')">
+                        <myRichText v-model="dataObj.basicMessage.number" customStyle="border:none" :autoFocus="true" @blur="saveMessage"></myRichText>
+                    </div>
+                    <div v-else>{{dataObj.basicMessage.number}}</div>
+                </td>
+            </tr>
+            <tr>
+                <td>提案名称:</td>
+                <td @dblclick="edit('basicMessage','name')">
+                    <div v-if="isEdit('basicMessage','name')">
+                        <myRichText v-model="dataObj.basicMessage.name" customStyle="border:none" :autoFocus="true" @blur="saveMessage"></myRichText>
+                    </div>
+                    <div v-else>{{dataObj.basicMessage.name}}</div>
+                </td>
+            </tr>
+            <tr>
+                <td>技术接口人:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+            <tr>
+                <td>检索机构/检索员:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+            <tr>
+                <td>检索员联系方式:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+            <tr>
+                <td>检索日期:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div class="mainContent">
+        <div class="title">一、技术方案的分析</div>
+        <div>
+            <div class="title2">1、方案概述</div>
+            <div class="content" @dblclick="edit('signMessage','description')">
+                <div v-if="isEdit('signMessage','description')">
+                    <myRichText v-model="dataObj.signMessage.description" customStyle="border:none" :autoFocus="true" @blur="saveMessage"></myRichText>
+                </div>
+                <div v-else>{{dataObj.signMessage.description}}</div>
+            </div>
+        </div>
+        <div>
+            <div class="title2">2、主要附图(如有必要)</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">3、主要发明点</div>
+            <div class="content"></div>
+        </div>
+    </div>
+    <div class="mainContent">
+        <div class="title">二、检索关键词及检索式</div>
+        <div>
+            <div class="title2">1、检索关键词</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">2、检索式(需包括命中数量)</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">3、检索数据库</div>
+            <div class="content"></div>
+        </div>
+    </div>
+    <div class="mainContent">
+        <div class="title">三、新颖性和/或创造性评述</div>
+        <div>
+            <div class="title2">1、检索结果</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">2、检索结果分析</div>
+            <div class="content"></div>
+        </div>
+    </div>
+    <div class="mainContent">
+        <div class="title">三、结论及建议</div>
+        <div>
+            <div class="title2">1、分析结论:</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">2、建议:</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">3、撰写要点建议</div>
+            <div class="content"></div>
+        </div>
+    </div>
+  </div>

+ 0 - 3
src/utils/direct/drag.js

@@ -26,9 +26,6 @@
     // };
     let firstTime = ''
     let lastTime = ''
-    document.onselectstart = function () {
-      return false
-    }
     bar.onmousedown = function (event) {
       target.setAttribute('drag-flag', false)
       firstTime = new Date().getTime()

+ 1 - 0
src/utils/model/search/search.vue

@@ -247,6 +247,7 @@ export default {
     },
     watch:{
         field(){
+            this.filedList =[].concat(...this.field.map(item=>{return item.children}))
             if(this.list.length == 0){
                 this.rule()
             }

+ 13 - 10
src/views/components/import/conditionImport/customSearch.vue

@@ -1,6 +1,6 @@
 <template>
-  <div class="customSearch">
-    <el-container style=" border: 1px solid #eee" :style="{height:height-70+'px'}">
+  <div class="customSearch height_100" v-DivHeight="getDivHeight">
+    <el-container style=" border: 1px solid #eee" :style="{height:tableHeight+'px'}">
         <el-aside v-if="DBType == 'WD'">
              <div>
                 <div class="clearfix">
@@ -10,7 +10,7 @@
                     <div style="padding:10px">
                       <el-input style="width:100%" v-model="suggest" @input="querySearch" placeholder="请输入内容"></el-input>
                     </div>
-                    <div style="overflow-y:auto;overflow-x:hidden;" :style="{height:height-180+'px'}">
+                    <div style="overflow-y:auto;overflow-x:hidden;" :style="{height:tableHeight-120+'px'}">
                        <el-checkbox-group v-model="checkList">
                         <div v-for="item in countryList1" :key="item.value" class="item">
                             <el-checkbox :label="item.value">{{ item.label }}({{ item.value }})</el-checkbox>
@@ -31,23 +31,23 @@
 </template>
 
 <script>
+import { getTableHeight } from '@/views/components/mixins'
 export default {
   name:'customSearch',
   components: {
   },
+  mixins: [ getTableHeight],
   props: ['countryList','DBType','selected','editData'],
   data() {
     return {
       list:[],
-        height:document.getElementsByClassName('el-main')[0].clientHeight,
+        
         checkList:[],
         checked:false,
-
-
-            //搜索值
-            field:JSON.parse(JSON.stringify(this.$constants.searchField)),
-            countryList1:[],
-            suggest:''
+        //搜索值
+        field:JSON.parse(JSON.stringify(this.$constants.searchField)),
+        countryList1:[],
+        suggest:'',
     };
   },
   watch: {
@@ -61,6 +61,9 @@ export default {
     DBType(){
       this.getField()
     },
+    'countryList'(){
+      this.countryList1 = this.countryList.filter(item=>item.value!='CN')
+    },
   },
   computed: {},
   created() {},

+ 1 - 1
src/views/components/import/conditionImport/search.vue

@@ -24,7 +24,7 @@
             </div>  
             <div style="width:15%;height:100%">
                 <!-- <createNoveltySearch ref="createNoveltySearch" width="15%" :show="true" :position="{right:0,top:'120px'}"></createNoveltySearch> -->
-                <inventionPointDialog type="plus" v-if="noveltySearch"></inventionPointDialog>
+                <inventionPointDialog type="plus" :btns="[1,2,3]" v-if="noveltySearch"></inventionPointDialog>
             </div>
         </div>
         

+ 6 - 1
src/views/components/import/conditionImport/searchResult.vue

@@ -31,7 +31,7 @@
         <div class="height_100">
           <component ref="patentViewList" :is="viewSelected" :outside="true" :column="columnList" :tableData="tableData"  @clickPatentNo="handleClick" :canSort="condition.component != 'patentNoSearch'?true:false"
             @select-change="handleSelect" :selected.sync="queryParams.selected" :queryParams="queryParams" :patentNoList.sync="patentNoList" :refresh='true'
-            :view-field="patentViewField" @on-sort="handleSort" @addSelect="getChoosePatentNo"></component>
+            :view-field="patentViewField" @on-sort="handleSort" @addSelect="getChoosePatentNo" @saveRemark="saveRemark"></component>
         </div>
       </el-main>
       <el-footer class="workspace-content-patent-page foot-total">
@@ -89,6 +89,7 @@
       </span>
     </el-dialog>
     <addAndEditSearchRecords ref="addAndEditSearchRecords" :projectId="condition.importToId"></addAndEditSearchRecords>
+    <inventionPointDialog v-if="noveltySearch" :contrastFileList="saveRemarkList"></inventionPointDialog>
   </div>
 </template>
 
@@ -167,6 +168,7 @@ export default {
       visible: false,
       // 检索式及其他信息
       condition: this.searchData,
+      saveRemarkList:[]
     };
   },
   watch: {},
@@ -186,6 +188,9 @@ export default {
 
   },
   methods: {
+    saveRemark(data){
+      this.saveRemarkList.push(data)
+    },
     //保存检索式
     saveSearchCondition(){
       var form = {

+ 1 - 2
src/views/components/import/conditionImport/searchResultIndex.vue

@@ -1,7 +1,6 @@
 <template>
   <div>
-    <search-Result :searchData="searchData" :noveltySearch="noveltySearch"></search-Result>
-    <inventionPointDialog v-if="noveltySearch"></inventionPointDialog>
+    <search-Result :searchData="searchData" :noveltySearch="noveltySearch"></search-Result> 
   </div>
 </template>
 

+ 61 - 17
src/views/noveltySearch/components/dialog/inventionPoint/inventionPoint.vue

@@ -12,9 +12,9 @@
         <div class="main_head">
           <span style="font-size:12px">发明点:</span>
           <div>
-            <el-button  type="text"  size="mini"  :loading="loading"  @click="submit(1)">关键词</el-button>
-            <el-button  type="text"  size="mini"  :loading="loading"  @click="submit(2)">相似案件</el-button>
-            <el-button  type="text"  size="mini"  :loading="loading"  @click="submit(3)">确定</el-button>
+            <el-button  type="text"  size="mini"  :loading="loading" v-if="btns.indexOf(1)!=-1"  @click="submit(1)">关键词</el-button>
+            <el-button  type="text"  size="mini"  :loading="loading" v-if="btns.indexOf(2)!=-1"  @click="submit(2)">相似案件</el-button>
+            <el-button  type="text"  size="mini"  :loading="loading" v-if="btns.indexOf(3)!=-1"  @click="submit(3)">确定</el-button>
           </div>
         </div>
         <div class="main_input">
@@ -53,9 +53,7 @@
                     </el-tag>
                   </div>
                 </div>
-                <div class="foot">
-                  <el-button type="primary" size="small">检索</el-button>
-                </div>
+                
               </div>
             </template>
             <template v-else>
@@ -64,11 +62,11 @@
                   <div slot="head">
                     <div style="font-size:14px">
                       序号:{{ (index + 1)  }}  
-                      <span style="margin-left:20px;color:cadetblue;">相似度:{{ item.same }}</span>
+                      <span style="margin-left:10px;color:cadetblue;">相似度:{{ item.same }}</span>
                     </div>
                     <div>
-                      <el-button type="primary" size="mini" @click="clickItem(item)" v-if="clickType == 2">复用结果</el-button>
-                      <el-button type="primary" size="mini" @click="clickItem(item)" v-if="clickType == 3">进入</el-button>
+                      <el-button type="text" size="mini" @click="clickItem(item)" v-if="clickType == 2">复用结果</el-button>
+                      <el-button type="text" size="mini" @click="clickItem(item)" v-if="clickType == 3">进入</el-button>
                     </div>
                   </div>
                   <el-form label-width="100px">
@@ -86,6 +84,39 @@
               </div>
             </template>
           </div>
+          <div class="foot" v-if="clickType == 1">
+            <el-button type="primary" size="mini">检索</el-button>
+          </div>
+        </div>
+
+        <!-- 对比文件 -->
+        <div v-if="contrastFileList.length>0" style="border-top:1px solid black;margin-top:20px">
+          <div class="main_head">
+            <span style="font-size:12px">对比文件:</span>
+            <div>
+              <el-button  type="text"  size="mini"  :loading="loading"  @click="exportReport()">生成报告</el-button>
+            </div>
+          </div>
+          <div class="result">
+            <myCard class="box-card" v-for="(item,index) in contrastFileList" :key="index">
+              <div slot="head">
+                <div style="font-size:14px">
+                  <el-checkbox-group v-model="chooseContrastFile">
+                    <el-checkbox :label="item.patentNo">序号:{{ (index + 1)  }} </el-checkbox>
+                  </el-checkbox-group>
+                </div>
+              </div>
+              <el-form label-width="100px">
+                  <el-form-item label="专利号">
+                    <div v-html="item.patentNo"></div>
+                  </el-form-item>
+                  <el-form-item label="标注">
+                    <div v-html="item.remark"></div>
+                  </el-form-item>
+                </el-form>
+            </myCard>
+          </div>
+          
         </div>
       </div>
     </div>
@@ -113,11 +144,23 @@ export default {
       type:String,
       default:'mini'
     },
+    btns:{
+      type:Array,
+      default:()=>{
+        return [3]
+      }
+    },
+    contrastFileList:{
+      type:Array,
+      default:()=>{
+        return []
+      },
+    },
     position:{
       type:Object,
       default:()=>{
         return {
-          right:0,
+          right:'10px',
           top:'120px'
         }
       }
@@ -157,7 +200,8 @@ export default {
         1:"以下是提炼的关键词:",
         2:'以下是相似案件:',
         3:'以下是根据您输入的发明点找到的可能相同的案件,您确认一下是否是相同案件,如果是请相同案件的点击“进入”按钮,如果没有相同的案件就点击“直接进入”按钮进行检索'
-      }
+      },
+      chooseContrastFile:[]
     };
   },
   watch: {},
@@ -275,7 +319,7 @@ export default {
     box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
     position: fixed;
     right: 10px;
-    width: 250px;
+    width: 350px;
     height: auto;
     border-radius: 10px;
     .head {
@@ -313,11 +357,11 @@ export default {
               height: calc(100% - 50px);
             }
           }
-          .foot {
-            padding: 5px 0;
-            display: flex;
-            justify-content: flex-end;
-          }
+          
+        }
+        .foot {
+          display: flex;
+          justify-content: flex-end;
         }
       }
     }

+ 175 - 0
src/views/noveltySearch/components/exportReport/components/dahua.vue

@@ -0,0 +1,175 @@
+<template>
+  <div class="dahua">
+    <div class="reportTitle">
+        查新检索报告
+    </div>
+    <div class="basicMessage">
+        <table>
+            <tr>
+                <td>提案编号:</td>
+                <td @dblclick="edit('basicMessage','number')">
+                    <div v-if="isEdit('basicMessage','number')">
+                        <myRichText v-model="dataObj.basicMessage.number" customStyle="border:none" :autoFocus="true" @blur="saveMessage"></myRichText>
+                    </div>
+                    <div v-else>{{dataObj.basicMessage.number}}</div>
+                </td>
+            </tr>
+            <tr>
+                <td>提案名称:</td>
+                <td @dblclick="edit('basicMessage','name')">
+                    <div v-if="isEdit('basicMessage','name')">
+                        <myRichText v-model="dataObj.basicMessage.name" customStyle="border:none" :autoFocus="true" @blur="saveMessage"></myRichText>
+                    </div>
+                    <div v-else>{{dataObj.basicMessage.name}}</div>
+                </td>
+            </tr>
+            <tr>
+                <td>技术接口人:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+            <tr>
+                <td>检索机构/检索员:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+            <tr>
+                <td>检索员联系方式:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+            <tr>
+                <td>检索日期:</td>
+                <td>
+                    <span></span>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div class="mainContent">
+        <div class="title">一、技术方案的分析</div>
+        <div>
+            <div class="title2">1、方案概述</div>
+            <div class="content" @dblclick="edit('signMessage','description')">
+                <div v-if="isEdit('signMessage','description')">
+                    <myRichText v-model="dataObj.signMessage.description" customStyle="border:none" :autoFocus="true" @blur="saveMessage"></myRichText>
+                </div>
+                <div v-else>{{dataObj.signMessage.description}}</div>
+            </div>
+        </div>
+        <div>
+            <div class="title2">2、主要附图(如有必要)</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">3、主要发明点</div>
+            <div class="content"></div>
+        </div>
+    </div>
+    <div class="mainContent">
+        <div class="title">二、检索关键词及检索式</div>
+        <div>
+            <div class="title2">1、检索关键词</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">2、检索式(需包括命中数量)</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">3、检索数据库</div>
+            <div class="content"></div>
+        </div>
+    </div>
+    <div class="mainContent">
+        <div class="title">三、新颖性和/或创造性评述</div>
+        <div>
+            <div class="title2">1、检索结果</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">2、检索结果分析</div>
+            <div class="content"></div>
+        </div>
+    </div>
+    <div class="mainContent">
+        <div class="title">三、结论及建议</div>
+        <div>
+            <div class="title2">1、分析结论:</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">2、建议:</div>
+            <div class="content"></div>
+        </div>
+        <div>
+            <div class="title2">3、撰写要点建议</div>
+            <div class="content"></div>
+        </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import mixins from '@/views/noveltySearch/components/exportReport/components/mixins';
+export default {
+  components: {},
+  mixins:[mixins],
+  props: {},
+  data() {
+    return {
+    };
+  },
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {},
+};  
+</script>
+<style lang="scss" scoped>
+.dahua{
+    width: 800px;
+    margin: 0 auto;
+    padding: 20px 0;
+    .reportTitle{
+    font-size: 48px;
+    text-align: center;
+}
+.basicMessage{
+    margin-top: 40px;
+    table{
+        width: 100%;
+        td{
+            padding: 8px;
+        }
+        tr>td:first-child{
+            width: 200px;
+        }
+    }
+    table, th, td {
+        border: 1px solid black;
+        border-collapse: collapse; /* 移除单元格之间的间隔 */
+    }
+}
+.mainContent{
+    margin-top: 50px;
+    .title{
+        font-size: 24px;
+        font-weight: bolder;
+    }
+    .title2{
+        margin-top: 20px;
+        padding: 8px 0;
+        font-weight: bold;
+    }
+    .content{
+        min-height: 50px;
+    }
+}
+}
+
+</style>

File diff suppressed because it is too large
+ 168 - 0
src/views/noveltySearch/components/exportReport/components/lingpao.vue


+ 71 - 0
src/views/noveltySearch/components/exportReport/components/mixins.js

@@ -0,0 +1,71 @@
+export default{
+    props:{
+        dataObj:{
+            type:Object,
+            default:()=>{
+                return {
+                    basicMessage:{
+                        number:'浙江零跑科技股份有限公司'
+                    },
+                    result:{},
+                    signMessage:{},
+                    contrastFiles:[],
+                    contrastRecords:[],
+                    searchRecords:[]
+                }
+            }
+        },
+        editMessage:{
+            type:Array,
+            default:()=>{
+                return []
+            }
+        }
+    },
+    data() {
+        return {
+            nowEdit:{
+
+            }
+        }
+    },
+    methods: {
+        edit(field,property){
+            this.nowEdit = {
+                field:field,
+                property:property,
+                value:this.dataObj[field][property]
+            }
+            var obj = this.editMessage.find(item=>{
+                return item.field == field && item.property == property
+            })
+            if(obj){
+                return
+            }
+            this.editMessage.push(
+                {
+                    field:field,
+                    property:property,
+                    value:this.dataObj[field][property]
+                }
+            )
+        },
+        isEdit(field,property){
+            if(this.nowEdit.field==field && this.nowEdit.property==property){
+                return true
+            }
+            return false
+        },
+        clearEdit(){
+            this.nowEdit = {}
+        },
+        saveMessage(value){
+            if(value == this.nowEdit.value){
+                this.clearEdit()
+                return
+            }
+            //执行保存
+            this.clearEdit()
+        }
+    },
+}

+ 46 - 5
src/views/noveltySearch/components/exportReport/index.vue

@@ -1,26 +1,67 @@
 <template>
   <div class="height_100">
-    <exportReport></exportReport>
+    
+    <div style="display:flex;justify-content:flex-end;padding:10px">
+        <el-button type="primary" size="small" @click="getMessage">根据内部卷号获取信息</el-button>
+        <el-button type="primary" size="small">生成报告</el-button>
+    </div>
+    <!-- <exportReport></exportReport> -->
+    <div style="height:calc(100% - 60px);overflow-y:auto" v-loading="loading">
+        <component :is='component' v-if="!loading"></component>    
+    </div>
+   
   </div>
 </template>
 
 <script>
-import exportReport from './exportReport.vue';
+// import exportReport from './components/lingpao.vue';
+const loadComponent = (value)=>{
+  return import(`./components/${value}.vue`)
+}
+import mixins1 from './mixins/index'
+import mixins2 from './components/mixins'
 export default {
   components: {
-    exportReport
+    // exportReport
   },
+  mixins:[mixins1],
   props: {},
   data() {
     return {
+        component:null,
+        loading:false
     };
   },
   watch: {},
-  computed: {},
+  computed: {
+    path(){
+        return this.$route.query.path
+    }
+  },
   created() {},
-  mounted() {},
+   async mounted() {
+    // loadComponent(this.path).then(component => {
+    //     console.log(component)
+        //   this.component = component.default
+        // })
+    // console.log(this.comp)
+    // this.component = {
+    //     template: this.comp.template,
+    //     mixins:this.comp.mixins,
+    //     styles:this.comp.styles
+    // }
+    this.loading = true
+    var component1 = await this.getComponents(this.path)
+    console.log(component1)
+    component1.mixins = [mixins2]
+    this.component = component1
+    this.loading = false
+  },
   methods: {},
 };
 </script>
+<style lang="scss">
+    
+</style>
 <style lang="scss" scoped>
 </style>

+ 43 - 0
src/views/noveltySearch/components/exportReport/mixins/index.js

@@ -0,0 +1,43 @@
+// 引入 Vue 和 VueComponent
+// import mixins from '../components/mixins'
+export default{
+   data() {
+    return {
+    
+    }
+   },
+   mounted() {
+
+    },
+    methods: {
+        async getComponents(path){
+            var params = {
+                template:''
+            }
+            this.getCss(path)
+            await fetch(`./${path}/${path}.txt`).then(res =>  res.text() ).then(data => {
+                params.template = data
+            })
+            return params
+        },
+        getCss(path){
+            const url = `./${path}/${path}.css`
+            const linkId = `#${path}`
+            const model = document.getElementById(linkId)
+            if(path != undefined){
+                if(model == null){
+                    const link = document.createElement('link')
+                    link.rel = 'stylesheet'
+                    link.href = url
+                    link.id = linkId
+                    document.head.appendChild(link)
+                }else{
+                    model.setAttribute('href',url)
+                }
+            }else if(model != null){
+                model.remove()
+            }
+        }
+    },
+}
+ 

+ 12 - 4
src/views/project/patentCollection/components/dialog/addRemark.vue

@@ -2,7 +2,7 @@
   <div>
     <el-dialog custom-class="shakeDialog" title="CN202330726501.8标注" v-draggable :visible.sync="visible" width="400px" 
     :before-close="handleClose" :modal="false" :close-on-click-modal="false" :modal-append-to-body="false">
-        <el-input type="textarea"></el-input>
+        <el-input type="textarea" v-model="form.remark"></el-input>
         <span slot="footer" class="dialog-footer">
         <el-button @click="handleClose">取 消</el-button>
         <el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
@@ -14,11 +14,13 @@
 <script>
 export default {
   components: {},
-  props: {},
+  props: {
+  },
   data() {
     return {
         visible:false,
         loading:false,
+        form:{}
     };
   },
   watch: {},
@@ -26,13 +28,19 @@ export default {
   created() {},
   mounted() {},
   methods: {
-    open(){
+    open(patentNo){
+        this.form = {
+          patentNo:patentNo
+        }
         this.visible = true
     },
     handleClose(){
         this.visible = false
     },
-    submit(){},
+    submit(){
+      this.$emit('saveRemark',this.form)
+      this.handleClose()
+    },
   },
 };
 </script>

+ 3 - 0
src/views/project/patentCollection/components/mixins/index.js

@@ -73,6 +73,9 @@ export const projectData = {
         this.patentNoList.splice(index1, 1)
       }
       this.$emit('addSelect', patent.patentNo)
+    },
+    SaveRemark(data){
+      this.$emit('saveRemark',data)
     }
   },
 }

+ 2 - 2
src/views/project/patentCollection/components/views/Abstract.vue

@@ -57,7 +57,7 @@
                   </template>
                   <el-tag class="margin-left_10" type="primary" effect="dark" size="small" v-if="patent.simpleStatus">{{
                     simpleStatus[patent.simpleStatus] }}</el-tag>
-                  <el-tag class="margin-left_10" type="primary" effect="plain" size="small" @click="$refs.addRemark.open()">添加查新标注</el-tag>
+                  <el-tag class="margin-left_10" type="primary" effect="plain" size="small" @click="$refs.addRemark.open(patent.patentNo)">添加查新标注</el-tag>
                 </div>
                 <div style="font-size: 13px;">
                   <el-row>
@@ -220,7 +220,7 @@
 
 
 
-    <addRemark ref="addRemark"></addRemark>
+    <addRemark ref="addRemark" v-on="$listeners"></addRemark>
   </div>
 </template>