PatentFamily.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <template>
  2. <div class="patent-articles-patent-family height_100">
  3. <el-container>
  4. <el-header v-if="!outside">
  5. <el-form :inline="true" style="" >
  6. <el-form-item label="同族类型">
  7. <el-select v-model="type" size="small" @change="onChange">
  8. <el-option label="简单同族" value="simple"></el-option>
  9. <el-option label="INPADOC同族" value="inpadoc"></el-option>
  10. <el-option label="扩展同族" value="patsnap"></el-option>
  11. </el-select>
  12. </el-form-item>
  13. <el-form-item label="专利号">
  14. <el-input v-model="queryParams2.patentNo" size="small" placeholder="请输入专利号"></el-input>
  15. </el-form-item>
  16. <el-form-item>
  17. <el-button type="" size="small" @click="getList">查询</el-button>
  18. </el-form-item>
  19. </el-form>
  20. </el-header>
  21. <el-main>
  22. <el-table v-loading="loading" :data="tableData2" header-row-class-name="custom-table-header">
  23. <el-table-column label="摘要附图" align="center" min-width="120px" show-overflow-tooltip>
  24. <template slot-scope="scope">
  25. <div style="height: 150px;" class="picture">
  26. <el-image :src="$commonJS.checkViewer(scope.row.pictureGuid)"
  27. :preview-src-list="[$commonJS.checkViewer(scope.row.pictureGuid)]"
  28. :style="{ width: scope.row.imgWidth ? scope.row.imgWidth : '100%', height: scope.row.imgHeight ? scope.row.imgHeight : '100%' }">
  29. <div slot="error" class="image-slot">
  30. <img src="https://www.patentstar.com.cn/img/Common/nopic.jpg" alt="">
  31. </div>
  32. </el-image>
  33. </div>
  34. </template>
  35. </el-table-column>
  36. <el-table-column label="专利号" align="center" show-overflow-tooltip>
  37. <template slot-scope="scope">
  38. <span v-html="getViewDom(scope.row.patentNo)"></span>
  39. </template>
  40. </el-table-column>
  41. <el-table-column label="专利名称" align="center" show-overflow-tooltip>
  42. <template slot-scope="scope">
  43. <span v-html="getView(scope.row, 'title')"></span>
  44. </template>
  45. </el-table-column>
  46. <el-table-column label="申请人" align="center" show-overflow-tooltip>
  47. <template slot-scope="scope">
  48. <!-- <div v-if="scope.row.patentId !== -1"> -->
  49. <span v-for="item in scope.row.applicant" :key="item">
  50. <span v-html="getViewDom(item, '申请人')"></span> <span>;</span>
  51. </span>
  52. <!-- </div>
  53. <span v-else v-html="getViewDom(scope.row.name)"></span> -->
  54. </template>
  55. </el-table-column>
  56. <el-table-column label="权利人" align="center" show-overflow-tooltip>
  57. <template slot-scope="scope">
  58. <!-- <div v-if="scope.row.patentId !== -1"> -->
  59. <span v-for="item in scope.row.rightHolder" :key="item">
  60. <span v-html="getViewDom(item, '权利人')"></span> <span>;</span>
  61. </span>
  62. <!-- </div>
  63. <span v-else v-html="getViewDom(scope.row.name)"></span> -->
  64. </template>
  65. </el-table-column>
  66. </el-table>
  67. </el-main>
  68. <!-- <el-footer class="pagination">
  69. <el-pagination :current-page.sync="queryParams2.pageNum" :page-size="queryParams2.pageSize" :total="total"
  70. @current-change="handleCurrentChange" layout="total, prev, pager, next, jumper" background></el-pagination>
  71. </el-footer> -->
  72. </el-container>
  73. </div>
  74. </template>
  75. <script>
  76. import { patentDetails } from './mixins';
  77. export default {
  78. mixins: [patentDetails],
  79. data() {
  80. return {
  81. type: 'inpadoc',
  82. queryParams2: {
  83. // familyId: 0,
  84. pageNum: 1,
  85. pageSize: 10,
  86. },
  87. tableData2: [],
  88. total: 0
  89. }
  90. },
  91. watch: {
  92. patentNo() {
  93. this.queryParams2.pageNum = 1
  94. this.onChange()
  95. }
  96. },
  97. mounted() {
  98. this.onChange()
  99. },
  100. methods: {
  101. getList() {
  102. this.loading = true
  103. let params = {
  104. ...this.queryParams2,
  105. no: this.patent.patentNo,//专利号
  106. type: this.type,//同族类型
  107. }
  108. this.$api.selectKinByPatentNo(params).then(response => {
  109. if(response.data.data){
  110. this.tableData2 = response.data.data
  111. }else{
  112. this.tableData2 = []
  113. }
  114. this.loading = false
  115. }).catch(error=>{
  116. this.tableData2 = []
  117. this.total = 0
  118. this.loading = false
  119. })
  120. },
  121. getData() {
  122. this.loading = true
  123. var params = {
  124. patentNo: this.patent.patentNo,
  125. pageNum: this.queryParams2.pageNum,
  126. pageSize: this.queryParams2.pageSize
  127. }
  128. this.$api.queryExternalFamily(params).then(response => {
  129. if (response.code == 200) {
  130. if(response.data.data){
  131. this.tableData2 = response.data.data
  132. this.total = response.data.total
  133. }else{
  134. this.tableData2 = []
  135. this.total = 0
  136. }
  137. this.loading = false
  138. }
  139. }).catch(error => {
  140. this.tableData2 = []
  141. this.total = 0
  142. this.loading = false
  143. })
  144. },
  145. getFamilyImage(patent) {
  146. var params = {
  147. patentCell: 4,
  148. patentNo: patent.publicNo,
  149. appNo: patent.applicationNo,
  150. }
  151. this.$api.getPatentPart(params).then(response => {
  152. if (response.code == 200) {
  153. if (Object.keys(response.data).length > 0 && response.data.image.length > 0) {
  154. this.$set(patent, 'abstractPath2', response.data.image[0].url)
  155. } else {
  156. this.$set(patent, 'abstractPath2', 'q')
  157. }
  158. this.getHeight(patent.abstractPath2, patent)
  159. }
  160. })
  161. },
  162. onChange() {
  163. if (this.outside) {
  164. this.getData()
  165. return false;
  166. }
  167. if (this.type == 'simpleFamilyId') {
  168. this.queryParams2.familyId = this.patent.simpleFamily
  169. } else if (this.type == 'inpadocFamilyId') {
  170. this.queryParams2.familyId = this.patent.inpadocFamily
  171. } else {
  172. this.queryParams2.familyId = this.patent.patSnapFamily
  173. }
  174. this.getList()
  175. },
  176. handleCurrentChange(val) {
  177. this.queryParams2.pageNum = val;
  178. this.getList();
  179. },
  180. }
  181. }
  182. </script>
  183. <style lang="scss">
  184. .patent-articles-patent-family {
  185. .el-image {
  186. width: 100%;
  187. }
  188. }</style>