update_renewed.ftl 50 KB

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