ygdj.vue 4.53 KB
<!--
 * @Description  :预告登记
 * @Autor        : miaofang
 * @LastEditTime : 2023-06-02 14:44:18
-->
<template>
  <div class="djxxTable">
    <div class="tableBox">
      <div class="title">
        {{ title }}
        <div class="checkbox">
          <el-checkbox-group v-model="checkList" @change="checkChange">
            <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox>
          </el-checkbox-group>
        </div>
      </div>
      <div class="xxTableBox rollTable">
        <table class="xxTable">
          <tr v-for="(item, colindex) in columns" :key="colindex">
            <td>
              {{ item.label }}
            </td>
            <td v-for="(row, index) in tableData" :key="index" :class="[
              row.qszt == '2' ? 'lishi' : '',
              row.qszt == '0' ? 'linshi' : '',
              item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
            ]">
             <div class="setbut" v-if="item.prop == 'cz'">
                   <el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button>
                   <el-button type="text" icon="el-icon-edit-outline" @click="AddDialog(row)">新增</el-button>
                   <el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button>
              </div>
              <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
                正在办理
              </div>
              <span v-if="item.prop == 'qszt'">
                {{ getQsztName(row[item.prop]) }}
              </span>

              <span v-else> {{ row[item.prop] }}</span>
            </td>
            <td v-for="count in emptycolNum" :key="~count"></td>
          </tr>
        </table>
      </div>
    </div>
  </div>
</template>

<script>
import { getYgdjList } from "@/api/registerBook.js";
import { datas } from "./qlxxFormData.js";
export default {
  data () {
    return {
      title: "预告登记信息",
      qsztList: datas.columns().qsztList,
      checkList: datas.columns().checkList,
      //传递参数
      propsParam: this.$attrs,
      //列表数据
      tableData: [],
      //空列值个数
      emptycolNum: datas.columns().emptycolNum,
      //列名称对象
      columns: datas.columns().YGDJ,
    };
  },
  created () {
    this.loadData();
  },
  methods: {
    loadData () {
      getYgdjList({
        bdcdyid: this.propsParam.bdcdyid,
        qllx: this.propsParam.qllx,
        qszt: this.checkList,
      }).then((res) => {
        if (res.code === 200) {
          this.tableData = res.result;
          if (this.tableData.length < datas.columns().emptycolNum) {
            this.emptycolNum =
              datas.columns().emptycolNum - this.tableData.length;
          } else {
            this.emptycolNum = 0;
          }
        }
      });
    },
    checkChange () {
      if (this.checkList.length === 0) {
        this.tableData = [];
        this.emptycolNum = datas.columns().emptycolNum;
      } else {
        this.loadData();
      }
    },
    getQsztName (code) {
      let name = "";
      for (let item of this.qsztList) {
        if (item.value == code) {
          name = item.label;
          break;
        }
      }
      return name;
    },
      AddDialog(row){
        this.$popupDialog("新增", "djbBook/components/djbeditDialog", {
        data: ''
      })
      },
        editDialog(row){
        this.$popupDialog("编辑", "djbBook/components/djbeditDialog", {
        datalist:this.columns,
        data: row,

      })
      },
      // 删除
      deleteDialog(row){
            let that = this
        this.$confirm('此操作将永久删除, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(async () => {

          // let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
          // deleteClmx(bsmClmx).then(res => {
          //   if (res.code == 200) {
          //     that.$emit('updateList', res.result)
          //     that.$message({
          //       message: '删除成功!',
          //       type: 'success'
          //     })
          //   }
          // })
           that.$message({
                message: '删除成功!',
                type: 'success'
              })
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          })
        })

      }
  },
};
</script>

<style lang="scss" scoped>
@import "./qlxxCommon.scss";
</style>