ソースを参照

Merge branch 'dev' of http://47.106.221.167:8088/zhuliu/RMS-FrontEnd into dev

zhuhao 2 年 前
コミット
a954128d6b
1 ファイル変更89 行追加1 行削除
  1. 89 1
      RMS-FrontEnd/src/views/report/Invalid/InvalidPage/Result.vue

+ 89 - 1
RMS-FrontEnd/src/views/report/Invalid/InvalidPage/Result.vue

@@ -71,7 +71,43 @@
      
       <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></span><el-tag style="font-size:12px;border-radius:50%" v-if="item.remark">{{item.remark}}</el-tag>
+          <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">
+              <el-input-number v-model="num" @change="handleChange" :controls="false" :min="1" :max="tableHeader.length" label="输入需要交换的位置"></el-input-number>
+              <el-tree
+                :data="tableHeader"
+                :props="{label:'patentNo'}"
+                show-checkbox
+                @node-drop="handleDrop"
+                draggable
+                @check-change="handleCheckChange">
+              </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-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">
@@ -183,6 +219,7 @@
 
   
 <script>
+import { CodeNode } from 'source-list-map'
 import { editContrast } from '../../components/mixins'
 import {explain} from '../../components/mixins'
 export default {
@@ -193,6 +230,8 @@ export default {
   props:['reportId2','signPatentNo'],
   data() {
     return {
+      num:null,
+      checked:[],
       showFile:false,
       imageUrl:'',
       checkRecord:[],
@@ -314,6 +353,55 @@ export default {
     
   },
   methods: {
+    handleDrop(before,after,inner, ev) {
+      this.show=false
+      this.$nextTick(()=>{
+        this.show = true
+      })
+        console.log(this.tableHeader)
+        console.log('tree drop: ', before,after,inner,ev);
+      },
+    handleCheckChange(val1,val2,val3){
+      console.log(val1,val2,val3)
+      if(val2){
+        if(this.checked.length>2){
+          this.$alert('只能对2条特征进行交换','提示',{
+            confirmButtonText: '确定',
+            type:'warning',
+            callback: action => {
+            }
+          })
+          return false
+        }
+        this.checked.push(val1)
+      }else{
+        var a = this.checked.findIndex(item=>{
+          return item.id == val1.id
+        })
+        if(a!=-1){
+          this.checked.splice(a,1)
+        }
+      }
+      
+      console.log(this.checked)
+    },
+    exchange(){
+      var a = this.checked[0]
+      var b = this.checked[1]
+      var index1 = this.tableHeader.findIndex(item=>{
+        return item.id == a.id
+      })
+      var index2 = this.tableHeader.findIndex(item=>{
+        return item.id == b.id
+      })
+      this.tableHeader[index1] = this.tableHeader.splice(index2,1,this.tableHeader[index1])[0]
+      console.log(this.tableHeader)
+      this.show = false
+      this.$nextTick(()=>{
+        this.checked = []
+        this.show = true
+      })
+    },
     tableRowClassName({ row, rowIndex }){
       var a = false
       for(let key in row){