1
0

channel_statistics.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701
  1. {extend name="public/layout" /}
  2. {block name="title"}渠道统计{/block}
  3. {block name="head"}
  4. {include file="public/head"}
  5. <style>
  6. html,
  7. body {
  8. min-width: 1100px;
  9. }
  10. .layui-table th:last-child {
  11. border-right: none;
  12. }
  13. .layui-table-view .layui-table {
  14. /* width:100% */
  15. }
  16. .layui-table thead tr,
  17. .layui-table-header {
  18. background-color: #D8E6F1 !important;
  19. }
  20. .line-middle {
  21. width: 10px;
  22. height: 100%;
  23. margin: 0px 10px;
  24. }
  25. .line {
  26. width: 10px;
  27. height: 2px;
  28. background-color: #999999;
  29. }
  30. .mb0 {
  31. margin-bottom: 0px;
  32. }
  33. .layui-btn {
  34. background-color: #fff;
  35. color: #555;
  36. border: 1px solid #c9c9c9
  37. }
  38. .layui-btn:hover {
  39. background-color: #fff;
  40. color: #555;
  41. border: 1px solid #249efb;
  42. }
  43. .layui-btn-primary,
  44. .sBtn {
  45. background-color: #249efb;
  46. color: #fff;
  47. border: 1px solid #249efb;
  48. }
  49. .layui-btn-primary:hover {
  50. background-color: #249efb;
  51. color: #fff;
  52. border: 1px solid #249efb;
  53. }
  54. .sBtn:hover {
  55. background-color: #249efb;
  56. color: #fff;
  57. border: 1px solid #249efb;
  58. }
  59. .flex-row,
  60. .row {
  61. display: flex;
  62. }
  63. .align-center {
  64. align-items: center;
  65. }
  66. .ml10 {
  67. margin-left: 10px;
  68. }
  69. .ml19 {
  70. margin-left: 19px !important;
  71. }
  72. .mt10 {
  73. margin-top: 10px;
  74. }
  75. .padding-tlr {
  76. padding: 15px 15px 0px;
  77. }
  78. .layui-input-block {
  79. margin-left: 0px;
  80. }
  81. .justify-between {
  82. justify-content: space-between;
  83. }
  84. table tr td a {
  85. color: #249EFB;
  86. }
  87. .qdtj_m {
  88. padding: 0 15px;
  89. width: 100%;
  90. box-sizing: border-box;
  91. margin: 20px 0 10px;
  92. }
  93. .qdtj_ul {
  94. overflow: hidden;
  95. border: 1px solid #94D0FF;
  96. padding: 15px 0;
  97. background-color: #FBFDFF;
  98. }
  99. .qdtj_ul li {
  100. float: left;
  101. position: relative;
  102. text-align: center;
  103. width: 9%;
  104. }
  105. .qdtj_1 {
  106. font-size: 20px;
  107. font-weight: 400;
  108. }
  109. .qdtj_2 {
  110. font-size: 14px;
  111. color: #888;
  112. margin-top: 5px
  113. }
  114. .qdtj_r_x {
  115. height: 40px;
  116. width: 1px;
  117. background: #D8D8D9;
  118. position: absolute;
  119. right: 0;
  120. top: 50%;
  121. margin-top: -20px;
  122. }
  123. .selectDateBox {
  124. position: absolute;
  125. width: 330px;
  126. height: 100px;
  127. box-shadow: 0 2px 4px rgb(0 0 0 / 12%);
  128. background-color: #fff;
  129. z-index: 99999 !important;
  130. top: 45px;
  131. box-sizing: border-box;
  132. padding: 5px 8px;
  133. }
  134. .selecstDateBox {
  135. position: absolute;
  136. width: 330px;
  137. height: 100px;
  138. box-shadow: 0 2px 4px rgb(0 0 0 / 12%);
  139. background-color: #fff;
  140. z-index: 99999 !important;
  141. top: 45px;
  142. right: 0;
  143. box-sizing: border-box;
  144. padding: 5px 8px;
  145. }
  146. .date-flex,.date-flex1 {
  147. display: flex;
  148. align-items: center;
  149. }
  150. .date-box {
  151. padding: 15px 0px 10px;
  152. }
  153. </style>
  154. {/block}
  155. {block name="body"}
  156. <div class="layui-fluid" style="background-color: #fff;">
  157. <div class="layui-card">
  158. <div class="search-form layui-form padding-tlr">
  159. <div class="flex-row align-center justify-between">
  160. <div class="flex-row align-center">
  161. <div class="layui-input-block">
  162. <input type="text" class="layui-input" id="keyword" autocomplete="off" name="keyword"
  163. placeholder="请输入渠道名称">
  164. </div>
  165. <!-- <div class="layui-inline row ml10" id="timeBtn">
  166. <input type="button" class="layui-btn" value="今日" />
  167. <input type="button" class="layui-btn" value="3天" />
  168. <input type="button" class="layui-btn" value="7天" />
  169. <input type="button" class="layui-btn" value="1个月" />
  170. </div> -->
  171. <!-- <div class="layui-inline ml10">
  172. 注意:这一层元素并不是必须的
  173. <input type="text" class="layui-input" id="sDate" autocomplete="off" name="start_date"
  174. placeholder="选择开始日期">
  175. </div> -->
  176. <div class="layui-input-inline layui-form ml10" style="display:inline-block;min-width:300px;">
  177. <label class="layui-form-label" style="width: 60px;">跟进时间</label>
  178. <div class="layui-input-inline select-date relative">
  179. <!-- 注意:这一层元素并不是必须的 -->
  180. <input type="text" class="layui-input" id="sDate" name="start_date" placeholder="开始日期 - 结束日期"
  181. autocomplete="off">
  182. <div data-type="" class="selecstDateBox layui-hide">
  183. <div data-type="" class="date-flex1">
  184. <div data-type="today" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">今日
  185. </div>
  186. <div data-type="yesterday" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">昨日</div>
  187. <div data-type="week" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">本周
  188. </div>
  189. <div data-type="lastWeek" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">上周</div>
  190. <div data-type="month" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">本月
  191. </div>
  192. <div data-type="lastMonth" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">上月</div>
  193. <div data-type="all" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">
  194. 累计</div>
  195. </div>
  196. <div data-type="" class="date-box">
  197. <input data-type="" type="text" id="select_sDate" placeholder="选择开始时间 - 结束时间" readonly autocomplete="off"
  198. class="layui-input">
  199. </div>
  200. </div>
  201. </div>
  202. </div>
  203. <!-- <div class="line-middle">
  204. <div class="line"></div>
  205. </div>
  206. <div class="layui-inline">
  207. <input type="text" class="layui-input" id="eDate" autocomplete="off" name="end_date"
  208. placeholder="选择结束日期">
  209. </div> -->
  210. </div>
  211. <div style="width:160px;display: flex;">
  212. <button class="layui-btn sBtn ml10 submitbtn" lay-submit lay-filter="table-search">筛选</button>
  213. <button class="layui-btn sBtn ml19" id="resetbtn">重置</button>
  214. </div>
  215. </div>
  216. </div>
  217. <div class="qdtj_m">
  218. <ul class="qdtj_ul">
  219. </ul>
  220. </div>
  221. <div class="layui-card-body">
  222. <table lay-filter="datalist" id="list"></table>
  223. </div>
  224. </div>
  225. </div>
  226. {/block}
  227. {block name="js"}
  228. <script>
  229. layui.use(['table', 'form', 'laydate', 'element'], function () {
  230. let table = layui.table,
  231. laydate = layui.laydate,
  232. form = layui.form,
  233. element = layui.element,
  234. $ = layui.$;
  235. $('body').attr('layadmin-themealias', 'default');
  236. var bodyH = $('.body-h').height() * 0.82;
  237. var istypes = 0;
  238. //执行一个laydate实例
  239. // laydate.render({
  240. // elem: '#sDate' //指定元素
  241. // });
  242. // laydate.render({
  243. // elem: '#eDate' //指定元素
  244. // });
  245. $('#addWechatTime').click(function () {
  246. $('.selectDateBox').toggleClass('layui-hide');
  247. $('.selecstDateBox').addClass('layui-hide');
  248. })
  249. $('#sDate').click(function () {
  250. $('.selecstDateBox').toggleClass('layui-hide');
  251. $('.selectDateBox').addClass('layui-hide');
  252. })
  253. laydate.render({
  254. elem: '#select_date'
  255. , type: 'date'
  256. , range: true
  257. , format: 'yyyy/MM/dd'
  258. , trigger: 'click',//呼出事件改成click
  259. done: function (value, date, endDate) {
  260. $('.selectDateBox').addClass('layui-hide');
  261. $('#addWechatTime').val(value);
  262. }
  263. });
  264. laydate.render({
  265. elem: '#select_sDate' //指定元素
  266. , type: 'date'
  267. , format: 'yyyy/MM/dd'
  268. , range: true
  269. , trigger: 'click',//呼出事件改成click
  270. done: function (value, date, endDate) {
  271. $('.selecstDateBox').addClass('layui-hide');
  272. $('#sDate').val(value);
  273. }
  274. });
  275. var dateObj = {};
  276. setDate();
  277. function setDate() {
  278. let date = new Date();
  279. let year = date.getFullYear();
  280. let month = date.getMonth() + 1;
  281. let day = date.getDate();
  282. let lastDate = new Date(new Date().getTime() - (1 * 24 * 60 * 60 * 1000));
  283. let lastYear = lastDate.getFullYear();
  284. let lastMonth = lastDate.getMonth() + 1;
  285. let lastDay = lastDate.getDate();
  286. let weekObj = getMondayAndSunday();
  287. let monthObj = getMonthFirstDayAndLastDay();
  288. dateObj = {
  289. today: `${year}/${month}/${day}`,
  290. yesterday: `${lastYear}/${lastMonth}/${lastDay}`,
  291. ...weekObj,
  292. ...monthObj
  293. }
  294. }
  295. $('.date-flex div').click(function () {
  296. let type = $(this).prop('dataset').type;
  297. if (type == 'today') {
  298. $('#select_date').val(`${dateObj.today} - ${dateObj.today}`);
  299. $('#addWechatTime').val(`${dateObj.today} - ${dateObj.today}`);
  300. } else if (type == 'yesterday') {
  301. $('#select_date').val(`${dateObj.yesterday} - ${dateObj.yesterday}`);
  302. $('#addWechatTime').val(`${dateObj.yesterday} - ${dateObj.yesterday}`);
  303. } else if (type == 'week') {
  304. $('#select_date').val(`${dateObj.thisWeekMonday} - ${dateObj.thisWeekSunday}`);
  305. $('#addWechatTime').val(`${dateObj.thisWeekMonday} - ${dateObj.thisWeekSunday}`);
  306. } else if (type == 'lastWeek') {
  307. $('#select_date').val(`${dateObj.lastWeekMonday} - ${dateObj.lastWeekSunday}`);
  308. $('#addWechatTime').val(`${dateObj.lastWeekMonday} - ${dateObj.lastWeekSunday}`);
  309. } else if (type == 'month') {
  310. $('#select_date').val(`${dateObj.thisMonthFirstDay} - ${dateObj.thisMonthLastDay}`);
  311. $('#addWechatTime').val(`${dateObj.thisMonthFirstDay} - ${dateObj.thisMonthLastDay}`);
  312. } else if (type == 'lastMonth') {
  313. $('#select_date').val(`${dateObj.lastMonthFirstDay} - ${dateObj.lastMonthLastDay}`);
  314. $('#addWechatTime').val(`${dateObj.lastMonthFirstDay} - ${dateObj.lastMonthLastDay}`);
  315. } else {
  316. $('#select_date').val('');
  317. $('#sDate').val('')
  318. $('#addWechatTime').val('');
  319. }
  320. $('.selectDateBox').addClass('layui-hide');
  321. })
  322. $('.date-flex1 div').click(function () {
  323. let type = $(this).prop('dataset').type;
  324. if (type == 'today') {
  325. itmesss = dateToYYYYMMDD(dateObj.today);
  326. itmesss2 = dateToYYYYMMDD(dateObj.today);
  327. $('#select_sDate').val(itmesss+' - '+itmesss2);
  328. $('#sDate').val(itmesss+' - '+itmesss2);
  329. } else if (type == 'yesterday') {
  330. itmesss = dateToYYYYMMDD(dateObj.yesterday);
  331. itmesss2 = dateToYYYYMMDD(dateObj.yesterday);
  332. $('#select_sDate').val(itmesss+' - '+itmesss2);
  333. $('#sDate').val(itmesss+' - '+itmesss2);
  334. } else if (type == 'week') {
  335. $('#select_sDate').val(`${dateObj.thisWeekMonday} - ${dateObj.thisWeekSunday}`);
  336. $('#sDate').val(`${dateObj.thisWeekMonday} - ${dateObj.thisWeekSunday}`);
  337. } else if (type == 'lastWeek') {
  338. $('#select_sDate').val(`${dateObj.lastWeekMonday} - ${dateObj.lastWeekSunday}`);
  339. $('#sDate').val(`${dateObj.lastWeekMonday} - ${dateObj.lastWeekSunday}`);
  340. } else if (type == 'month') {
  341. $('#select_sDate').val(`${dateObj.thisMonthFirstDay} - ${dateObj.thisMonthLastDay}`);
  342. $('#sDate').val(`${dateObj.thisMonthFirstDay} - ${dateObj.thisMonthLastDay}`);
  343. } else if (type == 'lastMonth') {
  344. $('#select_sDate').val(`${dateObj.lastMonthFirstDay} - ${dateObj.lastMonthLastDay}`);
  345. $('#sDate').val(`${dateObj.lastMonthFirstDay} - ${dateObj.lastMonthLastDay}`);
  346. } else {
  347. $('#select_sDate').val('');
  348. $('#sDate').val('');
  349. }
  350. $('.selecstDateBox').addClass('layui-hide');
  351. })
  352. function getMondayAndSunday() {
  353. var today = new Date();
  354. //构建当前日期,格式:2022-08-22 00:00:00
  355. var year = today.getFullYear(); //本年
  356. var month = today.getMonth() + 1; //本月
  357. var day = today.getDate(); //本日
  358. var newDate = new Date(year + "/" + month + "/" + day + " 00:00:00"); //年月日拼接
  359. var nowTime = newDate.getTime(); //当前的时间戳
  360. var weekDay = newDate.getDay(); //当前星期 0.1.2.3.4.5.6 【0 = 周日】
  361. var oneDayTime = 24 * 60 * 60 * 1000; //一天的总ms
  362. // 当前星期减去天数,如今天为周五,则本周一为周五的时间戳减去4天的时间戳。但周日特殊,周一至周六是周几的到的weekDay就是几,但是周日的到的为0,需特殊处理
  363. var thisWeekMondayTime = (1 - weekDay) * oneDayTime + nowTime; //本周一的时间戳
  364. if (weekDay == 0) {
  365. // weekDay = 0 为周日,此时本周一时间为周日减去6天的时间
  366. thisWeekMondayTime = nowTime - 6 * oneDayTime
  367. }
  368. var thisWeekSundayTime = thisWeekMondayTime + 6 * 24 * 60 * 60 * 1000 // 本周日
  369. var lastWeekMondayTime = thisWeekMondayTime - 7 * oneDayTime // 上周一
  370. var lastWeekSundayTime = thisWeekMondayTime - oneDayTime // 上周日
  371. var res = {
  372. thisWeekMonday: dateToYYYYMMDD(thisWeekMondayTime),
  373. thisWeekSunday: dateToYYYYMMDD(thisWeekSundayTime),
  374. lastWeekMonday: dateToYYYYMMDD(lastWeekMondayTime),
  375. lastWeekSunday: dateToYYYYMMDD(lastWeekSundayTime),
  376. }
  377. return res;
  378. }
  379. function getMonthFirstDayAndLastDay() {
  380. var date = new Date()
  381. // 值得注意的是,如果day取值为0,意味着取的是date时间的上一个月的最后一天,简单理解:date当前月的第一天,再减去一天
  382. var thisMonthFirstDay = date.setDate(1) // 本月第一天
  383. var thisMonthLastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0) // 本月最后一天
  384. var lastMonthFirstDay = new Date(date.getFullYear(), date.getMonth() - 1, 1) // 上月第一天
  385. var lastMonthLastDay = date.setDate(0) // 上月最后一天
  386. // var day = new Date(date.getFullYear(), date.getMonth(), 0).getDate()
  387. // var lastMonthLastDay = new Date(date.getFullYear(), date.getMonth() - 1, day) // 上月最后一天
  388. var res = {
  389. thisMonthFirstDay: dateToYYYYMMDD(thisMonthFirstDay),
  390. thisMonthLastDay: dateToYYYYMMDD(thisMonthLastDay),
  391. lastMonthFirstDay: dateToYYYYMMDD(lastMonthFirstDay),
  392. lastMonthLastDay: dateToYYYYMMDD(lastMonthLastDay),
  393. }
  394. return res
  395. }
  396. function dateToYYYYMMDD(date) {
  397. var time = new Date(date);
  398. var y = time.getFullYear();
  399. var m = (time.getMonth() + 1);
  400. m = m > 9 ? m : '0' + m;
  401. var d = time.getDate();
  402. d = d > 9 ? d : '0' + d;
  403. return y + "/" + m + "/" + d;
  404. }
  405. let cols = [[
  406. { field: 'source', title: '渠道名称', align: 'center', width: 150, fixed: 'left' },
  407. { field: 'clue_count', title: '线索量', align: 'center', fixed: 'left' },
  408. { field: 'valid_count', title: '有效线索', align: 'center', fixed: 'left' },
  409. { field: 'valid_grawth', title: '有效率', align: 'center', fixed: 'left' },
  410. { field: 'meet_count', title: '见面量', align: 'center', fixed: 'left' },
  411. { field: 'meet_grawth', title: '见面率', align: 'center', fixed: 'left' },
  412. { field: 'delivery_count', title: '交定量', align: 'center', fixed: 'left' },
  413. { field: 'delivery_grawth', title: '交定率', align: 'center', fixed: 'left' },
  414. { field: 'order_count', title: '合同量', align: 'center', fixed: 'left' },
  415. { field: 'order_grawth', title: '合同率', align: 'center', fixed: 'left' },
  416. { field: 'order_money', title: '合同金额', align: 'center', fixed: 'left' },
  417. { field: 'maika_count', title: '无忧量', align: 'center', fixed: 'left' },
  418. ]];
  419. let url = '{:url("statistics/channelStatisticsList")}';
  420. table.render({
  421. elem: '#list'
  422. , url: url
  423. , page: true
  424. , height: bodyH
  425. , cols: cols
  426. , id: 'tablelist'
  427. ,done:function(res){
  428. var lihtml = `<li class="qdtj_li">
  429. <p class="qdtj_1">${res.header.number}</p>
  430. <p class="qdtj_2">渠道总数</p>
  431. <p class="qdtj_r_x"></p>
  432. </li>
  433. <li class="qdtj_li">
  434. <p class="qdtj_1">${res.header.clue_count}</p>
  435. <p class="qdtj_2">线索量</p>
  436. <p class="qdtj_r_x"></p>
  437. </li>
  438. <li class="qdtj_li">
  439. <p class="qdtj_1">${res.header.valid_count}</p>
  440. <p class="qdtj_2">有效线索量</p>
  441. <p class="qdtj_r_x"></p>
  442. </li>
  443. <li class="qdtj_li">
  444. <p class="qdtj_1">${res.header.valid_grawth}</p>
  445. <p class="qdtj_2">有效率</p>
  446. <p class="qdtj_r_x"></p>
  447. </li>
  448. <li class="qdtj_li">
  449. <p class="qdtj_1">${res.header.meet_count}</p>
  450. <p class="qdtj_2">见面量</p>
  451. <p class="qdtj_r_x"></p>
  452. </li>
  453. <li class="qdtj_li">
  454. <p class="qdtj_1">${res.header.meet_grawth}</p>
  455. <p class="qdtj_2">见面率</p>
  456. <p class="qdtj_r_x"></p>
  457. </li>
  458. <li class="qdtj_li">
  459. <p class="qdtj_1">${res.header.delivery_count}</p>
  460. <p class="qdtj_2">交定量</p>
  461. <p class="qdtj_r_x"></p>
  462. </li>
  463. <li class="qdtj_li">
  464. <p class="qdtj_1">${res.header.delivery_grawth}</p>
  465. <p class="qdtj_2">交定率</p>
  466. <p class="qdtj_r_x"></p>
  467. </li>
  468. <li class="qdtj_li">
  469. <p class="qdtj_1">${res.header.order_count}</p>
  470. <p class="qdtj_2">合同量</p>
  471. <p class="qdtj_r_x"></p>
  472. </li>
  473. <li class="qdtj_li">
  474. <p class="qdtj_1">${res.header.order_grawth}</p>
  475. <p class="qdtj_2">合同率</p>
  476. <p class="qdtj_r_x"></p>
  477. </li>
  478. <li class="qdtj_li">
  479. <p class="qdtj_1">${res.header.maika_count}</p>
  480. <p class="qdtj_2">无忧量</p>
  481. </li>`;
  482. $('.qdtj_ul').html(lihtml);
  483. }
  484. });
  485. function setYMD(time) {
  486. let dateTime = new Date(time);
  487. let year = dateTime.getFullYear();
  488. let Month = dateTime.getMonth() + 1;
  489. let days = dateTime.getDate();
  490. return `${year}-${Month > 9 ? Month : '0' + Month}-${days > 9 ? days : '0' + days}`;
  491. }
  492. var dateArr = {};
  493. var today = new Date().getTime();
  494. var oneTime = 24 * 60 * 60 * 1000;
  495. var threeDay1 = today - 3 * oneTime;
  496. var sevenDay1 = today - 6 * oneTime;
  497. var oneMonth = today - 30 * oneTime;
  498. dateArr = {
  499. nowS: setYMD(today),
  500. nowE: setYMD(today),
  501. threeDayS: setYMD(threeDay1),
  502. threeDayE: setYMD(today),
  503. sevenDayS: setYMD(sevenDay1),
  504. sevenDayE: setYMD(today),
  505. oneMonthS: setYMD(oneMonth),
  506. oneMonthE: setYMD(today),
  507. }
  508. $('#timeBtn').on('click', function (e) {
  509. if (!!(e.target.localName != 'input')) return;
  510. let o = document.querySelector('#timeBtn').children;
  511. if (e.target.classList.contains('layui-btn-primary') == true) {
  512. for (var i = 0; i < o.length; i++) {
  513. o[i].className = 'layui-btn';
  514. }
  515. $('#sDate').val('');
  516. $('#eDate').val('');
  517. return;
  518. } else {
  519. for (var i = 0; i < o.length; i++) {
  520. o[i].className = 'layui-btn';
  521. }
  522. e.target.className = 'layui-btn layui-btn-primary';
  523. if (!!(e.target.className.indexOf('layui-btn-primary') > 0)) {
  524. if (e.target.value == '今日') {
  525. $('#sDate').val(dateArr.nowS);
  526. $('#eDate').val(dateArr.nowE);
  527. } else if (e.target.value == '3天') {
  528. $('#sDate').val(dateArr.threeDayS);
  529. $('#eDate').val(dateArr.threeDayE);
  530. } else if (e.target.value == '7天') {
  531. $('#sDate').val(dateArr.sevenDayS);
  532. $('#eDate').val(dateArr.sevenDayE);
  533. } else {
  534. $('#sDate').val(dateArr.oneMonthS);
  535. $('#eDate').val(dateArr.oneMonthE);
  536. }
  537. }
  538. }
  539. })
  540. document.onkeydown=function(event){
  541. var e = event || window.event || arguments.callee.caller.arguments[0];
  542. if(e && e.keyCode==13){
  543. $(".submitbtn").trigger("click");
  544. }
  545. };
  546. var where = {};
  547. // ajaxurls(where);
  548. function ajaxurls(where) {
  549. $.ajax({
  550. url: '{:url("statistics/channelStatisticsTotal")}',
  551. type: 'post',
  552. data: where,
  553. success: function (res) {
  554. console.log(res)
  555. var lihtml = `<li class="qdtj_li">
  556. <p class="qdtj_1">${res.data.source_count}</p>
  557. <p class="qdtj_2">渠道总数</p>
  558. <p class="qdtj_r_x"></p>
  559. </li>
  560. <li class="qdtj_li">
  561. <p class="qdtj_1">${res.data.clue_count}</p>
  562. <p class="qdtj_2">线索量</p>
  563. <p class="qdtj_r_x"></p>
  564. </li>
  565. <li class="qdtj_li">
  566. <p class="qdtj_1">${res.data.valid_count}</p>
  567. <p class="qdtj_2">有效线索量</p>
  568. <p class="qdtj_r_x"></p>
  569. </li>
  570. <li class="qdtj_li">
  571. <p class="qdtj_1">${res.data.valid_grawth}</p>
  572. <p class="qdtj_2">有效率</p>
  573. <p class="qdtj_r_x"></p>
  574. </li>
  575. <li class="qdtj_li">
  576. <p class="qdtj_1">${res.data.meet_count}</p>
  577. <p class="qdtj_2">见面量</p>
  578. <p class="qdtj_r_x"></p>
  579. </li>
  580. <li class="qdtj_li">
  581. <p class="qdtj_1">${res.data.meet_grawth}</p>
  582. <p class="qdtj_2">见面率</p>
  583. <p class="qdtj_r_x"></p>
  584. </li>
  585. <li class="qdtj_li">
  586. <p class="qdtj_1">${res.data.delivery_count}</p>
  587. <p class="qdtj_2">交定量</p>
  588. <p class="qdtj_r_x"></p>
  589. </li>
  590. <li class="qdtj_li">
  591. <p class="qdtj_1">${res.data.delivery_grawth}</p>
  592. <p class="qdtj_2">交定率</p>
  593. <p class="qdtj_r_x"></p>
  594. </li>
  595. <li class="qdtj_li">
  596. <p class="qdtj_1">${res.data.order_count}</p>
  597. <p class="qdtj_2">合同量</p>
  598. <p class="qdtj_r_x"></p>
  599. </li>
  600. <li class="qdtj_li">
  601. <p class="qdtj_1">${res.data.order_grawth}</p>
  602. <p class="qdtj_2">合同率</p>
  603. <p class="qdtj_r_x"></p>
  604. </li>
  605. <li class="qdtj_li">
  606. <p class="qdtj_1">${res.data.maika_count}</p>
  607. <p class="qdtj_2">无忧量</p>
  608. </li>`;
  609. $('.qdtj_ul').html(lihtml);
  610. }
  611. });
  612. }
  613. form.on('submit(table-search)', function (data) {
  614. let field = data.field;
  615. let element = $('.layui-btn-primary');
  616. if (element && element[0]) {
  617. let el = element[0].value;
  618. }
  619. let option = {
  620. where: field
  621. , page: {
  622. curr: 1
  623. }
  624. };
  625. ajaxurls(field);
  626. //执行重载
  627. table.reload('tablelist', option);
  628. });
  629. //重置
  630. //重置
  631. $('#resetbtn').click(function () {
  632. $('#keyword').val('');
  633. $('#sDate').val('');
  634. $('#eDate').val('');
  635. $('#timeBtn input').attr('class', 'layui-btn');
  636. layui.form.render();
  637. let option = {
  638. where: {}
  639. , page: {
  640. curr: 1
  641. }
  642. };
  643. ajaxurls({});
  644. table.reload('tablelist', option);
  645. })
  646. })
  647. </script>
  648. {/block}