|
@@ -61,11 +61,10 @@
|
|
|
<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">
|
|
|
<p>
|
|
|
- {{ familyObj[queryParams.family] }}<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
+ {{ familyObj[queryParams.groupField] }}<i class="el-icon-arrow-right el-icon--right"></i>
|
|
|
</p>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item v-for="(item, key) in familyObj" :key="key" @click.native="onChangeFamily(key)">{{
|
|
@@ -108,15 +107,15 @@
|
|
|
<el-main v-loading="loading">
|
|
|
<div class="height_100">
|
|
|
<component ref="patentViewList" :is="viewSelected" @download="handleDownload" @change-read="handleChangeRead"
|
|
|
- :projectId="projectId" :patentNoList.sync="patentNoList" @clickPatentNo="handleClick" :column="customList"
|
|
|
- @index-setting="handleIndexSetting" @on-sort="handleSort" :queryParams="queryParams" :tableData="tableData"
|
|
|
- :refresh='refresh'></component>
|
|
|
+ :projectId="projectId" :patentNoList.sync="patentNoList" @addSelect="getChoosePatentNo"
|
|
|
+ @clickPatentNo="handleClick" :column="customList" @index-setting="handleIndexSetting" @on-sort="handleSort"
|
|
|
+ :queryParams="queryParams" :tableData="tableData" :refresh='refresh'></component>
|
|
|
</div>
|
|
|
</el-main>
|
|
|
<el-footer class="pagination" style="display:flex;justify-content:space-between;align-items:center">
|
|
|
<div style="display:flex;align-items:center">
|
|
|
- <span v-if="patentNoList.length > 0">
|
|
|
- 已勾选 <b>{{ patentNoList.length }}</b> 条
|
|
|
+ <span v-if="selectedTotal > 0">
|
|
|
+ 已勾选 <b>{{ selectedTotal }}</b> 条
|
|
|
</span>
|
|
|
<el-popover placement="bottom" title="" width="220" trigger="click">
|
|
|
<el-main class="patent-fast-edit-popover" v-loading="selectNumberLoading">
|
|
@@ -146,8 +145,9 @@
|
|
|
:disabled="!$permission('/workspace/folder/isRead')">已读</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="handleRead(0)"
|
|
|
:disabled="!$permission('/workspace/folder/isRead')">未读</el-dropdown-item>
|
|
|
- <el-dropdown-item @click.native="handleIndex"
|
|
|
- :disabled="!($permission('/workspace/folder/batchOperation/batchIndexing') && $r(projectId, [1, 2]))">批量标引</el-dropdown-item>
|
|
|
+ <!-- <el-dropdown-item @click.native="handleIndex"
|
|
|
+ :disabled="!($permission('/workspace/folder/batchOperation/batchIndexing') && $r(projectId, [1, 2]))">批量标引</el-dropdown-item> -->
|
|
|
+ <el-dropdown-item @click.native="handleIndex">批量标引</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="checkPatentWorth"
|
|
|
v-if="patentNoList.length && $permission('/workspace/patent/worth')">价值曲线</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
@@ -177,6 +177,8 @@
|
|
|
<reportFileDrawer ref="reportFileDrawer"></reportFileDrawer>
|
|
|
<!-- 创建FTO报告 -->
|
|
|
<addAndEditReport ref="addAndEditReport"></addAndEditReport>
|
|
|
+ <!-- 批量那个标引 -->
|
|
|
+ <PatentBatchIndexVue ref="PatentBatchIndexVue" :projectId="projectId"></PatentBatchIndexVue>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -192,6 +194,7 @@ import customFields from '@/views/report/components/patentList/components/custom
|
|
|
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'
|
|
|
+import PatentBatchIndexVue from './components/dialog/PatentBatchIndex.vue'
|
|
|
export default {
|
|
|
components: {
|
|
|
FieldDrawer,
|
|
@@ -203,6 +206,7 @@ export default {
|
|
|
searchPatent,
|
|
|
reportFileDrawer,
|
|
|
addAndEditReport,
|
|
|
+ PatentBatchIndexVue,
|
|
|
},
|
|
|
props: {},
|
|
|
data() {
|
|
@@ -244,10 +248,10 @@ export default {
|
|
|
customList: [],
|
|
|
//同族
|
|
|
familyObj: {
|
|
|
- 0: '不区分同族',
|
|
|
- 1: '简单同族',
|
|
|
- 2: 'INPADOC同族',
|
|
|
- 3: '扩展同族',
|
|
|
+ '0': '不区分同族',
|
|
|
+ 'simpleFamilyId': '简单同族',
|
|
|
+ 'inpadocFamilyId': 'INPADOC同族',
|
|
|
+ 'patsnapFamilyId': '扩展同族',
|
|
|
},
|
|
|
//页大小
|
|
|
sizeArr: [10, 20, 30, 40, 50, 100],
|
|
@@ -255,22 +259,19 @@ export default {
|
|
|
queryParams: {
|
|
|
current: 1,
|
|
|
size: 10,
|
|
|
- family: 0
|
|
|
+ groupField: '0',
|
|
|
+ selected: [],
|
|
|
+ isAdd: [],
|
|
|
+ isDelete: [],
|
|
|
},
|
|
|
//总数
|
|
|
total: 0,
|
|
|
//排序
|
|
|
sort: [],
|
|
|
- //选择的专利集合
|
|
|
- patentNoList: [],
|
|
|
//加载
|
|
|
loading: false,
|
|
|
// 数据
|
|
|
tableData: [],
|
|
|
- //选择总数
|
|
|
- selectedTotal: 0,
|
|
|
- //选择专利加载
|
|
|
- selectNumberLoading: false,
|
|
|
//是否编辑//编辑按钮暂时隐藏,改为默认为true
|
|
|
refresh: true,
|
|
|
// 统计勾选的值(专利著录(专利本身))
|
|
@@ -279,6 +280,20 @@ export default {
|
|
|
searchStr: '',
|
|
|
// 存放自定义栏位的检索条件
|
|
|
customFields: [],
|
|
|
+ /*选择专利变量start*/
|
|
|
+ //选择的专利集合
|
|
|
+ patentNoList: [],
|
|
|
+ //选择总数
|
|
|
+ selectedTotal: 0,
|
|
|
+ //选择专利加载
|
|
|
+ selectNumberLoading: false,
|
|
|
+ // 起始位置
|
|
|
+ startNumber: 1,
|
|
|
+ // 结束位置
|
|
|
+ endNumber: 0,
|
|
|
+ quickSelect: false,
|
|
|
+ quickSelectArr: [],
|
|
|
+ /*选择专利变量end*/
|
|
|
};
|
|
|
},
|
|
|
watch: {},
|
|
@@ -394,23 +409,23 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
//检索
|
|
|
- search(val) {
|
|
|
- let params = {}
|
|
|
- val.forEach(item => {
|
|
|
- if (item.type == 3) {
|
|
|
- params[item.value] = item.searchValue.map(itemValue => {
|
|
|
- return itemValue.value
|
|
|
- })
|
|
|
- } else {
|
|
|
- params[item.value] = item.searchValue.label
|
|
|
- }
|
|
|
- })
|
|
|
- // 返回字符串
|
|
|
- this.searchOption = params
|
|
|
- // 调用查询接口
|
|
|
- this.queryParams.current = 1
|
|
|
- this.getList()
|
|
|
- },
|
|
|
+ // search(val) {
|
|
|
+ // let params = {}
|
|
|
+ // val.forEach(item => {
|
|
|
+ // if (item.type == 3) {
|
|
|
+ // params[item.value] = item.searchValue.map(itemValue => {
|
|
|
+ // return itemValue.value
|
|
|
+ // })
|
|
|
+ // } else {
|
|
|
+ // params[item.value] = item.searchValue.label
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // // 返回字符串
|
|
|
+ // this.searchOption = params
|
|
|
+ // // 调用查询接口
|
|
|
+ // this.queryParams.current = 1
|
|
|
+ // this.getList()
|
|
|
+ // },
|
|
|
//切换视图
|
|
|
async handleChangeView(item) {
|
|
|
this.viewSelected = item.value
|
|
@@ -431,16 +446,29 @@ export default {
|
|
|
this.queryParams.size = size
|
|
|
}
|
|
|
let params = {
|
|
|
- ...this.queryParams,//分页信息
|
|
|
+ ...this.queryParams,//分页信息及区分同族类型
|
|
|
projectId: this.projectId,
|
|
|
searchQuery: this.searchStr || '',//检索条件
|
|
|
customFields: this.customFields || [],
|
|
|
orderDTOList: this.sort,//排序信息
|
|
|
}
|
|
|
+
|
|
|
+ // this.$store.commit("SET_PATENT_PARAMS", params);
|
|
|
+ this.$store.commit("SET_PATENT_RECORDS", []);
|
|
|
this.$api.QueryPatent(params).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.tableData = res.data.data
|
|
|
this.total = res.data.total
|
|
|
+
|
|
|
+
|
|
|
+ this.$set(this.queryParams, 'startNumber', this.endNumber > 0 ? this.startNumber : 1)
|
|
|
+ this.$set(this.queryParams, 'endNumber', this.endNumber > 0 ? this.endNumber : this.total)
|
|
|
+ // this.$store.commit("SET_PATENT_PARAMS", params);
|
|
|
+ this.$store.commit("SET_PATENT_RECORDS", res.data.data);
|
|
|
+ if (this.quickSelect) {
|
|
|
+ this.commonSwitch()
|
|
|
+ }
|
|
|
+ this.isRefresh()
|
|
|
}
|
|
|
}).catch(error => {
|
|
|
this.tableData = []
|
|
@@ -468,7 +496,7 @@ export default {
|
|
|
|
|
|
//自定义栏位管理
|
|
|
handleField() {
|
|
|
- this.$refs.FieldDrawer.open(5)
|
|
|
+ this.$refs.FieldDrawer.open(this.projectId)
|
|
|
},
|
|
|
//获取自定义栏位
|
|
|
getFieldList(data) {
|
|
@@ -492,7 +520,16 @@ export default {
|
|
|
}
|
|
|
this.$refs.addAndEditReport.open(form)
|
|
|
},
|
|
|
-
|
|
|
+ //切换同族
|
|
|
+ onChangeFamily(key) {
|
|
|
+ this.queryParams.current = 1
|
|
|
+ this.queryParams.groupField = key
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ // 批量标引
|
|
|
+ handleIndex() {
|
|
|
+ this.$refs.PatentBatchIndexVue.open()
|
|
|
+ },
|
|
|
|
|
|
|
|
|
|
|
@@ -559,12 +596,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- //切换同族
|
|
|
- onChangeFamily(key) {
|
|
|
- this.queryParams.current = 1
|
|
|
- this.queryParams.family = parseInt(key)
|
|
|
- this.getList()
|
|
|
- },
|
|
|
+
|
|
|
//合并申请人
|
|
|
handleMerge() {
|
|
|
this.$refs.patentApplicantMergeDrawer.open(this.projectId)
|
|
@@ -630,6 +662,129 @@ export default {
|
|
|
// this.patentNoList = []
|
|
|
// // this.refresh = !this.refresh
|
|
|
// },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 是否刷新
|
|
|
+ isRefresh() {
|
|
|
+ this.refresh = false
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.refresh = true
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //快速选择
|
|
|
+ handleSelectNumber(type) {
|
|
|
+ switch (type) {
|
|
|
+ case 0: //本页选择
|
|
|
+ this.patentNoList = [...new Set(this.patentNoList.concat(this.$store.state.patent.records.map((item) => item.patentNo))),];
|
|
|
+ this.queryParams.isAdd = [...new Set(this.queryParams.isAdd.concat(this.$store.state.patent.records.map((item) => item.patentNo))),];
|
|
|
+ break;
|
|
|
+ case 1: //全部选择
|
|
|
+ this.startNumber = 1;
|
|
|
+ this.endNumber = this.total;
|
|
|
+ this.$set(this.queryParams, 'startNumber', 1)
|
|
|
+ this.$set(this.queryParams, 'endNumber', this.total)
|
|
|
+ case 2: //范围选择
|
|
|
+ this.queryParams.isDelete = [];
|
|
|
+ this.queryParams.isAdd = [];
|
|
|
+ this.patentNoList = [];
|
|
|
+ this.quickSelect = true;
|
|
|
+ if (type == 2) {
|
|
|
+ if (!Number(this.queryParams.startNumber) || !Number(this.queryParams.endNumber)) {
|
|
|
+ this.$set(this.queryParams, 'startNumber', this.endNumber > 0 ? this.startNumber : 1)
|
|
|
+ this.$set(this.queryParams, 'endNumber', this.endNumber > 0 ? this.endNumber : this.total)
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ this.startNumber = this.queryParams.startNumber;
|
|
|
+ this.endNumber = this.queryParams.endNumber;
|
|
|
+ }
|
|
|
+ this.commonSwitch();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ this.getSelectedTotal()
|
|
|
+ this.isRefresh()
|
|
|
+ },
|
|
|
+ //每页全部选择或范围选择的专利
|
|
|
+ commonSwitch() {
|
|
|
+ var arr = []
|
|
|
+ if (this.queryParams.size * this.queryParams.current >= this.startNumber) {
|
|
|
+ if (this.queryParams.size * this.queryParams.current >= this.endNumber) {
|
|
|
+ if (this.queryParams.size * (this.queryParams.current - 1) + 1 <= this.startNumber) {
|
|
|
+ var a = this.startNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ var b = this.endNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ for (var y = a; y <= b; y++) {
|
|
|
+ arr.push(this.tableData[y].patentNo)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ var a = this.queryParams.size * (this.queryParams.current - 1) + 1 - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ var b = this.endNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ for (var y = a; y <= b; y++) {
|
|
|
+ arr.push(this.tableData[y].patentNo)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (this.queryParams.size * (this.queryParams.current - 1) + 1 <= this.startNumber) {
|
|
|
+ var a = this.startNumber - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ var b = this.queryParams.size * this.queryParams.current - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ for (var y = a; y <= b; y++) {
|
|
|
+ arr.push(this.tableData[y].patentNo)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ var a = this.queryParams.size * (this.queryParams.current - 1) + 1 - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ var b = this.queryParams.size * this.queryParams.current - (this.queryParams.size * (this.queryParams.current - 1) + 1);
|
|
|
+ for (var y = a; y <= b; y++) {
|
|
|
+ arr.push(this.tableData[y].patentNo)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // this.patentNoList = JSON.parse(JSON.stringify(arr))
|
|
|
+ this.quickSelectArr = JSON.parse(JSON.stringify(arr))
|
|
|
+ this.getHaveChoose(arr)
|
|
|
+ },
|
|
|
+ //获取已选择的专利
|
|
|
+ getHaveChoose(arr) {
|
|
|
+ var arr1 = [...new Set(arr.concat(this.queryParams.isAdd))]
|
|
|
+ this.patentNoList = arr1.filter((x) => this.queryParams.isDelete.indexOf(x) == -1)
|
|
|
+ },
|
|
|
+ //获取已选择的总条数
|
|
|
+ getSelectedTotal() {
|
|
|
+ this.selectedTotal = Number(this.endNumber) - Number(this.startNumber) + 1 + Number(this.queryParams.isAdd.length) - Number(this.queryParams.isDelete.length)
|
|
|
+ },
|
|
|
+ //获取手动选择的专利
|
|
|
+ getChoosePatentNo(patentNo) {
|
|
|
+ if (this.quickSelect) {
|
|
|
+ var index = this.queryParams.isDelete.findIndex(item => {
|
|
|
+ return item == patentNo
|
|
|
+ })
|
|
|
+ if (index == -1) {
|
|
|
+ var index2 = this.quickSelectArr.findIndex(item => {
|
|
|
+ return item == patentNo
|
|
|
+ })
|
|
|
+ if (index2 == -1) {
|
|
|
+ this.setIsAdd(patentNo)
|
|
|
+ } else {
|
|
|
+ this.queryParams.isDelete.push(patentNo)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.queryParams.isDelete.splice(index, 1)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.setIsAdd(patentNo)
|
|
|
+ }
|
|
|
+ this.getSelectedTotal()
|
|
|
+ },
|
|
|
+ //是否加入isAdd里面
|
|
|
+ setIsAdd(patentNo) {
|
|
|
+ var index = this.queryParams.isAdd.findIndex(item => {
|
|
|
+ return item == patentNo
|
|
|
+ })
|
|
|
+ if (index != -1) {
|
|
|
+ this.queryParams.isAdd.splice(index, 1)
|
|
|
+ } else {
|
|
|
+ this.queryParams.isAdd.push(patentNo)
|
|
|
+ }
|
|
|
+ },
|
|
|
//取消选择
|
|
|
handleCancelSelectNumber() {
|
|
|
this.patentNoList = [];
|
|
@@ -642,8 +797,9 @@ export default {
|
|
|
this.quickSelect = false
|
|
|
this.selectedTotal = 0
|
|
|
// this.getList()
|
|
|
+ this.isRefresh()
|
|
|
},
|
|
|
- //开始条数校验
|
|
|
+ // 范围选择起始数字框
|
|
|
change1(val) {
|
|
|
if (!isNaN(val)) {
|
|
|
if (!val || val <= 0) {
|
|
@@ -657,7 +813,7 @@ export default {
|
|
|
this.queryParams.startNumber = 1
|
|
|
}
|
|
|
},
|
|
|
- //结束条数校验
|
|
|
+ // 范围选择截止数字框
|
|
|
change2(val) {
|
|
|
if (!isNaN(val)) {
|
|
|
if (!val || val <= 0) {
|
|
@@ -671,37 +827,7 @@ export default {
|
|
|
this.queryParams.endNumber = this.total
|
|
|
}
|
|
|
},
|
|
|
- //快速选择
|
|
|
- handleSelectNumber(type) {
|
|
|
- switch (type) {
|
|
|
- case 0: //本页选择
|
|
|
- this.patentNoList = [...new Set(this.patentNoList.concat(this.$store.state.patent.records.map((item) => item.applicationNo))),];
|
|
|
- this.queryParams.isAdd = [...new Set(this.queryParams.isAdd.concat(this.$store.state.patent.records.map((item) => item.applicationNo))),];
|
|
|
- break;
|
|
|
- case 1: //全部选择
|
|
|
- this.startNumber = 1;
|
|
|
- this.endNumber = this.total;
|
|
|
- this.$set(this.queryParams, 'startNumber', 1)
|
|
|
- this.$set(this.queryParams, 'endNumber', this.total)
|
|
|
- case 2: //范围选择
|
|
|
- this.queryParams.isDelete = [];
|
|
|
- this.queryParams.isAdd = [];
|
|
|
- this.patentNoList = [];
|
|
|
- this.quickSelect = true;
|
|
|
- if (type == 2) {
|
|
|
- if (!Number(this.queryParams.startNumber) || !Number(this.queryParams.endNumber)) {
|
|
|
- this.$set(this.queryParams, 'startNumber', this.endNumber > 0 ? this.startNumber : 1)
|
|
|
- this.$set(this.queryParams, 'endNumber', this.endNumber > 0 ? this.endNumber : this.total)
|
|
|
- break;
|
|
|
- }
|
|
|
- this.startNumber = this.queryParams.startNumber;
|
|
|
- this.endNumber = this.queryParams.endNumber;
|
|
|
- }
|
|
|
- this.commonSwitch();
|
|
|
- break;
|
|
|
- }
|
|
|
- this.getSelectedTotal()
|
|
|
- },
|
|
|
+
|
|
|
},
|
|
|
};
|
|
|
</script>
|