| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
- <%@ taglib uri="/ssTag" prefix="ss"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
- <script src="/js/load.js"></script> <%-- ="/newUI/ss/js/base.js"。Lin(新UI) --%>
- <script type="text/javascript" src="/js/display.js"></script>
- <script type="text/javascript" src="/js/form.js"></script>
- <%-- <script type="text/javascript" src="/ss/js/display.js"></script>--%>
- <%-- <script type="text/javascript" src="/ss/jquery/jquery.js"></script>--%>
- <%-- <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>--%>
- <%-- <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script> --%>
- <%-- <script type="module" src="/newUI/ss/js/validation-manager.js"></script>
- <script type="module" src="/newUI/ss/js/validator-rules.js"></script> --%>
- <script>
- window.ss.dom.formElemConfig = window.ss.dom.formElemConfig || {};<%-- 放当前页面表单元素配置的变量--%>
- window.ss.dom.btnElemConfig = window.ss.dom.btnElemConfig|| {};<%-- 放当前页面按钮元素配置的变量 Ben(20251211) --%>
- </script>
- <style>
- .table-container>tr>th{
- width:130px !important;
- }
- /* 把content-box的高度限制 从公共css 抽到具体有需要的页面 by xu 20251215 */
- .form-container .content-box {
- height: calc(100% - 80px) !important;
- }
- </style>
- </head>
- <body class="env-input-body">
- <form method="post" id="app" class="form-container">
- <%-- 改为 <data@ss name="inp"/>。Lin
- <tab@ss name="include_input"/> --%>
- <ss:data name='inp'/>
- <div class="content-box fit-height-content">
- <jsp:include page="${include_input}" flush="true"/>
- <%-- <jsp:include page="/page/2ry_inp.jsp" flush="true"/>--%>
- </div>
- <div class='bottom-div'>
- <ss:equal val='${empty saveDest}' val2='false'>
- <%-- 保存按钮 --%>
- <ss-bottom-button
- text="${saveButtonValue}"
- <%-- type="submit"--%>
- onclick='ss.form.submit({url:"<ss:serv name='${save}' dest='${saveDest}' parm='${saveParam}'/>",width:${savewidth},height:${saveheight},minHeight:${saveminheight},maxHeight:${savemaxheight}});'
- <%-- onclick='wd.display.changeFormAction("<ss:serv name='${save}' dest='${saveDest}' parm='${saveParam}'/>",this,${savewidth},${saveheight},${saveminheight},${savemaxheight});'--%>
- icon-class="bottom-div-save"
- ></ss-bottom-button>
- </ss:equal>
- <%-- <div class="bottom-down-div border-top"> --%>
- <%-- <ss:equal val='${empty saveDest}' val2='false'>--%>
- <!-- 保存按钮 start -->
- <%-- <input v-show="false" type="submit" value="${saveButtonValue}" class="bottom-button"
- onclick='ss.display.changeFormAction("<ss:serv name='${save}' dest='${saveDest}' parm='${saveParam}'/>",this,${savewidth},${saveheight},${saveminheight},${savemaxheight});'
- > --%>
- <!-- 保存按钮 end -->
- <%-- </ss:equal>--%>
- <ss:equal val='${empty saveAndCommitDest}' val2='false'>
- <ss-bottom-button
- style="display:none"
- id="saveAndCommit"
- text="${saveAndCommitButtonValue}"
- onclick='ss.form.submit({url:"<ss:serv name='${saveAndCommit}' dest='${saveAndCommitDest}' parm='${saveAndCommitParam}'/>",width:${saveAndCommitwidth},height:${saveAndCommitheight},minHeight:${saveAndCommitminheight},maxHeight:${saveAndCommitmaxheight},targetWin:null});'<%-- 最后一个参数原来为targetWin:parent导致刷新了顶层窗口,改为null Ben(20251215) --%>
- icon-class="bottom-div-save"
- ></ss-bottom-button>
- <!-- 保存并提交按钮 start -->
- <%-- <input type="button" value="${saveAndCommitButtonValue}" class="bottom-button"
- onclick='ss.display.reset("dialog",this,"<ss:serv name='${saveAndCommit}' dest='${saveAndCommitDest}' parm='${saveAndCommitParam}'/>",${saveAndCommitwidth},${saveAndCommitheight},${saveAndCommitminheight},${saveAndCommitmaxheight});'
- > --%>
- <!-- 保存并提交按钮 end -->
- </ss:equal>
- <ss:equal val='${empty changeNoFunctions}' val2='false'>
- <%--只有一个变动--%>
- <!-- 只有一个变动时的 停用按钮 start -->
- <ss:equal val='${changeNoSize}' val2='1'>
- <ss-bottom-button
- text="${changeNoFunctions[0].desc}"
- onclick='ss.form.submit({url:"<ss:serv name='${changeNoFunctions[0].servName}' dest='${changeNoFunctions[0].dest}' parm='{ssObjId:"${ssObjId}",ssObjName:"${ssObjName}","${ssObjIdName}":"${ssObjId}",dataType:"${empty dataType?1:dataType}",requestParentViewObject:"${requestParentViewObject}"}'/>",width:${changeNoFunctions[0].width},height:${changeNoFunctions[0].height},minHeight:${changeNoFunctions[0].minHeight},maxHeight:${changeNoFunctions[0].maxHeight},targetWin:parent});'
- icon-class="bottom-div-close"
- ></ss-bottom-button>
- <%-- <input type="button" value="${changeNoFunctions[0].name}" class="bottom-button"
- onclick='ss.display.reset("dialog",this,"<ss:serv name='${changeNoFunctions[0].servName}' dest='${changeNoFunctions[0].dest}' parm='{ssObjId:"${ssObjId}",ssObjName:"${ssObjName}","${ssObjIdName}":"${ssObjId}",dataType:"${empty dataType?1:dataType}",requestParentViewObject:"${requestParentViewObject}"}'/>",${changeNoFunctions[0].width},${changeNoFunctions[0].height},${changeNoFunctions[0].minHeight},${changeNoFunctions[0].maxHeight});'
- > --%>
- </ss:equal>
- <!-- 只有一个变动 end -->
- <%--有多个变动--%>
- <!--有多个变动 start -->
- <ss:notEqual val='${changeNoSize}' val2='1'>
- <%-- 更多变动按钮数据 Ben(20251211) --%>
- <script>
- window.ss.dom.btnElemConfig.moreChg={desc:"更多变动",dropOptions:[]};
- </script>
- <ss:rpt id='item' name='changeNoFunctions'>
- <script>
- window.ss.dom.btnElemConfig.moreChg.dropOptions.push(
- {
- desc:'${item.desc}',<%-- 按钮名 --%>
- callback: function(){
- ss.form.submit({url:"<ss:serv name='${item.servName}' dest='${item.dest}' parm='{ssObjId:"${ssObjId}",ssObjName:"${ssObjName}","${ssObjIdName}":"${ssObjId}",dataType:"${empty dataType?1:dataType}",requestParentViewObject:"${requestParentViewObject}"}'/>",width:${item.width},height:${item.height},minHeight:${item.minHeight},maxHeight:${item.maxHeight},targetWin:parent});
- }
- }
- );
- </script>
- <%-- 改成vue写法 Ben(20251211)
- <input style="display:none;" class="changebutton" index="${index}" type="button" value="${item.desc}"
- onclick='ss.form.submit({url:"<ss:serv name='${item.servName}' dest='${item.dest}' parm='{ssObjId:"${ssObjId}",ssObjName:"${ssObjName}","${ssObjIdName}":"${ssObjId}",dataType:"${empty dataType?1:dataType}",requestParentViewObject:"${requestParentViewObject}"}'/>",width:${item.width},height:${item.height},minHeight:${item.minHeight},maxHeight:${item.maxHeight},targetWin:parent});'
- >
- --%>
- </ss:rpt>
- <%-- 修改支持更多按钮 by xu 20251211 --%>
- <ss-bottom-button
- more="moreChg"
- ></ss-bottom-button>
- <%-- 改成vue写法 Ben(20251211)
- <input id="morebutton" type="button" value="更多变动" class="bottom-button"/>
- <script>ss.display.attachButton("morebutton","changebutton");</script>
- --%>
- </ss:notEqual>
- <!--有多个变动 end -->
- </ss:equal>
- <!-- 删除按钮 start -->
- <ss:equal val='${empty deleteDest}' val2='false'>
- <%--
- <input type="submit" value="删除" onclick="wd.display.changeFormAction("<wd:token service='${delete}' dest='${deleteDest}' param='${deleteParam}' test='' />",this);" class="bottom-button" ></wd:equal>
- --%>
- <ss-bottom-button
- text="${deleteButtonValue}"
- onclick='ss.form.confirm("删除","是否删除?",function (){ss.form.submit({url:"<ss:serv name='${delete}' dest='${deleteDest}' parm='${deleteParam}'/>",targetWin:parent});},null)'
- <%-- onclick='ss.display.confirm("删除","是否删除?",(function(button){return function(){var form=document.querySelector("form");button.form=form;form.setAttribute("vvv","2");--%>
- <%-- form.setAttribute("action",--%>
- <%-- "<ss:serv name='${delete}' dest='${deleteDest}' parm='${deleteParam}'/>");--%>
- <%-- ss.display.submitToTopTab(button);form.submit();}})(this))'--%>
- icon-class="bottom-div-close"
- ></ss-bottom-button>
- <%-- <input id="deleteButton" type="button" value="${deleteButtonValue}"
- onclick='wd.display.confirm("删除","是否删除?",(function(button){return function(){var form=document.querySelector("form");button.form=form;form.setAttribute("vvv","2");
- form.setAttribute("action",
- "<ss:serv name='${delete}' dest='${deleteDest}' parm='${deleteParam}'/>");
- wd.display.submitToTopTab(button);form.submit();}})(this))'
- class="bottom-button"
- > --%>
- </ss:equal>
- <!-- 删除按钮 end -->
- <%-- 再增加 删除二级对象的基本情况变动 功能 -- "删除变动" 按钮。Start。Lin --%>
- <!-- 删除二级对象的基本情况变动 功能 -- "删除变动" 按钮。Start -->
- <ss:equal val='${empty delChildChgDest}' val2='false'>
- <ss-bottom-button
- text="${delChildChgButtonValue}"
- onclick='ss.form.confirm("删除","是否删除?",function (){ss.form.submit({url:"<ss:serv name='${delChildChg}' dest='${delChildChgDest}' parm='${delChildChgParam}'/>",targetWin:parent});},null)'
- <%-- onclick='ss.display.confirm("删除变动","是否删除基本情况变动?",(function(button){return function(){var form=document.querySelector("form");button.form=form;form.setAttribute("vvv","2");--%>
- <%-- form.setAttribute("action",--%>
- <%-- "<ss:serv name='${delChildChg}' dest='${delChildChgDest}' parm='${delChildChgParam}'/>");--%>
- <%-- wd.display.submitToTopTab(button);form.submit();}})(this))'--%>
- icon-class="bottom-div-close"
- ></ss-bottom-button>
- <%-- <input id="delChildChgButton" type="button" value="${delChildChgButtonValue}"
- onclick='ss.display.confirm("删除变动","是否删除基本情况变动?",(function(button){return function(){var form=document.querySelector("form");button.form=form;form.setAttribute("vvv","2");
- form.setAttribute("action",
- "<ss:serv name='${delChildChg}' dest='${delChildChgDest}' parm='${delChildChgParam}'/>");
- wd.display.submitToTopTab(button);form.submit();}})(this))'
- class="bottom-button"
- > --%>
- </ss:equal>
- <!-- 删除二级对象的基本情况变动 功能 -- "删除变动" 按钮。end -->
- <%-- 再增加 删除二级对象的基本情况变动 功能 -- "删除变动" 按钮。End。Lin --%>
- <!-- 停用start -->
- <ss:equal val='${empty disableSubmitDest}' val2='false'>
- <ss-bottom-button
- text="${disableSubmitButtonValue}"
- onclick='ss.form.submit({url:"<ss:serv name='${disableSubmit}' dest='${disableSubmitDest}' parm='${disableSubmitParam}'/>",width:${disableSubmitwidth},height:${disableSubmitheight},minHeight:${disableSubmitminheight},maxHeight:${disableSubmitmaxheight},targetWin:parent});'
- <%-- onclick='ss.display.reset("dialog",this,"<ss:serv name='${disableSubmit}' dest='${disableSubmitDest}' parm='${disableSubmitParam}'/>",${disableSubmitwidth},${disableSubmitheight},${disableSubmitminheight},${disableSubmitmaxheight});'--%>
- icon-class="bottom-div-close"
- ></ss-bottom-button>
- <!-- <input type="submit" value="${disableSubmitButtonValue}" class="bottom-button"
- onclick='ss.display.reset("dialog",this,"<ss:serv name='${disableSubmit}' dest='${disableSubmitDest}' parm='${disableSubmitParam}'/>",${disableSubmitwidth},${disableSubmitheight},${disableSubmitminheight},${disableSubmitmaxheight});'
- > -->
- </ss:equal>
- <!-- 停用end -->
- <ss-bottom-button
- text="关闭"
- onclick='ss.display.closeDialog();'
- icon-class="bottom-div-close"
- ></ss-bottom-button>
- <%-- <input type="button" value="关闭" onclick="ss.display.closeDialog();" class="bottom-button"> --%>
- <%--
- ${param}
- --%>
- <%-- </div> --%>
- </div>
- </form>
- </body>
- </html>
- <script type="module">
-
- const data = {};
- if (window.SS.dom.formElemConfig) {
- Object.entries(window.SS.dom.formElemConfig).forEach(([key, config]) => {
- data[key] = config.val;
- // 处理 objPicker
- if (config.type === window.SS.dom.TYPE.OBJPICKER) {
- data[key + "ObjPicker"] = true;
- data[key + "Option"] = [];
- data[key + "Url"] = config.url;
- }
-
- // 处理datepicker
- if (config.type === window.SS.dom.TYPE.DATE) {
- data[key + "Mode"] = config.mode
- console.log(data[key + "Mode"]);
- }
- // 处理富文本编辑器
- if (config.type === window.SS.dom.TYPE.RICHTEXT) {
- data[key + "Url"] = config.val;
- data[key + "editor"] = config.val;
- }
- // 处理onoff
- if (config.type === window.SS.dom.TYPE.ONOFFBTN) {
- data[key] = config.val.split('|');
- }
- if (config.type === window.SS.dom.TYPE.IMG) {
- data[key + "showUrl"] = config.showUrl;
- data[key + "uploadUrl"] = config.uploadUrl;
- }
- });
- }
- // console.log("data",data);
- SS.ready(function () {
- if(ss.dom.formVmConfig)//加判断条件,页面有校验配置时,才运行下面的 Ben(20251206)
- for (let i = 0; i < ss.dom.formVmConfig.length; i++) {
- const item = ss.dom.formVmConfig[i];
- // 处理每个元素
- let rule = item.rule;
- let fieldArr = item.field;
- let param = item.param;
- let fieldValMap = [];
- for (let i = 0; i < fieldArr.length; i++) {//校验程序增加传入表单元素的值fieldValMap Ben(20260107)
- const field = fieldArr[i];
- fieldValMap[field] = window.SS.dom.formElemConfig[field].val;
- }
- window.ssVm.add(rule, fieldArr, param ,fieldValMap);//校验程序增加传入表单元素的值fieldValMap Ben(20260107)
- }
-
- // 在这里直接初始化,不需要等待 load 事件
- window.SS.dom.initializeFormApp({
- el: "#app",
- data(){
- return data;
- },
- methods: {
- onChange(value){
- // console.log(value)
- },
- myChange(value){
- // alert(value);
- // console('@@@myChange:'+value);
- },
- save(){
- $('form').attr('action','<ss:serv name='${save}' dest='${saveDest}' parm='${saveParam}'/>');//name:${save},dest='${saveDest}',parm='${saveParam}'
- $('form').submit();
-
- }
- },
- mounted() {
- const self = this;
- // 在这里可以使用 Vue 实例
- Object.entries(this.$data).forEach(([key, value]) => {
-
- // 处理 CCPSINGLE
- if (key.includes('CCPSINGLE')) {
- const originalKey = key.replace('CCPSINGLE', '');
- const self = this;
- // 只有第一个字段需要自动加载
- if (this[originalKey + "InitLoad"]) {
- ccpsingleFirstLoad(this[originalKey + "Url"], key).then(result =>{
- this[originalKey+'Option'] = result;
- })
- }
- // 绑定 change 事件
- this[originalKey + 'Change'] = async function(value) {
- const objP = self[originalKey + "objP"] || [];
- const currentIndex = objP.indexOf(originalKey);
- const children = currentIndex < 0 || currentIndex >= objP.length - 1 ? [] : objP.slice(currentIndex + 1);
- await doCascade({
- children,
- value,
- vm: self,
- loadData: (value) => getCcpsingleValue(children,value),
- });
- };
- }
- // 如果是 CCPSINGLE 类型
- if (key.includes('CCPMUTIPLE')) {
- const originalKey = key.replace('CCPMUTIPLE', '');
- const self = this;
- // 只有第一个字段需要自动加载
- if (this[originalKey + "InitLoad"]) {
- ccpsingleFirstLoad(this[originalKey + "Url"], key).then(result =>{
- this[originalKey+'Option'] = result;
- })
- }
- // 绑定 change 事件
- this[originalKey + 'Change'] = async function(value) {
- const objP = self[originalKey + "objP"] || [];
- const currentIndex = objP.indexOf(originalKey);
- const children = currentIndex < 0 || currentIndex >= objP.length - 1 ? [] : objP.slice(currentIndex + 1);
- await doCascade({
- children,
- value,
- vm: self,
- loadData: (value) => getCcpsingleValue(children,value),
- });
- };
- }
-
- });
- }
- })
- });
- </script>
- <%--<script type="text/javascript">--%>
- <%-- tokenCleanser("<ss:serv name='ss.clearPageToken'/>", {tokenList:"<%= pageContext.getAttribute(ss.page.PageC.PAGE_tokenList)%>"});--%>
- <%--</script>--%>
|