123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- // 选择专利js
- export const fastSelectPatent = {
- data() {
- return {
- // 数据
- tableData: [],
- //总数
- total: 0,
- //分页及选择专利的信息
- queryParams: {
- current: 1,
- size: 10,
- groupField: '0',
- selected: [],
- isAdd: [],
- isDelete: [],
- },
- //是否编辑//编辑按钮暂时隐藏,改为默认为true
- refresh: true,
- //选择的专利集合
- patentNoList: [],
- //选择总数
- selectedTotal: 0,
- //选择专利加载
- selectNumberLoading: false,
- // 起始位置
- startNumber: 1,
- // 结束位置
- endNumber: 0,
- // 判断是否是全部选择或范围选择
- quickSelect: false,
- quickSelectArr: [],
- }
- },
- mounted() {
- if(!this.taskType || this.taskType == 0){
- this.refresh = true
- }else{
- this.refresh = false
- }
- },
- methods: {
- // 是否刷新
- isRefresh() {
- if(!this.refresh){
- return
- }
- this.refresh = false
- this.$nextTick(() => {
- this.refresh = true
- })
- },
- //快速选择
- handleSelectNumber(type) {
- switch (type) {
- case 0: //本页选择
- var patentNos = this.$store.state.patent.records.map((item) => item.patentNo)
- if(this.quickSelect){
- var arr = patentNos.filter(item=>{
- return this.patentNoList.indexOf(item) == -1
- })
- if(arr.length>0){
- arr.forEach(item => {
- this.getChoosePatentNo(item)
- });
- }
- }else{
- this.queryParams.isAdd = [...new Set(this.queryParams.isAdd.concat(patentNos)),];
- }
- this.patentNoList = [...new Set(this.patentNoList.concat(patentNos)),];
- 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.startNumber > 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 = [];
- 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()
- this.isRefresh()
- },
- // 范围选择起始数字框
- 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
- }
- },
- // 批量标引
- handleIndex() {
- let obj = {
- isAdd: this.queryParams.isAdd,
- isDelete: this.queryParams.isDelete,
- startNumber: this.startNumber,
- endNumber: this.endNumber,
- searchQuery: this.searchStr,
- customFields: this.customFields,
- groupField:this.queryParams.groupField,
- orderDTOList:this.sort,
- }
- this.$refs.PatentBatchIndexVue.open(obj)
- },
- //批量删除专利
- deletePatents(){
- this.$confirm('确认删除选择的专利吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- var params = {
- isAdd:this.queryParams.isAdd,
- isDelete: this.queryParams.isDelete,
- startNumber: this.startNumber,
- endNumber: this.endNumber,
- searchQuery: this.searchStr,
- customFields: this.customFields,
- groupField:this.queryParams.groupField,
- orderDTOList:this.sort,
- projectId:this.projectId
- }
- this.loading =true
- this.$api.deletePatents(params).then(res=>{
- if(res.code == 200){
- this.queryParams = {
- current: 1,
- size: 10,
- groupField: '0',
- selected: [],
- isAdd: [],
- isDelete: [],
- }
- this.endNumber = 0
- this.startNumber = 1
- this.getSelectedTotal()
- this.loading = false
- this.$message.success('删除成功')
- this.getList()
- if(this.$refs.customFields){
- this.$refs.customFields.refreshOptions(1)
- }
-
- }
- }).catch(error=>{
- this.loading = false
- this.$message.error('删除失败')
- })
- })
- },
- },
- }
|