1
0

module_change.html 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566
  1. {extend name="public/layout" /} {block name="title"}客户转化设置{/block} {block name="body"}
  2. <style type="text/css">
  3. html,
  4. body {
  5. display: block;
  6. width: 1300px;
  7. height: auto;
  8. overflow-y: hidden;
  9. overflow-x: auto;
  10. width: calc(100% - 6px);
  11. }
  12. .lay-main {
  13. background-color: #EEEEEE;
  14. width: 100%;
  15. height: 100%;
  16. }
  17. .flex {
  18. display: flex;
  19. }
  20. .lay-leftBox {
  21. width: 500px;
  22. height: calc(100vh - 35px);
  23. background-color: #fff;
  24. margin: 10px 13px 10px;
  25. box-sizing: border-box;
  26. overflow-y: auto;
  27. }
  28. .lay-rightBox {
  29. width: calc(100% - 500px);
  30. height: calc(100vh - 35px);
  31. background-color: #fff;
  32. margin-top: 10px;
  33. margin-left: 0px;
  34. box-sizing: border-box;
  35. padding: 10px;
  36. }
  37. .lay-leftTips {
  38. width: 100%;
  39. height: 18px;
  40. line-height: 18px;
  41. border-left: 5px solid #249EFB;
  42. box-sizing: border-box;
  43. padding-left: 6px;
  44. }
  45. .lay-rightTips {
  46. width: 100%;
  47. height: 20px;
  48. display: flex;
  49. align-items: center;
  50. }
  51. .labelIcon {
  52. width: 5px;
  53. height: 18px;
  54. border-radius: 2px;
  55. background-color: #249EFB;
  56. }
  57. .valid {
  58. color: #249EFB;
  59. font-weight: 700;
  60. }
  61. .ml6 {
  62. margin-left: 6px;
  63. }
  64. .layui-border-blue,
  65. .layui-border-blue:hover {
  66. color: #249EFB;
  67. border-color: #249EFB;
  68. }
  69. .visitlistBox {
  70. width: 100%;
  71. padding: 10px;
  72. display: flex;
  73. flex-wrap: wrap;
  74. }
  75. .visitItemBox {
  76. flex: 1;
  77. }
  78. .layui-border-black {
  79. margin: 0px 5px 6px !important;
  80. position: relative;
  81. }
  82. .lay-close {
  83. position: absolute;
  84. top: -15px;
  85. right: -10px;
  86. z-index: 99 !important;
  87. }
  88. .fieldBox {
  89. width: 100%;
  90. display: flex;
  91. box-sizing: border-box;
  92. padding: 10px 0px;
  93. height: 100%;
  94. }
  95. .fieldLeftBox {
  96. width: 60%;
  97. box-sizing: border-box;
  98. height: 100%;
  99. }
  100. .fieldRightBox {
  101. flex: 1;
  102. margin-left: 10px;
  103. box-sizing: border-box;
  104. }
  105. .fieldTitle {
  106. font-size: 13px;
  107. color: #333333;
  108. font-weight: 600;
  109. line-height: 25px;
  110. }
  111. .fieldViewBox {
  112. border: 1px solid #EEEEEE;
  113. padding: 5px;
  114. border-radius: 4px;
  115. box-sizing: border-box;
  116. height: 550px;
  117. overflow: auto;
  118. }
  119. /*里面的代码可以根据自己需求去进行更改*/
  120. /* 设置滚动条的样式 */
  121. .fieldViewBox::-webkit-scrollbar {
  122. width: 4px;
  123. }
  124. /* 滚动槽 */
  125. .fieldViewBox::-webkit-scrollbar-track {
  126. -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.3);
  127. border-radius: 0px;
  128. }
  129. /* 滚动条滑块 */
  130. .fieldViewBox::-webkit-scrollbar-thumb {
  131. border-radius: 10px;
  132. background: #cccccc;
  133. -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
  134. }
  135. .searchBox {
  136. width: 100%;
  137. height: 40px;
  138. border: 1px solid #EEEEEE;
  139. border-radius: 4px;
  140. box-sizing: border-box;
  141. padding: 0px 10px;
  142. display: flex;
  143. align-items: center;
  144. }
  145. .searchBox>input {
  146. flex: 1;
  147. height: 100%;
  148. margin-left: 10px;
  149. outline: none;
  150. border: none;
  151. }
  152. .selectFieldBox {
  153. width: 100%;
  154. height: auto;
  155. overflow: hidden;
  156. box-sizing: border-box;
  157. padding: 10px 0px 10px;
  158. display: flex;
  159. flex-wrap: wrap;
  160. }
  161. .layui-icon-ok:before {
  162. font-size: 12px !important;
  163. }
  164. .layui-form-checkbox {
  165. margin-bottom: 5px;
  166. }
  167. .sortItemBox {
  168. width: 100%;
  169. height: 40px;
  170. display: flex;
  171. align-items: center;
  172. justify-content: space-between;
  173. background-color: #fff;
  174. }
  175. .sortLeft>img {
  176. width: 16px;
  177. }
  178. .sortRight>img {
  179. width: 16px;
  180. }
  181. .moveElement {
  182. cursor: move;
  183. }
  184. .fixed-btn {
  185. width: 100%;
  186. box-sizing: border-box;
  187. padding: 10px 10px;
  188. display: flex;
  189. justify-content: flex-end;
  190. border-top: 1px solid #cccccc;
  191. margin-top: 110px;
  192. }
  193. .lay-tab {
  194. width: 100%;
  195. height: 40px;
  196. border-bottom: 1px solid #cccccc;
  197. display: flex;
  198. align-items: center;
  199. }
  200. .lay-tab>div {
  201. flex: 1;
  202. height: 100%;
  203. display: flex;
  204. align-items: center;
  205. justify-content: center;
  206. cursor: pointer;
  207. }
  208. .lay-active {
  209. color: #249EFB;
  210. font-weight: 700;
  211. position: relative;
  212. }
  213. .lay-active::after {
  214. content: " ";
  215. width: 30px;
  216. height: 4px;
  217. background-color: #249EFB;
  218. border-radius: 2px;
  219. position: absolute;
  220. bottom: 0px;
  221. left: 50%;
  222. transform: translateX(-50%);
  223. }
  224. .layleft-content {
  225. width: 100%;
  226. box-sizing: border-box;
  227. padding: 10px;
  228. }
  229. .layleft-switch {
  230. padding: 15px 10px;
  231. display: flex;
  232. align-items: center;
  233. }
  234. .layleft-switch>span {
  235. margin-right: 10px;
  236. }
  237. .layui-form-switch {
  238. margin-top: 0px;
  239. }
  240. .fieldItem {
  241. width: 50%;
  242. }
  243. .checkedDel {
  244. cursor: pointer;
  245. }
  246. .layui-icon-search {
  247. cursor: pointer;
  248. }
  249. .allCheckedField {
  250. padding-top: 10px;
  251. }
  252. .layui-card .layui-tab-brief .layui-tab-content {
  253. padding: 0 !important;
  254. }
  255. .fieldViewBox {
  256. height: 94% !important;
  257. }
  258. .fieldBox {
  259. height: calc(98% - 50px);
  260. }
  261. .fixed-btn {
  262. width: 30% !important;
  263. padding: 0 !important;
  264. margin-top: 0 !important;
  265. border-top: 0 !important;
  266. }
  267. .class_disabled .layui-form-checkbox[lay-skin=primary] i {
  268. border-color: #c2c2c2 !important;
  269. background-color: #c2c2c2 !important;
  270. }
  271. .leftTrackBox {
  272. width: 100%;
  273. height: 700px;
  274. margin-top: 20px;
  275. overflow-y: auto;
  276. overflow-x: hidden;
  277. position: relative;
  278. box-sizing: border-box;
  279. padding: 0px 40px;
  280. }
  281. /*里面的代码可以根据自己需求去进行更改*/
  282. /* 设置滚动条的样式 */
  283. .leftTrackBox::-webkit-scrollbar {
  284. width: 2px;
  285. }
  286. /* 滚动槽 */
  287. .leftTrackBox::-webkit-scrollbar-track {
  288. -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.3);
  289. border-radius: 0px;
  290. }
  291. /* 滚动条滑块 */
  292. .leftTrackBox::-webkit-scrollbar-thumb {
  293. border-radius: 1px;
  294. background: #cccccc;
  295. -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
  296. }
  297. .leftHeader {
  298. width: 100%;
  299. height: 40px;
  300. background-color: #71c4ff;
  301. color: #fff;
  302. display: flex;
  303. align-items: center;
  304. box-sizing: border-box;
  305. padding: 0px 10px;
  306. }
  307. .leftHeaderText {
  308. width: calc(100% - 80px);
  309. display: flex;
  310. align-items: center;
  311. }
  312. .rightHeaderIcon {
  313. width: 80px;
  314. display: flex;
  315. align-items: center;
  316. justify-content: flex-end;
  317. }
  318. .leftHeaderTab {
  319. width: 100%;
  320. height: 42px;
  321. display: flex;
  322. align-items: center;
  323. }
  324. .leftHeaderTab>div {
  325. flex: 1;
  326. height: 100%;
  327. display: flex;
  328. justify-content: center;
  329. align-items: center;
  330. }
  331. .leftActive {
  332. color: #249EFB;
  333. font-weight: 600;
  334. position: relative;
  335. }
  336. .leftActive::after {
  337. content: " ";
  338. width: 100%;
  339. height: 4px;
  340. background-color: #249EFB;
  341. border-radius: 2px;
  342. position: absolute;
  343. bottom: 0px;
  344. left: 0px;
  345. }
  346. .switchTabBox {
  347. width: 100%;
  348. height: 42px;
  349. display: flex;
  350. align-items: center;
  351. overflow-x: auto;
  352. flex-wrap: nowrap;
  353. }
  354. .switchTabBox>div {
  355. flex: none;
  356. display: inline-block;
  357. padding: 2px 10px;
  358. background-color: #d4e4ed;
  359. color: #384855;
  360. font-size: 13px;
  361. border-radius: 3px;
  362. margin: 0px 5px;
  363. }
  364. .switchActive {
  365. background-color: #249EFB !important;
  366. color: #fff !important;
  367. }
  368. .dateItemBox {
  369. width: 100%;
  370. height: 40px;
  371. font-size: 13px;
  372. display: flex;
  373. box-sizing: border-box;
  374. border-bottom: 1px solid #e7f1f7;
  375. }
  376. .dlabel {
  377. width: 150px;
  378. height: 100%;
  379. display: flex;
  380. align-items: center;
  381. }
  382. .dContent {
  383. width: calc(100% - 150px);
  384. height: 100%;
  385. display: flex;
  386. align-items: center;
  387. justify-content: flex-end;
  388. }
  389. .dContent>span {
  390. margin-right: 5px;
  391. }
  392. .dlineIcon {
  393. width: 40px;
  394. height: 30px;
  395. border: 1px solid #d4e4ed;
  396. display: flex;
  397. align-items: center;
  398. justify-content: center;
  399. }
  400. .dtips {
  401. color: #9db6cf;
  402. }
  403. .mt5 {
  404. margin-top: 5px;
  405. }
  406. .ml5 {
  407. margin-left: 5px;
  408. }
  409. .textareaBox {
  410. width: 100%;
  411. background-color: #f0f4f7;
  412. outline: none;
  413. border: none;
  414. box-sizing: border-box;
  415. padding: 5px;
  416. margin-top: 20px;
  417. font-size: 13px;
  418. }
  419. .leftnextDateBox {
  420. width: 100%;
  421. height: auto;
  422. overflow: hidden;
  423. padding: 20px 0px;
  424. }
  425. .leftNextDateContent {
  426. width: 100%;
  427. height: 42px;
  428. display: flex;
  429. align-items: center;
  430. }
  431. .leftNextDateContent>div {
  432. flex: 1;
  433. height: 100%;
  434. display: flex;
  435. align-items: center;
  436. justify-content: center;
  437. font-size: 12px;
  438. }
  439. .leftSubmitBtn {
  440. width: 95%;
  441. height: 40px;
  442. background-color: #249EFB;
  443. color: #fff;
  444. text-align: center;
  445. line-height: 40px;
  446. margin: 20px auto 20px;
  447. }
  448. .leftProgressBox {
  449. width: 100%;
  450. }
  451. .leftProgressHeader {
  452. width: 100%;
  453. height: 30px;
  454. display: flex;
  455. align-items: center;
  456. justify-content: space-between;
  457. color: #249EFB;
  458. font-size: 13px;
  459. box-sizing: border-box;
  460. padding: 0px 10px;
  461. margin-bottom: 20px;
  462. }
  463. .leftpItemBox {
  464. width: 100%;
  465. height: auto;
  466. overflow: hidden;
  467. position: relative;
  468. padding: 0px 10px;
  469. }
  470. .circle {
  471. width: 10px;
  472. height: 10px;
  473. background-color: #fddde1;
  474. position: absolute;
  475. left: 0px;
  476. top: 3px;
  477. border-radius: 50%;
  478. display: flex;
  479. align-items: center;
  480. justify-content: center;
  481. z-index: 9;
  482. }
  483. .circle1 {
  484. width: 7px;
  485. height: 7px;
  486. background-color: #f54d64;
  487. border-radius: 50%;
  488. }
  489. .leftlinep1 {
  490. width: 1px;
  491. height: 100%;
  492. border-left: 1px dotted #b6cade;
  493. position: absolute;
  494. left: 4px;
  495. top: 8px;
  496. }
  497. .leftpBoxMsg {
  498. width: 80%;
  499. height: 60px;
  500. background-color: #fff;
  501. box-shadow: 0 3px 5px 0 rgb(36 158 251 / 17%);
  502. margin: 20px 0px 20px 20px;
  503. border-left: 3px solid #f54d64;
  504. border-top: 0.5px solid #f54d64;
  505. border-radius: 6px;
  506. box-sizing: border-box;
  507. padding: 5px;
  508. }
  509. .leftpBoxtop {
  510. width: 100%;
  511. display: flex;
  512. align-items: center;
  513. font-size: 12px;
  514. position: relative;
  515. }
  516. .leftpBoxBottom {
  517. font-size: 12px;
  518. margin-top: 10px;
  519. }
  520. .visitBoxp {
  521. position: absolute;
  522. padding: 2px 5px;
  523. background-color: #f0f4f7;
  524. color: #249EFB;
  525. border-radius: 10px;
  526. right: 0px;
  527. top: 0px;
  528. font-size: 12px;
  529. }
  530. .circle3 {
  531. width: 7px;
  532. height: 7px;
  533. background-color: #f54d64;
  534. border-radius: 50%;
  535. position: absolute;
  536. left: 1px;
  537. top: 55%;
  538. transform: translateY(-50%);
  539. }
  540. .leftCustomField {
  541. width: 100%;
  542. height: auto;
  543. overflow: hidden;
  544. box-sizing: border-box;
  545. padding: 0px 0px 10px;
  546. }
  547. .layinputtext {
  548. width: 100%;
  549. height: 40px;
  550. border-bottom: 1px solid #DEEAF1;
  551. display: flex;
  552. font-size: 13px;
  553. }
  554. .textlabel {
  555. width: 150px;
  556. height: 100%;
  557. line-height: 40px;
  558. }
  559. .textinput {
  560. width: calc(100% - 150px);
  561. height: 100%;
  562. line-height: 40px;
  563. }
  564. .radiocontent {
  565. width: calc(100% - 150px);
  566. height: 100%;
  567. display: flex;
  568. }
  569. .radiocontent>div {
  570. flex: 1;
  571. display: flex;
  572. justify-content: flex-start;
  573. align-items: center;
  574. }
  575. .gradecontent {
  576. width: calc(100% - 150px);
  577. height: 100%;
  578. display: flex;
  579. align-items: center;
  580. }
  581. .gradecontent>span {
  582. flex: none;
  583. display: inline-block;
  584. padding: 2px 8px;
  585. height: 18px;
  586. border: 1px solid #9DB6CF;
  587. font-size: 13px;
  588. margin-right: 5px;
  589. }
  590. .selectContent {
  591. width: calc(100% - 150px);
  592. height: 100%;
  593. display: flex;
  594. align-items: center;
  595. justify-content: space-between;
  596. }
  597. .selectContent>img {
  598. width: 8px;
  599. }
  600. .dateContent {
  601. width: calc(100% - 150px);
  602. height: 100%;
  603. display: flex;
  604. align-items: center;
  605. justify-content: space-between;
  606. }
  607. .dateContent>img {
  608. width: 14px;
  609. }
  610. .leftlineMiddle {
  611. width: 100%;
  612. height: 10px;
  613. background-color: #f0f4f7;
  614. margin: 30px 0px 10px;
  615. }
  616. .layui-form-checked[lay-skin=primary] i {
  617. border-color: #249EFB;
  618. background-color: #249EFB;
  619. }
  620. </style>
  621. <body>
  622. <div class="lay-main">
  623. <form class="layui-form flex" action="">
  624. <div class="lay-leftBox">
  625. <div class="lay-tab">
  626. <div data-index="0" data-type="changeLF" class="lay-active">量房设置</div>
  627. <div data-index="1" data-type="changeDD">到店设置</div>
  628. <div data-index="2" data-type="changeHD">活动设置</div>
  629. <div data-index="3" data-type="changeJD">{if $xinjushang == 0}定金设置{else/}定金设置{/if}</div>
  630. <div data-index="4" data-type="changeZD">{if $xinjushang == 0}合同设置{else/}合同设置{/if}</div>
  631. <div data-index="5" data-type="changeMK">无忧设置</div>
  632. </div>
  633. <div class="layleft-content">
  634. <div class="lay-leftTips">显示设置</div>
  635. <div>
  636. <div class="layleft-switch">
  637. <span>开启/关闭</span>
  638. <input type="checkbox" lay-filter="switchoff" name="switch" {if $lf_switch}checked{/if}
  639. lay-skin="switch">
  640. </div>
  641. <div class="layleft-switch layui-hide">
  642. <span>开启/关闭</span>
  643. <input type="checkbox" lay-filter="switchoff" name="switch" {if $dd_switch}checked{/if}
  644. lay-skin="switch">
  645. </div>
  646. <div class="layleft-switch layui-hide">
  647. <span>开启/关闭</span>
  648. <input type="checkbox" lay-filter="switchoff" name="switch" {if $hd_switch}checked{/if}
  649. lay-skin="switch">
  650. </div>
  651. <div class="layleft-switch layui-hide">
  652. <span>开启/关闭</span>
  653. <input type="checkbox" lay-filter="switchoff" name="switch" {if $qd_switch}checked{/if}
  654. lay-skin="switch">
  655. </div>
  656. <div class="layleft-switch layui-hide">
  657. <span>开启/关闭</span>
  658. <input type="checkbox" lay-filter="switchoff" name="switch" {if $zd_switch}checked{/if}
  659. lay-skin="switch">
  660. </div>
  661. <div class="layleft-switch layui-hide">
  662. <span>开启/关闭</span>
  663. <input type="checkbox" lay-filter="switchoff" name="switch" {if $mk_switch}checked{/if}
  664. lay-skin="switch">
  665. </div>
  666. </div>
  667. <div class="ddnhdElement layui-hide">
  668. <div class="lay-leftTips">内场活动设置</div>
  669. <div class="layleft-switch ddnhdinputswitch">
  670. <span>开启/关闭</span>
  671. <input type="checkbox" lay-filter="switchoff" name="ddhd_switch" {if $ddhd_switch}checked{/if}
  672. lay-skin="switch">
  673. </div>
  674. </div>
  675. <div class="lay-leftTips">手机端示例</div>
  676. <div class="leftTrackBox">
  677. <div class="leftHeader">
  678. <div class="leftHeaderText">李逍遥 | XXX小区 | 200㎡</div>
  679. <div class="rightHeaderIcon">
  680. <img src="__STATIC__/img/collect.png" width="16px" alt="">
  681. </div>
  682. </div>
  683. <div class="leftHeaderTab">
  684. <div>客户跟踪</div>
  685. <div>信息完善</div>
  686. <div class="leftActive">客户转化</div>
  687. <div>客户预约</div>
  688. </div>
  689. <div class="switchTabBox">
  690. <div class="switchActive">量房</div>
  691. <div>到店</div>
  692. <div>活动</div>
  693. <div id="qdElement">定金</div>
  694. <div id="zdElement">合同</div>
  695. <div>无忧</div>
  696. </div>
  697. <div class="allElement">
  698. <div class="lfElement">
  699. <div class="dateItemBox">
  700. <div class="dlabel">选择量房时间</div>
  701. <div class="dContent">
  702. <span>2022-12-12</span>
  703. <img src="__STATIC__/img/rili.png" width="14px" alt="">
  704. </div>
  705. </div>
  706. <div class="dateItemBox mt5">
  707. <div class="dlabel">上传量房图片</div>
  708. <div class="dContent">
  709. <div class="dlineIcon">
  710. <img src="__STATIC__/img/addimg.png" width="24px" alt="">
  711. </div>
  712. </div>
  713. </div>
  714. <div class="dateItemBox">
  715. <div class="dlabel">选择量房设计师<span class="dtips ml5">(可多选)</span></div>
  716. <div class="dContent">
  717. <img src="__STATIC__/img/cjtimg.png" width="8px" alt="">
  718. </div>
  719. </div>
  720. </div>
  721. <div class="ddElement layui-hide">
  722. {if $ddhd_switch}
  723. <div class="dateItemBox">
  724. <div class="dlabel">参加的内场活动</div>
  725. <div class="dContent">
  726. <span style="color: #999999;font-size: 12px;">请选择活动</span>
  727. <img src="__STATIC__/img/cjtimg.png" width="8px" alt="">
  728. </div>
  729. </div>
  730. {/if}
  731. <div class="dateItemBox">
  732. <div class="dlabel">选择到店时间</div>
  733. <div class="dContent">
  734. <span>2022-12-12</span>
  735. <img src="__STATIC__/img/rili.png" width="14px" alt="">
  736. </div>
  737. </div>
  738. <div class="dateItemBox">
  739. <div class="dlabel">请输入到店人数</div>
  740. <div class="dContent">
  741. <span>1</span>
  742. <span style="color: #9DB6CF;font-size: 12px;">人</span>
  743. </div>
  744. </div>
  745. <div class="dateItemBox">
  746. <div class="dlabel">所到店面</div>
  747. <div class="dContent">
  748. <span style="color: #999999;font-size: 12px;">请选择店面</span>
  749. <img src="__STATIC__/img/cjtimg.png" width="8px" alt="">
  750. </div>
  751. </div>
  752. <div class="dateItemBox">
  753. <div class="dlabel">谈单时长</div>
  754. <div class="dContent">
  755. <span style="color: #999999;font-size: 12px;">请输入</span>
  756. <span style="color: #9DB6CF;font-size: 12px;">min</span>
  757. </div>
  758. </div>
  759. </div>
  760. <div class="hdElement layui-hide">
  761. <div class="dateItemBox">
  762. <div class="dlabel">参加的活动</div>
  763. <div class="dContent">
  764. <span style="color: #999999;font-size: 12px;">请选择活动</span>
  765. <img src="__STATIC__/img/cjtimg.png" width="8px" alt="">
  766. </div>
  767. </div>
  768. <div class="dateItemBox">
  769. <div class="dlabel">到场时间</div>
  770. <div class="dContent">
  771. <span>2022-12-12</span>
  772. <img src="__STATIC__/img/rili.png" width="14px" alt="">
  773. </div>
  774. </div>
  775. <div class="dateItemBox">
  776. <div class="dlabel">请输入到场人数</div>
  777. <div class="dContent">
  778. <span>1</span>
  779. <span style="color: #9DB6CF;font-size: 12px;">人</span>
  780. </div>
  781. </div>
  782. <div class="dateItemBox">
  783. <div class="dlabel">停留时间</div>
  784. <div class="dContent">
  785. <span style="color: #999999;font-size: 12px;">请输入</span>
  786. <span style="color: #9DB6CF;font-size: 12px;">min</span>
  787. </div>
  788. </div>
  789. </div>
  790. <div class="qdElement layui-hide">
  791. <div class="dateItemBox">
  792. <div id="qdsjElement" class="dlabel">定金时间</div>
  793. <div class="dContent">
  794. <span>2022-12-12</span>
  795. <img src="__STATIC__/img/rili.png" width="14px" alt="">
  796. </div>
  797. </div>
  798. <div class="dateItemBox">
  799. <div id="qdjeElement" class="dlabel">定金金额</div>
  800. <div class="dContent">
  801. <span>1</span>
  802. <span style="color: #9DB6CF;font-size: 12px;">元</span>
  803. </div>
  804. </div>
  805. <div class="layinputtext">
  806. <div id="qdfsElement" class="textlabel">定金方式</div>
  807. <div class="radiocontent">
  808. <div>
  809. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px"
  810. alt="">
  811. <span style="margin-left: 5px;">线上交定</span>
  812. </div>
  813. <div>
  814. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px"
  815. alt="">
  816. <span style="margin-left: 5px;">线下交定</span>
  817. </div>
  818. </div>
  819. </div>
  820. <div class="dateItemBox mt5">
  821. <div id="scqdyjElement" class="dlabel">上传定金依据</div>
  822. <div class="dContent">
  823. <div class="dlineIcon">
  824. <img src="__STATIC__/img/addimg.png" width="24px" alt="">
  825. </div>
  826. </div>
  827. </div>
  828. <div class="dateItemBox">
  829. <div id="qdcpElement" class="dlabel">签单产品</div>
  830. <div class="dContent">
  831. <span style="color: #999999;font-size: 12px;">请选择产品</span>
  832. <img src="__STATIC__/img/cjtimg.png" width="8px" alt="">
  833. </div>
  834. </div>
  835. </div>
  836. <div class="zdElement layui-hide">
  837. <div class="dateItemBox">
  838. <div id="zdsjElement" class="dlabel">合同时间</div>
  839. <div class="dContent">
  840. <span>2022-12-12</span>
  841. <img src="__STATIC__/img/rili.png" width="14px" alt="">
  842. </div>
  843. </div>
  844. <div class="dateItemBox">
  845. <div id="htjeElement" class="dlabel">合同金额</div>
  846. <div class="dContent">
  847. <span>1</span>
  848. <span style="color: #9DB6CF;font-size: 12px;">元</span>
  849. </div>
  850. </div>
  851. <div class="dateItemBox">
  852. <div class="dlabel">首付款</div>
  853. <div class="dContent">
  854. <span>1</span>
  855. <span style="color: #9DB6CF;font-size: 12px;">元</span>
  856. </div>
  857. </div>
  858. <div class="dateItemBox mt5">
  859. <div id="schtyjElement" class="dlabel">上传合同依据</div>
  860. <div class="dContent">
  861. <div class="dlineIcon">
  862. <img src="__STATIC__/img/addimg.png" width="24px" alt="">
  863. </div>
  864. </div>
  865. </div>
  866. </div>
  867. <div class="mkElement layui-hide">
  868. <div class="dateItemBox">
  869. <div class="dlabel">无忧时间</div>
  870. <div class="dContent">
  871. <span>2022-12-12</span>
  872. <img src="__STATIC__/img/rili.png" width="14px" alt="">
  873. </div>
  874. </div>
  875. </div>
  876. </div>
  877. <div class="leftCustomField"></div>
  878. <textarea class="textareaBox" rows="5" readonly placeholder="请输入备注信息"></textarea>
  879. <div class="leftnextDateBox">
  880. <div>设置下次回访时间</div>
  881. <div class="leftNextDateContent">
  882. <div>
  883. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px" height="15px"
  884. alt="">
  885. <span class="ml5">今天</span>
  886. </div>
  887. <div>
  888. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px" height="15px"
  889. alt="">
  890. <span class="ml5">1天后</span>
  891. </div>
  892. <div>
  893. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px" height="15px"
  894. alt="">
  895. <span class="ml5">3天后</span>
  896. </div>
  897. <div>
  898. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px" height="15px"
  899. alt="">
  900. <span class="ml5">7天后</span>
  901. </div>
  902. <div style="width: 80px !important;flex: none !important;">
  903. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px" height="15px"
  904. alt="">
  905. <span class="ml5">其他时间</span>
  906. </div>
  907. </div>
  908. </div>
  909. <div class="leftSubmitBtn">提交本次转化数据</div>
  910. <div class="leftlineMiddle"></div>
  911. <div class="changeRecordBox">
  912. <div class="leftProgressBox">
  913. <div class="leftProgressHeader">
  914. <span>量房记录</span>
  915. <span>量房次数:3次</span>
  916. </div>
  917. <div class="leftpItemBox">
  918. <div class="circle">
  919. <div class="circle1"></div>
  920. </div>
  921. <div class="ml5">2022-12-02</div>
  922. <div class="leftlinep1"></div>
  923. <div class="leftpBoxMsg">
  924. <div class="leftpBoxtop">
  925. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  926. <span class="ml5">销售:李XX</span>
  927. <span class="ml5">11:50:12</span>
  928. <span class="visitBoxp">已量房</span>
  929. </div>
  930. <div class="leftpBoxBottom">这是一段量房记录</div>
  931. <div class="circle3"></div>
  932. </div>
  933. </div>
  934. <div class="leftpItemBox">
  935. <div class="circle">
  936. <div class="circle1"></div>
  937. </div>
  938. <div class="ml5">2022-12-02</div>
  939. <div class="leftlinep1"></div>
  940. <div class="leftpBoxMsg">
  941. <div class="leftpBoxtop">
  942. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  943. <span class="ml5">销售:李XX</span>
  944. <span class="ml5">11:24:12</span>
  945. <span class="visitBoxp">已量房</span>
  946. </div>
  947. <div class="leftpBoxBottom">这是一段量房记录</div>
  948. <div class="circle3"></div>
  949. </div>
  950. </div>
  951. <div class="leftpItemBox">
  952. <div class="circle">
  953. <div class="circle1"></div>
  954. </div>
  955. <div class="ml5">2022-12-02</div>
  956. <div class="leftlinep1"></div>
  957. <div class="leftpBoxMsg">
  958. <div class="leftpBoxtop">
  959. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  960. <span class="ml5">销售:李XX</span>
  961. <span class="ml5">11:12:12</span>
  962. <span class="visitBoxp">已量房</span>
  963. </div>
  964. <div class="leftpBoxBottom">这是一段量房记录</div>
  965. <div class="circle3"></div>
  966. </div>
  967. </div>
  968. </div>
  969. <div class="leftProgressBox layui-hide">
  970. <div class="leftProgressHeader">
  971. <span>到店记录</span>
  972. <span>到店次数:3次</span>
  973. </div>
  974. <div class="leftpItemBox">
  975. <div class="circle">
  976. <div class="circle1"></div>
  977. </div>
  978. <div class="ml5">2022-12-02</div>
  979. <div class="leftlinep1"></div>
  980. <div class="leftpBoxMsg">
  981. <div class="leftpBoxtop">
  982. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  983. <span class="ml5">销售:李XX</span>
  984. <span class="ml5">11:50:12</span>
  985. <span class="visitBoxp">已到店</span>
  986. </div>
  987. <div class="leftpBoxBottom">这是一段到店记录</div>
  988. <div class="circle3"></div>
  989. </div>
  990. </div>
  991. <div class="leftpItemBox">
  992. <div class="circle">
  993. <div class="circle1"></div>
  994. </div>
  995. <div class="ml5">2022-12-02</div>
  996. <div class="leftlinep1"></div>
  997. <div class="leftpBoxMsg">
  998. <div class="leftpBoxtop">
  999. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  1000. <span class="ml5">销售:李XX</span>
  1001. <span class="ml5">11:24:12</span>
  1002. <span class="visitBoxp">已到店</span>
  1003. </div>
  1004. <div class="leftpBoxBottom">这是一段到店记录</div>
  1005. <div class="circle3"></div>
  1006. </div>
  1007. </div>
  1008. <div class="leftpItemBox">
  1009. <div class="circle">
  1010. <div class="circle1"></div>
  1011. </div>
  1012. <div class="ml5">2022-12-02</div>
  1013. <div class="leftlinep1"></div>
  1014. <div class="leftpBoxMsg">
  1015. <div class="leftpBoxtop">
  1016. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  1017. <span class="ml5">销售:李XX</span>
  1018. <span class="ml5">11:12:12</span>
  1019. <span class="visitBoxp">已到店</span>
  1020. </div>
  1021. <div class="leftpBoxBottom">这是一段到店记录</div>
  1022. <div class="circle3"></div>
  1023. </div>
  1024. </div>
  1025. </div>
  1026. <div class="leftProgressBox layui-hide">
  1027. <div class="leftProgressHeader">
  1028. <span>活动到场记录</span>
  1029. <span>活动到场次数:3次</span>
  1030. </div>
  1031. <div class="leftpItemBox">
  1032. <div class="circle">
  1033. <div class="circle1"></div>
  1034. </div>
  1035. <div class="ml5">2022-12-02</div>
  1036. <div class="leftlinep1"></div>
  1037. <div class="leftpBoxMsg">
  1038. <div class="leftpBoxtop">
  1039. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  1040. <span class="ml5">销售:李XX</span>
  1041. <span class="ml5">11:50:12</span>
  1042. <span class="visitBoxp">已到场</span>
  1043. </div>
  1044. <div class="leftpBoxBottom">这是一段活动到场记录</div>
  1045. <div class="circle3"></div>
  1046. </div>
  1047. </div>
  1048. <div class="leftpItemBox">
  1049. <div class="circle">
  1050. <div class="circle1"></div>
  1051. </div>
  1052. <div class="ml5">2022-12-02</div>
  1053. <div class="leftlinep1"></div>
  1054. <div class="leftpBoxMsg">
  1055. <div class="leftpBoxtop">
  1056. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  1057. <span class="ml5">销售:李XX</span>
  1058. <span class="ml5">11:24:12</span>
  1059. <span class="visitBoxp">已到场</span>
  1060. </div>
  1061. <div class="leftpBoxBottom">这是一段活动到场记录</div>
  1062. <div class="circle3"></div>
  1063. </div>
  1064. </div>
  1065. <div class="leftpItemBox">
  1066. <div class="circle">
  1067. <div class="circle1"></div>
  1068. </div>
  1069. <div class="ml5">2022-12-02</div>
  1070. <div class="leftlinep1"></div>
  1071. <div class="leftpBoxMsg">
  1072. <div class="leftpBoxtop">
  1073. <img src="__STATIC__/img/default.png" width="18px" height="18px" alt="">
  1074. <span class="ml5">销售:李XX</span>
  1075. <span class="ml5">11:12:12</span>
  1076. <span class="visitBoxp">已到场</span>
  1077. </div>
  1078. <div class="leftpBoxBottom">这是一段活动到场记录</div>
  1079. <div class="circle3"></div>
  1080. </div>
  1081. </div>
  1082. </div>
  1083. </div>
  1084. </div>
  1085. </div>
  1086. </div>
  1087. <div class="lay-rightBox">
  1088. <div class="lay-rightTips">
  1089. <div class="labelIcon"></div>
  1090. <span class="ml6">跟进字段设置</span>
  1091. </div>
  1092. <div class="fieldBox">
  1093. <div class="fieldLeftBox">
  1094. <div class="fieldTitle" id="visitAllField"></div>
  1095. <div class="fieldViewBox">
  1096. <div class="searchBox">
  1097. <i class="layui-icon layui-icon-search"></i>
  1098. <input type="text" id="allFieldInput" autocomplete="off">
  1099. </div>
  1100. <div class="allCheckedField">
  1101. <input lay-filter="checkedAll" name="all" title="全选" type="checkbox" lay-skin="primary">
  1102. </div>
  1103. <div class="selectFieldBox">
  1104. </div>
  1105. </div>
  1106. </div>
  1107. <div class="fieldRightBox">
  1108. <div class="fieldTitle" id="checkedFieldEl"></div>
  1109. <div class="fieldViewBox" id="scrollTargetEl">
  1110. <div class="searchBox">
  1111. <i class="layui-icon layui-icon-search"></i>
  1112. <input type="text" id="checkedSearchEl" autocomplete="off">
  1113. </div>
  1114. <div class="checkedFieldBox" id="checkedFieldBox">
  1115. </div>
  1116. </div>
  1117. </div>
  1118. </div>
  1119. <div class="lay-default" style="overflow: hidden;">
  1120. <div class="layui-btn layui-btn-primary" id="recoveryDefault" style="float:left;">恢复默认</div>
  1121. <div class="fixed-btn" style="float:right;">
  1122. <div class="layui-btn layui-btn-primary">取消</div>
  1123. <div class="layui-btn layui-btn-normal" lay-submit lay-filter="layuiadmin-app-form-submit">确认
  1124. </div>
  1125. </div>
  1126. </div>
  1127. </div>
  1128. </form>
  1129. </div>
  1130. </body>
  1131. {/block} {block name="js"}
  1132. <script type="text/javascript" src="__STATIC__/js/Sortable.js"></script>
  1133. <script>
  1134. layui.config({
  1135. base: '__LAYUI__/' //静态资源所在路径
  1136. ,
  1137. urlbase: '/sys'
  1138. }).extend({
  1139. index: 'lib/index' //主入口模块
  1140. }).use(['index', 'table', 'layedit', 'element', 'upload'], function () {
  1141. var $ = layui.$,
  1142. table = layui.table,
  1143. element = layui.element,
  1144. upload = layui.upload,
  1145. form = layui.form,
  1146. rType = 'changeLF',
  1147. visitFieldAll = [],
  1148. checkedArr = [],
  1149. defaultArr = [];
  1150. var rTypeIndex = 0;
  1151. form.render();
  1152. $('.lay-tab div').click(function () {
  1153. rType = $(this).prop('dataset').type;
  1154. let index = parseInt($(this).prop('dataset').index);
  1155. rTypeIndex = index;
  1156. $(this).addClass('lay-active').siblings().removeClass("lay-active");
  1157. $('.layleft-switch').eq(index).removeClass('layui-hide').siblings().addClass('layui-hide');
  1158. $('.imgview').children().eq(index).removeClass('layui-hide').siblings().addClass('layui-hide');
  1159. getVisitFiled();
  1160. $('.allElement').children().eq(index).removeClass('layui-hide').siblings().addClass('layui-hide');
  1161. $('.switchTabBox').children().eq(index).addClass('switchActive').siblings().removeClass('switchActive');
  1162. if (index < 3) {
  1163. $('.changeRecordBox').children().eq(index).removeClass('layui-hide').siblings().addClass('layui-hide')
  1164. } else {
  1165. $('.changeRecordBox').children().eq(0).addClass('layui-hide');
  1166. $('.changeRecordBox').children().eq(1).addClass('layui-hide');
  1167. $('.changeRecordBox').children().eq(2).addClass('layui-hide');
  1168. }
  1169. if (index == 1) {
  1170. $('.ddnhdElement').removeClass('layui-hide');
  1171. } else {
  1172. $('.ddnhdElement').addClass('layui-hide');
  1173. }
  1174. })
  1175. getVisitFiled();
  1176. function getVisitFiled() {
  1177. $.ajax({
  1178. type: "get",
  1179. url: "{:url('customerSetting/moduleField')}",
  1180. data: {
  1181. type: rType
  1182. },
  1183. dataType: 'json',
  1184. success: function (res) {
  1185. if (res.code == 0) {
  1186. visitFieldAll = res.all;
  1187. checkedArr = res.checked;
  1188. defaultArr = res.default;
  1189. renderVisitFieldHtmls(visitFieldAll);
  1190. renderCheckedFieldHtmls(checkedArr);
  1191. setExampleHtml(checkedArr)
  1192. }
  1193. }
  1194. })
  1195. }
  1196. function setExampleHtml(dataArr) {
  1197. let htmls = dataArr.map(v => {
  1198. if (v.type == 1) {
  1199. return `<div class="layinputtext">
  1200. <div class="textlabel">${v.name}</div>
  1201. <div class="textinput">请输入</div>
  1202. </div>`;
  1203. } else if (v.type == 2) {
  1204. return `<div class="layinputtext">
  1205. <div class="textlabel">${v.name}</div>
  1206. <div class="textinput">请输入</div>
  1207. </div>`;
  1208. } else if (v.keyname == 'level') {
  1209. return `<div class="layinputtext">
  1210. <div class="textlabel">${v.name}</div>
  1211. <div class="gradecontent">
  1212. ${v.select.map(o => {
  1213. return `<span>${o.name}类</span>`;
  1214. }).join('')}
  1215. </div>
  1216. </div>`;
  1217. } else if (v.type == 3 && v.select.length == 2) {
  1218. return `<div class="layinputtext">
  1219. <div class="textlabel">${v.name}</div>
  1220. <div class="radiocontent">
  1221. ${v.select.map(o => {
  1222. return `<div>
  1223. <img src="https://o.nczyzs.com/xcx/unselected.png" width="15px" alt="">
  1224. <span style="margin-left: 5px;">${o.name}</span>
  1225. </div>`;
  1226. }).join('')}
  1227. </div>
  1228. </div>`;
  1229. } else if (v.type == 3 && v.select.length > 2 && v.keyname != 'level') {
  1230. return `<div class="layinputtext">
  1231. <div class="textlabel">${v.name}</div>
  1232. <div class="selectContent">
  1233. <span>请选择</span>
  1234. <img src="__STATIC__/img/cjtimg.png" alt="">
  1235. </div>
  1236. </div>`;
  1237. } else if (v.type == 4) {
  1238. return `<div class="layinputtext">
  1239. <div class="textlabel">${v.name}</div>
  1240. <div class="selectContent">
  1241. <span>请选择</span>
  1242. <img src="__STATIC__/img/cjtimg.png" alt="">
  1243. </div>
  1244. </div>`;
  1245. } else if (v.type == 5) {
  1246. return `<div class="layinputtext">
  1247. <div class="textlabel">${v.name}</div>
  1248. <div class="dateContent">
  1249. <span>请选择</span>
  1250. <img src="__STATIC__/img/rili.png" alt="">
  1251. </div>
  1252. </div>`;
  1253. } else if (v.type == 6) {
  1254. return `<div class="layinputtext">
  1255. <div class="textlabel">${v.name}</div>
  1256. <div class="dateContent">
  1257. <span></span>
  1258. <img src="__STATIC__/img/addimg.png" alt="">
  1259. </div>
  1260. </div>`;
  1261. }
  1262. }).join('');
  1263. $('.leftCustomField').html(htmls);
  1264. }
  1265. function renderVisitFieldHtmls(fields) {
  1266. $('#visitAllField').text(`可选择字段(共${fields.length}个)`);
  1267. let htmls = fields.map((item, index) => {
  1268. return `<div class="fieldItem ${item.other_checked == 1 ? 'class_disabled' : ''}"><input lay-filter="checkboxs" class="visitFieldElement${item.id}" type="checkbox" ${(returnCheckedStatus(item.id)) ? 'checked' : ''} ${item.other_checked == 1 ? 'disabled' : ''} name="visit" value="${item.id}" title="${item.name}" lay-skin="primary"></div>`;
  1269. }).join('');
  1270. $('.selectFieldBox').html(htmls);
  1271. setTimeout(() => {
  1272. form.render();
  1273. form.on('checkbox(checkboxs)', function (data) {
  1274. if (data.elem.checked) {
  1275. let OneValue = [];
  1276. $(`input:checkbox[name='visit']:checked`).each(function (i) {
  1277. OneValue.push({ id: $(this).val(), name: $(this).prop('title') });
  1278. });
  1279. let itemArr = [];
  1280. OneValue.forEach(k => {
  1281. let item = checkedArr.filter(o => o.id == k.id);
  1282. if (!item.length) {
  1283. itemArr.push(k)
  1284. }
  1285. })
  1286. checkedArr.push(...itemArr);
  1287. renderCheckedFieldHtmls(checkedArr);
  1288. } else {
  1289. checkedArr.forEach((y, i) => {
  1290. if (data.value == y.id) {
  1291. checkedArr.splice(i, 1);
  1292. renderCheckedFieldHtmls(checkedArr);
  1293. return;
  1294. }
  1295. })
  1296. }
  1297. })
  1298. form.on('checkbox(checkedAll)', function (data) {
  1299. if (data.elem.checked) {
  1300. $(`input:checkbox[name='visit']`).each(function (i) {
  1301. $(this).prop('checked', true);
  1302. });
  1303. checkedArr = visitFieldAll;
  1304. renderCheckedFieldHtmls(checkedArr);
  1305. form.render();
  1306. } else {
  1307. checkedArr = [];
  1308. renderCheckedFieldHtmls(checkedArr);
  1309. $(`input:checkbox[name='visit']:checked`).each(function (i) {
  1310. $(this).prop('checked', false);
  1311. });
  1312. form.render();
  1313. }
  1314. })
  1315. }, 600);
  1316. }
  1317. function renderCheckedFieldHtmls(checkedFields) {
  1318. $('#checkedFieldEl').text(`已选择字段(共${checkedFields.length}个)`);
  1319. let htmls = checkedFields.map((item, index) => {
  1320. return `<div data-id="${item.id}" class="sortItemBox">
  1321. <div data-id="${item.id}" class="sortLeft">
  1322. <img data-id="${item.id}" class="moveElement" src="/static/img/move.png" alt="">
  1323. <span data-id="${item.id}" class="getSortName">${item.name}</span>
  1324. </div>
  1325. <div data-id="${item.id}" class="sortRight">
  1326. <img data-id="${item.id}" src="/static/img/sTop.png" alt="">
  1327. <img data-id="${item.id}" src="/static/img/sDel.png" class="checkedDel" alt="">
  1328. </div>
  1329. </div>`;
  1330. }).join('');
  1331. $('.checkedFieldBox').html(htmls);
  1332. setTimeout(() => {
  1333. new Sortable($('.checkedFieldBox')[0], {
  1334. handle: '.moveElement', // handle's class
  1335. animation: 150
  1336. });
  1337. $('.sortRight').click(function () {
  1338. var ops1 = {
  1339. draggable: ".sortItemBox",
  1340. onChoose: function (evt) {
  1341. var index = evt.oldIndex;
  1342. $("#checkedFieldBox .sortItemBox").eq(index).insertBefore($("#checkedFieldBox .sortItemBox").eq(0));
  1343. }
  1344. };
  1345. var sortable1 = Sortable.create($('.checkedFieldBox')[0], ops1);
  1346. })
  1347. $('.checkedDel').click(function () {
  1348. let id = $(this).prop('dataset').id;
  1349. $(this).parent().parent().remove();
  1350. checkedArr.forEach((item, index) => {
  1351. if (item.id == id) {
  1352. $(`.visitFieldElement${id}`).removeAttr('checked');
  1353. checkedArr.splice(index, 1);
  1354. form.render();
  1355. return;
  1356. }
  1357. })
  1358. })
  1359. }, 600);
  1360. }
  1361. function returnCheckedStatus(vid) {
  1362. let ids = checkedArr.map(v => parseInt(v.id));
  1363. return ids.includes(parseInt(vid));
  1364. }
  1365. $('#checkedSearchEl').on('keyup', function (e) {
  1366. let val = $(this).val();
  1367. if (e.keyCode == 13 && val) {
  1368. let eleArr = $('.getSortName');
  1369. eleArr.each(function (index) {
  1370. let name = $(this).text();
  1371. if (name === val || name.indexOf(val) > -1) {
  1372. $('#scrollTargetEl').scrollTop((parseInt(index) + 1) * 40);
  1373. return;
  1374. }
  1375. })
  1376. }
  1377. });
  1378. $('#allFieldInput').on('keyup', function (e) {
  1379. let val = $(this).val();
  1380. if (e.keyCode == 13) {
  1381. if (val) {
  1382. let itemArr = visitFieldAll.filter(item => {
  1383. if (val == item.name || item.name.search(val) > -1) {
  1384. return item;
  1385. }
  1386. })
  1387. renderVisitFieldHtmls(itemArr);
  1388. } else {
  1389. renderVisitFieldHtmls(visitFieldAll);
  1390. }
  1391. }
  1392. })
  1393. $('#recoveryDefault').click(function () {
  1394. layer.confirm('确定要恢复默认设置吗?', { title: '提示' }, function (index) {
  1395. checkedArr = defaultArr;
  1396. renderVisitFieldHtmls(visitFieldAll);
  1397. renderCheckedFieldHtmls(checkedArr);
  1398. layer.close(index);
  1399. });
  1400. })
  1401. /* 监听提交 */
  1402. form.on('submit(layuiadmin-app-form-submit)', function (obj) {
  1403. var switchoff = $('.layleft-switch').eq(rTypeIndex).find('input').prop('checked') == true ? '1' : '0';
  1404. var ddnhdinputswitch = $('.ddnhdinputswitch').find('input').prop('checked') == true ? '1' : '0';
  1405. let getCheckedField = $('.sortItemBox');
  1406. let itemArr = [];
  1407. let subtype = 'LF';
  1408. getCheckedField.each(function (i) {
  1409. let id = $(this).prop('dataset').id;
  1410. itemArr.push({ id: id, sort: i + 1 });
  1411. })
  1412. if (rType == 'changeLF') {
  1413. subtype = 'LF';
  1414. } else if (rType == 'changeDD') {
  1415. subtype = 'DD';
  1416. } else if (rType == 'changeHD') {
  1417. subtype = 'HD';
  1418. } else if (rType == 'changeJD') {
  1419. subtype = 'QD';
  1420. } else if (rType == 'changeZD') {
  1421. subtype = 'ZD';
  1422. } else if (rType == 'changeMK') {
  1423. subtype = 'MK';
  1424. }
  1425. $.ajax({
  1426. url: '{:url("customerSetting/moduleChange")}',
  1427. type: 'post',
  1428. data: {
  1429. type: subtype,
  1430. content: itemArr,
  1431. switch: switchoff,
  1432. ddhd_switch: ddnhdinputswitch
  1433. },
  1434. dataType: 'json',
  1435. success: function (res) {
  1436. if (res.code === 0) {
  1437. layer.msg(res.msg, { anim: 0 });
  1438. setTimeout(() => {
  1439. window.parent.reloadFunc();
  1440. }, 1000)
  1441. } else {
  1442. layer.msg(res.msg, { anim: 6 });
  1443. }
  1444. }
  1445. });
  1446. return false;
  1447. });
  1448. });
  1449. </script>
  1450. {/block}