visionox.txt 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. <div class="weixinnuo">
  2. <div class="reportTitle center"><strong>专利新思路委外检索报告</strong></div>
  3. <div class="content">
  4. <div>
  5. <div class="content_title">基本信息</div>
  6. <div>
  7. <table>
  8. <tr>
  9. <td class="width_150">思路名称</td>
  10. <td colspan="3" @click="edit('baseMessage','caseName')">
  11. <div v-if="isEdit('baseMessage','caseName')">
  12. <myRichText v-model="reportData.baseMessage.caseName" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  13. </div>
  14. <div v-else v-html="getColumnData('baseMessage','caseName',dataObj.baseMessage.caseName)"></div>
  15. </td>
  16. </tr>
  17. <tr>
  18. <td>提案编号(维信诺)</td>
  19. <td class="width_300" @click="edit('baseMessage','customCaseNumber')">
  20. <div v-if="isEdit('baseMessage','customCaseNumber')">
  21. <myRichText v-model="reportData.baseMessage.customCaseNumber" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  22. </div>
  23. <div v-else v-html="getColumnData('baseMessage','customCaseNumber',dataObj.baseMessage.customCaseNumber)"></div>
  24. </td>
  25. <td class="width_98">检索日期</td>
  26. <td @click="edit('baseMessage','searchTime')">
  27. <div v-if="isEdit('baseMessage','searchTime')">
  28. <myRichText v-model="reportData.baseMessage.searchTime" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  29. </div>
  30. <div v-else v-html="getColumnData('baseMessage','searchTime',dataObj.baseMessage.searchTime || getSearchTime())"></div>
  31. </td>
  32. </tr>
  33. <tr>
  34. <td>发明人</td>
  35. <td @click="edit('baseMessage','inventor')">
  36. <div v-if="isEdit('baseMessage','inventor')">
  37. <myRichText v-model="reportData.baseMessage.inventor" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  38. </div>
  39. <div v-else v-html="getColumnData('baseMessage','inventor',dataObj.baseMessage.inventor)"></div>
  40. </td>
  41. <td>IPR</td>
  42. <td @click="edit('baseMessage','ipr')">
  43. <div v-if="isEdit('baseMessage','ipr')">
  44. <myRichText editModel="clean" v-model="reportData.baseMessage.ipr" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  45. </div>
  46. <div v-else v-html="getColumnData('baseMessage','ipr',dataObj.baseMessage.ipr)"></div>
  47. </td>
  48. </tr>
  49. <tr>
  50. <td>检索人</td>
  51. <td @click="edit('baseMessage','searchName')">
  52. <div v-if="isEdit('baseMessage','searchName')">
  53. <myRichText editModel="clean" v-model="reportData.baseMessage.searchName" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  54. </div>
  55. <div v-else v-html="getColumnData('baseMessage','searchName',dataObj.baseMessage.headName || dataObj.baseMessage.createName)"></div>
  56. </td>
  57. <td>代理机构</td>
  58. <td @click="edit('baseMessage','searchUnit')">
  59. <div v-if="isEdit('baseMessage','searchUnit')">
  60. <myRichText editModel="clean" v-model="reportData.baseMessage.searchUnit" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  61. </div>
  62. <div v-else v-html="getColumnData('baseMessage','searchUnit',dataObj.baseMessage.searchUnit || '广东君龙律师事务所')"></div>
  63. </td>
  64. </tr>
  65. <tr>
  66. <td>是否具备专利性</td>
  67. <td colspan="3">
  68. <el-radio-group :value="getColumnData('baseMessage','ifPatentability',dataObj.baseMessage.ifPatentability)" @input="(value)=>{this.$set(this.reportData.baseMessage,'ifPatentability',value)}">
  69. <el-radio label="是">是</el-radio>
  70. <el-radio label="否">否</el-radio>
  71. <el-radio label="公开不充分">公开不充分(与发明人沟通后仍无法达到公开充分标准而驳回)</el-radio>
  72. </el-radio-group>
  73. </td>
  74. </tr>
  75. <tr>
  76. <td>建议申请类型</td>
  77. <td colspan="3">
  78. <el-radio-group :value="getColumnData('baseMessage','applicationAdvice',(this.dataObj.baseMessage.applicationAdvice == '建议补充资料,然后再进行评估' || this.dataObj.baseMessage.applicationAdvice == '建议结案处理')?'建议结案处理,或者补充资料后再评估':this.dataObj.baseMessage.applicationAdvice)" @input="(value)=>{this.$set(this.reportData.baseMessage,'applicationAdvice',value)}">
  79. <el-radio label="建议申请发明专利">发明</el-radio>
  80. <el-radio label="建议申请实用新型专利">实用新型</el-radio>
  81. <el-radio label="建议申请外观设计专利">外观设计</el-radio>
  82. <el-radio label="建议结案处理,或者补充资料后再评估">其他:建议结案处理,或者补充资料后再评估</el-radio>
  83. </el-radio-group>
  84. </td>
  85. </tr>
  86. </table>
  87. </div>
  88. </div>
  89. <div>
  90. <div class="content_title">检索报告评价标准</div>
  91. <div>
  92. <table>
  93. <tr>
  94. <td class="width_70">结论</td>
  95. <td colspan="2">评价内容</td>
  96. </tr>
  97. <tr>
  98. <td rowspan="2">通过</td>
  99. <td colspan="2">新颖性问题(只看结果)</td>
  100. </tr>
  101. <tr>
  102. <td colspan="2">不存在下述退回理由</td>
  103. </tr>
  104. <tr>
  105. <td rowspan="6"><p>退回<br>(非新颖性问题)</p></td>
  106. <td colspan="2">检索要素扩展:非全球检索/关键词未包括中英文</td>
  107. </tr>
  108. <tr>
  109. <td rowspan="2">检索式构建</td>
  110. <td>逻辑错误(例如:相同要素扩展and,不同要素or)</td>
  111. </tr>
  112. <tr>
  113. <td>检索式缺失(未单独检索维信诺专利)</td>
  114. </tr>
  115. <tr>
  116. <td colspan="2">交底书技术理解:未将交底书重要特征在检索要素中做扩展</td>
  117. </tr>
  118. <tr>
  119. <td colspan="2">对比文件数量:创造性问题对比文件少于2件或公知常识未给证据</td>
  120. </tr>
  121. <tr>
  122. <td colspan="2">分析过程:未体现三步法,分析过程与结论不匹配</td>
  123. </tr>
  124. </table>
  125. </div>
  126. </div>
  127. <div>
  128. <div class="content_title">检索记录表</div>
  129. <div>
  130. <table>
  131. <tr>
  132. <td class="width_50">地区</td>
  133. <td class="width_98 center">
  134. <div>数据库</div>
  135. <div>(检索系统)</div>
  136. </td>
  137. <td class="center">关键词</td>
  138. <td class="center width_50">数量</td>
  139. </tr>
  140. <tr style="position: relative;" v-for="(item,index) in getColumnData('searchRecord',null,(dataObj.searchRecord && dataObj.searchRecord.length>0)?dataObj.searchRecord.map(item2=>{ return {conditions:item2.conditions,totalNum:item2.totalNum,area:this.dbTypes[item2.dbType]?this.dbTypes[item2.dbType]:'',dbType:this.dbTypes[item2.dbType]?'小世系统':item2.dbType}}): [{}])" :key="index">
  141. <td @click="edit('searchRecord','area',index)">
  142. <div v-if="isEdit('searchRecord','area',index)">
  143. <myRichText editModel="clean" v-model="item.area" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  144. </div>
  145. <div v-else v-html="item.area"></div>
  146. </td>
  147. <td @click="edit('searchRecord','dbType',index)">
  148. <div v-if="isEdit('searchRecord','dbType',index)">
  149. <myRichText editModel="clean" v-model="item.dbType" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  150. </div>
  151. <div v-else v-html="item.dbType"></div>
  152. </td>
  153. <td @click="edit('searchRecord','conditions',index)">
  154. <div v-if="isEdit('searchRecord','conditions',index)">
  155. <myRichText editModel="clean" v-model="item.conditions" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  156. </div>
  157. <div v-else v-html="item.conditions"></div>
  158. </td>
  159. <td style="border-right:0" @click="edit('searchRecord','totalNum',index)">
  160. <div v-if="isEdit('searchRecord','totalNum',index)">
  161. <myRichText editModel="clean" v-model="item.totalNum" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  162. </div>
  163. <div v-else v-html="item.totalNum"></div>
  164. </td>
  165. <td style="width:0;padding:0;vertical-align: initial;">
  166. <span class="funBtn">
  167. <el-button type="" size="mini" icon="el-icon-plus" circle @click="addCompareRecord(reportData.searchRecord,index)"></el-button>
  168. <el-button v-if="reportData.searchRecord.length>1" size="mini" type="danger" icon="el-icon-delete" circle @click="delCompareRecord(reportData.searchRecord,index)"></el-button>
  169. </span>
  170. </td>
  171. </tr>
  172. </table>
  173. </div>
  174. </div>
  175. <div>
  176. <div class="content_title">专利性分析</div>
  177. <div>
  178. <div class="patentContent">
  179. <p>【本思路图及要点】</p>
  180. <div>
  181. <p>1、本思路图:</p>
  182. <div class="content_input" style="display:flex;">
  183. <div style="width:150px;height:180px;margin-right:10px" v-for="(item,index) in getColumnData('technicalCase','picture',dataObj.technicalCase.systemFileList?dataObj.technicalCase.systemFileList.map(pic=>{return {url:pic.guid}}) : [])" :key="index">
  184. <div style="height:30px;line-height:30px;display:flex;justify-content:flex-end;">
  185. <el-button type="text" size="small" @click="delImage(reportData.technicalCase.picture,item,index)">删除</el-button>
  186. </div>
  187. <div style="width:150px;height:148px;border:1px dashed #c0ccda;border-radius: 6px;">
  188. <el-image style="width:100%;height:100%" :src="$commonJS.checkViewer(item.url)" :preview-src-list="reportData.technicalCase.picture.map(pic=>$commonJS.checkViewer(item.url))" fit="contain"></el-image>
  189. </div>
  190. </div>
  191. <el-upload style="margin-right:10px;margin-top: 30px;" ref="upload" action="#" :auto-upload="false" multiple :on-change="(file, fileList)=>handleChange(reportData.technicalCase.picture,file, fileList)" list-type="picture-card" :show-file-list="false">
  192. <span>
  193. <i class="el-icon-plus avatar-uploader-icon"></i>
  194. </span>
  195. </el-upload>
  196. </div>
  197. </div>
  198. <p>2、本思路要点:</p>
  199. <div class="text-indent" @click="edit('technicalCase','solvedProblem')">
  200. <p>问题:</p>
  201. <div class="content_input">
  202. <div v-if="isEdit('technicalCase','solvedProblem')">
  203. <myRichText editModel="clean" v-model="reportData.technicalCase.solvedProblem" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  204. </div>
  205. <div v-else v-html="getColumnData('technicalCase','solvedProblem',dataObj.technicalCase.solvedProblem)"></div>
  206. </div>
  207. </div>
  208. <div class="text-indent" @click="edit('technicalCase','inventionPoint')">
  209. <p>具体方案包括:</p>
  210. <div class="content_input">
  211. <div v-if="isEdit('technicalCase','inventionPoint')">
  212. <myRichText editModel="clean" v-model="reportData.technicalCase.inventionPoint" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  213. </div>
  214. <div v-else v-html="getColumnData('technicalCase','inventionPoint',dataObj.technicalCase.inventionPoint)"></div>
  215. </div>
  216. </div>
  217. </div>
  218. <div class="patentContent" style="position: relative;" v-for="(item,index) in getCompareRecordData([
  219. {
  220. field:'patentMessage.rightHolder',
  221. useFunction:(data)=>{
  222. if(data.patentMessage && data.patentMessage.rightHolder && data.patentMessage.rightHolder.length>0){
  223. return data.patentMessage.rightHolder.join('、')
  224. }
  225. return ''
  226. },
  227. type:'function',
  228. key:'rightHolder'
  229. },
  230. {
  231. field:'patentMessage.publicNo',
  232. useFunction:(data)=>{
  233. return data.patentMessage.grantNo || data.patentMessage.publicNo || ''
  234. },
  235. type:'function',
  236. key:'publicNo'
  237. },
  238. {
  239. field:'compareLiterature.technicalPoints',
  240. type:'function',
  241. useFunction:(data)=>{
  242. var str = ''
  243. var num = 1
  244. if(data.noveltyCompareRecordVOS){
  245. data.noveltyCompareRecordVOS.forEach((item,index) => {
  246. str = `${str}${num}、${item.markNoteText}<br>`
  247. num += 1
  248. });
  249. }
  250. if(data.data && data.data.length>0){
  251. data.data.forEach((item,index) => {
  252. str = `${str}${num}、${item.markSelectField}“${item.markSelectText}”`
  253. if(item.technicalFeature){
  254. str = `${str}揭示了“${item.technicalFeature}”`
  255. }
  256. str = `${str}${item.markNoteText}<br>`
  257. num += 1
  258. });
  259. }
  260. if(data.compareLiterature && data.compareLiterature.technicalPoints){
  261. str = `${str}<br>${data.compareLiterature.technicalPoints}`
  262. }
  263. return str
  264. },
  265. key:'technicalPoints'
  266. },
  267. {
  268. field:'compareLiterature.excuteCase',
  269. type:'string',
  270. key:'excuteCase'
  271. },
  272. {
  273. field:'compareLiterature.beneficialEffect',
  274. type:'string',
  275. key:'beneficialEffect'
  276. }
  277. ],['patentMessage'])" :key="index">
  278. <div class="funBtn">
  279. <el-button type="" icon="el-icon-plus" circle @click="addCompareRecord(reportData.compareRecord,index)"></el-button>
  280. <el-button v-if="reportData.compareRecord.length>1" type="danger" icon="el-icon-delete" circle @click="delCompareRecord(reportData.compareRecord,index)"></el-button>
  281. </div>
  282. <p><span class="italic-text">【现有技术】</span></p>
  283. <p class="center italic-text">现有技术{{index+1}}</p>
  284. <p class="center italic-text">(
  285. <span @click="edit('compareRecord','rightHolder',index)">
  286. <span v-if="isEdit('compareRecord','rightHolder',index)">
  287. <myRichText editModel="clean" style="display:inline" v-model="item.rightHolder" customStyle="border:none;padding:0;display:inline" :autoFocus="true" @blur="saveMessage"></myRichText>
  288. </span>
  289. <span v-else v-html="item.rightHolder||'*专利权人*'"></span>
  290. </span>
  291. <span @click="edit('compareRecord','publicNo',index)">
  292. <span v-if="isEdit('compareRecord','publicNo',index)">
  293. <myRichText editModel="clean" style="display:inline" v-model="item.publicNo" customStyle="border:none;padding:0;display:inline" :autoFocus="true" @blur="saveMessage"></myRichText>
  294. </span>
  295. <span v-else v-html="item.publicNo||'*公开公告号*'"></span>
  296. </span>
  297. )</p>
  298. <div @click="edit('compareRecord','technicalPoints',index)">
  299. <p><strong>代表图示或影响本思路的现有技术要点(<span class="red-text">对影响专利性的部分进行显著标注,并将PDF档一并发送我方</span>)</strong></p>
  300. <div class="content_input">
  301. <div v-if="isEdit('compareRecord','technicalPoints',index)">
  302. <myRichText editModel="clean" v-model="item.technicalPoints" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  303. </div>
  304. <div v-else v-html="item.technicalPoints"></div>
  305. </div>
  306. </div>
  307. <div @click="edit('compareRecord','excuteCase',index)">
  308. <p>实施方案包括:</p>
  309. <div class="content_input">
  310. <div v-if="isEdit('compareRecord','excuteCase',index)">
  311. <myRichText editModel="clean" v-model="item.excuteCase" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  312. </div>
  313. <div v-else v-html="item.excuteCase"></div>
  314. </div>
  315. </div>
  316. <div @click="edit('compareRecord','beneficialEffect',index)">
  317. <p>有益效果:</p>
  318. <div class="content_input">
  319. <div v-if="isEdit('compareRecord','beneficialEffect',index)">
  320. <myRichText editModel="clean" v-model="item.beneficialEffect" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  321. </div>
  322. <div v-else v-html="item.beneficialEffect"></div>
  323. </div>
  324. </div>
  325. </div>
  326. <div class="patentContent" @click="edit('baseMessage','analysisAndConclusion')">
  327. <p><span class="italic-text">【分析与结论】(<span class="red-text">结合三步法,对上述标注部分重点说明</span>):</span></p>
  328. <div class="content_input">
  329. <div v-if="isEdit('baseMessage','analysisAndConclusion')">
  330. <myRichText editModel="clean" v-model="reportData.baseMessage.analysisAndConclusion" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  331. </div>
  332. <div v-else v-html="getColumnData('baseMessage','analysisAndConclusion')"></div>
  333. </div>
  334. </div>
  335. <div>
  336. <table>
  337. <tr>
  338. <td class="center width_150">建议</td>
  339. <td>
  340. <div v-html="getColumnData('baseMessage','applicationAdvice')"></div>
  341. </td>
  342. </tr>
  343. <tr>
  344. <td>卡位方向(<span class="red-text">简单描述一下主权项</span>)</td>
  345. <td @click="edit('baseMessage','detentDirection')">
  346. <div v-if="isEdit('baseMessage','detentDirection')">
  347. <myRichText editModel="clean" v-model="reportData.baseMessage.detentDirection" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  348. </div>
  349. <div v-else v-html="getColumnData('baseMessage','detentDirection')"></div>
  350. </td>
  351. </tr>
  352. <tr>
  353. <td class="center">备注</td>
  354. <td @click="edit('baseMessage','remark')">
  355. 检索所基于数据库的网站:
  356. <div class="content_input">
  357. <div v-if="isEdit('baseMessage','remark')">
  358. <myRichText editModel="clean" v-model="reportData.baseMessage.remark" customStyle="border:none;padding:0" :autoFocus="true" @blur="saveMessage"></myRichText>
  359. </div>
  360. <div v-else v-html="getColumnData('baseMessage','remark')"></div>
  361. </div>
  362. </td>
  363. </tr>
  364. </table>
  365. </div>
  366. </div>
  367. </div>
  368. </div>
  369. </div>