update_repair.ftl 49 KB

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