会员卡管理系统技术解析(十五) 库存卡作废恢复记录查询
来源:互联网 发布:平板电脑淘宝横屏 编辑:程序博客网 时间:2024/04/30 04:48
会员卡管理系统技术解析(十五) 库存卡作废恢复记录查询
库存卡作废恢复记录查询这个模块功能可以查看员工录入的库存卡作废恢复记录信息。可以通过日期(如20150528)或记录单号对单据进行模糊筛选查询。还可以对单据进行审核、删除等操作。
1.1界面效果图
3.2.1.1(图1)
从界面可以看到本项目这里用到的控件有:
控件名称
说明
搜索框(easyui-searchbox)
第一要设置每个控件的id,第二设置样式不设置也有默认,第三(data-options)是数据操作:可以设置控件的一些属性和事件
表格控件(easyui-datagrid)
表格超链接操作列
文本框(表单元素input)
1.2功能实现
第1步:数据库
1、表与关系
1.1库存卡作废恢复记录
表1: 员工表(Sys_Staff)
用于存放员工信息
列名
数据类型
主键/外键
说明
StaffID
int
主键
员工ID
MembershipCardStorageLocationID
int
外键
会员卡保管地点表,会员卡保管地点ID
ZoneID
int
外键
区域表,区域ID
IDTypeID
int
外键
基础属性集合明细表,证件类型ID
IDNumber
nchar(20)
证件号码
Birthday
date
出生日期
MailingAddress
nchar(30)
通讯地址
nchar(20)
PrivateCallNumber
nchar(20)
私人电话
MobileNumber
nchar(20)
手机号码
StaffDegree
nchar(20)
员工学历
Vehicle
nchar(20)
交通工具
FamilyMembers
int
家庭成员数量
HobbiesAndInterests
nchar(30)
兴趣爱好
StaffName
nchar(20)
员工姓名
ESEX
nchar(10)
员工性别
表2:库存卡作废恢复记录表(Pw_StoreCardInvalidRecovery)
用于存放库存卡作废恢复记录信息。
列名
数据类型
主键/外键
说明
StoreCardInvalidRecoveryID
int
主键
库存卡作废恢复记录自动编号
RecordNum
nchar(30)
记录编号
BookerID
int
外键
员工表,登记人
BookTime
date
登记时间
IsVerify
nchar(5)
审核状态
VerifierID
int
外键
员工表,审核人
VerifyTime
date
审核时间
RecoveryReason
nchar(200)
作废恢复原因
1.2库存卡作废记录恢复明细
表1:库存卡作废恢复明细 Pw_StoreCardInvalidRecoveryDetails
用于存放库存卡作废回复明细信息。
列名
数据类型
主键/外键
说明
StoreCardInvalidRecoveryDetailsID
int
主键
作废恢复明细自动编号
StoreCardInvalidRecoveryID
int
外键
作废恢复记录表,审核相关
StoreCardInvalidDetailsID
int
外键
库存卡作废明细表,
作废前状态、会员卡号
表2:库存卡作废恢复记录表(Pw_StoreCardInvalidRecovery)
用于存放库存卡作废恢复记录信息。
列名
数据类型
主键/外键
说明
StoreCardInvalidRecoveryID
int
主键
库存卡作废恢复记录自动编号
RecordNum
nchar(30)
记录编号
BookerID
int
外键
员工表,登记人
BookTime
date
登记时间
IsVerify
nchar(5)
审核状态
VerifierID
int
外键
员工表,审核人
VerifyTime
date
审核时间
RecoveryReason
nchar(200)
作废恢复原因
表3: 会员卡保管地点(Sys_ MembershipCardStorageLocation)
用于存放会员卡保管地点信息
列名
数据类型
主键/外键
说明
MembershipCardStorageLocationID
int
主键
会员卡保管地点ID
MembershipCardStorageLocationFatherID
int
外键
会员卡保管地点父ID
MarkerTypeID
int
外键
标记类型ID
Name
nchar(20)
名称
LevelAtTheEndOfTheTag
bit
末级标记否
DuplicatedRecord
bit
复制记录否
Code
nchar(10)
代码
EncodingRules
int
编码规则
EncodingRules
int
编码规则
表4:会员卡建卡明细表(Pw_MembershipCardDetails)
用于存放建卡记录明细信息
列名
数据类型
主键/外键
说明
MembershipCardDetailsID
int
主键
会员卡建卡明细ID
MembershipCardID
int
外键
会员卡建卡记录表, 会员卡建卡记录ID
MembershipCardTypeID
int
外键
会员卡类型表, 会员卡类型ID
MembershipCardStorageLocationID
int
外键
会员卡保管地点表,保管地点ID
StateOfTheMembershipCardID
int
外键
基础属性集合明细表,会员卡状态ID
ChangeTheMembershipCardID
int
外键
基础属性集合明细表,变更会员卡状态ID
UpdateRankID
int
外键
会员卡级别表,会员卡级别ID
KeeperID
int
外键
员工表,保管人ID
Remarks
nchar(200)
备注
MembershipCardCardNumber
nchar(50)
会员卡卡号
SpecifyTheValidityTime
date
有效期指定时间
ValidityTime
date
有效期时间
WriteCardStatus
nchar(10)
写卡状态
WriteTime
date
写卡时间
NominalAmount
money
面值金额
表5: 会员卡类型(Sys_ MembershipCardType)
用于存放会员卡类型信息
列名
数据类型
主键/外键
说明
MembershipCardTypeID
int
主键
会员卡类型ID
MembersKakaKindID
int
外键
会员卡卡种ID
MembershipCardLevelID
int
外键
会员卡级别ID
MembershipCardIssuanceID
int
外键
会员卡发行方式ID
UseObjectID
int
外键
使用对象ID
DailyManagementFormID
int
外键
日常管理形式ID
TrackMediumID
int
外键
磁道介质ID
PreferentialWayID
int
外键
优惠方式ID
CardValidityPeriodSpecifiedID
int
外键
卡有效期指定方式ID
HairpinWithFaceValue
bit
发卡时有面值否
StoredValueCoupons
bit
储值优惠券标记否
ParticipateInTheScore
bit
参与消费积分否
leadCode
nchar(10)
前导码
PostpositionCode
nchar(10)
后置码
RequireTheSystemToMakeCard
bit
需要系统制卡否
NeedCompulsoryInspectionCard
bit
需要强制验卡否
LengthOfThePeriodOfValidity
nchar(10)
有效期长度
TrackContentEncryption
bit
磁道内容加密否
Invalid
bit
作废否
MembershipCardTypeCode
nchar(10)
会员卡类型代码
MembershipCardTypeName
nchar(30)
会员卡类型名称
KeepRecordsOfConsumption
bit
保存消费记录否
TotalLengthCardNumber
int
卡号总长度
OpenTheCouponAccount
bit
开通优惠券账户否
表6: 会员卡卡种表(Sys_MembersKakaKind)
用于存放会员卡卡种表信息
列名
数据类型
主键/外键
说明
MembersKakaKindID
int
主键
会员卡卡种ID
MembersKakaCode
nchar(10)
会员卡卡种代码
MembersKakaKindsOfNames
nchar(30)
会员卡卡种名称
Invalid
bit
作废否
第2步:服务层接口(IService)
在“MEMBCERP.IService”这个包下的“KuCunKaGuanLiIService”类中,定义查询库存卡作废恢复信息相关的方法接口,代码如下:
public List SelectAllZuoFeiHuiFu();/*查询全部作废恢复信息*/public List SelectZuoFeiHuiFu(int KuCunKaZuoFeiHuiFuID);/*根据库存卡作废恢复ID查询与上相对应的面值金额*/public List MoHuChaXunZuoFeiHuiFuJiLu(String MoHuJiLuBianHao,String MoHuHuiFuYuanYin);/*根据模糊记录编号和模糊恢复原因查询作废恢复记录*/public List SelectKuCunKaZuoFeiHuiFuMingXi(int KuCunKaZuoFeiHuiFuID);/*根据库存卡作废恢复ID查询库存卡作废恢复明细*/public List SelectZuoFeiKuCunKa(int HuiYuanKaLeiXingID, int BaoGuanDiDianID);/*根据会员卡类型ID和保管地点ID查询作废库存卡*/第3步:服务层(Service)在 “MEMBCERP.Service”这个包下的“KuCunKaGuanLiService”类中,定义查询库存卡作废恢复信息相关的方法接口实现,代码如下: /*查询全部作废恢复信息*/ @Override public List SelectAllZuoFeiHuiFu(){ try {/*尝试运行代码*/StringBuffer queryString = new StringBuffer();/*实例化StringBuffer*//*拼接需要查询的字段*/queryString.append("SELECT KuCunKaHuiFu.storeCardInvalidRecoveryId, KuCunKaHuiFu.recordNum, " +"DengJiRen.staffName, KuCunKaHuiFu.bookTime, KuCunKaHuiFu.isVerify, " +"KuCunKaHuiFu.verifyTime, ShenHeRen.staffName, KuCunKaHuiFu.recoveryReason ");/*实例化表*/queryString.append("FROM PwStoreCardInvalidRecovery AS KuCunKaHuiFu, SysStaff AS DengJiRen, " +"SysStaff AS ShenHeRen ");/*表与关系 满足条件*/queryString.append("WHERE KuCunKaHuiFu.bookerId = DengJiRen.staffId " +"AND KuCunKaHuiFu.verifierId = ShenHeRen.staffId ");return dao.findByHql(queryString.toString());} catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/return null;} } /*根据库存卡作废恢复ID查询与上相对应的面值金额*/@Overridepublic List SelectZuoFeiHuiFu(int KuCunKaZuoFeiHuiFuID){try {/*尝试运行代码*/StringBuffer queryString=new StringBuffer();/*实例化StringBuffer*//*拼接需要查询的字段*/queryString.append("SELECT ZuoFeiHuiFuMingXi.storeCardInvalidDetailsId ");/*实例化表*/queryString.append("FROM PwStoreCardInvalidRecoveryDetails AS ZuoFeiHuiFuMingXi ");/*表与关系 满足条件*/queryString.append("WHERE ZuoFeiHuiFuMingXi.storeCardInvalidRecoveryId = ? ");return dao.findByHql(queryString.toString(),new Object[]{KuCunKaZuoFeiHuiFuID});} catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/return null;}}/* 根据模糊记录编号 MoHuJiLuBianHao * 模糊恢复原因 MoHuHuiFuYuanYin * 查询作废恢复记录 * */@Overridepublic List MoHuChaXunZuoFeiHuiFuJiLu(String MoHuJiLuBianHao, String MoHuHuiFuYuanYin){try {/*尝试运行代码*/StringBuffer queryString = new StringBuffer();/*实例化StringBuffer*//*拼接需要查询的字段*/queryString.append("SELECT KuCunKaHuiFu.storeCardInvalidRecoveryId, KuCunKaHuiFu.recordNum, " +"DengJiRen.staffName, KuCunKaHuiFu.bookTime, KuCunKaHuiFu.isVerify, " +"KuCunKaHuiFu.verifyTime, ShenHeRen.staffName, KuCunKaHuiFu.recoveryReason ");/*实例化表*/queryString.append("FROM PwStoreCardInvalidRecovery AS KuCunKaHuiFu, SysStaff AS DengJiRen, " +"SysStaff AS ShenHeRen ");/*表与关系 满足条件*/queryString.append("WHERE KuCunKaHuiFu.bookerId = DengJiRen.staffId " +"AND KuCunKaHuiFu.verifierId = ShenHeRen.staffId " +"AND KuCunKaHuiFu.recordNum like '%' + ?+'%' " +"AND KuCunKaHuiFu.recoveryReason like '%' + ?+'%' ");return dao.findByHql(queryString.toString(),new Object[]{MoHuJiLuBianHao,MoHuHuiFuYuanYin});} catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/return null;}}/*根据库存卡作废恢复ID KuCunKaZuoFeiHuiFuID * 查询库存卡作废恢复明细 * */@Overridepublic List SelectKuCunKaZuoFeiHuiFuMingXi(int KuCunKaZuoFeiHuiFuID){try {/*尝试运行代码*/StringBuffer queryString = new StringBuffer();/*实例化StringBuffer*//*拼接需要查询的字段*/queryString.append("SELECT KuCunKaZuoFeiHuiFuMingXi.storeCardInvalidRecoveryDetailsId, " +"HuiYuanKaMingXi.membershipCardCardNumber, HuiYuanKaMingXi.nominalAmount, " +"HuiYuanKaKaZhong.membersKakaKindsOfNames, HuiYuanKaLeiXing.membershipCardTypeName, " +"HuiYuanKaBaoGuanDiDian.name,KuCunKaZuoFeiHuiFuMingXi.storeCardInvalidDetailsId ");/*实例化表*/queryString.append("FROM PwStoreCardInvalidRecoveryDetails AS KuCunKaZuoFeiHuiFuMingXi, " +"PwStoreCardInvalidDetails AS KuCunKaZuoFeiMingXi, PwMembershipCardDetails AS HuiYuanKaMingXi, " +"SysMembershipCardType AS HuiYuanKaLeiXing, SysMembersKakaKind AS HuiYuanKaKaZhong, " +"SysMembershipCardStorageLocation AS HuiYuanKaBaoGuanDiDian ");/*表与关系 满足条件*/queryString.append("WHERE KuCunKaZuoFeiHuiFuMingXi.storeCardInvalidRecoveryId = ? " +"AND KuCunKaZuoFeiHuiFuMingXi.storeCardInvalidDetailsId = KuCunKaZuoFeiMingXi.storeCardInvalidDetailsId " +"AND KuCunKaZuoFeiMingXi.membershipCardDetailsId = HuiYuanKaMingXi.membershipCardDetailsId " +"AND HuiYuanKaMingXi.membershipCardTypeId = HuiYuanKaLeiXing.membershipCardTypeId " +"AND HuiYuanKaLeiXing.membersKakaKindId = HuiYuanKaKaZhong.membersKakaKindId " +"AND HuiYuanKaMingXi.membershipCardStorageLocationId = HuiYuanKaBaoGuanDiDian.membershipCardStorageLocationId ");return dao.findByHql(queryString.toString(),new Object[]{KuCunKaZuoFeiHuiFuID});} catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/return null;}}
第4步:方法层(Action)
在“MEMBCERP.Action”这个包下的“KuCunKaGuanLiAction”类中,定义查询库存卡作废恢复信息相关的方法,代码如下:
/*查询库存卡作废恢复记录*/public String getKuCunKaZuoFeiHuiFu(){/*实例化一个Object数组*/JSONObject jsObj = new JSONObject();/*实例化一个Array数组*/JSONArray jsArr = new JSONArray();/*调用服务层方法,查询全部作废恢复信息*/List lsZuoFeiHuiFu = this.kuCunKaGuanLiService.SelectAllZuoFeiHuiFu();/*循环遍历服务层返回的结果集*/for (int i = 0; i < lsZuoFeiHuiFu.size(); i++) {Object[] obj=(Object[])lsZuoFeiHuiFu.get(i);/*清空jsObj数组*/jsObj.clear();/*写入参数*/jsObj.put("KuCunKaZuoFeiHuiFuID", obj[0]);jsObj.put("JiLuBianHao", obj[1]);jsObj.put("DengJiRen", obj[2]);jsObj.put("DengJiShiJian", obj[3]);jsObj.put("ShenHeZhuangTai", obj[4]);if(obj[4].toString().trim().equals("未审核")){jsObj.put("ShenHeShiJian","");jsObj.put("ShenHeRen","" );}else {jsObj.put("ShenHeShiJian", obj[5]);jsObj.put("ShenHeRen", obj[6]);}if (obj[7].toString().trim().equals("")) {jsObj.put("HuiFuYuanYin","" );} else {jsObj.put("HuiFuYuanYin", obj[7]);}/*调用服务层方法,查询与上相对应的面值金额*/List LsZuoFeiJinE = this.kuCunKaGuanLiService.SelectZuoFeiHuiFu(Integer.parseInt(obj[0].toString().trim()));jsObj.put("HuiFuShuLiang", LsZuoFeiJinE.size());/*将jsObj数组添加到jsArr数组*/jsArr.add(jsObj);}/*实例化一个哈希表*/HashMap<String, Object> jsMap=new HashMap<String, Object>();/*将jsArr数组写入到jsMap中*/jsMap.put("rows", jsArr);/*转换数组类型,并返回数组*/JSObj=JSONObject.fromObject(jsMap);return SUCCESS;}/*模糊查询库存卡作废记录*/ public String MoHuChaXunKuCunKaZuoFeiHuiFu() {/*实例化一个Array数组*/JSONArray jsArr=new JSONArray();/*实例化一个Object数组*/JSONObject jsObj=new JSONObject();String MoHuJiLuBianHao=this.getRequest().getParameter("MoHuJiLuBianHao").trim();String MoHuHuiFuYuanYin=encodingFunction.getMethodEncoding(this.getRequest().getParameter("MoHuHuiFuYuanYin").trim());List lsZuoFeiHuiFu=this.kuCunKaGuanLiService.MoHuChaXunZuoFeiHuiFuJiLu(MoHuJiLuBianHao,MoHuHuiFuYuanYin);for (int i = 0; i < lsZuoFeiHuiFu.size(); i++) {Object[] obj=(Object[])lsZuoFeiHuiFu.get(i);/*清空jsObj数组*/jsObj.clear();jsObj.put("KuCunKaZuoFeiHuiFuID", obj[0]);jsObj.put("JiLuBianHao", obj[1]);jsObj.put("DengJiRen", obj[2]);jsObj.put("DengJiShiJian", obj[3]);jsObj.put("ShenHeZhuangTai", obj[4]);if(obj[4].toString().trim().equals("未审核")){jsObj.put("ShenHeShiJian"," ");jsObj.put("ShenHeRen", " ");}else {jsObj.put("ShenHeShiJian", obj[5]);jsObj.put("ShenHeRen", obj[6]);}jsObj.put("HuiFuYuanYin", obj[7]);List LsZuoFeiJinE = this.kuCunKaGuanLiService.SelectZuoFeiHuiFu(Integer.parseInt(obj[0].toString().trim()));jsObj.put("HuiFuShuLiang", LsZuoFeiJinE.size());/*将jsObj数组添加到jsArr数组*/jsArr.add(jsObj);}/*实例化一个哈希表*/HashMap<String, Object> jsMap=new HashMap<String, Object>();/*将jsArr数组写入到jsMap中*/jsMap.put("rows", jsArr);/*转换数组类型,并返回数组*/JSObj=JSONObject.fromObject(jsMap);return SUCCESS;}/*查询恢复明细*/public String getKuCunKaZuoFeiHuiFuMingXi(){/*实例化一个Array数组*/JSONArray jsArr=new JSONArray();/*实例化一个Object数组*/JSONObject jsObj=new JSONObject();int KuCunKaZuoFeiHuiFuID=Integer.parseInt(this.getRequest().getParameter("KuCunKaZuoFeiHuiFuID"));List lsKuCunKaZuoFeiHuiFuMingXi=this.kuCunKaGuanLiService.SelectKuCunKaZuoFeiHuiFuMingXi(KuCunKaZuoFeiHuiFuID);for (int i = 0; i < lsKuCunKaZuoFeiHuiFuMingXi.size(); i++) {Object[] obj=(Object[]) lsKuCunKaZuoFeiHuiFuMingXi.get(i);jsObj.put("KuCunKaZuoFeiHuiFuMingXiID", obj[0]);jsObj.put("HuiYuanKaKaoHao", obj[1]);jsObj.put("MianZhiJinE", obj[2]);jsObj.put("KaZhongZhongLei", obj[3].toString().trim()+"•"+obj[3].toString().trim());jsObj.put("BaoGuanDiDian", obj[5]);/*将jsObj数组添加到jsArr数组*/jsArr.add(jsObj);}HashMap<String, Object> jsMap = new HashMap<String, Object>();/*将jsArr数组写入到jsMap中*/jsMap.put("rows", jsArr);/*转换数组类型,并返回数组*/JSObj=JSONObject.fromObject(jsMap);return SUCCESS;}
第5步: struts2的配置
<!-- 库存卡作废恢复 --> <action name="getKuCunKaZuoFeiHuiFu" class="KuCunKaGuanLiAction" method="getKuCunKaZuoFeiHuiFu"> <result type="json"> <param name="root">JSObj</param> </result> </action> <action name="MoHuChaXunKuCunKaZuoFeiHuiFu" class="KuCunKaGuanLiAction" method="MoHuChaXunKuCunKaZuoFeiHuiFu"> <result type="json"> <param name="root">JSObj</param> </result> </action> <action name="getKuCunKaZuoFeiHuiFuMingXi" class="KuCunKaGuanLiAction" method="getKuCunKaZuoFeiHuiFuMingXi"> <result type="json"> <param name="root">JSObj</param> </result> </action>
第6步:视图层调用
3.2.1.2.6(图1)
HTML代码:
<div class="XiaoBiaoti">库存卡作废恢复</div><div class="easyui-layout InYiJi"> <div data-options="region:'north'" style="height:75px"><div class="erJiBiaoTi" style="color:#0099FF">***查询条件***</div><hr style="border:solid 1px #CCCCCC;" /> <table> <tr class="JianKaclass"> <td>记录编号:<input type="text" id="txtMoHuJiLuBianHao" /></td><td>作废原因:<input type="text" id="txtMoHuHuiFuYuanYin" /></td><td><a onClick="btMoHuChaXun()" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a></td><td><a href="KuCunKaGuanLi/KuCunKaZuoFeiHuiFuInsert.jsp" class="easyui-linkbutton" data-options="iconCls:'icon-add'">添加</a></td> </tr> </table> </div> <div data-options="region:'center'"> <table id="dgKuCunKaZuoFei" class="easyui-datagrid" title="库存卡作废恢复记录" style="height:235px;" data-options="singleSelect:true,rownumbers:true,loadMsg:'加载中,请稍后...',url:'getKuCunKaZuoFeiHuiFu', idField:'KuCunKaZuoFeiHuiFuID',onClickRow:getKuCunKaZuoFeiHuiFuMingXi, onSelect:getSelect"> <thead> <tr> <th data-options="field:'JiLuBianHao',width:180,align:'center'">记录编号</th> <th data-options="field:'HuiFuShuLiang',width:100,align:'center'">恢复数量</th> <th data-options="field:'HuiFuYuanYin',width:160,align:'center'">恢复原因</th> <th data-options="field:'DengJiRen',width:100,align:'center'">登记人</th> <th data-options="field:'DengJiShiJian',width:110,align:'center'">登记时间</th> <th data-options="field:'ShenHeZhuangTai',width:100,align:'center'">审核状态</th> <th data-options="field:'ShenHeRen',width:100,align:'center'">审核人</th> <th data-options="field:'ShenHeShiJian',width:110,align:'center'">审核时间</th> <th data-options="field:'KuCunKaZuoFeiHuiFuID',width:120,align:'center',formatter:KuCunKaZuoFeiHuiFuCaoZuo">操作</th> </tr> </thead> </table> </div><div data-options="region:'south'" style="height:250px"> <table id="dgKuCunKaZuoFeiHuiFuMingXi" class="easyui-datagrid" title="库存卡作废恢复明细" style="height:245px" data-options="singleSelect:true,rownumbers:true,loadMsg:'加载中,请稍后...'"> <thead> <tr> <th data-options="field:'HuiYuanKaKaoHao',width:250,align:'center'">会员卡卡号</th> <th data-options="field:'MianZhiJinE',width:200,align:'center'">面值金额</th> <th data-options="field:'KaZhongZhongLei',width:210,align:'center'">会员卡类型</th> <th data-options="field:'BaoGuanDiDian',width:215,align:'center'">保管地点</th> <th data-options="field:'KuCunKaZuoFeiHuiFuMingXiID',width:205,align:'center',formatter:KuCunKaZuoFeiHuiFuMingXiCaoZuo">操作</th> </tr> </thead> </table> </div> </div><!-- 以下是弹窗模块 --> <div class="SeYuanGongXinXi" id="FromShenHeRen" > <div class="XiaoBiaoti">员工信息<span class="GuanBiAnNiuclass" onClick="btnGuanBi()">关闭</span></div> <table id="dgShenHeRen" class="easyui-datagrid" data-options="singleSelect:true,rownumbers:true,loadMsg:'加载中,请稍后...', collapsible:false, minimizable:false, maximizable:false, closable:false, url:'getYGXinXi', idField:'yuanGongID',onDblClickRow: DblShenHeRen"> <thead> <tr> <th data-options="field:'yuanGongID',width:120,hidden:true, align:'center'">员工ID</th> <th data-options="field:'yuanGongXingMing',width:55,align:'center'">员工姓名</th> <th data-options="field:'E-mail',width:115,align:'center'">E-mail</th> <th data-options="field:'ShouJiHaoMa',width:90,align:'center'">手机号码</th> <th data-options="field:'SuoShuMenDian',width:106,align:'center'">所属部门</th> </tr> </thead> </table> </div> <!-- 以上弹窗模块 -->
JavaScript代码:
//注册全局回车事件 $(function(){ document.onkeydown = function(e){ var ev = document.all ? window.event : e; if(ev.keyCode==13) { btMoHuChaXun(); } } $('#FromShenHeRen').hide();}); //改造年月日顺序 function myformatter(date){ var y = date.getFullYear(); var m = date.getMonth()+1; var d = date.getDate(); return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d); } function myparser(s){if (!s) return new Date();var ss = (s.split('-'));var y = parseInt(ss[0],10);var m = parseInt(ss[1],10);var d = parseInt(ss[2],10);if (!isNaN(y) && !isNaN(m) && !isNaN(d)){return new Date(y,m-1,d);} else {return new Date();}} function btMoHuChaXun(){ $("#dgKuCunKaZuoFei").datagrid({url:"MoHuChaXunKuCunKaZuoFeiHuiFu?MoHuJiLuBianHao="+$('#txtMoHuJiLuBianHao').val()+"&MoHuHuiFuYuanYin="+$('#txtMoHuHuiFuYuanYin').val()});}function getKuCunKaZuoFeiHuiFuMingXi(){var row = $('#dgKuCunKaZuoFei').datagrid('getSelected');if(row){ $("#dgKuCunKaZuoFeiHuiFuMingXi").datagrid({url:"getKuCunKaZuoFeiHuiFuMingXi?KuCunKaZuoFeiHuiFuID="+row.KuCunKaZuoFeiHuiFuID});}}function KuCunKaZuoFeiHuiFuCaoZuo(KuCunKaZuoFeiHuiFuID, row, rowIndex) {return "<a href='javascript:shenHe(" + KuCunKaZuoFeiHuiFuID + "," + rowIndex+ ")'>审核</a> " + "<a href='javascript:shanChu(" + KuCunKaZuoFeiHuiFuID + "," + rowIndex+ ")'>删除</a> ";}function KuCunKaZuoFeiHuiFuMingXiCaoZuo(KuCunKaZuoFeiHuiFuMingXiID, row, rowIndex) {return "<a href='javascript:shanChuMingXi(" + KuCunKaZuoFeiHuiFuMingXiID + "," + rowIndex+ ")'>删除</a> ";}//获取选中行的行号和数据 KuCunKaZuoFeiID var dgShenHeFou=""; var dgJiLuBianHao=""; function getSelect(rowIndex,rowData){ dgShenHeFou=rowData.ShenHeZhuangTai.trim(); dgJiLuBianHao=rowData.JiLuBianHao.trim();}//开启审核var ShenHeKuCunKaZuoFeiHuiFuID=0;function shenHe(KuCunKaZuoFeiHuiFuID, rowIndex) {if (dgShenHeFou == "已审核") {alert("记录编号【"+dgJiLuBianHao+ "】已通过审核,无法再进行审核!");} else {$('#FromShenHeRen').show();ShenHeKuCunKaZuoFeiHuiFuID=KuCunKaZuoFeiHuiFuID;$('#dgShenHeRen').datagrid('reload');}}//审核人双击事件 var ShenHeRenID=0; function DblShenHeRen() { var row = $('#dgShenHeRen').datagrid('getSelected'); if (row) { ShenHeRenID = row.yuanGongID; $('#FromShenHeRen').hide();ShenHeShiJian = myformatter(new Date());$.getJSON("ShenHeKuCunKaZuoFeiHuiFu?ShenHeKuCunKaZuoFeiHuiFuID="+ShenHeKuCunKaZuoFeiHuiFuID+"&ShenHeRenID="+ShenHeRenID+"&ShenHeShiJian="+ShenHeShiJian, function(result) {if (result == "true") {$('#dgKuCunKaZuoFei').datagrid('reload');$('#dgKuCunKaZuoFeiHuiFuMingXi').datagrid('reload');alert("审核成功!");} else {alert("审核失败!"); }}); } } //删除库存卡作废记录function shanChu(KuCunKaZuoFeiHuiFuID, rowIndex) {if (dgShenHeFou == "已审核") {alert("记录编号【"+dgJiLuBianHao+ "】已通过审核,无法再进行删除!");} else { if (confirm("是否删除记录编号为【"+dgJiLuBianHao+"】的数据?")) {$.getJSON("deleteKuCunKaZuoFeiHuiFu?KuCunKaZuoFeiHuiFuID=" + KuCunKaZuoFeiHuiFuID, function(result) {if (result == "true"){ $('#dgKuCunKaZuoFei').datagrid('reload');$('#dgKuCunKaZuoFeiHuiFuMingXi').datagrid('reload');alert("删除成功!");}}); } }}//删除明细function shanChuMingXi(KuCunKaZuoFeiHuiFuMingXiID, rowIndex) {if (dgShenHeFou == "已审核") {alert("记录编号【"+dgJiLuBianHao+ "】已通过审核,无法再进行删除!");} else { $.getJSON("deleteKuCunKaZuoFeiHuiFuMingXi?KuCunKaZuoFeiHuiFuMingXiID=" + KuCunKaZuoFeiHuiFuMingXiID+"&d="+new Date(), function(result) {if (result == "true"){$('#dgKuCunKaZuoFei').datagrid('reload');$('#dgKuCunKaZuoFeiHuiFuMingXi').datagrid('reload',null);alert("删除成功!");}}); }}function btnGuanBi(){$('#FromShenHeRen').hide();}
至此,会员卡管理系统技术解析(十五) 库存卡作废恢复记录查询 技术解析完毕。
注意:仅供学习,禁止用于商业用途!否则,后果自负。
@最终解析权归本人所有
- 会员卡管理系统技术解析(十五) 库存卡作废恢复记录查询
- 会员卡管理系统技术解析(十六)库存卡作废恢复记录添加
- 会员卡管理系统技术解析(十三)库存卡作废记录查询
- 会员卡管理系统技术解析(十四) 库存卡作废记录添加
- 会员卡管理系统技术解析(十一)会员卡作废记录查询
- 会员卡管理系统技术解析(十二)添加会员卡作废记录
- 会员卡管理系统技术解析(九)会员卡领卡记录查询
- 会员卡管理系统技术解析(十三)会员卡换卡记录查询
- 会员卡管理系统技术解析(十五)会员卡状态变动
- 会员卡管理系统技术解析(九)会员卡挂失恢复查询
- 会员卡管理系统技术解析(七) 会员卡建卡记录查询
- 会员卡管理系统技术解析(四)会员卡发放记录查询
- 会员卡管理系统技术解析(十一)会员卡退领记录查询
- 会员卡管理系统技术解析(七)会员卡挂失记录查询
- 会员卡管理系统技术解析(十七)库存年卡有效期变更
- 会员卡管理系统技术解析(八)会员卡建卡记录添加
- 会员卡管理系统技术解析(十) 会员卡领卡记录添加
- 会员卡管理系统技术解析(十四)添加会员卡换卡记录
- android studio 链式编程代码格式化
- Ajax(一)
- 消息队列处理方式
- 第十二周项目四-点丶圆的关系
- 四月逝去,五月再见
- 会员卡管理系统技术解析(十五) 库存卡作废恢复记录查询
- leecode Generate Parentheses
- fatal error LNK1104: cannot open file "Debug/构造函数.exe"
- 如何通过excel实现用户权限控制
- WCF广州本田整车销售系统技术解析(三) 订单新增功能实现分析
- TCP/IP 协议状态学习
- DJ's WebGL Tutorial 004--带贴图的矩形
- 泛型List和IList
- 单调递增子序列(优化)