waybill.design.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <?php defined('InShopNC') or exit('Access Invalid!');?>
  2. <link href="<?php echo ADMIN_TEMPLATES_URL;?>/css/font/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
  3. <!--[if IE 7]>
  4. <link rel="stylesheet" href="<?php echo ADMIN_TEMPLATES_URL;?>/css/font/font-awesome/css/font-awesome-ie7.min.css">
  5. <![endif]-->
  6. <style>
  7. .waybill-item-list {}
  8. .waybill-item-list li { width: 20%; margin: 0 0 10px 0;}
  9. .waybill-item-list .check,
  10. .waybill-item-list .label,
  11. .waybill-item-list i { vertical-align: middle; display: inline-block; *display: inline; *zoom: 1;}
  12. .waybill-item-list i { font-size: 14px; margin-left: 4px; color: #999;}
  13. .waybill_area { position: relative; width: <?php echo $output['waybill_info']['waybill_pixel_width'];?>px; height: <?php echo $output['waybill_info']['waybill_pixel_height'];?>px; }
  14. .waybill_back { position: relative; width: <?php echo $output['waybill_info']['waybill_pixel_width'];?>px; height: <?php echo $output['waybill_info']['waybill_pixel_height'];?>px; }
  15. .waybill_back img { width: <?php echo $output['waybill_info']['waybill_pixel_width'];?>px; height: <?php echo $output['waybill_info']['waybill_pixel_height'];?>px; }
  16. .waybill_design { position: absolute; left: 0; top: 0; width: <?php echo $output['waybill_info']['waybill_pixel_width'];?>px; height: <?php echo $output['waybill_info']['waybill_pixel_height'];?>px; }
  17. .waybill_item { background-color: #FEF5E6; position: absolute; left: 0; top: 0; width: 90px; height: 20px; padding: 1px 5px 4px 5px; border-color: #FFBEBC; border-style: solid; border-width: 1px 1px 1px 1px; cursor: move;}
  18. .waybill_item:hover { padding: 1px 5px 1px 5px; border-color: #FF7A73; border-width: 1px 1px 4px 1px;}
  19. </style>
  20. <div class="page">
  21. <!-- 页面导航 -->
  22. <div class="fixed-bar">
  23. <div class="item-title">
  24. <h3>运单模板</h3>
  25. <ul class="tab-base">
  26. <?php foreach($output['menu'] as $menu) { if($menu['menu_key'] == $output['menu_key']) { ?>
  27. <li><a href="JavaScript:void(0);" class="current"><span><?php echo $menu['menu_name'];?></span></a></li>
  28. <?php } else { ?>
  29. <li><a href="<?php echo $menu['menu_url'];?>" ><span><?php echo $menu['menu_name'];?></span></a></li>
  30. <?php } } ?>
  31. </ul>
  32. </div>
  33. </div>
  34. <div class="fixed-empty"></div>
  35. <!-- 帮助 -->
  36. <table class="table tb-type2" id="prompt">
  37. <tbody>
  38. <tr class="space odd">
  39. <th colspan="12" class="nobg"> <div class="title">
  40. <h5><?php echo $lang['nc_prompts'];?></h5>
  41. <span class="arrow"></span> </div>
  42. </th>
  43. </tr>
  44. <tr>
  45. <td><ul>
  46. <li>勾选需要打印的项目,勾选后可以用鼠标拖动确定项目的位置、宽度和高度,也可以点击项目后边的微调按钮手工录入</li>
  47. <li>设置完成后点击提交按钮完成设计</li>
  48. </ul></td>
  49. </tr>
  50. </tbody>
  51. </table>
  52. <table class="table tb-type2">
  53. <tbody>
  54. <tr>
  55. <td class="required">选择打印项:</td>
  56. </tr>
  57. <tr class="noborder">
  58. <td class="vatop rowform"><form id="design_form" action="<?php echo urlAdmin('waybill', 'waybill_design_save');?>" method="post">
  59. <input type="hidden" name="waybill_id" value="<?php echo $output['waybill_info']['waybill_id'];?>">
  60. <ul id="waybill_item_list" class="waybill-item-list">
  61. <?php if(!empty($output['waybill_item_list']) && is_array($output['waybill_item_list'])) {?>
  62. <?php foreach($output['waybill_item_list'] as $key => $value) {?>
  63. <li>
  64. <input id="check_<?php echo $key;?>" class="check" type="checkbox" name="waybill_data[<?php echo $key;?>][check]" data-waybill-name="<?php echo $key;?>" data-waybill-text="<?php echo $value['item_text'];?>" <?php echo $value['check'];?>>
  65. <label for="check_<?php echo $key;?>" class="label"><?php echo $value['item_text'];?></label>
  66. <i nctype="btn_item_edit" data-item-name="<?php echo $key;?>" title="微调" class="icon-edit"></i>
  67. <input id="left_<?php echo $key;?>" type="hidden" name="waybill_data[<?php echo $key;?>][left]" value="<?php echo $value['left'];?>">
  68. <input id="top_<?php echo $key;?>" type="hidden" name="waybill_data[<?php echo $key;?>][top]" value="<?php echo $value['top'];?>">
  69. <input id="width_<?php echo $key;?>" type="hidden" name="waybill_data[<?php echo $key;?>][width]" value="<?php echo $value['width'];?>">
  70. <input id="height_<?php echo $key;?>" type="hidden" name="waybill_data[<?php echo $key;?>][height]" value="<?php echo $value['height'];?>">
  71. </li>
  72. <?php } ?>
  73. <?php } ?>
  74. </ul>
  75. </form></td>
  76. </tr>
  77. <tr>
  78. <td class="required">打印项偏移校正:</td>
  79. </tr>
  80. <tr class="noborder">
  81. <td><div class="waybill_area">
  82. <div class="waybill_back"> <img src="<?php echo $output['waybill_info']['waybill_image_url'];?>" alt=""> </div>
  83. <div class="waybill_design">
  84. <?php if(!empty($output['waybill_info_data']) && is_array($output['waybill_info_data'])) {?>
  85. <?php foreach($output['waybill_info_data'] as $key=>$waybill_data) {?>
  86. <?php if($waybill_data['check']) { ?>
  87. <div id="div_<?php echo $key;?>" data-item-name="<?php echo $key;?>" class="waybill_item" style="position: absolute;width:<?php echo $waybill_data['width'];?>px;height:<?php echo $waybill_data['height'];?>px;left:<?php echo $waybill_data['left'];?>px;top:<?php echo $waybill_data['top'];?>px;"><?php echo $waybill_data['item_text'];?></div>
  88. <?php } ?>
  89. <?php } ?>
  90. <?php } ?>
  91. </div>
  92. </div></td>
  93. </tr>
  94. </tbody>
  95. </table>
  96. </div>
  97. <div id="dialog_item_edit" style="display:none;">
  98. <input id="dialog_item_name" type="hidden">
  99. <dl>
  100. <dt>左偏移量:</dt>
  101. <dd>
  102. <input id="dialog_left" type="text" value="">
  103. </dd>
  104. </dl>
  105. <dl>
  106. <dt>上偏移量:</dt>
  107. <dd>
  108. <input id="dialog_top" type="text" value="">
  109. </dd>
  110. </dl>
  111. <dl>
  112. <dt>宽:</dt>
  113. <dd>
  114. <input id="dialog_width" type="text" value="">
  115. </dd>
  116. </dl>
  117. <dl>
  118. <dt>高:</dt>
  119. <dd>
  120. <input id="dialog_height" type="text" value="">
  121. </dd>
  122. </dl>
  123. <a id="btn_dialog_submit" href="javascript:;">确认</a> <a id="btn_dialog_cancel" href="javascript:;">取消</a> </div>
  124. <a id="submit" href="javascript:void(0)" class="btn"><span><?php echo $lang['nc_submit'];?></span></a>
  125. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquery-ui/jquery.ui.js"></script>
  126. <link type="text/css" rel="stylesheet" href="<?php echo RESOURCE_SITE_URL;?>/js/jquery-ui/themes/ui-lightness/jquery.ui.css"/>
  127. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/dialog/dialog.js" id="dialog_js" charset="utf-8"></script>
  128. <script type="text/javascript">
  129. $(document).ready(function() {
  130. var draggable_event = {
  131. stop: function(event, ui) {
  132. var item_name = ui.helper.attr('data-item-name');
  133. var position = ui.helper.position();
  134. $('#left_' + item_name).val(position.left);
  135. $('#top_' + item_name).val(position.top);
  136. }
  137. };
  138. var resizeable_event = {
  139. stop: function(event, ui) {
  140. var item_name = ui.helper.attr('data-item-name');
  141. $('#width_' + item_name).val(ui.size.width);
  142. $('#height_' + item_name).val(ui.size.height);
  143. }
  144. };
  145. $('.waybill_item').draggable(draggable_event);
  146. $('.waybill_item').resizable(resizeable_event);
  147. $('#waybill_item_list input:checkbox').on('click', function() {
  148. var item_name = $(this).attr('data-waybill-name');
  149. var div_name = 'div_' + item_name;
  150. if($(this).prop('checked')) {
  151. var item_text = $(this).attr('data-waybill-text');
  152. var waybill_item = '<div id="' + div_name + '" data-item-name="' + item_name + '" class="waybill_item">' + item_text + '</div>';
  153. $('.waybill_design').append(waybill_item);
  154. $('#' + div_name).draggable(draggable_event);
  155. $('#' + div_name).resizable(resizeable_event);
  156. $('#left_' + item_name).val('0');
  157. $('#top_' + item_name).val('0');
  158. $('#width_' + item_name).val('100');
  159. $('#height_' + item_name).val('20');
  160. } else {
  161. $('#' + div_name).remove();
  162. }
  163. });
  164. $('.waybill_design').on('click', '.waybill_item', function() {
  165. console.log($(this).position());
  166. });
  167. //微调弹出窗口
  168. $('[nctype="btn_item_edit"]').on('click', function() {
  169. var item_name = $(this).attr('data-item-name');
  170. $('#dialog_item_name').val(item_name);
  171. $('#dialog_left').val($('#left_' + item_name).val());
  172. $('#dialog_top').val($('#top_' + item_name).val());
  173. $('#dialog_width').val($('#width_' + item_name).val());
  174. $('#dialog_height').val($('#height_' + item_name).val());
  175. $('#dialog_item_edit').nc_show_dialog({title:'微调'});
  176. });
  177. //微调保存
  178. $('#btn_dialog_submit').on('click', function() {
  179. var item_name = $('#dialog_item_name').val();
  180. $('#div_' + item_name).css('left', $('#dialog_left').val() + 'px');
  181. $('#div_' + item_name).css('top', $('#dialog_top').val() + 'px');
  182. $('#div_' + item_name).css('width', $('#dialog_width').val() + 'px');
  183. $('#div_' + item_name).css('height', $('#dialog_height').val() + 'px');
  184. $('#left_' + item_name).val($('#dialog_left').val());
  185. $('#top_' + item_name).val($('#dialog_top').val());
  186. $('#width_' + item_name).val($('#dialog_width').val());
  187. $('#height_' + item_name).val($('#dialog_height').val());
  188. $('#dialog_item_edit').hide();
  189. });
  190. //微调取消
  191. $('#btn_dialog_cancel').on('click', function() {
  192. $('#dialog_item_edit').hide();
  193. });
  194. $('#submit').on('click', function() {
  195. $('#design_form').submit();
  196. });
  197. });
  198. </script>