complete_signclosed.ftl 27 KB

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