JavaEE-SSM-订单管理-前端增删改功能实现

news2024/12/23 11:17:03

3.5 功能2:添加

  • 从列表页面切换到添加页面
    在这里插入图片描述
    编写对应添加页面的路由

在这里插入图片描述
*

  {
    path: '/orderAdd',
    name: '添加订单',
    component: () => import('../views/OrderAdd.vue')
  }
  • 编写添加功能
    在这里插入图片描述
<template>
  <div>
    <table border="1">
      <tr>
        <td>编号</td>
        <td>
          <!-- 使用 v-model 进行表单元素的双向绑定 -->
          <input type="text" v-model="order.oid">
        </td>
      </tr>
      <tr>
        <td>价格</td>
        <td>
          <input type="text" v-model="order.price">
        </td>
      </tr>
      <tr>
        <td>所属用户</td>
        <td>
          <input type="text" v-model="order.userId">
        </td>
      </tr>
      <tr>
        <td></td>
        <td>
          <!-- @click 点击事件 -->
          <input type="submit" value="添加" @click="addOrder">
        </td>
      </tr>
    </table>
    {{order}}
  </div>
</template>

<script>
export default {
  data() {
    return {
      order: {      //用于表单元素数据绑定对象

      }
    }
  },
  methods: {
    async addOrder() {
      // 发送ajax
      let {data} = await this.$http.post('/order', this.order )
      // 根据结果提示
      //console.info(data)
      alert(data)
      //跳转到列表页面
      this.$router.push('/orderList')
    }
  },
}
</script>

<style>

</style>

3.6 功能3:修改

  • 列表页面跳转到更新页面,以参数的方式传递id
    在这里插入图片描述
<router-link :to="'/orderUpdate?oid='+order.oid">修改</router-link>

编写路由
在这里插入图片描述

xxxxxxxxxx   {    path: '/orderUpdate',    name: '修改订单',    component: () => import('../views/OrderUpdate.vue')  }

创建路由对应的vue页面

在这里插入图片描述

  • 编写修改功能:先通过id查询详情,并回显到表单,修改内容后,提交表单

    <template>
      <div>
        <!-- 2.2 表单数据绑定 -->
        <table border="1">
          <tr>
            <td>编号</td>
            <td>
              <!-- 使用 v-model 进行表单元素的双向绑定 -->
              <!-- <input type="text" v-model="order.oid"> -->
              {{order.oid}}
            </td>
          </tr>
          <tr>
            <td>价格</td>
            <td>
              <input type="text" v-model="order.price">
            </td>
          </tr>
          <tr>
            <td>所属用户</td>
            <td>
              <input type="text" v-model="order.userId">
            </td>
          </tr>
          <tr>
            <td></td>
            <td>
              <!-- 3 点击,并进行更新 -->
              <input type="submit" value="修改" @click="updateOrder">
            </td>
          </tr>
        </table>
        {{order}}
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          oid: '',      //1.1 订单id
          order: {      //2.1 用于表单元素数据绑定对象
    
          }
        }
      },
      methods: {
        async selectOrderById() {
          // 发送ajax
          let { data } = await this.$http.get(`/order/${this.oid}`)
          // 将查询结果存放
          this.order = data
        },
        async updateOrder() {
          //发送ajax
          let { data } = await this.$http.put('/order', this.order)
          //提示
          alert(data)
          //跳转
          this.$router.push('/orderList')
        }
      },
      mounted() {       //页面加载成功
        // 1.2 获得查询的id
        // console.info(this.$route)
        this.oid = this.$route.query.oid
        // 1.3 通过id查询
        this.selectOrderById()
      },
    }
    </script>
    
    <style>
    
    </style>
    

3.7 功能4:删除

  • 点击进行删除
    在这里插入图片描述
<a href="" @click.prevent="deleteOrderById(order.oid)">删除</a>
  • 删除操作

            async deleteOrderById(oid) {
                // 需确认是否删除
                if(confirm("您确认要删除么?")) {
                    // ajax删除
                    let { data } = await this.$http.delete(`/order/${oid}`)
                    // 提示
                    alert(data)
                    // 刷新结果:重新查询
                    this.selectAllOrder()
                }
            }
    
  • 列表页面的完整代码

    <template>
      <div>
          <table border="1">
              <tr>
                  <td>编号</td>
                  <td>价格</td>
                  <td>所属用户名</td>
                  <td>操作</td>
              </tr>
              <tr v-for="(order,index) in orderList" :key="index">
                  <td>{{order.oid}}</td>
                  <td>{{order.price}}</td>
                  <td>{{order.user !=null ? order.user.username : '无所属用户'}}</td>
                  <td>
                      <router-link :to="'/orderUpdate?oid='+order.oid">修改</router-link> | 
                      <a href="" @click.prevent="deleteOrderById(order.oid)">删除</a>
                      
                  </td>
              </tr>
          </table>
          <!-- 添加 -->
          <router-link to="/orderAdd">添加订单</router-link>
      </div>
    </template>
    
    <script>
    export default {
        data() {
            return {
                orderList: []
            }
        },
        methods: {
            async selectAllOrder() {
                // let response = await this.$http.get("/order")
                // this.orderList = response.data
                let {data} = await this.$http.get("/order")
                this.orderList = data
            },
            async deleteOrderById(oid) {
                // 需确认是否删除
                if(confirm("您确认要删除么?")) {
                    // ajax删除
                    let { data } = await this.$http.delete(`/order/${oid}`)
                    // 提示
                    alert(data)
                    // 刷新结果:重新查询
                    this.selectAllOrder()
                }
            }
        },
        mounted() {     //页面加载成功
            //查询所有订单
            this.selectAllOrder()
        },
    }
    </script>
    
    <style>
    
    </style>
    

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

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

相关文章

innodb底层原理和MySQL日志机制

server层 1. 连接器 客户端连接数据库需要输入账号、密码。连接器进行校验账号密码以及权限。 2. 查询缓存 连接器连接以后&#xff0c;比如输入一个select语句&#xff0c;这时候第一步就会先根据sql语句作为key给查询缓存中查看这条sql有没有已经被查询过&#xff0c;如果…

wps word 文档里的空白空间太大了

wps word 文档里的空白空间太大了&#xff0c;如下图1 点击【页面】--->【页边距】&#xff0c;把左边、右边的页边距调为0厘米。如下图2 点击【视图】--->【显示比例】从75%改为页宽&#xff0c;页宽的意思是使页面的宽度与窗口的宽度一致。如下图3 图1

微信小程序请求被阻止 Provisional headers are shown

1. ssl证书问题&#xff08;证书不匹配服务器&#xff0c;证书没有&#xff09; 解决方案&#xff1a; a. 更改证书配置&#xff08;让版本匹配&#xff09;&#xff0c;或者替换证书. 参考&#xff1a; http服务&#xff08;nginx、apache&#xff09;停用不安全的…

蓝桥杯省赛无忧 排序 课件40 冒泡排序

01 冒泡排序的思想 02 冒泡排序的实现 03 例题讲解 #include <iostream> using namespace std; void bubbleSort(int arr[], int n) {for (int i 0; i < n-1; i) { for (int j 0; j < n-i-1; j) {if (arr[j] > arr[j1]) {int temp arr[j];arr[j] arr[j1…

SAP PO平台配置

多个系统分配 &#xff1a; XPATH : /p1:mt_ERP_ZSSF_HFM_001/sapClient SPACE : p1 http://lstech.com/erp/IF0523/ZSSF_HFM_001

Python中元祖的用法

元祖tuple(,) 元祖就是不可变的列表&#xff0c;元祖用()表示,元素与元素之间用逗号隔开,数据类型没有限制。 tu (科比,詹姆斯,乔丹) tu tuple(123) 小括号中有一个元素,有逗号就是元祖,没有就是它本身。 空的小括号就是元祖 索引和切片与列表和字符串相同 不可变指的是,…

C++-QT-QString -CString -string 互转

网上常用的函数在环境&#xff08;VS2022 ATL包含QT库的项目&#xff09;中转换不了。 1.QString 转String std::string str qstr.toStdString(); //不行 QString qstr "Hello, world!";//1. 将QString转换为std::string 不行 //std::string str qstr.toSt…

【高效开发工具系列】Intellj IDEA 2023.3 版本

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

中国品牌崛起,爱可声助听器在欧美市场崭露头角

近年来&#xff0c;随着中国经济的快速发展和消费者需求不断升级&#xff0c;国产品牌影响力逐渐提升&#xff0c;成为国际市场上的新宠。其中&#xff0c;国产品牌爱可声助听器凭借其技术创新&#xff0c;在欧美市场崭露头角。 爱可声助听器是一家专注于研发国产数字助听器芯…

antv/g6绘制数据流向图

antv/g6绘制数据流向图 前言接口模拟数据htmlts页面效果 前言 在业务开发中需要绘制数据流向图&#xff0c;由于echarts关系图的限制以及需求的特殊要求&#xff0c;转而使用antv/g6实现&#xff0c;本文以代码的方式实现数据流向需求以及节点分组,版本"antv/g6": “…

UCAS-AOD遥感旋转目标检测数据集——基于YOLOv8obb,map50已达96.7%

1.UCAS-AOD简介 1.1数据说明 遥感图像&#xff0c;又名高分辨率遥感图像。遥感图像的分类依据是根据成像的介质不同来进行分类的。UCAS-AOD (Zhu et al.&#xff0c;2015)用于飞机和汽车的检测&#xff0c;包含飞机与汽车2类样本以及一定数量的反例样本&#xff08;背景&…

【arthas诊断CPU和内存问题实战】thread -n 5 + cpu火焰图 +内存火焰图

通过线程信息分析CPU 1.查看线程信息 step1: 先查看哪个线程占比cpu最高 分析&#xff1a; 可与看出 SceneWorker占比最高&#xff0c;但是是哪个类中哪个方法则不是太清楚。 我们还需要去分析代码&#xff1a; step2.分析代码 1.AbstractSceneManager的 this.sceneWorke…

DES算法的局限性与改进需求

DES算法的局限性与改进需求 DES算法是一种对称加密算法&#xff0c;具有高度的安全性和可靠性。然而&#xff0c;随着计算机技术的发展&#xff0c;DES算法的密钥长度逐渐被攻击者攻破&#xff0c;安全性受到威胁。因此&#xff0c;对DES算法进行改进以提高安全性是必要的。 3…

数字创新巨头PLAN B KRYPTO ASSETS普兰资产管理

Schutz AI金融隐私匿名公链引领全球数字金融浪潮 随着摩根大通推出颠覆性的「IndexGPT」软件服务&#xff0c;AI在金融领域的发展愈发引人瞩目。而PLAN B KRYPTO ASSETS普兰资产管理公司正积极响应这一变革&#xff0c;推出的Schutz AI金融隐私匿名公链成为全球关注的焦点。 在…

java web mvc-06-play framework intro

拓展阅读 Spring Web MVC-00-重学 mvc mvc-01-Model-View-Controller 概览 web mvc-03-JFinal web mvc-04-Apache Wicket web mvc-05-JSF JavaServer Faces web mvc-06-play framework intro web mvc-07-Vaadin web mvc-08-Grails 开源 The jdbc pool for java.(java …

Oracle2-Rollup和Cube用法

在Oracle的聚合函数中&#xff0c;会有按照维度统计的情况,比如上图按照job 和 deptno统计 sal的sum 但是也会遇到同时要求统计只按照job维度统计的情况&#xff0c;并且做到一张表里 1 union 来实现维度不一致 首先反应过来的是分两步查询&#xff0c;再讲结果union起来 s…

使用axios库创建实例的示例,(创建实例时,传入了一个配置对象)同时还包含了请求拦截器和响应拦截器

第一步&#xff1a; 在vue项目中src目录下创建utils>request.js 第二步&#xff1a; 在 request.js中&#xff0c;使用axios.create方法创建了一个名为request的axios实例&#xff08;设置基本配置信息&#xff09;通过request.interceptors.request.use方法添加了请求拦…

html页面练习——公司发展流程图

1.效果图 2.html <div class"center"><header><h1>发展历程</h1><h3>CONMPANY HISTORY</h3></header><main><div class"left"><div class"time1">2012.12</div><div cla…

WebRTC之服务器搭建

前言 在前面的WebRTC介绍中我们已经介绍了WebRTC的编译以及成功地把WebRTC在Android Studio中运行了起来&#xff0c;详情请猛击<WebRTC之Android编译> 《WebRTC导入Android Studio》 在后面的学习过程中&#xff0c;我们将进一步使用WebRTC实现Android端的实时通信对话…

【JAVA】Java并发编程中的锁升级机制

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 四个级别锁 锁升级的过程&#xff1a; 偏向锁升级为轻量级锁&#xff1a; 轻量级锁升级为重量级锁&#xff1a; 结语 我的其他…