041医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面,然后实现修改采购单功能

我们上篇文章的内容是:

来到了

我这篇文章要实现的功能是:上面的数据我想要修改。比如:

上面的红色框框要把它修改并提交。

具体如下:

我们所在的页面是editcgd.jsp。代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ include file="/WEB-INF/jsp/base/tag.jsp"%>
<html>
<head>
<title>采购单修改</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<%@ include file="/WEB-INF/jsp/base/common_css.jsp"%>
<%@ include file="/WEB-INF/jsp/base/common_js.jsp"%>

<script type="text/javascript">
//采购单保存
function yycgdsave(){
    //由form被多个功能公用,每次操作设置form的url
    $("#yycgdsaveForm").attr("action","${baseurl}cgd/editcgdsubmit.action");
    jquerySubByFId(‘yycgdsaveForm‘, yycgdsave_callback, null);
}

function yycgdsave_callback(data) {
    var result = getCallbackData(data);
    _alert(result);
}

//采购单提交
function yycgdsubmit(){
    _confirm(‘提交后采购单将不允许修改,是否继续?‘,null,
              function(){
        $("#yycgdsaveForm").attr("action","${baseurl}cgd/submitYycgd.action");
        jquerySubByFId(‘yycgdsaveForm‘, yycgdsubmit_callback, null);
     }
   );

}
//采购单提交回调
function yycgdsubmit_callback(data) {
    var result = getCallbackData(data);
    _alert(result);
    //提交成功再刷新本页面,提交按钮就不显示
    if(result.type==TYPE_RESULT_SUCCESS){
        //重新再次跳转到修改页面,页面上的提交按钮、添加、删除的控制就不显示了。
        window.location="${baseurl}cgd/editcgd.action?id=${yycgd.id}";
    }

}

//采购单明细列表的工具栏
//采购药品添加
function yycgdmxaddshow(){
    var sendUrl="${baseurl}cgd/queryaddyycgdmx.action?yycgdid=${yycgd.id}";
    createmodalwindow("采购药品添加", 1124, 500, sendUrl);
}
//采购药品删除
function yycgdmxdelete(){
    _confirm(‘您确定要删除选择的采购药品吗?‘,null,
              function(){

                var indexs = [];//选择记录的序号
                var rows = $(‘#yycgdmxlist‘).datagrid(‘getSelections‘);
                for(var i=0;i<rows.length;i++){
                    var index=$(‘#yycgdmxlist‘).datagrid(‘getRowIndex‘,rows[i]);
                    indexs.push(index);
                }
                if(rows.length>0){
                    $("#indexs").val(indexs.join(‘,‘));
                    //由于删除和保存对同一个form进行操作,所以这里给yycgdmxForm的action重新赋值
                    $("#yycgdmxForm").attr("action",‘${baseurl}cgd/yycgdmxdelsubmit.action‘);
                    jquerySubByFId(‘yycgdmxForm‘, yycgdmxdelete_callback, null);
                }else{
                    alert_warn("请选择要删除的采购药品");
                }
              }
            )
}
function yycgdmxdelete_callback(data) {
    var result = getCallbackData(data);
    _alert(result);
    yycgdmxquery();
}
//保存采购药品信息
function yycgdmxsave(){
    _confirm(‘您确定要保存选择的采购药品吗?‘,null,
              function(){

                var indexs = [];//选择记录的序号
                var rows = $(‘#yycgdmxlist‘).datagrid(‘getSelections‘);
                for(var i=0;i<rows.length;i++){
                    var index=$(‘#yycgdmxlist‘).datagrid(‘getRowIndex‘,rows[i]);
                    indexs.push(index);
                }
                if(rows.length>0){
                    $("#indexs").val(indexs.join(‘,‘));
                    //由于保存和删除对同一个form进行操作,所以这里给yycgdmxForm的action重新赋值
                    $("#yycgdmxForm").attr("action",‘${baseurl}cgd/savecgl.action‘);
                    jquerySubByFId(‘yycgdmxForm‘,yycgdmxsave_callback, null);
                }else{
                    alert_warn("请选择要保存的采购药品");
                }
              }
            )
}
function yycgdmxsave_callback(data){
    var result = getCallbackData(data);
    _alert(result);
    yycgdmxquery();
}
var toolbar=[];
//如果采购单未提交或审核不通过显示此下操作按钮

toolbar = [{
    id : ‘yycgdmxaddshow‘,
    text : ‘采购药品添加‘,
    iconCls : ‘icon-add‘,
    handler : yycgdmxaddshow
    }
    ,{
        id : ‘yycgdmxdelete‘,
        text : ‘采购药品删除‘,
        iconCls : ‘icon-add‘,
        handler : yycgdmxdelete
    }
    ,{
        id : ‘yycgdmxsave‘,
        text : ‘保存采购药品信息‘,
        iconCls : ‘icon-add‘,
        handler : yycgdmxsave
    }
    ];

//采购单明细列表的列定义

var columns = [ [{
    checkbox:true
},{
    field : ‘useryymc‘,
    title : ‘医院‘,
    width : 100 /* ,
    formatter:function (value,row,index){
        //如果从json中取不出useryymc则显示成总计两个字
        if(value){
            return value;
        }else{
            return "总计";
        }
    }   */
},{
    field : ‘ypxxid‘,
    hidden : true,
    formatter: function(value,row,index){
        if(value){//因为有总计行,而总计行中id的值为null,所以这里需要添加判断,不为空则生成hidden
            return ‘<input type="hidden" name="yycgdmxs[‘+index+‘].ypxxid" value="‘+value+‘" />‘;
        }

    }
},{
    field : ‘bm‘,
    title : ‘流水号‘,
    width : 50

},{
    field : ‘mc‘,
    title : ‘通用名‘,
    width : 100
},{
    field : ‘jx‘,
    title : ‘剂型‘,
    width : 70
},{
    field : ‘gg‘,
    title : ‘规格‘,
    width : 70
},{
    field : ‘zhxs‘,
    title : ‘转换系数‘,
    width : 50
},{
    field : ‘zbjg‘,
    title : ‘中标价‘,
    width : 50
},{
    field : ‘jyztmc‘,
    title : ‘交易状态‘,
    width : 50
},{
    field : ‘jyjg‘,
    title : ‘交易价‘,
    width : 50
},{
    field : ‘cgl‘,
    title : ‘采购量‘,
    width : 50,
    formatter:function(value,row,index){
        /* if(row.ypxxid){//如果有药品信息id表示不是总计行
            return ‘<input type="text" name="yycgdmxs[‘+index+‘].cgl" value="‘+(value?value:"")+‘" />‘;
        }else{
            return value;
        } */
        return ‘<input type="text" name="yycgdmxs[‘+index+‘].cgl" value="‘+(value?value:"")+‘" />‘;
    }
},{
    field : ‘cgje‘,
    title : ‘采购金额‘,
    width : 50
},{
    field : ‘scqymc‘,
    title : ‘生产企业‘,
    width : 100
},{
    field : ‘spmc‘,
    title : ‘商品名称‘,
    width : 100
},{
    field : ‘cgztmc‘,
    title : ‘采购状态‘,
    width : 80
},{
    field : ‘usergysmc‘,
    title : ‘供货商‘,
    width : 100
}]];

//加载datagrid(采购单明细列表)
     $(function() {
        $(‘#yycgdmxlist‘).datagrid({
            title : ‘采购药品列表‘,
            showFooter:true,//是否显示总计行
            striped : true,
            url : ‘${baseurl}cgd/queryYycgdmx_result.action‘,//这里边后边带了一个参数,所以form中不需要此参数yycgdid
            queryParams:{//url的参数,初始加载datagrid时使用的参数
                id:‘${yycgd.id}‘//yycgdid是参数名称,如果参数名称中间有点,将参数用单引号括起来
            },
            idField : ‘yycgdmxid‘,//采购药品明细id
            //frozenColumns : frozenColumns,
            columns : columns,
            pagination : true,
            rownumbers : true,
            showFooter:true,//显示总计
            toolbar : toolbar,
            loadMsg:"",
            pageList:[15,30,50,100]
            } );
    }); 

//采购药品明细查询方法
function yycgdmxquery(){
    var formdata = $("#yycgdmxForm").serializeJson();
    //alert(formdata);
    $(‘#yycgdmxlist‘).datagrid(‘unselectAll‘);//取所有选中,避免重新load保留选中状态
    $(‘#yycgdmxlist‘).datagrid(‘load‘, formdata);
}
</script>
</HEAD>
<BODY>
<!-- 采购单主信息保存form -->
<form id="yycgdsaveForm" name="yycgdsaveForm" action="${baseurl}cgd/yycgdeditsubmit.action" method="post">
<input type="hidden" name="id" value="${yycgd.id}"/>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="70%" bgColor=#c4d8ed align=center>
        <TBODY>
            <TR>
                <TD background=images/r_0.gif width="100%">
                    <TABLE cellSpacing=0 cellPadding=0 width="100%">
                        <TBODY>
                            <TR>
                                <TD>&nbsp;药品采购单</TD>
                                <TD align=right>&nbsp;</TD>
                            </TR>
                        </TBODY>
                    </TABLE>
                </TD>
            </TR>
            <TR>
                <TD>
                    <TABLE class="toptable grid" border=1 cellSpacing=1 cellPadding=4
                        align=center>
                        <TBODY>

                            <TR>
                                <TD height=30 width="15%" align=right>采购单编号:</TD>
                                <TD class=category width="35%">
                                ${yycgd.bm}
                                </TD>
                                <TD height=30 width="15%" align=right >采购单名称:</TD>
                                <TD class=category width="35%">
                                <div>
                                <input type="text" id="yycgd_mc" name="yycgdCustom.mc" value="${yycgd.mc}"  style="width:260px" />

                                </div>
                                <div id="yycgd_mcTip"></div>
                                </TD>
                            </TR>
                            <TR>
                               <TD height=30 width="15%" align=right >建单时间:</TD>
                                <TD class=category width="35%">
                                    <fmt:formatDate value="${yycgd.cjtime}" pattern="yyyy-MM-dd"/>
                                </TD>
                                <TD height=30 width="15%" align=right >提交时间:</TD>
                                <TD class=category width="35%">
                                <fmt:formatDate value="${yycgd.tjtime}" pattern="yyyy-MM-dd"/>
                                </TD>

                            </TR>
                            <TR>
                                <TD height=30 width="15%" align=right>联系人:</TD>
                                <TD class=category width="35%">
                                <input type="text" name="yycgdCustom.lxr" id="yycgd.lxr" value="${yycgd.lxr}"  style="width:260px" />
                                </TD>
                                <TD height=30 width="15%" align=right >联系电话:</TD>
                                <TD class=category width="35%">
                                <input type="text" name="yycgdCustom.lxdh" id="yycgd.lxdh" value="${yycgd.lxdh}"  style="width:260px" />
                                </TD>
                            </TR>
                            <TR>
                                <TD height=30 width="15%" align=right>采购单状态:</TD>
                                <TD class=category width="35%">
                                ${yycgd.yycgdztmc}
                                </TD>
                                <TD height=30 width="15%" align=right>备注:</TD>
                                <TD colspan=3>
                                    <textarea rows="2" cols="30" name="yycgdCustom.bz">${yycgd.bz}</textarea>
                                </TD>
                            </TR>

                            <TR>
                                <TD height=30 width="15%" align=right>审核时间:</TD>
                                <TD class=category width="35%">
                                <fmt:formatDate value="${yycgd.shtime}" pattern="yyyy-MM-dd"/>
                                </TD>
                                <TD height=30 width="15%" align=right >审核意见:</TD>
                                <TD class=category width="35%">
                                ${yycgd.shyj}
                                </TD>
                            </TR>

                            <tr>
                              <td colspan=4 align=center class=category>
                                <a  href="#" onclick="yycgdsave()" class="easyui-linkbutton" iconCls=‘icon-save‘>保存</a>
                                <!-- 采购单状态为1:未提交、或、4:审核不通过显示提交 -->
                                <c:if test="${yycgd.zt ==‘1‘ or yycgd.zt==‘4‘}">
                                     <a  href="#" onclick="yycgdsubmit()" class="easyui-linkbutton" iconCls=‘icon-save‘>提交</a>
                                </c:if>
                              </td>
                            </tr>
                        </TBODY>
                    </TABLE>
                </TD>
            </TR>
        </TBODY>
    </TABLE>
</form>
<!-- 采购单主信息保存form -->

<!-- 采购单明细信息 -->
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" bgColor=#c4d8ed>
        <TBODY>
            <TR>
                <TD background=images/r_0.gif width="100%">
                    <TABLE cellSpacing=0 cellPadding=0 width="100%">
                        <TBODY>
                            <TR>
                                <TD>&nbsp;采购药品列表</TD>
                                <TD align=right>&nbsp;</TD>
                            </TR>
                        </TBODY>
                    </TABLE>
                </TD>
            </TR>
        </TBODY>
    </TABLE>

    <!-- 采购单明细查询form -->
    <form id="yycgdmxForm" name="yycgdmxForm" method="post" >
    <input type="hidden" name="indexs" id="indexs" />
    <!-- 采购单id -->
    <input type="hidden" name="id" value="${yycgd.id}"/>
            <TABLE  class="table_search">
                <TBODY>
                    <TR>

                        <TD class="left">通用名:</td>
                        <td><INPUT type="text"  name="ypxxCustom.mc" /></TD>
                        <TD class="left">剂型:</TD>
                        <td ><INPUT type="text" name="ypxxCustom.jx" /></td>
                        <TD class="left">规格:</TD>
                        <td ><INPUT type="text" name="ypxxCustom.gg" /></td>
                        <TD class="left">转换系数:</TD>
                        <td ><INPUT type="text" name="ypxxCustom.zhxs" /></td>
                    </TR>
                    <TR>
                        <TD class="left">流水号:</TD>
                        <td ><INPUT type="text" name="ypxxCustom.bm" /></td>
                        <TD class="left">生产企业:</TD>
                        <td ><INPUT type="text" name="ypxxCustom.scqymc" /></td>
                        <TD class="left">商品名称:</TD>
                        <td ><INPUT type="text" name="ypxxCustom.spmc" /></td>
                         <td class="left">价格范围:</td>
                          <td>
                              <INPUT id="ypxxCustom.zbjglower" name="ypxxCustom.zbjglower" style="width:70px"/>
                            至
                            <INPUT id="ypxxCustom.zbjgupper" name="ypxxCustom.zbjgupper" style="width:70px"/>

                          </td>
                    </tr>
                    <tr>

                        <TD class="left">药品类别:</TD>
                        <td >
                            <!-- 药品类别从数据字典中取id作为页面传入action的value -->
                            <select id="ypxxCustom.lb" name="ypxxCustom.lb" style="width:150px">
                                <option value="">全部</option>
                                <c:forEach items="${lblist}" var="value">
                                    <option value="${value.id}">${value.info}</option>
                                </c:forEach>
                            </select>
                        </td>
                        <TD class="left">交易状态:</TD>
                        <td >
                            <!-- 交易状态从数据字典中取出dictcode作为页面传入action的value -->
                            <select id="ypxxCustom.jyzt" name="ypxxCustom.jyzt" style="width:150px">
                                <option value="">全部</option>
                                <c:forEach items="${jyztlist}" var="value">
                                    <option value="${value.dictcode}">${value.info}</option>
                                </c:forEach>
                            </select>

                        </td>
                        <TD class="left">采购状态:</TD>
                        <td >

                            <select id="yycgdmxCustom.cgzt" name="yycgdmxCustom.cgzt" style="width:150px">
                                <option value="">全部</option>
                                <c:forEach items="${cgztlist}" var="value">
                                    <option value="${value.dictcode}">${value.info}</option>
                                </c:forEach>
                            </select>

                        </td>

                          <td colspan=2>

                        <a id="btn" href="#" onclick="yycgdmxquery()" class="easyui-linkbutton" iconCls=‘icon-search‘>查询</a>
                          </td>

                    </TR>

                </TBODY>
            </TABLE>

       <!-- 采购明细列表 -->
        <TABLE border=0 cellSpacing=0 cellPadding=0 width="99%" align=center>
            <TBODY>
                <TR>
                    <TD>
                    <!-- 采购单明细列表 -->
                        <table id="yycgdmxlist"></table>
                    </TD>
                </TR>
            </TBODY>
        </TABLE>
    </form>

</BODY>
</HTML>

当我们点击保存之后。进入到

//采购单保存
function yycgdsave(){
    //由form被多个功能公用,每次操作设置form的url
    $("#yycgdsaveForm").attr("action","${baseurl}cgd/editcgdsubmit.action");
    jquerySubByFId(‘yycgdsaveForm‘, yycgdsave_callback, null);
}

然后我们看是提交的editcgdsubmit.action。

然后我们看Action层里面的函数:

    // 采购单修改提交
    @RequestMapping("/editcgdsubmit")
    public @ResponseBody
    SubmitResultInfo editcgdsubmit(String id, YycgdQueryVo yycgdQueryVo)
            throws Exception {
        // 执行修改操作
        cgdService.updateYycgd(id, yycgdQueryVo.getYycgdCustom());

        return ResultUtil.createSubmitResult(ResultUtil.createSuccess(
                Config.MESSAGE, 906, null));
    }

我们看到这里的重点是:

  cgdService.updateYycgd(id, yycgdQueryVo.getYycgdCustom());我们具体看这个函数:
    @Override
    public void updateYycgd(String id, YycgdCustom yycgdCustom)
            throws Exception {
        // 从采购单id中获取年份
        String year = id.substring(0, 4);
        // 从数据库查询采购单信息
        YycgdCustom yycgdCustom_old = this.findYycgdById(id);
        // 向对象设置修改的值
        yycgdCustom_old.setLxr(yycgdCustom.getLxr());
        yycgdCustom_old.setLxdh(yycgdCustom.getLxdh());
        yycgdCustom_old.setMc(yycgdCustom.getMc());
        yycgdCustom_old.setBz(yycgdCustom.getBz());// 备注信息
        // 设置年份
        yycgdCustom_old.setBusinessyear(year);
        yycgdMapper.updateByPrimaryKey(yycgdCustom_old);

    }

调试:

然后在数据库中有数据:

然后我们在之前的页面上修改吧3344888改为

点击保存之后。在数据库里面查看数据:

说明保存成功了。调试成功。

时间: 2024-10-14 16:47:17

041医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面,然后实现修改采购单功能的相关文章

040医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面(editcgd.action)

我们上一篇文章写到了要从editcgd.action为入口讲.我们要做的事根据edicgd.acion进入到Action层的一个函数,在这个函数里面要做的就是从数据库中把采购单表里面的数据都查出来显示在页面上. 这个action中要做的工作是: 1:从系统配置表中把系统的一些信息查出来(比如采购状态用作下拉表),用来修改采购单信息. 2:根据传进来的采购单的id,找出采购单. 3:把采购单加入到Model中,传到页面,显示. 达到的效果是: 来到这个页面: 输入信息,然后点击保存按钮之后. 来到

常见模块(四) os模块

注: os模块是实现python程序对操作系统(operation system)的操作 1.对文件或者目录进行删除或者创建的相关操作 # os.rename("b","c") #将a文件或者目录修改成b文件或者目录 # os.remove("a") #只能移除a文件 # os.removedirs("a\b") #递归删除一个目录,前提是目录下没有文件 # os.mkdir("a") #创建一个空目录 #

044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中这里没有写采购量,我们这篇文章做的就是把采购量写进入,也就是Updata之前的那个记录.这样采购单里面的记录就完整了. 如下: Dao层:用的是逆向工程生成的:yycgdmxMapper.updateByPrimaryKeySelective(yycgdmx_updat

037医疗项目-模块四:采购单模块—采购单模块的整体需求

采购单模块的整体需求: 医院在采购药品时,先创建一个采购单,采购单内容包括本次采购的药品信息(采购量.采购金额),采购单创建成功后,需要提交到监管单位,由监管单位进行审核.审核通过后由供货商按照采购单的内容进行发货,医院收到药品后执行入库操作. 操作流程: 第一步:填写采购单基本信息 采购单基本信息包括:采购年份.采购单名称.建单时间.提交时间.联系人.联系电话.备注.采购单状态.. 第二步:当上面的采购单填好之后,按下"保存"键,就进入到这一步.填写采购单详细信息,本次采购的药品信息

037医疗项目-模块四:采购单模块—采购单数据模型

上一篇文章我们知道了采购的需求.这篇文章我们就要看一下采购单模块的数据库怎么去建立. 我们设计时采用两张表: 1:采购单基本信息表(YYCGD): 也就是对应的页面上的: 当然我们设计数据库的时候不可能只有上面这些字段.我们看一下真实数据库中是怎么设计的: 我们来看一下这些字段的意义: 采购单号:相当于订单号,方便管理需要 采购单名称:对采购单简短说明,名称 医院id:创建采购单单位的id(记录单位id而不是用户的id) (外键) 联系人:联系人和建单人可能不是一个人 联系电话:联系人的电话 建

047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)

我们之前把采购单都审核了,这篇文章说的就是审核之后提交. 其实就是改变(update)采购单的审核状态. 需求: 用户要先查看采购单的内容. 查看采购单页面:页面布局同采购单修改页面. 选择审核结果.填写 审核意见进行提交 . 约束条件: 采购单状态为审核中方可提交审核. 审核结果(审核通过.审核不通过)必须选择. 审核意见是否必填根据用户需求来定,本系统采用不必填 . 数据库操作: 更新采购单状态为审核通过或审核不通过. DAo层: 使用逆向工程生成的Mapper: yycgdMapper.u

048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)

需求: 我们之前把采购单交给监督单位审核了,审通过的采购单就要受理.供货商决定采购单发不发货. 如下: 这张单子里面的就是采购单详细表,这儿查出来的数据就只是特定于这个供货商的采购单详细表,一个区域里面只有一个供货商,有好几个医院,每个医院有好多个采购单.那么就是一个供货商有好几个采购单.供货商要看着每一个采购单的明细表才会去处理这个数据要不要发货. 我们先写Mapper: 我们写sql时要参考: Mapper.xml如下: <!-- 采购单药品明细查询列表 --> <select id

049医疗项目-模块五:权限设置-第三方系统的接入

我们先演示要实现的功能: 单击: 我们看着有三个子模块: 点击模块管理: 在模块管理中,我们可以设置一共有几个模块,每个模块里面有哪些具体的操作等. 角色管理: 给角色分配权限. 好,我们接下来看具体的实现: 我们先把第三方系统引入到工程中: import工程. 然后修改sysconfig,和sysmanager系统中的/WEB-INF/proxool.xml文件 接着 然后重启Tomcat. 然后修改代码: 我们增加下面连个Action层:其实我们的第三方系统的实现原理就是我们从自己的项目中的

052医疗项目-模块五:权限设置-实现根据用户显示不同的菜单

我们之前的做法是: 不管什么类型的用户登录:医院,卫生局等显示的左侧菜单都是一样的.我们在这篇文章里面就要实现不同的用户登录时显示的菜单是不同的. 我们先介绍数据库中的那几张表:那几张表和第三方系统有关. 这几张表对应的是 我们要查的是一个角色的菜单和菜单下的二级菜单: 我们先去看菜单表: 我们看到bss_sys_module就是菜单表(模块表): 这个表里面存放了一级和二级菜单.我们要把一级和二级菜单都查出来: select m1.moduleid,m1.name,m2.moduleid me