index.php 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817
  1. <link rel="stylesheet" href="http://cdn.amazeui.org//amazeui/2.5.0/css/amazeui.min.css">
  2. <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl; ?>/css/datetimepicker.css">
  3. <script src="<?php echo Yii::app()->request->baseUrl; ?>/js/datetimepicker.js?v=2"></script>
  4. <script src="<?php echo Yii::app()->request->baseUrl; ?>/js/amazeui.datetimepicker.zh-CN.js?v=2"></script>
  5. <script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/baidu_map/CityList.js?v=201405243209"></script>
  6. <script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/qiniu_upload_single.js?v=20200307"></script>
  7. <div id="main">
  8. <div region="west" id="west_panel" border="false">
  9. <table id="dg_content"></table>
  10. <div id="tb_content">
  11. <div class="tb_line">
  12. <div>
  13. <input id="search">
  14. <span>状态</span>
  15. <input id="filter_status">
  16. <span>提成方案</span>
  17. <input id="filter_scheme">
  18. <div class="right">
  19. <a href="#" class='easyui-linkbutton' iconCls="icon-search" plain="true" onclick="search_content();return false;">查询</a>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. <div region="center" class="easyui-accordion">
  26. <div region="center" title="基本信息">
  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="content_id_hide" value="" />
  39. <span id="content_id"></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 name="name" />
  50. </div>
  51. </div>
  52. </li>
  53. <li class="f_item">
  54. <div class="box">
  55. <div class="f_label">
  56. <span>头像: </span>
  57. </div>
  58. <div class="box_flex f_content" id="content_avatar">
  59. <div id="content_avatar_show"></div>
  60. <div>
  61. <a href="#" iconCls="icon-add" id="content_avatar_uploader" class="easyui-linkbutton" plain="true">
  62. 上传图片
  63. </a>
  64. </div>
  65. <input type="hidden" name="avatar" id="content_avatar_info" />
  66. </div>
  67. </div>
  68. </li>
  69. <li class="f_item">
  70. <div class="box">
  71. <div class="f_label">
  72. <span>手机号: </span>
  73. </div>
  74. <div class="box_flex f_content">
  75. <input name="mobile" id="content_mobile" readonly/>
  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. <input name="status" id="content_status" />
  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 name="scheme" id="content_scheme"/>
  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" id="service_type_container">
  105. <?php foreach ($service_type as $key => $value): ?>
  106. <?php if (($key-1) % 4 == 0 && $key != 1): ?>
  107. <br>
  108. <?php endif ?>
  109. <span class="service_type_list">
  110. <input type="checkbox" value="<?=$key?>" name="service_type[]" /><?=$value['name']?>
  111. </span>
  112. <?php endforeach ?>
  113. </div>
  114. </div>
  115. </li>
  116. <li class="f_item">
  117. <div class="box">
  118. <div class="f_label">
  119. <span>描述: </span>
  120. </div>
  121. <div class="box_flex f_content">
  122. <textarea name="desc" style="width:200px;height:120px;"></textarea>
  123. </div>
  124. </div>
  125. </li>
  126. </ul>
  127. </form>
  128. </div>
  129. </div>
  130. <div data-options="region:'south'" class="detail_south">
  131. <div class="detail_toolbar">
  132. <a href="#" class="easyui-linkbutton set_button" iconCls="icon-save" onclick="save_content();return false;">保存</a>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. <div region="center" title="微信信息">
  138. <div class="easyui-layout detail_layout">
  139. <div data-options="region:'center'" class="detail_center">
  140. <form id="weixin_info_form" method="post">
  141. <ul>
  142. <li class="f_item">
  143. <div class="box">
  144. <div class="f_label">
  145. <span>姓名</span>
  146. </div>
  147. <div class="box_flex f_content">
  148. <input type="hidden" name="_id" />
  149. <input type="hidden" name="name" />
  150. <span id="weixin_info_name"></span>
  151. </div>
  152. </div>
  153. </li>
  154. <li class="f_item">
  155. <div class="box">
  156. <div class="f_label">
  157. <span>微信ID</span>
  158. </div>
  159. <div class="box_flex f_content">
  160. <input name="weixin_userid" id="weixin_info_userid" />
  161. </div>
  162. </div>
  163. </li>
  164. <li class="f_item">
  165. <div class="box">
  166. <div class="f_label">
  167. <span>手机号</span>
  168. </div>
  169. <div class="box_flex f_content">
  170. <input name="mobile" id="weixin_info_mobile" />
  171. </div>
  172. </div>
  173. </li>
  174. </ul>
  175. </form>
  176. </div>
  177. <div data-options="region:'south'" class="detail_south">
  178. <div class="detail_toolbar">
  179. <a href="#" class="easyui-linkbutton set-button" id="save_weixin_info" iconCls="icon-save" onclick="save_weixin_info()">保存</a>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. <div region="center" title="服务时间">
  185. <div class="easyui-layout detail_layout">
  186. <div data-options="region:'center'" class="detail_center">
  187. <div id="datetimepicker_container"></div>
  188. <div>
  189. <form id="free_time_form" method="post">
  190. <input type="hidden" name="_id" />
  191. <input type="hidden" name="old_time_list" id="old_time_list" value="{}"/>
  192. <input type="hidden" name="new_time_list" id="new_time_list" value="{}"/>
  193. </form>
  194. </div>
  195. </div>
  196. <div data-options="region:'south'" class="detail_south">
  197. <div class="detail_toolbar">
  198. <a href="#" class="easyui-linkbutton set_button" id="save_selected_time" iconCls="icon-save" onclick="save_timeline();return false;">保存</a>
  199. </div>
  200. </div>
  201. </div>
  202. </div>
  203. <div region="center" title="服务范围">
  204. <div class="easyui-layout detail_layout">
  205. <div data-options="region:'center'" class="detail_center">
  206. <div style="width: 540px;height: 460px;">
  207. <div id="add_coverage_container" style="padding-bottom: 10px;display:inline-block;width:400px;"></div>
  208. <div id="add_coverage_button" style="display:inline-block;">
  209. <a href="#" class="easyui-linkbutton set_button" iconCls="icon-add" plain="true" onclick="add_coverage();">添加服务范围</a>
  210. </div>
  211. <div id="add_coverage_map_container" style="width:520px;height:340px;"></div>
  212. <div>
  213. <div id="coverage_info">
  214. </div>
  215. <form id="coverage_form" method="post">
  216. <input type="hidden" name="_id" />
  217. <input type="hidden" name="coverage_json" id="coverage_json" />
  218. </form>
  219. </div>
  220. </div>
  221. </div>
  222. <div data-options="region:'south'" class="detail_south">
  223. <div class="detail_toolbar">
  224. <a href="#" class="easyui-linkbutton set_button" iconCls="icon-save" onclick="save_coverage();return false;">保存</a>
  225. </div>
  226. </div>
  227. </div>
  228. </div>
  229. </div>
  230. </div>
  231. <style type="text/css">
  232. body {margin: 8px;}
  233. .f_label {width: 90px;}
  234. .service_type_list {display:inline-block;width:110px;}
  235. </style>
  236. <script type="text/javascript">
  237. // option
  238. var status_option = <?php echo json_encode($status_option); ?>;
  239. var scheme_option = <?php echo json_encode($scheme_option); ?>;
  240. // base
  241. var module_root = site_root + '/index.php?r=o2o/tech';
  242. var w_width = $(window).width();
  243. var w_height = $(window).height();
  244. // datagrid
  245. var jq_dg_content = $('#dg_content');
  246. var jq_search = $('#search');
  247. var jq_filter_status = $('#filter_status');
  248. var jq_filter_scheme = $('#filter_scheme');
  249. // content_form
  250. var jq_content_form = $('#content_form');
  251. var jq_content_status = $('#content_status');
  252. var jq_content_scheme = $('#content_scheme');
  253. // add_form
  254. var jq_add_dialog = $('#add_dialog');
  255. var jq_add_form = $('#add_form');
  256. // free_time
  257. var datePickerStart = <?=json_encode($datePickerStart)?>;
  258. var datePickerEnd = <?=json_encode($datePickerEnd)?>;
  259. var jq_free_time_form = $('#free_time_form');
  260. // coverage
  261. var jq_coverage_form = $('#coverage_form');
  262. // weixin
  263. var jq_weixin_info_form = $('#weixin_info_form');
  264. $(function() {
  265. var p_width = parseInt(w_width / 2);
  266. if (p_width < 550) {p_width = 550}
  267. var d_width = p_width - 18;
  268. $('#west_panel').css({width: p_width});
  269. $('#main').css({width: w_width - 25, height: w_height - 18}).layout();
  270. // content_form
  271. jq_content_status.combobox({
  272. data: status_option,
  273. editable: false
  274. });
  275. jq_content_scheme.combobox({
  276. data: scheme_option,
  277. editable: false
  278. });
  279. jq_content_form.form({
  280. url: module_root + '/edit',
  281. onSubmit: function(params) {
  282. $.messager.progress();
  283. var isValid = $(this).form('validate');
  284. if (!isValid) {
  285. $.messager.progress('close');
  286. }
  287. return isValid;
  288. },
  289. success: function(res) {
  290. $.messager.progress('close');
  291. var res = JSON.parse(res);
  292. if(res.success) {
  293. jq_dg_content.datagrid('reload');
  294. $.messager.show({
  295. title: '提示',
  296. msg: '保存成功',
  297. timeout: 3500,
  298. showType: 'slide'
  299. });
  300. } else {
  301. $.messager.show({
  302. title: '提示',
  303. msg: res.message,
  304. timeout: 3500,
  305. showType: 'slide'
  306. });
  307. }
  308. }
  309. });
  310. // datagrid
  311. jq_search.searchbox({
  312. width: 150,
  313. searcher: function() {
  314. search_content();
  315. },
  316. prompt: 'ID、名字、微信ID'
  317. });
  318. jq_filter_status.combobox({
  319. data: status_option,
  320. width: 80,
  321. editable: false,
  322. onSelect: function() {
  323. search_content();
  324. }
  325. });
  326. jq_filter_scheme.combobox({
  327. data: scheme_option,
  328. width: 80,
  329. editable: false,
  330. onSelect: function() {
  331. search_content();
  332. }
  333. });
  334. jq_dg_content.datagrid({
  335. height: w_height - 18,
  336. width: d_width,
  337. title: '保洁师列表',
  338. idField: '_id',
  339. url: module_root + '/list',
  340. toolbar: '#tb_content',
  341. nowrap: false,
  342. singleSelect: true,
  343. fitColumns: true,
  344. queryParams: $.extend({
  345. status: 1
  346. }, get_param_obj()),
  347. sortName: '_id',
  348. sortOrder: 'asc',
  349. pagination: true,
  350. pageSize: 30,
  351. pageList: [10, 20, 30, 50],
  352. columns: [[
  353. {field: 'name', title: '名字', width: 100},
  354. {field: 'weixin_userid', title: '微信ID', width: 100},
  355. {field: 'favourable_count', title: '好评数', width: 50},
  356. {field: 'order_count', title: '服务次数', width: 50},
  357. {field: 'scheme', title: '提成方案', width: 60,
  358. formatter: function(value, row) {
  359. if (value == -1) {
  360. return '<span style="color: orange;">'+row['scheme_str']+'</span>';
  361. } else {
  362. return '<span>'+row['scheme_str']+'</span>';
  363. }
  364. }
  365. },
  366. {field: 'status', title: '状态', width: 40,
  367. formatter: function(value, row) {
  368. if (value == 1) {
  369. var color = 'green';
  370. } else if (value == 0) {
  371. var color = 'orange';
  372. } else {
  373. var color = 'red';
  374. }
  375. return '<span style="color:'+color+'">'+row.status_str+'</span>';
  376. }
  377. }
  378. ]],
  379. onSelect: function(index, row) {
  380. // 载入数据
  381. var data = $.extend(row, {});
  382. jq_content_form.form('load', data);
  383. $('#content_id').html(row._id);
  384. // 头像显示
  385. $('input[name="file"]').remove();
  386. $('#content_avatar_show').empty();
  387. if (data.avatar) {
  388. var avatar_url = data.avatar;
  389. $('#content_avatar_info').val(avatar_url);
  390. $('#content_avatar_show').html('<img src="'+avatar_url+'" style="max-width: 60px" />');
  391. } else {
  392. $('#content_avatar_info').val('');
  393. }
  394. // 头像上传
  395. $.fn.qiniu_upload_single('init', {
  396. bucket: 'avatars',
  397. button: '#content_avatar_uploader',
  398. success_callback: function(result) {
  399. console.log(result);
  400. var img_url = result.url;
  401. var img = new Image();
  402. img.onload = function() {
  403. var imgWidth = img.width;
  404. var imgHeight = img.height;
  405. $('#content_avatar_info').val(img_url);
  406. $('#content_avatar_show').html('<img src="'+img_url+'" style="max-width: 60px;"/>');
  407. }
  408. img.src = img_url;
  409. },
  410. fail_callback: function() {
  411. $.messager.alert('提示', '上传失败,请重试');
  412. return false;
  413. }
  414. });
  415. // 服务类型选择
  416. $('#service_type_container').children().each(function (index, element) {
  417. var val = parseInt($(this).find('input').val());
  418. if ($.inArray(val, data.service_type) != -1) {
  419. $(this).find('input').prop('checked', true);
  420. } else {
  421. $(this).find('input').prop('checked', false);
  422. }
  423. });
  424. // 时间选择
  425. $('#datetimepicker_container').empty();
  426. $('#old_time_list').val('{}');
  427. $('#new_time_list').val('{}');
  428. showDatetimePicker(data._id);
  429. jq_free_time_form.form('load', data);
  430. // 服务范围选择
  431. initBaiduCityList();
  432. jq_coverage_form.form('load', data);
  433. $('#add_coverage_button').show();
  434. var coverage_info = '';
  435. for (key in data.coverage) {
  436. coverage_info += parse_coverage_item(data['coverage'][key], key);
  437. }
  438. $('#coverage_info').html(coverage_info);
  439. // 微信信息
  440. jq_weixin_info_form.form('load', data);
  441. $('#weixin_info_name').html(data.name);
  442. if (data.weixin_userid) {
  443. $('#weixin_info_userid').attr('readonly', true);
  444. } else {
  445. $('#weixin_info_userid').removeAttr('readonly');
  446. }
  447. },
  448. onLoadSuccess: function() {
  449. // 基本信息
  450. jq_content_form.form('clear');
  451. $('#content_id').html('');
  452. $('#content_avatar_show').empty();
  453. // 时间选择
  454. jq_free_time_form.form('clear');
  455. $('#datetimepicker_container').empty();
  456. // 服务范围
  457. jq_coverage_form.form('clear');
  458. $('#add_coverage_container').empty();
  459. $('#add_coverage_map_container').empty();
  460. $('#add_coverage_button').hide();
  461. $('#coverage_info').empty();
  462. // 微信信息
  463. jq_weixin_info_form.form('clear');
  464. $('#weixin_info_name').empty();
  465. $('#weixin_info_userid').removeAttr('disabled');
  466. }
  467. });
  468. // free_time
  469. jq_free_time_form.form({
  470. url: module_root + '/modifyFreetime',
  471. onSubmit: function(param) {
  472. $.messager.progress();
  473. var isValid = $(this).form('validate');
  474. if (!isValid) {
  475. $.messager.progress('close');
  476. }
  477. return isValid;
  478. },
  479. success: function(res) {
  480. $.messager.progress('close');
  481. var res = JSON.parse(res);
  482. if (res.success) {
  483. jq_dg_content.datagrid('reload');
  484. $.messager.show({
  485. title: '提示',
  486. msg: '保存成功',
  487. timeout: 3500,
  488. showType: 'slide'
  489. });
  490. } else {
  491. $.messager.show({
  492. title: '提示',
  493. msg: res.message,
  494. timeout: 3500,
  495. showType: 'slide'
  496. });
  497. }
  498. }
  499. });
  500. // coverage
  501. jq_coverage_form.form({
  502. url: module_root + '/modifyCoverage',
  503. onSubmit: function(param) {
  504. $.messager.progress();
  505. var isValid = $(this).form('validate');
  506. if (!isValid) {
  507. $.messager.progress('close');
  508. }
  509. return isValid;
  510. },
  511. success: function(res) {
  512. $.messager.progress('close');
  513. var res = JSON.parse(res);
  514. if (res.success) {
  515. jq_dg_content.datagrid('reload');
  516. $.messager.show({
  517. title: '提示',
  518. msg: '保存成功',
  519. timeout: 3500,
  520. showType: 'slide'
  521. });
  522. } else {
  523. $.messager.show({
  524. title: '提示',
  525. msg: res.message,
  526. timeout: 3500,
  527. showType: 'slide'
  528. });
  529. }
  530. }
  531. });
  532. // 删除item绑定事件
  533. $('body').on('click', '.del_coverage_item', function() {
  534. var coverages = new Array();
  535. if ($('#coverage_json').val()) {
  536. var coverages = JSON.parse($('#coverage_json').val());
  537. }
  538. coverages.splice($(this).parent('div').attr('data'), 1);
  539. $(this).parent('div').remove();
  540. $('#coverage_info').children('div').each(function(index, e) {
  541. $(this).attr('data', index);
  542. });
  543. $('#coverage_json').val(JSON.stringify(coverages));
  544. });
  545. // weixin_info
  546. jq_weixin_info_form.form({
  547. url: module_root + '/modifyWeixinInfo',
  548. onSubmit: function(param) {
  549. $.messager.progress();
  550. var isValid = $(this).form('validate');
  551. if (!isValid) {
  552. $.messager.progress('close');
  553. }
  554. return isValid;
  555. },
  556. success: function(res) {
  557. $.messager.progress('close');
  558. var res = JSON.parse(res);
  559. if (res.success) {
  560. jq_dg_content.datagrid('reload');
  561. $.messager.show({
  562. title: '提示',
  563. msg: '保存成功',
  564. timeout: 3500,
  565. showType: 'slide'
  566. });
  567. } else {
  568. $.messager.show({
  569. title: '提示',
  570. msg: res.message,
  571. timeout: 3500,
  572. showType: 'slide'
  573. });
  574. }
  575. }
  576. });
  577. });
  578. function search_content() {
  579. var status = jq_filter_status.combobox('getValue');
  580. var scheme = jq_filter_scheme.combobox('getValue');
  581. var search = jq_search.searchbox('getValue');
  582. var query = {
  583. status: status,
  584. scheme: scheme,
  585. search: search
  586. };
  587. jq_dg_content.datagrid({
  588. queryParams: query
  589. });
  590. }
  591. function save_content() {
  592. if (!$('#content_id_hide').val()) {
  593. $.messager.alert('提示', '请选择一个保洁师');
  594. return false;
  595. }
  596. if (jq_content_scheme.combobox('getValue') == 100) {
  597. $.messager.alert('提示', '请选择一个提成方案');
  598. return false;
  599. }
  600. var status = jq_content_status.combobox('getValue');
  601. if (parseInt(status) == -1) {
  602. $.messager.confirm('提示', '确认删除吗?<br>该操作将删除后台用户,同时禁用微信端成员', function (r) {
  603. if (!r) {
  604. return false;
  605. } else {
  606. jq_content_form.form('submit');
  607. }
  608. });
  609. } else {
  610. jq_content_form.form('submit');
  611. }
  612. }
  613. // 显示时间选择插件
  614. function showDatetimePicker(_id) {
  615. $.post(
  616. module_root + '/getTechTimeline',
  617. {
  618. _id: _id
  619. },
  620. function (res) {
  621. var data = $.parseJSON(res);
  622. var old_time_list = {};
  623. var selected = {
  624. day: {},
  625. hours: {}
  626. }
  627. for (key in data) {
  628. if (data[key]['selected']) {
  629. selected.day[key] = parseInt(data[key]['selected']);
  630. selected.hours[key] = data[key]['selectedHours'].slice();
  631. old_time_list[key] = data[key]['selectedHours'].slice();
  632. }
  633. }
  634. $('#old_time_list').val(JSON.stringify(old_time_list));
  635. $('#datetimepicker_container').append('<input id="datetimepicker" size="16" type="text" value="'+datePickerStart+'" readonly class="form-datetime am-form-field">');
  636. initDatetimepicker(datePickerStart, datePickerEnd, selected);
  637. }
  638. );
  639. }
  640. function initDatetimepicker(startDate, endDate, selected) {
  641. $('#datetimepicker').datetimepicker({
  642. language: 'zh-CN',
  643. format: 'yyyy-mm-dd hh:ii:ss',
  644. startDate: startDate,
  645. endDate: endDate,
  646. startView: 2,
  647. minView: 1,
  648. todayBtn: true,
  649. todayHighlight: true,
  650. startHours: 9,
  651. endHours: 19,
  652. minuteStep: 10,
  653. selected: selected
  654. }).on('changeHour', function(event){
  655. newSelectedTime(event);
  656. }).on('today', function(event) {
  657. newSelectedTime(event);
  658. }).on('allDay', function(event) {
  659. newSelectedTime(event);
  660. });
  661. }
  662. function newSelectedTime(event) {
  663. var new_time_list = JSON.parse($('#new_time_list').val());
  664. if (event.type == 'today') {
  665. var dateObj = new Date();
  666. var today_year = dateObj.getFullYear() + '';
  667. var today_month = dateObj.getMonth() + 1 + '';
  668. var today_date = dateObj.getDate() + '';
  669. if (today_month.length < 2) {
  670. today_month = '0' + today_month;
  671. }
  672. if (today_date.length < 2) {
  673. today_date = '0' + today_date;
  674. }
  675. var today_key = today_year + today_month + today_date;
  676. new_time_list[today_key] = [
  677. 0, 0, 0, 0, 0, 0, 0, 0,
  678. 0, 1, 1, 1, 1, 1, 1, 1,
  679. 1, 1, 1, 1, 0, 0, 0, 0
  680. ];
  681. } else {
  682. new_time_list = event.selectedHours;
  683. }
  684. $('#new_time_list').val(JSON.stringify(new_time_list));
  685. }
  686. function save_timeline() {
  687. jq_free_time_form.submit();
  688. }
  689. function initBaiduCityList() {
  690. map = new BMap.Map('add_coverage_map_container');
  691. map.centerAndZoom(new BMap.Point(31.229402,121.455129), 12);
  692. var cityList = new BMapLib.CityList({
  693. container: 'add_coverage_container',
  694. map: map
  695. });
  696. }
  697. function add_coverage() {
  698. var coverages = new Array();
  699. if ($('#coverage_json').val()) {
  700. coverages = JSON.parse($('#coverage_json').val());
  701. }
  702. var coverage_item = {};
  703. coverage_item.province = storage.getItem('province');
  704. coverage_item.city = storage.getItem('city');
  705. coverage_item.area = storage.getItem('area');
  706. if (storage.getItem('business') && storage.getItem('business') != '请选择') {
  707. coverage_item.business = storage.getItem('business');
  708. }
  709. if (coverage_item.city != '上海市') {
  710. $.messager.alert('提示', '必须选择上海市');
  711. return false;
  712. } else if (!coverage_item.province || !coverage_item.city || !coverage_item.area) {
  713. $.messager.alert('提示', '必须选择区');
  714. return false;
  715. } else if (!coverage_item.business) {
  716. var businessArray = [];
  717. $('#add_coverage_container>select').last().children().each(function (index, element) {
  718. if (this.title != '请选择') {
  719. var coverage_json = $('#coverage_json').val();
  720. var coverages = coverage_json ? JSON.parse(coverage_json) : [];
  721. coverage_item.business = this.title;
  722. coverages.push(coverage_item);
  723. $('#coverage_json').val(JSON.stringify(coverages));
  724. $('#coverage_info').html($('#coverage_info').html() + parse_coverage_item(coverage_item, coverages.length - 1));
  725. }
  726. });
  727. } else {
  728. coverages.push(coverage_item);
  729. $('#coverage_json').val(JSON.stringify(coverages));
  730. $('#coverage_info').html($('#coverage_info').html() + parse_coverage_item(coverage_item, coverages.length - 1));
  731. }
  732. storage.removeItem('province');
  733. storage.removeItem('city');
  734. storage.removeItem('area');
  735. storage.removeItem('business');
  736. storage.removeItem('points');
  737. initBaiduCityList();
  738. }
  739. function parse_coverage_item(item, index) {
  740. if (item.business) {
  741. return '<div data='+index+'>['+item.province+'-'+item.city+'-'+item.area+'-'+item.business+']&nbsp;&nbsp;<a href="#" class="del_coverage_item">删除</a></div>';
  742. } else {
  743. return '<div data='+index+'>['+item.province+'-'+item.city+'-'+item.area+']&nbsp;&nbsp;<a href="#" class="del_coverage_item">删除</a></div>';
  744. }
  745. }
  746. function save_coverage() {
  747. jq_coverage_form.submit();
  748. }
  749. function save_weixin_info() {
  750. if (!$('#weixin_info_userid').val()) {
  751. $.messager.alert('提示', '请输入微信ID');
  752. return false;
  753. }
  754. if (!$('#weixin_info_mobile').val()) {
  755. $.messager.alert('提示', '请输入手机号');
  756. return false;
  757. }
  758. jq_weixin_info_form.submit();
  759. }
  760. </script>