zslq.vue 3.33 KB
<template>
  <dialogBox title="证书领取" @submitForm="submitForm" saveButton="保存" width="60%" height='30%' @closeDialog="closeDialog"
    v-model="value">
    <div class="from-clues-content">
      <lb-table border :column="tableData.columns" :data="tableData.data" :pagination="false" :heightNum="600">
      </lb-table>
    </div>
    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" style="display:flex;">
      <el-form-item label="领证人" prop="lzrxm">
        <el-input v-model="ruleForm.lzrxm"></el-input>
      </el-form-item>
      <el-form-item label="证件类型" prop="lzrzjlb">
        <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择">
          <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="证件号" prop="lzrzjh">
        <el-input v-model="ruleForm.lzrzjh"></el-input>
      </el-form-item>
      <el-form-item label="领证人电话" prop="lzrdh">
        <el-input v-model="ruleForm.lzrdh"></el-input>
      </el-form-item>
    </el-form>
  </dialogBox>
</template>

<script>
import table from "@/utils/mixin/table";
import { getCertificateList, issueCertificate } from "@/api/fqsq.js";
import { datas } from "../javascript/fzxxdata";
import { mapGetters } from 'vuex'
export default {
  mixins: [table],
  components: {
    ...mapGetters(['dictData']),
  },
  props: {
    value: { type: Boolean, default: false },
  },
  data () {
    return {
      ruleForm: {
        bsmBdcqz: [],
        lzrxm: '',
        lzrzjlb: '',
        lzrzjh: '',
        lzrdh: ''
      },
      rules: {
        lzrxm: [
          { required: true, message: '请输入领证人', trigger: 'blur' }
        ],
        lzrzjlb: [
          { required: true, message: '请选择证件类型', trigger: 'change' }
        ],
        lzrzjh: [
          { required: true, message: '请输入证件号', trigger: 'blur' }
        ],
        lzrdh: [
          { required: true, message: '请输入电话号码', trigger: 'blur' }
        ],
      },
      tableData: {
        total: 0,
        columns: datas.columns(),
        data: [],
      },
    }
  },

  methods: {
    fetchData () { },
    //列表初始化
    tablelistFn () {
      var bsmSldy = this.$parent._data.unitData[0].bsmSldy
      getCertificateList({ "bsmSldy": bsmSldy }).then(res => {
        if (res.code === 200) {
          this.tableData.data = res.result
          if (res.result) {
            res.result.forEach((item, index) => {
              this.ruleForm.bsmBdcqz.push(item.bsmBdcqz)
            })
          }
        }
      })
    },
    submitForm () {
      this.$refs.ruleForm.validate(valid => {
        if (valid) {
          issueCertificate(this.ruleForm).then(res => {
            if (res.code == 200) {
              this.$message.success('保存成功')
              this.$emit("input", false);
              this.$refs.ruleForm.resetFields();
            } else {
              this.$message.error(res.message)
            }
          })
        } else {
          return false;
        }
      });
    },
    closeDialog () {
      this.$emit("input", false);
      this.$refs.ruleForm.resetFields();
    },
  }
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
</style>