当前位置:   article > 正文

关于若以框架本地导入新增自己的模块生成主子表运行出现无法同时新增和修改数据的问题的解答_若依主子表添加失败

若依主子表添加失败

问题描述

导入若依本地新增模块,使用主子表生成新模块,出现主表或子表无法完成在一个页面上新增和修改数据的情况,只能成功完成其中一个功能。


原因分析:

/** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateResidentinfo(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addResidentinfo(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

可以看到,这里使用的判断依据是id是否新的变化,但是这导致了一个问题,我的判断依据如果是id,那么如果我是修改,他不会出问题,因为它可以使用update,可是如果我是新增,那么它这时候就要用到insert才对(这个可以从系统监控的数据监控下看到),可是他还是会使用update,这边会导致update报错,因为没有这个数据项


在这里插入图片描述
在这里可以看到自己的每一步操作用到的sql语句

解决方案:

如下图:

//在data中增加个字段用来判断当前状态
data() {
    return {
      isAdd: true,
 
//在新增和修改时,改变状态值
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加居民信息";
      this.isAdd = true;//修改状态
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      const idcardInfo = row.idcardInfo || this.ids
      getResidentinfo(idcardInfo).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改居民信息";
        this.isAdd = false;//修改状态
      });
    },
 
//点击确认按钮时就不判断id了,判断isAdd状态
 /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.isAdd == false) {//判断isAdd是否位false
            updateResidentinfo(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addResidentinfo(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/505538
推荐阅读
相关标签
  

闽ICP备14008679号