zsff.vue 5.64 KB
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form :model="ruleForm" @submit.native.prevent label-width="80px">
        <el-row>
          <el-col :span="5">
            <el-form-item label="分发编号" label-width="70px">
              <el-input v-model="ruleForm.batchno" @clear="queryClick()" clearable placeholder="分发编号"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="5">
            <el-form-item label="开始日期">
              <el-date-picker v-model="ruleForm.ffkssj" :picker-options="pickerOptionsStart" type="date"
                placeholder="开始日期" value-format="yyyy-MM-dd" clearable>
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="结束时间">
              <el-date-picker v-model="ruleForm.ffjssj" :picker-options="pickerOptionsEnd" type="date" placeholder="结束日期"
                value-format="yyyy-MM-dd" clearable>
              </el-date-picker>
            </el-form-item>
          </el-col>

          <el-col :span="9" class="btnColRight">
            <el-form-item>
              <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button>
              <el-button type="primary" @click="openDialog()">新增</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 表格 -->
    <div class="from-clues-content">
      <lb-table :page-size="pageData.size" border :current-page.sync="pageData.current" :total="tableData.total"
        @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
        :data="tableData.data">
      </lb-table>
    </div>
  </div>
</template>
<script>
  import { mapGetters } from "vuex";
  import table from "@/utils/mixin/table";
  import { datas, sendThis } from "./zsffdata";
  import { getZsglffList, removeZsgl, confirmZsff } from "@/api/zsgl.js"
  export default {
    name: "zsff",
    mixins: [table],
    mounted () {
      sendThis(this);
    },
    computed: {
      ...mapGetters(['isRefresh', 'userInfo'])
    },
    activated () {
      this.queryClick()
    },
    watch: {
      isRefresh: {
        handler (newVal, oldVal) {
          if (newVal) this.queryClick()
        },
        immediate: true
      }
    },
    data () {
      return {
        value: '',
        ruleForm: {
          batchno: '',
          ffkssj: '',
          ffjssj: ''
        },
        tableData: {
          total: 0,
          columns: datas.columns(),
          data: [],
        },
        // 开始结束日期限制
        pickerOptionsStart: {
          disabledDate: (time) => {
            if (this.ruleForm.ffjssj) {
              return (
                time.getTime() >= new Date(this.ruleForm.ffjssj).getTime()
              );
            }
          }
        },
        // 结束日期限制
        pickerOptionsEnd: {
          disabledDate: (time) => {
            if (this.ruleForm.ffkssj) {
              return (
                time.getTime() <= new Date(this.ruleForm.ffkssj).getTime()
              );
            }
          }
        }
      }
    },
    methods: {
      /**
       * @description: 查看弹框
       * @param {*} bsmBatch
       * @author: renchao
       */
      openDialog (bsmBatch) {
        console.log("this.userInfo", this.userInfo);
        this.$popupDialog("证书分发", "zsgl/zsff/components/addDialog", {
          bsmBatch: bsmBatch,
          organizationId: this.userInfo.organizationId
        }, "50%")
      },
      /**
       * @description: queryClick
       * @author: renchao
       */
      queryClick () {
        getZsglffList({ ...this.ruleForm, ...this.pageData }).then(res => {
          if (res.code === 200) {
            let { total, records } = res.result
            this.tableData.total = total;
            this.tableData.data = records ? records : []
          }
        })
      },
      /**
       * @description: 确定证书分发
       * @param {*} item
       * @author: renchao
       */
      confrimVerify (item) {
        this.$confirm('是否确定分发', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          confirmZsff({ "bsmBatch": item.bsmBatch }).then(res => {
            if (res.code == 200) {
              this.$message.success("分发成功")
              this.queryClick();
            } else {
              this.$message.error(res.message)
            }
          })
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消审核'
          });
        });
      },
      /**
       * @description: 删除证书分发数据
       * @param {*} item
       * @author: renchao
       */
      delZsff (item) {
        this.$confirm('确定要删除吗, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          removeZsgl({ "bsmBatch": item.bsmBatch }).then(res => {
            if (res.code == 200) {
              this.$message.success("删除成功")
              this.handleDel()
              this.queryClick()
            } else {
              this.$message.error(res.message)
            }
          })
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          })
        })
      }
    }
  }
</script>
<style scoped lang="scss">
  @import "~@/styles/public.scss";

  /deep/.el-icon-date {
    display: none;
  }
</style>