|
@@ -1,7 +1,15 @@
|
|
|
<template>
|
|
|
<div class="height_100">
|
|
|
<el-container>
|
|
|
- <el-aside width="200px">Aside</el-aside>
|
|
|
+ <!-- 统计 -->
|
|
|
+ <el-aside class="height_100" :width="showLeft ? '300px' : '0px'" v-show="showLeft">
|
|
|
+ <div class="height_100">
|
|
|
+ <customFields ref="customFields" :projectId="projectId" :searchOption="searchStr" :customFields="customFields"
|
|
|
+ @customTab="handleCustomFields" :searchPatentCheck="searchPatentCheck">
|
|
|
+ </customFields>
|
|
|
+ </div>
|
|
|
+ </el-aside>
|
|
|
+ <!-- 专利列表 -->
|
|
|
<el-container>
|
|
|
<el-header style="display:flex;justify-content:space-between">
|
|
|
<div style="display:flex">
|
|
@@ -10,7 +18,11 @@
|
|
|
style="font-size: 25px;position: relative; top: 5px; color: #2f2f2f; cursor: pointer"
|
|
|
@click="showLeft = !showLeft"></i>
|
|
|
</el-tooltip>
|
|
|
- <mySearch :SearchFields="searchFiled" @search="search" :searchValue="searchOption"></mySearch>
|
|
|
+
|
|
|
+ <searchPatent ref="searchPatent" :searchFiled="searchFiled" :searchPatentCheck="searchPatentCheck"
|
|
|
+ @searchValue="handleSearchValue"></searchPatent>
|
|
|
+
|
|
|
+ <!-- <mySearch :SearchFields="searchFiled" @search="search" :searchValue="searchOption"></mySearch> -->
|
|
|
<el-popover placement="bottom" title="关键词高亮" width="320" trigger="click">
|
|
|
<!-- <patent-keywords-highlight :project-id="projectId" /> -->
|
|
|
<el-button slot="reference" size="small" type="primary" class="margin-right_10 margin-left_10"
|
|
@@ -30,32 +42,31 @@
|
|
|
</el-tooltip>
|
|
|
</el-button-group>
|
|
|
<el-dropdown trigger="click" split-button type="primary" size="small">
|
|
|
- <span @click="handleField"
|
|
|
- v-disabled="false">自定义栏位管理</span>
|
|
|
+ <span @click="handleField" v-disabled="false">自定义栏位管理</span>
|
|
|
<el-dropdown-menu slot="dropdown" class="text-align_center">
|
|
|
<el-dropdown-item @click.native="handleFile">报告文档</el-dropdown-item>
|
|
|
- <el-dropdown-item @click.native="handleQuestion" v-if="$permission('/workspace/event')">事
|
|
|
- 件</el-dropdown-item>
|
|
|
+ <!-- <el-dropdown-item @click.native="handleQuestion" v-if="$permission('/workspace/event')">事
|
|
|
+ 件</el-dropdown-item> -->
|
|
|
<el-dropdown-item @click.native="handleFieldManage">显示栏位管理</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="exportPDF">导出PDF首页</el-dropdown-item>
|
|
|
- <el-dropdown-item @click.native="handleBatch"
|
|
|
+ <!-- <el-dropdown-item @click.native="handleBatch"
|
|
|
:disabled="!($permission('/workspace/folder/batchUploadSpecification') && $r(projectId, [1, 2]))">批量上传说明书</el-dropdown-item>
|
|
|
- <el-dropdown-item>
|
|
|
- <el-dropdown trigger="hover" placement="right-start">
|
|
|
- <span>
|
|
|
- 导出专利<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
- </span>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item @click.native="handleExport(false)">当前全部</el-dropdown-item>
|
|
|
- <el-dropdown-item @click.native="handleExport(true)">当前所选</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
+ <el-dropdown-item> -->
|
|
|
+ <el-dropdown trigger="hover" placement="right-start">
|
|
|
+ <p>
|
|
|
+ 导出专利<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
+ </p>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item @click.native="handleExport(false)">当前全部</el-dropdown-item>
|
|
|
+ <el-dropdown-item @click.native="handleExport(true)">当前所选</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
</el-dropdown-item>
|
|
|
<el-dropdown-item>
|
|
|
<el-dropdown trigger="hover" placement="right-start">
|
|
|
- <span>
|
|
|
+ <p>
|
|
|
{{ familyObj[queryParams.family] }}<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
- </span>
|
|
|
+ </p>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item v-for="(item, key) in familyObj" :key="key" @click.native="onChangeFamily(key)">{{
|
|
|
item }}</el-dropdown-item>
|
|
@@ -64,9 +75,9 @@
|
|
|
</el-dropdown-item>
|
|
|
<el-dropdown-item :disabled="!$permission('/workspace/folder/merge')">
|
|
|
<el-dropdown trigger="hover" placement="right-start">
|
|
|
- <span>
|
|
|
+ <p>
|
|
|
合并<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
- </span>
|
|
|
+ </p>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item @click.native="handleMerge2"
|
|
|
:disabled="!($permission('/workspace/folder/merge/inventorMerge') && $r(projectId, [1, 2]))">发明人</el-dropdown-item>
|
|
@@ -77,9 +88,9 @@
|
|
|
</el-dropdown-item>
|
|
|
<el-dropdown-item v-if="$permission('/workspace/createReport')">
|
|
|
<el-dropdown trigger="hover" placement="right-start">
|
|
|
- <span>
|
|
|
+ <p>
|
|
|
创建报告<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
- </span>
|
|
|
+ </p>
|
|
|
<el-dropdown-menu slot="dropdown" style="margin-top:0px">
|
|
|
<!-- 遍历按钮 -->
|
|
|
<el-dropdown-item @click.native="handleAnalyses(3)"
|
|
@@ -142,11 +153,12 @@
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
</div>
|
|
|
- <div class="margin-left_10">
|
|
|
+ <!-- 编辑暂时隐藏,默认置为true -->
|
|
|
+ <!-- <div class="margin-left_10">
|
|
|
<el-checkbox @change="changeRefresh" :checked="refresh">
|
|
|
<span>编辑</span>
|
|
|
</el-checkbox>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
<div>
|
|
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper"
|
|
@@ -161,6 +173,10 @@
|
|
|
|
|
|
<Field-Drawer ref="FieldDrawer"></Field-Drawer>
|
|
|
<field ref="field" type="patent" @getFieldList="getFieldList"></field>
|
|
|
+ <!-- 报告文档 -->
|
|
|
+ <reportFileDrawer ref="reportFileDrawer"></reportFileDrawer>
|
|
|
+ <!-- 创建FTO报告 -->
|
|
|
+ <addAndEditReport ref="addAndEditReport"></addAndEditReport>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -172,25 +188,33 @@ import PatentTableListView from './components/views/Table.vue'
|
|
|
import PatentPictureListView from './components/views/Picture'
|
|
|
// import PatentPDFListView from './components/views/PDF.vue'
|
|
|
import field from '@/views/components/dialog/fields.vue';
|
|
|
+import customFields from '@/views/report/components/patentList/components/customFields/index.vue';
|
|
|
+import searchPatent from '@/views/report/components/patentList/components/searchPatent.vue';
|
|
|
+import reportFileDrawer from '@/views/report/components/drawer/reportFileDrawer.vue'
|
|
|
+import addAndEditReport from '@/views/report/components/dialog/addAndEditReport.vue'
|
|
|
export default {
|
|
|
components: {
|
|
|
FieldDrawer,
|
|
|
PatentAbstractListView,
|
|
|
PatentTableListView,
|
|
|
PatentPictureListView,
|
|
|
- field
|
|
|
+ field,
|
|
|
+ customFields,
|
|
|
+ searchPatent,
|
|
|
+ reportFileDrawer,
|
|
|
+ addAndEditReport,
|
|
|
},
|
|
|
props: {},
|
|
|
data() {
|
|
|
return {
|
|
|
//是否隐藏左侧
|
|
|
- showLeft: false,
|
|
|
+ showLeft: true,
|
|
|
//检索字段
|
|
|
searchFiled: [],
|
|
|
- //检索条件
|
|
|
- searchOption: {
|
|
|
- name: localStorage.searchContent,
|
|
|
- },
|
|
|
+ // //检索条件
|
|
|
+ // searchOption: {
|
|
|
+ // name: localStorage.searchContent,
|
|
|
+ // },
|
|
|
//视图方式
|
|
|
viewList: [
|
|
|
{
|
|
@@ -230,7 +254,8 @@ export default {
|
|
|
//分页
|
|
|
queryParams: {
|
|
|
current: 1,
|
|
|
- size: 10
|
|
|
+ size: 10,
|
|
|
+ family: 0
|
|
|
},
|
|
|
//总数
|
|
|
total: 0,
|
|
@@ -246,8 +271,14 @@ export default {
|
|
|
selectedTotal: 0,
|
|
|
//选择专利加载
|
|
|
selectNumberLoading: false,
|
|
|
- //是否编辑
|
|
|
- refresh: false,
|
|
|
+ //是否编辑//编辑按钮暂时隐藏,改为默认为true
|
|
|
+ refresh: true,
|
|
|
+ // 统计勾选的值(专利著录(专利本身))
|
|
|
+ searchPatentCheck: [],
|
|
|
+ // 存放专利本身检索条件
|
|
|
+ searchStr: '',
|
|
|
+ // 存放自定义栏位的检索条件
|
|
|
+ customFields: [],
|
|
|
};
|
|
|
},
|
|
|
watch: {},
|
|
@@ -265,12 +296,50 @@ export default {
|
|
|
this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
- handleClick(row,location) {
|
|
|
+ // 处理后的条件
|
|
|
+ handleSearchValue({ searchStr, customFields }) {
|
|
|
+ this.searchStr = searchStr
|
|
|
+ this.customFields = customFields
|
|
|
+ this.$refs.customFields.close()
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ // 统计组件传的值
|
|
|
+ handleCustomFields(val) {
|
|
|
+ this.searchPatentCheck = []
|
|
|
+ val.forEach(item => {
|
|
|
+ if (item.check && item.check.length > 0) {
|
|
|
+ if (item.filedKind == -1) {
|
|
|
+ this.searchPatentCheck.push(item)
|
|
|
+ } else {
|
|
|
+ var checkName = []
|
|
|
+ if (item.type == 'Array' || item.type == 'tree' || item.type == 'DateTime') {
|
|
|
+ checkName = item.options.filter(item2 => item.check.includes(item2.id || item2.name)).map(item3 => item3.name);
|
|
|
+ }
|
|
|
+ var obj = {
|
|
|
+ value: item.value,
|
|
|
+ name: item.name,
|
|
|
+ filedKind: item.filedKind,
|
|
|
+ check: item.check,
|
|
|
+ checkName: checkName,//自定义栏位多选
|
|
|
+ type: item.type,
|
|
|
+ ifHaveChild: this.ifHaveChild
|
|
|
+ }
|
|
|
+ // return
|
|
|
+ this.searchPatentCheck.push(obj)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.searchPatent.search2()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 点击专利号进行跳转
|
|
|
+ handleClick(row, location) {
|
|
|
var search = {
|
|
|
- searchOption:this.searchOption,
|
|
|
- location:location,
|
|
|
+ searchOption: this.searchOption,
|
|
|
+ location: location,
|
|
|
}
|
|
|
- this.$s.setSession('search',search)
|
|
|
+ this.$s.setSession('search', search)
|
|
|
this.$router.push(
|
|
|
{
|
|
|
path: '/patentDetails/' + row.patentNo,
|
|
@@ -281,16 +350,45 @@ export default {
|
|
|
)
|
|
|
},
|
|
|
//获取table栏位及分组字段、检索字段
|
|
|
+ //获取检索字段
|
|
|
async getColumn() {
|
|
|
- let params = ['patent']
|
|
|
- await this.$api.getParamsCommon(params).then(res => {
|
|
|
+ // let params = ['patent']//原获取检索字段
|
|
|
+ // await this.$api.getParamsCommon(params).then(res => {
|
|
|
+ // if (res.code == 200) {
|
|
|
+ // let conditionDTOList = JSON.parse(JSON.stringify(res.data[0].conditionDTOList))
|
|
|
+ // // 搜索字段
|
|
|
+ // this.searchFiled = this.$commonJS.getField(conditionDTOList, (u) => u.ifSearch == true, {
|
|
|
+ // label: 'name',
|
|
|
+ // value: 'value',
|
|
|
+ // type: 'type',
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ let params = [{
|
|
|
+ tableName: 'patent',
|
|
|
+ projectId: this.projectId,
|
|
|
+ }]
|
|
|
+ await this.$api.getQueryFields(params).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- let conditionDTOList = JSON.parse(JSON.stringify(res.data[0].conditionDTOList))
|
|
|
+ let conditionDTOList = JSON.parse(JSON.stringify(res.data.data[0].conditionDTOList))
|
|
|
+ let field = conditionDTOList.filter(item => {
|
|
|
+ return item.group == 'nos'
|
|
|
+ })
|
|
|
+ let custom = conditionDTOList.filter(item => {
|
|
|
+ return item.group == 'customField'
|
|
|
+ })
|
|
|
+ let customField = custom.filter(item => {
|
|
|
+ return item.type != 'tree' && item.type != 'Array'
|
|
|
+ })
|
|
|
+ let arr = field.concat(customField)
|
|
|
// 搜索字段
|
|
|
- this.searchFiled = this.$commonJS.getField(conditionDTOList, (u) => u.ifSearch == true, {
|
|
|
+ this.searchFiled = this.$commonJS.getField(arr, (u) => u.ifSearch == true, {
|
|
|
label: 'name',
|
|
|
- value: 'value',
|
|
|
+ value: 'field',
|
|
|
type: 'type',
|
|
|
+ group: 'group',
|
|
|
+ fieldType: 'fieldType',
|
|
|
+ groupBy: 'groupBy',
|
|
|
})
|
|
|
}
|
|
|
})
|
|
@@ -335,7 +433,8 @@ export default {
|
|
|
let params = {
|
|
|
...this.queryParams,//分页信息
|
|
|
projectId: this.projectId,
|
|
|
- searchQuery: this.$commonJS.objectToString(this.searchOption),//检索条件
|
|
|
+ searchQuery: this.searchStr || '',//检索条件
|
|
|
+ customFields: this.customFields || [],
|
|
|
orderDTOList: this.sort,//排序信息
|
|
|
}
|
|
|
this.$api.QueryPatent(params).then(res => {
|
|
@@ -379,14 +478,39 @@ export default {
|
|
|
async handleFieldManage() {
|
|
|
this.$refs.field.open(this.customList)
|
|
|
},
|
|
|
+ //报告文档
|
|
|
+ handleFile() {
|
|
|
+ this.$refs.reportFileDrawer.open(this.projectId)
|
|
|
+ },
|
|
|
+ //创建FTO报告
|
|
|
+ handleAnalyses(type) {
|
|
|
+ var form = {
|
|
|
+ reportType: type,
|
|
|
+ signPatentNo: '',
|
|
|
+ matterId: [],
|
|
|
+ scenarioId: [],
|
|
|
+ }
|
|
|
+ this.$refs.addAndEditReport.open(form)
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
//批量上传说明书
|
|
|
handleBatch() {
|
|
|
this.$refs.batchInstructionDialog.open()
|
|
|
},
|
|
|
- //报告文档
|
|
|
- handleFile() {
|
|
|
- this.$refs.projectFileDrawer.open(this.projectId, 1)
|
|
|
- },
|
|
|
// 事件按钮
|
|
|
handleQuestion() {
|
|
|
let a = this.$router.resolve({
|
|
@@ -449,21 +573,7 @@ export default {
|
|
|
handleMerge2() {
|
|
|
this.$refs.patentInventorMergeDrawer.open(this.projectId)
|
|
|
},
|
|
|
- //创建FTO报告
|
|
|
- handleAnalyses(id) {
|
|
|
- this.$api.getProject({ id: this.projectId }).then(response => {
|
|
|
- var form = {
|
|
|
- type: id,
|
|
|
- projectId: this.projectId,
|
|
|
- departmentId: response.data[0].departmentId,
|
|
|
- personId: response.data[0].personnelId,
|
|
|
- clientId: response.data[0].clientId,
|
|
|
- proTec: response.data[0].technicalTheme,
|
|
|
- scenarioList: response.data[0].scenarioList
|
|
|
- }
|
|
|
- this.$refs.ReportForm.open(form)
|
|
|
- })
|
|
|
- },
|
|
|
+
|
|
|
//图表分析
|
|
|
async handleAnalyse(path) {
|
|
|
this.chartLoading = true
|
|
@@ -516,10 +626,10 @@ export default {
|
|
|
},
|
|
|
|
|
|
//取消编辑
|
|
|
- changeRefresh() {
|
|
|
- this.patentNoList = []
|
|
|
- this.refresh = !this.refresh
|
|
|
- },
|
|
|
+ // changeRefresh() {
|
|
|
+ // this.patentNoList = []
|
|
|
+ // // this.refresh = !this.refresh
|
|
|
+ // },
|
|
|
//取消选择
|
|
|
handleCancelSelectNumber() {
|
|
|
this.patentNoList = [];
|
|
@@ -639,4 +749,5 @@ export default {
|
|
|
padding: 0 3px;
|
|
|
}
|
|
|
}
|
|
|
-}</style>
|
|
|
+}
|
|
|
+</style>
|