|
@@ -99,14 +99,57 @@
|
|
|
<component ref="patentViewList" :is="viewSelected" @download="handleDownload" @change-read="handleChangeRead"
|
|
|
:projectId="projectId" :selected.sync="queryParams.selected" :patentNoList.sync="patentNoList"
|
|
|
:column="customList" @index-setting="handleIndexSetting" @on-sort="handleSort" :queryParams="queryParams"
|
|
|
- :tableData="tableData"></component>
|
|
|
+ :tableData="tableData" :refresh='refresh'></component>
|
|
|
</div>
|
|
|
</el-main>
|
|
|
- <el-footer class="pagination">
|
|
|
- <el-pagination background layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ <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>
|
|
|
+ <el-popover placement="bottom" title="" width="220" trigger="click">
|
|
|
+ <el-main class="patent-fast-edit-popover" v-loading="selectNumberLoading">
|
|
|
+ <div class="btn" @click="handleCancelSelectNumber">取消选择</div>
|
|
|
+ <div class="btn" @click="handleSelectNumber(0)">本页选择</div>
|
|
|
+ <div class="btn" @click="handleSelectNumber(1)">全部选择</div>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <div class="select-number">
|
|
|
+ <span>从</span>
|
|
|
+ <el-input size="mini" v-model="queryParams.startNumber" @change="change1"></el-input>
|
|
|
+ <span>到</span>
|
|
|
+ <el-input size="mini" v-model="queryParams.endNumber" @change="change2"></el-input>
|
|
|
+ <el-button type="text" size="" @click="handleSelectNumber(2)">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ <el-button type="info" size="small" class="margin-left_10" slot="reference"> 选择专利<i class="el-icon-arrow-down el-icon--right"></i></el-button>
|
|
|
+ </el-popover>
|
|
|
+
|
|
|
+ <div v-show="patentNoList.length" class="margin-left_10">
|
|
|
+ <el-dropdown size="medium">
|
|
|
+ <el-button type="primary" size="small" :disabled="!$permission('/workspace/folder/batchOperation')">
|
|
|
+ 批量操作<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item @click.native="handleRead(1)" :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="checkPatentWorth" v-if="patentNoList.length && $permission('/workspace/patent/worth')">价值曲线</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ </div>
|
|
|
+ <div class="margin-left_10">
|
|
|
+ <el-checkbox @change="changeRefresh" :checked="refresh">
|
|
|
+ <span>编辑</span>
|
|
|
+ </el-checkbox>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-pagination background layout="total, sizes, prev, pager, next, jumper"
|
|
|
:current-page.sync="queryParams.current" :page-sizes="sizeArr" :page-size.sync="queryParams.size"
|
|
|
@current-change="handleCurrentChange" @size-change="getList" :total="total">
|
|
|
</el-pagination>
|
|
|
+ </div>
|
|
|
+
|
|
|
</el-footer>
|
|
|
</el-container>
|
|
|
</el-container>
|
|
@@ -194,6 +237,12 @@ export default {
|
|
|
loading: false,
|
|
|
// 数据
|
|
|
tableData: [],
|
|
|
+ //选择总数
|
|
|
+ selectedTotal:0,
|
|
|
+ //选择专利加载
|
|
|
+ selectNumberLoading:false,
|
|
|
+ //是否编辑
|
|
|
+ refresh:false,
|
|
|
};
|
|
|
},
|
|
|
watch: {},
|
|
@@ -445,7 +494,122 @@ export default {
|
|
|
this.$refs.patentIndexSetting.open(this.queryParams.projectId, patent, field)
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ //取消编辑
|
|
|
+ changeRefresh(){
|
|
|
+ this.patentNoList = []
|
|
|
+ this.refresh = !this.refresh
|
|
|
+ },
|
|
|
+ //取消选择
|
|
|
+ handleCancelSelectNumber() {
|
|
|
+ this.patentNoList = [];
|
|
|
+ this.queryParams.isAdd = []
|
|
|
+ this.queryParams.isDelete = []
|
|
|
+ this.startNumber = 1
|
|
|
+ this.queryParams.startNumber = 1
|
|
|
+ this.queryParams.endNumber = this.total
|
|
|
+ this.endNumber = 0
|
|
|
+ this.quickSelect = false
|
|
|
+ this.selectedTotal = 0
|
|
|
+ // this.getList()
|
|
|
+ },
|
|
|
+ //开始条数校验
|
|
|
+ change1(val) {
|
|
|
+ if (!isNaN(val)) {
|
|
|
+ if (!val || val <= 0) {
|
|
|
+ this.queryParams.startNumber=1
|
|
|
+ } else {
|
|
|
+ if (this.queryParams.startNumber>this.total) {
|
|
|
+ this.queryParams.startNumber=this.total
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.queryParams.startNumber=1
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //结束条数校验
|
|
|
+ change2(val) {
|
|
|
+ if (!isNaN(val)) {
|
|
|
+ if (!val || val <= 0) {
|
|
|
+ this.queryParams.endNumber = this.total
|
|
|
+ } else {
|
|
|
+ if (this.queryParams.endNumber > this.total) {
|
|
|
+ this.queryParams.endNumber = this.total
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ 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>
|
|
|
-<style lang="scss" scoped></style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.patent-fast-edit-popover {
|
|
|
+ padding: 0 !important;
|
|
|
+ .btn {
|
|
|
+ color: #000;
|
|
|
+ line-height: 30px;
|
|
|
+ border-radius: 5px;
|
|
|
+ padding-left: 10px;
|
|
|
+ text-align: left;
|
|
|
+ font-size: 14px;
|
|
|
+ cursor: pointer;
|
|
|
+ &:hover {
|
|
|
+ background: #adadad;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .disabled {
|
|
|
+ cursor: not-allowed !important;
|
|
|
+ }
|
|
|
+ .bottom {
|
|
|
+ text-align: right;
|
|
|
+ color: #1e9fff;
|
|
|
+ line-height: 40px;
|
|
|
+ padding-left: 10px;
|
|
|
+ font-size: 18px;
|
|
|
+ }
|
|
|
+ .el-divider--horizontal {
|
|
|
+ margin: 10px 0 !important;
|
|
|
+ }
|
|
|
+ .select-number {
|
|
|
+ .el-input {
|
|
|
+ width: 70px;
|
|
|
+ }
|
|
|
+ span {
|
|
|
+ padding: 0 3px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}</style>
|