zoukankan      html  css  js  c++  java
  • cz_health_day03

    第三天项目需求

    进行检查组编写

    需求分析

    检查组包含多个检查项

    t_checkgroup_checkitem中间表进行关联

    1.新增检查组

    1. 前端弹出新增窗口,新增窗口有2个,进行默认设置选择项目组的窗口1,窗口2为检查项 进行回显设置
    2. 填写数据,点击确认按钮,将检查组数据以及检查项的id数组 异步发送给后端,将数据填入检查组的表,以及中间检查组与检查项的关联表
    3. 反馈数据,有问题没有问题都要都要给用户提示,且需要调用查询所有的方法

    2、查询所有项目组

    1. 前端根据钩子函数,在页面加载完毕触发查询所有的方法,或者页面发生改变也会触发查询所有的方法
    2. 将当前页码currentpage,pagesize,querystring封装为json对象,异步传给后端,后端返回总页数以及检查组的集合

    3、编辑项目组(修改项目组)

    1. 前端点击编辑,弹出修改页面,此时页面需要回显检查组内容,以及所有的检查项类容,除此以外,如果检查组具有检查项,那么检查项需要将检查组有用的检查项进行勾选显示,并且位于勾选的最上层
    2. 利用异步,查询检查组完成以后,成功 异步查询所有的检查项 ,成功 异步查询检查组对应的检查项的id 
    3. 后端进行数据的查询,返回数据,再进行数据的修改,点击保存将数据传入后端
    4. 后端对数据处理时,需要将检查组的数据存入表中,还需要对中间关联的表进行处理,先删除中间关联表与该检查项有关的数据,再将新的数据填入关联表中
    5. 成功后返回前端,前端调用查询所有的方法
      1 let vue = new Vue({
      2         el: '#app',
      3         data: {
      4             activeName: 'first',//添加/编辑窗口Tab标签名称
      5             pagination: {//分页相关属性
      6                 currentPage: 1,
      7                 pageSize: 10,
      8                 total: 100,
      9                 queryString: null,
     10             },
     11             dataList: [],//列表数据
     12             formData: {},//表单数据
     13             tableData: [],//新增和编辑表单中对应的检查项列表数据
     14             checkitemIds: [],//新增和编辑表单中检查项对应的复选框,基于双向绑定可以进行回显和数据提交
     15             dialogFormVisible: false,//控制添加窗口显示/隐藏
     16             dialogFormVisible4Edit: false//控制编辑窗口显示/隐藏
     17         },
     18         created() {//钩子函数
     19             this.findPage();
     20         },
     21         methods: {
     22             //编辑
     23             handleEdit() {
     24                 //发送ajax请求,将修改后的表单数据(检查组基本信息、勾选的检查项)提交到后台进行处理
     25                 axios.post("/checkgroup/edit.do?checkitemIds=" + this.checkitemIds,this.formData).then((res) => {
     26                     //关闭编辑窗口
     27                     this.dialogFormVisible4Edit = false;
     28                     if(res.data.flag){
     29                         //操作成功
     30                         this.$message.success(res.data.message);
     31 
     32                     }else{
     33                         //操作失败
     34                         this.$message.error(res.data.message);
     35                     }
     36                 }).finally(() =>{
     37                     this.findPage();
     38                 });
     39             },
     40             //添加
     41             handleAdd() {
     42                 //发送ajax,将数据传递至后端
     43                 axios.post("/checkgroup/add.do?checkitemIds=" + this.checkitemIds, this.formData).then((res) => {
     44                     //关闭新增窗口
     45                     this.dialogFormVisible = false;
     46                     if (res.data.flag) {
     47                         this.$message.success(res.data.message);
     48                     } else {
     49                         this.$message.error(res.data.message);
     50                     }
     51                 }).finally(() => {
     52                     //清空复选框
     53                     this.checkitemIds = {};
     54                     this.findPage();
     55                 })
     56 
     57             },
     58             //分页查询
     59             findPage() {
     60                 //获取分页参数,分装为jason对象
     61                 let param = {
     62                     pageSize: this.pagination.pageSize,
     63                     currentPage: this.pagination.currentPage,
     64                     queryString: this.pagination.queryString
     65                 }
     66                 //发送ajax请求
     67                 axios.post("/checkgroup/findPage.do", param).then((res) => {
     68                     this.pagination.total = res.data.total;
     69                     this.dataList = res.data.rows;
     70                 })
     71             },
     72             // 重置表单
     73             resetForm() {
     74                 this.formData = {};
     75             },
     76             // 弹出添加窗口
     77             handleCreate() {
     78                 //点击新建按钮,弹出添加窗口
     79                 this.resetForm();
     80                 this.dialogFormVisible = true;
     81                 //设置添加框默认是添加查询租的项
     82                 this.activeName = 'first';
     83                 //重置复选框
     84                 this.checkitemIds = [];
     85                 //发送异步请求查询所有的检查项目
     86                 axios.get("/checkitem/findAll.do").then((res) => {
     87                     if (res.data.flag) {
     88                         //将正确查询的到的数据回显
     89                         this.tableData = res.data.data;
     90                     } else {
     91                         this.$message.error(res.data.message);
     92                     }
     93                 })
     94 
     95             },
     96             // 弹出编辑窗口
     97             handleUpdate(row) {
     98 
     99                 //ajax请求查询当前的检查组数据,回显基本数据与检查项数据
    100                 axios.get("/checkgroup/findById.do?checkgroupId=" + row.id).then((res) => {
    101                     //弹出编辑窗口
    102                     this.dialogFormVisible4Edit = true;
    103                     //将基本信息框默认选中的
    104                     this.activeName = 'first';
    105                     //清空编辑框的值
    106                     this.formData = {};
    107                     if (res.data.flag) {
    108                         this.formData = res.data.data;
    109                         //发送异步请求查询所有的检查项,此处上方的检查组拥有的检查项会在最上方
    110                         axios.get("/checkitem/findAllById.do?checkgroupId=" + row.id).then((res) => {
    111                             this.tableData = [];
    112                             if (res.data.flag) {
    113                                 //将正确查询的到的数据回显
    114                                 this.tableData = res.data.data;
    115                                 //回显成功就回显复选框的内容
    116                                 axios.get("/checkgroup/findCheckItemIdsByCheckGroupId.do?checkgroupId=" + row.id).then((res) => {
    117                                     if (res.data.flag) {
    118                                         //将正确查询的到的数据回显
    119                                         this.checkitemIds = res.data.data;
    120                                     } else {
    121                                         this.$message.error(res.data.message);
    122                                     }
    123                                 })
    124                             } else {
    125                                 this.$message.error(res.data.message);
    126                             }
    127                         })
    128 
    129                     } else {
    130                         this.$message.error(res.data.message);
    131                     }
    132                 });
    133 
    134             },
    135             //切换页码
    136             handleCurrentChange(currentPage) {
    137                 this.pagination.currentPage = currentPage;
    138                 this.findPage();
    139             },
  • 相关阅读:
    Redis入门指南
    大公司都有哪些开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等
    01 背包问题和完全背包
    糖果(动规)
    数的划分(动规)
    鸣人的影分身(动规)
    股票买卖(动规)
    大盗阿福(动规)
    公共子序列(动规)
    滑雪(动规)
  • 原文地址:https://www.cnblogs.com/luckysupermarket/p/13654624.html
Copyright © 2011-2022 走看看