基于Jeecgboot前后端分离的ERP系统开发代码生成(四)

news2024/9/22 19:21:46

    今天主要做一个采购入库单的功能

    这个是主从表,所以也是通过online表单设计完成基本功能

   1、采购入库单

 按照上面生成代码,基本的录入编辑等功能就可以了,当然一些细节需要后续完善

 选择商品

2、审核通过

      对于库存的更新,需要进行审核通过后才去更新库存,所以需要一些统一的逻辑与接口,同时vue界面也是。

    2、1 后端代码

       先实现审核标志,后续实现库存更新,库存更新以后通过统一的类来实现

   

@Override
	@Transactional
	public Result approvePass(String id) {
		ErpInSheet erpInSheet = erpInSheetMapper.selectById(id);
		if (erpInSheet == null) {
			return Result.error("采购入库单不存在!");
		}
		if (erpInSheet.getStatus() == 2 ) {
			return Result.error("采购入库单已审核通过,不能再次审核!");
		}
		
		erpInSheet.setStatus(2); //审核通过标志 2代表通过
		SysUser loginUser = iErpThirdService.getLoginUser();
		LambdaUpdateWrapper<ErpInSheet> updateOrderWrapper = Wrappers.lambdaUpdate(ErpInSheet.class)
		        .set(ErpInSheet::getApproveBy, loginUser.getUsername())
		        .set(ErpInSheet::getApproveTime, LocalDateTime.now())
		        .eq(ErpInSheet::getId, erpInSheet.getId());
		if(erpInSheetMapper.update(erpInSheet, updateOrderWrapper) != 1) {
			return Result.error("采购入库单信息已过期,请刷新重试!");
		}
		return Result.OK("审核通过完成");
	}

    2、2 前端实现

         需要建立两个独立Mixns,分别是 NbcioListMixin.js 和NbcioTableModelMixin.js

        目前在NbcioListMixin.js先增加下面代码,打开审批按钮的时候,需要修改一些form值,以便变成审核按钮及相关逻辑

handleApprove:function(record){
      this.$refs.modalForm.approve=true;
      this.$refs.modalForm.edit(record);
      this.$refs.modalForm.title="审核详情";
      this.$refs.modalForm.okText="审核通过"
      this.$refs.modalForm.disableSubmit = true;
    },

      目前在 NbcioTableModelMixin.js 先增加下面的审核通过后的逻辑

/** 审核通过按钮点击事件 */
    handleApprove() {
      let url = this.url.approvePass, method = 'post'
      console.log("handleApprove this.model.id=",this.model.id)
      this.confirmLoading = true
      httpAction(url, this.model.id, method).then((res) => {
        if (res.success) {
          this.$message.success(res.message)
          this.$emit('ok')
          this.close()
        } else {
          this.$message.warning(res.message)
        }
      }).finally(() => {
        this.confirmLoading = false
      })

      在采购入库单里进行修改,原先的minxs都要修改成新的,

      

  原先的ErpInSheetModal.vue里的j-modal修改成如下:

<j-modal v-if = "approve"
    :title="title"
    :width="1200"
    :okText="okText"
    :visible="visible"
    :maskClosable="false"
    switchFullscreen
    @ok="handleApprove"
    @cancel="handleCancel">
    <erp-in-sheet-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
  </j-modal>
  <j-modal v-else
    :title="title"
    :width="1200"
    :visible="visible"
    :maskClosable="false"
    switchFullscreen
    @ok="handleOk"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    @cancel="handleCancel">
    <erp-in-sheet-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
  </j-modal>

同时增加两个变量和一个方法

data() {
      return {
        title:'',
        width:800,
        visible: false,
        disableSubmit: false,
        okText: "确定",
        approve: false,//审核
      }
    },
    methods:{
      handleApprove () {
        this.$refs.realForm.handleApprove();
      },

在ErpInSheetForm.vue文件里增加一个审批url

url: {
          add: "/purchase/erpInSheet/add",
          edit: "/purchase/erpInSheet/edit",
          approvePass:"/purchase/erpInSheet/approvePass",
          queryById: "/purchase/erpInSheet/queryById",
          erpInSheetDetail: {
            list: '/purchase/erpInSheet/queryErpInSheetDetailByMainId'
          },

  2、3 审核界面

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跨境电商独立站站群模式

首先我们来了解一下什么是独立站组模式&#xff1f;独立站群模式是指通过建站工具快速建立多个网站。每个网站都有独立的域名&#xff0c;每个网站只存放某个垂直领域的产品&#xff0c;包装成专业的工厂和卖家。每个网站的产品详情和公司实力展示尽量完美(不是市面上的复制品)…

Spring——IOC容器启动及Bean生成流程

IOC容器启动及Bean生成流程一、容器启动IOC启动流程重点二、扫描并注册BeanDefination加载并过滤资源注册BeanDefination三、BeanFactory后置处理四、注册Bean后置处理器五、遍历BeanDefination&#xff0c;实例化单例BeanpreInstantiateSingletonsdoGetBean&#xff08;我们只…

idea配置tomcat,解决控制台乱码问题

问题描述&#xff1a; 配置tomcat&#xff0c;解决idea运行tomcat8.5.27版本控制台输出乱码。 版本&#xff1a; jdk1.8.0_172 IntelliJ IDEA 2019.3 3 (Ultimate Edition) apache-tomcat-8.5.27 解决步骤&#xff1a; 1、打开目录 apache-tomcat-8.5.27\conf\ 目录下 logging…

编译原理—运行环境、局部存储分配、活动记录、全局栈式存储分配、非局部名字的访问、参数传递

编译原理—运行环境、局部存储分配、全局栈式存储分配、非局部名字的访问、参数传递#pic_center 65%x55%1. 运行环境1.1存储组织与分配1.2运行时内存划分2.活动记录2.1活动记录的内容2.2活动记录内容的存取3.静态存储分配3.1FORTRAN静态存储分配4. 动态存储分配4.1 栈式分配下的…

Java反射(Reflex)机制

反射概述 Reflection(反射)是Java被视为动态语言的关键&#xff0c;反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法。 加载完类之后&#xff0c;在堆内存的方法区中就产生了一个Class类型的对象&#x…

【linux】linux实操篇之软件包管理

前言 关于这一快软件包管理知识点不多&#xff0c;我们主要认识一下rpm和yum这两个软件包管理工具&#xff0c;主要还是yum的使用&#xff01; rpm 包的管理 一种用于互联网下载包的打包及安装工具&#xff0c;它包含在某些 Linux 分发版中。它生成具有 .rpm 扩展名的文件。…

QQ plot 的解读

QQ plot全称是Quantile-Quantile Plot&#xff0c;分位数-分位数图是通过比较两个概率分布的分位数对这两个概率分布进行比较的概率图方法。 这个图形的形式非常简单&#xff0c;有点类似RNA-seq中评价两个样本相关性的散点图&#xff08;图1&#xff09;。这类图形为什么那么…

Java小技能:多级菜单排序并返回树结构菜单列表

文章目录 引言I 生成树形结构菜单列表1.1 获取全部菜单1.2 获取一级菜单,递归获取子节点。1.3 实体1.4 DtoII 常见问题2.1 no instance(s) of type variable(s) R exist so that void conforms to R,2.2 集合filter过滤Integer数值为空问题解决方案引言 需求: 服务商角色配置…

面试官:说说你了解的分布式 ID 生成方案

为什么需要分布式 ID 对于单体系统来说&#xff0c;主键 ID 常用主键自动的方式进行设置。这种 ID 生成方法在单体项目是可行的&#xff0c;但是对于分布式系统&#xff0c;分库分表之后就不适应了。比如订单表数据量太大了&#xff0c;分成了多个库&#xff0c;如果还采用数据…

创业可以做什么项目,六个轻资产创业项目推荐

​2022年已经接近尾声了&#xff0c;你有为下一年做好计划嘛&#xff0c;今年并不是平静的一年&#xff0c;口罩总是反反复复的出现&#xff0c;很多人萌生了创业的想法&#xff0c;那有没有不怕口罩的创业项目呢&#xff1f;虽然创业并不容易&#xff0c;但当你有了正确的方向…

【优化充电】粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】

⛄一、粒子群算法电动汽车充电优化 1 电动汽车充电负荷估算 电动汽车的充电负荷主要与电动汽车起始充电时刻和充电时长相关,而起始充电时刻是由电动汽车用户的到家时间决定的,充电时长主要与电动汽车的行驶里程和充电倍率相关。 目前电动汽车还没有大规模运营, 只能通过统计燃…

笔试强训day1

一、选择题 第一题&#xff1a; 题解&#xff1a;y123返回值为123&#xff0c;是非零数&#xff0c;所以y123总是正确&#xff0c;因此循环条件由x<4控制&#xff0c;答案 为C 第二题&#xff1a; %5表示输出总共占据了五列&#xff0c;%.3表示只取字符串左边三个字符并且…

傻白入门芯片设计,wafer/die/chip/cell(一)

1.wafer&#xff1a; 晶圆&#xff0c;指一整个圆形的晶圆硅片。如果问及CPU的原料是什么&#xff0c;大家都会轻而易举的给出答案—是硅。这是不假&#xff0c;但硅又来自哪里呢&#xff1f;其实就是那些最不起眼的沙子。不过不是随便抓一把沙子就可以做原料的&#xff0c;一定…

HTTP 协议

1 HTTP 协议的介绍 HTTP&#xff08;Hyper Transfer Protocol&#xff09;&#xff1a;超文本传输协议HTTP 协议是基于 TCP/IP 协议的超文本&#xff1a;比普通文本更加强大传输协议&#xff1a;客户端和服务器的通信规则&#xff08;握手规则&#xff09; 注意&#xff1a; J…

【计算机毕业设计】21.二手拍卖系统maven源码

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 引言 近年来&#xff0c;电子商务发展的愈趋成熟使得人们的消费方式以及消费观念发生巨大改变&#xff0c;网上竞拍的拍卖模式随之发展起来。大学拍卖网旨在为湘大学生提供一个线上拍卖的交易平台。平台展示的商品大…

STM32CubeMX时钟树(72MHZ主频配置)

目录 一些基础概念 时钟树配置图 第一步 第二步 这里我只是配置常用的72MHZ主频&#xff0c;很多时候新手都在时钟树这里被劝退了。其实不知道没关系&#xff0c;我用STM32这么久了&#xff0c;也只知道大概。我们绝大多数时候不需要配置这个时钟&#xff0c;记住72MHZ主频…

LeetCode-795-区间子数组个数

1、双指针 根据题意&#xff0c;我们可以将数组中的数分为这三类&#xff1a;1、小于leftleftleft的数&#xff1b;2、大于等于leftleftleft且小于等于rightrightright的数&#xff1b;3、大于rightrightright的数。因此若我们使用双指针来维护区间[last2,last1][last2,last1]…

Nacos与Eureka中的高性能读写并发架构设计

Nacos、Eureka都是微服务领域内熟知、常用的注册中心组件。只不过呢&#xff0c;Nacos还多了个功能身份就是配置中心。从目前流行与随着Spring Cloud Alibaba发展来看&#xff0c;Nacos使用得更加多&#xff0c;也是趋势所在。 注册中心原理 注册中心原理其实很简单&#xff…

【18】Java常见的面试题汇总(Spring/Spring MVC)

目录 1. 为什么要使用 spring&#xff1f; 2. 解释一下什么是 aop&#xff1f; 3. 解释一下什么是 ioc&#xff1f; 4. spring 有哪些主要模块&#xff1f; 5. spring 常用的注入方式有哪些&#xff1f; 6. spring 中的 bean 是线程安全的吗&#xff1f; 7. spring 支持…

【Java八股文总结】之外卖平台项目整理

文章目录一、项目介绍1.1 项目整体介绍1.2 主要模块介绍二、项目开发2.1 后台管理系统开发2.1.1 员工管理employee1、员工后台登录2、员工退出3、过滤器4、新增员工5、员工信息分页查询↑&#xff08;参加上面&#xff09;6、修改员工信息7、根据id查询员工信息&#xff0c;回显…