add_signclosed.ftl 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  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/lib/jquery.ui/jquery-ui.css" rel="stylesheet" type="text/css"/>
  11. <link href="${path}/common/lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css"/>
  12. <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css"/>
  13. <style>
  14. .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
  15. .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
  16. .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
  17. .tit-2:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
  18. #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
  19. #suggest, #suggest2 {width:200px}
  20. .gray {color:gray}
  21. .ac_results {background:#fff;border:1px solid #7f9db9;position: absolute;z-index: 10000;display: none}
  22. .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
  23. .ac_results li {border:1px solid #fff}
  24. .ac_over, .ac_results li a:hover {background:#c8e3fc}
  25. .ac_results li a span {float:right}
  26. .ac_result_tip {border-bottom:1px dashed #666;padding:3px}
  27. .select-box{background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;}
  28. .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 25px;}
  29. .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
  30. .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
  31. .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent #32a3d8 transparent transparent;font-size:0; line-height:0;}
  32. .dalog-ask .ask{color: #000;margin: 10px 0 5px 0;}
  33. .dalog-ask .answer{color: #666;margin-bottom: 10px;}
  34. .dalog-ask .answer:hover{color: #32a3d8;cursor: pointer;}
  35. .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
  36. .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
  37. .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
  38. .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
  39. .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
  40. .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
  41. .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent transparent transparent #32a3d8;font-size:0; line-height:0;}
  42. .time-line-list>li:first-child .arrow{display: none;}
  43. .table-bg th{background-color: #e2f6ff;}
  44. .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
  45. .my-search-input{padding-left: 30px;background: url(${path}/common/images/cm/search.png) 6px center no-repeat;background-size: auto 60%; }
  46. </style>
  47. <title>添加签收 - 客诉管理 - RST</title>
  48. </head>
  49. <body>
  50. <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
  51. <span class="c-gray en">&gt;</span> 客诉管理
  52. <span class="c-gray en">&gt;</span> 添加签收
  53. <a class="btn radius r"
  54. style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;"
  55. href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
  56. </nav>
  57. <article class="page-container" style="padding: 10px;">
  58. <div class="pd-20 cl">
  59. <form action="" method="post" class="form form-horizontal" id="form-signclosed-add">
  60. <div class="row cl">
  61. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>签收类型:</label>
  62. <div class="radio-box">
  63. <input type="radio" id="tel-1" name="signclosedType" value="1" datatype="*" checked nullmsg="请选择签收类型!">
  64. <label for="tel-1">客诉寄回</label>
  65. </div>
  66. <div class="radio-box">
  67. <input type="radio" id="tel-2" name="signclosedType" value="2">
  68. <label for="tel-2">代理商退货</label>
  69. </div>
  70. <div class="radio-box">
  71. <input type="radio" id="tel-3" name="signclosedType" value="3">
  72. <label for="tel-3">其他</label>
  73. <input type="text" style="width: 150px;margin-left: 10px;" class="input-text" placeholder="选择其他时有值" id="signclosedTypeName" name="signclosedTypeName">
  74. </div>
  75. </div>
  76. <#--<div class="row cl">
  77. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄回产品:</label>
  78. <div class="formControls col-8 col-sm-8 text-c" id="produceSelect">
  79. <table class="table table-border table-bg table-bordered">
  80. <thead>
  81. <tr class="text-c">
  82. <th style="text-align: center;" width="100">产品名称</th>
  83. <th style="text-align: center;" width="100">产品颜色</th>
  84. <th style="text-align: center;" width="100">产品配件</th>
  85. </tr>
  86. </thead>
  87. <tbody id="addProduct">
  88. <#if (productList?size > 0)>
  89. <#list productList as product>
  90. <tr >
  91. <td>${product.productName!''}</td>
  92. <td>
  93. <#if (product.colorList?size > 0)>
  94. <#list product.colorList as colorList>
  95. <input type="checkbox" id="" value="${colorList.colorId!''}" name="colorName" datatype="*">${colorList.colorName!''}
  96. <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="colorId${colorList.colorId!''}" name="colorId${colorList.colorId!''}"><br>
  97. </#list>
  98. <#else>
  99. 暂无颜色,请先添加产品颜色
  100. </#if>
  101. </td>
  102. <td>
  103. <#if (product.fittingsList?size > 0)>
  104. <#list product.fittingsList as fittingsList>
  105. <input type="checkbox" id="" value="${fittingsList.fittingsId!''}" name="fittingsName" datatype="*">${fittingsList.fittingsName!''}
  106. <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="fittingsId${fittingsList.fittingsId!''}" name="fittingsId${fittingsList.fittingsId!''}"><br>
  107. </#list>
  108. <#else>
  109. 暂无配件,请先添加配件
  110. </#if>
  111. </td>
  112. </tr>
  113. </#list>
  114. </#if>
  115. </tbody>
  116. </table>
  117. </div>
  118. </div>-->
  119. <div class="row cl">
  120. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄回物流:</label>
  121. <div class="formControls col-3 col-sm-3 skin-minimal">
  122. <span class="select-box">
  123. <select name="signclosedLogistics" class="select">
  124. <option value="">请选择物流公司</option>
  125. <option value="sto">申通快递</option>
  126. <option value="yto">圆通快递</option>
  127. <option value="sf">顺丰快递</option>
  128. <option value="ems">邮政EMS</option>
  129. <option value="zto">中通快递</option>
  130. <option value="zjs">宅急送</option>
  131. <option value="yunda">韵达快递</option>
  132. <option value="cces">cces快递</option>
  133. <option value="pick">上门提货</option>
  134. <option value="htky">汇通快递</option>
  135. <option value="ttkdex">天天快递</option>
  136. <option value="stars">星晨急便</option>
  137. <option value="jd">京东快递</option>
  138. <option value="01">其他</option>
  139. <option value="02">上门送货</option>
  140. </select>
  141. </span>
  142. </div>
  143. <input type="text" style="width: 150px;margin-left: 10px;" class="input-text" placeholder="物流单号" id="signclosedLogisticsNumber" name="signclosedLogisticsNumber">
  144. </div>
  145. <div class="row cl">
  146. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄件人信息:</label>
  147. <div class="formControls col-4 col-sm-4 skin-minimal">
  148. <input type="text" style="width: 150px;margin-left: 10px;" class="input-text" placeholder="寄件方姓名/公司名称" id="signclosedSendName" name="signclosedSendName">
  149. <input type="text" style="width: 150px;margin-left: 10px;" class="input-text" placeholder="寄件方联系电话" id="signclosedSendTel" name="signclosedSendTel">
  150. </div>
  151. </div>
  152. <div class="row cl" style="position: relative;">
  153. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄件区域:</label>
  154. <div class="formControls col-3 col-sm-3 skin-minimal">
  155. <span class="select-box">
  156. <select name="signclosedAddrProvinces" id="province" class="select">
  157. </select>
  158. </span>
  159. </div>
  160. <div class="formControls col-3 col-sm-3 skin-minimal">
  161. <span class="select-box">
  162. <select name="signclosedAddrCity" id="city" class="select">
  163. </select>
  164. </span>
  165. </div>
  166. </div>
  167. <div class="row cl" id="renewedProduct">
  168. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>签收产品:</label>
  169. <div class="formControls col-8 col-sm-8 text-c" id="produceSelect">
  170. <div>
  171. <input type="text" onchange="selectProduct();" class="input-text" style="width: 716px;" id="selectProcuct" name="selectProcuct" placeholder="请输入产品名称搜索">
  172. </div>
  173. <table class="table table-border table-bg table-bordered">
  174. <thead>
  175. <tr class="text-c">
  176. <th style="text-align: center;" width="100">产品名称</th>
  177. <th style="text-align: center;" width="100">产品颜色</th>
  178. <th style="text-align: center;" width="100">产品配件</th>
  179. </tr>
  180. </thead>
  181. <tbody id="addProduct">
  182. <#if (productList?size > 0)>
  183. <#list productList as product>
  184. <tr >
  185. <td>${product.productName!''}</td>
  186. <td>
  187. <#if (product.colorList?size > 0)>
  188. <#list product.colorList as colorList>
  189. <input type="checkbox" id="" value="${colorList.colorId!''}" name="alreadyColorName" datatype="*">${colorList.colorName!''}
  190. <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="alreadyColorId${colorList.colorId!''}" name="alreadyColorId${colorList.colorId!''}"><br>
  191. </#list>
  192. <#else>
  193. 暂无颜色,请先添加产品颜色
  194. </#if>
  195. </td>
  196. <td>
  197. <#if (product.fittingsList?size > 0)>
  198. <#list product.fittingsList as fittingsList>
  199. <input type="checkbox" id="" value="${fittingsList.fittingsId!''}" name="alreadyFittingsName" datatype="*">${fittingsList.fittingsName!''}
  200. <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="alreadyFittingsId${fittingsList.fittingsId!''}" name="alreadyFittingsId${fittingsList.fittingsId!''}"><br>
  201. </#list>
  202. <#else>
  203. 暂无配件,请先添加配件
  204. </#if>
  205. </td>
  206. </tr>
  207. </#list>
  208. </#if>
  209. </tbody>
  210. </table>
  211. </div>
  212. </div>
  213. <div class="row cl">
  214. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>是否少配件:</label>
  215. <div class="formControls col-5 col-sm-5 skin-minimal">
  216. <div class="radio-box">
  217. <input type="radio" id="tel-4" name="signclosedIsFittings" value="1" datatype="*" checked >
  218. <label for="tel-4">缺少配件</label>
  219. </div>
  220. <div class="radio-box">
  221. <input type="radio" id="tel-5" name="signclosedIsFittings" value="2" datatype="*">
  222. <label for="tel-5">不缺配件</label>
  223. </div>
  224. </div>
  225. </div>
  226. <div class="row cl">
  227. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>签收日期:</label>
  228. <div class="formControls col-5 col-sm-5 skin-minimal">
  229. <input type="text" style="width: 150px;margin-left: 10px;" class="input-text my-input-date" placeholder="签收日期" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" id="signclosed_date" name="signclosed_date" readonly="readonly"/>
  230. </div>
  231. </div>
  232. <div class="row cl">
  233. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>是否品检:</label>
  234. <div class="formControls col-5 col-sm-5 skin-minimal">
  235. <div class="radio-box">
  236. <input type="radio" id="tel-6" name="signclosedIsQuality" value="1" datatype="*" checked >
  237. <label for="tel-6">需要品检</label>
  238. </div>
  239. <div class="radio-box">
  240. <input type="radio" id="tel-7" name="signclosedIsQuality" value="2" datatype="*">
  241. <label for="tel-7">不需要品检</label>
  242. </div>
  243. </div>
  244. </div>
  245. <div class="row cl">
  246. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>是否已转入:</label>
  247. <div class="formControls col-5 col-sm-5 skin-minimal">
  248. <div class="radio-box">
  249. <input type="radio" id="tel-8" name="signclosedIsInto" value="1" datatype="*" checked >
  250. <label for="tel-8">已转入品检</label>
  251. </div>
  252. <div class="radio-box">
  253. <input type="radio" id="tel-9" name="signclosedIsInto" value="2" datatype="*">
  254. <label for="tel-9">未转入品检</label>
  255. </div>
  256. </div>
  257. </div>
  258. <div class="row cl">
  259. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>是否已经签收:</label>
  260. <div class="formControls col-5 col-sm-5 skin-minimal">
  261. <div class="radio-box">
  262. <input type="radio" id="tel-10" name="signclosedState" onclick="show();" value="1" datatype="*" checked >
  263. <label for="tel-8">已签收</label>
  264. </div>
  265. <div class="radio-box">
  266. <input type="radio" id="tel-11" name="signclosedState" onclick="hide();" value="2" datatype="*">
  267. <label for="tel-9">未签收</label>
  268. </div>
  269. </div>
  270. </div>
  271. <div class="row cl" id="objectsStateId">
  272. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>物件状态:</label>
  273. <div class="formControls col-5 col-sm-5 skin-minimal">
  274. <div class="radio-box">
  275. <input type="radio" id="tel-12" name="signclosedObjectsState" value="1" datatype="*" checked >
  276. <label for="tel-8">正常签收</label>
  277. </div>
  278. <div class="radio-box">
  279. <input type="radio" id="tel-13" name="signclosedObjectsState" value="2" datatype="*">
  280. <label for="tel-9">物件不对</label>
  281. </div>
  282. </div>
  283. </div>
  284. <div class="row cl">
  285. <label class="form-label col-3 col-sm-3">备注:</label>
  286. <div class="formControls col-5 col-sm-5">
  287. <textarea name="signclosedDesc" id="signclosedDesc" cols="" rows="2" class="textarea" placeholder="请填写备注"></textarea>
  288. </div>
  289. </div>
  290. <div class="row cl">
  291. <div class="col-2 col-sm-2 col-offset-3">
  292. <button onClick="add();" class="btn btn-block btn-primary size-XL" type="button">确认录入</button>
  293. </div>
  294. </div>
  295. </form>
  296. </div>
  297. </article>
  298. <script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
  299. <script type="text/javascript" src="${path}/common/lib/webuploader/0.1.5/webuploader.min.js"></script>
  300. <script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
  301. <script type="text/javascript" src="${path}/common/lib/cm.lib/jquery.provincesCity.js"></script>
  302. <script type="text/javascript" src="${path}/common/lib/cm.lib/provincesData.js"></script>
  303. <script type="text/javascript" src="${path}/common/lib/cm.lib/airCity.js"></script>
  304. <#--<script type="text/javascript" src="${path}/common/lib/cm.lib/dimensions.js"></script>-->
  305. <script type="text/javascript" src="${path}/common/lib/cm.lib/suggest.js"></script>
  306. <script type="text/javascript">
  307. function hide() {
  308. $("#objectsStateId").hide();
  309. }
  310. function show() {
  311. $("#objectsStateId").show();
  312. }
  313. //动态回显产品js state
  314. function selectProduct(){
  315. var productName = $("#selectProcuct").val();
  316. alert(productName);
  317. $.ajax({
  318. cache: true,
  319. type: "POST",
  320. url: "${path}/admin/signclosed/select_product",
  321. data:{'productName':productName},
  322. async: false,
  323. success: function(data){
  324. if (data.returnCode == 200) {
  325. layer.msg('查询成功',{icon: 5,time:1000});
  326. } else {
  327. layer.msg('查询失败,请刷新页面再试',{icon: 5,time:1000});
  328. }
  329. },
  330. error: function(XmlHttpRequest, textStatus, errorThrown){
  331. layer.msg('添加错误',{icon: 5,time:1000});
  332. }
  333. });
  334. }
  335. //动态回显产品js end
  336. $(function(){
  337. var province = listProvince(null,null);
  338. var provinceHtml = '';
  339. for(var i=0;i<province.length;i++){
  340. provinceHtml += '<option value="'+ province[i].provinceId +'">'+ province[i].province +'</option>';
  341. }
  342. $("#province").html(provinceHtml);
  343. var city = listCity(null,null);
  344. var cityHtml = '';
  345. for(var i=0;i<city.length;i++){
  346. cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
  347. }
  348. $("#city").html(cityHtml);
  349. /*监听省选择事件*/
  350. $(document).on('change', '#province', function() {
  351. var proId = $("#province").val();
  352. var city = listCity(proId,null);
  353. var cityHtml = '';
  354. for(var i=0;i<city.length;i++){
  355. cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
  356. }
  357. $("#city").html(cityHtml);
  358. });
  359. });
  360. function add() {
  361. var signclosedType = $("#signclosedType").val();
  362. if( signclosedType == 3){
  363. var signclosedTypeName = $("#signclosedTypeName").val();
  364. if( signclosedTypeName == null || signclosedTypeName == "" ) {
  365. layer.msg('类型为其他时需填值', {icon: 5, time: 1000});
  366. return;
  367. }
  368. }
  369. var signclosedLogisticsNumber = $("#signclosedLogisticsNumber").val();
  370. if( signclosedLogisticsNumber == null || signclosedLogisticsNumber == "" ){
  371. layer.msg('物流单号不能为空',{icon: 5,time:1000});
  372. return;
  373. }
  374. if( signclosedLogisticsNumber.length > 300 ){
  375. layer.msg('物流单号长度不得大于20个字符',{icon: 5,time:1000});
  376. return;
  377. }
  378. var signclosedSendName = $("#signclosedSendName").val();
  379. if( signclosedSendName == null || signclosedSendName == "" ){
  380. layer.msg('寄件人姓名不能为空',{icon: 5,time:1000});
  381. return;
  382. }
  383. if( signclosedSendName.length > 10 ){
  384. layer.msg('寄件人姓名长度不得大于10个字符',{icon: 5,time:1000});
  385. return;
  386. }
  387. var signclosedSendTel = $("#signclosedSendTel").val();
  388. if( signclosedSendTel == null || signclosedSendTel == "" ){
  389. layer.msg('请输入寄件人电话',{icon: 5,time:1000});
  390. return;
  391. }
  392. if( signclosedSendTel.length > 11 ){
  393. layer.msg('寄件人电话长度不得大于11个字符',{icon: 5,time:1000});
  394. return;
  395. }
  396. var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  397. if(!myreg.test(signclosedSendTel)){
  398. layer.msg('寄件人电话格式不正确',{icon: 5,time:1000});
  399. return;
  400. }
  401. var signclosedDesc = $("#signclosedDesc").val();
  402. if( signclosedDesc != null || signclosedDesc == "" ){
  403. if( signclosedDesc.length > 300 ){
  404. layer.msg('备注长度不得大于150个字符',{icon: 5,time:1000});
  405. return;
  406. }
  407. }
  408. $.ajax({
  409. cache: true,
  410. type: "POST",
  411. url: "${path}/admin/signclosed/add_signclosed",
  412. data:$('#form-signclosed-add').serialize(),// 你的formid
  413. async: false,
  414. success: function(data){
  415. if (data.returnCode == 200) {
  416. layer.msg('添加成功',{icon: 1,time:1000},function () {
  417. location.replace(location.href);
  418. });
  419. } else {
  420. layer.msg('添加失败',{icon: 5,time:1000});
  421. }
  422. },
  423. error: function(XmlHttpRequest, textStatus, errorThrown){
  424. layer.msg('添加错误',{icon: 5,time:1000});
  425. }
  426. });
  427. }
  428. </script>
  429. <!--/请在上方写此页面业务相关的脚本-->
  430. </body>
  431. </html>