spring boot+iview 前后端分离架构之组织用户的组织的增删改的实现(十九)

65 篇文章 5 订阅
42 篇文章 2 订阅

spring boot 与 iview 前后端分离架构之组织用户的组织的增删改的实现(十九)

公众号

在这里插入图片描述
大家可以直接微信扫描上面的二维码关注我的公众号,然后回复【bg19】 里面就会给到源代码的下载地址同时会附上相应的视频教程,并定期在我的公众号上给大家推送相应的技术文章,欢迎大家关注我的公众号。

组织架构的维护

本章将为大家讲解该如何实现对组织的增删改的实现,

新增组织

打开十八章的工程,在user目录底下创建一个addOrg.vue,该文件实现了新增组织的功能,代码如下:

<template>
  <Modal v-model="show" title="新增组织" @on-ok="ok" :loading="loading" :mask-closable="false">
    <Form ref="orgForm" :model="orgForm" :rules="orgFormRule">
      <FormItem label="父组织架构名称')">
        <Input type="text" v-model="orgForm.parentOrgName" disabled/>
      </FormItem>
      <FormItem label="组织架构名称" prop="orgName">
        <Input type="text" :maxlength=50 v-model="orgForm.orgName" placeholder="请输入组织架构名称"/>
      </FormItem>
      <FormItem label="组织架构编码" prop="orgCode">
        <Input type="text" :maxlength=50 v-model="orgForm.orgCode" placeholder="请输入组织架构编码"/>
      </FormItem>
    </Form>
  </Modal>
</template>
<script>

  import {checkOrgNameAndCode, addOrg} from "../../../api/sys/org/org.api"

  export default {
    name: "addOrg",
    props: {
      value: {
        type: Boolean,
        default: false
      },
      parentOrgId: {
        type: Number
      },
      parentOrgName: {
        type: String
      }
    },
    data() {
      return {
        show: this.value,
        loading: true,
        orgForm: {
          orgName: '',
          orgCode: '',
          parentOrgId: 0,
          parentOrgName: '顶层组织架构'
        },
        orgFormRule: {
          orgName: [
            {required: true, message: '请输入组织架构名称', trigger: 'blur'},
            {type: 'string', max: 50, message: '请输入不超过50长度的组织架构名称', trigger: 'blur'},
            {
              validator: this.checkOrgName({
                response: 'exist'
              }), trigger: 'blur'
            }
          ],
          orgCode: [
            {required: true, message: '请输入组织架构编码', trigger: 'blur'},
            {type: 'string', max: 50, message: '请输入不超过50长度的组织架构名称', trigger: 'blur'},
            {
              validator: this.checkOrgCode({
                response: 'exist'
              }), trigger: 'blur'
            }
          ]
        }
      }
    },
    methods: {
      ok() {
        this.$refs['orgForm'].validate((valid) => {
          if (valid) {
            addOrg(this.orgForm).then(res => {
              if (res.code == 200) {
                this.$Message.success(res.msg);
                // 提交表单数据成功则关闭当前的modal框
                this.closeModal(false);
                // 同时调用父页面的刷新页面的方法
                this.$emit('reloadTree');
              } else {
                this.$Message.error(res.msg);
              }
            })
          } else {
            this.$Message.error('表单验证不通过');
          }
          setTimeout(() => {
            this.loading = false;
            this.$nextTick(() => {
              this.loading = true;
            });
          }, 1000);
        });
      },
      checkOrgCode() {
        let _this = this;
        return function (rule, value, callback) {
          let orgCode = value;
          checkOrgNameAndCode({orgCode: orgCode}).then(res => {
            if (res.obj.success == 'pass') {
              callback();
            } else {
              callback(new Error('组织编码已经存在'));
            }
          });
        };
      },
      checkOrgName() {
        let _this = this;
        return function (rule, value, callback) {
          let orgName = value;
          checkOrgNameAndCode({orgName: orgName}).then(res => {
            if (res.obj.success == 'pass') {
              callback();
            } else {
              callback(new Error('组织架构名称已经存在'));
            }
          });
        };
      },
      closeModal(val) {
        this.$emit('input', val);
      }
    },
    watch: {
      value(val) {
        this.show = val;
      },
      show(val) {
        //当重新显示增加数据的时候重置整个form表单
        if (val) {
          this.$refs['orgForm'].resetFields();
          this.orgForm.parentOrgId = this.parentOrgId;
          this.orgForm.parentOrgName = this.parentOrgName;
        } else {// 反之则关闭页面
          this.closeModal(val);
        }
      }
    }
  }
</script>

接着打开我们的orgList.vue,添加以下部分的修改:
在这里插入图片描述在这里插入图片描述
接着我们运行我们的程序,访问用户组织架构页面,点击页面上的增加按钮,大家会看到如下的页面则我们的新增组织就完成了。
在这里插入图片描述

修改组织

在我们的user目录新增一个updateOrg.vue的文件,改文件主要实现对组织的修改,代码如下:

<template>
  <Modal v-model="show" title="修改组织" @on-ok="ok" :loading="loading" :mask-closable="false">
    <Form ref="orgForm" :model="orgForm" :rules="orgFormRule">
      <FormItem label="父组织架构名称">
        <Input type="text" v-model="orgForm.parentOrgName" disabled/>
      </FormItem>
      <FormItem label="组织架构名称" prop="orgName">
        <Input type="text" :maxlength=50 v-model="orgForm.orgName" placeholder="请输入组织架构名称"/>
      </FormItem>
      <FormItem label="组织架构编码" prop="orgCode">
        <Input type="text" :maxlength=50 v-model="orgForm.orgCode" placeholder="请输入组织架构编码"/>
      </FormItem>
    </Form>
  </Modal>
</template>
<script>

  import {checkOrgNameAndCode, getOrgByOrgId, updateOrg} from "../../../api/sys/org/org.api"

  export default {
    name: "updateOrg",
    props: {
      value: {
        type: Boolean,
        default: false
      },
      orgId: {
        type: Number
      }
    },
    data() {
      return {
        show: this.value,
        loading: true,
        orgForm: {
          orgId:0,
          orgName: '',
          orgCode: '',
          parentOrgId: 0,
          parentOrgName: '顶层组织架构'
        },
        orgFormRule: {
          orgName: [
            {required: true, message: '请输入组织架构名称', trigger: 'blur'},
            {type: 'string', max: 50, message: '请输入不超过50长度的组织架构名称', trigger: 'blur'},
            {
              validator: this.checkOrgName({
                response: 'exist'
              }), trigger: 'blur'
            }
          ],
          orgCode: [
            {required: true, message: '请输入组织架构编码', trigger: 'blur'},
            {type: 'string', max: 50, message: '请输入不超过50长度的组织架构名称', trigger: 'blur'},
            {
              validator: this.checkOrgCode({
                response: 'exist'
              }), trigger: 'blur'
            }
          ]
        }
      }
    },
    methods: {
      ok() {
        this.$refs['orgForm'].validate((valid) => {
          if (valid) {
            updateOrg(this.orgForm).then(res => {
              if (res.code == 200) {
                this.$Message.success(res.msg);
                // 提交表单数据成功则关闭当前的modal框
                this.closeModal(false);
                // 同时调用父页面的刷新页面的方法
                this.$emit('reloadTree');
              } else {
                this.$Message.error(res.msg);
              }
            })
          } else {
            this.$Message.error('表单验证不通过');
          }
          setTimeout(() => {
            this.loading = false;
            this.$nextTick(() => {
              this.loading = true;
            });
          }, 1000);
        });
      },
      checkOrgCode() {
        let _this = this;
        return function (rule, value, callback) {
          let orgId = _this.orgId;
          let orgCode = value;
          checkOrgNameAndCode({orgCode: orgCode, orgId: orgId}).then(res => {
            if (res.obj.success == 'pass') {
              callback();
            } else {
              callback(new Error('组织编码已经存在'));
            }
          });
        };
      },
      checkOrgName() {
        let _this = this;
        return function (rule, value, callback) {
          let orgId = _this.orgId
          let orgName = value;
          checkOrgNameAndCode({orgName: orgName, orgId: orgId}).then(res => {
            if (res.obj.success == 'pass') {
              callback();
            } else {
              callback(new Error('组织架构名称已经存在'));
            }
          });
        };
      },
      closeModal(val) {
        this.$emit('input', val);
      }
    },
    watch: {
      value(val) {
        this.show = val;
      },
      show(val) {
        //当重新显示增加数据的时候重置整个form表单
        if (val) {
          this.$refs['orgForm'].resetFields();
          getOrgByOrgId({orgId: this.orgId}).then(res => {
            if (res.code == 200) {
              this.orgForm = res.obj;
            } else {
              this.$Message.error(res.msg);
            }
          });
        } else {// 反之则关闭页面
          this.closeModal(val);
        }
      }
    }
  }

</script>

接着打开我们的orgList.vue,添加以下部分的修改:
在这里插入图片描述
在这里插入图片描述
接着再次运行我们的程序,点击我们用户组织页面的修改我们会看到如下的页面则说明我们的修改组织已经完成了。
在这里插入图片描述

删除组织

删除组织的代码实际上我们在第十八的章的时候就已经实现了,这边直接告诉大家截图的位置:
在这里插入图片描述
我们可以直接点击当前页面的删除按钮实现组织的删除。
在这里插入图片描述
到此处我们就完成了本章的代码了。
上一篇文章地址:spring boot+iview 前后端分离架构之组织用户的布局的实现(十八)
下一篇文章地址:spring boot+iview 前后端分离架构之组织用户的用户的增删改的实现(二十)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨_鸟_不_会_飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值