index.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  1. <style>
  2. .f_label {width: 90px;}
  3. .accordion-body {padding: 0;}
  4. #view_select_position {
  5. display:inline-block;
  6. padding:1px 4px 1px 4px;
  7. border:1px solid #999999;
  8. text-decoration:none;
  9. color:#333333;
  10. }
  11. </style>
  12. <div id="main">
  13. <div region="west" border="false" id="west_panel">
  14. <table id="dg_content"></table>
  15. <div id="tb_content">
  16. <div class="tb_line">
  17. <span class="tb_label">状态: </span>
  18. <input id="filter_status" />
  19. </div>
  20. <div style="margin: 3px 2px;padding:5px;border: 1px solid #95B8E7;">
  21. <a href="#" class='easyui-linkbutton' plain="true" iconCls="icon-add" onclick="add_content();return false;">新增充值卡</a>
  22. </div>
  23. </div>
  24. </div>
  25. <div id="acc_container" class="accordion" region="center">
  26. <div region="center" title="充值卡" data-options="iconCls:'icon-save',selected:true">
  27. <div class="easyui-layout detail_layout">
  28. <div data-options="region:'center'" class="detail_center">
  29. <div class="detail_main">
  30. <form id="content_form" method="post">
  31. <ul>
  32. <li class="f_item">
  33. <div class="box">
  34. <div class="f_label">
  35. <span>ID: </span>
  36. </div>
  37. <div class="box_flex f_content">
  38. <input type="hidden" name="id" id="recharge_id" value='' />
  39. <span id="id_str"></span>
  40. </div>
  41. </div>
  42. </li>
  43. <li class="f_item">
  44. <div class="box">
  45. <div class="f_label">
  46. <span>充值面额: </span>
  47. </div>
  48. <div class="box_flex f_content">
  49. <input type="text" name="denomination" id="edit_denomination" value='' />
  50. <span id="id_str"></span>
  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. <input type="radio" name="select_fun" id="edit_cash_back" value='cash_back' />返现金额
  61. <span id="id_str"></span>
  62. <input type="radio" name="select_fun" id="edit_coupon" value="coupon" />使用代金券
  63. </div>
  64. </li>
  65. <li class="f_item">
  66. <div class="box">
  67. <div class="f_label">
  68. <span></span>
  69. </div>
  70. <div class="box_flex f_content" id="cash">
  71. <input type="text" name="cash_back" id="edit_cash_back" value='' />
  72. </div>
  73. <div class="box_flex f_content" id="coupons" style="display: none;">
  74. <div id="coupons_items"></div>
  75. <textarea id="text_coupons" name="text_coupons" style="width: 250px;min-height: 50px" placeholder="若使用代金券,填写代金券id,多个代金券时用换行分割"></textarea>
  76. </div>
  77. </div>
  78. </li>
  79. <li class="f_item">
  80. <div class="box">
  81. <div class="f_label">
  82. <span>介绍: </span>
  83. </div>
  84. <div class="box_flex f_content">
  85. <textarea name="desc" id="edit_desc" style="width: 250px;min-height: 100px"></textarea>
  86. </div>
  87. </div>
  88. </li>
  89. <li class="f_item">
  90. <div class="box">
  91. <div class="f_label">
  92. <span>状态:</span>
  93. </div>
  94. <div class="box_flex f_content">
  95. <input id="setStatus" name="status" />
  96. </div>
  97. </div>
  98. </li>
  99. <li class="f_item">
  100. <div class="box">
  101. <div class="f_label">
  102. <span>排序权重: </span>
  103. </div>
  104. <div class="box_flex f_content">
  105. <input id="edit_order" name="order" />
  106. </div>
  107. </div>
  108. </li>
  109. <li class="f_item">
  110. <div class="box">
  111. <div class="f_label">
  112. </div>
  113. <div class="box_flex f_content">
  114. <span id="action_info" style="color:green;"></span>
  115. </div>
  116. </div>
  117. </li>
  118. </ul>
  119. </form>
  120. </div>
  121. <div data-options="region:'south'" class="detail_south">
  122. <div class="detail_toolbar">
  123. <a href="#" class="easyui-linkbutton set_button" iconCls="icon-save" onclick="save_content();return false;">保存</a>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131. <div style="display: none;">
  132. <div id="add_dialog" style="padding: 15px 0;">
  133. <form id="add_form" method="post">
  134. <ul>
  135. <li class="f_item">
  136. <div class="box">
  137. <div class="f_label">
  138. <span>充值面额: </span>
  139. </div>
  140. <div class="box_flex f_content">
  141. <input id="denomination" name="denomination" style="width: 250px;" />
  142. </div>
  143. </div>
  144. </li>
  145. <li class="f_item">
  146. <div class="box">
  147. <div class="f_label">
  148. <span>选择方式: </span>
  149. </div>
  150. <div class="box_flex f_content">
  151. <input type="radio" name="add_select_fun" id="add_cash_back" checked="true" value="cash_back" />返现金额
  152. <span id="id_str"></span>
  153. <input type="radio" name="add_select_fun" id="add_coupon" value="coupon" />使用代金券
  154. </div>
  155. </div>
  156. </li>
  157. <li class="f_item">
  158. <div class="box">
  159. <div class="f_label">
  160. <span></span>
  161. </div>
  162. <div class="box_flex f_content" id="add_cash">
  163. <input type="text" name="cash_back" id="cash_back_add" value='' />
  164. </div>
  165. <div class="box_flex f_content" id="add_coupons" style="display: none;">
  166. <div id="coupons_items"></div>
  167. <textarea id="add_text_coupons" name="coupons" style="width: 250px;min-height: 50px" placeholder="若使用代金券,填写代金券id,多个代金券时用换行分割"></textarea>
  168. </div>
  169. </div>
  170. </li>
  171. <li class="f_item">
  172. <div class="box">
  173. <div class="f_label">
  174. <span>状态: </span>
  175. </div>
  176. <div class="box_flex f_content">
  177. <input id="setStatus_add" name="status" />
  178. </div>
  179. </div>
  180. </li>
  181. <li class="f_item">
  182. <div class="box">
  183. <div class="f_label">
  184. <span>介 绍: </span>
  185. </div>
  186. <div class="box_flex f_content">
  187. <textarea name="desc" style="width: 250px;min-height: 100px"></textarea>
  188. </div>
  189. </div>
  190. </li>
  191. <li class="f_item">
  192. <div class="box">
  193. <div class="f_label">
  194. <span>排序权重: </span>
  195. </div>
  196. <div class="box_flex f_content">
  197. <input id="add_order" name="order"/>
  198. </div>
  199. </div>
  200. </li>
  201. </ul>
  202. </form>
  203. </div>
  204. </div>
  205. <div style="display:none;">
  206. <div id="refund_tip_dialog" style="padding: 30px 0;">
  207. <div style="text-align:center;"><span id="refund_tip"></span></div>
  208. </div>
  209. </div>
  210. <script language="javascript" type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/coolautosuggest/jquery.coolautosuggest.js"></script>
  211. <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/coolautosuggest/jquery.coolautosuggest.css" />
  212. <script type="text/javascript">
  213. var jq_dg_content = $('#dg_content');
  214. var jq_content_form = $('#content_form');
  215. var jq_filter_status = $('#filter_status');
  216. var jq_setStatus_add = $('#setStatus_add');
  217. var module_router = site_root + '/index.php?r=Recharge';
  218. var status_data = <?php echo json_encode($status); ?>;
  219. var jq_setStatus = $('#setStatus');
  220. var w_width = $(window).width();
  221. var w_height = $(window).height();
  222. var jq_ss = $('#ss');
  223. var jq_action_info = $('#action_info');
  224. var jq_add_dialog = $('#add_dialog');
  225. var jq_add_form = $('#add_form');
  226. var jq_set_precedence = $('#set_precedence');
  227. var jq_acc = $('#acc_container');
  228. $(function(){
  229. jq_acc.accordion({
  230. height: w_height - 18,
  231. onSelect: function(title) {
  232. }
  233. });
  234. var buttons = $.extend([], $.fn.datebox.defaults.buttons);
  235. buttons[0].text = '确定';
  236. jq_setStatus.combobox({
  237. editable: false,
  238. data: status_data
  239. });
  240. jq_setStatus_add.combobox({
  241. editable: false,
  242. data: (function () {
  243. var status_data_temp = new Array();
  244. $.extend(status_data_temp, status_data);
  245. status_data_temp.shift();
  246. return status_data_temp;
  247. })()
  248. });
  249. var p_width = parseInt(w_width / 2);
  250. if (p_width < 520){
  251. p_width = 520;
  252. }
  253. var d_width = p_width - 10;
  254. $('#west_panel').css({width : p_width});
  255. $('#main').css({width: w_width - 25, height: w_height - 18}).layout();
  256. jq_ss.searchbox({
  257. width: 130,
  258. searcher:function(value){
  259. search_content();
  260. },
  261. prompt: '请输入关键字'
  262. });
  263. jq_setStatus.combobox({
  264. editable: false,
  265. data: status_data
  266. });
  267. jq_add_dialog.dialog({
  268. title: '新建充值卡',
  269. width: 500,
  270. height: 500,
  271. closed: true,
  272. modal: true,
  273. buttons:[{
  274. text: '确认',
  275. iconCls: 'icon-ok',
  276. handler: function(){
  277. // ------ 数据完整性检查 ------
  278. var check = checkAddForm();
  279. if (!check) {
  280. return false;
  281. } else {
  282. $.messager.progress();
  283. jq_add_form.submit();
  284. }
  285. }
  286. },{
  287. text: '取消',
  288. iconCls: 'icon-cancel',
  289. handler: function(){
  290. jq_add_dialog.dialog('close');
  291. }
  292. }],
  293. onOpen:function(){
  294. jq_add_form.form('clear');
  295. jq_add_form.form('load', {});
  296. jq_set_precedence.combobox('setValue', 0);
  297. $('#extra_items').html('');
  298. $('#re_address').html('');
  299. }
  300. });
  301. jq_dg_content.datagrid({
  302. url: module_router + '/list',
  303. title: '充值卡列表',
  304. width: d_width,
  305. height: w_height - 18,
  306. fitColumns: true,
  307. autoRowHeight: true,
  308. striped: true,
  309. toolbar: '#tb_content',
  310. singleSelect: true,
  311. selectOnCheck: false,
  312. checkOnSelect: false,
  313. rowStyler: function(index,row){
  314. if (row.status==1){
  315. //return 'color:red;';
  316. }else if(row.status==-3){
  317. return 'color:green;';
  318. }
  319. },
  320. pagination: true,
  321. pageList: [20, 30, 50],
  322. pageSize: 20,
  323. nowrap: false,
  324. idField: 'id',
  325. sortName: 'order_time',
  326. sortOrder: 'desc',
  327. queryParams: get_param_obj(),
  328. frozenColumns:[[
  329. {field:'ck',checkbox:true}
  330. ]],
  331. columns:[[
  332. {field:'id', title:'id', hidden:true},
  333. {field:'denomination', title:'充值面额', width:25,sortable:false
  334. },
  335. {field:'type', title:'类型', width:8, sortable: true,
  336. formatter: function(value, row){
  337. if(row.cash_back == 0){
  338. return "代金券";
  339. } else {
  340. return "返现";
  341. }
  342. }
  343. },
  344. {field:'cash_back', title:'返现金额', width:25,sortable:false},
  345. {field:'status', title:'状态', width:50, sortable: true,
  346. formatter: function(value, row){
  347. return get_filed_text(value, status_data);
  348. }
  349. },
  350. {field:'order', title:'排序', width:25,sortable:true}
  351. ]],
  352. onSelect: function(index, row){
  353. var data = $.extend({}, row);
  354. $('#id_str').html(data.id);
  355. $('#recharge_id').val(data.id);
  356. if (data.cash_back <= 0){
  357. $('#edit_cash_back').prop("checked",false);
  358. $('#edit_coupon').prop("checked",true);
  359. $('#cash').hide();
  360. $('#coupons').show();
  361. } else {
  362. $('#edit_coupon').prop("checked",false);
  363. $('#edit_cash_back').prop("checked",true);
  364. $('#coupons').hide();
  365. $('#cash').show();
  366. }
  367. coupon = '';
  368. for(var i in data.coupons){
  369. coupon += '<a href="javascript:;" onclick="parent.load_url(\'<?php echo Yii::app()->request->baseUrl; ?>/index.php?r=coupon&id='+data['coupons'][i]['id']+'\')">'+data['coupons'][i]['id']+'</a><br/>';
  370. }
  371. $('#coupons_items').html(coupon);
  372. jq_content_form.form('load', data);
  373. $('#admins_edit_info').html('');
  374. if (data['action_user'] != ''){
  375. jq_action_info.html('信息已被编辑: ' + data['action_user'] + ' ' + data['action_time']);
  376. } else {
  377. jq_action_info.html('');
  378. }
  379. }
  380. });
  381. jq_filter_status.combobox({
  382. width: 100,
  383. data: status_data,
  384. editable: false,
  385. onSelect: function(){
  386. search_content();
  387. }
  388. });
  389. jq_content_form.form({
  390. url: module_router + '/edit',
  391. onSubmit: function(param){
  392. if ($('#order_id').val() == ""){
  393. return false;
  394. }
  395. var isValid = $(this).form('validate');
  396. if (!isValid){
  397. $.messager.progress('close');
  398. }
  399. return isValid;
  400. },
  401. success: function(res){
  402. $.messager.progress('close');
  403. var res = JSON.parse(res);
  404. if (res.success){
  405. jq_dg_content.datagrid('reload');
  406. }
  407. if(res.success){
  408. $.messager.show({
  409. title: '提示',
  410. msg: '保存成功',
  411. timeout: 3500,
  412. showType: 'slide'
  413. });
  414. $('#technician_id').val(0);
  415. }else{
  416. $.messager.show({
  417. title: '提示',
  418. msg: res.message,
  419. timeout: 3500,
  420. showType: 'slide'
  421. });
  422. }
  423. }
  424. });
  425. jq_add_form.form({
  426. url : module_router + '/add',
  427. onSubmit : function (param) {
  428. var isValid = $(this).form('validate');
  429. if (!isValid){
  430. $.messager.progress('close');
  431. }
  432. return isValid;
  433. },
  434. success : function (res) {
  435. $.messager.progress('close');
  436. var res = JSON.parse(res);
  437. if (res.success) {
  438. $.messager.show({
  439. title : '提示',
  440. msg : '保存成功',
  441. timeout : 3500,
  442. showType : 'slide'
  443. });
  444. jq_add_dialog.dialog('close');
  445. jq_dg_content.datagrid('reload');
  446. } else {
  447. $.messager.show({
  448. title : '提示',
  449. msg : res.message,
  450. timeout : 3500,
  451. showType : 'slide'
  452. });
  453. }
  454. }
  455. });
  456. $('#edit_coupon').change(function(){
  457. $('#cash').hide();
  458. $('#coupons').show();
  459. });
  460. $('#edit_cash_back').change(function(){
  461. $('#cash').show();
  462. $('#coupons').hide();
  463. });
  464. $('#add_coupon').change(function(){
  465. $('#add_cash').hide();
  466. $('#add_coupons').show();
  467. });
  468. $('#add_cash_back').change(function(){
  469. $('#add_cash').show();
  470. $('#add_coupons').hide();
  471. });
  472. });
  473. function save_content(){
  474. if ($('#recharge_id').val() == ""){
  475. return false;
  476. }
  477. if (jq_setStatus.combobox('getValue') <0 ){
  478. $.messager.confirm('注意', '确认删除 该充值券吗?', function(r){
  479. $.messager.progress();
  480. jq_content_form.submit();
  481. });
  482. return true;
  483. }
  484. $.messager.progress();
  485. jq_content_form.submit();
  486. }
  487. function search_content(){
  488. var filter_status = jq_filter_status.combobox('getValue');
  489. jq_dg_content.datagrid({
  490. pageNum: 1,
  491. queryParams: {
  492. status : filter_status
  493. }
  494. });
  495. };
  496. function checkAddForm () {
  497. // 空数据检查
  498. if ($('#denomination').val() == '') {
  499. $.messager.alert('提示', '请输入充值面额', 'warning');
  500. return false;
  501. }
  502. if ($('#add_cash_back').attr("checked") == 'undefined' || $('#add_coupon').attr("checked") == 'undefined') {
  503. $.messager.alert('提示', '请选择方式', 'warning');
  504. return false;
  505. }
  506. if ($('#setStatus_add').combobox('getValue') == '') {
  507. $.messager.alert('提示', '请选择充值卡状态', 'warning');
  508. return false;
  509. }
  510. return true;
  511. }
  512. function add_content(){
  513. jq_add_dialog.dialog('open');
  514. }
  515. </script>