ygdj.vue 2.08 KB
<!--
 * @Description:
 * @Autor: miaofang
 * @LastEditTime: 2023-09-18 13:40:33
-->
<template>
  <div class="djxxTable">
    <djbDetail :title="title" :shows="shows" :propsParam="propsParam"
      :columns="columns" :tableData="tableData" />
  </div>
</template>

<script>
  import { datas } from "./qlxxFormData.js";
  import { getYgdjList } from "@/api/djbDetail.js";
  import { getSjlx, getDictLeabel } from "@/utils/dictionary.js";
  import djbDetail from "./components/djbDetail.vue"
  export default {
    components: {
      djbDetail,
    },
    data () {
      return {
        shows: false,
        title: "预告登记信息",
        //传递参数
        propsParam: this.$attrs,
        //列表数据
        tableData: [],
        //列名称对象
        columns: datas.columns().YGDJ,
        render: false
      };
    },
    created () {
      this.loadData();
    },
    methods: {
      loadData () {
        // 判断是否在登记簿补录调的子页面
        if (this.$parent.addRepairRecord) {
          this.columns.unshift({
            prop: "cz",
            label: "操作",
          });
        }
        getYgdjList({
          bdcdyid: this.propsParam.bdcdyid,
          qllx: this.propsParam.qllx,
          qszt: this.checkList,
        }).then((res) => {
          if (res.code === 200) {
            this.tableData = res.result;
            this.shows = this.tableData.length > 0
            this.tableData.forEach((item) => {
              item.sjlx = getSjlx(item.sjlx);
              item.dybdclx = getDictLeabel(item.dybdclx, "A27");
            });
            if (this.tableData.length < datas.columns().emptycolNum) {
              this.emptycolNum =
                datas.columns().emptycolNum - this.tableData.length;
            } else {
              this.emptycolNum = 0;
            }
          }
        })
      }
    }
  }
</script>

<style lang="scss" scoped>
  @import "./qlxxCommon.scss";
  .title {
    position: relative;
    .print {
      // background-color: #0079fe;
      z-index: 10;
      position: absolute;
      left: 11px;
      top: 5px;
    }
  }
</style>