update_renewed.ftl 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="renderer" content="webkit|ie-comp|ie-stand">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
  8. <meta http-equiv="Cache-Control" content="no-siteapp" />
  9. <#include "/base/add_base.ftl">
  10. <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
  11. <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
  12. <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css" />
  13. <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
  14. <style>
  15. #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
  16. .select-box{background: url(${path}/common/images/pts/select-1.png) right center no-repeat;background-size: auto 100%;}
  17. .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 25px;}
  18. .table-bg th{background-color: #e2f6ff;}
  19. .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
  20. .my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 20px;background-color: #32a3d8;color: #fff;}
  21. </style>
  22. <title></title>
  23. </head>
  24. <body>
  25. <article class="cl pd-20">
  26. <form action="" method="post" class="form form-horizontal" id="form-update-renewed" name="form-update-renewed">
  27. <div class="row cl">
  28. <div class="formControls col-2 col-sm-2 text-r">
  29. <strong>当前进度</strong>
  30. </div>
  31. <div class="formControls col-10 col-sm-10">
  32. <input type="hidden" id="renewedId" name="renewedId" />
  33. <span id="renewedSchedule" class="c-red"></span>
  34. </div>
  35. </div>
  36. <input type="hidden" id="customerId" name="customerId" value="${customerId!''}">
  37. <div class="row cl">
  38. <div class="formControls col-2 col-sm-2 text-r">
  39. <strong>产品寄回</strong>
  40. </div>
  41. <div class="formControls col-10 col-sm-10 skin-minimal">
  42. <div class="radio-box">
  43. <input type="radio" id="tel-3" name="renewedBackStatus" value="1">
  44. <label for="tel-3">未寄回</label>
  45. </div>
  46. <div class="radio-box">
  47. <input type="radio" id="tel-4" name="renewedBackStatus" value="2">
  48. <label for="tel-4">已寄回</label>
  49. </div>
  50. <div class="radio-box">
  51. <input type="radio" id="tel-5" name="renewedBackStatus" value="3">
  52. <label for="tel-5">已收货</label>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="row cl" id="backLogisticsInfo" style="display: none">
  57. <div class="formControls col-2 col-sm-2 text-r">
  58. <strong>寄回信息</strong>
  59. </div>
  60. <div class="formControls col-10 col-sm-10">
  61. <div style="width: 120px;display: inline-block;margin-right: 10px;">
  62. <span class="select-box">
  63. <select name="renewedBackLogisticsCompany" id="renewedBackLogisticsCompany" class="select">
  64. <option value="">物流公司</option>
  65. <option value="sto">申通快递</option>
  66. <option value="yto">圆通快递</option>
  67. <option value="sf">顺丰快递</option>
  68. <option value="ems">邮政EMS</option>
  69. <option value="zto">中通快递</option>
  70. <option value="zjs">宅急送</option>
  71. <option value="yunda">韵达快递</option>
  72. <option value="cces">cces快递</option>
  73. <option value="pick">上门提货</option>
  74. <option value="htky">汇通快递</option>
  75. <option value="ttkdex">天天快递</option>
  76. <option value="stars">星晨急便</option>
  77. <option value="jd">京东快递</option>
  78. <option value="01">其他</option>
  79. <option value="02">上门送货</option>
  80. </select>
  81. </span>
  82. </div>
  83. <input style="width: 150px;margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="renewedBackLogisticsNo" name="renewedBackLogisticsNo">
  84. <input style="width: 150px;margin-right: 10px;" type="text" class="input-text" value="" placeholder="寄回邮费" id="renewedBackPostage" name="renewedBackPostage">
  85. <input style="width: 150px;" type="text" class="input-text" value="" placeholder="用户支付宝账户" id="renewedAlipay" name="renewedAlipay">
  86. </div>
  87. </div>
  88. <div class="row cl" id="backTransferInfo" style="display: none">
  89. <div class="formControls col-2 col-sm-2 text-r">
  90. <strong>邮费处理</strong>
  91. </div>
  92. <div class="formControls col-10 col-sm-10 skin-minimal">
  93. <div class="radio-box">
  94. <input type="radio" id="tel-6" name="renewedIsTransfer" value="0">
  95. <label for="tel-6">不需要转账</label>
  96. </div>
  97. <div class="radio-box">
  98. <input type="radio" id="tel-7" name="renewedIsTransfer" value="1">
  99. <label for="tel-7">已转账</label>
  100. </div>
  101. <div class="radio-box">
  102. <input type="radio" id="tel-8" name="renewedIsTransfer" value="2">
  103. <label for="tel-8">待转账</label>
  104. </div>
  105. </div>
  106. </div>
  107. <div class="row cl" style="position: relative;display: none;" id="backUserInfo">
  108. <div class="formControls col-2 col-sm-2 text-r">
  109. <strong>寄件信息</strong>
  110. </div>
  111. <div class="formControls col-5 col-sm-5">
  112. <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="renewedBackName" name="renewedBackName">
  113. </div>
  114. <div class="formControls col-5 col-sm-5">
  115. <input type="text" class="input-text" value="" placeholder="寄件人电话" id="renewedBackTel" name="renewedBackTel">
  116. </div>
  117. </div>
  118. <div class="row cl">
  119. <div class="formControls col-2 col-sm-2 text-r">
  120. <strong>寄回产品</strong>
  121. </div>
  122. <div class="formControls col-10 col-sm-10">
  123. <div class="update-parts" id="renewedProduct" style="float: left;width: 514px;"></div>
  124. <input type="hidden" id="closed_products" name="closed_products" />
  125. <input type="hidden" id="closed_fittings" name="closed_fittings" />
  126. <div style="float: left;">
  127. <button type="button" style="cursor:pointer;height: 30px;" class="my-btn-search" onclick="showProductList();">修改产品</button>
  128. </div>
  129. </div>
  130. </div>
  131. <div class="cl">
  132. <div class="formControls col-2 col-sm-2 text-r">
  133. </div>
  134. <div class="formControls col-10 col-sm-10" id="produceSelect" style="padding-top: 10px;display: none;">
  135. <div>
  136. <input type="text" oninput="showUpdateSendProduct();" onpropertychange="showUpdateSendProduct();" class="input-text" style="width: 100%" id="selectProcuct" name="selectProcuct" placeholder="请输入产品名称搜索">
  137. </div>
  138. <table class="table table-border table-bg table-bordered">
  139. <thead>
  140. <tr class="text-c">
  141. <th style="text-align: center;" width="60">产品名称</th>
  142. <th style="text-align: center;" width="60">产品颜色</th>
  143. <th style="text-align: center;" width="60">产品配件</th>
  144. </tr>
  145. </thead>
  146. <tbody id="addProduct">
  147. </tbody>
  148. </table>
  149. </div>
  150. </div>
  151. <div class="row cl">
  152. <div class="formControls col-2 col-sm-2 text-r">
  153. <strong>是否寄出</strong>
  154. </div>
  155. <div class="formControls col-10 col-sm-10 skin-minimal">
  156. <div class="radio-box">
  157. <input type="radio" id="tel-10" name="renewedSendStatus" value="1">
  158. <label for="tel-10">未寄出</label>
  159. </div>
  160. <div class="radio-box">
  161. <input type="radio" id="tel-11" name="renewedSendStatus" value="2">
  162. <label for="tel-11">已寄出</label>
  163. </div>
  164. <div class="radio-box">
  165. <input type="radio" id="tel-12" name="renewedSendStatus" value="3">
  166. <label for="tel-12">已收货</label>
  167. </div>
  168. Efast订单号<input style="width: 231px;margin-left:20px;" type="text" class="input-text" value="" placeholder="Efast订单号" id="renewedBackEfastOrderId" name="renewedBackEfastOrderId">
  169. </div>
  170. </div>
  171. <div class="row cl" id="sendUserInfo" style="display: none;">
  172. <div class="formControls col-2 col-sm-2 text-r">
  173. <strong>用户信息</strong>
  174. </div>
  175. <div class="formControls col-5 col-sm-5">
  176. <input type="text" class="input-text" placeholder="填写收件人姓名" id="renewedSendName" name="renewedSendName">
  177. </div>
  178. <div class="formControls col-5 col-sm-5">
  179. <input type="text" class="input-text" placeholder="填写收件人手机号" id="renewedSendTel" name="renewedSendTel">
  180. </div>
  181. </div>
  182. <div class="row cl" id="sendAddressInfo" style="display: none">
  183. <div class="formControls col-2 col-sm-2 text-r">
  184. </div>
  185. <div class="formControls col-10 col-sm-10">
  186. <div style="width: 188px;display: inline-block;margin-right: 20px;">
  187. <span class="select-box" style="padding-right: 0px;">
  188. <select name="provinceNumber" id="provinceNumber" class="select"></select>
  189. </span>
  190. </div>
  191. <div style="width: 188px;display: inline-block;margin-right: 20px;">
  192. <span class="select-box" style="padding-right: 0px;">
  193. <select name="cityNumber" id="cityNumber" class="select"></select>
  194. </span>
  195. </div>
  196. <div style="width: 189px;display: inline-block;">
  197. <span class="select-box" style="padding-right: 0px;">
  198. <select name="areaNumber" id="areaNumber" class="select"></select>
  199. <input type="hidden" id="merge_address" name="merge_address">
  200. </span>
  201. </div>
  202. </div>
  203. </div>
  204. <div class="row cl" id="sendaddressDescInfo" style="display: none">
  205. <label class="form-label col-2 col-sm-2"></label>
  206. <div class="formControls col-10 col-sm-10">
  207. <input type="text" class="input-text" placeholder="请填写详细地址" id="renewedSendAddress" name="renewedSendAddress">
  208. </div>
  209. </div>
  210. <div class="row cl" id="sendLogisticsInfo" style="display: none">
  211. <div class="formControls col-2 col-sm-2 text-r">
  212. <strong>寄出信息</strong>
  213. </div>
  214. <div class="formControls col-10 col-sm-10">
  215. <div style="width: 300px;display: inline-block;margin-right: 10px;">
  216. <span class="select-box">
  217. <select name="renewedSendLogisticsCompany" id="renewedSendLogisticsCompany" class="select">
  218. <option value="">物流公司</option>
  219. <option value="sto">申通快递</option>
  220. <option value="yto">圆通快递</option>
  221. <option value="sf">顺丰快递</option>
  222. <option value="ems">邮政EMS</option>
  223. <option value="zto">中通快递</option>
  224. <option value="zjs">宅急送</option>
  225. <option value="yunda">韵达快递</option>
  226. <option value="cces">cces快递</option>
  227. <option value="pick">上门提货</option>
  228. <option value="htky">汇通快递</option>
  229. <option value="ttkdex">天天快递</option>
  230. <option value="stars">星晨急便</option>
  231. <option value="jd">京东快递</option>
  232. <option value="01">其他</option>
  233. <option value="02">上门送货</option>
  234. </select>
  235. </span>
  236. </div>
  237. <input style="width: 300px;" type="text" class="input-text" value="" placeholder="快递单号" id="renewedSendLogisticsNo" name="renewedSendLogisticsNo">
  238. </div>
  239. </div>
  240. <div class="row cl" id="sendDescInfo" style="display: none">
  241. <div class="formControls col-2 col-sm-2 text-r">
  242. <strong>寄出备注</strong>
  243. </div>
  244. <div class="formControls col-10 col-sm-10">
  245. <input type="text" class="input-text" placeholder="寄出备注" id="renewedDesc" name="renewedDesc">
  246. </div>
  247. </div>
  248. <div class="row cl">
  249. <div class="formControls col-2 col-sm-2 text-r">
  250. <strong>寄出产品</strong>
  251. </div>
  252. <div class="formControls col-10 col-sm-10">
  253. <div class="update-parts" id="sendProduct"></div>
  254. </div>
  255. </div>
  256. <div class="row cl">
  257. <div class="formControls col-2 col-sm-2">
  258. </div>
  259. <div class="formControls col-10 col-sm-10">
  260. (如需修改,在Efast系统作废订单,重新生成订单,并与此处修改Efast重新生成的订单号!)
  261. </div>
  262. </div>
  263. <div class="row cl">
  264. <div class="formControls col-2 col-sm-2 text-r">
  265. <strong>QC进度</strong>
  266. </div>
  267. <div class="formControls col-10 col-sm-10">
  268. <table class="table table-border table-bg table-bordered">
  269. <tbody class="text-c" id="detect_table"><tr>
  270. <th>工厂检测现象</th><th>故障分类</th><th>故障原因</th><th>判定结果</th><th>故障指向</th><th>原因分析</th><th>生产维修</th>
  271. </tr>
  272. </tbody></table>
  273. </div>
  274. </div>
  275. <div class="row cl">
  276. <div class="formControls col-2 col-sm-2 text-r">
  277. <strong>返修进度</strong>
  278. </div>
  279. <div class="formControls col-10 col-sm-10">
  280. <table class="table table-border table-bg table-bordered">
  281. <tbody class="text-c" id="maintenance_table"><tr>
  282. <th>是否可返修</th><th>返修内容</th><th>返修日期</th>
  283. </tr>
  284. </tbody></table>
  285. </div>
  286. </div>
  287. <div class="row cl">
  288. <div class="formControls col-2 col-sm-2">
  289. </div>
  290. <div class="formControls col-10 col-sm-10">
  291. 寄送产品将自动推送Efast,系统自动获取物流信息,并更新。如果在Efast作废订单等操作后,无法获取物流信息,请手动填写物流信息。
  292. </div>
  293. </div>
  294. <div class="row cl">
  295. <div class="formControls col-2 col-sm-2">
  296. </div>
  297. <div class="formControls col-8 col-sm-8 text-c">
  298. <button onClick="update_renewed_info();" class="btn btn-primary" type="button">确认修改</button>
  299. </div>
  300. </div>
  301. </form>
  302. </div>
  303. </article>
  304. <script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
  305. <script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
  306. <script type="text/javascript">
  307. var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
  308. var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
  309. var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
  310. $(function(){
  311. $('.skin-minimal input').iCheck({
  312. checkboxClass: 'icheckbox-blue',
  313. radioClass: 'iradio-blue',
  314. increaseArea: '20%'
  315. });
  316. get_renewed_info();
  317. showUpdateSendProduct();
  318. /* 监听寄回状态按钮 */
  319. $("input[name='renewedBackStatus']").change(function (){
  320. initBackInfo($(this).val());
  321. })
  322. /* 监听寄出状态按钮 */
  323. $("input[name='renewedSendStatus']").change(function (){
  324. initSendInfo($(this).val());
  325. })
  326. });
  327. /*初始化寄回信息*/
  328. function initBackInfo(statusCode){
  329. if(statusCode == 1){
  330. $("#backLogisticsInfo").hide();
  331. $("#backTransferInfo").hide();
  332. $("#backUserInfo").hide();
  333. }else{
  334. $("#backLogisticsInfo").show();
  335. $("#backTransferInfo").show();
  336. $("#backUserInfo").show();
  337. }
  338. }
  339. /*初始化寄出信息*/
  340. function initSendInfo(statusCode){
  341. if(statusCode == 1){
  342. $("#sendUserInfo").hide();
  343. $("#sendAddressInfo").hide();
  344. $("#sendaddressDescInfo").hide();
  345. $("#sendLogisticsInfo").hide();
  346. $("#sendDescInfo").hide();
  347. }else{
  348. $("#sendUserInfo").show();
  349. $("#sendAddressInfo").show();
  350. $("#sendaddressDescInfo").show();
  351. $("#sendLogisticsInfo").show();
  352. $("#sendDescInfo").show();
  353. }
  354. }
  355. /*显示所有产品及配件信息*/
  356. function showUpdateSendProduct() {
  357. var productList = getProduct() ; //所有产品
  358. var html = "";
  359. if(productList == null){
  360. return false;
  361. }
  362. for(var i=0;i<productList.length;i++) {
  363. var product = productList[i];
  364. var produceFittings = product.fittingsList; //获取该产品的所有配件
  365. var colorList = product.colorList; //该产品的所有颜色
  366. var colorHtml = '';
  367. if(colorList != null && colorList.length >0 ){
  368. colorHtml += '<table style="height: 100%;">';
  369. for(var j=0;j<colorList.length;j++){
  370. var number = "";
  371. var color = colorList[j];
  372. /*for(var k=0;k<orderItemList.length;k++){
  373. var item = orderItemList[k];
  374. if(item.itemColorId == color.colorId){
  375. number = item.itemNum;
  376. }
  377. }*/
  378. var fristInputStyle = "border-top: 1px solid #ddd;";
  379. if(color.colorProductId == product.productId) {
  380. colorHtml += '<tr >' +
  381. ' <td width="75" class="input-color-name" style="border-left: none;text-align: center;'+ fristInputStyle +'">' + color.colorName + '</td>' +
  382. ' <td width="25" style="'+ fristInputStyle +'">' +
  383. ' <input type="hidden" class="input-produce-id" value="' + color.colorProductId + '">' +
  384. ' <input type="hidden" class="input-color-id" value="' + color.colorId + '">' +
  385. ' <input type="hidden" class="input-produce-name" value="' + product.productName + '">' +
  386. ' <input type="text" class="input-text input-color-number number-input" style="width: 100%;" value="'+ number +'" placeholder="产品数量" id="" name="" onkeyup="keyFun($(this))" onpaste="keyFun($(this))" >' +
  387. ' </td>' +
  388. ' </tr>';
  389. fristInputStyle = "";
  390. }
  391. }
  392. colorHtml += '</table>';
  393. }else{
  394. colorHtml += '<span>暂无该产品的颜色!<span>';
  395. }
  396. var produceFittingsHtml = '';
  397. if(produceFittings != null && produceFittings.length > 0){
  398. produceFittingsHtml += '<table style="height: 100%;">';
  399. for(var m=0;m<produceFittings.length;m++){
  400. var produceFit = produceFittings[m];
  401. if(produceFit.productId == product.productId) {
  402. var fristInputStyle = "border-top: 1px solid #ddd;";
  403. produceFittingsHtml += '<tr >' +
  404. ' <td width="75" class="input-fittings-name" style="border-left: none;text-align: center; '+ fristInputStyle +'">' + produceFit.fittingsName +'</td>' +
  405. ' <td width="25" style="'+ fristInputStyle +'">' +
  406. ' <input type="hidden" class="input-produce-id" value="' + produceFit.productId + '">' +
  407. ' <input type="hidden" class="input-fittings-id" value="' + produceFit.fittingsId +'">' +
  408. ' <input type="text" class="input-text input-fittings-number" style="width: 100%;" value="'+ number +'" placeholder="配件数量" id="" name="" onkeyup="keyFun($(this))" onpaste="keyFun($(this))" >' +
  409. ' </td>' +
  410. ' </tr>';
  411. fristInputStyle = "";
  412. }
  413. }
  414. produceFittingsHtml += '</table>';
  415. }else{
  416. produceFittingsHtml += '<span>暂无产品配件!<span>';
  417. }
  418. var produceHtml = '<input type="hidden" value="'+ product.productId +'">' +
  419. '<span>'+ product.productName +'</span>';
  420. html += ' <tr >' +
  421. ' <td width="70">'+ produceHtml +'</td>' +
  422. ' <td style="padding: 0px;text-align: center;">' +
  423. colorHtml +
  424. ' </td>' +
  425. ' <td style="padding: 0px;text-align: center;">' +
  426. produceFittingsHtml +
  427. ' </td>' +
  428. '</tr>';
  429. }
  430. html += '<tr><td colspan="3" style="text-align: center;"><button onClick="hideProductList();" class="btn btn-primary" type="button">确认</button></td></tr>'
  431. $("#addProduct").html(html);
  432. }
  433. function showProductList() {
  434. $('#produceSelect').show();
  435. }
  436. function hideProductList() {
  437. var txt_product = '';
  438. var color_numbers = '';
  439. var fittings_numbers = '';
  440. $("#addProduct").find(".input-color-number").each(function(){
  441. var number = $(this).val();
  442. if(number != null && number != ""){
  443. var productId = $(this).parent().find(".input-produce-id").val();
  444. var colorId = $(this).parent().find(".input-color-id").val();
  445. var productName = $(this).parent().find(".input-produce-name").val();
  446. //var colorName = $(this).parent().find(".input-color-name").val();
  447. //封装更换的所有产品
  448. color_numbers += productId + ':' + colorId + ":" + number + ",";
  449. txt_product += '<span style="margin-bottom: 10px;display: inline-block;float: left;">'+ productName + '*' + number + '台</span>';
  450. }
  451. });
  452. $("#addProduct").find(".input-fittings-number").each(function(){
  453. var number = $(this).val();
  454. if(number != null && number != ""){
  455. var productId = $(this).parent().find(".input-produce-id").val();
  456. var fittingsId = $(this).parent().find(".input-fittings-id").val();
  457. var fittingsName = $(this).parent().parent().find(".input-fittings-name").html();
  458. //var colorName = $(this).parent().find(".input-color-name").val();
  459. //封装更换的所有产品
  460. fittings_numbers += productId + ':' + fittingsId + ":" + number + ",";
  461. txt_product += '<span style="margin-bottom: 10px;display: inline-block;float: left;">'+ fittingsName + '*' + number + '件</span>';
  462. }
  463. })
  464. $('#renewedProduct').html(txt_product);
  465. $('#closed_products').val(color_numbers);
  466. $('#closed_fittings').val(fittings_numbers);
  467. $('#produceSelect').hide();
  468. }
  469. /*获取产品*/
  470. function getProduct(){
  471. var productList;
  472. var productName = $("#selectProcuct").val();
  473. if(productName == null || productName == ""){
  474. var productTable = '<td colspan="3">暂无数据!</td>';
  475. $("#addProduct").html(productTable);
  476. return null;
  477. }
  478. $.ajax({
  479. type: "POST",
  480. data:{'productName':productName},
  481. url: "${path}/admin/signclosed/select_product",
  482. async: false,
  483. success: function(data){
  484. if (data.returnCode == 200) {
  485. $("#addProduct").html("");
  486. productList = data.returnMsg.productList;
  487. }else{
  488. var productTable = '<td colspan="3">暂无数据!</td>';
  489. $("#addProduct").html(productTable);
  490. return null;
  491. }
  492. },
  493. error: function(XmlHttpRequest, textStatus, errorThrown){
  494. }
  495. });
  496. return productList;
  497. }
  498. /*获取换新信息*/
  499. function get_renewed_info() {
  500. $.ajax({
  501. cache: true,
  502. type: "POST",
  503. data: {"customerId":${customerId}},
  504. url: "${path}/admin/customer/get_renewed_info",
  505. async: false,
  506. success: function(data){
  507. if (data.returnCode == 200) {
  508. var renewed = data.returnMsg.renewed;
  509. console.log(renewed);
  510. getProvince('provinceNumber');
  511. getCity('cityNumber',renewed.provinceNumber);
  512. getDistrict('areaNumber',renewed.cityNumber);
  513. var renewedSchedule = '';
  514. switch (renewed.renewedBackStatus) {
  515. case 1:renewedSchedule += '未寄回,';break;
  516. case 2:renewedSchedule += '已寄回,';break;
  517. case 3:renewedSchedule += '已收货,';break;
  518. }
  519. switch (renewed.renewedSendStatus) {
  520. case 1:renewedSchedule += '未寄出,';break;
  521. case 2:renewedSchedule += '已寄出,';break;
  522. case 3:renewedSchedule += '已收货,';break;
  523. }
  524. var renewedProduct = '';
  525. if (renewed.closedProdcues != null && renewed.closedProdcues.length > 0) {
  526. $.each(renewed.closedProdcues,function(index,element){
  527. renewedProduct += '<span style="margin-bottom: 10px;display: inline-block;float: left;">'+ this.closedProductName + '*' + this.closedProdcueNumber + '台</span>';
  528. })
  529. }
  530. if (renewed.closedFittings != null && renewed.closedFittings.length > 0) {
  531. $.each(renewed.closedFittings,function(index,element){
  532. renewedProduct += '<span style="margin-bottom: 10px;display: inline-block;float: left;">'+ this.closedFittingsName + '*' + this.closedFittingNumber + '件</span>';
  533. })
  534. }
  535. $('#renewedProduct').html(renewedProduct);
  536. var sendProduct = '';
  537. if (renewed.sendProdcues != null && renewed.sendProdcues.length > 0) {
  538. $.each(renewed.sendProdcues,function(index,element){
  539. sendProduct += '<span style="margin-bottom: 10px;display: inline-block;float: left;">'+ this.sendProduceName + '*' + this.sendProdcueNumber + '台</span>';
  540. })
  541. }
  542. if (renewed.sendFittings != null && renewed.sendFittings.length > 0) {
  543. $.each(renewed.sendFittings,function(index,element){
  544. sendProduct += '<span style="margin-bottom: 10px;display: inline-block;float: left;">'+ this.sendFittingsName + '*' + this.sendFittingNumber + '件</span>';
  545. })
  546. }
  547. $('#sendProduct').html(sendProduct);
  548. $('#renewedId').val(renewed.renewedId);
  549. $('input[name="renewedBackStatus"]').each(function(){
  550. if (this.value == renewed.renewedBackStatus) {
  551. $(this).iCheck('check');
  552. }
  553. });
  554. $('input[name="renewedSendStatus"]').each(function(){
  555. if (this.value == renewed.renewedSendStatus) {
  556. $(this).iCheck('check');
  557. }
  558. });
  559. /*初始化寄回信息*/
  560. initBackInfo(renewed.renewedBackStatus);
  561. /*初始化寄出信息*/
  562. initSendInfo(renewed.renewedSendStatus);
  563. $('#renewedSchedule').html(renewedSchedule);
  564. $("#renewedBackLogisticsCompany option[value='" + renewed.renewedBackLogisticsCompany + "']").attr("selected","true");
  565. $("#renewedSendLogisticsCompany option[value='" + renewed.renewedSendLogisticsCompany + "']").attr("selected","true");
  566. $("#provinceNumber option[value='" + renewed.provinceNumber + "']").attr("selected","true");
  567. $("#cityNumber option[value='" + renewed.cityNumber + "']").attr("selected","true");
  568. $("#areaNumber option[value='" + renewed.areaNumber + "']").attr("selected","true");
  569. $('#renewedBackLogisticsNo').val(renewed.renewedBackLogisticsNo);
  570. $('#renewedBackPostage').val(renewed.renewedBackPostage/100);
  571. $('#renewedAlipay').val(renewed.renewedAlipay);
  572. $('input[name="renewedIsTransfer"]').each(function(){
  573. if (this.value == renewed.renewedIsTransfer) {
  574. $(this).iCheck('check');
  575. }
  576. });
  577. $('#renewedBackName').val(renewed.renewedBackName);
  578. $('#renewedBackTel').val(renewed.renewedBackTel);
  579. //$('#renewedBackMachineNo').val(renewed.renewedBackMachineNo);
  580. $('#renewedBackEfastOrderId').val(renewed.renewedBackEfastOrderId);
  581. $('#renewedSendName').val(renewed.renewedSendName);
  582. $('#renewedSendTel').val(renewed.renewedSendTel);
  583. $('#renewedSendAddress').val(renewed.renewedSendAddress);
  584. $('#renewedSendLogisticsNo').val(renewed.renewedSendLogisticsNo);
  585. $('#renewedDesc').val(renewed.renewedDesc);
  586. var detect_table = $('#detect_table');
  587. var maintenance_table = $('#maintenance_table');
  588. if (renewed.complaintDetectList != null) {
  589. $.each(renewed.complaintDetectList,function (i,item) {
  590. if (i == 0) {
  591. switch (this.detectState) {
  592. case 1:renewedSchedule += '待仓库转入';break;
  593. case 2:renewedSchedule += '正在检查';break;
  594. case 3:renewedSchedule += '检查通过';break;
  595. case 4:renewedSchedule += '检查未通过';break;
  596. }
  597. }
  598. var detectRevolutionProducedMsg = "";
  599. switch (this.detectRevolutionProduced){
  600. case 1:
  601. detectRevolutionProducedMsg = "待转入";
  602. break;
  603. case 2:
  604. detectRevolutionProducedMsg = "已转入";
  605. break;
  606. case 3:
  607. detectRevolutionProducedMsg = "不需要转入";
  608. break;
  609. }
  610. var detect_tr = '<tr><td>'+convertUndefinedToEmpty(this.detectPhenomenon)+'</td>'
  611. + '<td>'+convertUndefinedToEmpty(this.detectFailureClassification)+'</td>'
  612. + '<td>'+convertUndefinedToEmpty(this.detectFailureCause)+'</td>'
  613. + '<td>'+convertUndefinedToEmpty(this.detectResults)+'</td>'
  614. + '<td>'+convertUndefinedToEmpty(this.detectPoint)+'</td>'
  615. + '<td>'+convertUndefinedToEmpty(this.detectAnalysis)+'</td>'
  616. + '<td>'+convertUndefinedToEmpty(detectRevolutionProducedMsg)+'</td></tr>';
  617. detect_table.append(detect_tr);
  618. var maintenance_tr = '<tr><td>'+convertUndefinedToEmpty(this.maintenanceIdRepair)+'</td>'
  619. + '<td>'+convertUndefinedToEmpty(this.maintenanceContent)+'</td>'
  620. + '<td>'+convertUndefinedToEmpty(this.maintenanceContentDate)+'</td></tr>';
  621. maintenance_table.append(maintenance_tr);
  622. })
  623. }
  624. $('#renewedSchedule').html(renewedSchedule);
  625. }
  626. },
  627. error: function(XmlHttpRequest, textStatus, errorThrown){
  628. }
  629. })
  630. }
  631. /*修改换新信息*/
  632. function update_renewed_info() {
  633. var renewed_flag = checkRenewed();
  634. var provinceNumber = $("#provinceNumber").find("option:selected").text();
  635. var cityNumber = $("#cityNumber").find("option:selected").text();
  636. var areaNumber = $("#areaNumber").find("option:selected").text();
  637. $('#merge_address').val(provinceNumber+'-'+cityNumber+'-'+areaNumber);
  638. var renewedBackPostage = $("#renewedBackPostage").val();
  639. $("#renewedBackPostage").val(parseInt(renewedBackPostage*100));
  640. if (renewed_flag) {
  641. $.ajax({
  642. cache: true,
  643. type: "POST",
  644. data: $('#form-update-renewed').serialize(),
  645. url: "${path}/admin/customer/update_renewed_info",
  646. async: false,
  647. success: function(data){
  648. if (data.returnCode == 200) {
  649. window.parent.custome_result(data.resultMsg,1);
  650. parent.location.reload();
  651. var index = parent.layer.getFrameIndex(window.name);
  652. parent.layer.close(index);
  653. } else {
  654. window.parent.custome_result(data.resultMsg,5);
  655. }
  656. },
  657. error: function(XmlHttpRequest, textStatus, errorThrown){
  658. window.parent.admin_result("修改失败!",5);
  659. var index = parent.layer.getFrameIndex(window.name);
  660. parent.layer.close(index);
  661. }
  662. })
  663. }
  664. }
  665. /*校验换新填写信息*/
  666. function checkRenewed() {
  667. var renewed_flag = true;
  668. var renewedBackStatus = $('input[name="renewedBackStatus"]:checked').val();//寄回状态
  669. var renewedBackLogisticsNo = $('#renewedBackLogisticsNo').val().trim();//物流单号
  670. var renewedBackPostage = $('#renewedBackPostage').val().trim();//寄回邮费
  671. var renewedBackLogisticsCompany = $("#renewedBackLogisticsCompany option:selected").val();//寄回物流公司
  672. var renewedBackName = $('#renewedBackName').val();
  673. var renewedBackTel = $('#renewedBackTel').val();
  674. if (renewedBackStatus == 1) {
  675. // if (renewedBackLogisticsNo != null && renewedBackLogisticsNo != '') {
  676. // layer.msg("产品未寄回,不能有物流信息!",{icon: 5,time:1000});
  677. // renewed_flag = false;
  678. // return renewed_flag;
  679. // }
  680. // if (renewedBackPostage != null && renewedBackPostage != '' && renewedBackPostage != 0) {
  681. // layer.msg("产品未寄回,不能有邮费!",{icon: 5,time:1000});
  682. // renewed_flag = false;
  683. // return renewed_flag;
  684. // }
  685. // if (renewedBackLogisticsCompany != null && renewedBackLogisticsCompany != '') {
  686. // layer.msg("产品未寄回,不能选择物流公司!",{icon: 5,time:1000});
  687. // renewed_flag = false;
  688. // return renewed_flag;
  689. // }
  690. // if (renewedBackName != null && renewedBackName != '') {
  691. // layer.msg("产品未寄回,不能填写寄回人信息!",{icon: 5,time:1000});
  692. // renewed_flag = false;
  693. // return renewed_flag;
  694. // }
  695. // if (renewedBackTel != null && renewedBackTel != '') {
  696. // layer.msg("产品未寄回,不能填写寄回人电话号码!",{icon: 5,time:1000});
  697. // renewed_flag = false;
  698. // return renewed_flag;
  699. // }
  700. } else if (renewedBackStatus == 2 || renewedBackStatus == 3) {
  701. if (renewedBackLogisticsNo == null || renewedBackLogisticsNo == '') {
  702. layer.msg("物流信息不能为空!",{icon: 5,time:1000});
  703. renewed_flag = false;
  704. return renewed_flag;
  705. }
  706. if (!money.test(renewedBackPostage)) {
  707. layer.msg("邮费格式不正确,请重新输入!",{icon: 5,time:1000});
  708. renewed_flag = false;
  709. return renewed_flag;
  710. }
  711. if (renewedBackLogisticsCompany == null || renewedBackLogisticsCompany == '') {
  712. layer.msg("请选择物流公司!",{icon: 5,time:1000});
  713. renewed_flag = false;
  714. return renewed_flag;
  715. }
  716. if (!uname.test(renewedBackName)) {
  717. layer.msg("寄回人信息格式不正确,请重新输入!",{icon: 5,time:1000});
  718. renewed_flag = false;
  719. return renewed_flag;
  720. }
  721. if (!mobile.test(renewedBackTel)) {
  722. layer.msg("寄回人电话号码格式不正确,请重新输入!",{icon: 5,time:1000});
  723. renewed_flag = false;
  724. return renewed_flag;
  725. }
  726. }
  727. var renewedSendName = $('#renewedSendName').val();
  728. if (!uname.test(renewedSendName)) {
  729. layer.msg("寄回人信息格式不正确,请重新输入!",{icon: 5,time:1000});
  730. renewed_flag = false;
  731. return renewed_flag;
  732. }
  733. var renewedSendTel = $('#renewedSendTel').val();
  734. if (!mobile.test(renewedSendTel)) {
  735. layer.msg("寄回人电话号码格式不正确,请重新输入!",{icon: 5,time:1000});
  736. renewed_flag = false;
  737. return renewed_flag;
  738. }
  739. var renewedSendAddress = $('#renewedSendAddress').val();
  740. if (renewedSendAddress == null || renewedSendAddress == '') {
  741. layer.msg("寄出地址不能为空!",{icon: 5,time:1000});
  742. renewed_flag = false;
  743. return renewed_flag;
  744. }
  745. var renewedSendStatus = $('input[name="renewedSendStatus"]:checked').val();//寄回状态
  746. var renewedSendLogisticsCompany = $('#renewedSendLogisticsCompany').val();//寄出物流公司
  747. var renewedSendLogisticsNo = $('#renewedSendLogisticsNo').val();//寄出物流单号
  748. if (renewedSendStatus == 1) {
  749. // if (renewedSendLogisticsCompany != null && renewedSendLogisticsCompany != '') {
  750. // layer.msg("产品未寄送,不能选择物流公司!",{icon: 5,time:1000});
  751. // renewed_flag = false;
  752. // return renewed_flag;
  753. // }
  754. // if (renewedSendLogisticsNo != null && renewedSendLogisticsNo != '') {
  755. // layer.msg("产品未寄送,不能填写物流单号!",{icon: 5,time:1000});
  756. // renewed_flag = false;
  757. // return renewed_flag;
  758. // }
  759. } else if (renewedSendStatus == 2 || renewedSendStatus == 3) {
  760. if (renewedSendLogisticsCompany == null || renewedSendLogisticsCompany == '') {
  761. layer.msg("请选择寄回物流公司!",{icon: 5,time:1000});
  762. renewed_flag = false;
  763. return renewed_flag;
  764. }
  765. if (renewedSendLogisticsNo == null || renewedSendLogisticsNo == '') {
  766. layer.msg("请填写物流单号!",{icon: 5,time:1000});
  767. renewed_flag = false;
  768. return renewed_flag;
  769. }
  770. }
  771. return renewed_flag;
  772. }
  773. /**
  774. * 获取省
  775. */
  776. function getProvince(provinceNum) {
  777. var province = listProvince();
  778. if(province!=null){
  779. var provinceHtml = '';
  780. for(var i=0;i<province.length;i++){
  781. provinceHtml += '<option value="'+ province[i].provinceId +'">'+ province[i].province +'</option>';
  782. }
  783. $('#'+provinceNum).append(provinceHtml);
  784. }
  785. }
  786. /**
  787. * 获取市
  788. */
  789. function getCity(cityNum,provineceId) {
  790. var city = listCity(provineceId,'');
  791. if(city!=null){
  792. var cityHtml = '';
  793. for(var i=0;i<city.length;i++){
  794. cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
  795. }
  796. $('#'+cityNum).append(cityHtml);
  797. }
  798. }
  799. /**
  800. * 获取区
  801. */
  802. function getDistrict(districtNum,cityId) {
  803. var district = listDistrict(cityId,'');
  804. if(district!=null){
  805. var districtHtml = '';
  806. for(var i=0;i<district.length;i++){
  807. districtHtml += '<option value="'+ district[i].districtId +'">'+ district[i].district +'</option>';
  808. }
  809. $('#'+districtNum).append(districtHtml);
  810. }
  811. }
  812. /*监听市选择事件*/
  813. $(document).on('change', '#cityNumber', function() {
  814. var city = $("#cityNumber").val();
  815. $('#areaNumber option').remove();
  816. getDistrict('areaNumber',city);
  817. });
  818. /*监听省选择事件*/
  819. $(document).on('change', '#provinceNumber', function() {
  820. var proId = $("#provinceNumber").val();
  821. $('#cityNumber option').remove();
  822. getCity('cityNumber',proId);
  823. var cityId = $("#cityNumber").val();
  824. $('#areaNumber option').remove();
  825. getDistrict('areaNumber',cityId);
  826. });
  827. </script>
  828. </body>
  829. </html>