certificateInfo.vue 6.54 KB
<template>
  <div class="certificateInfo itemForm">
    <el-form :model="certificateInfo" :rules="rules" ref="formList" label-width="100px" :key="key">
      <div v-for="(item, index) in certificateInfo.ruleForm" :key="index" class="obligee-item">
        <p class="obligee-item-name">善证信息{{ index + 1 }}</p>
        <div class="obligee-item-list">
          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.YSDM'">
                <span slot="label">
                  要素代码: <br />
                  <p class="label-detail">(YSDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].YSDM"
                  placeholder="要素代码"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.YWH'">
                <span slot="label">
                  业务号: <br />
                  <p class="label-detail">(YWH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].YWH"
                  placeholder="业务号"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.SZMC'">
                <span slot="label">
                  缮证名称: <br />
                  <p class="label-detail">(SZMC)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].SZMC"
                  placeholder="缮证名称"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.SZZH'">
                <span slot="label">
                  缮证证号: <br />
                  <p class="label-detail">(SZZH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].SZZH"
                  placeholder="缮证证号"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.YSXLH'">
                <span slot="label">
                  印刷序列号: <br />
                  <p class="label-detail">(YSXLH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].YSXLH"
                  placeholder="印刷序列号"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.SZRY'">
                <span slot="label">
                  缮证人员: <br />
                  <p class="label-detail">(SZRY)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].SZRY"
                  placeholder="缮证人员"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.SZSJ'">
                <span slot="label">
                  缮证时间: <br />
                  <p class="label-detail">(SZSJ)</p>
                </span>
                <el-date-picker :disabled="$store.state.business.Edit" placeholder="缮证时间" type="datetime" clearable
                  v-model="certificateInfo.ruleForm[index].SZSJ" value-format="yyyy-MM-dd HH:mm:ss">
                </el-date-picker>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.BZ'">
                <span slot="label">
                  备注: <br />
                  <p class="label-detail">(BZ)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].BZ"
                  placeholder="备注"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'ruleForm.' + index + '.QXDM'">
                <span slot="label">
                  区县代码: <br />
                  <p class="label-detail">(QXDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].QXDM"
                  placeholder="区县代码"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </div>
      </div>
    </el-form>
    <message-tips ref="msg" />
  </div>
</template>
<script>
import business from '@/api/business'
import ruleMixin from '@/mixins/ruleMixin.js'
// 缮证信息
export default {
  mixins: [ruleMixin],
  props: {
    bsmSjsb: {
      type: String,
      default: ''
    },
    bsmYwsjb: {
      type: String,
      default: ''
    }
  },
  data () {
    return {
      certificateInfo: {
        ruleForm: [{
          YSDM: '',
          YWH: '',
          SZMC: '',
          SZZH: '',
          YSXLH: '',
          SZRY: '',
          SZSJ: '',
          BZ: '',
          QXDM: ''
        }]
      }
    }
  },
  methods: {
    async featchData () {
      try {
        let { result: res } = await business.getDjfDjSzById(this.bsmSjsb)
        this.certificateInfo.ruleForm = res
        console.log(this.certificateInfo.ruleForm)
        this.featchRule()
      } catch (error) {
        this.$refs.msg.messageShow()
      }
    },
    handleUpdateForm () {
      return new Promise(async (resolve) => {
        try {
          let res = await business.updateDjfDjSz(this.certificateInfo.ruleForm)
          // this.$refs['formList'].resetFields();
          resolve(res.code)
        } catch (error) {
          this.$refs.msg.messageShow()
        }
      })
    }
  }
}
</script>
<style scoped lang="scss">
@import "./css/itemForm.scss";

.obligee-item {
  display: flex;
  height: 100%;
  margin-bottom: 15px;
  margin-right: 5px;

  &-name {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    padding: 10px 20px;
    line-height: 28px;
    border: 1px solid #ccc;
    margin-right: 15px;
    border-radius: 3px;
  }

  &-list {
    width: 100%;
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
}
</style>