|
@@ -42,7 +42,7 @@
|
|
|
:row-class-name="tableRowClassName"
|
|
|
border
|
|
|
style="min-width: 100%; margin-top: 20px;overflow:auto"
|
|
|
- v-if="show"
|
|
|
+ v-if="show && show1"
|
|
|
>
|
|
|
|
|
|
<el-table-column
|
|
@@ -72,42 +72,27 @@
|
|
|
<el-table-column v-for="(item, index) in tableHeader" :key="index" align="center" :min-width="item.length > 7 ? '190' : '110'">
|
|
|
<template slot="header">
|
|
|
<span>
|
|
|
- <el-link type="primary" @click="editContrast(item.patentNo)">{{item.patentNo}}</el-link>
|
|
|
+ <el-link type="primary" @click="editContrast(item.patentNo)">{{item.patentNo}}(D{{ index+1 }})</el-link>
|
|
|
</span>
|
|
|
<el-tag style="font-size:12px;border-radius:50%" v-if="item.remark">{{item.remark}}</el-tag>
|
|
|
<el-popover
|
|
|
placement="bottom"
|
|
|
width="200"
|
|
|
trigger="click">
|
|
|
- <el-input-number v-model="num" @change="handleChange" :controls="false" :min="1" :max="tableHeader.length" label="输入需要交换的位置"></el-input-number>
|
|
|
+ <!-- <p style="display:flex;align-items: center"><span>移动到第</span> <el-input-number width="100px" size="small" v-model="num" @change="handleChange" :controls="false" :min="1" :max="tableHeader.length" label="输入需要交换的位置"></el-input-number><span>位</span></p> -->
|
|
|
<el-tree
|
|
|
+ ref="tree"
|
|
|
:data="tableHeader"
|
|
|
:props="{label:'patentNo'}"
|
|
|
- show-checkbox
|
|
|
@node-drop="handleDrop"
|
|
|
+ :allow-drop="allowDrop"
|
|
|
draggable
|
|
|
@check-change="handleCheckChange">
|
|
|
+ <span class="custom-tree-node" slot-scope="{ node, data }"><el-radio v-model="val" @input="changeRadio(item,data)" :label="node.label">D{{tableHeader.findIndex(item=>item.patentNo == data.patentNo)+1}}({{data.patentNo}})</el-radio></span>
|
|
|
</el-tree>
|
|
|
- <el-button @click="exchange">交换</el-button>
|
|
|
- <!-- <el-table :data="gridData">
|
|
|
- <el-table-column width="150" property="date" label="日期"></el-table-column>
|
|
|
- <el-table-column width="100" property="name" label="姓名"></el-table-column>
|
|
|
- <el-table-column width="300" property="address" label="地址"></el-table-column>
|
|
|
- </el-table> -->
|
|
|
- <i class="el-icon-arrow-down el-icon--right" slot="reference"></i>
|
|
|
- <!-- <el-button slot="reference">click 激活</el-button> -->
|
|
|
+ <!-- <el-button @click="exchange" style="float:right">交换</el-button> -->
|
|
|
+ <i class="el-icon-arrow-down el-icon--right" @click="getVal(item)" slot="reference"></i>
|
|
|
</el-popover>
|
|
|
- <!-- <el-dropdown size="small">
|
|
|
- <div class="el-dropdown-link">
|
|
|
- <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </div>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item v-for="item in tableHeader" @click.native="handleClick(item)">
|
|
|
- <i :class="item.icon"></i>
|
|
|
- <span>{{ item.patentNo }}</span>
|
|
|
- </el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown> -->
|
|
|
</template>
|
|
|
<template slot-scope="scope" >
|
|
|
<!-- <div v-if="scope.row[item.patentNo]" style="width:calc(100% + 20px);margin-left:-10px">
|
|
@@ -123,7 +108,7 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
- <div style="background:white;padding:20px;background:#99CCFF;margin-top:20px" v-else>
|
|
|
+ <div style="background:white;padding:20px;background:#99CCFF;margin-top:20px" v-else-if="!show && show1">
|
|
|
<p style="margin-top:0">选择对比方案</p>
|
|
|
<el-divider></el-divider>
|
|
|
<el-select v-model="ruleForm.type" placeholder="请选择" style="padding:20px 0 0 0">
|
|
@@ -175,6 +160,24 @@
|
|
|
<el-table-column v-for="(item, index) in tableHeader" :key="index" show-overflow-tooltip align="center" :min-width="item.length > 7 ? '190' : '110'">
|
|
|
<template slot="header">
|
|
|
<span><el-link type="primary" @click="editContrast(item.patentNo)">{{item.patentNo}}</el-link></span><el-tag style="font-size:12px;border-radius:50%;" v-if="item.remark">{{item.remark}}</el-tag>
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ width="200"
|
|
|
+ trigger="click">
|
|
|
+ <!-- <p style="display:flex;align-items: center"><span>移动到第</span> <el-input-number width="100px" size="small" v-model="num" @change="handleChange" :controls="false" :min="1" :max="tableHeader.length" label="输入需要交换的位置"></el-input-number><span>位</span></p> -->
|
|
|
+ <el-tree
|
|
|
+ ref="tree"
|
|
|
+ :data="tableHeader"
|
|
|
+ :props="{label:'patentNo'}"
|
|
|
+ @node-drop="handleDrop"
|
|
|
+ :allow-drop="allowDrop"
|
|
|
+ draggable
|
|
|
+ @check-change="handleCheckChange">
|
|
|
+ <span class="custom-tree-node" slot-scope="{ node, data }"><el-radio v-model="val" @input="changeRadio(item,data)" :label="node.label">D{{tableHeader.findIndex(item=>item.patentNo == data.patentNo)+1}}({{data.patentNo}})</el-radio></span>
|
|
|
+ </el-tree>
|
|
|
+ <!-- <el-button @click="exchange" style="float:right">交换</el-button> -->
|
|
|
+ <i class="el-icon-arrow-down el-icon--right" @click="getVal(item)" slot="reference"></i>
|
|
|
+ </el-popover>
|
|
|
</template>
|
|
|
<template slot-scope="scope">
|
|
|
<el-checkbox-group v-model="checkRecord">
|
|
@@ -230,6 +233,7 @@ export default {
|
|
|
props:['reportId2','signPatentNo'],
|
|
|
data() {
|
|
|
return {
|
|
|
+ val:null,
|
|
|
num:null,
|
|
|
checked:[],
|
|
|
showFile:false,
|
|
@@ -300,6 +304,7 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
show: true,
|
|
|
+ show1: true,
|
|
|
tableData: [],
|
|
|
tableHeader: [],
|
|
|
checkList: [],
|
|
@@ -353,18 +358,66 @@ export default {
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
- handleDrop(before,after,inner, ev) {
|
|
|
- this.show=false
|
|
|
- this.$nextTick(()=>{
|
|
|
- this.show = true
|
|
|
+ getVal(val){
|
|
|
+ this.val = val.patentNo
|
|
|
+ },
|
|
|
+ changeRadio(val1,node){
|
|
|
+ var index1 = this.tableHeader.findIndex(item=>{//获取当前专利位置
|
|
|
+ return item.patentNo == val1.patentNo
|
|
|
+ })
|
|
|
+ var index2 = this.tableHeader.findIndex(item=>{//获取选中专利位置
|
|
|
+ return item.patentNo == node.patentNo
|
|
|
})
|
|
|
+ console.log(val1,node,index1,index2)
|
|
|
+ this.tableHeader[index1] = this.tableHeader.splice(index2,1,this.tableHeader[index1])[0]
|
|
|
+ console.log(this.tableHeader)
|
|
|
+ this.addOrder()
|
|
|
+
|
|
|
+ },
|
|
|
+ allowDrop(draggingNode, dropNode, type){
|
|
|
+ if(draggingNode.level == dropNode.level){
|
|
|
+ return type === 'next' || type === 'prev'
|
|
|
+ }else{
|
|
|
+ return type === 'prev'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleDrop(before,after,inner, ev) {
|
|
|
+ this.addOrder()
|
|
|
+ // this.show=false
|
|
|
+ // this.$nextTick(()=>{
|
|
|
+ // this.show = true
|
|
|
+ // })
|
|
|
console.log(this.tableHeader)
|
|
|
console.log('tree drop: ', before,after,inner,ev);
|
|
|
},
|
|
|
+ addOrder(){//给专利添加顺序
|
|
|
+ var a = {
|
|
|
+ report:this.reportId,
|
|
|
+ orders:[]
|
|
|
+ }
|
|
|
+ this.tableHeader.forEach((item,index)=>{
|
|
|
+ a.orders.push({
|
|
|
+ patentNO:item.patentNo,
|
|
|
+ order:index+1
|
|
|
+ })
|
|
|
+ })
|
|
|
+ this.$api.addOrder(a).then(response=>{
|
|
|
+ console.log(response)
|
|
|
+ if(response.code == 200){
|
|
|
+ this.show1 = false
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.checked = []
|
|
|
+ this.show1 = true
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
handleCheckChange(val1,val2,val3){
|
|
|
+ // var getCheck = this.$refs.tree.getCheckedNodes()
|
|
|
+ // console.log(getCheck)
|
|
|
console.log(val1,val2,val3)
|
|
|
if(val2){
|
|
|
- if(this.checked.length>2){
|
|
|
+ if(this.checked.length>1){
|
|
|
this.$alert('只能对2条特征进行交换','提示',{
|
|
|
confirmButtonText: '确定',
|
|
|
type:'warning',
|
|
@@ -386,6 +439,15 @@ export default {
|
|
|
console.log(this.checked)
|
|
|
},
|
|
|
exchange(){
|
|
|
+ if(this.checked.length>2){
|
|
|
+ this.$alert('只能对2条特征进行交换','提示',{
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type:'warning',
|
|
|
+ callback: action => {
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return false
|
|
|
+ }
|
|
|
var a = this.checked[0]
|
|
|
var b = this.checked[1]
|
|
|
var index1 = this.tableHeader.findIndex(item=>{
|
|
@@ -523,6 +585,12 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
+ if(response.data.tableHeader.length>0 && response.data.tableHeader[0].SysOrder){
|
|
|
+ response.data.tableHeader.sort((a, b) => {
|
|
|
+ return a.SysOrder - b.SysOrder
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
this.tableHeader = response.data.tableHeader
|
|
|
}
|
|
|
|