add.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. {extend name="app/shop/view/base.html"/}
  2. {block name="resources"}
  3. <style>
  4. .yilianyun {
  5. display:none;
  6. }
  7. .feie{
  8. display:none;
  9. }
  10. </style>
  11. {/block}
  12. {block name="main"}
  13. <div class="layui-collapse tips-wrap">
  14. <div class="layui-colla-item">
  15. <h2 class="layui-colla-title">操作提示</h2>
  16. <ul class="layui-colla-content layui-show">
  17. <li>易联云的打印机请购买k6、k4、w1系列的打印机</li>
  18. </ul>
  19. </div>
  20. </div>
  21. <div class="layui-form form-wrap">
  22. <div class="layui-card card-common card-brief">
  23. <div class="layui-card-header">
  24. <span class="card-title">打印机设置</span>
  25. </div>
  26. <div class="layui-card-body">
  27. <div class="layui-form-item">
  28. <label class="layui-form-label"><span class="required">*</span>打印机名称:</label>
  29. <div class="layui-input-block">
  30. <input type="text" name="printer_name" lay-verify="required" autocomplete="off" class="layui-input len-long">
  31. </div>
  32. </div>
  33. <div class="layui-form-item express_company">
  34. <label class="layui-form-label"><span class="required">*</span>打印机品牌:</label>
  35. <div class="layui-input-block len-short">
  36. <select name="brand" lay-verify="required" lay-filter="brand">
  37. {foreach $brand as $k=>$v}
  38. <option value="{$v.brand}">{$v.name}</option>
  39. {/foreach}
  40. </select>
  41. </div>
  42. </div>
  43. <div class="layui-form-item">
  44. <label class="layui-form-label"><span class="required">*</span>打印机编号:</label>
  45. <div class="layui-input-block">
  46. <input type="text" name="printer_code" lay-verify="required" autocomplete="off" class="layui-input len-long">
  47. </div>
  48. </div>
  49. <div class="layui-form-item">
  50. <label class="layui-form-label"><span class="required">*</span>打印机秘钥:</label>
  51. <div class="layui-input-block">
  52. <input type="text" name="printer_key" lay-verify="required" autocomplete="off" class="layui-input len-long">
  53. </div>
  54. </div>
  55. <!-- 飞鹅打印机 -->
  56. <div class="layui-form-item feie">
  57. <label class="layui-form-label"><span class="required">*</span>USER:</label>
  58. <div class="layui-input-block">
  59. <input type="text" name="user" autocomplete="off" class="layui-input len-long">
  60. </div>
  61. <div class="word-aux">
  62. <p>飞鹅云后台注册用户名</p>
  63. </div>
  64. </div>
  65. <div class="layui-form-item feie">
  66. <label class="layui-form-label"><span class="required">*</span>UKEY:</label>
  67. <div class="layui-input-block">
  68. <input type="text" name="ukey" autocomplete="off" class="layui-input len-long">
  69. </div>
  70. <div class="word-aux">
  71. <p>飞鹅云后台登录生成的UKEY</p>
  72. </div>
  73. </div>
  74. <!-- 易联云打印机 -->
  75. <div class="layui-form-item yilianyun">
  76. <label class="layui-form-label"><span class="required">*</span>应用id:</label>
  77. <div class="layui-input-block">
  78. <input type="text" name="open_id" autocomplete="off" class="layui-input len-long">
  79. </div>
  80. <div class="word-aux">
  81. <p>应用id(易联云-开发者中心后台应用中心里获取)</p>
  82. </div>
  83. </div>
  84. <div class="layui-form-item yilianyun">
  85. <label class="layui-form-label"><span class="required">*</span>apiKey:</label>
  86. <div class="layui-input-block">
  87. <input type="text" name="apikey" autocomplete="off" class="layui-input len-long">
  88. </div>
  89. <div class="word-aux">
  90. <p>apiKey(易联云-开发者中心后台应用中心里获取)</p>
  91. </div>
  92. </div>
  93. {if $is_exit_store == 1}
  94. <div class="layui-form-item">
  95. <label class="layui-form-label">关联门店:</label>
  96. <div class="layui-input-block len-short">
  97. <select name="store_id" lay-verify="">
  98. <option value="">请选择</option>
  99. {foreach $store_list as $k=>$v}
  100. <option value="{$v.store_id}">{$v.store_name}</option>
  101. {/foreach}
  102. </select>
  103. </div>
  104. </div>
  105. {/if}
  106. </div>
  107. </div>
  108. <div class="layui-card card-common card-brief">
  109. <div class="layui-card-header">
  110. <span class="card-title">订单打印</span>
  111. </div>
  112. <div class="layui-card-body">
  113. <div class="layui-form-item">
  114. <label class="layui-form-label">支付打印:</label>
  115. <div class="layui-input-block">
  116. <input type="checkbox" name="order_pay_open" lay-filter="order_pay_open" value="1" lay-skin="switch" checked/>
  117. </div>
  118. </div>
  119. <div class="layui-form-item express_company order_pay_item">
  120. <label class="layui-form-label"><span class="required">*</span>打印模板:</label>
  121. <div class="layui-input-block len-short">
  122. <select name="order_pay_template_id" lay-verify="required" >
  123. <option value="">请选择</option>
  124. {foreach $template_list as $k=>$v}
  125. {if $v['type'] == 'goodsorder'}
  126. <option value="{$v.template_id}">{$v.template_name}</option>
  127. {/if}
  128. {/foreach}
  129. </select>
  130. </div>
  131. </div>
  132. <div class="layui-form-item order_pay_item">
  133. <label class="layui-form-label"><span class="required">*</span>打印联数:</label>
  134. <div class="layui-input-block">
  135. <input type="radio" name="order_pay_print_num" value="1" lay-verify="required" checked autocomplete="off" title="1" class="layui-input len-long">
  136. <input type="radio" name="order_pay_print_num" value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
  137. <input type="radio" name="order_pay_print_num" value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
  138. <input type="radio" name="order_pay_print_num" value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
  139. </div>
  140. </div>
  141. <div class="layui-form-item order_pay_item">
  142. <label class="layui-form-label"><span class="required">*</span>订单类型:</label>
  143. <div class="layui-input-block">
  144. {foreach $order_type_list as $v}
  145. <input class="order-pay-order-type" type="checkbox" value="{$v.type}" lay-verify="required" lay-skin="primary" title="{$v.name}" checked="">
  146. {/foreach}
  147. </div>
  148. </div>
  149. <div class="layui-form-item">
  150. <label class="layui-form-label">收货打印:</label>
  151. <div class="layui-input-block">
  152. <input type="checkbox" name="take_delivery_open" lay-filter="take_delivery_open" value="1" lay-skin="switch" checked/>
  153. </div>
  154. </div>
  155. <div class="layui-form-item express_company take_delivery_item">
  156. <label class="layui-form-label"><span class="required">*</span>打印模板:</label>
  157. <div class="layui-input-block len-short">
  158. <select name="take_delivery_template_id" lay-verify="required" >
  159. <option value="">请选择</option>
  160. {foreach $template_list as $k=>$v}
  161. {if $v['type'] == 'goodsorder'}
  162. <option value="{$v.template_id}">{$v.template_name}</option>
  163. {/if}
  164. {/foreach}
  165. </select>
  166. </div>
  167. </div>
  168. <div class="layui-form-item take_delivery_item">
  169. <label class="layui-form-label"><span class="required">*</span>打印联数:</label>
  170. <div class="layui-input-block">
  171. <input type="radio" name="take_delivery_print_num" value="1" lay-verify="required" checked autocomplete="off" title="1" class="layui-input len-long">
  172. <input type="radio" name="take_delivery_print_num" value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
  173. <input type="radio" name="take_delivery_print_num" value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
  174. <input type="radio" name="take_delivery_print_num" value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
  175. </div>
  176. </div>
  177. <div class="layui-form-item take_delivery_item">
  178. <label class="layui-form-label"><span class="required">*</span>订单类型:</label>
  179. <div class="layui-input-block">
  180. {foreach $order_type_list as $v}
  181. <input class="take-delivery-order-type" type="checkbox" value="{$v.type}" lay-verify="required" lay-skin="primary" title="{$v.name}" checked="">
  182. {/foreach}
  183. </div>
  184. </div>
  185. <div class="layui-form-item">
  186. <label class="layui-form-label">手动打印:</label>
  187. <div class="layui-input-block">
  188. <input type="checkbox" name="manual_open" lay-filter="manual_open" value="1" lay-skin="switch" checked/>
  189. </div>
  190. </div>
  191. <div class="layui-form-item express_company default_item">
  192. <label class="layui-form-label"><span class="required">*</span>打印模板:</label>
  193. <div class="layui-input-block len-short">
  194. <select name="template_id" lay-verify="required" >
  195. <option value="">请选择</option>
  196. {foreach $template_list as $k=>$v}
  197. {if $v['type'] == 'goodsorder'}
  198. <option value="{$v.template_id}">{$v.template_name}</option>
  199. {/if}
  200. {/foreach}
  201. </select>
  202. </div>
  203. </div>
  204. <div class="layui-form-item default_item">
  205. <label class="layui-form-label"><span class="required">*</span>打印联数:</label>
  206. <div class="layui-input-block">
  207. <input type="radio" name="print_num" value="1" lay-verify="required" checked autocomplete="off" title="1" class="layui-input len-long">
  208. <input type="radio" name="print_num" value="2" lay-verify="required" autocomplete="off" title="2" class="layui-input len-long">
  209. <input type="radio" name="print_num" value="3" lay-verify="required" autocomplete="off" title="3" class="layui-input len-long">
  210. <input type="radio" name="print_num" value="4" lay-verify="required" autocomplete="off" title="4" class="layui-input len-long">
  211. </div>
  212. </div>
  213. </div>
  214. </div>
  215. {php}
  216. $html = event('PrinterHtml');
  217. foreach($html as $k => $v) echo $v;
  218. {/php}
  219. <div class="form-row">
  220. <button class="layui-btn" lay-submit lay-filter="save">保存</button>
  221. <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
  222. </div>
  223. </div>
  224. {/block}
  225. {block name="script"}
  226. <script>
  227. var from, laydate;
  228. var brand = $('select[name="brand"] option:selected').val();
  229. if(brand == '365'){
  230. $('.feie').hide();
  231. $('.yilianyun').hide();
  232. $("input[name='user']").attr("lay-verify", "");
  233. $("input[name='ukey']").attr("lay-verify", "");
  234. $("input[name='open_id']").attr("lay-verify", "");
  235. $("input[name='apikey']").attr("lay-verify", "");
  236. }
  237. if(brand == 'feie'){
  238. $('.feie').show();
  239. $('.yilianyun').hide();
  240. $("input[name='user']").attr("lay-verify", "required");
  241. $("input[name='ukey']").attr("lay-verify", "required");
  242. $("input[name='open_id']").attr("lay-verify", "");
  243. $("input[name='apikey']").attr("lay-verify", "");
  244. }
  245. if(brand == 'yilianyun'){
  246. $('.yilianyun').show();
  247. $('.feie').hide();
  248. $("input[name='open_id']").attr("lay-verify", "required");
  249. $("input[name='apikey']").attr("lay-verify", "required");
  250. $("input[name='user']").attr("lay-verify", "");
  251. $("input[name='ukey']").attr("lay-verify", "");
  252. }
  253. layui.use(['form', 'laydate'], function() {
  254. form = layui.form,
  255. laydate = layui.laydate,
  256. repeat_flag = false;
  257. form.render();
  258. /**
  259. * 表单验证
  260. */
  261. form.verify({
  262. time: function(value) {
  263. var now_time = (new Date()).getTime();
  264. var start_time = (new Date($("#start_time").val())).getTime();
  265. var end_time = (new Date(value)).getTime();
  266. if (now_time > end_time) {
  267. return '结束时间不能小于当前时间!'
  268. }
  269. if (start_time > end_time) {
  270. return '结束时间不能小于开始时间!';
  271. }
  272. },
  273. flnum: function(value) {
  274. var arrMen = value.split(".");
  275. var val = 0;
  276. if (arrMen.length == 2) {
  277. val = arrMen[1];
  278. }
  279. if (val.length > 2) {
  280. return '保留小数点后两位!'
  281. }
  282. },
  283. int: function(value) {
  284. if (value <= 1 || value % 1 != 0) {
  285. return '请输入大于1的正整数!'
  286. }
  287. }
  288. });
  289. form.on('select(brand)', function(data){
  290. var value = data.value;
  291. if(value == '365'){
  292. $('.feie').hide();
  293. $('.yilianyun').hide();
  294. $("input[name='user']").attr("lay-verify", "");
  295. $("input[name='ukey']").attr("lay-verify", "");
  296. $("input[name='open_id']").attr("lay-verify", "");
  297. $("input[name='apikey']").attr("lay-verify", "");
  298. }
  299. if(value == 'feie'){
  300. $('.feie').show();
  301. $('.yilianyun').hide();
  302. $("input[name='user']").attr("lay-verify", "required");
  303. $("input[name='ukey']").attr("lay-verify", "required");
  304. $("input[name='open_id']").attr("lay-verify", "");
  305. $("input[name='apikey']").attr("lay-verify", "");
  306. }
  307. if(value == 'yilianyun'){
  308. $('.yilianyun').show();
  309. $('.feie').hide();
  310. $("input[name='open_id']").attr("lay-verify", "required");
  311. $("input[name='apikey']").attr("lay-verify", "required");
  312. $("input[name='user']").attr("lay-verify", "");
  313. $("input[name='ukey']").attr("lay-verify", "");
  314. }
  315. });
  316. form.on('switch(recharge_open)', function(data){
  317. if(data.elem.checked){
  318. $('.recharge-content').removeClass('layui-hide');
  319. $('.recharge-content [name="recharge_template_id"]').attr('lay-verify', 'required');
  320. }else{
  321. $('.recharge-content').addClass('layui-hide');
  322. $('.recharge-content [name="recharge_template_id"]').attr('lay-verify', '');
  323. }
  324. });
  325. form.on('switch(order_pay_open)', function(data){
  326. if(data.elem.checked){
  327. $('.order_pay_item').removeClass('layui-hide');
  328. $('.order_pay_item [name="order_pay_template_id"]').attr('lay-verify', 'required');
  329. }else{
  330. $('.order_pay_item').addClass('layui-hide');
  331. $('.order_pay_item [name="order_pay_template_id"]').attr('lay-verify', '');
  332. }
  333. });
  334. form.on('switch(take_delivery_open)', function(data){
  335. if(data.elem.checked){
  336. $('.take_delivery_item').removeClass('layui-hide');
  337. $('.take_delivery_item [name="take_delivery_template_id"]').attr('lay-verify', 'required');
  338. }else{
  339. $('.take_delivery_item').addClass('layui-hide');
  340. $('.take_delivery_item [name="take_delivery_template_id"]').attr('lay-verify', '');
  341. }
  342. });
  343. form.on('switch(manual_open)', function(data){
  344. if(data.elem.checked){
  345. $('.default_item').removeClass('layui-hide');
  346. $('.default_item [name="template_id"]').attr('lay-verify', 'required');
  347. }else{
  348. $('.default_item').addClass('layui-hide');
  349. $('.default_item [name="template_id"]').attr('lay-verify', '');
  350. }
  351. });
  352. /**
  353. * 表单提交
  354. */
  355. form.on('submit(save)', function(data){
  356. var field = data.field;
  357. if(field.brand == 'feie'){
  358. field.open_id = field.user;
  359. field.apikey = field.ukey;
  360. }
  361. var order_pay_order_type_arr = [];
  362. if(field.order_pay_open) {
  363. $(".order-pay-order-type").each(function () {
  364. if ($(this).is(":checked")) {
  365. order_pay_order_type_arr.push($(this).val());
  366. }
  367. });
  368. if (order_pay_order_type_arr == "") {
  369. layer.msg('请选择支付打印的订单类型');
  370. return false;
  371. }
  372. }
  373. field.order_pay_order_type = order_pay_order_type_arr.toString();
  374. var take_delivery_order_type_arr = [];
  375. if(field.order_pay_open) {
  376. $(".order-pay-order-type").each(function () {
  377. if ($(this).is(":checked")) {
  378. take_delivery_order_type_arr.push($(this).val());
  379. }
  380. });
  381. if (take_delivery_order_type_arr == "") {
  382. layer.msg('请选择收货打印的订单类型');
  383. return false;
  384. }
  385. }
  386. field.take_delivery_order_type = take_delivery_order_type_arr.toString();
  387. if(repeat_flag) return;
  388. repeat_flag = true;
  389. $.ajax({
  390. type: 'POST',
  391. dataType: 'JSON',
  392. url: ns.url("printer://shop/printer/add"),
  393. data: field,
  394. async: false,
  395. success: function(res){
  396. repeat_flag = false;
  397. if (res.code == 0) {
  398. layer.confirm('添加成功', {
  399. title:'操作提示',
  400. btn: ['返回列表', '继续添加'],
  401. closeBtn: 0,
  402. yes: function(){
  403. location.href = ns.url("printer://shop/printer/lists");
  404. },
  405. btn2: function() {
  406. location.href = ns.url("printer://shop/printer/add");
  407. }
  408. });
  409. }else{
  410. layer.msg(res.message);
  411. }
  412. }
  413. })
  414. });
  415. });
  416. function back() {
  417. location.href = ns.url("printer://shop/printer/lists");
  418. }
  419. </script>
  420. {/block}