<template> <div class="receivingInfo itemForm"> <el-form :model="form" :rules="rules" ref="formList" label-width="112px" :key="key"> <div v-for="(item, index) in form.receivingInfo" :key="index" class="receivingInfo-item"> <p class="receivingInfo-item-name">收件信息{{ index + 1 }}</p> <div class="receivingInfo-item-list"> <el-row class="receivingInfo-item-input"> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.YSDM'" :rules="rules.YSDM"> <span slot="label"> 要素代码: <br /> <p class="label-detail">(YSDM)</p> </span> <el-input :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].YSDM"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.YWH'" :rules="rules.YWH"> <span slot="label"> 业务号: <br /> <p class="label-detail">(YWH)</p> </span> <el-input :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].YWH"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.SJSJ'" :rules="rules.SJSJ"> <span slot="label"> 收件时间: <br /> <p class="label-detail">(SJSJ)</p> </span> <el-date-picker :disabled="$store.state.business.Edit" type="datetime" clearable v-model="form.receivingInfo[index].SJSJ" value-format="yyyy-MM-dd HH:mm:ss"> </el-date-picker> </el-form-item> </el-col> </el-row> <el-row class="receivingInfo-item-input"> <el-col :span="8"> <el-form-item class="borderTopNone" :prop="'receivingInfo.' + index + '.SJLX'" :rules="rules.SJLX"> <span slot="label"> 收件类型: <br /> <p class="label-detail">(SJLX)</p> </span> <el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SJLX"> <el-option v-for="item in dicData['A40']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item class="borderTopNone" :prop="'receivingInfo.' + index + '.SJMC'" :rules="rules.SJMC"> <span slot="label"> 收件名称: <br /> <p class="label-detail">(SJMC)</p> </span> <el-input :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SJMC"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item class="borderTopNone" :prop="'receivingInfo.' + index + '.SJSL'" :rules="{ ...rules.SJSL, ...typeNum }"> <span slot="label"> 收件数量: <br /> <p class="label-detail">(SJSL)</p> </span> <el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-only-number="{ max: 9999, min: 0, precision: 0 }" type="number" v-model.number="form.receivingInfo[index].SJSL"></el-input-number> </el-form-item> </el-col> </el-row> <el-row class="receivingInfo-item-input"> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.SFSJSY'" :rules="rules.SFSJSY"> <span slot="label"> 是否收缴收验: <br /> <p class="label-detail">(SFSJSY)</p> </span> <el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SFSJSY"> <el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.SFEWSJ'" :rules="rules.SFEWSJ"> <span slot="label"> 是否额外收件: <br /> <p class="label-detail">(SFEWSJ)</p> </span> <el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SFEWSJ"> <el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.SFBCSJ'" :rules="rules.SFBCSJ"> <span slot="label"> 是否补充收件: <br /> <p class="label-detail">(SFBCSJ)</p> </span> <el-select :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].SFBCSJ"> <el-option v-for="item in dicData['A6']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> </el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row class="receivingInfo-item-input"> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.YS'" :rules="{ ...rules.YS, ...typeNum }"> <span slot="label"> 页数: <br /> <p class="label-detail">(YS)</p> </span> <el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-only-number="{ max: 99999, min: 1, precision: 0 }" type="number" v-model.number="form.receivingInfo[index].YS"></el-input-number> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.BZ'" :rules="rules.BZ"> <span slot="label"> 备注: <br /> <p class="label-detail">(BZ)</p> </span> <el-input :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].BZ" placeholder="备注"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :prop="'receivingInfo.' + index + '.QXDM'" :rules="rules.QXDM"> <span slot="label"> 区县代码: <br /> <p class="label-detail">(QXDM)</p> </span> <el-input :disabled="$store.state.business.Edit" v-model="form.receivingInfo[index].QXDM"></el-input> </el-form-item> </el-col> </el-row> </div> </div> </el-form> <message-tips ref="msg" /> </div> </template> <script> import djfDjSj from "@/api/djfDjSj"; import ruleMixin from "@/mixins/ruleMixin.js"; // 登记收件信息 export default { mixins: [ruleMixin], props: { bsmSjsb: { type: String, default: "", }, bsmYwsjb: { type: String, default: "", }, }, data() { return { form: { receivingInfo: [ { YSDM: "", YWH: "", SJSJ: "", SJLX: "", SJMC: "", SJSL: "", SFSJSY: "", SFEWSJ: "", SFBCSJ: "", YS: "", BZ: "", QXDM: "", }, ], }, }; }, methods: { async featchData() { try { let { result: res } = await djfDjSj.getDjfDjSjById(this.bsmSjsb); this.form.receivingInfo = res; //this.featchRule() } catch (error) { this.$refs.msg.messageShow(); } }, handleUpdateForm() { return new Promise(async (resolve) => { try { let res = await djfDjSj.updateDjfDjSj(this.form.receivingInfo); // this.$refs['formList'].resetFields(); resolve(res.code); } catch (error) { this.$refs.msg.messageShow(); } }); }, }, }; </script> <style scoped lang="scss"> @import "./css/itemForm.scss"; .receivingInfo-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>