|
@@ -0,0 +1,328 @@
|
|
|
|
|
+<%@ page import="java.util.Map" %>
|
|
|
|
|
+<%@ page import="java.util.TreeMap" %>
|
|
|
|
|
+<%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
|
|
|
|
|
+<%@ taglib uri="/ssTag" prefix="ss"%>
|
|
|
|
|
+
|
|
|
|
|
+<% pageContext.setAttribute(ss.page.PageC.PAGE_objName,"grcz");%>
|
|
|
|
|
+<%pageContext.setAttribute("wdpageinformation","{'hastab':'0'}");%>
|
|
|
|
|
+<!DOCTYPE html>
|
|
|
|
|
+<html>
|
|
|
|
|
+<head>
|
|
|
|
|
+<%@ include file="/page/clip/header.jsp" %>
|
|
|
|
|
+
|
|
|
|
|
+ <style>
|
|
|
|
|
+ .table-container>tr>th{
|
|
|
|
|
+ width:130px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ /* 把content-box的高度限制 从公共css 抽到具体有需要的页面 by xu 20251215 */
|
|
|
|
|
+ .form-container .content-box {
|
|
|
|
|
+ height: calc(100% - 80px) !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ td{
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: flex-start;
|
|
|
|
|
+ }
|
|
|
|
|
+ </style>
|
|
|
|
|
+
|
|
|
|
|
+</head>
|
|
|
|
|
+<body class="env-input-body">
|
|
|
|
|
+<form method="post" id="app" class="form-container">
|
|
|
|
|
+<div class="content-box fit-height-content">
|
|
|
|
|
+
|
|
|
|
|
+ <div class="content-div" ssFith="true">
|
|
|
|
|
+ <table class='form'>
|
|
|
|
|
+
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th style="width: 120px">退费类别</th>
|
|
|
|
|
+ <td >
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ss.dom.formElemConfig.grczlbm={val:'11',type:window.ss.dom.TYPE.ONOFFBTN};
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <%
|
|
|
|
|
+ Map<Integer,String > grczlbMap = (Map)(request.getAttribute("grczlbMap"));
|
|
|
|
|
+ for (Integer key : grczlbMap.keySet()) {
|
|
|
|
|
+ pageContext.setAttribute("k",key);
|
|
|
|
|
+ pageContext.setAttribute("v",grczlbMap.get(key));
|
|
|
|
|
+ %>
|
|
|
|
|
+
|
|
|
|
|
+ <ss-onoff
|
|
|
|
|
+v-model="grczlbm"
|
|
|
|
|
+name="grczlbm"
|
|
|
|
|
+label="${v}"
|
|
|
|
|
+value="${k}"
|
|
|
|
|
+:multiple="false"
|
|
|
|
|
+:null="false"
|
|
|
|
|
+placeholder="${v}"
|
|
|
|
|
+v-model="grczlbm"
|
|
|
|
|
+:readonly="false"
|
|
|
|
|
+></ss-onoff>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <%
|
|
|
|
|
+ }
|
|
|
|
|
+ %>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <%-- 再改,合并到 "班级" 里。Lin
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>人员类别</th>
|
|
|
|
|
+ <td >
|
|
|
|
|
+ <onoff@ss name="rylbm" mode="edit" rad="true" null="false" val="1100" />
|
|
|
|
|
+ <@input name="rylbm" value="学员" ssVal="1100" />
|
|
|
|
|
+ <@input name="rylbm" value="职工亲属" ssVal="1000" />
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ --%>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>班级/亲属</th>
|
|
|
|
|
+ <td >
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ss.dom.formElemConfig.bjid={val:null,type:window.ss.dom.TYPE.OBJP};
|
|
|
|
|
+</script>
|
|
|
|
|
+<ss-objp
|
|
|
|
|
+:opt="bjidOption"
|
|
|
|
|
+:inp="true"
|
|
|
|
|
+url="<ss:serv name='loadObjpOpt' parm='{"objectpickerdropdown":"1"}' />"
|
|
|
|
|
+cb="bj"
|
|
|
|
|
+v-model="bjid"
|
|
|
|
|
+name="bjid"
|
|
|
|
|
+:readonly="false"
|
|
|
|
|
+width="200px"
|
|
|
|
|
+onChange="handleBjChange"
|
|
|
|
|
+></ss-objp>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ss.dom.formElemConfig.rylbm={val:'1100',type:window.ss.dom.TYPE.ONOFFBTN};
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+ <ss-onoff
|
|
|
|
|
+v-model="rylbm"
|
|
|
|
|
+name="rylbm"
|
|
|
|
|
+label="职工亲属"
|
|
|
|
|
+value="1000"
|
|
|
|
|
+:multiple="true"
|
|
|
|
|
+:null="false"
|
|
|
|
|
+placeholder="职工亲属"
|
|
|
|
|
+v-model="rylbm"
|
|
|
|
|
+:readonly="false"
|
|
|
|
|
+onchange="handleRylbmChange"
|
|
|
|
|
+></ss-onoff>
|
|
|
|
|
+
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+
|
|
|
|
|
+<%-- 先去掉,接入读卡器时再加。Lin
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>卡号</th>
|
|
|
|
|
+ <td >
|
|
|
|
|
+ <@input name="kah"/>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+--%>
|
|
|
|
|
+
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>人员</th>
|
|
|
|
|
+ <td>
|
|
|
|
|
+ <input name="czryid" type="hidden" value='${sessionScope.ssUser.ryid}'/> <%-- 操作人员ID。Lin --%>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ss.dom.formElemConfig.ryid={val:null,type:window.ss.dom.TYPE.OBJP};
|
|
|
|
|
+</script>
|
|
|
|
|
+<ss-objp
|
|
|
|
|
+:opt="ryidOption"
|
|
|
|
|
+:inp="true"
|
|
|
|
|
+url="<ss:serv name='loadObjpOpt' parm='{"objectpickerdropdown":"1","objectpickerfilterField":"bjid,rylbm"}' />"
|
|
|
|
|
+cb="ryByBjOrRylb"
|
|
|
|
|
+v-model="ryid"
|
|
|
|
|
+name="ryid"
|
|
|
|
|
+:readonly="false"
|
|
|
|
|
+filterField="bjid,rylbm"
|
|
|
|
|
+onChange="selBaseInfoByRyid"
|
|
|
|
|
+></ss-objp>
|
|
|
|
|
+
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>部门/班级</th>
|
|
|
|
|
+ <td id='bmbj'></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>姓名</th>
|
|
|
|
|
+ <td id='xm'></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>人员号</th>
|
|
|
|
|
+ <td id='ryh'></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>金额</th>
|
|
|
|
|
+ <td><input name="je"/></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>描述</th>
|
|
|
|
|
+ <td><input name="ms"/></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <div class='bottom-div'>
|
|
|
|
|
+
|
|
|
|
|
+ <ss-bottom-button
|
|
|
|
|
+ id="saveAndCommit"
|
|
|
|
|
+ text="保存并提交"
|
|
|
|
|
+ onclick='ss.form.submit({url:"<ss:serv name='grcz_lr_tj' dest='addSure' parm='{thisViewObject:"grcz",dataType:"update"}'/>",width:881,height:361,minHeight:515,maxHeight:515,targetWin:null});'<%-- 最后一个参数原来为targetWin:parent导致刷新了顶层窗口,改为null Ben(20251215) --%>
|
|
|
|
|
+ icon-class="bottom-div-save"
|
|
|
|
|
+ ></ss-bottom-button>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <ss-bottom-button
|
|
|
|
|
+ text="关闭"
|
|
|
|
|
+ onclick='ss.display.closeDialog();'
|
|
|
|
|
+ icon-class="bottom-div-close"
|
|
|
|
|
+ ></ss-bottom-button>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+<input name='wdComponentID' type='hidden' value='grcz_grtfAdd'/></div></form>
|
|
|
|
|
+<script type="text/javascript">var wdRecordValue='${wdRecordValue}';</script>
|
|
|
|
|
+<script type="text/javascript" src="/ss/js/wdRecord.js"></script>
|
|
|
|
|
+<script type="text/javascript">(function(){wdRecord("grcz_grtfAdd");})();</script>
|
|
|
|
|
+<script type="text/javascript" src="/ss/js/wdFitHeight.js"></script>
|
|
|
|
|
+<script type="text/javascript">initWdFitHeight(0)</script>
|
|
|
|
|
+<script type="text/javascript">initWdFitHeightFunction=function(){initWdFitHeight(0);};</script>
|
|
|
|
|
+<ss:equal val="${empty resizeComponent}" val2="false">
|
|
|
|
|
+<script>{var iframe=wd.display.getFrameOfWindow();
|
|
|
|
|
+if(iframe&&iframe.contentWindow==window)
|
|
|
|
|
+wd.display.resizeComponent(${resizeComponent.width}, ${resizeComponent.height}, ${empty resizeComponent.minHeight?'null':resizeComponent.minHeight}, ${empty resizeComponent.maxHeight?'null':resizeComponent.maxHeight});}</script>
|
|
|
|
|
+</ss:equal>
|
|
|
|
|
+<ss:help/>
|
|
|
|
|
+</body>
|
|
|
|
|
+<script type="text/javascript">
|
|
|
|
|
+try{wd.display.showMsgPopup('${msg}');
|
|
|
|
|
+}catch(err){console.error(err);}
|
|
|
|
|
+</script>
|
|
|
|
|
+<ss:equal val="${empty wdclosewindowparam}" val2="false">
|
|
|
|
|
+<script type="text/javascript">
|
|
|
|
|
+try{wd.display.setCloseWindowParam('${wdclosewindowparam}');
|
|
|
|
|
+}catch(err){console.error(err);}
|
|
|
|
|
+</script>
|
|
|
|
|
+</ss:equal>
|
|
|
|
|
+
|
|
|
|
|
+</html>
|
|
|
|
|
+<%@ include file="/page/clip/footer.jsp" %>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ function getFormAppVm(){
|
|
|
|
|
+ var appEl = document.getElementById("app");
|
|
|
|
|
+ if (!appEl || !appEl.__vue_app__ || !appEl.__vue_app__._instance) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ return appEl.__vue_app__._instance.proxy || null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function normalizeRylbmValues(value){
|
|
|
|
|
+ if (Array.isArray(value)) {
|
|
|
|
|
+ return value.map(function(item){
|
|
|
|
|
+ return item == null ? "" : item.toString();
|
|
|
|
|
+ }).filter(Boolean);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (value == null || value === "") {
|
|
|
|
|
+ return [];
|
|
|
|
|
+ }
|
|
|
|
|
+ var cleanValue = value.toString().replace(/^,+/, "");
|
|
|
|
|
+ if (!cleanValue) {
|
|
|
|
|
+ return [];
|
|
|
|
|
+ }
|
|
|
|
|
+ return cleanValue.split(/[,|]/).filter(Boolean);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function hasRelativeRylbmValue(value){
|
|
|
|
|
+ return normalizeRylbmValues(value).indexOf("1000") !== -1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function clearRyDisplay(){
|
|
|
|
|
+ var bmbjEl = document.getElementById('bmbj');
|
|
|
|
|
+ var xmEl = document.getElementById('xm');
|
|
|
|
|
+ var ryhEl = document.getElementById('ryh');
|
|
|
|
|
+ if (bmbjEl) bmbjEl.innerHTML = "";
|
|
|
|
|
+ if (xmEl) xmEl.innerHTML = "";
|
|
|
|
|
+ if (ryhEl) ryhEl.innerHTML = "";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function clearRySelection(vm){
|
|
|
|
|
+ if (!vm) {
|
|
|
|
|
+ clearRyDisplay();
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ vm.ryid = "";
|
|
|
|
|
+ clearRyDisplay();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function handleRylbmChange(groupValue){
|
|
|
|
|
+ if (!hasRelativeRylbmValue(groupValue)) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ var vm = getFormAppVm();
|
|
|
|
|
+ if (!vm) {
|
|
|
|
|
+ clearRyDisplay();
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ vm.bjid = "";
|
|
|
|
|
+ clearRySelection(vm);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function handleBjChange(value){
|
|
|
|
|
+ if (value == null || value === "") {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ var vm = getFormAppVm();
|
|
|
|
|
+ if (!vm) {
|
|
|
|
|
+ clearRyDisplay();
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (hasRelativeRylbmValue(vm.rylbm)) {
|
|
|
|
|
+ vm.rylbm = "1100";
|
|
|
|
|
+ }
|
|
|
|
|
+ clearRySelection(vm);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function selBaseInfoByRyid(value){
|
|
|
|
|
+ $.ajax({
|
|
|
|
|
+ url:"<ss:serv name='ry_selBaseInfoByRyid'/>",
|
|
|
|
|
+ type:"post",
|
|
|
|
|
+ data:{
|
|
|
|
|
+ ryid:value
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType:"json",
|
|
|
|
|
+ success:function(data){
|
|
|
|
|
+ if (data.ssCode != 0) {
|
|
|
|
|
+ alert(data.ssMsg);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ var d = data.ssData;
|
|
|
|
|
+ document.getElementById('xm').innerHTML = d.xm;
|
|
|
|
|
+ document.getElementById('ryh').innerHTML = d.ryh;
|
|
|
|
|
+ if (d.rylbm != 1100) { // 不是学员。Lin
|
|
|
|
|
+ if (d.bmmc)
|
|
|
|
|
+ document.getElementById('bmbj').innerHTML = d.bmmc;
|
|
|
|
|
+ else
|
|
|
|
|
+ document.getElementById('bmbj').innerHTML = "(无)";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (d.bjmc)
|
|
|
|
|
+ document.getElementById('bmbj').innerHTML = d.bjmc;
|
|
|
|
|
+ else
|
|
|
|
|
+ document.getElementById('bmbj').innerHTML = "(无)";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+</script>
|