agreed_order.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>提货申请</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <link rel="stylesheet" type="text/css" href="css/mui.min.css" />
  10. <link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
  11. <link rel="stylesheet" type="text/css" href="css/mui.picker.css"/>
  12. <link rel="stylesheet" href="css/mui.poppicker.css"/>
  13. <link rel="stylesheet" type="text/css" href="css/iconfont.css" />
  14. <link rel="stylesheet" type="text/css" href="css/webuploader.css" />
  15. <link rel="stylesheet" type="text/css" href="css/up.css" />
  16. <link rel="stylesheet" type="text/css" href="css/style.css" />
  17. <style>
  18. .pro-list>li:first-child{margin: 12px 10px;border: 1px solid rgba(0,0,0,.1);border-top: 30px solid rgba(0,0,0,.1);position: relative;}
  19. </style>
  20. </head>
  21. <body>
  22. <div class="loading-bg">
  23. <div class="mui-loading">
  24. <div class="mui-spinner">
  25. </div>
  26. &nbsp;&nbsp;加载中...
  27. </div>
  28. </div>
  29. <nav class="mui-bar mui-bar-tab submit">
  30. <button type="button">提交申请</button>
  31. </nav>
  32. <div class="mui-content">
  33. <form class="mui-input-group my-input-group no-after">
  34. <div class="mui-input-row">
  35. <label>提货人</label>
  36. <input type="text" reg="ch" param="applyPickName" placeholder="请输入提货人姓名">
  37. </div>
  38. <div class="mui-input-row">
  39. <label>提货原因</label>
  40. <input type="text" reg="ch_en_num" param="applyPickReason" placeholder="请输入提货原因">
  41. </div>
  42. <div class="mui-input-row my-tit-row">
  43. <label style="width: 50%;"><h4>审批订单<span class="mui-h6">(已通过审核订单)</span></h4></label>
  44. </div>
  45. <div class="mui-input-row">
  46. <label>审批订单</label>
  47. <input type="text" readonly="readonly" reg="ch_en_num" param="productionApprovalId" id="select-orderName" placeholder="请选择审批订单">
  48. </div>
  49. <ul class="pro-list">
  50. <!--<li>
  51. <div class="mui-input-row no-after">
  52. <label>申请人</label>
  53. <input type="text" readonly="readonly" value="张三">
  54. </div>
  55. <div class="mui-input-row no-after">
  56. <label>订单名称</label>
  57. <input type="text" readonly="readonly" value="爱贝源9月份内部采购">
  58. </div>
  59. <ul class="pro-iteam-list">
  60. <li>
  61. <div class="mui-input-row">
  62. <label>产品名称</label>
  63. <input type="text" readonly="readonly" subparam="itemProductName" value="优尼雅净水机">
  64. </div>
  65. <div class="mui-input-row">
  66. <label>品牌名称</label>
  67. <input type="text" readonly="readonly" subparam="itemBrandName" value="美国watero">
  68. </div>
  69. <div class="mui-input-row">
  70. <label>产品型号</label>
  71. <input type="text" readonly="readonly" subparam="itemProductModel" value="wb-1">
  72. </div>
  73. <div class="mui-input-row">
  74. <label>产品颜色</label>
  75. <input type="text" readonly="readonly" subparam="itemColorName" value="黑色">
  76. </div>
  77. <div class="mui-input-row">
  78. <label>产品数量</label>
  79. <input type="tel" readonly="readonly" subparam="itemProductNum" value="100台">
  80. </div>
  81. <div class="mui-input-row">
  82. <label>箱 / 套数</label>
  83. <input type="tel" readonly="readonly" subparam="itemProductBoxNumber" value="100">
  84. </div>
  85. <div class="mui-input-row no-after">
  86. <label>提货数量</label>
  87. <input type="text" reg="num" subparam="itemProductNum" placeholder="请输入提货数量(1~100台)">
  88. </div>
  89. </li>
  90. <li>
  91. <div class="mui-input-row">
  92. <label>产品名称</label>
  93. <input type="text" readonly="readonly" subparam="itemProductName" value="优尼雅净水机">
  94. </div>
  95. <div class="mui-input-row">
  96. <label>品牌名称</label>
  97. <input type="text" readonly="readonly" subparam="itemBrandName" value="美国watero">
  98. </div>
  99. <div class="mui-input-row">
  100. <label>产品型号</label>
  101. <input type="text" readonly="readonly" subparam="itemProductModel" value="wb-1">
  102. </div>
  103. <div class="mui-input-row">
  104. <label>产品颜色</label>
  105. <input type="text" readonly="readonly" subparam="itemColorName" value="黑色">
  106. </div>
  107. <div class="mui-input-row">
  108. <label>产品数量</label>
  109. <input type="tel" readonly="readonly" subparam="itemProductNum" value="100台">
  110. </div>
  111. <div class="mui-input-row">
  112. <label>箱 / 套数</label>
  113. <input type="tel" readonly="readonly" subparam="itemProductBoxNumber" value="100">
  114. </div>
  115. <div class="mui-input-row no-after">
  116. <label>提货数量</label>
  117. <input type="text" reg="num" subparam="itemProductNum" placeholder="请输入提货数量(1~100台)">
  118. </div>
  119. </li>
  120. </ul>
  121. </li>-->
  122. </ul>
  123. <div class="mui-input-row my-tit-row">
  124. <label><h4>提货凭证</h4></label>
  125. </div>
  126. <div class="mui-input-row no-after">
  127. <label>上传凭证</label>
  128. </div>
  129. <div class="mui-content-padded" style="margin-top: 0;">
  130. <div class="wrapper">
  131. <div class="container">
  132. <!--头部,相册选择和格式选择-->
  133. <div class="uploader" id="uploader1">
  134. <div class="queueList" id="queueList1">
  135. <div class="placeholder">
  136. <div id="filePicker1" class="filePicker"></div>
  137. <p>凭证照片最多可选5张</p>
  138. </div>
  139. </div>
  140. <div class="statusBar" style="display:none;">
  141. <div class="progress">
  142. <span class="text">0%</span>
  143. <span class="percentage"></span>
  144. </div><div class="info"></div>
  145. <div class="btns">
  146. <span id="filePicker2"></span>
  147. <div class="uploadBtn" id="uploadBtn1">开始上传</div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. </div>
  153. </div>
  154. <div class="mui-input-row my-tit-row">
  155. <label><h4>提货备注</h4></label>
  156. </div>
  157. <div class="mui-input-row" style="height: 90px;margin-bottom: 30px;">
  158. <label style="display: none;">提货备注</label>
  159. <textarea class="textarea" style="width: 100%;padding:10px 30px 10px 15px;" rows="3" param="applyPickRemk" placeholder="请输入提货备注(非必填)"></textarea>
  160. </div>
  161. </form>
  162. </div>
  163. <script type="text/javascript" src="js/mui.min.js"></script>
  164. <script type="text/javascript" src="js/mui.picker.min.js"></script>
  165. <script type="text/javascript" src="js/mui.picker.js"></script>
  166. <script type="text/javascript" src="js/mui.poppicker.js"></script>
  167. <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
  168. <script type="text/javascript" src="js/webuploader.js"></script>
  169. <script type="text/javascript" src="js/main.js"></script>
  170. <script type="text/javascript" src="js/up1.js"></script>
  171. <script type="text/javascript">
  172. var approvalList=[],selectPro=[];
  173. mui.ready(function(){
  174. $.ajax(base_path + '/approval/approvalInfoList?dates=' + new Date().getTime(), {
  175. data: {
  176. "pageNO":1,
  177. "pageSize":100,
  178. // "selectType":1,
  179. "productionState":2
  180. },
  181. dataType: 'json',
  182. xhrFields: {
  183. withCredentials: true
  184. },
  185. crossDomain: true,
  186. type: 'post',
  187. timeout: 15000,
  188. success: function(dt) {
  189. if(dt.isRedirect) {
  190. location.href = dt.redirectURL;
  191. } else {
  192. console.log(dt)
  193. if(dt.returnCode == "200") {
  194. approvalList=dt.returnMsg.approvalList;
  195. var arr=[];
  196. mui.each(approvalList, function(index) {
  197. var iteam = {};
  198. iteam["value"]=this.approvalId;
  199. iteam["text"]=this.approvalName;
  200. arr.push(iteam);
  201. });
  202. var payPicker = new mui.PopPicker();
  203. payPicker.setData(arr);
  204. $(document).on('tap','#select-orderName',function(){
  205. var th=this;
  206. payPicker.show(function(items) {
  207. th.value = items[0].text;
  208. th.setAttribute("name",items[0].value);
  209. var table = document.body.querySelector('.pro-list');
  210. table.innerHTML='';
  211. mui.each(approvalList, function(index) {
  212. if(items[0].value==this.approvalId){
  213. var li = document.createElement('li');
  214. var str='<ul class="pro-iteam-list">';
  215. var arr={};
  216. mui.each(this.approvalProduction.listProductionItem, function(index) {
  217. console.log(this);
  218. arr["itemId"]=this.itemId;
  219. arr["itemProductNum"]=this.itemProductNum;
  220. // arr["itemProductName"]=this.itemProductName;
  221. // arr["itemColorName"]=this.itemColorName;
  222. str+='<li><div class="mui-input-row"><label>产品名称</label><input type="text" readonly="readonly" subparam="itemProductName" value="'+this.itemProductName+'"></div><div class="mui-input-row"><label>品牌名称</label><input type="text" readonly="readonly" subparam="itemBrandName" value="'+this.itemBrandName+'"></div><div class="mui-input-row"><label>产品型号</label><input type="text" readonly="readonly" subparam="itemProductModel" value="'+this.itemProductModel+'"></div><div class="mui-input-row"><label>产品颜色</label><input type="text" readonly="readonly" subparam="itemColorName" value="'+this.itemColorName+'"></div><div class="mui-input-row"><label>产品数量</label><input type="tel" readonly="readonly" subparam="itemProductNum" value="'+this.itemProductNum+this.itemProductUnit+'"></div><div class="mui-input-row"><label>箱 / 套数</label><input type="tel" readonly="readonly" subparam="itemProductBoxNumber" value="'+this.itemProductBoxNumber+'"></div><div class="mui-input-row no-after"><label>提货数量</label><input type="text" reg="num" subparam="itemProductNum" maxlength="'+(this.itemProductNum).toString().length+'" maxnum="'+this.itemProductNum+'" placeholder="请输入提货数量(1~'+this.itemProductNum+this.itemProductUnit+')"></div></li>';
  223. });
  224. li.innerHTML='<div class="mui-input-row no-after"><label>申请人</label><input type="text" readonly="readonly" value="'+this.approvalProduction.applicantName+'"></div><div class="mui-input-row no-after"><label>订单名称</label><input type="text" readonly="readonly" value="'+this.approvalProduction.orderName+'"></div>'+str+'</ul>';
  225. table.appendChild(li);
  226. selectPro.push(arr);
  227. }
  228. });
  229. //返回 false 可以阻止选择框的关闭
  230. //return false;
  231. });
  232. });
  233. } else {
  234. mui.alert("获取数据失败!"+dt.resultMsg);
  235. }
  236. }
  237. },
  238. error: function(xhr, type, errorThrown) {
  239. console.log(xhr);
  240. //mui.alert("获取数据失败!网络错误");
  241. dt={
  242. "resultCode": 200,
  243. "resultMsg": "查询成功",
  244. "returnCode": 200,
  245. "returnMsg": {
  246. "approvalList": [
  247. {
  248. "approvalId": 10,
  249. "approvalName": "何秀刚的审批订单",
  250. "approvalType": 1,
  251. "approvalStatus": 1,
  252. "approvalStatusDetails": "待liupanqiang审批",
  253. "adminId": 1,
  254. "approvalApplicant": "柳健康",
  255. "activitiId": "52501",
  256. "approvalDetails": "html内容",
  257. "approvalRemark": "没有住",
  258. "approvalCreateTime": 1539771459000,
  259. "approvalProduction": {
  260. "productionId": 10,
  261. "approvalId": 10,
  262. "applicantOrderNo": "订单编号",
  263. "applicantName": "何秀刚",
  264. "applicantId": 1,
  265. "orderName": "20181017审批订单",
  266. "companyName": "爱贝源",
  267. "contactName": "王小明",
  268. "contactTel": "15200000000",
  269. "productionDeliveryDate": "2018-10-17",
  270. "productionDeliveryWay": "快递",
  271. "productionDeliveryDesc": "没有备注",
  272. "productionState": 1,
  273. "productionPackingWay": "随便",
  274. "productionRemark": "没有住",
  275. "productionCreateTime": 1539771459000,
  276. "listProductionItem": [
  277. {
  278. "itemId": 6,
  279. "productionId": 10,
  280. "itemProductName": "爱贝源净水机",
  281. "itemColorName": "红色",
  282. "itemProductNum": 500,
  283. "itemBrandName": "W",
  284. "itemProductModel": "WB-1",
  285. "itemProductUnit": "台",
  286. "itemProductBoxNumber": 500,
  287. "itemShouldStorage": 500,
  288. "itemActualStorage": 0,
  289. "itemLackNumber": 500,
  290. "itemCreateTime": 1539771460000
  291. },
  292. {
  293. "itemId": 7,
  294. "productionId": 11,
  295. "itemProductName": "watero净水机",
  296. "itemColorName": "黑色",
  297. "itemProductNum": 100,
  298. "itemBrandName": "Watero",
  299. "itemProductModel": "WB-1",
  300. "itemProductUnit": "台",
  301. "itemProductBoxNumber": 100,
  302. "itemShouldStorage": 100,
  303. "itemActualStorage": 0,
  304. "itemLackNumber": 100,
  305. "itemCreateTime": 1539771460000
  306. }
  307. ]
  308. },
  309. "listProductionContract": [
  310. {
  311. "contractId": 7,
  312. "approvalId": 10,
  313. "contractUrl": "../certificate1.jpg",
  314. "contractName": "../certificate1.jpg",
  315. "contractCreateTime": 1539771460000
  316. }
  317. ]
  318. },
  319. {
  320. "approvalId": 11,
  321. "approvalName": "张三的审批订单",
  322. "approvalType": 1,
  323. "approvalStatus": 1,
  324. "approvalStatusDetails": "待liupanqiang审批",
  325. "adminId": 1,
  326. "approvalApplicant": "柳健康",
  327. "activitiId": "52502",
  328. "approvalDetails": "html内容",
  329. "approvalRemark": "没有住",
  330. "approvalCreateTime": 1539771459000,
  331. "approvalProduction": {
  332. "productionId": 10,
  333. "approvalId": 11,
  334. "applicantOrderNo": "订单编号",
  335. "applicantName": "何秀刚",
  336. "applicantId": 1,
  337. "orderName": "20181017审批订单",
  338. "companyName": "爱贝源",
  339. "contactName": "王小明",
  340. "contactTel": "15200000000",
  341. "productionDeliveryDate": "2018-10-17",
  342. "productionDeliveryWay": "快递",
  343. "productionDeliveryDesc": "没有备注",
  344. "productionState": 1,
  345. "productionPackingWay": "随便",
  346. "productionRemark": "没有住",
  347. "productionCreateTime": 1539771459000,
  348. "listProductionItem": [
  349. {
  350. "itemId": 7,
  351. "productionId": 10,
  352. "itemProductName": "xxx净水机",
  353. "itemColorName": "红色",
  354. "itemProductNum": 500,
  355. "itemBrandName": "W",
  356. "itemProductModel": "WB-1",
  357. "itemProductUnit": "台",
  358. "itemProductBoxNumber": 500,
  359. "itemShouldStorage": 500,
  360. "itemActualStorage": 0,
  361. "itemLackNumber": 500,
  362. "itemCreateTime": 1539771460000
  363. },
  364. {
  365. "itemId": 8,
  366. "productionId": 11,
  367. "itemProductName": "666净水机",
  368. "itemColorName": "黑色",
  369. "itemProductNum": 100,
  370. "itemBrandName": "Watero",
  371. "itemProductModel": "WB-1",
  372. "itemProductUnit": "台",
  373. "itemProductBoxNumber": 100,
  374. "itemShouldStorage": 100,
  375. "itemActualStorage": 0,
  376. "itemLackNumber": 100,
  377. "itemCreateTime": 1539771460000
  378. }
  379. ]
  380. },
  381. "listProductionContract": [
  382. {
  383. "contractId": 7,
  384. "approvalId": 10,
  385. "contractUrl": "../certificate1.jpg",
  386. "contractName": "../certificate1.jpg",
  387. "contractCreateTime": 1539771460000
  388. }
  389. ]
  390. }
  391. ]
  392. }
  393. }
  394. if(dt.returnCode == "200") {
  395. approvalList=dt.returnMsg.approvalList;
  396. var arr=[];
  397. mui.each(approvalList, function(index) {
  398. var iteam = {};
  399. iteam["value"]=this.approvalId;
  400. iteam["text"]=this.approvalName;
  401. arr.push(iteam);
  402. });
  403. var payPicker = new mui.PopPicker();
  404. payPicker.setData(arr);
  405. $(document).on('tap','#select-orderName',function(){
  406. var th=this;
  407. payPicker.show(function(items) {
  408. th.value = items[0].text;
  409. th.setAttribute("name",items[0].value);
  410. mui.each(approvalList, function(index) {
  411. if(items[0].value==approvalList[index].approvalId){
  412. var table = document.body.querySelector('.pro-list');
  413. var li = document.createElement('li');
  414. var str='<ul class="pro-iteam-list">';
  415. mui.each(this.approvalProduction.listProductionItem, function(index) {
  416. console.log(this);
  417. str+='<li><div class="mui-input-row"><label>产品名称</label><input type="text" readonly="readonly" subparam="itemProductName" value="'+this.itemProductName+'"></div><div class="mui-input-row"><label>品牌名称</label><input type="text" readonly="readonly" subparam="itemBrandName" value="'+this.itemBrandName+'"></div><div class="mui-input-row"><label>产品型号</label><input type="text" readonly="readonly" subparam="itemProductModel" value="'+this.itemProductModel+'"></div><div class="mui-input-row"><label>产品颜色</label><input type="text" readonly="readonly" subparam="itemColorName" value="'+this.itemColorName+'"></div><div class="mui-input-row"><label>产品数量</label><input type="tel" readonly="readonly" subparam="itemProductNum" value="'+this.itemProductNum+this.itemProductUnit+'"></div><div class="mui-input-row"><label>箱 / 套数</label><input type="tel" readonly="readonly" subparam="itemProductBoxNumber" value="'+this.itemProductBoxNumber+'"></div><div class="mui-input-row no-after"><label>提货数量</label><input type="text" reg="num" name="'+this.itemId+'" subparam="itemProductNum" placeholder="请输入提货数量(1~'+this.itemProductNum+this.itemProductUnit+')"></div></li>';
  418. });
  419. li.innerHTML='<div class="mui-input-row no-after"><label>申请人</label><input type="text" readonly="readonly" value="'+this.approvalProduction.applicantName+'"></div><div class="mui-input-row no-after"><label>订单名称</label><input type="text" readonly="readonly" value="'+this.approvalProduction.orderName+'"></div>'+str+'</ul>';
  420. table.appendChild(li);
  421. }
  422. });
  423. //返回 false 可以阻止选择框的关闭
  424. //return false;
  425. });
  426. });
  427. } else {
  428. mui.alert("获取数据失败!");
  429. }
  430. }
  431. });
  432. document.querySelector('.loading-bg').style.display='none';
  433. });
  434. //提交
  435. var check = false,msg='';
  436. $(document).on('tap','.submit>button',function(){
  437. check = false,msg='';
  438. var parameter = {};
  439. mui(".mui-input-group>.mui-input-row input[reg]").each(function () {
  440. //若当前input为空,则alert提醒
  441. var th=this;
  442. var label = th.previousElementSibling;
  443. if(!th.value||(th.value).trim()==""){
  444. msg=label.innerText+"不允许为空";
  445. check = false;
  446. return false;
  447. }else{
  448. checkReg(th,label);
  449. if(th.getAttribute("param")!=null){
  450. parameter[th.getAttribute("param")] = th.value;
  451. }
  452. }
  453. });
  454. //parameter["productionItems"]=arr;
  455. //校验通过,继续执行业务逻辑
  456. if(check){
  457. parameter["productionApprovalId"]=$("#select-orderName").attr("name");
  458. parameter["applyPickTel"]='13800138000';
  459. mui(selectPro).each(function (index) {
  460. var th=this,ix=index;
  461. mui('.pro-iteam-list input[subparam=itemProductNum]').each(function () {
  462. if(selectPro[ix].itemId==this.getAttribute("name")){
  463. selectPro[ix].itemProductNum=this.value;
  464. }
  465. });
  466. });
  467. parameter["listApplyPickItemJson"]= JSON.stringify(selectPro);
  468. if(imgArray.length>0){
  469. console.log("通过");
  470. parameter["imageJson"] = JSON.stringify(imgArray);
  471. mui(".textarea[param=applyPickRemk]").each(function() {
  472. var label = this.previousElementSibling;
  473. console.log(this)
  474. if((this.value).trim() != "") {
  475. checkReg(this, label);
  476. if(check) {
  477. parameter["productionRemark"] = this.value;
  478. console.log(JSON.stringify(parameter));
  479. $.ajax(base_path + '/applyPick/addApplyPick?dates=' + new Date().getTime(), {
  480. data: parameter,
  481. dataType: 'json',
  482. xhrFields: {
  483. withCredentials: true
  484. },
  485. crossDomain: true,
  486. traditional: true, //防止深度序列化
  487. type: 'post',
  488. timeout: 15000,
  489. success: function(dt) {
  490. console.log(dt)
  491. if(dt.isRedirect) {
  492. location.href = dt.redirectURL;
  493. } else {
  494. if(dt.returnCode == "200") {
  495. mui.alert("提交成功!", function() {
  496. location.href = "pro_order_list_index.html?type=1";
  497. });
  498. } else {
  499. mui.alert("提交失败!");
  500. }
  501. }
  502. },
  503. error: function(xhr, type, errorThrown) {
  504. console.log(xhr);
  505. mui.alert("提交失败!网络错误");
  506. }
  507. });
  508. } else {
  509. msg = label.innerText + "格式错误";
  510. mui.alert(msg);
  511. }
  512. }
  513. });
  514. }else{
  515. mui.alert("请上传提货凭证照片");
  516. }
  517. }else{
  518. mui.alert(msg);
  519. }
  520. });
  521. function checkReg(th,label){
  522. var reg_Tel =/^(0?(13|14|15|18|19)[\d]{9}$|(01|02|03|04|05|06|07|08|09)[\d]{7,10}$|(400|800)[0-9]{7}$)/; //手机,座机(400-800)
  523. var reg_Ch=/^[\u4e00-\u9fa5]{2,}$/;//简体中文(2位以上)
  524. var reg_Int=/^[1-9]\d*$/; //正整数1以上
  525. var reg_Ch_Num=/^[0-9~!@#$%^&*()_+={}|<>?:;'"!@¥…(){}【】《》/`、;‘’:\-—“”,。,.?·_\-\u4e00-\u9fa5]{1,140}$/;//简体中文数字,常用符号(1位以上)
  526. var reg_En_Num=/^[A-Za-z0-9~!@#$%^&*()_+={}|<>?:;'"!@¥…(){}【】《》/`、;‘’:\-—“”,。,.?·]{1,}$/;//英文数字,常用符号(1位以上)
  527. var reg_Ch_En_Num=/^[A-Za-z0-9~!@#$%^&*()_+={}|<>?:;'"!@¥…(){}【】《》/`、;‘’:\-—“”,。,.?·_\-\u4e00-\u9fa5]{1,140}$/;//简体中文英文数字,常用符号(0-140位)
  528. var reg_Date=/^([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))/; //日期(2018-11-11)
  529. switch (th.getAttribute("reg")){
  530. case "ch":
  531. if(reg_Ch.test(th.value)){
  532. check = true;
  533. $(th).parent().addClass("check").removeClass("error");
  534. }else{
  535. check = false;
  536. $(th).parent().removeClass("check").addClass("error");
  537. msg=label.innerText+"格式错误";
  538. }
  539. break;
  540. case "num":
  541. if(reg_Int.test(th.value)){
  542. check = true;
  543. $(th).parent().addClass("check").removeClass("error");
  544. }else{
  545. check = false;
  546. $(th).parent().removeClass("check").addClass("error");
  547. msg=label.innerText+"格式错误";
  548. }
  549. break;
  550. case "ch_num":
  551. if(reg_Ch_Num.test(th.value)){
  552. check = true;
  553. $(th).parent().removeClass("error").addClass("check");
  554. }else{
  555. check = false;
  556. $(th).parent().removeClass("check").addClass("error");
  557. msg=label.innerText+"格式错误";
  558. }
  559. break;
  560. case "en_num":
  561. if(reg_En_Num.test(th.value)){
  562. check = true;
  563. $(th).parent().removeClass("error").addClass("check");
  564. }else{
  565. check = false;
  566. $(th).parent().removeClass("check").addClass("error");
  567. msg=label.innerText+"格式错误";
  568. }
  569. break;
  570. case "ch_en_num":
  571. if(reg_Ch_En_Num.test(th.value)){
  572. check = true;
  573. $(th).parent().removeClass("error").addClass("check");
  574. }else{
  575. check = false;
  576. $(th).parent().removeClass("check").addClass("error");
  577. msg=label.innerText+"格式错误";
  578. }
  579. break;
  580. case "date":
  581. if(reg_Date.test(th.value)){
  582. check = true;
  583. $(th).parent().removeClass("error").addClass("check");
  584. }else{
  585. check = false;
  586. $(th).parent().removeClass("check").addClass("error");
  587. msg=label.innerText+"格式错误";
  588. }
  589. break;
  590. case "tel":
  591. if(reg_Tel.test(th.value)){
  592. check = true;
  593. $(th).parent().addClass("check").removeClass("error");
  594. }else{
  595. check = false;
  596. $(th).parent().removeClass("check").addClass("error");
  597. msg=label.innerText+"格式错误";
  598. }
  599. break;
  600. default:
  601. break;
  602. }
  603. }
  604. $(document).on('input',".mui-input-group input[reg],.mui-input-group .bztextarea",function(){
  605. var th=this,val=th.value;
  606. var label = th.previousElementSibling;
  607. //禁止用户输入空格
  608. if(val.indexOf(" ")!=-1){
  609. val=val.replace(" ", "");
  610. $(th).val(val);
  611. }
  612. if(!val||val==""){
  613. $(th).parent().removeClass("check error");
  614. }else{
  615. if($(th).attr("maxnum")!=null){
  616. if(th.value>parseInt($(th).attr("maxnum"))){
  617. $(th).val($(th).attr("maxnum"));
  618. }
  619. }
  620. checkReg(th,label);
  621. }
  622. });
  623. </script>
  624. </body>
  625. </html>