zhuliu 11 months ago
parent
commit
1ef314a2ac

+ 11 - 1
public/reportTemplate/ningde/ningde.css

@@ -31,7 +31,7 @@
     justify-content:center;
 }
 .ningde .height{
-    min-height: 100px;
+    min-height: 200px;
 }
 .ningde .width{
     width: 150px !important;
@@ -54,4 +54,14 @@
 .ningde table td{
     border: 1px solid black;
     border-top: 0;
+}
+
+.ningde .funBtn{
+    position:absolute;
+    width: 100px;
+    right: -110px;
+    display: flex;
+}
+.ningde .el-checkbox{
+    width: fit-content;
 }

+ 3 - 12
public/reportTemplate/ningde/ningde.json

@@ -1,11 +1,12 @@
 {
     "baseMessage":{
-        "customCaseNumber":"号",
+        "customCaseNumber":"号",
         "searchName":"检索人",
          "conditions":"主要检索式",
         "aboutCreative":"关于是否具有新颖性、创造性的结论",
         "preliminaryConclusions":"检索结论",
-        "searchTool":"检索工具"
+        "searchTool":"检索工具",
+        "compareRecord":"有关检索项目的新颖性和/或创造性的"
     },
     "technicalCase":{
         "inventionPoint":"检索确定的主题分类(IPC)及主要技术"
@@ -20,16 +21,6 @@
         }
     ],
     "compareRecord":[
-        {
-            "compareFile":"对比文件",
-            "compareRecord":[
-                {
-                    "compareText":"对比文本",
-                    "compareDescription":"对比说明"
-                }
-            ],
-            "analysis":"分析"
-        }
     ],
     "searchRecord":[
     ]

+ 86 - 37
public/reportTemplate/ningde/ningde.txt

@@ -6,9 +6,19 @@
                     <td colspan="4" class="basicMessage">
                         <div class="flex-container">
                             <div class="center width"><strong>案号</strong></div>
-                            <div>CN123456789都不能尽可能</div>
+                            <div @click="edit('baseMessage','customCaseNumber')">
+                                <div v-if="isEdit('baseMessage','customCaseNumber')">
+                                    <myRichText  v-model="reportData.baseMessage.customCaseNumber" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                                </div>
+                                <div v-else v-html="getColumnData('baseMessage','customCaseNumber',dataObj.baseMessage.customCaseNumber)"></div>
+                            </div>
                             <div class="center width"><strong>检索人</strong></div>
-                            <div>朱</div>
+                            <div @click="edit('baseMessage','searchName')">
+                                <div v-if="isEdit('baseMessage','searchName')">
+                                    <myRichText  v-model="reportData.baseMessage.searchName" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                                </div>
+                                <div v-else v-html="getColumnData('baseMessage','searchName',dataObj.baseMessage.headName || dataObj.baseMessage.createName)"></div>
+                            </div>
                         </div>
                     </td>
                 </tr>
@@ -17,9 +27,12 @@
                     <td colspan="4"><strong>一、检索确定的主题分类(IPC)及主要技术点</strong></td>
                 </tr>
                 <tr>
-                    <td colspan="4">
-                        <div class="height" >
-                            123 
+                    <td colspan="4" @click="edit('technicalCase','inventionPoint')">
+                        <div class="height">
+                            <div v-if="isEdit('technicalCase','inventionPoint')">
+                                <myRichText editModel="clean" v-model="reportData.technicalCase.inventionPoint" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                            </div>
+                            <div v-else v-html="getColumnData('technicalCase','inventionPoint',dataObj.technicalCase.inventionPoint)"></div>
                         </div>
                     </td>
                 </tr>
@@ -28,8 +41,14 @@
                 </tr>
                 <tr>
                     <td colspan="4">
-                        <el-checkbox-group v-model="checkList">
-                            <el-checkbox label="其他">其他</el-checkbox>
+                        <el-checkbox-group :value="getColumnData('baseMessage','searchTool',()=>{var data = this.dataObj.searchRecord;if(!data || data.length == 0){return []};var arr = [];var tools = ['智慧芽','Patentics','IncoPat','DI(科睿唯安)','obrit','万象云'];data.forEach(i=>{var tool = i.dbType.trim();if(tools.indexOf(tool)!=-1){arr.push(tool)}else{arr.push('其他')};});return [...new Set(arr)]})" >
+                            <el-checkbox label="智慧芽" @change="(value)=>saveMessage2(value,'智慧芽','baseMessage','searchTool')">智慧芽</el-checkbox>
+                            <el-checkbox label="Patentics" @change="(value)=>saveMessage2(value,'Patentics','baseMessage','searchTool')">Patentics</el-checkbox>
+                            <el-checkbox label="IncoPat" @change="(value)=>saveMessage2(value,'IncoPat','baseMessage','searchTool')">IncoPat</el-checkbox>
+                            <el-checkbox label="DI(科睿唯安)" @change="(value)=>saveMessage2(value,'DI(科睿唯安)','baseMessage','searchTool')">DI(科睿唯安)</el-checkbox>
+                            <el-checkbox label="obrit" @change="(value)=>saveMessage2(value,'obrit','baseMessage','searchTool')">obrit</el-checkbox>
+                            <el-checkbox label="万象云" @change="(value)=>saveMessage2(value,'万象云','baseMessage','searchTool')">万象云</el-checkbox>
+                            <el-checkbox label="其他" @change="(value)=>saveMessage2(value,'其他','baseMessage','searchTool')">其他</el-checkbox>
                         </el-checkbox-group>
                     </td>
                 </tr>
@@ -37,9 +56,12 @@
                     <td colspan="4"><strong>三、主要检索式</strong></td>
                 </tr>
                 <tr>
-                    <td colspan="4">
+                    <td colspan="4" @click="edit('baseMessage','conditions')">
                         <div class="height" >
-                            123 
+                             <div v-if="isEdit('baseMessage','conditions')">
+                                <myRichText editModel="clean" v-model="reportData.baseMessage.conditions" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                            </div>
+                            <div v-else v-html="getColumnData('baseMessage','conditions',()=>{var data = this.dataObj.searchRecord;if(!data || data.length == 0){return ''};var str = '';data.forEach(i=>{str=`${str}${i.conditions}<br>`});return str})"></div> 
                         </div>
                     </td>
                 </tr>
@@ -52,48 +74,75 @@
                     <td class="center width"><strong>公开日/公告日</strong></td>
                     <td class="center"><strong>备注</strong></td>
                 </tr>
-                <tr>
-                    <td>1</td>
-                    <td>2</td>
-                    <td>3</td>
-                    <td>4</td>
-                </tr>
-                <tr>
-                    <td>1</td>
-                    <td>2</td>
-                    <td>3</td>
-                    <td>4</td>
-                </tr>
-                <tr>
-                    <td>1</td>
-                    <td>2</td>
-                    <td>3</td>
-                    <td>4</td>
-                </tr>
-                <tr>
-                    <td>1</td>
-                    <td>2</td>
-                    <td>3</td>
-                    <td>4</td>
+                <tr style="position: relative;" v-for="(item,index) in getColumnData('compareLiterature',null,(dataObj.compareLiterature && dataObj.compareLiterature.length>0)?dataObj.compareLiterature.map((item2,ind)=>{ return {index:`D${ind+1}`,publicNo:item2.publicNo,publicDate:item2.publicDate,remark:item2.fileRemark}}): [{}])" :key="index">
+                    <td @click="edit('compareLiterature','index',index)">
+                        <div v-if="isEdit('compareLiterature','index',index)">
+                            <myRichText editModel="clean" v-model="item.index" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                        </div>
+                        <div v-else v-html="item.index"></div>
+                    </td>
+                    <td @click="edit('compareLiterature','publicNo',index)">
+                        <div v-if="isEdit('compareLiterature','publicNo',index)">
+                            <myRichText editModel="clean" v-model="item.publicNo" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                        </div>
+                        <div v-else v-html="item.publicNo"></div>
+                    </td>
+                    <td @click="edit('compareLiterature','publicDate',index)">
+                        <div v-if="isEdit('compareLiterature','publicDate',index)">
+                            <myRichText editModel="clean" v-model="item.publicDate" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                        </div>
+                        <div v-else v-html="item.publicDate"></div>
+                    </td>
+                    <td @click="edit('compareLiterature','remark',index)">
+                        <div v-if="isEdit('compareLiterature','remark',index)">
+                            <myRichText editModel="clean" v-model="item.remark" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                        </div>
+                        <div v-else v-html="item.remark"></div>
+                    </td>
+                    <td style="width:0;padding:0;vertical-align: initial;border-right:0">
+                        <span class="funBtn">
+                            <el-button type="" size="mini" icon="el-icon-plus" circle @click="addCompareRecord(reportData.compareLiterature,index)"></el-button>
+                            <el-button v-if="reportData.compareLiterature.length>1" size="mini" type="danger" icon="el-icon-delete" circle @click="delCompareRecord(reportData.compareLiterature,index)"></el-button>
+                        </span>
+                    </td>
                 </tr>
+
                 <tr>
-                    <td colspan="4"><strong>五、关于是否具有新颖性、创造性的结论:</strong></td>
+                    <td colspan="4" @click="edit('baseMessage','aboutCreative')">
+                        <strong>五、关于是否具有新颖性、创造性的结论:</strong>
+                        <div style="display:inline">
+                            <div v-if="isEdit('baseMessage','aboutCreative')" style="display:inline">
+                                <myRichText editModel="clean" style="display:inline" v-model="reportData.baseMessage.aboutCreative" customStyle="border:none;padding:0;display:inline" :autoFocus="true" @blur="saveMessage"></myRichText>
+                            </div>
+                            <div style="display:inline" v-else v-html="getColumnData('baseMessage','aboutCreative')"></div> 
+                        </div>
+                    </td>
                 </tr>
                 <tr>
-                    <td colspan="4">
+                    <td colspan="4" @click="edit('baseMessage','compareRecord')">
                         <div>
                             <p><strong>5.1 有关检索项目的新颖性和/或创造性的</strong></p>
                 
-                            <div class="height">123456789</div>
+                            <div class="height">
+                                <div v-if="isEdit('baseMessage','compareRecord')">
+                                    <myRichText editModel="clean" v-model="reportData.baseMessage.compareRecord" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                                </div>
+                                <div v-else v-html="getColumnData('baseMessage','compareRecord',getCompareRecordData2('string','baseMessage','compareRecord'))"></div> 
+                            </div>
                         </div>
                     </td>
                 </tr>
                 <tr>
-                    <td colspan="4">
+                    <td colspan="4" @click="edit('baseMessage','preliminaryConclusions')">
                         <div>
                             <p><strong>5.2 检索结论:</strong></p>
 
-                            <div class="height">123456789</div>
+                            <div class="height">
+                                <div v-if="isEdit('baseMessage','preliminaryConclusions')">
+                                    <myRichText editModel="clean" v-model="reportData.baseMessage.preliminaryConclusions" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
+                                </div>
+                                <div v-else v-html="getColumnData('baseMessage','preliminaryConclusions',setValue([{value:dataObj.baseMessage.preliminaryConclusions} ,{value:dataObj.baseMessage.applicationAdvice}]))"></div> 
+                            </div>
                         </div>
                     </td>
                 </tr>

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

@@ -116,6 +116,29 @@ export default{
             }
             return ''
         },
+        saveMessage2(check,value,field,property){
+            var data = this.reportData[field]
+            if(property){
+                data = this.reportData[field][property]
+            }
+            if(typeof data == 'object'){
+                if(check){
+                    data.push(value)
+                }else{
+                    var index = data.indexOf(value)
+                    if(index!=-1){
+                        data.splice(index,1)
+                    }
+                }
+            }else{
+                if(check){
+                    this.$set(data,'',value)
+                }else{
+                    this.$set(data,'','')  
+                }
+            }
+            // this.$set(this.reportData[field],property,value)
+        },
         getColumnData(field,property,value){
             var key = field + '-' + property
             if(!this.editModel && !this.hasCopy[key]){
@@ -126,6 +149,7 @@ export default{
                     }
                     else if(typeof value == 'function'){
                         value1 = value()
+                        console.log(value1)
                     }
                     if(property){
                         this.$set(this.reportData[field],property,value1)