list.html 67 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957
  1. {extend name="public/layout"}
  2. {block name="body"}
  3. <link rel="stylesheet" href="__LAYUI__/layui/css/layui.css" media="all">
  4. <link rel="stylesheet" href=" /static/css/common.css">
  5. <script src="/static/js/jquery.min.js"></script>
  6. <style>
  7. html,body{
  8. height:99%;
  9. }
  10. .searchtitlebox {
  11. display: block;
  12. padding: 15px 10px;
  13. border: 1px solid #F0F0F0;
  14. background: #FCFCFC;
  15. margin-top: 5px;
  16. margin-bottom: 10px;
  17. /* position: relative; */
  18. min-width: 800px;
  19. }
  20. .searchbox {
  21. display: block;
  22. margin-top: 8px;
  23. text-align: center;
  24. }
  25. .searchbox input {
  26. display: inline-block;
  27. height: 26px;
  28. line-height: 26px;
  29. padding-left: 3px;
  30. vertical-align: middle;
  31. border: 2px solid #4479ba;
  32. }
  33. body {
  34. font-size: 12px;
  35. font-family: "宋体";
  36. padding-bottom: 40px;
  37. }
  38. .searchbtn {
  39. display: inline-block;
  40. float: right;
  41. border: none;
  42. width: 98px;
  43. height: 30px;
  44. color: #fff;
  45. font-size: 14px;
  46. font-weight: bold;
  47. text-align: center;
  48. background: url(__STATIC__/img/icon-sub.png) no-repeat;
  49. cursor: pointer;
  50. vertical-align: middle;
  51. }
  52. .selectbox {
  53. float: left;
  54. }
  55. .leftselect {
  56. float: left;
  57. height: 26px;
  58. line-height: 26px;
  59. }
  60. .selectbox select {
  61. float: left;
  62. height: 26px;
  63. }
  64. .searchtext {
  65. border: 1px solid #ccc;
  66. background: #fff url(__STATIC__/img/icon071402.png) no-repeat;
  67. padding: 1px 2px;
  68. height: 24px;
  69. line-height: 24px;
  70. vertical-align: middle;
  71. text-indent: 3px;
  72. margin-left: 4px;
  73. }
  74. .searchbtn1 {
  75. margin-left: 4px;
  76. cursor: pointer;
  77. color: #000;
  78. background: url(__STATIC__/img/btn_bg.gif) repeat-x;
  79. border: 1px solid #C0C0C0;
  80. padding: 0 12px;
  81. *padding: 0 6px;
  82. height: 26px;
  83. }
  84. .layui-table td,
  85. .layui-table th {
  86. font-size: 12px;
  87. }
  88. .layui-table th {
  89. font-weight: bold;
  90. }
  91. .dingjingorder {
  92. height: 25px;
  93. width: 40px;
  94. background-color: #65c001;
  95. color: #FFF;
  96. text-align: center;
  97. line-height: 25px;
  98. z-index: 100;
  99. display: block;
  100. position: absolute;
  101. top: 1px;
  102. right: 3px;
  103. border-radius: 11px;
  104. font-size: 12px;
  105. }
  106. .addvx {
  107. position: absolute;
  108. top: -5px;
  109. right: 1px;
  110. height: 14px;
  111. line-height: 14px;
  112. font-size: 16px;
  113. color: #666;
  114. font-family: "宋体";
  115. }
  116. .statebox {
  117. width: 40px;
  118. text-align: center;
  119. z-index: 100;
  120. display: block;
  121. position: absolute;
  122. font-size: 12px;
  123. top: -5px;
  124. right: 0px;
  125. border-radius: 0px;
  126. background: #4285f4;
  127. color: #efefef;
  128. height: 20px;
  129. line-height: 20px;
  130. }
  131. .layui-table-cell {
  132. overflow: initial;
  133. }
  134. #customer_detail {
  135. display: block;
  136. width: 435px;
  137. height: 100%;
  138. position: fixed;
  139. top: 0;
  140. left: 0;
  141. bottom: 0;
  142. }
  143. .rightbox {
  144. display: block;
  145. width: calc(100% - 435px);
  146. margin-left: 435px;
  147. }
  148. .unstatusbox {
  149. display: block;
  150. position: absolute;
  151. top: -5px;
  152. left: 0;
  153. width: 100%;
  154. height: 37px;
  155. background-color: #FF6600;
  156. text-align: center;
  157. color: #FFF;
  158. }
  159. .statusbox {
  160. position: absolute;
  161. top: 0px;
  162. right: 0px;
  163. color: #666;
  164. text-align: right;
  165. z-index: 100;
  166. display: block;
  167. font-size: 12px;
  168. }
  169. .layui-table-view .layui-form-checkbox {
  170. width: 16px;
  171. height: 16px;
  172. line-height: 16px;
  173. padding-right: 0;
  174. }
  175. .layui-table-view .layui-form-checkbox i {
  176. height: 16px;
  177. width: 16px;
  178. font-size: 14px;
  179. }
  180. .novisitlog {
  181. background-color: #9139db !important;
  182. color: #FFF;
  183. }
  184. .novisitlog a {
  185. color: #FFF;
  186. }
  187. .crmsearchlist {
  188. max-height: 760px;
  189. cursor: pointer;
  190. }
  191. .tablebox .layui-form.layui-border-box.layui-table-view {
  192. max-height: 760px !important;
  193. height: auto !important;
  194. }
  195. .layui-table-body {
  196. /* max-height: 670px !important; */
  197. height: auto !important;
  198. }
  199. .layui-table-view .layui-table td {
  200. cursor: pointer;
  201. overflow: hidden;
  202. }
  203. .layui-form-checked {
  204. background-color: #37AF6E;
  205. }
  206. .layui-table-view .layui-form-checked i {
  207. color: #fff;
  208. }
  209. .layui-table-cell{
  210. overflow:hidden;
  211. }
  212. .searchbox .layui-form-select{float:left;width:130px;}
  213. .searchbox input{border:1px solid #e6e6e6 !important;}
  214. .totalBox {
  215. width: 100%;
  216. height: 100px;
  217. border: 1px solid #f2f2f2;
  218. display: flex;
  219. align-items: center;
  220. }
  221. .totalBox > div {
  222. flex: 1;
  223. display: flex;
  224. flex-direction: column;
  225. align-items: center;
  226. justify-content: center;
  227. }
  228. .totalName {
  229. font-size: 16px;
  230. color: #999999;
  231. }
  232. .totalNum {
  233. font-size: 20px;
  234. font-weight: 600;
  235. }
  236. .totalline {
  237. flex: none !important;
  238. width: 1px !important;
  239. height: 50px !important;
  240. background-color: #f2f2f2;
  241. }
  242. .ml5 {
  243. margin-left: 5px;
  244. }
  245. .cursor {
  246. cursor: pointer;
  247. margin-bottom:8px;
  248. position: relative;
  249. }
  250. .cursor > .layui-form-select {
  251. width: 115px;
  252. display: inline-block;
  253. }
  254. .cursor > .layui-form-select > .layui-select-title {
  255. border: none;
  256. }
  257. .cursor > .layui-form-select > .layui-select-title > input {
  258. border: none;
  259. color: #333333;
  260. font-weight: 600;
  261. }
  262. /* .layui-table-fixed-r .layui-table-body {
  263. overflow: hidden !important;
  264. } */
  265. .relative {
  266. position: relative;
  267. }
  268. .lay-setting {
  269. position: absolute;
  270. right: 8px;
  271. top: 9px;
  272. z-index: 999 !important;
  273. cursor: pointer;
  274. }
  275. .lay-mask {
  276. width: 100%;
  277. height: 100%;
  278. background-color: rgba(0, 0, 0, 0.3);
  279. position: fixed;
  280. top: 0px;
  281. left: 0px;
  282. z-index: 9999 !important;
  283. }
  284. .lay-block {
  285. width: 400px;
  286. height: 100%;
  287. background-color: #fff;
  288. position: absolute;
  289. right: 0px;
  290. top: 0px;
  291. box-sizing: border-box;
  292. padding: 10px 10px 30px 10px;
  293. overflow: auto;
  294. }
  295. .lay-title {
  296. width: 100%;
  297. height: 40px;
  298. display: flex;
  299. align-items: center;
  300. justify-content: space-between;
  301. }
  302. .lay-title>span {
  303. font-size: 16px;
  304. color: #333333;
  305. font-weight: 600;
  306. }
  307. .lay-title>i {
  308. font-weight: 600;
  309. cursor: pointer;
  310. }
  311. .layui-content {
  312. width: 100%;
  313. height: auto;
  314. }
  315. .lay-item,.lay-item1 {
  316. width: 100%;
  317. height: 50px;
  318. /* display: flex;
  319. align-items: center;
  320. justify-content: space-between; */
  321. }
  322. .lay-item>div {
  323. display: flex;
  324. align-items: center;
  325. }
  326. .lay-item>div>span {
  327. margin-left: 6px;
  328. }
  329. .lay-item1>div {
  330. display: flex;
  331. align-items: center;
  332. }
  333. .lay-item1>div>span {
  334. margin-left: 6px;
  335. }
  336. .layui-table-main {
  337. min-height: 60vh;
  338. }
  339. .sort_lis01{float:left;}
  340. .sort_lis02{float:right;}
  341. .sort_time{overflow: hidden;}
  342. .layui-form-switch i{top:2px !important;}
  343. ::-webkit-scrollbar {
  344. width: auto;
  345. height: auto;
  346. }
  347. ::-webkit-scrollbar-thumb {
  348. border-radius: 10px;
  349. -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
  350. background: #DFDFDF;
  351. }
  352. ::-webkit-scrollbar-track {
  353. -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
  354. border-radius: 10px;
  355. background: #f5f5f5;
  356. }
  357. th .layui-table-cell{
  358. height: 38px;
  359. line-height: 38px;
  360. padding:0;
  361. overflow: unset;
  362. }
  363. .layui-table-header{
  364. overflow: visible;
  365. }
  366. .psinput{top:45px;left:50%;margin-left:-118px;width:236px;background: #fff;z-index: 999;position: absolute;box-shadow: 0 1px 10px #999;display: none;border-radius: 6px;overflow: visible;padding-top: 10px;}
  367. .dsa{width:100%;height: 100%;display:block;}
  368. .pdl12{padding-left:12px;}
  369. .search_btns{margin-top:11px;border-top:1px solid #ccc;}
  370. .search_btns div.button_{display: flex;width:80%;overflow: hidden;margin:0 auto;justify-content:space-between;}
  371. .scroll_body{overflow-x:auto;width:calc(100% - -17px)}
  372. .layui-table-body{overflow: visible;}
  373. .layui-form-select dl{z-index: 100;}
  374. .kwovsint{width:90%;height: 40px;display: block;border:1px solid #409EFF;border-radius: 6px;}
  375. .checkbox{width:20px;height: 20px;margin-top:15px;display: block;float:left;}
  376. .checkdeta{width:20px;height: 20px;margin-top:15px;display: block;float:left;}
  377. .psinput .layui-form-checkbox{display:block;float:left;width:20px;height: 20px;padding:0;}
  378. .psinput .layui-form-checkbox .layui-icon{display:block;float:left;width:20px !important;height: 20px !important;border: 1px solid #d2d2d2 !important;top:1px;}
  379. .psinput .layui-form-checkbox .layui-icon::before{position: absolute;top:2px;left:3px;font-size:14px;}
  380. .check_ul_list{max-height: 300px;overflow-y: auto;}
  381. .check_li{width:90%;margin:0 auto;overflow: hidden;}
  382. .check_li li{overflow: hidden;margin-bottom: 15px;}
  383. .check_name{float:left;line-height: 20px;font-size: 14px;margin-left:8px;}
  384. .dsnone .layui-form-checkbox{position: absolute;width: 25px;height: 28px;margin-top: 8px;visibility: hidden;}
  385. .button_ a{position:relative;}
  386. .triangle{width: 0; height: 0;float: left;border-bottom: 10px solid #fff;border-left: 10px solid transparent;border-right: 10px solid transparent;position: absolute;top: -10px;left: 50%;margin-left: -10px;}
  387. .psinput02{width:330px !important;margin-left: -165px !important;}
  388. .psinput02 .selecstDateBox{position: inherit !important;box-shadow:none;margin-top:5px;height: 80px !important;}
  389. .mapps{position: absolute;right:3%;top:15px;width:12px;}
  390. .selectDateBox {
  391. position: absolute;
  392. width: 330px;
  393. height: 100px;
  394. box-shadow: 0 2px 4px rgb(0 0 0 / 12%);
  395. background-color: #fff;
  396. z-index: 99999 !important;
  397. top: 45px;
  398. box-sizing: border-box;
  399. padding: 5px 8px;
  400. }
  401. .selecstDateBox {
  402. position: absolute;
  403. width: 330px;
  404. height: 100px;
  405. box-shadow: 0 2px 4px rgb(0 0 0 / 12%);
  406. background-color: #fff;
  407. z-index: 99999 !important;
  408. top: 45px;
  409. right: 0;
  410. box-sizing: border-box;
  411. padding: 5px 8px;
  412. }
  413. .date-flex,.date-flex1 {
  414. display: flex;
  415. align-items: center;
  416. }
  417. .date-box {
  418. padding: 15px 0px 10px;
  419. }
  420. .rightPosition {
  421. position: absolute;
  422. right: 5px;
  423. top: 8px;
  424. }
  425. .layui-form-select dl {
  426. z-index: 9999 !important;
  427. }
  428. .warnningStyle {
  429. background-color: #ffe9b3;
  430. color: #000 !important;
  431. }
  432. .dangerStyle {
  433. background-color: #fdafab;
  434. color: #000 !important;
  435. }
  436. .tipsMessage {
  437. display: inline-block;
  438. }
  439. .colorBlock1 {
  440. display: inline-block;
  441. background-color: #ffe9b3;
  442. width: 10px;
  443. height: 10px;
  444. }
  445. .colorBlock2 {
  446. display: inline-block;
  447. background-color: #fdafab;
  448. width: 10px;
  449. height: 10px;
  450. margin-left: 8px;
  451. }
  452. .layui-table-hovers {
  453. background-color: transparent !important;
  454. color: #333333 !important;
  455. }
  456. </style>
  457. <body class="clearfix">
  458. <iframe id="customer_detail" style="display: none;" src=""></iframe>
  459. <div class="crmbox">
  460. <form class="layui-form">
  461. <div class="searchtitlebox">
  462. <div class="cursor topStyle1 layui-hide">
  463. 您当前的操作 · <b>所有客户</b>
  464. <button class="searchbtn" type="button">添加新客户</button>
  465. </div>
  466. <div class="cursor topStyle2">
  467. 您当前的操作 ·
  468. <select name="search_type" lay-filter="search_type_element">
  469. <option value="1">客户报备统计</option>
  470. <option value="2">客户跟进统计</option>
  471. </select>
  472. <select name="is_assign" lay-filter="is_assign_element">
  473. <option value="">指派状态</option>
  474. <option value="1">已指派</option>
  475. <option value="2">未指派</option>
  476. </select>
  477. <div class="tipsMessage layui-hide">
  478. <div class="colorBlock1"></div>
  479. <span>3至7天未跟进</span>
  480. <div class="colorBlock2"></div>
  481. <span>7天及7天以上未跟进</span>
  482. </div>
  483. <button class="searchbtn" type="button">添加新客户</button>
  484. </div>
  485. </div>
  486. </form>
  487. <div class="crmsearchlist relative">
  488. <i class="layui-icon layui-icon-set-fill lay-setting"></i>
  489. <table lay-filter="crmsearchlist" id="crmsearchlist"></table>
  490. </div>
  491. </div>
  492. <!-- -->
  493. <div class="lay-mask layui-hide">
  494. <div class="lay-block">
  495. <div class="lay-title">
  496. <span>表格显示设置</span>
  497. <i class="layui-icon layui-icon-close"></i>
  498. </div>
  499. <div class="layui-content layui-form">
  500. </div>
  501. </div>
  502. </div>
  503. </body>
  504. <script src="__LAYUI__/layui/layui.js"></script>
  505. <script type="text/javascript" src="__STATIC__/js/Sortable.js"></script>
  506. {/block}{block name="js"}
  507. <script type="text/html" id="crmname">
  508. {{d.name?d.name:'未知'}}
  509. {{# if(d.jiaoding_time){ }}
  510. <span class="dingjingorder">定金</span>
  511. {{# }else{ }}
  512. {{# } }}
  513. </script>
  514. <script type="text/html" id="empname">
  515. {{# if(d.employee){ }}
  516. {{d.employee.name}}
  517. {{# if(d.add_wechat_time){ }}
  518. <img src="__STATIC__/img/wxchatad.png" width="14px" class="rightPosition" alt="">
  519. {{# }else{ }}
  520. {{# } }}
  521. {{# }else{ }}
  522. <span style="color: #cccccc;">无</span>
  523. {{# if(d.add_wechat_time){ }}
  524. <img src="__STATIC__/img/wxchatad.png" width="14px" class="rightPosition" alt="">
  525. {{# }else{ }}
  526. {{# } }}
  527. {{# } }}
  528. </script>
  529. <script type="text/html" id="square">
  530. {{# if(d.square>200){ }}
  531. <span style="font-weight: bold;color: #ff6600;">{{d.square}}</span>
  532. {{# }else if(d.square){ }}
  533. <span >{{d.square}}</span>
  534. {{# }else{ }}
  535. <span style="color: #cccccc;">无</span>
  536. {{# } }}
  537. </script>
  538. <script type="text/html" id="designer_name">
  539. {{# if(d.designer){ }}
  540. <span>{{d.designer.name}}</span>
  541. {{# }else{ }}
  542. <span style="color: #cccccc;">无</span>
  543. {{# } }}
  544. </script>
  545. <script type="text/html" id="source">
  546. {{# if(d.source){ }}
  547. <span>{{d.source.source}}</span>
  548. {{# }else{ }}
  549. <span style="color: #cccccc;">无</span>
  550. {{# } }}
  551. </script>
  552. <script type="text/html" id="status">
  553. {{# if(d.state=="待确认"){ }}
  554. <div class="unstatusbox" lay-event="unstatus">
  555. <input type="checkbox" class="redconfirm">
  556. <span class="statusbox">{{d.time_status?d.time_status:'-'}}</span>
  557. </div>
  558. {{# }else if(d.visit_log_count==0){ }}
  559. <span style="color: #cccccc;">{{d.time_status}}</span>
  560. {{# }else { }}
  561. <span>{{d.time_status}}</span>
  562. {{# } }}
  563. </script>
  564. <script type="text/html" id="community">
  565. {{d.community_name?d.community_name:''}}
  566. {{# if(d.into_owner_group){ }}
  567. <!-- <span class="dingjingorder jieshaokehu">求介绍</span> -->
  568. <img src="__STATIC__/img/jinqun.png" width="15px" class="rightPosition" alt="">
  569. {{# }else{ }}
  570. {{# } }}
  571. </script>
  572. <script type="text/html" id="editbox">
  573. {{# if(d.state=="待确认" && d.is_followup == 1){ }}
  574. <a style="display:inline-block;" lay-event="edit" href="javascript:void(0);">编辑</a>
  575. {{# }else { }}
  576. {{# if(d.is_followup == 1){ }}
  577. <a style="display:inline-block;" lay-event="editstate" href="javascript:void(0);">状态</a><span style="padding:0 4px;">/</span><a lay-event="edit" style="display:inline-block;" href="javascript:void(0);">编辑</a>
  578. {{# } }}
  579. {{# } }}
  580. </script>
  581. <script type="text/html" id="designer_nametpl">
  582. {{# if(d.designer){ }}
  583. <span>{{d.designer.name}}</span>
  584. {{# }else{ }}
  585. <span style="color: #cccccc;">无</span>
  586. {{# } }}
  587. </script>
  588. <script type="text/html" id="employee_nametpl">
  589. {{# if(d.employee){ }}
  590. <span>{{d.employee.name}}</span>
  591. {{# }else{ }}
  592. <span style="color: #cccccc;">无</span>
  593. {{# } }}
  594. </script>
  595. <script type="text/html" id="phone">
  596. <div>
  597. {{# if(d.phone){ }}
  598. <div>{{d.phone}}</div>
  599. {{# } }}
  600. {{# if(d.phone1){ }}
  601. <p>{{d.phone1}}</p>
  602. {{# } }}
  603. {{# if(d.phone2){ }}
  604. <p>{{d.phone2}}</p>
  605. {{# } }}
  606. </div>
  607. </script>
  608. <script type="text/html" id="stateTpl">
  609. {{# if(d.allstate){ }}
  610. <span>{{d.allstate}}</span>
  611. {{# }else{ }}
  612. <span style="color: #cccccc;">无</span>
  613. {{# } }}
  614. </script>
  615. <script type="text/html" id="level">
  616. {{# if(d.level){ }}
  617. <span>{{d.level}}</span>
  618. {{# }else{ }}
  619. <span style="color: #cccccc;">无</span>
  620. {{# } }}
  621. </script>
  622. <script type="text/html" id="last_contact_date">
  623. {{# if(d.last_contact_date){ }}
  624. <span>{{d.last_contact_date}}</span>
  625. {{# }else{ }}
  626. <span style="color: #cccccc;">无</span>
  627. {{# } }}
  628. </script>
  629. <script type="text/html" id="revisit_time">
  630. {{# if(d.revisit_time){ }}
  631. {{# if(d.revisit_time =='0000-00-00'){ }}
  632. <span style="color: #cccccc;">无</span>
  633. {{# }else{ }}
  634. <span>{{d.revisit_time}}</span>
  635. {{# } }}
  636. {{# }else{ }}
  637. <span style="color: #cccccc;">无</span>
  638. {{# } }}
  639. </script>
  640. <script type="text/html" id="protectTpl">
  641. {{# if(d.protected_to){ }}
  642. <span>{{d.protected_to}}</span>
  643. {{# }else{ }}
  644. <span style="color: #cccccc;">无</span>
  645. {{# } }}
  646. </script>
  647. <script type="text/javascript">
  648. var reload = null, resizefun = null;
  649. layui.config({
  650. base: '__LAYUI__/',
  651. urlbase: '/sys'
  652. }).extend({
  653. index: 'lib/index' //主入口模块
  654. }).use(['table','form','laydate'], function () {
  655. var table = layui.table,
  656. laydate = layui.laydate,
  657. $ = layui.$;
  658. form = layui.form,
  659. fType = 1,
  660. is_assign = 0,
  661. firstloading = 0;
  662. var field = {
  663. 'name' : '',
  664. 'source_name' : '',
  665. 'designer_name' : '',
  666. 'level' : '',
  667. 'state' : '',
  668. 'addtime' : '',
  669. 'followtime' : '',
  670. 'employee_name' : '',
  671. 'square' : ''
  672. };
  673. var controlColor = "{$need_follow_tips}";
  674. if (controlColor == 1) {
  675. $(".tipsMessage").removeClass('layui-hide');
  676. }
  677. var is_manager = "{$is_manager}";
  678. if (is_manager != 1) {
  679. $('.totalBox').addClass('layui-hide');
  680. $('.topStyle1').removeClass('layui-hide');
  681. $('.topStyle2').addClass('layui-hide');
  682. }
  683. var dateObj = {};
  684. setDate();
  685. function setDate() {
  686. let date = new Date();
  687. let year = date.getFullYear();
  688. let month = date.getMonth() + 1;
  689. let day = date.getDate();
  690. let lastDate = new Date(new Date().getTime() - (1 * 24 * 60 * 60 * 1000));
  691. let lastYear = lastDate.getFullYear();
  692. let lastMonth = lastDate.getMonth() + 1;
  693. let lastDay = lastDate.getDate();
  694. let weekObj = getMondayAndSunday();
  695. let monthObj = getMonthFirstDayAndLastDay();
  696. dateObj = {
  697. today: `${year}/${month}/${day}`,
  698. yesterday: `${lastYear}/${lastMonth}/${lastDay}`,
  699. ...weekObj,
  700. ...monthObj
  701. }
  702. }
  703. function getMondayAndSunday() {
  704. var today = new Date();
  705. //构建当前日期,格式:2022-08-22 00:00:00
  706. var year = today.getFullYear(); //本年
  707. var month = today.getMonth() + 1; //本月
  708. var day = today.getDate(); //本日
  709. var newDate = new Date(year + "/" + month + "/" + day + " 00:00:00"); //年月日拼接
  710. var nowTime = newDate.getTime(); //当前的时间戳
  711. var weekDay = newDate.getDay(); //当前星期 0.1.2.3.4.5.6 【0 = 周日】
  712. var oneDayTime = 24 * 60 * 60 * 1000; //一天的总ms
  713. // 当前星期减去天数,如今天为周五,则本周一为周五的时间戳减去4天的时间戳。但周日特殊,周一至周六是周几的到的weekDay就是几,但是周日的到的为0,需特殊处理
  714. var thisWeekMondayTime = (1 - weekDay) * oneDayTime + nowTime; //本周一的时间戳
  715. if (weekDay == 0) {
  716. // weekDay = 0 为周日,此时本周一时间为周日减去6天的时间
  717. thisWeekMondayTime = nowTime - 6 * oneDayTime
  718. }
  719. var thisWeekSundayTime = thisWeekMondayTime + 6 * 24 * 60 * 60 * 1000 // 本周日
  720. var lastWeekMondayTime = thisWeekMondayTime - 7 * oneDayTime // 上周一
  721. var lastWeekSundayTime = thisWeekMondayTime - oneDayTime // 上周日
  722. var res = {
  723. thisWeekMonday: dateToYYYYMMDD(thisWeekMondayTime),
  724. thisWeekSunday: dateToYYYYMMDD(thisWeekSundayTime),
  725. lastWeekMonday: dateToYYYYMMDD(lastWeekMondayTime),
  726. lastWeekSunday: dateToYYYYMMDD(lastWeekSundayTime),
  727. }
  728. return res;
  729. }
  730. function getMonthFirstDayAndLastDay() {
  731. var date = new Date()
  732. // 值得注意的是,如果day取值为0,意味着取的是date时间的上一个月的最后一天,简单理解:date当前月的第一天,再减去一天
  733. var thisMonthFirstDay = date.setDate(1) // 本月第一天
  734. var thisMonthLastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0) // 本月最后一天
  735. var lastMonthFirstDay = new Date(date.getFullYear(), date.getMonth() - 1, 1) // 上月第一天
  736. var lastMonthLastDay = date.setDate(0) // 上月最后一天
  737. // var day = new Date(date.getFullYear(), date.getMonth(), 0).getDate()
  738. // var lastMonthLastDay = new Date(date.getFullYear(), date.getMonth() - 1, day) // 上月最后一天
  739. var res = {
  740. thisMonthFirstDay: dateToYYYYMMDD(thisMonthFirstDay),
  741. thisMonthLastDay: dateToYYYYMMDD(thisMonthLastDay),
  742. lastMonthFirstDay: dateToYYYYMMDD(lastMonthFirstDay),
  743. lastMonthLastDay: dateToYYYYMMDD(lastMonthLastDay),
  744. }
  745. return res
  746. }
  747. function dateToYYYYMMDD(date) {
  748. var time = new Date(date);
  749. var y = time.getFullYear();
  750. var m = (time.getMonth() + 1);
  751. m = m > 9 ? m : '0' + m;
  752. var d = time.getDate();
  753. d = d > 9 ? d : '0' + d;
  754. return y + "/" + m + "/" + d;
  755. }
  756. if (window.performance) {
  757. localStorage.setItem('data','');
  758. }
  759. window.parent.reloadFun = function() {
  760. firstloading = 0;
  761. table.reload('crmsearchlist', { where: field }, true);
  762. }
  763. ajaxlist();
  764. function ajaxlist(){
  765. $.ajax({
  766. type: "post",
  767. url: '{:url("community/poolFieldsList")}',
  768. data: {
  769. type: 1
  770. },
  771. success: function (res) {
  772. if(res.code == 0){
  773. data = res.data;
  774. tableData = data;
  775. var cols =[[]];
  776. $.each(data,function(key,val){
  777. if (key == 'name') {
  778. cols[0].push({field:key,title:val['name'],minWidth: 120,align:'center',show:val['show'],fixed: "left"});
  779. } else if (key == 'square' && val['show']==1) {
  780. cols[0].push({field:key,title:val['name'],minWidth: 100,align:'center',show:val['show'],templet: function(res) {
  781. if (res.square > 180) {
  782. return `<span style="color:red;">${res.square}</span>`;
  783. } else {
  784. return `<span>${res.square}</span>`;
  785. }
  786. }});
  787. } else if (key == 'last_contact_date' && val['show']==1) {
  788. cols[0].push({field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  789. } else if (key == 'addtime' && val['show']==1) {
  790. cols[0].push({field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  791. } else if (key == 'protected_to' && val['show']==1) {
  792. cols[0].push({field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  793. } else if (key == 'fisttime' && val['show']==1) {
  794. cols[0].push({field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  795. } else if (key == 'jiaoding_time' && val['show']==1) {
  796. cols[0].push({field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  797. } else if (key == 'qiandan_time' && val['show']==1) {
  798. cols[0].push({field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  799. } else if (key == 'community_name' && val['show']==1) {
  800. cols[0].push({templet: "#community",field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  801. } else if (key == 'employee_name' && val['show']==1) {
  802. cols[0].push({templet: "#empname",field:key,title:val['name'],minWidth: 160,align:'center',show:val['show']});
  803. } else {
  804. if (val['show']==1) {
  805. cols[0].push({field:key,title:val['name'],minWidth: 120,align:'center',show:val['show']});
  806. }
  807. }
  808. })
  809. cols[0].push({field: 'time_status', title: '跟进状态',minWidth: 100,align:'center',templet: '#status',})
  810. cols[0].push({title: '操作',width: 100, align:'center', templet: '#editbox',fixed: "right"});
  811. cols[0].push({title:'',width: 30,align:'center',fixed: "right"})
  812. let url = '{:url("community/list")}';
  813. table.render({
  814. elem: '#crmsearchlist',
  815. url: url,
  816. cols: cols,
  817. page: true,
  818. limits: [17],
  819. limit: 17, //每页默认显示的数量,
  820. height: 'full-120',
  821. text: '对不起,加载出现异常!',
  822. done: function (res, curr, count) {
  823. searchHtmlBody(curr);
  824. if (controlColor == 1) {
  825. $.each(res.data, function (index, item) {
  826. if (item.no_visit_day >= 3 && item.no_visit_day < 7) {
  827. $('.layui-table').find('tr[data-index="' + index + '"]').addClass('warnningStyle');
  828. } else if (item.no_visit_day >= 7) {
  829. $('.layui-table').find('tr[data-index="' + index + '"]').addClass('dangerStyle');
  830. }
  831. })
  832. $('tr').hover(function(){
  833. let idx = $(this).prop('dataset').index;
  834. if (idx || idx == 0) {
  835. $('.layui-table').find('tr[data-index="' + idx + '"]').addClass('layui-table-hovers');
  836. }
  837. },function(){
  838. let idx = $(this).prop('dataset').index;
  839. if (idx || idx == 0) {
  840. $('.layui-table').find('tr[data-index="' + idx + '"]').removeClass('layui-table-hovers');
  841. }
  842. })
  843. }
  844. }
  845. });
  846. }else if(res.code==403){
  847. $(".exitbtn").trigger("click");
  848. }
  849. }
  850. });
  851. }
  852. $('.lay-setting').click(function() {
  853. let arr = [];
  854. $.each(data,function(key,val){
  855. arr.push({...val,field: key});
  856. })
  857. renderTableSwitch(arr,1);
  858. $('.lay-mask').removeClass('layui-hide');
  859. })
  860. $('.layui-icon-close').click(function () {
  861. $('.lay-mask').addClass('layui-hide');
  862. })
  863. $('.lay-block').click(function(e) {
  864. e.stopPropagation();
  865. })
  866. $('.lay-mask').click(function() {
  867. $(this).addClass('layui-hide');
  868. })
  869. function renderTableSwitch(data,types) {
  870. let htmls = data.map((item, index) => {
  871. return `<div class="sort_time ${item.field=='name'?'lay-item1':'lay-item'}">
  872. <div class="sort_lis01">
  873. <img style="display:${types==5||item.field=='name'?'none':'block'}" src="__STATIC__/img/sorticon.png" width="16px" alt="">
  874. <span>${item.name}</span>
  875. </div>
  876. <div class="sort_lis02 ${item.field=='name'?'hideclass':''}">
  877. <input type="checkbox" ${item.field=='name'?'disabled':''} lay-filter="tableSort" ${item.show == 1 && item.field!=='name'? 'checked' : ''} name="${item.field}" lay-skin="switch">
  878. </div>
  879. </div>`;
  880. }).join('');
  881. $('.layui-content').html(htmls);
  882. setTimeout(() => {
  883. form.render();
  884. var check='';
  885. var names='';
  886. $('.hideclass').find('.layui-checkbox-disbaled').removeClass('layui-form-onswitch');
  887. form.on('switch(tableSort)', function (data) {
  888. getdatalist(types);
  889. })
  890. if(types != 5){
  891. new Sortable($('.layui-content')[0], {
  892. handle: '.lay-item', // handle's class
  893. animation: 150,
  894. // 结束拖拽
  895. onEnd: function (/**Event*/evt) {
  896. getdatalist(types,0);
  897. },
  898. });
  899. }
  900. }, 300)
  901. }
  902. function getdatalist(types){
  903. let getCheckedField = $('.sort_time');
  904. let itemArr = [];
  905. let check;
  906. getCheckedField.each(function (i) {
  907. let ischeck = $(this).find('input').prop("checked");
  908. if(ischeck){
  909. check = 1
  910. }else{
  911. check = 0
  912. }
  913. let names = $(this).find('input').attr('name');
  914. itemArr.push({name:names, show: check, sort: i + 1 });
  915. })
  916. var datajson = JSON.stringify(itemArr);
  917. $.ajax({
  918. type: "post",
  919. url: '{:url("community/poolFieldsSet")}',
  920. data: {
  921. type: types,
  922. content:datajson
  923. },
  924. success: function (res) {
  925. if(res.code==403){
  926. $(".exitbtn").trigger("click");
  927. }
  928. firstloading = 0;
  929. ajaxlist();
  930. }
  931. })
  932. }
  933. var selHtml = `<div class="wpsa psinput">
  934. <div class="triangle"></div>
  935. <form class="layui-form">
  936. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  937. <div class="check_li">
  938. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  939. <span class="checkAlls">全选</span>
  940. <span style="margin:0 10px;">/</span>
  941. <span class="nocheckAlls">清除</span>
  942. </div>
  943. <ul class="check_ul_list">
  944. <li class="check_li_">
  945. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="1">
  946. <p class="check_name">资源库</p>
  947. </li>
  948. <li class="check_li_">
  949. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="2">
  950. <p class="check_name">自建</p>
  951. </li>
  952. <li class="check_li_">
  953. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="3">
  954. <p class="check_name">活动</p>
  955. </li>
  956. <li class="check_li_">
  957. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="4">
  958. <p class="check_name">装修推荐官</p>
  959. </li>
  960. </ul>
  961. </div>
  962. <div class="search_btns">
  963. <div class="button_">
  964. <a class="submitbtn">确定</a>
  965. <a class="dsnonebtn">取消</a>
  966. </div>
  967. </div>
  968. </form>
  969. </div>`;
  970. var source_nameHtml = `<div class="wpsa psinput">
  971. <div class="triangle"></div>
  972. <form class="layui-form">
  973. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  974. <div class="check_li">
  975. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  976. <span class="checkAlls">全选</span>
  977. <span style="margin:0 10px;">/</span>
  978. <span class="nocheckAlls">清除</span>
  979. </div>
  980. <ul class="check_ul_list">
  981. {volist name="soudata" id="vo"}
  982. <li class="check_li_">
  983. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="{$vo.id}">
  984. <p class="check_name">{$vo.name}</p>
  985. </li>
  986. {/volist}
  987. </ul>
  988. </div>
  989. <div class="search_btns">
  990. <div class="button_">
  991. <a class="submitbtn">确定</a>
  992. <a class="dsnonebtn">取消</a>
  993. </div>
  994. </div>
  995. </form>
  996. </div>`;
  997. var employee_nameHtml = `<div class="wpsa psinput">
  998. <div class="triangle"></div>
  999. <form class="layui-form">
  1000. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1001. <div class="check_li">
  1002. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1003. <span class="checkAlls">全选</span>
  1004. <span style="margin:0 10px;">/</span>
  1005. <span class="nocheckAlls">清除</span>
  1006. </div>
  1007. <ul class="check_ul_list">
  1008. {volist name="employee_list" id="vo"}
  1009. <li class="check_li_">
  1010. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="{$vo.id}">
  1011. <p class="check_name">{$vo.name}</p>
  1012. </li>
  1013. {/volist}
  1014. </ul>
  1015. </div>
  1016. <div class="search_btns">
  1017. <div class="button_">
  1018. <a class="submitbtn">确定</a>
  1019. <a class="dsnonebtn">取消</a>
  1020. </div>
  1021. </div>
  1022. </form>
  1023. </div>`;
  1024. var designer_nameHtml = `<div class="wpsa psinput">
  1025. <div class="triangle"></div>
  1026. <form class="layui-form">
  1027. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1028. <div class="check_li">
  1029. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1030. <span class="checkAlls">全选</span>
  1031. <span style="margin:0 10px;">/</span>
  1032. <span class="nocheckAlls">清除</span>
  1033. </div>
  1034. <ul class="check_ul_list">
  1035. {volist name="designers.arr" id="vo"}
  1036. <li class="check_li_">
  1037. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="{$vo.id}">
  1038. <p class="check_name">{$vo.name}</p>
  1039. </li>
  1040. {/volist}
  1041. </ul>
  1042. </div>
  1043. <div class="search_btns">
  1044. <div class="button_">
  1045. <a class="submitbtn">确定</a>
  1046. <a class="dsnonebtn">取消</a>
  1047. </div>
  1048. </div>
  1049. </form>
  1050. </div>`;
  1051. var levelHtml = `<div class="wpsa psinput">
  1052. <div class="triangle"></div>
  1053. <form class="layui-form">
  1054. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1055. <div class="check_li">
  1056. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1057. <span class="checkAlls">全选</span>
  1058. <span style="margin:0 10px;">/</span>
  1059. <span class="nocheckAlls">清除</span>
  1060. </div>
  1061. <ul class="check_ul_list">
  1062. {volist name="level" id="vo"}
  1063. <li class="check_li_">
  1064. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="{$vo.name}">
  1065. <p class="check_name">{$vo.name}</p>
  1066. </li>
  1067. {/volist}
  1068. </ul>
  1069. </div>
  1070. <div class="search_btns">
  1071. <div class="button_">
  1072. <a class="submitbtn">确定</a>
  1073. <a class="dsnonebtn">取消</a>
  1074. </div>
  1075. </div>
  1076. </form>
  1077. </div>`;
  1078. var stateHtml = `<div class="wpsa psinput">
  1079. <div class="triangle"></div>
  1080. <form class="layui-form">
  1081. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1082. <div class="check_li">
  1083. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1084. <span class="checkAlls">全选</span>
  1085. <span style="margin:0 10px;">/</span>
  1086. <span class="nocheckAlls">清除</span>
  1087. </div>
  1088. <ul class="check_ul_list">
  1089. {if $xinjushang}
  1090. <li class="check_li_">
  1091. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="待确认">
  1092. <p class="check_name">待确认</p>
  1093. </li>
  1094. <li class="check_li_">
  1095. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="有效">
  1096. <p class="check_name">有效线索</p>
  1097. </li>
  1098. <li class="check_li_">
  1099. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="未到访">
  1100. <p class="check_name">未到访</p>
  1101. </li>
  1102. <li class="check_li_">
  1103. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已量房">
  1104. <p class="check_name">已量房</p>
  1105. </li>
  1106. <li class="check_li_">
  1107. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已到店">
  1108. <p class="check_name">已到店</p>
  1109. </li>
  1110. <li class="check_li_">
  1111. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已到场">
  1112. <p class="check_name">已到场</p>
  1113. </li>
  1114. <li class="check_li_">
  1115. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已交定">
  1116. <p class="check_name">定金</p>
  1117. </li>
  1118. <li class="check_li_">
  1119. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已签单">
  1120. <p class="check_name">合同</p>
  1121. </li>
  1122. {else /}
  1123. <li class="check_li_">
  1124. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="待确认">
  1125. <p class="check_name">待确认</p>
  1126. </li>
  1127. <li class="check_li_">
  1128. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="有效">
  1129. <p class="check_name">有效线索</p>
  1130. </li>
  1131. <li class="check_li_">
  1132. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="未到访">
  1133. <p class="check_name">未到访</p>
  1134. </li>
  1135. <li class="check_li_">
  1136. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已量房">
  1137. <p class="check_name">已量房</p>
  1138. </li>
  1139. <li class="check_li_">
  1140. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已到店">
  1141. <p class="check_name">已到店</p>
  1142. </li>
  1143. <li class="check_li_">
  1144. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已到场">
  1145. <p class="check_name">已到场</p>
  1146. </li>
  1147. <li class="check_li_">
  1148. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已签单">
  1149. <p class="check_name">定金</p>
  1150. </li>
  1151. <li class="check_li_">
  1152. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="已转单">
  1153. <p class="check_name">合同</p>
  1154. </li>
  1155. {/if}
  1156. </ul>
  1157. </div>
  1158. <div class="search_btns">
  1159. <div class="button_">
  1160. <a class="submitbtn">确定</a>
  1161. <a class="dsnonebtn">取消</a>
  1162. </div>
  1163. </div>
  1164. </form>
  1165. </div>`;
  1166. var selHtml2 = `<div class="wpsa psinput">
  1167. <div class="triangle"></div>
  1168. <form class="layui-form dsa" onsubmit="return false;">
  1169. <input class="pdl12 kwovsint" id="kwovsint" placeholder="输入关键字....." type="text" id=""/>
  1170. <div class="search_btns">
  1171. <div class="button_">
  1172. <a class="submitbtn">确定</a>
  1173. <a class="resetbtn">重置</a>
  1174. </div>
  1175. </div>
  1176. </form>
  1177. </div>`;
  1178. var selHtml3 = `<div class="wpsa psinput">
  1179. <div class="triangle"></div>
  1180. <form class="layui-form">
  1181. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1182. <div class="check_li" style="padding-top:20px;">
  1183. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1184. <span class="checkAlls">全选</span>
  1185. <span style="margin:0 10px;">/</span>
  1186. <span class="nocheckAlls">清除</span>
  1187. </div>
  1188. <ul class="check_ul_list">
  1189. <li class="check_li_">
  1190. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="1">
  1191. <p class="check_name">3~7天未跟进</p>
  1192. </li>
  1193. <li class="check_li_">
  1194. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="2">
  1195. <p class="check_name">8~14天未跟进</p>
  1196. </li>
  1197. <li class="check_li_">
  1198. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="3">
  1199. <p class="check_name">15~30天未跟进</p>
  1200. </li>
  1201. <li class="check_li_">
  1202. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="4">
  1203. <p class="check_name">30天以上未跟进</p>
  1204. </li>
  1205. </ul>
  1206. </div>
  1207. <div class="search_btns">
  1208. <div class="button_">
  1209. <a class="submitbtn">确定</a>
  1210. <a class="dsnonebtn">取消</a>
  1211. </div>
  1212. </div>
  1213. </form>
  1214. </div>`;
  1215. var mianjiHtml = `<div class="wpsa psinput">
  1216. <div class="triangle"></div>
  1217. <form class="layui-form">
  1218. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1219. <div class="check_li">
  1220. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1221. <span class="checkAlls">全选</span>
  1222. <span style="margin:0 10px;">/</span>
  1223. <span class="nocheckAlls">清除</span>
  1224. </div>
  1225. <ul class="check_ul_list">
  1226. <li class="check_li_">
  1227. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="1">
  1228. <p class="check_name">80m²以下</p>
  1229. </li>
  1230. <li class="check_li_">
  1231. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="2">
  1232. <p class="check_name">81-100m²</p>
  1233. </li>
  1234. <li class="check_li_">
  1235. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="3">
  1236. <p class="check_name">101-120m²</p>
  1237. </li>
  1238. <li class="check_li_">
  1239. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="4">
  1240. <p class="check_name">121-200²</p>
  1241. </li>
  1242. <li class="check_li_">
  1243. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="5">
  1244. <p class="check_name">201-500m²</p>
  1245. </li>
  1246. <li class="check_li_">
  1247. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall03" value="6">
  1248. <p class="check_name">500m²以上</p>
  1249. </li>
  1250. </ul>
  1251. </div>
  1252. <div class="search_btns">
  1253. <div class="button_">
  1254. <a class="submitbtn">确定</a>
  1255. <a class="dsnonebtn">取消</a>
  1256. </div>
  1257. </div>
  1258. </form>
  1259. </div>`;
  1260. var detatime = `<div class="wpsa psinput psinput02">
  1261. <div class="triangle"></div>
  1262. <form class="layui-form dsa" onsubmit="return false;">
  1263. <div data-type="" class="selecstDateBox">
  1264. <div data-type="" class="date-flex1">
  1265. <div data-type="today" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">今日
  1266. </div>
  1267. <div data-type="yesterday" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">昨日</div>
  1268. <div data-type="week" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">本周
  1269. </div>
  1270. <div data-type="lastWeek" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">上周</div>
  1271. <div data-type="month" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">本月
  1272. </div>
  1273. <div data-type="lastMonth" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">上月</div>
  1274. <div data-type="all" class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs">累计</div>
  1275. </div>
  1276. <div data-type="" class="date-box">
  1277. <input type="text" id="select_sDate" placeholder="选择开始时间 - 结束时间" readonly autocomplete="off" class="layui-input select_sDate">
  1278. </div>
  1279. </div>
  1280. <div class="search_btns">
  1281. <div class="button_">
  1282. <a class="submitbtn">确定</a>
  1283. <a class="resetbtn">重置</a>
  1284. </div>
  1285. </div>
  1286. </form>
  1287. </div>`;
  1288. var assignemp_nameHtml = `<div class="wpsa psinput">
  1289. <div class="triangle"></div>
  1290. <form class="layui-form">
  1291. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1292. <div class="check_li">
  1293. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1294. <span class="checkAlls">全选</span>
  1295. <span style="margin:0 10px;">/</span>
  1296. <span class="nocheckAlls">清除</span>
  1297. </div>
  1298. <ul class="check_ul_list">
  1299. {volist name="assignemp_list" id="vo"}
  1300. <li class="check_li_">
  1301. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="{$vo.id}">
  1302. <p class="check_name">{$vo.name}</p>
  1303. </li>
  1304. {/volist}
  1305. </ul>
  1306. </div>
  1307. <div class="search_btns">
  1308. <div class="button_">
  1309. <a class="submitbtn">确定</a>
  1310. <a class="dsnonebtn">取消</a>
  1311. </div>
  1312. </div>
  1313. </form>
  1314. </div>`;
  1315. var emporg = `<div class="wpsa psinput">
  1316. <div class="triangle"></div>
  1317. <form class="layui-form">
  1318. <input class="pdl12 kwovsint" id="select_check" placeholder="输入关键字....." type="text" id=""/>
  1319. <div class="check_li">
  1320. <div style="overflow:hidden;padding-bottom:5px;text-align: left;">
  1321. <span class="checkAlls">全选</span>
  1322. <span style="margin:0 10px;">/</span>
  1323. <span class="nocheckAlls">清除</span>
  1324. </div>
  1325. <ul class="check_ul_list">
  1326. {volist name="emporg_list" id="vo"}
  1327. <li class="check_li_">
  1328. <input class="checkbox" type="checkbox" name="check_m" lay-filter="checkall02" value="{$vo.id}">
  1329. <p class="check_name">{$vo.name}</p>
  1330. </li>
  1331. {/volist}
  1332. </ul>
  1333. </div>
  1334. <div class="search_btns">
  1335. <div class="button_">
  1336. <a class="submitbtn">确定</a>
  1337. <a class="dsnonebtn">取消</a>
  1338. </div>
  1339. </div>
  1340. </form>
  1341. </div>`;
  1342. var xinjushang = '{$xinjushang}';
  1343. function searchHtmlBody(pages){
  1344. setTimeout(function(){
  1345. $('body').find('.layui-table-header').find("tr").each(function(index,val){
  1346. apphtml02($(this),'th[data-field="name"]','客户姓名',selHtml2,'name','ishtml2');
  1347. apphtml02($(this),'th[data-field="phone"]','手机号',selHtml2,'phone','ishtml2');
  1348. apphtml02($(this),'th[data-field="employee_name"]','所属员工',employee_nameHtml,'employee_name','ishtml1');
  1349. apphtml02($(this),'th[data-field="designer_name"]','设计师',designer_nameHtml,'designer_name','ishtml1');
  1350. apphtml02($(this),'th[data-field="source_name"]','来源渠道',source_nameHtml,'source_name','ishtml1');
  1351. apphtml02($(this),'th[data-field="community_name"]','小区名称',selHtml2,'community_name','ishtml2');
  1352. apphtml02($(this),'th[data-field="customer_type"]','客户种类',selHtml,'customer_type','ishtml1');
  1353. apphtml02($(this),'th[data-field="square"]','面积',mianjiHtml,'square','ishtml1');
  1354. apphtml02($(this),'th[data-field="level"]','重要',levelHtml,'level','ishtml1');
  1355. apphtml02($(this),'th[data-field="state"]','状态',stateHtml,'state','ishtml1');
  1356. apphtml02($(this),'th[data-field="assign_list"]','指派客户经理',assignemp_nameHtml,'assign_list','ishtml1');
  1357. apphtml02($(this),'th[data-field="sign_time"]','报名时间',detatime,'sign_time','detatime');
  1358. apphtml02($(this),'th[data-field="last_contact_date"]','跟进时间',detatime,'last_contact_date','detatime');
  1359. apphtml02($(this),'th[data-field="subscribe_date"]','预计见面时间',detatime,'subscribe_date','detatime');
  1360. apphtml02($(this),'th[data-field="revisit_time"]','下次回访时间',detatime,'revisit_time','detatime');
  1361. apphtml02($(this),'th[data-field="addtime"]','添加时间',detatime,'addtime','detatime');
  1362. apphtml02($(this),'th[data-field="first_liangfang"]','首次量房时间',detatime,'first_liangfang','detatime');
  1363. apphtml02($(this),'th[data-field="add_wechat_time"]','加微时间',detatime,'add_wechat_time','detatime');
  1364. apphtml02($(this),'th[data-field="fisttime"]','首次到店时间',detatime,'fisttime','detatime');
  1365. apphtml02($(this),'th[data-field="jiaoding_time"]','交定时间',detatime,'jiaoding_time','detatime');
  1366. apphtml02($(this),'th[data-field="qiandan_time"]','合同时间',detatime,'qiandan_time','detatime');
  1367. apphtml02($(this),'th[data-field="house_delivery_time"]','交房时间',detatime,'house_delivery_time','detatime');
  1368. apphtml02($(this),'th[data-field="no_visit_day"]','未跟进天数',selHtml3,'no_visit_day','ishtml1');
  1369. apphtml02($(this),'th[data-field="emporg"]','业务员部门',emporg,'emporg','ishtml1');
  1370. $(this).find('th[data-field="name"]').find('.psinput').css({'left':0,'marginLeft':0})
  1371. $(this).find('th[data-field="name"]').find('.triangle').css({'left':'25%'})
  1372. })
  1373. if(pages==1 && firstloading < 1){
  1374. firstloading++;
  1375. $('.layui-table-body:eq(0),.layui-table-header:eq(0)').wrapAll("<div class='scroll_body'></div>");
  1376. }
  1377. if(localStorage.getItem('data')){
  1378. var bodyjson = JSON.parse(localStorage.getItem('data'));
  1379. var listarr = [];
  1380. if(bodyjson){
  1381. $.each(bodyjson,function(i,v){
  1382. if(v){
  1383. listarr.push(v);
  1384. $('body').find('.layui-table-header').find("tr th").each(function(n,va){
  1385. if(i==$(this).data('field')){
  1386. $('body').find('.layui-table-header').find("tr th").eq(n).find('img.mapps').attr('src','__STATIC__/img/search_ico02.png');
  1387. if(i=='name'||i=='phone'||i=='community_name'){
  1388. $('body').find('.layui-table-header').find("tr th").eq(n).find('.kwovsint').val(v);
  1389. }else if(i=='sign_time'||i=='house_delivery_time'||i=='last_contact_date'||i=='fisttime'||i=='first_liangfang'||i=='subscribe_date'||i=='revisit_time'||i=='addtime'||i=='jiaoding_time'||i=='qiandan_time'){
  1390. $('body').find('.layui-table-header').find("tr th").eq(n).find('.select_sDate').val(v);
  1391. }else{
  1392. $.each(listarr,function(s,vv){
  1393. var checkarrs = listarr[s].split(',');
  1394. $.each(checkarrs,function(iiii,vvvv){
  1395. $('body').find('.layui-table-header').find("tr th").eq(n).find('.check_ul_list li').each(function(ii,vvv){
  1396. if(vvvv==$(this).find('input').val()){
  1397. $('body').find('.layui-table-header').find("tr th").eq(n).find('.check_ul_list li').eq(ii).find('input[type="checkbox"]').prop('checked',true)
  1398. }
  1399. })
  1400. })
  1401. })
  1402. }
  1403. }
  1404. })
  1405. }
  1406. })
  1407. }
  1408. form.render('checkbox');
  1409. }
  1410. },100)
  1411. function apphtml02(this_,obj,names,htmlbox,idarr,is_html){
  1412. this_.find(obj).find('div').eq(0).empty();
  1413. this_.find(obj).addClass('is_show');
  1414. this_.find(obj).find('div.layui-table-cell').eq(0).prepend('<span class="btnbtn5 dsa" data-isshow="1">'+names+'</span><img class="mapps" src="__STATIC__/img/search_ico01.png"/>');
  1415. this_.find(obj).find('div.layui-table-cell').eq(0).append(htmlbox);
  1416. form.render();
  1417. setTimeout(function(){
  1418. var search_input = this_.find(obj).find("#select_check"),
  1419. search_content =this_.find(obj).find(".check_li_");
  1420. $(search_input).on("keyup", function() {
  1421. this_.find(obj).find(".check_li_").hide().filter(":contains("+ search_input.val().trim() +")").show();
  1422. });
  1423. function stopPropagation(e) {
  1424. if (e.stopPropagation)
  1425. e.stopPropagation();
  1426. else
  1427. e.cancelBubble = true;
  1428. }
  1429. this_.find(obj).find('.dsnonebtn').on('click',function(){
  1430. this_.find(obj).find('div.layui-table-cell').eq(0).find('.psinput').hide();
  1431. this_.find(obj).find('div.layui-table-cell').eq(0).find('.btnbtn5').attr('data-isshow',1);
  1432. this_.find(obj).find('div.layui-table-cell').eq(0).find('input').val('');
  1433. })
  1434. var isradio = 1;
  1435. this_.find(obj).find('div.layui-table-cell').eq(0).find('.btnbtn5,.mapps').on('click',function(e){
  1436. $('.is_show').find('.psinput').hide();
  1437. if($(this).attr('data-isshow')==1){
  1438. $(this).siblings('.psinput').show();
  1439. $(this).attr('data-isshow',0)
  1440. }else{
  1441. $(this).siblings('.psinput').hide();
  1442. $(this).attr('data-isshow',1)
  1443. }
  1444. })
  1445. this_.find(obj).find('.checkAlls').on('click',function(){
  1446. this_.find(obj).find('.checkbox').each(function (index, item) {
  1447. this_.find(obj).find('.checkbox').eq(index).prop('checked','checked')
  1448. });
  1449. form.render('checkbox');
  1450. })
  1451. this_.find(obj).find('.nocheckAlls').on('click',function(){
  1452. this_.find(obj).find('.checkbox').each(function (index, item) {
  1453. this_.find(obj).find('.checkbox').eq(index).prop('checked','')
  1454. });
  1455. form.render('checkbox');
  1456. })
  1457. this_.find(obj).find(".checkdeta").each(function(i,v){
  1458. form.on('checkbox(checkall03)',function(data){
  1459. this_.find(obj).find(".checkdeta").prop('checked',false);
  1460. data.elem.checked=true;
  1461. form.render('checkbox');
  1462. })
  1463. })
  1464. this_.find(obj).find('div.layui-table-cell').eq(0).find('.resetbtn').on('click',function(){
  1465. $(this).parents('.search_btns').siblings('.kwovsint').val('');
  1466. $(this).parents('.search_btns').siblings().find('.select_sDate').val('');
  1467. })
  1468. if(is_html == 'detatime'){
  1469. laydate.render({
  1470. elem: '#select_sDate' //指定元素
  1471. , type: 'date'
  1472. , format: 'yyyy/MM/dd'
  1473. , range: true
  1474. , trigger: 'click',//呼出事件改成click
  1475. done: function (value, date, endDate) {
  1476. }
  1477. });
  1478. $('.date-flex div').click(function () {
  1479. let type = $(this).prop('dataset').type;
  1480. if (type == 'today') {
  1481. $('.select_date').val(`${dateObj.today} - ${dateObj.today}`);
  1482. } else if (type == 'yesterday') {
  1483. $('.select_date').val(`${dateObj.yesterday} - ${dateObj.yesterday}`);
  1484. } else if (type == 'week') {
  1485. $('.select_date').val(`${dateObj.thisWeekMonday} - ${dateObj.thisWeekSunday}`);
  1486. } else if (type == 'lastWeek') {
  1487. $('.select_date').val(`${dateObj.lastWeekMonday} - ${dateObj.lastWeekSunday}`);
  1488. } else if (type == 'month') {
  1489. $('.select_date').val(`${dateObj.thisMonthFirstDay} - ${dateObj.thisMonthLastDay}`);
  1490. } else if (type == 'lastMonth') {
  1491. $('.select_date').val(`${dateObj.lastMonthFirstDay} - ${dateObj.lastMonthLastDay}`);
  1492. } else {
  1493. $('.select_date').val('');
  1494. }
  1495. })
  1496. $('.date-flex1 div').click(function () {
  1497. let type = $(this).prop('dataset').type;
  1498. if (type == 'today') {
  1499. itmesss = dateToYYYYMMDD(dateObj.today);
  1500. itmesss2 = dateToYYYYMMDD(dateObj.today);
  1501. $('.select_sDate').val(itmesss+' - '+itmesss2);
  1502. // $('.select_date').val(`${dateObj.today} - ${dateObj.today}`);
  1503. } else if (type == 'yesterday') {
  1504. itmesss = dateToYYYYMMDD(dateObj.yesterday);
  1505. itmesss2 = dateToYYYYMMDD(dateObj.yesterday);
  1506. $('.select_sDate').val(itmesss+' - '+itmesss2);
  1507. // $('.select_sDate').val(`${dateObj.yesterday} - ${dateObj.yesterday}`);
  1508. } else if (type == 'week') {
  1509. $('.select_sDate').val(`${dateObj.thisWeekMonday} - ${dateObj.thisWeekSunday}`);
  1510. } else if (type == 'lastWeek') {
  1511. $('.select_sDate').val(`${dateObj.lastWeekMonday} - ${dateObj.lastWeekSunday}`);
  1512. } else if (type == 'month') {
  1513. $('.select_sDate').val(`${dateObj.thisMonthFirstDay} - ${dateObj.thisMonthLastDay}`);
  1514. } else if (type == 'lastMonth') {
  1515. $('.select_sDate').val(`${dateObj.lastMonthFirstDay} - ${dateObj.lastMonthLastDay}`);
  1516. } else {
  1517. $('.select_sDate').val('');
  1518. }
  1519. })
  1520. }
  1521. this_.find(obj).find('div.layui-table-cell').eq(0).find('.submitbtn').on('click',function(){
  1522. if(is_html == 'ishtml1'){
  1523. var arr = new Array();
  1524. this_.find(obj).find('div.layui-table-cell').eq(0).find("input:checkbox:checked").each(function(i){
  1525. arr[i] = $(this).val();
  1526. });
  1527. var datastr = arr.join(",");
  1528. field[idarr] = datastr;
  1529. }else if(is_html == 'ishtml2'){
  1530. var kwos = $(this).parents('.search_btns').siblings('#kwovsint').val();
  1531. field[idarr] = kwos;
  1532. }else if(is_html == 'detatime'){
  1533. var deta = $(this).parents('.search_btns').siblings().find('#select_sDate').val();
  1534. field[idarr] = deta;
  1535. }
  1536. if (this_.find(obj).find('input.kwovsint').val() && !field[idarr]) {
  1537. layer.msg('请选择内容', {anim: 1000,time: 1000,});
  1538. return;
  1539. }
  1540. var datas=JSON.stringify(field);
  1541. localStorage.setItem('data',datas);
  1542. searchfn(field,idarr);
  1543. $(this).parents('.psinput').hide();
  1544. this_.find(obj).find('div.layui-table-cell').eq(0).find('.btnbtn5').attr('data-isshow',1);
  1545. })
  1546. $(document).bind('click',function(){
  1547. this_.find(obj).find('div.layui-table-cell').eq(0).find('.psinput').hide();
  1548. this_.find(obj).find('div.layui-table-cell').eq(0).find('.btnbtn5').attr('data-isshow',1);
  1549. });
  1550. this_.find('th').on('click',function(e){
  1551. stopPropagation(e);
  1552. })
  1553. },100)
  1554. }
  1555. }
  1556. function searchfn(field, idarr){
  1557. firstloading = 0;
  1558. table.reload('crmsearchlist', {
  1559. where: field
  1560. , page: { curr: 1 }
  1561. });
  1562. if (is_manager == 1 && (field['addtime']||field['followtime']||field['employee_name'])) {
  1563. getStatistics();
  1564. getStatisticsMore();
  1565. }
  1566. }
  1567. form.on("select(search_type_element)",function(data){
  1568. fType = data.value;
  1569. if (fType == 1) {
  1570. $('#addtime').removeClass('layui-hide');
  1571. $('#followtime').addClass('layui-hide');
  1572. $('#followtime').val('');
  1573. } else {
  1574. $('#addtime').addClass('layui-hide');
  1575. $('#followtime').removeClass('layui-hide');
  1576. $('#addtime').val('');
  1577. }
  1578. getStatistics();
  1579. getStatisticsMore();
  1580. searchTableFunc();
  1581. });
  1582. form.on("select(is_assign_element)",function(data){
  1583. is_assign = data.value;
  1584. field['is_assign'] = is_assign;
  1585. //执行重载
  1586. table.reload('crmsearchlist', {
  1587. where: field
  1588. , page: { curr: 1 }
  1589. });
  1590. });
  1591. function searchTableFunc() {
  1592. firstloading = 0;
  1593. var source_name = $('[name=source_name]').val();
  1594. var designer_name = $('[name=designer_name]').val();
  1595. var level = $('[name=level]').val();
  1596. var keyname = $('[name=keyname]').val();
  1597. var state = $('[name=state]').val();
  1598. var addtime = $('[name=addtime]').val();
  1599. var followtime = $('[name=followtime]').val();
  1600. var employee_name = $('[name=employee_name]').val();
  1601. field['keyname'] = keyname;
  1602. field['source_name'] = source_name;
  1603. field['designer_name'] = designer_name;
  1604. field['level'] = level;
  1605. field['state'] = state;
  1606. field['addtime'] = addtime;
  1607. field['followtime'] = followtime;
  1608. field['employee_name'] = employee_name;
  1609. field['search_type'] = fType;
  1610. //执行重载
  1611. table.reload('crmsearchlist', {
  1612. where: field
  1613. , page: { curr: 1 }
  1614. });
  1615. }
  1616. let statistics_setting = {$statistics_setting};
  1617. if (is_manager == 1 && statistics_setting) {
  1618. //getStatistics();
  1619. //getStatisticsMore();
  1620. }
  1621. function getStatistics() {
  1622. var addtime = $('[name=addtime]').val();
  1623. var followtime = $('[name=followtime]').val();
  1624. var employee_name = $('[name=employee_name]').val();
  1625. var objtype;
  1626. if(fType == 1){
  1627. objtype = {
  1628. addtime:addtime,
  1629. }
  1630. }else{
  1631. objtype = {
  1632. followtime:followtime
  1633. }
  1634. }
  1635. $.ajax({
  1636. url: '{:url("empcrm/statistics")}',
  1637. type: "post",
  1638. data: {
  1639. search_type: fType,
  1640. ...objtype,
  1641. employee_name: employee_name
  1642. },
  1643. success: (res) => {
  1644. if (res.code == 0) {
  1645. let data = res.data;
  1646. $('.totalNum0').text(data.customer_num);
  1647. $('.totalNum1').text(data.visit_num);
  1648. }else if(res.code==403){
  1649. $(".exitbtn").trigger("click");
  1650. }
  1651. }
  1652. })
  1653. }
  1654. function getStatisticsMore() {
  1655. var addtime = $('[name=addtime]').val();
  1656. var followtime = $('[name=followtime]').val();
  1657. var employee_name = $('[name=employee_name]').val();
  1658. var objtype;
  1659. if(fType == 1){
  1660. objtype = {
  1661. addtime:addtime,
  1662. }
  1663. }else{
  1664. objtype = {
  1665. followtime:followtime
  1666. }
  1667. }
  1668. $.ajax({
  1669. url: '{:url("empcrm/statistics_more")}',
  1670. type: "post",
  1671. data: {
  1672. search_type: fType,
  1673. ...objtype,
  1674. employee_name: employee_name
  1675. },
  1676. success: (res) => {
  1677. if (res.code == 0) {
  1678. let data = res.data;
  1679. $('.totalNum2').text(data.yylf_num);
  1680. $('.totalNum3').text(data.lf_num);
  1681. $('.totalNum4').text(data.yydd_num);
  1682. $('.totalNum5').text(data.ydd_num);
  1683. $('.totalNum6').text(data.deposit_num);
  1684. $('.totalNum7').text(data.signed_num);
  1685. $('.totalNum8').text(data.yyhd_num);
  1686. $('.totalNum9').text(data.ydc_num);
  1687. }else if(res.code==403){
  1688. $(".exitbtn").trigger("click");
  1689. }
  1690. }
  1691. })
  1692. }
  1693. resizefun = function () {
  1694. table.resize('crmsearchlist');
  1695. };
  1696. reload = function () {
  1697. firstloading = 0;
  1698. table.reload('crmsearchlist', { where: field }, true);
  1699. };
  1700. var flag = true;
  1701. table.on('tool(crmsearchlist)', function (result) {
  1702. let event = result.event;
  1703. let row = result.data;
  1704. flag = true;
  1705. if (event === "unstatus") {
  1706. flag = false;
  1707. if (confirm('是否确认为有效线索?')) {
  1708. $.ajax({
  1709. url: '{:url("empcrm/validation")}'
  1710. , data: {
  1711. customer_id: row.id,// (客户id)
  1712. state: '未到访',
  1713. }
  1714. , type: 'post'
  1715. , success: function (res) {
  1716. if (res.code == 0) {
  1717. $(result.tr).children('td').children('div').children('div').children('.redconfirm')[0].checked = true;
  1718. $(result.tr).children('td').children('div').children('div').children('.redconfirm')[0].disabled = true;
  1719. if (row.visit_log_count == 0) {
  1720. $(result.tr).children('td[data-field="time_status"]').children('div').html('<span style="color: #cccccc;">-</span>');
  1721. } else {
  1722. $(result.tr).children('td[data-field="time_status"]').children('div').html('<span' + row.time_status + '</span>');
  1723. }
  1724. row.state = "未到访";
  1725. alert('成功:更改成功,线索为有效线索状态!!!');
  1726. }else if(res.code==403){
  1727. $(".exitbtn").trigger("click");
  1728. } else {
  1729. alert(res.msg)
  1730. }
  1731. }
  1732. });
  1733. } else {
  1734. $(result.tr).children('td').children('div').children('div').children('.redconfirm')[0].checked = false;
  1735. $(result.tr).children('td').children('div').children('div').children('.redconfirm')[0].disabled = false;
  1736. $(result.tr).children('td').children('div').children('div').children('.layui-unselect').removeClass('layui-form-checked');
  1737. }
  1738. return false;
  1739. } else if (event === "edit") {
  1740. flag = false;
  1741. $.ajax({
  1742. url: '{:url("community/checkCustomer")}'
  1743. , data: {
  1744. id: result.data.id,
  1745. }
  1746. , type: 'post'
  1747. , success: function (rs) {
  1748. if(rs.code==0){
  1749. window.parent.editcrmsg(result.data.id,'','community')
  1750. }else{
  1751. alert(rs.msg)
  1752. }
  1753. }
  1754. })
  1755. return false;
  1756. } else if (event === "editstate") {
  1757. flag = false;
  1758. $.ajax({
  1759. url: '{:url("community/checkCustomer")}'
  1760. , data: {
  1761. id: result.data.id,
  1762. }
  1763. , type: 'post'
  1764. , success: function (rs) {
  1765. if(rs.code==0){
  1766. window.parent.statemsg(result.data.id, 'list.html','community');
  1767. }else{
  1768. alert(rs.msg)
  1769. }
  1770. }
  1771. })
  1772. return false;
  1773. } else {
  1774. flag = true;
  1775. }
  1776. flag = true;
  1777. })
  1778. $('.crmsearchlist').on('click', 'td', function (e) {
  1779. var _event = $(this).find('[lay-event]').attr('lay-event');
  1780. var _obj = table.cache.crmsearchlist[parseInt($(this).parent('tr').attr('data-index'))];
  1781. switch (_event) {
  1782. case 'unstatus':
  1783. break;
  1784. case 'edit':
  1785. break;
  1786. case 'editstate':
  1787. break;
  1788. default:
  1789. $.ajax({
  1790. url: '{:url("community/checkCustomer")}'
  1791. , data: {
  1792. id: _obj.id,
  1793. }
  1794. , type: 'post'
  1795. , success: function (rs) {
  1796. if(rs.code==0){
  1797. flag = true;
  1798. $('#customer_detail')[0].src = "/empcrm/community/addlog.html?cid=" + _obj.id;
  1799. $('.crmbox').addClass('rightbox');
  1800. $('#customer_detail').show();
  1801. resizefun();
  1802. }else{
  1803. alert(rs.msg)
  1804. }
  1805. }
  1806. })
  1807. }
  1808. return false; //阻止事件冒泡
  1809. })
  1810. table.on('row(crmsearchlist)', function (obj) {
  1811. var data = obj.data;
  1812. if (flag) {
  1813. $.ajax({
  1814. url: '{:url("community/checkCustomer")}'
  1815. , data: {
  1816. id: data.id,
  1817. }
  1818. , type: 'post'
  1819. , success: function (rs) {
  1820. if(rs.code==0){
  1821. $('#customer_detail')[0].src="/empcrm/community/addlog.html?cid="+ data.id;
  1822. $('.crmbox').addClass('rightbox');
  1823. $('#customer_detail').show();
  1824. for (let i = 0; i < $('.crmsearchlist .layui-table-view .layui-table-box .layui-table tr').length; i++) {
  1825. $($('.crmsearchlist .layui-table-view .layui-table-box .layui-table tr')[i]).removeClass('onclickbg');
  1826. }
  1827. $(obj.tr).addClass('onclickbg');
  1828. resizefun();
  1829. }else{
  1830. alert(rs.msg)
  1831. }
  1832. }
  1833. })
  1834. }
  1835. });
  1836. $('.searchbtn').click(function () {
  1837. window.parent.addcrmmsg('list.html','community')
  1838. })
  1839. })
  1840. function removealog(params) {
  1841. $('#customer_detail').hide();
  1842. $('.crmbox').removeClass('rightbox');
  1843. reload();
  1844. }
  1845. </script>
  1846. {/block}