vue 页面使用两套el-form表单并且嵌套使用el-checkbox

由于项目中需要在页面内使用两套form表单,并且在表单前面加上复选框checkbox,用来替换另一个表单中的数据。

此时使用el-checkbox的change方法进行动态显示替换另一套form中的数据

新数据如下:

<el-form :model="formNew" size="mini">
        <el-form-item label="合同号(新)" :label-width="formLabelWidth">
          <el-checkbox
            v-model="checked.checke1"
            @change="handleChange('contractCode', $event)"
          >
            <el-input v-model="formNew.contractCode"></el-input>
          </el-checkbox>
        </el-form-item>
        <el-form-item label="项目编号(新)" :label-width="formLabelWidth">
          <el-checkbox
            v-model="checked.checke2"
            @change="handleChange('projectCode', $event)"
          >
            <el-input
              v-model="formNew.projectCode"
              autocomplete="off"
            ></el-input>
          </el-checkbox>
        </el-form-item>
        <el-form-item label="公司名称(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.accountName" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="项目名称(新)" :label-width="formLabelWidth">
          <el-input
            v-model="formNew.opportunityName"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="最终用户(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.lastUser" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="签订日期(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.signDate" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="订单状态(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.poStatus" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="合同类型(新)" :label-width="formLabelWidth">
          <el-input
            v-model="formNew.contractType"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="签约方业务类型(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.entityType" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="代理商签约状态(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.signStatus" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="签约类型(新)" :label-width="formLabelWidth">
          <el-input v-model="formNew.signType" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="产品类型(新)" :label-width="formLabelWidth">
          <el-input
            v-model="formNew.fscProductType"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          label="【调整】签订产品(新)"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="formNew.adjustProduct"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          label="【调整】售卖产品数量(新)"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="formNew.adjustProductCount"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>

 旧数据:

<el-form :model="formOld" size="mini">
        <el-form-item label="合同号" :label-width="formLabelWidth">
          <el-input v-model="formOld.contractCode"></el-input>
        </el-form-item>
        <el-form-item label="项目编号" :label-width="formLabelWidth">
          <el-input v-model="formOld.projectCode" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="公司名称" :label-width="formLabelWidth">
          <el-input v-model="formOld.accountName" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="项目名称" :label-width="formLabelWidth">
          <el-input
            v-model="formOld.opportunityName"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="最终用户" :label-width="formLabelWidth">
          <el-input v-model="formOld.lastUser" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="签订日期" :label-width="formLabelWidth">
          <el-input v-model="formOld.signDate" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="订单状态" :label-width="formLabelWidth">
          <el-input v-model="formOld.poStatus" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="合同类型" :label-width="formLabelWidth">
          <el-input
            v-model="formOld.contractType"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="签约方业务类型" :label-width="formLabelWidth">
          <el-input v-model="formOld.entityType" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="代理商签约状态" :label-width="formLabelWidth">
          <el-input v-model="formOld.signStatus" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="签约类型" :label-width="formLabelWidth">
          <el-input v-model="formOld.signType" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="产品类型" :label-width="formLabelWidth">
          <el-input
            v-model="formOld.fscProductType"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="【调整】签订产品" :label-width="formLabelWidth">
          <el-input
            v-model="formOld.adjustProduct"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item
          label="【调整】售卖产品数量"
          :label-width="formLabelWidth"
        >
          <el-input
            v-model="formOld.adjustProductCount"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
export default {
  name: 'Popup',
  data() {
    return {
      centerDialogVisible: false,
      formLabelWidth: '180px',
      checked: {
        // checkox选中的属性
        checke1: '',
        checke2: '',
        checke3: '',
        checke4: '',
        checke5: '',
        checke6: '',
        checke7: '',
        checke8: '',
        checke9: '',
        checke10: '',
        checke11: '',
        checke12: '',
        checke13: ''
      },
      formTmp: {
        contractCode: '666',
        projectCode: '',
        accountName: '',
        opportunityName: '',
        lastUser: '',
        signDate: '',
        poStatus: '',
        contractType: '',
        entityType: '',
        signStatus: '',
        signType: '',
        fscProductType: '',
        adjustProduct: '',
        adjustProductCount: ''
      },
      formOld: {
        contractCode: '666',
        projectCode: '',
        accountName: '',
        opportunityName: '',
        lastUser: '',
        signDate: '',
        poStatus: '',
        contractType: '',
        entityType: '',
        signStatus: '',
        signType: '',
        fscProductType: '',
        adjustProduct: '',
        adjustProductCount: ''
      },
      formNew: {
        contractCode: '55',
        projectCode: '888',
        accountName: '',
        opportunityName: '',
        lastUser: '',
        signDate: '',
        poStatus: '',
        contractType: '',
        entityType: '',
        signStatus: '',
        signType: '',
        fscProductType: '',
        adjustProduct: '',
        adjustProductCount: ''
      }
    }
  },

最最关键的是

methods: {
    handleChange(field, val) {
      if (val) {
        this.formOld[field] = this.formNew[field]
      } else {
        this.formOld[field] = this.formTmp[field]
      }
    }
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值