zslq.vue 3.47 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 "./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: {
      //列表初始化
    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>