index.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. <style>
  2. .f_label {width: 90px;}
  3. .accordion-body {padding: 0;}
  4. </style>
  5. <div id="main">
  6. <div region="west" border="false" id="west_panel">
  7. <table id="dg_content"></table>
  8. <div id="tb_content">
  9. <div class="tb_line">
  10. <input id="ss" />
  11. <span class="tb_label">状态: </span>
  12. <input id="filter_status" />
  13. <a href="#" class='easyui-linkbutton' iconCls="icon-search" plain="true" onclick="search_content();return false;">查询</a>
  14. </div>
  15. </div>
  16. </div>
  17. <div region="center" border="false">
  18. <div class="easyui-layout detail_layout">
  19. <div data-options="region:'center'" class="detail_center">
  20. <div class="detail_main">
  21. <form id="content_form" method="post">
  22. <ul>
  23. <li class="f_item">
  24. <div class="box">
  25. <div class="f_label">
  26. <span>ID: </span>
  27. </div>
  28. <div class="box_flex f_content">
  29. <input type="hidden" name="id" id="order_id" value='' />
  30. <span id="id_str"></span>
  31. </div>
  32. </div>
  33. </li>
  34. <li class="f_item">
  35. <div class="box">
  36. <div class="f_label">
  37. <span>快递公司: </span>
  38. </div>
  39. <div class="box_flex f_content">
  40. <input type="text" name="express_company" style="width: 250px;"/>
  41. </div>
  42. </div>
  43. </li>
  44. <li class="f_item">
  45. <div class="box">
  46. <div class="f_label">
  47. <span>发货单号: </span>
  48. </div>
  49. <div class="box_flex f_content">
  50. <input type="text" name="express_number" style="width: 250px;"/>
  51. </div>
  52. </div>
  53. </li>
  54. <li class="f_item">
  55. <div class="box">
  56. <div class="f_label">
  57. <span>地址/联系方式: </span>
  58. </div>
  59. <div class="box_flex f_content">
  60. <span id="address_contact" style="width: 250px;"></span>
  61. </div>
  62. </div>
  63. </li>
  64. <li class="f_item">
  65. <div class="box">
  66. <div class="f_label">
  67. <span>备注: </span>
  68. </div>
  69. <div class="box_flex f_content">
  70. <input type="text" name="memo" style="width: 250px;"/>
  71. </div>
  72. </div>
  73. </li>
  74. <li class="f_item">
  75. <div class="box">
  76. <div class="f_label">
  77. <span>状态:</span>
  78. </div>
  79. <div class="box_flex f_content">
  80. <input id="setStatus" name="status" />
  81. </div>
  82. </div>
  83. </li>
  84. <li class="f_item">
  85. <div class="box">
  86. <div class="f_label">
  87. <span>取消订单原因: </span>
  88. </div>
  89. <div class="box_flex f_content">
  90. <input type="text" name="reason" style="width: 250px;"/>
  91. </div>
  92. </div>
  93. </li>
  94. </ul>
  95. </form>
  96. </div>
  97. <div data-options="region:'south'" class="detail_south">
  98. <div class="detail_toolbar">
  99. <a href="#" class="easyui-linkbutton set_button" iconCls="icon-save" onclick="save_content();return false;">保存</a>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <script type="text/javascript">
  107. var jq_dg_content = $('#dg_content');
  108. var jq_content_form = $('#content_form');
  109. var jq_filter_status = $('#filter_status');
  110. var module_router = site_root + '/index.php?r=order';
  111. var status_data = <?php echo json_encode($status); ?>;
  112. var jq_action_info = $('#action_info');
  113. var jq_setStatus = $('#setStatus');
  114. var w_width = $(window).width();
  115. var w_height = $(window).height();
  116. var jq_ss = $('#ss');
  117. $(function(){
  118. var p_width = parseInt(w_width / 2);
  119. if (p_width < 520){
  120. p_width = 520;
  121. }
  122. var d_width = p_width - 10;
  123. $('#west_panel').css({width : p_width});
  124. $('#main').css({width: w_width - 25, height: w_height - 18}).layout();
  125. jq_ss.searchbox({
  126. width: 150,
  127. searcher:function(value){
  128. search_content();
  129. },
  130. prompt: '请输入关键字'
  131. });
  132. jq_setStatus.combobox({
  133. editable: false,
  134. data: status_data
  135. });
  136. jq_dg_content.datagrid({
  137. url: module_router + '/list',
  138. title: '订单列表',
  139. width: d_width,
  140. height: w_height - 18,
  141. fitColumns: true,
  142. autoRowHeight: true,
  143. striped: true,
  144. toolbar: '#tb_content',
  145. singleSelect: true,
  146. selectOnCheck: false,
  147. checkOnSelect: false,
  148. pagination: true,
  149. pageList: [20, 30, 50],
  150. pageSize: 20,
  151. nowrap: false,
  152. idField: 'id',
  153. sortName: 'order',
  154. sortOrder: 'desc',
  155. queryParams: get_param_obj(),
  156. frozenColumns:[[
  157. {field:'ck',checkbox:true}
  158. ]],
  159. columns:[[
  160. {field:'id', title:'id', hidden:true},
  161. {field:'user', title:'用户', width:30,
  162. formatter: function(value, row){
  163. var username = value.user_name;
  164. return '<a href="javascript:;" onclick="parent.load_url(\'<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=rUser&id='+value.id+'\');">'+ username +'</a>';
  165. }
  166. },
  167. {field:'time_str', title:'订单生成时间', width:40,sortable:false},
  168. {field:'order_num', title:'订单号', width:40,sortable:false},
  169. {field:'admin_goods_view', title:'订单商品', width:40,sortable:false},
  170. {field:'admin_address_view', title:'收货信息', width:60,sortable:false},
  171. {field:'price', title:'金额', width:20,sortable:false},
  172. {field:'status', title:'状态', width:20, sortable: true,
  173. formatter: function(value, row){
  174. return get_filed_text(value, status_data);
  175. }
  176. },
  177. {field:'express_company', title:'快递公司', width:30, sortable: true},
  178. {field:'express_number', title:'发货单号', width:30, sortable: true},
  179. {field:'memo', title:'备注', width:30, sortable: true},
  180. ]],
  181. onSelect: function(index, row){
  182. var data = $.extend({}, row);
  183. jq_content_form.form('load', data);
  184. $('#admins_edit_info').html('');
  185. if(data['address']['address']['poi']){
  186. var poiname = data['address']['address']['poi']['name'];
  187. }else{
  188. var poiname = '';
  189. }
  190. if (data['address']['position']) {
  191. var lat = data['address']['position'][1];
  192. var lng = data['address']['position'][0];
  193. }else{
  194. var lat = 120;
  195. var lng = 31;
  196. }
  197. var address_contact = '省:'+data['address']['address']['province']+'<br />'+'市:'+data['address']['address']['city']+'<br />'+'区:'+data['address']['address']['area']+'<br />'+'地址:'+poiname+' '+data['address']['address']['detail']+'<br />'+'姓名:'+data['address']['name']+'<br />'+'手机号:'+data['address']['mobile']+'<br />'+'<a href="javascript:void();" lat='+lat+' lng='+lng+' id="view_position">查看坐标</a>';
  198. $('#address_contact').html(address_contact);
  199. $('#view_position').on('click',function(){
  200. $.fn.position_selector('init',{
  201. width:$(window).width()-300,//弹框显示宽度
  202. height:$(window).height()-100,//弹框显示高度
  203. zoom:18, //缩放级别
  204. locat:'上海',//默认城市
  205. can_edit:true,
  206. lat:$(this).attr('lat'),
  207. lng:$(this).attr('lng'),
  208. func_callback:function(){return false;},//选择成功之后的回调函数
  209. element_id:'map_container'//弹窗ID
  210. });return false;
  211. });
  212. if (data['action_user'] != ''){
  213. jq_action_info.html('信息已被编辑: ' + data['action_user'] + ' ' + data['action_time']);
  214. } else {
  215. jq_action_info.html('');
  216. }
  217. $("#on_loading").show();
  218. $('#id_str').html(data.id);
  219. },
  220. onLoadSuccess: function(){
  221. $(this).datagrid('clearChecked');
  222. $('#address_contact').html('');
  223. jq_content_form.form('clear');
  224. $('#id_str').html('');
  225. jq_dg_content.datagrid('clearSelections');
  226. jq_setStatus.combobox('setValue', 100);
  227. }
  228. });
  229. function search_content(){
  230. var filter_status = jq_filter_status.combobox('getValue');
  231. var search = jq_ss.searchbox('getValue');
  232. jq_dg_content.datagrid({
  233. pageNum: 1,
  234. queryParams: {search: search, status : filter_status}
  235. });
  236. }
  237. jq_ss.searchbox({
  238. width: 150,
  239. searcher:function(value){
  240. search_content();
  241. },
  242. prompt: '请输入关键字'
  243. });
  244. jq_filter_status.combobox({
  245. width: 100,
  246. data: status_data,
  247. editable: false,
  248. onSelect: function(){
  249. search_content();
  250. }
  251. });
  252. jq_content_form.form({
  253. url: module_router + '/edit',
  254. onSubmit: function(param){
  255. if ($('#order_id').val() == ""){
  256. return false;
  257. }
  258. var isValid = $(this).form('validate');
  259. if (!isValid){
  260. $.messager.progress('close');
  261. }
  262. return isValid;
  263. },
  264. success: function(res){
  265. $.messager.progress('close');
  266. var res = JSON.parse(res);
  267. if (res.success){
  268. jq_dg_content.datagrid('reload');
  269. }
  270. if(res.success){
  271. $.messager.show({
  272. title: '提示',
  273. msg: '保存成功',
  274. timeout: 3500,
  275. showType: 'slide'
  276. });
  277. }else{
  278. $.messager.show({
  279. title: '提示',
  280. msg: res.message,
  281. timeout: 3500,
  282. showType: 'slide'
  283. });
  284. }
  285. }
  286. });
  287. });
  288. function save_content(){
  289. if ($('#order_id').val() == ""){
  290. return false;
  291. }
  292. if (jq_setStatus.combobox('getValue') == -2){
  293. $.messager.confirm('注意', '确认取消该订单吗?', function(r){
  294. $.messager.progress();
  295. jq_content_form.submit();
  296. });
  297. } else {
  298. $.messager.progress();
  299. jq_content_form.submit();
  300. }
  301. }
  302. </script>