complete_signclosed.ftl 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  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: 15px;}
  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: #f7fafd;height: 40px}
  44. .table-bg td{height: 40px;}
  45. .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
  46. .my-search-input{padding-left: 30px;background: url(${path}/common/images/cm/search.png) 6px center no-repeat;background-size: auto 60%; }
  47. input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
  48. input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
  49. </style>
  50. <title>完成签收 - 客诉管理 - RST</title>
  51. </head>
  52. <body>
  53. <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
  54. <span class="c-gray en">/</span> 客诉管理
  55. <span class="c-gray en">/</span> 完成签收
  56. <a class="btn radius r" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
  57. </nav>
  58. <article class="page-container" style="padding: 10px;">
  59. <div class="pd-20 cl">
  60. <form action="" method="post" class="form form-horizontal" id="form-signclosed-add">
  61. <div class="row cl">
  62. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>快递信息:</label>
  63. <div class="formControls col-2 col-sm-2 skin-minimal">
  64. <span class="select-box">
  65. <select id="signclosedLogistics" name="signclosedLogistics" class="select">
  66. <#if logisticsInfoList?? && (logisticsInfoList?size > 0) >
  67. <#list logisticsInfoList as logisticsInfo>
  68. <option value="${logisticsInfo.logisticsRstCode!''}" <#if complaintSignclosedInfo.signclosedLogistics == logisticsInfo.logisticsRstCode>selected</#if>>${logisticsInfo.logisticsName!''}(${logisticsInfo.logisticsRstCode!''})</option>
  69. </#list>
  70. </#if>
  71. </select>
  72. </span>
  73. </div>
  74. <div class="formControls col-2 col-sm-2">
  75. <input type="text" style="" value="${complaintSignclosedInfo.signclosedLogisticsNumber!''}" class="input-text" placeholder="填写物流单号或条码枪扫描" id="signclosedLogisticsNumber" name="signclosedLogisticsNumber">
  76. </div>
  77. </div>
  78. <div class="row cl">
  79. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>签收日期:</label>
  80. <div class="formControls col-2 col-sm-2">
  81. <input type="text" style="" value="${(complaintSignclosedInfo.signclosedDate?string("yyyy-MM-dd"))!''}" class="input-text my-input-date Wdate" placeholder="签收日期" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" id="signclosed_date" name="signclosed_date" readonly="readonly"/>
  82. <#--<input type="text" style="" value="${complaintSignclosedInfo.signclosedDate?string("yyyy-MM-dd")!''}" class="input-text my-input-date Wdate" placeholder="签收日期" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" id="signclosed_date" name="signclosed_date" readonly="readonly"/>-->
  83. </div>
  84. </div>
  85. <div class="row cl">
  86. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>签收产品:</label>
  87. <div class="formControls col-8 col-sm-8">
  88. <input type="button" class="btn btn-primary add-order-button" onclick="add_product()" value="添加产品" >
  89. <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="all_add_product">
  90. <thead>
  91. <tr class="text-c" id="table1">
  92. <th style="text-align: center;" width="30" >产品名称</th>
  93. <th style="text-align: center;" width="25" >产品颜色</th>
  94. <#--<th style="text-align: center;" width="10">售价</th>-->
  95. <th style="text-align: center;" width="10">数量</th>
  96. <th style="text-align: center;" width="10">操作</th>
  97. </tr>
  98. </thead>
  99. <tbody id="add_product">
  100. <#if complaintSignclosedInfo.signclosedProductInfoList??>
  101. <#if (complaintSignclosedInfo.signclosedProductInfoList?size > 0)>
  102. <#list complaintSignclosedInfo.signclosedProductInfoList as info>
  103. <tr class="text-c">
  104. <input type="hidden" class="color_id" id="" value="${info.signclosedProductColor!''}" >
  105. <td>${info.productName!''}</td>
  106. <td>${info.colorName!''}</td>
  107. <#--<td>${info.colorPrice!''}</td>-->
  108. <td><input type="text" class="input-text input-number item-num" style="width: 100%;border: none;text-align: center;" name="" id="" placeholder="产品数量" value="${info.productNum!''}" onkeyup="keyFun($(this),999,1)" onpaste="keyFun($(this),999,1)"></td>
  109. <td><a href="javascript:void(0)" class="del_product all_down" onclick="delProduct($(this))" >删除</a></td>
  110. </tr>
  111. </#list>
  112. </#if>
  113. </#if>
  114. </tbody>
  115. </table>
  116. <input type="hidden" id="orderItemString" name="orderItemString" value="" >
  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-2 col-sm-2">
  122. <input type="text" value="${complaintSignclosedInfo.signclosedSendName!''}" class="input-text" placeholder="寄件方姓名/公司名称" id="signclosedSendName" name="signclosedSendName">
  123. </div>
  124. <div class="formControls col-2 col-sm-2">
  125. <input type="text" value="${complaintSignclosedInfo.signclosedSendTel!''}" class="input-text" placeholder="寄件方联系电话" id="signclosedSendTel" name="signclosedSendTel">
  126. </div>
  127. </div>
  128. <div class="row cl">
  129. <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄回区域:</label>
  130. <div class="formControls col-8 col-sm-8">
  131. <div class="radio-box">
  132. <input type="radio" id="tel-s1" name="sendArea" checked value="1">
  133. <label for="tel-s1">有寄回区域</label>
  134. </div>
  135. <div class="radio-box">
  136. <input type="radio" id="tel-s2" name="sendArea" value="2">
  137. <label for="tel-s2">无寄回区域</label>
  138. </div>
  139. </div>
  140. </div>
  141. <div class="row cl address_info" style="position: relative;" id="addrs">
  142. <label class="form-label col-3 col-sm-3"></label>
  143. <div class="formControls col-2 col-sm-2" style="">
  144. <span class="select-box">
  145. <select class="select init_province" id="provinces">
  146. </select>
  147. </span>
  148. </div>
  149. <div class="formControls col-2 col-sm-2">
  150. <span class="select-box">
  151. <select class="select init_city" id="city" >
  152. </select>
  153. </span>
  154. </div>
  155. <div class="formControls col-2 col-sm-2" style="position: relative;">
  156. <span class="select-box">
  157. <select class="select init_country" id="area" >
  158. </select>
  159. </span>
  160. </div>
  161. <input type="hidden" name="signclosedAddrProvinces" id="signclosedAddrProvinces" >
  162. <input type="hidden" name="signclosedAddrCity" id="signclosedAddrCity" >
  163. <input type="hidden" name="signclosedAddrArea" id="signclosedAddrArea" >
  164. </div>
  165. <div class="row cl">
  166. <label class="form-label col-xs-3 col-sm-3">签收图片:</label>
  167. <div class="formControls col-xs-2 col-sm-2" id="fileDiv" style="width: 17%;width: 100px;height: 100px;">
  168. <input type="file" name="file" id="fileid" style="opacity: 0; position: absolute; width: 90px;height: 80px;">
  169. <img alt="介绍图" src="${path}/common/images/pts/addparts.jpg" id="partsImg" width="90px;" height="80px;">
  170. </div>
  171. <div id="imgDiv">
  172. <#if complaintSignclosedInfo.signclosedImgInfoList??>
  173. <#if (complaintSignclosedInfo.signclosedImgInfoList?size > 0)>
  174. <#list complaintSignclosedInfo.signclosedImgInfoList as info>
  175. <div class="col-xs-8 col-sm-8" onclick="deleteImg(this);" style="width: 17%;width: 100px;height: 100px;">
  176. <img src="${info.imgUrl!''}" width="90" height="80">
  177. <input type="hidden" name="componentsImg" value="${info.imgUrl!''}"/>
  178. </div>
  179. </#list>
  180. </#if>
  181. </#if>
  182. </div>
  183. </div>
  184. <div class="row cl">
  185. <label class="form-label col-3 col-sm-3">备注:</label>
  186. <div class="formControls col-5 col-sm-5">
  187. <textarea name="signclosedDesc" id="signclosedDesc" cols="" rows="2" class="textarea" placeholder="请填写备注">${complaintSignclosedInfo.signclosedDesc!''}</textarea>
  188. </div>
  189. </div>
  190. <div class="row cl">
  191. <div class="col-2 col-sm-2 col-offset-3">
  192. <input type="hidden" id="signclosedId" name="signclosedId" value="<#if complaintSignclosedInfo?? >${complaintSignclosedInfo.signclosedId!''}</#if>">
  193. <button onClick="add();" class="btn btn-block btn-primary size-XL" type="button">确认签收</button>
  194. </div>
  195. </div>
  196. </form>
  197. </div>
  198. </article>
  199. <script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
  200. <script type="text/javascript" src="${path}/common/lib/webuploader/0.1.5/webuploader.min.js"></script>
  201. <script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
  202. <script type="text/javascript" src="${path}/common/lib/cm.lib/jquery.provincesCity.js"></script>
  203. <script type="text/javascript" src="${path}/common/lib/cm.lib/provincesData.js"></script>
  204. <script type="text/javascript" src="${path}/common/lib/cm.lib/airCity.js"></script>
  205. <#--<script type="text/javascript" src="${path}/common/lib/cm.lib/dimensions.js"></script>-->
  206. <script type="text/javascript" src="${path}/common/lib/cm.lib/suggest.js"></script>
  207. <script type="text/javascript" src="${path}/common/js/common/address.js"></script>
  208. <script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/ajaxfileupload.js"></script>
  209. <script type="text/javascript">
  210. /*初始化单选框样式*/
  211. $(function(){
  212. $('.skin-minimal input').iCheck({
  213. checkboxClass: 'icheckbox-blue',
  214. radioClass: 'iradio-blue',
  215. increaseArea: '20%'
  216. });
  217. });
  218. $("#tel-s1").click(function (){
  219. $("#addrs").show();
  220. });
  221. $("#tel-s2").click(function (){
  222. $("#addrs").hide();
  223. });
  224. /***
  225. * 删除图片
  226. */
  227. function deleteImg(obj){
  228. layer.confirm("确认要删除该图片吗", { title: "确认" }, function (index) {
  229. layer.close(index);
  230. obj.remove();
  231. });
  232. }
  233. $('#fileid').change(function() {
  234. fileUpload();
  235. });
  236. function fileUpload() {
  237. $.ajaxFileUpload({
  238. url:"${path}/admin/machineParts/fileUpload",
  239. secureuri:false,
  240. fileElementId:"fileid",//文件选择框的id属性
  241. dataType: 'json', //json
  242. success: function (data) {
  243. if(data.returnCode == 200){
  244. /*<input type="file" name="file" id="fileid" style="opacity: 0; position: absolute; width: 90px;height: 80px;">*/
  245. $("#imgDiv").append('<div class="col-xs-8 col-sm-8" onclick="deleteImg(this);" style="width: 17%;width: 100px;height: 100px;">'
  246. +'<img src="'+root_path+data.returnMsg.imgUrl+'" width="90" height="80">'
  247. +'<input type="hidden" name="componentsImg" value="'+data.returnMsg.imgUrl+'"/>'
  248. +'</div>');
  249. }else{
  250. layer.msg('上传失败,请重试!',{icon: 5,time:2000});
  251. }
  252. }
  253. });
  254. $('#fileid').change(function() {
  255. fileUpload();
  256. });
  257. }
  258. /*初始化省市区*/
  259. /*$(".address_info").initAddress();*/
  260. /*var ulc = initAddress($(".address_info"));
  261. var sc = initSalesChannel($(".sales_channel"));*/
  262. var provicesId = setAddressPro();
  263. var cityId = setAddressCity('${complaintSignclosedInfo.signclosedAddrProvinces!''}');
  264. setAddressDis('${complaintSignclosedInfo.signclosedAddrCity!''}');
  265. /*alert('${complaintSignclosedInfo.signclosedAddrProvinces!''}'+'${complaintSignclosedInfo.signclosedAddrCity!''}');*/
  266. /*设置省*/
  267. function setAddressPro(){
  268. var provinceHtml = "";
  269. var provices = listProvince();
  270. for(var i=0;i<provices.length;i++){
  271. provinceHtml += '<option value="'+ provices[i].provinceId +'">'+ provices[i].province +'</option>';
  272. }
  273. $("#provinces").html(provinceHtml);
  274. $("#provinces").val('${complaintSignclosedInfo.signclosedAddrProvinces!''}');
  275. return provices[0].provinceId;
  276. }
  277. /*设置市*/
  278. function setAddressCity(proId){
  279. var cityHtml = ''
  280. var city = listCity( proId,"");
  281. for(var i=0;i<city.length;i++){
  282. cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
  283. }
  284. $("#city").html(cityHtml);
  285. $("#city").val('${complaintSignclosedInfo.signclosedAddrCity!''}');
  286. return city[0].cityId;
  287. }
  288. /*设置区*/
  289. function setAddressDis(cityId){
  290. var districtHtml = ''
  291. var district = listDistrict(cityId ,"");
  292. for(var i=0;i<district.length;i++){
  293. districtHtml += '<option value="'+ district[i].districtId +'">'+ district[i].district +'</option>';
  294. }
  295. $("#area").html(districtHtml);
  296. $("#area").val('${complaintSignclosedInfo.signclosedAddrArea!''}');
  297. }
  298. $(function(){
  299. /*var province = listProvince(null,null);
  300. var provinceHtml = '';
  301. for(var i=0;i<province.length;i++){
  302. provinceHtml += '<option value="'+ province[i].provinceId +'">'+ province[i].province +'</option>';
  303. }
  304. $("#provinces").html(provinceHtml);
  305. var city = listCity(null,null);
  306. var cityHtml = '';
  307. for(var i=0;i<city.length;i++){
  308. cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
  309. }
  310. $("#city").html(cityHtml);*/
  311. /*监听省选择事件*/
  312. $(document).on('change', '#provinces', function() {
  313. var proId = $("#provinces").val();
  314. var city = listCity(proId,null);
  315. var cityHtml = '';
  316. for(var i=0;i<city.length;i++){
  317. cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
  318. }
  319. $("#city").html(cityHtml);
  320. setAddressDis(city[0].cityId);
  321. });
  322. /*监听市选择事件*/
  323. $(document).on('change', '#city', function() {
  324. var city = $("#city").val();
  325. setAddressDis(city);
  326. });
  327. });
  328. function add() {
  329. var typeCompany = parseInt($("input:radio[name='companyId']:checked").val());
  330. if(typeCompany === null || typeCompany === ""){
  331. layer.msg('请选择所属公司',{icon: 5,time:1000});
  332. return;
  333. }else{
  334. $("#signclosedCompanyId").val(typeCompany);
  335. }
  336. var signclosedLogistics = $("#signclosedLogistics").val();
  337. if( signclosedLogistics == null || signclosedLogistics == "" ){
  338. layer.msg('请选择物流公司',{icon: 5,time:1000});
  339. return;
  340. }
  341. var signclosedLogisticsNumber = $("#signclosedLogisticsNumber").val();
  342. if( signclosedLogisticsNumber == null || signclosedLogisticsNumber == "" ){
  343. layer.msg('物流单号不能为空',{icon: 5,time:1000});
  344. return;
  345. }
  346. if( signclosedLogisticsNumber.length > 300 ){
  347. layer.msg('物流单号长度不得大于20个字符',{icon: 5,time:1000});
  348. return;
  349. }
  350. var signclosedSendName = $("#signclosedSendName").val();
  351. if( signclosedSendName == null || signclosedSendName == "" ){
  352. layer.msg('寄件人姓名不能为空',{icon: 5,time:1000});
  353. return;
  354. }
  355. if( signclosedSendName.length > 10 ){
  356. layer.msg('寄件人姓名长度不得大于10个字符',{icon: 5,time:1000});
  357. return;
  358. }
  359. var signclosedSendTel = $("#signclosedSendTel").val();
  360. if( signclosedSendTel == null || signclosedSendTel == "" ){
  361. layer.msg('请输入寄件人电话',{icon: 5,time:1000});
  362. return;
  363. }
  364. if( signclosedSendTel.length > 15 ){
  365. layer.msg('寄件人电话长度不得大于11个字符',{icon: 5,time:1000});
  366. return;
  367. }
  368. /*var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  369. if(!myreg.test(signclosedSendTel)){
  370. layer.msg('寄件人电话格式不正确',{icon: 5,time:1000});
  371. return;
  372. }*/
  373. var signclosed_date = $("#signclosed_date").val();
  374. if( signclosed_date == null || signclosed_date == "" ){
  375. layer.msg('请选择签收日期',{icon: 5,time:1000});
  376. return;
  377. }
  378. var signclosedDesc = $("#signclosedDesc").val();
  379. if( signclosedDesc != null || signclosedDesc == "" ){
  380. if( signclosedDesc.length > 300 ){
  381. layer.msg('备注长度不得大于150个字符',{icon: 5,time:1000});
  382. return;
  383. }
  384. }
  385. //设置省市县
  386. var sendArea = $('input[name="sendArea"]:checked').val();//是否有寄回区域
  387. if(sendArea === "1"){
  388. var provinces = $("#provinces").find("option:selected").val();
  389. var city = $("#city").find("option:selected").val();
  390. var area = $("#area").find("option:selected").val();
  391. $("#signclosedAddrProvinces").val(provinces);
  392. $("#signclosedAddrCity").val(city);
  393. $("#signclosedAddrArea").val(area);
  394. }else{
  395. $("#signclosedAddrProvinces").val("");
  396. $("#signclosedAddrCity").val("");
  397. $("#signclosedAddrArea").val("");
  398. }
  399. //选择产品
  400. var flag = false;
  401. /*封装订单项*/
  402. var orderItemArray = new Array();
  403. $("#add_product").find("tr").each(function(){
  404. var orderItem = new Object();
  405. orderItem.itemColorId = $(this).find(".color_id").val();
  406. orderItem.itemNum = $(this).find(".item-num").val();
  407. orderItemArray.push(orderItem);
  408. flag = true;
  409. })
  410. if(!flag){
  411. vailErrorMsg($(".add-order-button"),"必须要有一个产品");
  412. return false;
  413. }
  414. $("#orderItemString").val(JSON.stringify(orderItemArray));
  415. $.ajax({
  416. cache: true,
  417. type: "POST",
  418. url: "${path}/admin/signclosed/complete_signclosed",
  419. data:$('#form-signclosed-add').serialize(),// 你的formid
  420. async: false,
  421. success: function(data){
  422. if (data.returnCode == 200) {
  423. layer.msg('签收成功',{icon: 1,time:1000},function () {
  424. location.replace(location.href);
  425. window.location.href= "${path}/admin/signclosed/select_signclosed_list";
  426. });
  427. } else if(data.returnCode == 502) {
  428. layer.msg('请至少选择一件已签收的产品',{icon: 5,time:1000});
  429. } else if(data.returnCode == 503) {
  430. layer.msg('有产品数量未填写,如本次签收没有此产品,请删除',{icon: 5,time:1000});
  431. }else{
  432. layer.msg('添加失败',{icon: 5,time:1000});
  433. }
  434. },
  435. error: function(XmlHttpRequest, textStatus, errorThrown){
  436. layer.msg('添加错误',{icon: 5,time:1000});
  437. }
  438. });
  439. }
  440. /**
  441. * 删除商品
  442. */
  443. function delProduct($this){
  444. $this.parents("tr").remove();
  445. }
  446. /**
  447. * 添加产品
  448. */
  449. function add_product() {
  450. layer_show("商品列表", "${path}/admin/salesOrder/to_add_product","1000","500");
  451. }
  452. /**
  453. * 选择商品回调
  454. * @param colorIds
  455. */
  456. function setSelectProduct(colorIds){
  457. var index = layer.load(1, {
  458. shade: [0.5,'#fff'] //0.1透明度的白色背景
  459. });
  460. $("#all_add_product").show();
  461. var colorIdArray = colorIds.split("_");
  462. for(var i=0;i<colorIdArray.length;i++){
  463. var colorId = colorIdArray[i];
  464. if(colorId == ""){
  465. break;
  466. }
  467. var flag = true;
  468. $("#add_product").find("tr").each(function (){
  469. var colId = $(this).find(".color_id").eq(0).val();
  470. if(colId == colorId){
  471. flag = false;
  472. }
  473. })
  474. if(!flag){
  475. continue;
  476. }
  477. $.ajax({
  478. type: "POST",
  479. data: { colorId : colorId},
  480. url: "${path}/admin/product/get_product",
  481. success: function(data){
  482. var html = "";
  483. if (data.returnCode == 200 && data.returnMsg.productColorList.length > 0 ) {
  484. for(var i=0;i<data.returnMsg.productColorList.length;i++){
  485. var productColor = data.returnMsg.productColorList[i];
  486. html += '<tr class="text-c">' +
  487. '<input type="hidden" class="color_id" id="" value="'+ productColor.colorId +'" >' +
  488. ' <td>'+ cufte(productColor.productName) +'</td>' +
  489. ' <td>'+ cufte(productColor.colorName) +'</td>' +
  490. ' <td>'+ cufte(productColor.colorPrice)/100 +'</td>' +
  491. ' <td><input type="text" class="input-text input-number item-num" style="width: 100%;border: none;text-align: center;" name="" id="" placeholder="产品数量" value="1" onkeyup="keyFun($(this),999,1)" onpaste="keyFun($(this),999,1)"></td>' +
  492. ' <td><a href="javascript:void(0)" class="del_product all_down" onclick="delProduct($(this))" >删除</a></td>' +
  493. ' </tr>';
  494. }
  495. }else{
  496. html = '<tr class="text-c"><td colspan="12">没有搜索到商品,请重试!</td></tr>';
  497. }
  498. $("#add_product").append(html);
  499. /*计算价格*/
  500. calculatePrice();
  501. }
  502. });
  503. }
  504. layer.close(index);
  505. }
  506. </script>
  507. <!--/请在上方写此页面业务相关的脚本-->
  508. </body>
  509. </html>