clubTemporaryForm.jsp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/WEB-INF/views/include/taglib.jsp" %>
  3. <html>
  4. <head>
  5. <title>未确认机构管理</title>
  6. <meta name="decorator" content="default"/>
  7. <script src="/static/modules/bulkpurchase/loadAddressById.js"></script>
  8. <script type="text/javascript">
  9. $(document).ready(function () {
  10. $("#inputForm").validate({
  11. ignore: "",
  12. submitHandler: function (form) {
  13. var bindMobile = $("#bindMobile").val();
  14. var userID = $("#userId").val();
  15. $.post("${ctx}/new/user/agency/checkMobile?bindMobile="+bindMobile+"&userID="+userID, function (data) {
  16. if (data.code == -1) {
  17. alertx(data.msg);
  18. }else {
  19. loading('正在提交,请稍等...');
  20. form.submit();
  21. }
  22. })
  23. },
  24. errorContainer: "#messageBox",
  25. errorPlacement: function (error, element) {
  26. $("#messageBox").text("输入有误,请先更正。");
  27. if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
  28. error.appendTo(element.parent().parent());
  29. } else {
  30. error.insertAfter(element);
  31. }
  32. }
  33. });
  34. });
  35. function checkMobile() {
  36. var bindMobile = $("#bindMobile").val();
  37. var userID = $("#userId").val();
  38. $.post("${ctx}/new/user/agency/checkMobile?bindMobile="+bindMobile+"&userID="+userID, function (data) {
  39. if (data.code == -1) {
  40. alertx(data.msg);
  41. }
  42. })
  43. }
  44. function onlyNumOrLetter(obj) {
  45. var reg = /^[0-9a-zA-Z]+$/;
  46. var str = document.getElementById("socialCreditCode").value;
  47. if (!reg.test(str)) {
  48. alertx("营业执照编号格式不正确");
  49. $("#socialCreditCode").val("");
  50. }
  51. }
  52. /**
  53. * @param obj
  54. * jquery控制input只能输入数字
  55. */
  56. function mobileVerification(obj) {
  57. var reg = /^1\d{10}$/;
  58. var contractMobile = document.getElementById("contractMobile").value;
  59. if (!reg.test(contractMobile)) {
  60. alertx("手机号格式不正确");
  61. $("#contractMobile").val("");
  62. }
  63. }
  64. /**
  65. * @param obj
  66. * jquery控制input只能输入数字
  67. */
  68. function onlynum(obj) {
  69. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
  70. }
  71. /**
  72. * @param obj
  73. * jquery控制input只能输入数字和两位小数
  74. */
  75. function num(obj) {
  76. obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
  77. obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
  78. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
  79. obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
  80. obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
  81. }
  82. function int(obj) {
  83. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
  84. }
  85. //设置主营类型
  86. function setTags(opts) {
  87. var tagArr = [];
  88. opts.$mainPro.val('')
  89. opts.$tagArea.find('.new-tag.active').each(function (i, v) {
  90. var _typeName = $(v).attr('data-typeName');
  91. tagArr.push(_typeName);
  92. opts.$mainPro.val(tagArr.join('/'));
  93. })
  94. }
  95. //选择主营内容项目
  96. function getTags(opts) {
  97. opts.$tagArea.on('click', '.new-tag', function () {
  98. var $this = $(this);
  99. $this.toggleClass('active');
  100. setTags(opts);
  101. });
  102. opts.$other.on('click', function () {
  103. opts.$input.css('display', 'inline-block');
  104. opts.$add.css('display', 'inline-block');
  105. });
  106. opts.$add.on('click', function () {
  107. var _tag = $.trim(opts.$input.val());
  108. if (_tag) {
  109. var flag = false;
  110. opts.$tagArea.find('.new-tag').each(function (i, v) {
  111. var _name = $(v).attr('data-typeName');
  112. if (_tag == _name) {
  113. flag = true;
  114. return false;
  115. } else {
  116. if (i == opts.$tagArea.find('.new-tag').length) {
  117. flag = false;
  118. }
  119. }
  120. })
  121. if (flag) {
  122. opts.$tagArea.find('.new-tag').each(function (i, v) {
  123. var _name = $(v).attr('data-typeName');
  124. if (_tag == _name) {
  125. $(v).addClass('active');
  126. layer.tips('该类型已存在', opts.$add);
  127. flag = true;
  128. return false;
  129. }
  130. })
  131. } else {
  132. opts.$tagArea.append('<span class="new-tag up-' + opts.$type + '-tag active" data-typeName="' + _tag + '">' + _tag + '</span> ');
  133. setTags(opts);
  134. opts.$input.val('');
  135. return;
  136. }
  137. }
  138. })
  139. }
  140. $(document).on("change", "#auditStatus", function () {
  141. if ($("#auditStatus").val() == 2) {
  142. $("#auditNopass").show();
  143. } else {
  144. $("#auditNopass").hide();
  145. }
  146. })
  147. // 初始化选中数据
  148. $(function () {
  149. //初始化1
  150. var firstClubType = $('#firstClubType').val();
  151. console.log(firstClubType)
  152. if (firstClubType == '1') {
  153. $('.med-option,.qualification').show();
  154. }
  155. $('.medical-radio div input[name="firstClubType"]').on('click', function () {
  156. var html = '';
  157. var nameval = $(this).val();
  158. if (nameval == '1') {
  159. $('.med-option,.qualification').show();
  160. html += '<span class="new-tag up-club-tag" data-typeName="整形">整形</span>',
  161. html += '<span class="new-tag up-club-tag" data-typeName="轻医美">轻医美</span>',
  162. html += '<span class="new-tag up-club-tag" data-typeName="皮肤科">皮肤科</span>';
  163. $('#clubArea').html(html);
  164. $('.Main-content').show();
  165. } else if (nameval == '2') {
  166. $('.med-option,.qualification,.epart').hide();
  167. $('input[name="secondClubType"]').attr('checked', false);
  168. html += '<span class="new-tag up-club-tag" data-typeName="美容">美容</span>',
  169. html += '<span class="new-tag up-club-tag" data-typeName="美体">美体</span>',
  170. html += '<span class="new-tag up-club-tag" data-typeName="美发">美发</span>',
  171. html += '<span class="new-tag up-club-tag" data-typeName="皮肤管理">皮肤管理</span>',
  172. html += '<span class="new-tag up-club-tag" data-typeName="光电">光电</span>',
  173. html += '<span class="new-tag up-club-tag" data-typeName="综合类">综合类</span>',
  174. html += '<span class="new-tag up-club-tag" data-typeName="中医养生">中医养生</span>',
  175. html += '<span class="new-tag up-club-tag" data-typeName="spa">spa</span>'
  176. $('#clubArea').html(html);
  177. $('.Main-content').show();
  178. }
  179. });
  180. //初始化2
  181. if (firstClubType == '1') {
  182. var nameval1 = $('input[name="secondClubType"]:checked').val();
  183. if (nameval1 == '1') {
  184. $('.epart').hide()
  185. } else if (nameval1 == '2') {
  186. $('.epart').show()
  187. } else if (nameval1 == '3') {
  188. $('.epart').show()
  189. }
  190. }
  191. //医美二级选择
  192. $('.med-option div input[name="secondClubType"]').on('click', function () {
  193. var nameVal = $(this).val();
  194. if (nameVal == '1') {
  195. $('.epart').hide()
  196. } else if (nameVal == '2') {
  197. $('.epart').show()
  198. } else if (nameVal == '3') {
  199. $('.epart').show()
  200. }
  201. });
  202. //主营项目
  203. var cMainProVal = $('#cMainPro').val();
  204. if (cMainProVal != null && cMainProVal != "") {
  205. var _mainPros = cMainProVal.split('/');
  206. var proList = $('#clubArea').find('.new-tag');
  207. for (var j = 0; j < _mainPros.length; j++) {
  208. var _flag = false;
  209. for (var i = 0; i < proList.length; i++) {
  210. if ($(proList[i]).attr('data-typeName') == _mainPros[j]) {
  211. _flag = true;
  212. }
  213. }
  214. if (_flag) {
  215. for (var i = 0; i < proList.length; i++) {
  216. if ($(proList[i]).attr('data-typeName') == _mainPros[j]) {
  217. $(proList[i]).addClass('active');
  218. }
  219. }
  220. } else {
  221. $('#clubArea').append('<span class="new-tag up-club-tag active" data-typeName="' + _mainPros[j] + '">' + _mainPros[j] + '</span> ');
  222. $('.Main-content').show();
  223. }
  224. }
  225. $('#cMainPro').val(cMainProVal);
  226. }
  227. //机构品项选择
  228. var optsClub = {
  229. $tag: $('.up-club-tag'),
  230. $tagArea: $('#clubArea'),
  231. $mainPro: $('#cMainPro'),
  232. $other: $('#clubOther'),
  233. $input: $('#clubInput'),
  234. $add: $('#clubAdd'),
  235. $type: 'club'
  236. };
  237. getTags(optsClub);
  238. })
  239. </script>
  240. <style>
  241. #auditBox .bd-row {
  242. display: flex;
  243. margin-bottom: 15px;
  244. }
  245. #auditBox .bd-row > span {
  246. display: inline-block;
  247. width: 60px;
  248. }
  249. #auditBox .auditCheckBox {
  250. width: 250px;
  251. }
  252. #auditBox .auditCheckBox label {
  253. margin: 0 5px 5px 0
  254. }
  255. #auditBox .auditCheckBox input {
  256. display: none;
  257. }
  258. #auditBox .auditCheckBox input + span {
  259. display: inline-block;
  260. line-height: 24px;
  261. padding: 0 12px;
  262. border: 1px solid #666;
  263. border-radius: 5px;
  264. }
  265. #auditBox .auditCheckBox input:checked + span {
  266. background-color: #E6633A
  267. }
  268. .detailLine {
  269. width: 98%;
  270. margin-left: 10px;
  271. }
  272. th {
  273. text-align: right;
  274. white-space: nowrap;
  275. }
  276. td {
  277. padding: 5px 0;
  278. }
  279. #headpicPreview li, #businessLicenseImagePreview li {
  280. min-height: 100px;
  281. }
  282. .the-oradio {
  283. display: inline-block;
  284. vertical-align: top;
  285. }
  286. .the-oradio div {
  287. width: 85px;
  288. display: inline-block;
  289. font-size: 12px;
  290. color: #666;
  291. }
  292. .med-option {
  293. display: block;
  294. margin: 10px 0 0 160px;
  295. }
  296. .control-group .new-tag {
  297. display: inline-block;
  298. width: 78px;
  299. height: 30px;
  300. border: 1px solid #e5e5e5;
  301. border-radius: 5px;
  302. margin: 7px;
  303. text-align: center;
  304. line-height: 30px;
  305. font-size: 14px;
  306. overflow: hidden;
  307. text-overflow: ellipsis;
  308. white-space: nowrap;
  309. cursor: pointer;
  310. }
  311. .control-group .new-tag.active {
  312. border-color: #e15616;
  313. color: #e15616;
  314. }
  315. #clubArea {
  316. display: inline-block;
  317. width: 450px;
  318. }
  319. #clubOther {
  320. height: 40px;
  321. line-height: 40px;
  322. vertical-align: middle
  323. }
  324. #clubInput {
  325. width: 159px;
  326. margin: 7px;
  327. display: inline-block;
  328. height: 30px;
  329. display: none;
  330. }
  331. .tags-operate {
  332. margin-left: 160px;
  333. }
  334. .control-group .tags-operate .tag-add {
  335. height: 40px;
  336. line-height: 40px;
  337. vertical-align: middle;
  338. display: none;
  339. }
  340. </style>
  341. </head>
  342. <body>
  343. <ul class="nav nav-tabs">
  344. <li><a href="${ctx}/new/user/agency/">机构列表</a></li>
  345. <li><a href="${ctx}/user/clubTemporary/">未确认机构</a></li>
  346. <li class="active"><a href="">未确认机构编辑</a></li>
  347. </ul>
  348. <form:form id="inputForm" modelAttribute="clubTemporary" action="${ctx}/user/clubTemporary/save" method="post" class="form-horizontal">
  349. <form:hidden path="id"/>
  350. <form:hidden path="userId" id="userId"/>
  351. <div style="max-width:1200px;padding:15px;">
  352. <table border="0" cellspacing="0" cellpadding="0" width="100%">
  353. <tr height="28">
  354. <th>状态:</th>
  355. <td colspan="5">未确认</td>
  356. </tr>
  357. <tr height="28">
  358. <th width="12%">机构名称:</th>
  359. <td width="13%"><form:input path="name" htmlEscape="false" maxlength="20" class="input-medium"/></td>
  360. <th width="12%">机构简称:</th>
  361. <td width="13%"><form:input path="shortName" htmlEscape="false" maxlength="20" class="input-medium"/></td>
  362. <th width="12%">注册邮箱:</th>
  363. <td width="13%"><form:input path="contractEmail" htmlEscape="false" maxlength="20" class="input-medium"/></td>
  364. </tr>
  365. <tr height="28">
  366. <th width="12%"><font color="red">*</font>联系人:</th>
  367. <td width="13%">
  368. <form:input path="linkMan" htmlEscape="false" maxlength="20" class="input-medium required"/>
  369. </td>
  370. <th width="12%"><font color="red">*</font> 手机号:</th>
  371. <td colspan="3"><form:input path="bindMobile" htmlEscape="false" maxlength="20" class="input-medium required" onchange="checkMobile()"/></td>
  372. </tr>
  373. </table>
  374. </div>
  375. <input type="hidden" id="curProvince" name="curProvince" value="${clubTemporary.province }" disabled="disabled">
  376. <input type="hidden" id="curCity" name="curCity" value="${clubTemporary.city }" disabled="disabled">
  377. <input type="hidden" id="curTown" name="curTown" value="${clubTemporary.town }" disabled="disabled">
  378. <sys:message content="${message}"/>
  379. <hr class="detailLine">
  380. <div>
  381. <table border="0" cellspacing="0" cellpadding="0" width="100%">
  382. <tr>
  383. <td colspan="2">
  384. <div class="control-group">
  385. <label class="control-label"><b>地址:</b></label>
  386. <div class="controls">
  387. <form:select path="provinceId" class="input-xlarge" id="province"
  388. onchange="loadCity()" style="width:100px;">
  389. <form:option value="" label="省" provinceId=""/>
  390. </form:select>
  391. <form:select path="cityId" class="input-xlarge" id="city" onchange="loadTown()"
  392. style="width:100px;">
  393. <form:option value="" label="市" cityId=""/>
  394. </form:select>
  395. <form:select path="townId" class="input-xlarge" id="town" style="width:100px;">
  396. <form:option value="" label="区"/>
  397. </form:select>
  398. <form:input path="address" class="input-xlarge userAddress" width="20px" maxlength="60"
  399. placeholder="请填写会所详细的地址"/>
  400. </div>
  401. </div>
  402. </td>
  403. </tr>
  404. <tr>
  405. <td colspan="2">
  406. <div class="control-group">
  407. <label class="control-label"><b>营业执照编号:</b></label>
  408. <div class="controls">
  409. <form:input path="socialCreditCode" htmlEscape="false" maxlength="18"
  410. class="input-xlarge" onchange="onlyNumOrLetter(this)"
  411. placeholder="请填写统一社会信用代码"/>
  412. </div>
  413. </div>
  414. </td>
  415. </tr>
  416. <tr>
  417. <td>
  418. <div class="control-group">
  419. <label class="control-label"><b>营业执照:</b></label>
  420. <div class="controls">
  421. <form:hidden id="businessLicenseImage" path="businessLicense" htmlEscape="false"
  422. maxlength="255" class="input-xlarge required"/>
  423. <sys:ckfinder input="businessLicenseImage" type="images" uploadPath="/photo"
  424. selectMultiple="false" maxWidth="100" maxHeight="100"/>
  425. <font color="red">注意:请上传jpg/png格式的图片,最大不超过5M</font>
  426. </div>
  427. </div>
  428. </td>
  429. <td>
  430. <div class="control-group">
  431. <label class="control-label"><b>门头照:</b></label>
  432. <div class="controls">
  433. <form:hidden id="headpic" path="shopPhoto" htmlEscape="false" maxlength="255"
  434. class="input-xlarge"/>
  435. <sys:ckfinder input="headpic" type="images" uploadPath="/photo" maxWidth="100" maxHeight="100"/>
  436. <font color="red">注意:请上传jpg/png格式的图片,最大不超过5M</font>
  437. </div>
  438. </div>
  439. </td>
  440. </tr>
  441. <tr>
  442. <td>
  443. <div class="control-group">
  444. <label class="control-label" for=""><b>机构类型:</b></label>
  445. <div class="medical-radio the-oradio">
  446. <input value="${clubTemporary.firstClubType}" class="hide" type="text" id="firstClubType"/>
  447. <div class="med-beauty">
  448. <input name="firstClubType" value="1" type="radio" ${clubTemporary.firstClubType == "1" ? "checked" : ""}/>医美
  449. </div>
  450. <div class="raw-beauty">
  451. <input name="firstClubType" value="2" type="radio" ${clubTemporary.firstClubType == "2" ? "checked" : ""}/>生美
  452. </div>
  453. </div>
  454. <span class="err-tip"></span>
  455. <div class="med-option the-oradio" style="display: none">
  456. <div class="med-beauty"><input name="secondClubType" value="1"
  457. type="radio" ${clubTemporary.secondClubType == "1" ? "checked" : ""}/>诊所
  458. </div>
  459. <div class="med-beauty"><input name="secondClubType" value="2"
  460. type="radio" ${clubTemporary.secondClubType == "2" ? "checked" : ""}/>门诊
  461. </div>
  462. <div class="med-beauty"><input name="secondClubType" value="3"
  463. type="radio" ${clubTemporary.secondClubType == "3" ? "checked" : ""}/>医院
  464. </div>
  465. <span class="err-tip"></span>
  466. </div>
  467. <div class="qualification control-group" style="display: none">
  468. <label class="control-label"><b>资质:</b></label>
  469. <div class="controls" style="margin-bottom: 10px">
  470. <form:hidden id="medicalPracticeLicenseImg" path="medicalPracticeLicense"
  471. htmlEscape="false" maxlength="255"
  472. class="input-xlarge"/>
  473. <sys:ckfinder input="medicalPracticeLicenseImg" type="images" uploadPath="/photo"
  474. maxWidth="100" maxHeight="100"/>
  475. <font color="red">注意:请上传jpg/png格式的图片,最大不超过5M</font>
  476. </div>
  477. </div>
  478. </div>
  479. <div class="control-group epart" style="display: none">
  480. <label class="control-label"><b>科室:</b></label>
  481. <input class="reg-input" type="text" name="department" id="Department"
  482. placeholder="请填写您的所经营的科室,用逗号隔开。(至少三个)" value="${clubTemporary.department}"
  483. style="margin-left: 10px;"/>
  484. <span class="err-tip"></span>
  485. </div>
  486. <div class="control-group Main-content" style="display: none">
  487. <label class="control-label" for=""><b>主营内容:</b></label>
  488. <div class="tags-area" id="clubArea"></div>
  489. <span class="err-tip" style="display: inline-block;margin-left:-55px;"></span>
  490. <input type="hidden" name="mainProduct" value="${clubTemporary.mainProduct}" id="cMainPro">
  491. <div class="tags-operate">
  492. <span class="new-tag tag-other" id="clubOther">其他</span>
  493. <input type="text" class="reg-input tag-input" id="clubInput" placeholder="请输入自定义品项目"
  494. maxlength="5">
  495. <span class="new-tag tag-add" id="clubAdd">确认添加</span>
  496. </div>
  497. </div>
  498. </td>
  499. </tr>
  500. </table>
  501. <div class="form-actions">
  502. <input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;&nbsp;&nbsp;
  503. <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
  504. </div>
  505. </form:form>
  506. </body>
  507. </html>