|
@@ -60,76 +60,27 @@
|
|
<table class="PatentMessage">
|
|
<table class="PatentMessage">
|
|
<tr>
|
|
<tr>
|
|
<td>公告号</td>
|
|
<td>公告号</td>
|
|
- <td> <span v-if="patent">{{ patent.patentNo }}</span></td>
|
|
|
|
|
|
+ <td> <span v-if="patent">{{ patent.grantNo }}</span></td>
|
|
<td>公告日</td>
|
|
<td>公告日</td>
|
|
- <td><span v-if="patent">{{ patent.publicDate }}</span></td>
|
|
|
|
|
|
+ <td><span v-if="patent">{{ patent.grantDate }}</span></td>
|
|
<td>专利权人</td>
|
|
<td>专利权人</td>
|
|
- <td><span v-if="patent && patent.applicant"><span
|
|
|
|
- v-for="item in patent.applicant.filter(a => a.dataType === 1)">{{ item.name }}</span></span></td>
|
|
|
|
|
|
+ <td><span v-if="patent && patent.rightHolder"><span
|
|
|
|
+ v-for="item in patent.rightHolder.filter(a => a.type == 1)">{{ item.name }}</span></span></td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
<td>优先权</td>
|
|
<td>优先权</td>
|
|
<td><span v-if="patent">{{ patent.priorityNo }}</span></td>
|
|
<td><span v-if="patent">{{ patent.priorityNo }}</span></td>
|
|
<td>案件状态</td>
|
|
<td>案件状态</td>
|
|
- <td> <span v-if="patent && patent.affair">{{ patent.affair[0].status }}</span></td>
|
|
|
|
|
|
+ <td> <span v-if="patent && patent.simpleStatusStr">{{ patent.simpleStatusStr }}</span></td>
|
|
<td>同族专利</td>
|
|
<td>同族专利</td>
|
|
<td><span v-if="patent" v-html="getPatentFamily(patent)"></span></td>
|
|
<td><span v-if="patent" v-html="getPatentFamily(patent)"></span></td>
|
|
</tr>
|
|
</tr>
|
|
</table>
|
|
</table>
|
|
|
|
|
|
- <!-- 表格专利信息 -->
|
|
|
|
- <el-table :data="tableData" border ref="table" :span-method="objectSpanMethod"
|
|
|
|
- v-loading="loading" style="width: 100%;overflow: auto;">
|
|
|
|
- <el-table-column prop="pRightName" label="权要" align="center">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <!-- <el-tooltip class="item" effect="dark"
|
|
|
|
- :content="rightList.length > 0 ? rightList.filter(item => { return item.sort == scope.row.rightSort })[0].content : '暂无数据'"
|
|
|
|
- placement="top"> -->
|
|
|
|
- <el-tooltip class="item" effect="dark" :content="scope.row.pContent" placement="top">
|
|
|
|
- <span>{{ scope.row.pRightName }}</span>
|
|
|
|
- </el-tooltip>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
|
|
- <el-table-column prop="content" label="特征" min-width="300" align="center">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div v-if="isEdit">
|
|
|
|
- <el-checkbox-group v-model="checkList">
|
|
|
|
- <el-checkbox :label="scope.row.featureId" @change="getRow(scope)"
|
|
|
|
- style="display: flex;align-items: center;">
|
|
|
|
- <el-input type="textarea" style="width:250px" autosize v-model="scope.row.content">
|
|
|
|
- {{ scope.row.content }}</el-input>
|
|
|
|
- </el-checkbox>
|
|
|
|
- </el-checkbox-group>
|
|
|
|
- </div>
|
|
|
|
- <div v-else v-html="scope.row.content"> </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
+ <split-Page :tableData="tableData" :columnList="columnList" isResult="noShow" :isEdit="false"></split-Page>
|
|
|
|
|
|
- <el-table-column prop="explainText" label="解释(可粘贴图片)" align="center">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div v-if="isEdit">
|
|
|
|
- <myRichText style="text-align:left" v-model="scope.row.explainText" placeholder="请输入解释(可粘贴图片)">
|
|
|
|
- </myRichText>
|
|
|
|
- </div>
|
|
|
|
- <div v-else v-html="scope.row.explainText"></div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
|
|
-
|
|
|
|
- <el-table-column v-for="(item, index) in columnList" :key="index" :prop="item.value" :label="item.name"
|
|
|
|
- align="center" min-width="160px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div v-if="item.type == 'String'">
|
|
|
|
- <div v-html="getColumnData(scope.row, item)"></div>
|
|
|
|
- </div>
|
|
|
|
- <div v-else-if="item.type == 'Array'">
|
|
|
|
- <div v-html="getColumnData(scope.row, item)"></div>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
-
|
|
|
|
- </el-table>
|
|
|
|
</div>
|
|
</div>
|
|
</el-aside>
|
|
</el-aside>
|
|
<el-main v-show="showRight == true" :width="width" style="padding:5px">
|
|
<el-main v-show="showRight == true" :width="width" style="padding:5px">
|
|
@@ -154,32 +105,61 @@
|
|
<!-- 协同任务 -->
|
|
<!-- 协同任务 -->
|
|
<teamwork ref="teamwork" :projectId="projectId" :reportType="reportType"></teamwork>
|
|
<teamwork ref="teamwork" :projectId="projectId" :reportType="reportType"></teamwork>
|
|
|
|
|
|
|
|
+ <!-- 选择专利弹窗 -->
|
|
|
|
+ <checkPatent ref="checkPatent" @checkPatentList="checkPatentList" sign="teamwork" :oldSearchOption="{compareResult:queryParams.compareResult}" :tableData2="tableData2">
|
|
|
|
+ <div slot="head">
|
|
|
|
+ <el-select v-model="compareResult" clearable @change="changePatent" placeholder="请选择对比结果">
|
|
|
|
+ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </div>
|
|
|
|
+ </checkPatent>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import CreateReport from '@/views/report/components/dialog/addAndEditReport.vue'
|
|
import CreateReport from '@/views/report/components/dialog/addAndEditReport.vue'
|
|
|
|
+import checkPatent from '../checkPatent/checkPatent.vue'
|
|
import teamwork from "@/views/report/components/dialog/teamwork.vue"
|
|
import teamwork from "@/views/report/components/dialog/teamwork.vue"
|
|
|
|
+import splitPage from '../splitPage/splitPage.vue'
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
CreateReport,
|
|
CreateReport,
|
|
|
|
+ checkPatent,
|
|
teamwork,
|
|
teamwork,
|
|
|
|
+ splitPage
|
|
|
|
+ },
|
|
|
|
+ // props: ['projectId', 'patentNo', "reportType"],
|
|
|
|
+ props: {
|
|
|
|
+ projectId: {
|
|
|
|
+ default: ''
|
|
|
|
+ },
|
|
|
|
+ patentNo: {
|
|
|
|
+ default: ''
|
|
|
|
+ },
|
|
|
|
+ reportType: {
|
|
|
|
+ default: ''
|
|
|
|
+ },
|
|
|
|
+ // 是否可读
|
|
|
|
+ isEdit: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: false
|
|
|
|
+ },
|
|
},
|
|
},
|
|
- props: ['projectId', 'patentNo', "reportType"],
|
|
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
// 栏位
|
|
// 栏位
|
|
columnList: [
|
|
columnList: [
|
|
{
|
|
{
|
|
- name: "标的说明(可粘贴图片)",
|
|
|
|
|
|
+ name: "标的说明",
|
|
type: "String",
|
|
type: "String",
|
|
- value: ['finalRecordVO', 'targetDescription'],
|
|
|
|
|
|
+ value: ['originalRecordVO', 'targetDescription'],
|
|
},
|
|
},
|
|
{
|
|
{
|
|
name: "比对结果",
|
|
name: "比对结果",
|
|
type: "Array",
|
|
type: "Array",
|
|
- value: ['finalRecordVO', 'compareResult'],
|
|
|
|
|
|
+ value: ['originalRecordVO', 'compareResult'],
|
|
options: [
|
|
options: [
|
|
{
|
|
{
|
|
value: 0,
|
|
value: 0,
|
|
@@ -197,9 +177,9 @@ export default {
|
|
],
|
|
],
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: "比对说明(可粘贴图片)",
|
|
|
|
|
|
+ name: "比对说明",
|
|
type: "String",
|
|
type: "String",
|
|
- value: ['finalRecordVO', 'compareDescription'],
|
|
|
|
|
|
+ value: ['originalRecordVO', 'compareDescription'],
|
|
},
|
|
},
|
|
],
|
|
],
|
|
// 控制宽度
|
|
// 控制宽度
|
|
@@ -213,16 +193,19 @@ export default {
|
|
patentList: [],
|
|
patentList: [],
|
|
// 返回的数据
|
|
// 返回的数据
|
|
tableData: [],
|
|
tableData: [],
|
|
|
|
+ // 返回的数据(专利清单弹窗使用)
|
|
|
|
+ tableData2: [],
|
|
// 公告号公告日等信息
|
|
// 公告号公告日等信息
|
|
patent: {},
|
|
patent: {},
|
|
// 表格合并信息
|
|
// 表格合并信息
|
|
mergeObj: {},
|
|
mergeObj: {},
|
|
- mergeArr: ['pRightName'],
|
|
|
|
|
|
+ mergeArr: ['pSort', 'pRightName'],
|
|
// 分页信息
|
|
// 分页信息
|
|
queryParams: {
|
|
queryParams: {
|
|
size: 10,
|
|
size: 10,
|
|
current: 1,
|
|
current: 1,
|
|
},
|
|
},
|
|
|
|
+ total: 0,
|
|
// 对比结果选择
|
|
// 对比结果选择
|
|
options: [
|
|
options: [
|
|
{
|
|
{
|
|
@@ -240,6 +223,8 @@ export default {
|
|
}
|
|
}
|
|
],
|
|
],
|
|
index: 0,
|
|
index: 0,
|
|
|
|
+ // 勾选中的特征数据
|
|
|
|
+ checkList: [],
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -274,48 +259,20 @@ export default {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
async mounted() {
|
|
async mounted() {
|
|
- // this.getList()
|
|
|
|
|
|
+ await this.getPatentList()
|
|
|
|
+ if (this.patentList) {
|
|
|
|
+ this.patent = this.patentList[0]
|
|
|
|
+ this.getList(this.patent.patentNo)
|
|
|
|
+ }
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
// 处理同族专利
|
|
// 处理同族专利
|
|
- getPatentFamily() { },
|
|
|
|
- // 获取/处理数据
|
|
|
|
- getColumnData(row, field) {
|
|
|
|
- if (typeof field.value == 'string') {
|
|
|
|
- return row[field.value]
|
|
|
|
|
|
+ getPatentFamily(list) {
|
|
|
|
+ if (list.InpadocFamilyNos) {
|
|
|
|
+ return list.InpadocFamilyNos.join(',')
|
|
} else {
|
|
} else {
|
|
- var str = row
|
|
|
|
- if (field.value && field.value.length > 0) {
|
|
|
|
- try {
|
|
|
|
- field.value.forEach(item => {
|
|
|
|
- if (str[item] != 0 && !str[item]) {
|
|
|
|
- throw Error();
|
|
|
|
- }
|
|
|
|
- str = str[item]
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- catch (e) {
|
|
|
|
- return ''
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- if (this.isEdit || field.disabled) {
|
|
|
|
-
|
|
|
|
- } else {
|
|
|
|
- if (field.options && field.options.length > 0) {
|
|
|
|
- let a = field.options.find(item => {
|
|
|
|
- return item.value == str
|
|
|
|
- })
|
|
|
|
- if (a) {
|
|
|
|
- return a.label
|
|
|
|
- } else {
|
|
|
|
- return ''
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return str
|
|
|
|
|
|
+ return ''
|
|
}
|
|
}
|
|
-
|
|
|
|
},
|
|
},
|
|
// 创建报告
|
|
// 创建报告
|
|
handleAnalyse(val) {
|
|
handleAnalyse(val) {
|
|
@@ -328,26 +285,46 @@ export default {
|
|
this.$refs.ReportForm.open(form)
|
|
this.$refs.ReportForm.open(form)
|
|
},
|
|
},
|
|
// 工作协同
|
|
// 工作协同
|
|
- taskWork() {
|
|
|
|
- this.$refs.teamwork.open()
|
|
|
|
|
|
+ async taskWork() {
|
|
|
|
+ this.$refs.checkPatent.open(this.projectId)
|
|
|
|
+ },
|
|
|
|
+ // 从专利清单子组件传值(专利号的数据)
|
|
|
|
+ checkPatentList(val) {
|
|
|
|
+ this.$refs.teamwork.open(val)
|
|
|
|
+ },
|
|
|
|
+ // 选择专利框的对比结果
|
|
|
|
+ changePatent(val) {
|
|
|
|
+ this.compareResult = val
|
|
},
|
|
},
|
|
// 显示勾选的信息
|
|
// 显示勾选的信息
|
|
async load() {
|
|
async load() {
|
|
this.queryParams.current += 1
|
|
this.queryParams.current += 1
|
|
- // await this.getPatentList()
|
|
|
|
|
|
+ await this.getPatentList()
|
|
|
|
+ },
|
|
|
|
+ // 获取信息
|
|
|
|
+ async getPatentList() {
|
|
|
|
+ let params = {
|
|
|
|
+ projectId: this.projectId,
|
|
|
|
+ compareResult: this.queryParams.compareResult
|
|
|
|
+ }
|
|
|
|
+ await this.$api.getComparedPatent(params).then(response => {
|
|
|
|
+ if (response.code == 200) {
|
|
|
|
+ this.total = response.data.total
|
|
|
|
+ this.patentList = this.patentList.concat(response.data.data)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ })
|
|
},
|
|
},
|
|
// 获取数据
|
|
// 获取数据
|
|
- getList() {
|
|
|
|
|
|
+ getList(patentNo) {
|
|
let params = {
|
|
let params = {
|
|
projectId: this.projectId,
|
|
projectId: this.projectId,
|
|
- patentNo: this.patentNo,
|
|
|
|
- // searchQuery:this.$commonJS.objectToString(this.searchOption || {}),//检索条件
|
|
|
|
- orderDTOList: [],//排序
|
|
|
|
|
|
+ patentNo: patentNo,
|
|
}
|
|
}
|
|
- this.$api.query(params).then(res => {
|
|
|
|
|
|
+ this.$api.getLastRecord(params).then(res => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
- this.tableData = res.data.data
|
|
|
|
- this.getInterface(this.tableData)
|
|
|
|
|
|
+ // this.tableData = res.data
|
|
|
|
+ this.getInterface(res)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -411,57 +388,38 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- // 旧代码
|
|
|
|
- //切换专利
|
|
|
|
- patentChange(patent, index) {
|
|
|
|
- this.patent = patent
|
|
|
|
- this.index = index
|
|
|
|
- this.queryCompareMessage(this.patent.patentNo)
|
|
|
|
- },
|
|
|
|
//上一篇
|
|
//上一篇
|
|
handleLink1() {
|
|
handleLink1() {
|
|
this.index -= 1
|
|
this.index -= 1
|
|
this.patent = this.patentList[this.index]
|
|
this.patent = this.patentList[this.index]
|
|
- this.queryCompareMessage(this.patent.patentNo)
|
|
|
|
|
|
+ this.getList(this.patent.patentNo)
|
|
},
|
|
},
|
|
//下一篇
|
|
//下一篇
|
|
async handleLink() {
|
|
async handleLink() {
|
|
this.index += 1
|
|
this.index += 1
|
|
this.patent = this.patentList[this.index]
|
|
this.patent = this.patentList[this.index]
|
|
- this.queryCompareMessage(this.patent.patentNo)
|
|
|
|
|
|
+ this.getList(this.patent.patentNo)
|
|
if (index == this.queryParams.size * this.queryParams.current - 1) {
|
|
if (index == this.queryParams.size * this.queryParams.current - 1) {
|
|
await this.getPatentList()
|
|
await this.getPatentList()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ //切换专利
|
|
|
|
+ patentChange(patent, index) {
|
|
|
|
+ this.patent = patent
|
|
|
|
+ this.index = index
|
|
|
|
+ this.getList(this.patent.patentNo)
|
|
|
|
+ },
|
|
|
|
+
|
|
async change() {
|
|
async change() {
|
|
this.index = 0
|
|
this.index = 0
|
|
this.patentList = []
|
|
this.patentList = []
|
|
await this.getPatentList()
|
|
await this.getPatentList()
|
|
if (this.patentList.length > 0) {
|
|
if (this.patentList.length > 0) {
|
|
this.patent = this.patentList[0]
|
|
this.patent = this.patentList[0]
|
|
- this.queryCompareMessage(this.patent.patentNo)
|
|
|
|
|
|
+ this.getList(this.patent.patentNo)
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- // 获取数据信息
|
|
|
|
- queryCompareMessage(patentNo) {//patentRightVos
|
|
|
|
- this.loading = true
|
|
|
|
- let PatentRight = {
|
|
|
|
- patentNo: patentNo,
|
|
|
|
- projectId: this.projectId,
|
|
|
|
- }
|
|
|
|
- this.$api.queryCompareMessage(PatentRight).then(res => {
|
|
|
|
|
|
|
|
- }).catch(error => {
|
|
|
|
- this.loading = false
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
},
|