merchantAdd.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814
  1. <html xmlns:th="http://www.thymeleaf.org">
  2. <head>
  3. <title>私塾家</title>
  4. <script th:include="sys/common/metaCSS" th:remove="tag"></script>
  5. <script th:include="sys/common/metaJS" th:remove="tag"></script>
  6. <script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/js/city/city.json.js}"></script>
  7. <script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/js/city/citySetMe_V.js}"></script>
  8. <script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/js/city/Popt.js}"></script>
  9. <script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/sys/js/My97DatePicker/WdatePicker.js}"></script>
  10. </head>
  11. <style type="text/css">
  12. body{min-width:180px;}
  13. .select1{
  14. width:100%;
  15. height: 32px;
  16. line-height: 32px;
  17. border-top: solid 1px #a7b5bc;
  18. border-left: solid 1px #a7b5bc;
  19. border-right: solid 1px #ced9df;
  20. border-bottom: solid 1px #ced9df;
  21. opacity:1;
  22. margin-bottom: 10px;
  23. }
  24. .btn{
  25. width: 100px;
  26. }
  27. label.control-label-error {color: Red;}
  28. ._citys { background-color: whitesmoke;width: 450px; display: inline-block; border: 2px solid #eee; padding: 5px; position: relative; }
  29. ._citys span { color: #05920a; height: 15px; width: 15px; line-height: 15px; text-align: center; border-radius: 3px; position: absolute; right: 10px; top: 10px; border: 1px solid #05920a; cursor: pointer; }
  30. ._citys0 { width: 95%; height: 34px; line-height: 34px; display: inline-block; border-bottom: 2px solid #05920a; padding: 0px 5px; font-size:14px; font-weight:bold; margin-left:6px; }
  31. ._citys0 li { display: inline-block; line-height: 34px; font-size: 15px; color: #888; width: 80px; text-align: center; cursor: pointer; }
  32. ._citys1 { width: 100%; display: inline-block; padding: 10px 0; }
  33. ._citys1 a { width: 83px; height: 35px; display: inline-block; background-color: #f5f5f5; color: #666; margin-left: 6px; margin-top: 3px; line-height: 35px; text-align: center; cursor: pointer; font-size: 12px; border-radius: 5px; overflow: hidden; }
  34. ._citys1 a:hover { color: #fff; background-color: #05920a; }
  35. .AreaS { background-color: #05920a !important; color: #fff !important; }
  36. #school{
  37. margin-left: 110px;
  38. padding-bottom: 10px;
  39. }
  40. #school span{
  41. min-width: 25%;
  42. float: left;
  43. margin-bottom: 10px;
  44. }
  45. .joinseachform li{
  46. width: 50%;
  47. margin-right: 0px;
  48. padding-right: 0px;
  49. }
  50. .schoolseachform li{
  51. width: 50%;
  52. margin-right: 0px;
  53. padding-right: 0px;
  54. }
  55. dtext{
  56. color: red;
  57. cursor: pointer;
  58. }
  59. .forminfo li label{
  60. width: 200px;
  61. text-align: right;
  62. padding-right: 10px
  63. }
  64. </style>
  65. <body>
  66. <div class="place">
  67. <span>位置:</span>
  68. <ul class="placeul">
  69. <li><a href="#">商户建立</a></li>
  70. <li><a href="#">端口商户建立</a></li>
  71. </ul>
  72. </div>
  73. <div class="formbody">
  74. <ul class="forminfo" style="min-width: 830px;">
  75. <li style="margin-bottom: 20px">
  76. <label>商户账号:<b>*</b></label>
  77. <input autocomplete="off" th:if="${merchant.id==null}" type="text" id="poscode" class="dfinput fl" name="poscode" style="float: left;" th:value="${merchant.posCode}" placeholder=" 请输入端口商户账号,由字母或数字组成" />
  78. <input autocomplete="off" th:if="${merchant.id!=null}" disabled="disabled" type="text" id="poscode" class="dfinput fl" name="poscode" style="float: left;" th:value="${merchant.posCode}" />
  79. <br/>
  80. </li>
  81. <li th:if="${merchant.id==null}" style="margin-bottom: 20px">
  82. <label>初始密码:<b>*</b></label>
  83. <input type="text" id="password" class="dfinput fl" name="password" style="float: left;" value="00000000" autocomplete="off" placeholder=" 输入端口商户密码,默认:00000000" />
  84. <br/>
  85. </li>
  86. <li>
  87. <label>商户名称:合作名称/合作校区:<b>*</b></label>
  88. <input type="text" id="unitname" class="dfinput fl" name="unitname" th:value="${merchant.unitName}" autocomplete="off" placeholder=" 请输入端口商户名称" />
  89. </li>
  90. <li id="location_wrap" >
  91. <label th:if="${merchant.location==null || merchant.location==''}">商户区域:<b>*</b></label>
  92. <label th:if="${merchant.location!=null && merchant.location!=''}">修改区域:<b>*</b></label>
  93. <div class="wrap">
  94. <div class="vocation" style="margin-right: 5px; width: 100px">
  95. <select name="province" id="province" class="select1" onchange="funcprovince()">
  96. <option data-type="1" value="" >选择省</option>
  97. </select>
  98. </div>
  99. <div class="vocation" style="margin-right: 5px; width: 100px">
  100. <select name="city" id="city" class="select1" onchange="funccity()">
  101. <option data-type="2" value="" >选择市</option>
  102. </select>
  103. </div>
  104. <div class="vocation" style="margin-right: 5px; width: 100px">
  105. <select name="area" id="area" class="select1" onchange="funcarea()">
  106. <option data-type="3" value="" >选择区</option>
  107. </select>
  108. </div>
  109. <div class="vocation" style="margin-right: 5px; width: 130px">
  110. <input name="libId" id="libId" class="select1" type="text" autocomplete="off" onfocus="funcblurlibId()" placeholder=" 请选择绑定机构" >
  111. <input name="radiolibId" id="radiolibId" type="hidden" >
  112. </div>
  113. <div class="vocation" style="margin-right: 5px; width: 130px">
  114. <input name="schooltext" id="schooltext" class="select1" autocomplete="off" type="text" onfocus="funcblurschooltext()" placeholder=" 请选择绑定学校" >
  115. </div>
  116. </div>
  117. </li>
  118. <li>
  119. <label>套餐:套餐类型:<b>*</b></label>
  120. <div class="vocation" style="margin-right: 5px; width: 345px">
  121. <select name="mealType" id="mealType" class="select1" >
  122. <option value="1" th:selected="${merchant.mealType==1 ? true : false}">优选套餐</option>
  123. <option value="2" th:selected="${merchant.mealType==2 ? true : false}">VIP套餐</option>
  124. <option value="3" th:selected="${merchant.mealType==3 ? true : false}">尊享套餐</option>
  125. </select>
  126. </div>
  127. </li>
  128. <li>
  129. <label>合同日期:<b >*</b></label>
  130. <input type="hidden" id="minDate" value="2020-01-01" >
  131. <input type="text" id="signTime" name="signTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'minDate\')}'})" autocomplete="off" th:value="${#dates.format(merchant.signTime, 'yyyy-MM-dd')}" class="scinput date_width " placeholder="合同开始日期">
  132. &nbsp;&nbsp;&nbsp;~~&nbsp;&nbsp;
  133. <input type="text" id="endSignTime" name="endSignTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'signTime\')}'})" autocomplete="off" th:value="${#dates.format(merchant.endSignTime, 'yyyy-MM-dd')}" class="scinput date_width" placeholder="合同结束日期">
  134. </li>
  135. <li style="display: none">
  136. <label>激活开始日期:<b >*</b></label>
  137. <input type="text" class="dfinput fl" id="startActiveTime" name="startActiveTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',autoPickDate:true})" autocomplete="off" th:value="${#dates.format(merchant.startActiveTime, 'yyyy-MM-dd')}" placeholder="合同开始激活日期">
  138. </li>
  139. <li style="display: none">
  140. <label>激活结束日期:<b >*</b></label>
  141. <input type="text" class="dfinput fl" id="activeTime" name="activeTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',autoPickDate:true})" autocomplete="off" th:value="${#dates.format(merchant.activeTime, 'yyyy-MM-dd')}" placeholder="合同结束激活日期">
  142. </li>
  143. <li style="display: none">
  144. <label>计费开始日期:<b >*</b></label>
  145. <input type="text" class="dfinput fl" id="computeTime" name="computeTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',autoPickDate:true})" autocomplete="off" th:value="${#dates.format(merchant.computeTime, 'yyyy-MM-dd')}" placeholder="计费开始日期">
  146. </li>
  147. <li th:style="${ #httpSession.getAttribute('admin') !=null && #lists.contains(#httpSession.getAttribute('admin').authorities,'超级管理员角色') ? '' : 'display: none' }">
  148. <label>上级渠道:<b >*</b></label>
  149. <div class="vocation" style="margin-right: 5px; width: 345px">
  150. <select name="parentposcode" id="parentposcode" class="select1" th:disabled="${merchant.id!=null || curMerchant.orgCode ne 'SSJ-FX' ? 'true' : 'false'}" >
  151. <option th:each="item:${poslist}" th:selected="${merchant.id==null ? (item.posCode eq 'ssj001' ? true : false) : (merchant.parentPosCode eq item.posCode ? true : false)}" th:if="${item.orgCode ne 'SSJ-FX' && #strings.contains(item.orgCode,curMerchant.orgCode) }" th:data-orgcode="${item.orgCode}" th:data-id="${item.id}" th:value="${item.posCode}" th:text="${item.unitName}+' ['+${item.posCode}+']'"></option>
  152. </select>
  153. </div>
  154. </li>
  155. <li style="display: none">
  156. <label>商户级别:<b>*</b></label>
  157. <div class="vocation" style="margin-right: 5px; width: 345px">
  158. <select name="level" id="level" class="select1">
  159. <option value="4" th:selected="${merchant.level==4 ? true : false}">普通</option>
  160. <option value="1" th:selected="${merchant.level==1 ? true : false}">市代</option>
  161. <option value="2" th:selected="${merchant.level==2 ? true : false}">区代</option>
  162. <option value="3" th:selected="${merchant.level==3 ? true : false}">学校独家</option>
  163. </select>
  164. </div>
  165. </li>
  166. <li>
  167. <label>商户类型:<b>*</b></label>
  168. <div class="vocation" style="margin-right: 5px; width: 345px">
  169. <select name="type" id="type" class="select1">
  170. <option value="5" th:selected="${merchant.type==5 ? true : false}">直接签约(端口模式)</option>
  171. <!-- <option value="1" th:selected="${merchant.type==1 ? true : false}">直接签约(旧模式)</option> -->
  172. <option value="2" th:selected="${merchant.type==2 ? true : false}">内部消耗</option>
  173. <option value="3" th:selected="${merchant.type==3 ? true : false}">外部签约</option>
  174. <option value="4" th:selected="${merchant.type==4 ? true : false}">内部不结算(财务)</option>
  175. <!-- <option value="6" th:selected="${merchant.type==6 ? true : false}">旧转新(新不结算)</option> -->
  176. <!-- <option value="7" th:selected="${merchant.type==7 ? true : false}">旧转新(新旧不结算)</option> -->
  177. </select>
  178. </div>
  179. </li>
  180. <li style="display: none;">
  181. <label>签约状态:<b>*</b></label>
  182. <div class="vocation" style="margin-right: 5px; width: 345px">
  183. <select name="status" id="status" class="select1">
  184. <option value="3" th:selected="${merchant.status==3 ? true : false}">已签已交付</option>
  185. <option value="1" th:selected="${merchant.status==1 ? true : false}">待签</option>
  186. <option value="2" th:selected="${merchant.status==2 ? true : false}">已签待交付</option>
  187. </select>
  188. </div>
  189. </li>
  190. <li style="display: none">
  191. <label>签约数量(练习册用):<b></b></label>
  192. <input type="text" id="signService" class="dfinput fl" name="signService" th:value="${merchant.signService!=null ? merchant.signService : 0}" autocomplete="off"/>
  193. </li>
  194. <li style="display: none">
  195. <label>合同硬件采购数量:<b></b></label>
  196. <input type="text" id="hardwareService" class="dfinput fl" name="hardwareService" th:value="${merchant.hardwareService!=null ? merchant.hardwareService : 0}" autocomplete="off"/>
  197. </li>
  198. <li style="display: none">
  199. <label>硬件:签约单价:<b></b></label>
  200. <input type="number" id="hardwarePrice" class="dfinput fl" name="hardwarePrice" th:value="${merchant.hardwarePrice==null ? 0 : merchant.hardwarePrice }" autocomplete="off" placeholder=" 请输入硬件:签约单价" />
  201. </li>
  202. <li>
  203. <label>甲方签约人 :<b></b></label>
  204. <input type="text" id="signerPerson" class="dfinput fl" name="signerPerson" th:value="${merchant.signerPerson}" autocomplete="off" placeholder=" 请输入甲方签约人"/>
  205. </li>
  206. <li>
  207. <label>合同编号 :<b></b></label>
  208. <input type="text" id="contractNo" class="dfinput fl" name="contractNo" th:value="${merchant.contractNo}" autocomplete="off" placeholder=" 请输入合同编号" />
  209. </li>
  210. <li>
  211. <label>合同签约时间 :<b></b></label>
  212. <input type="text" id="contractTime" class="dfinput fl" name="contractTime" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',autoPickDate:true})" th:value="${#dates.format(merchant.contractTime, 'yyyy-MM-dd')}" autocomplete="off" placeholder=" 请输入合同签约时间"/>
  213. </li>
  214. <li>
  215. <label>地址:<b></b></label>
  216. <input type="text" id="address" class="dfinput fl" name="address" th:value="${merchant.address}" autocomplete="off" placeholder=" 请输入地址" />
  217. </li>
  218. <li>
  219. <label>法人姓名 :<b></b></label>
  220. <input type="text" id="legalperson" class="dfinput fl" name="legalperson" th:value="${merchant.legalPerson}" autocomplete="off" placeholder=" 请输入法人姓名" />
  221. </li>
  222. <li>
  223. <label>法人电话:<b></b></label>
  224. <input type="text" id="phone" class="dfinput fl" name="phone" th:value="${merchant.phone}" autocomplete="off" placeholder=" 请输入法人电话" />
  225. </li>
  226. <li>
  227. <label>代表姓名:<b></b></label>
  228. <input type="text" id="deputyname" class="dfinput fl" name="deputyname" th:value="${merchant.deputyName}" autocomplete="off" placeholder=" 请输入代表姓名" />
  229. </li>
  230. <li>
  231. <label>代表电话:<b></b></label>
  232. <input type="text" id="deputyphone" class="dfinput fl" name=deputyphone th:value="${merchant.deputyPhone}" autocomplete="off" placeholder=" 请输入代表电话"/>
  233. </li>
  234. <li>
  235. <label>商户备注:<b></b></label>
  236. <input type="text" id="remarks" class="dfinput fl" name="remarks" th:value="${merchant.remarks}" autocomplete="off" placeholder=" 请输入商户备注" />
  237. </li>
  238. <li style="padding-top: 10px">
  239. <label>&nbsp;</label>
  240. <button type="button" class="btn" onclick="javascript:location.reload();" style="background: #ccc;">清空</button>
  241. <button type="submit" onclick="push_user();" class="btn" style="width: 137px;margin-left: 20px;">保存</button>
  242. </li>
  243. </ul>
  244. <br/><br/><br/>
  245. </div>
  246. <div class="formbody" id="schoollist" style="display: none">
  247. <div class="rightinfo">
  248. <ul class="seachform">
  249. <li>
  250. <label style="color:red">已选择:</label>
  251. <sldiv id="selectschoollist">
  252. <label th:each="item:${positionSchoolV1Dtos}"><sdiv><stext th:data-val="${item.id}">[[${item.schoolName}]]</stext><dtext >[X]</dtext></sdiv></label>
  253. </sldiv>
  254. </li>
  255. </ul>
  256. <ul class="seachform">
  257. <li>
  258. <label>学校名称:</label>
  259. <input name="likeschoolname" id="likeschoolname" type="text" class="scinput" />
  260. </li>
  261. <li>
  262. <input type="button" class="scbtn" value="全局查询" onclick="funcblurschoollist()" style="height: 32px;"/>
  263. </li>
  264. </ul>
  265. <ul class="seachform schoolseachform">
  266. </ul>
  267. <br/><br/>
  268. </div>
  269. <div class="pagin" style="float: left;width: 90%;">
  270. <div class="message">共<i class="blue schoolcountNum">0</i>条记录,当前显示第&nbsp;<i class="blue schoolpageNo">0</i>页</div>
  271. <form id="splitFrom" name="splitFrom" >
  272. <input type="hidden" id="pageNo" name="pageNo" value="1">
  273. <input type="hidden" id="pageSize" name="pageSize" value="20">
  274. <ul class="paginList schoolpaginList">
  275. </ul>
  276. </form>
  277. <br/><br/>
  278. </div>
  279. </div>
  280. <div class="formbody" id="likejoinlist" style="display: none">
  281. <div class="rightinfo">
  282. <ul class="seachform">
  283. <li>
  284. <label>机构名称:</label>
  285. <input name="likename" id="likename" type="text" class="scinput" />
  286. </li>
  287. <li>
  288. <input type="button" class="scbtn" value="全局查询" onclick="funcblurlibIdlist()" style="height: 32px;"/>
  289. </li>
  290. </ul>
  291. <ul class="seachform joinseachform">
  292. </ul>
  293. <br/><br/>
  294. </div>
  295. <div class="pagin" style="float: left;width: 90%;">
  296. <div class="message">共<i class="blue countNum">0</i>条记录,当前显示第&nbsp;<i class="blue pageNo">0</i>页</div>
  297. <form id="splitFrom" name="splitFrom" >
  298. <input type="hidden" id="pageNo" name="pageNo" value="1">
  299. <input type="hidden" id="pageSize" name="pageSize" value="20">
  300. <ul class="paginList joinpaginList">
  301. </ul>
  302. </form>
  303. <br/><br/>
  304. </div>
  305. </div>
  306. </body>
  307. <script type="text/javascript">
  308. var areaUrl="[[${sysUrl}]]/sys/fx/areaList";
  309. var areaPageUrl="[[${sysUrl}]]/sys/fx/areaListPage";
  310. var likejoinUrl="[[${sysUrl}]]/sys/fx/likejoinList";
  311. var curLocation="[[${merchant.location}]]";
  312. var curLibJoin="[[${merchant.libJoin!=null ? merchant.libJoin.leagueName : '' }]]";
  313. var curLibJoinId="[[${merchant.libJoin!=null ? merchant.libJoin.id : '' }]]";
  314. var schoolText="[[${schoolText}]]";
  315. var id='[[${param.id}]]';
  316. var merchantLibId='[[${merchant.libId}]]';
  317. $(function (){
  318. $("#location_txt").click(function (){
  319. $("#location_wrap").show();
  320. })
  321. $(".radiolib").on("change",function(){
  322. alert("");
  323. });
  324. if(id==''){
  325. var val=$("#signType").find("option:selected").data("val");
  326. $("#libService").val(val);
  327. var upval=$("#signType").find("option:selected").data("upval");
  328. $("#munitPrice").val(upval);
  329. }
  330. $("#signType").on("change",function(){
  331. var val=$(this).find("option:selected").data("val");
  332. $("#libService").val(val);
  333. var upval=$(this).find("option:selected").data("upval");
  334. $("#munitPrice").val(upval);
  335. if($(this).val()<=4){
  336. $("#libServiceTips").hide();
  337. }else{
  338. $("#libServiceTips").show();
  339. }
  340. });
  341. $("#libService").on("focus",function(){
  342. if($("#signType").val()<=4){
  343. parent.layer.msg("当前服务包类型不支持修改服务人数",{icon:3});
  344. }
  345. return;
  346. });
  347. $("#selectschoollist").on("click","dtext",function(){
  348. $(this).parent().remove();
  349. var schoollist=[];
  350. $.each($('stext'),function(){
  351. schoollist.push($(this).text());
  352. });
  353. $("#schooltext").val(schoollist.join(";"));
  354. });
  355. funcinitprovince();
  356. })
  357. function funcinitprovince(){
  358. var val = 0;
  359. var type =1;
  360. $("#province").html("<option value='' >选择省</option>");
  361. var params ={ 'type' : type,'upId':val}
  362. $.post(areaUrl,params,function(data){
  363. if(data.meta.success){
  364. var html=[];
  365. for (var i = 0; i < data.data.length; i++) {
  366. html.push("<option "+((curLocation.indexOf(data.data[i].name)!=-1) ? 'selected' : '')+" data-type='"+data.data[i].type+"' value='"+data.data[i].id+"' >"+data.data[i].name+"</option>");
  367. }
  368. $("#province").append(html.join(""));
  369. funcprovince();
  370. }else{
  371. }
  372. });
  373. }
  374. function funcprovince(){
  375. var val = $('#province option:selected').val();
  376. var type = $('#province option:selected').data("type");
  377. $("#city").html("<option value='' >选择市</option>");
  378. var params ={ 'type' : (type+1),'upId':val}
  379. $.post(areaUrl,params,function(data){
  380. if(data.meta.success){
  381. var html=[];
  382. for (var i = 0; i < data.data.length; i++) {
  383. html.push("<option "+((curLocation.indexOf(data.data[i].name)!=-1) ? 'selected' : '')+" data-type='"+data.data[i].type+"' value='"+data.data[i].id+"' >"+data.data[i].name+"</option>");
  384. }
  385. $("#city").append(html.join(""));
  386. funccity();
  387. }else{
  388. }
  389. });
  390. }
  391. function funccity(){
  392. var val = $('#city option:selected').val();
  393. var type = $('#city option:selected').data("type");
  394. $("#area").html("<option value='' >选择区</option>");
  395. //$("#libId").hide();
  396. //$("#school").html("").hide();
  397. var params ={ 'type' : (type+1),'upId':val}
  398. $.post(areaUrl,params,function(data){
  399. if(data.meta.success){
  400. var html=[];
  401. for (var i = 0; i < data.data.length; i++) {
  402. html.push("<option "+((curLocation.indexOf(data.data[i].name)!=-1) ? 'selected' : '')+" data-type='"+data.data[i].type+"' value='"+data.data[i].id+"' >"+data.data[i].name+"</option>");
  403. }
  404. $("#area").append(html.join(""));
  405. funcarea();
  406. }else{
  407. }
  408. });
  409. }
  410. function funcarea(){
  411. if(curLibJoin!=''){
  412. $("#libId").val(curLibJoin);
  413. $("#radiolibId").val(curLibJoinId);
  414. $("#schooltext").val(schoolText);
  415. funclibId();
  416. }
  417. $("#libId").show();
  418. $("#funcblurschooltext").show();
  419. }
  420. function funclibId(){
  421. //$("#school").html("").show();
  422. var val = $('#area option:selected').val();
  423. var type = $('#area option:selected').data("type");
  424. var params ={ 'type' : (type+1),'upId':val}
  425. $.post(areaUrl,params,function(data){
  426. if(data.meta.success){
  427. var html=[];
  428. for (var i = 0; i < data.data.length; i++) {
  429. html.push("<span><input name='school' type='checkbox' value='"+data.data[i].id+"'> "+data.data[i].name+"</span>");
  430. }
  431. //$("#school").append(html.join(""));
  432. }else{
  433. }
  434. });
  435. }
  436. var likejoinlistindex=null;
  437. var schoollistindex=null;
  438. function funcblurlibId(){
  439. funcblurlibIdlist();
  440. if($("#radiolibId").val()!='' && merchantLibId!=''){
  441. parent.layer.msg("此处不支持修改绑定机构,请先解绑机构。",{icon:3});
  442. return;
  443. }
  444. if($(".layui-layer-shade").length<=0){
  445. likejoinlistindex =layer.open({
  446. type: 1,
  447. title: '选择机构',
  448. closeBtn: 1, //不显示关闭按钮
  449. shift: 0.8,
  450. offset: '150px',
  451. area: ['80%', '60%'],
  452. content: $("#likejoinlist")
  453. });
  454. }
  455. }
  456. function funcblurschooltext(){
  457. funcblurschoollist();
  458. if($(".layui-layer-shade").length<=0){
  459. schoollistindex =layer.open({
  460. type: 1,
  461. title: '选择学校',
  462. closeBtn: 1, //不显示关闭按钮
  463. shift: 0.8,
  464. offset: '150px',
  465. area: ['80%', '60%'],
  466. content: $("#schoollist")
  467. });
  468. }
  469. }
  470. function funcblurschoollist(pageNo){
  471. $(".schoolseachform").html("");
  472. var val = $('#area option:selected').val();
  473. var type = $('#area option:selected').data("type");
  474. var params ={
  475. 'type' : (type+1),
  476. 'upId':val,
  477. 'area' : $("#area option:selected").text(),
  478. 'name' : $("#likeschoolname").val(),
  479. 'pageNo' : pageNo,
  480. 'pageSize':16
  481. }
  482. $.post(areaPageUrl,params,function(data){
  483. if(data.meta.success){
  484. var html=[];
  485. for (var i = 0; i < data.data.jsonList.length; i++) {
  486. html.push("<li><label><text data-value='"+data.data.jsonList[i].id+"' name='schoolcheckbox' type='checkbox' onclick='funcblurschoolcheckbox(this)' >"+data.data.jsonList[i].name+"</text></label></li>");
  487. }
  488. var countPage=data.data.countPage;
  489. var pageNo=data.data.pageNo;
  490. $(".schoolcountNum").html(data.data.countNum);
  491. $(".schoolpageNo").html(data.data.pageNo);
  492. var pagehtml=[];
  493. if(pageNo>1){
  494. pagehtml.push('<li class="paginItem"><a href="javascript:;" onclick="javascript:funcblurschoollist('+(pageNo-1)+');"><span class="pagepre"></span></a></li>');
  495. }
  496. for (var i = 1; i <= countPage; i++) {
  497. if(i==pageNo){
  498. pagehtml.push('<li class="paginItem current"><a href="javascript:;" onclick="javascript:funcblurschoollist(\''+i+'\');return false;">'+i+'</a></li>' );
  499. }else{
  500. pagehtml.push('<li class="paginItem"><a href="javascript:;" onclick="javascript:funcblurschoollist(\''+i+'\');return false;">'+i+'</a></li>' );
  501. }
  502. }
  503. if(countPage>pageNo){
  504. pagehtml.push('<li class="paginItem"><a href="javascript:;" onclick="javascript:funcblurschoollist('+(pageNo+1)+');"><span class="pagenxt"></span></a></li>');
  505. }
  506. $(".schoolpaginList").html(pagehtml.join(''));
  507. $(".schoolseachform").append(html.join(""));
  508. }else{
  509. }
  510. });
  511. }
  512. function funcblurlibIdlist(pageNo){
  513. $(".joinseachform").html("");
  514. var params ={
  515. 'province' : $("#province option:selected").text(),
  516. 'city' : $("#city option:selected").text(),
  517. 'area' : $("#area option:selected").text(),
  518. 'name' : $("#likename").val(),
  519. 'pageNo' : pageNo,
  520. 'pageSize':16
  521. }
  522. $.post(likejoinUrl,params,function(data){
  523. if(data.meta.success){
  524. var html=[];
  525. for (var i = 0; i < data.data.jsonList.length; i++) {
  526. html.push("<li><label><input name='radiolib' value='"+data.data.jsonList[i].id+"' type='radio' onchange='funcblurlibIdradio(this)' >"+data.data.jsonList[i].leagueName+"</label></li>");
  527. }
  528. var countPage=data.data.countPage;
  529. var pageNo=data.data.pageNo;
  530. $(".countNum").html(data.data.countNum);
  531. $(".pageNo").html(data.data.pageNo);
  532. var pagehtml=[];
  533. if(pageNo>1){
  534. pagehtml.push('<li class="paginItem"><a href="javascript:;" onclick="javascript:funcblurlibIdlist('+(pageNo-1)+');"><span class="pagepre"></span></a></li>');
  535. }
  536. for (var i = 1; i <= countPage; i++) {
  537. if(i==pageNo){
  538. pagehtml.push('<li class="paginItem current"><a href="javascript:;" onclick="javascript:funcblurlibIdlist(\''+i+'\');return false;">'+i+'</a></li>' );
  539. }else{
  540. pagehtml.push('<li class="paginItem"><a href="javascript:;" onclick="javascript:funcblurlibIdlist(\''+i+'\');return false;">'+i+'</a></li>' );
  541. }
  542. }
  543. if(countPage>pageNo){
  544. pagehtml.push('<li class="paginItem"><a href="javascript:;" onclick="javascript:funcblurlibIdlist('+(pageNo+1)+');"><span class="pagenxt"></span></a></li>');
  545. }
  546. $(".joinpaginList").html(pagehtml.join(''));
  547. $(".joinseachform").append(html.join(""));
  548. }else{
  549. }
  550. });
  551. }
  552. function funcblurlibIdradio(obj){
  553. var libtext = $("input[name=radiolib]:checked").parent("label").text();
  554. var libId = $("input[name=radiolib]:checked").val();
  555. $("#radiolibId").val(libId);
  556. $("#libId").val(libtext);
  557. funclibId();
  558. layer.close(likejoinlistindex);
  559. }
  560. function funcblurschoolcheckbox(obj){
  561. $("#selectschoollist").append('<label><sdiv><stext data-val="'+$(obj).data("value")+'">'+$(obj).parent("label").text()+'</stext> <dtext >[X]</dtext></sdiv></label>');
  562. var schoollist=[];
  563. $.each($('stext'),function(){
  564. schoollist.push($(this).text());
  565. });
  566. $("#schooltext").val(schoollist.join(";"));
  567. }
  568. function push_user(){
  569. //新增的
  570. if(id==''){
  571. var url="[[${sysUrl}]]/sys/fx/checkMerchant";
  572. var params ={ 'name' : $("#poscode").val()}
  573. $.post(url,params,function(data){
  574. if(data.meta.success){
  575. save();
  576. }else{
  577. parent.layer.msg(data.meta.message,{icon:11});
  578. }
  579. });
  580. }else{
  581. //修改的
  582. save();
  583. }
  584. }
  585. function save(){
  586. var schoollist=[];
  587. $.each($('stext'),function(){
  588. schoollist.push($(this).data("val"));
  589. });
  590. if($("#poscode").val()==''){
  591. parent.layer.msg("商户账号不能为空",{icon:11});
  592. return
  593. }
  594. var reg = /^[0-9a-zA-Z]+$/
  595. if(!reg.test($("#poscode").val())){
  596. parent.layer.msg("商户账号只可包含字母、数字",{icon:11});
  597. return
  598. }
  599. if($("#unitname").val()==''){
  600. parent.layer.msg("商户名称不能为空",{icon:11});
  601. return
  602. }
  603. // if($("#signTime").val()==''){
  604. // parent.layer.msg("合同开始日期不能为空",{icon:11});
  605. // return
  606. // }
  607. // if($("#endSignTime").val()==''){
  608. // parent.layer.msg("合同结束日期不能为空",{icon:11});
  609. // return
  610. // }
  611. // if($("#signType").val()!='' && $("#signType").val()>=1 && $("#libServiceMonth").val()<=0){
  612. // parent.layer.msg("新模式充值月份数不可小于0",{icon:11});
  613. // return
  614. // }
  615. if($("#signType").val()!='' && $("#signType").val()>=1 && $("#curSummaryTime").val()==''){
  616. parent.layer.msg("新模式激活时间不可为空",{icon:11});
  617. return
  618. }
  619. var title="您确定要保存商户信息?<br/>此动作会把商户塾币覆盖到机构塾币";
  620. if(id!=''){
  621. title="您确定要保存商户信息?";
  622. }
  623. parent.layer.confirm(title, {
  624. icon: 4, btn: ['确定','关闭'],offset: '100px' //按钮
  625. }, function(){
  626. var url="[[${sysUrl}]]/sys/fx/saveMerchant";
  627. if( $("#poscode").val()==''){
  628. alert("商户账号不能为空");
  629. return ;
  630. }
  631. var params ={
  632. 'id' : id,
  633. 'posCode' : $("#poscode").val(),
  634. 'type' : $("#type").val(),
  635. 'level' : $("#level").val(),
  636. 'unitName' : $("#unitname").val(),
  637. 'legalPerson' : $("#legalperson").val(),
  638. 'phone' : $("#phone").val(),
  639. 'deputyName' : $("#deputyname").val(),
  640. 'deputyPhone' : $("#deputyphone").val(),
  641. 'status':$("#status").val(),
  642. 'parentPosCode':$("#parentposcode").val(),
  643. 'price':$("#price").val(),
  644. 'outPrice':$("#outPrice").val(),
  645. 'remarks':$("#remarks").val(),
  646. 'password':$("#password").val(),
  647. 'signService':$("#signService").val(),
  648. 'hardwareService':$("#hardwareService").val(),
  649. 'signType':$("#signType").val(),
  650. 'mealType':$("#mealType").val(),
  651. 'libService':$("#libService").val(),
  652. 'libServiceMonth':$("#libServiceMonth").val(),
  653. 'startTime':$("#signTime").val(),
  654. 'endTime':$("#endSignTime").val(),
  655. 'startActiveTimeStr':$("#startActiveTime").val(),
  656. 'activeTimeStr':$("#activeTime").val(),
  657. 'computeTimeStr':$("#computeTime").val(),
  658. 'munitPrice':$("#munitPrice").val(),
  659. 'signerPerson':$("#signerPerson").val(),
  660. 'contractNo':$("#contractNo").val(),
  661. 'contractTimeStr':$("#contractTime").val(),
  662. 'posType':2,
  663. 'buyMonth':$("#buyMonth").val(),
  664. 'giveMonth':$("#giveMonth").val(),
  665. 'plusAmountPrice':$("#plusAmountPrice").val(),
  666. 'plusMonthPrice':$("#plusMonthPrice").val(),
  667. 'province':$("#province").val(),
  668. 'city':$("#city").val(),
  669. 'address':$("#address").val(),
  670. 'area':$("#area").val(),
  671. 'libId':$("#radiolibId").val(),
  672. 'location':
  673. ($("#province option:selected").text()!='选择省' ? $("#province option:selected").text() : '') +
  674. ($("#city option:selected").text()!='选择市' ? $("#city option:selected").text() : '') +
  675. ($("#area option:selected").text()!='选择区' ? $("#area option:selected").text() : ''),
  676. 'schoollist':schoollist.join(";")
  677. };
  678. $.post(url,params,function(data){
  679. if(data.meta.success){
  680. parent.layer.msg("保存成功",{icon:1});
  681. parent.location.reload();
  682. }else{
  683. parent.layer.msg(data.meta.message,{icon:11});
  684. }
  685. });
  686. });
  687. }
  688. </script>
  689. </html>