Blame view

src/views/registerBook/comparison.vue 4.42 KB
xiaomiao committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!--
 * @Description:
 * @Autor: renchao
 * @LastEditTime: 2023-07-19 09:52:37
-->
<template>
  <div class="djxxTable">
    <div class="tableBox">
      <div class="title">
        {{ title }}
        <div class="checkbox">
          <el-radio-group v-model="radio" :change="checkChange()">
            <el-radio :label="1">所有数据</el-radio>
            <el-radio :label="2">只展示变化数据</el-radio>
          </el-radio-group>
        </div>
      </div>
      <div class="xxTableBox rollTable">
xiaomiao committed
19
        <!-- 固定前三个 -->
xiaomiao committed
20
        <table class="xxTable">
21
          <tr v-for="(item, colindex) in columnsall" :key="colindex" :class="item.bt">
xiaomiao committed
22 23 24
            <td>
              {{ item.label }}
            </td>
25
            <td v-for="(row, index) in tableData" :key="index">
26
             <div class="setbut" v-if="item.prop == 'bhqk'">
27
                 {{ index?"变化后": "变化前"}}
28
              </div>
xiaomiao committed
29 30 31
              <div
                v-if="item.prop == 'cz' && row.sjlx != '系统数据'"
              ></div>
32
               <span v-if="item.prop == 'qszt'" :class="item.co">
33 34
                {{ getQsztName(row[item.prop]) }}
              </span>
35
              <span v-else :class="item.co"> {{ row[item.prop] }}</span>
xiaomiao committed
36
            </td>
xiaomiao committed
37 38 39 40 41 42 43 44 45
          </tr>
        </table>
      </div>
    </div>
  </div>
</template>

<script>
import { datas } from "./qlxxFormData.js";
xiaomiao committed
46 47
import { getSjlx } from "@/utils/dictionary.js";
import { getDjbQlxxDiff } from "@/api/djbDetail.js";
xiaomiao committed
48 49 50 51 52 53 54 55 56 57 58
export default {
  props: {
    formData: {
      type: Object,
      default: {},
    },
  },
  data() {
    return {
      radio: 1,
      title: "变化情况对比",
59
      qsztList: datas.columns().qsztList,
xiaomiao committed
60 61 62 63 64
      //列表数据
      tableData: [],
      //空列值个数
      emptycolNum: 1,
      //列名称对象
xiaomiao committed
65
      columns: [],
66 67
      columnsall:[],
       columnsum:[]
xiaomiao committed
68 69 70
    };
  },
  created() {
xiaomiao committed
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
    switch (this.formData.dqqllx) {
      case "JSYDSYQ":
        this.columns = datas.columns().JSYDSYQ;
        break;
      case "FDCQ2":
        this.columns = datas.columns().FDCQ2;
        break;
      case "NYDSYQ":
        this.columns = datas.columns().NYDSYQ;
        break;
      case "DYAQ":
        this.columns = datas.columns().DYAQ;
        break;
      case "DYIQ":
        this.columns = datas.columns().DYIQ;
        break;
      case "YGDJ":
        this.columns = datas.columns().YGDJ;
        break;
      case "CFDJ":
        this.columns = datas.columns().CFDJ;
        break;
      case "YYDJ":
        this.columns = datas.columns().YYDJ;
        break;
    }
    this.getdata();
xiaomiao committed
98 99
  },
  methods: {
100 101 102 103 104
    getArrDifference: function(arr1, arr2){
  return arr1.concat(arr2).filter(function(value, i, arr){
    return arr.indexOf(value) === arr.lastIndexOf(value);
  })
},
xiaomiao committed
105 106 107 108
    /**
     * @description: checkChange
     * @author: renchao
     */
xiaomiao committed
109 110 111
    getdata() {
      getDjbQlxxDiff(this.formData.bsmQlxx).then((res) => {
        if (res.code === 200) {
112
        this.tableData.push(res.result.ssQlxx)
113 114
        this.tableData.push(res.result.currentQlxx)

xiaomiao committed
115 116 117
          this.tableData.map((item) => {
            item.sjlx = getSjlx(item.sjlx);
          });
118 119 120
       for (let key in  this.tableData[0]) {
         this.columnsum=this.columns.filter((item,index) => {
             if(this.tableData[1][key]!==this.tableData[0][key]&&this.columns[index].prop==key){
121 122
               this.columns[index].bt="bgc"
                this.columns[index].co="red"
123
             }
124
           return this.columns[index].bt=="bgc"
125 126 127 128
           })
       }
          this.columns.unshift({
            prop: "bhqk",
129
            label: ""
130 131 132
          })
          this.columnsum.unshift({
            prop: "bhqk",
133
            label: ""
134 135 136 137 138
          })
         this.columnsall= this.columns



xiaomiao committed
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
        }
      });
    }
    /**
     * @description: getQsztName
     * @param {*} code
     * @author: renchao
     */,
    getQsztName(code) {
      let name = "";
      for (let item of this.qsztList) {
        if (item.value == code) {
          name = item.label;
          break;
        }
      }
      return name;
    },

xiaomiao committed
158
    checkChange() {
159 160 161 162 163 164 165
      if(this.radio==2){
        this.columnsall=this.columnsum

      }else{
         this.columnsall=this.columns

      }
xiaomiao committed
166 167 168 169 170 171 172
    },
  },
};
</script>

<style lang="scss" scoped>
@import "./qlxxCommon.scss";
173 174 175 176 177 178
.bgc{

   td{
  background-color: rgb(182, 203, 207) !important;

    }
179
  }
180 181
  .red{
    color: red;
182 183
  }
  .setbut{
184 185
    font-size: 18px;
    font-weight: 700;
186
  }
xiaomiao committed
187
</style>