integral_setting.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. {extend name="public/layout" /} {block name="title"}创建训练营{/block} {block name="body"}
  2. <style type="text/css">
  3. html {}
  4. body {
  5. min-width: 320px;
  6. }
  7. .layui-fluid {
  8. display: block;
  9. box-shadow: 0 0 4px 0 #B6CADE;
  10. border-radius: 5px;
  11. margin: 15px;
  12. background-color: #ffffff;
  13. }
  14. @media screen and (max-width: 450px) {
  15. .layui-form-item {
  16. width: 100%;
  17. }
  18. }
  19. #layuiadmin-app-form-list {
  20. padding: 1% 2%;
  21. }
  22. .layui-form-label {
  23. width: 6%;
  24. }
  25. .layui-input {
  26. border: none;
  27. outline: none;
  28. }
  29. .layui-input-inline {
  30. border: 1px solid #D4E4ED !important;
  31. }
  32. .flex-center {
  33. display: flex;
  34. align-items: center;
  35. }
  36. .border {
  37. border: 1px solid #D4E4ED;
  38. padding-right: 10px;
  39. border-radius: 5px;
  40. }
  41. .layui-form-radio>i:hover,
  42. .layui-form-radioed>i {
  43. color: #249EFB;
  44. }
  45. .layui-form-radioed {
  46. color: #249EFB;
  47. }
  48. .layui-tab-card>.layui-tab-title {
  49. background-color: #fff;
  50. }
  51. .layui-tab-card {
  52. border-radius: 10px;
  53. box-shadow: none;
  54. border: none;
  55. }
  56. .layui-form-label {
  57. color: #8A9AAA;
  58. }
  59. .fontstyle {
  60. font-size: 15px;
  61. }
  62. .layui-input::placeholder {
  63. color: #9DB6CF;
  64. }
  65. .layui-anim.layui-icon {
  66. font-size: 18px;
  67. }
  68. .layui-tab-title .layui-this {
  69. color: #249EFB;
  70. }
  71. .layui-tab-title .layui-this:after {
  72. width: 50px;
  73. height: 4px;
  74. background-color: #249EFB;
  75. top: 36px !important;
  76. left: 50%;
  77. transform: translateX(-50%);
  78. border: none;
  79. }
  80. .layui-tab-title li {
  81. margin: 0px 5px;
  82. }
  83. .layui-tab-title {
  84. border-bottom: 1px solid #f5f5f5;
  85. }
  86. .labelName {
  87. width: 100%;
  88. height: 18px;
  89. border-left: 4px solid #249EFB;
  90. color: #333333;
  91. line-height: 18px;
  92. padding-left: 5px;
  93. margin-top: 15px;
  94. }
  95. .layui-tab-card {
  96. padding: 10px 40px;
  97. }
  98. .layui-card {
  99. box-shadow: none;
  100. }
  101. .color999 {
  102. color: #999;
  103. }
  104. .font12 {
  105. font-size: 12px;
  106. }
  107. .color222 {
  108. color: #222222;
  109. }
  110. .layui_add_ul{overflow: hidden;padding: 10px 0;}
  111. .layui_add_ul li{float:left;margin:12px 0 0 15px;cursor: pointer;border-radius: 2px;}
  112. .layui_add_lis{padding:0 18px;line-height: 36px;height: 36px;border:1px solid #333333;position: relative;}
  113. .closeico{position: absolute;width:15px;right: -7px;top:-7px;cursor: pointer;}
  114. .add_uls_li{background:#249EFB;border:1px solid #249EFB !important;color:#fff !important;}
  115. </style>
  116. <body>
  117. <div class="layui-fluid">
  118. <div class="layui-card">
  119. <ul class="layui-tab-title">
  120. <li id="details"><a class="ablock" href="{:url('agents/set')}">基础信息设置</a></li>
  121. <li id="details"><a class="ablock" href="{:url('agents/prize_setting')}?type=1">积分兑换设置</a></li>
  122. <li class="layui-this">装修推荐官积分规则设置</li>
  123. <!-- <li id="details"><a class="ablock" href="{:url('agents/integral_setting')}?type=2">核销设置</a></li> -->
  124. <!-- <li id="details"><a class="ablock" href="{:url('agents/set_name')}">主题名称设置</a></li> -->
  125. </ul>
  126. <form class="layui-form" enctype="multipart/form-data">
  127. <div class="layui-form">
  128. <div class="layui-form-item">
  129. <div class="layui-tab layui-tab-card">
  130. <!-- -->
  131. <ul class="layui_add_ul">
  132. {volist name="typelist" id="vo"}
  133. <li class="layui_add_lis">{$vo.type_name}<img data-id="{$vo.id}" data-title="{$vo.type_name}" class="closeico" src="__STATIC__/img/cancle.png" alt=""></li>
  134. {/volist}
  135. <li><button type="button" id="add_prize" class="layui-btn layui-btn-normals">添加</button></li>
  136. <!-- <li class="layui_add_lis">装修推荐官<img class="closeico" src="__STATIC__/img/cancle.png" alt=""></li> -->
  137. </ul>
  138. <!-- -->
  139. <!-- <div class="labelName">装修推荐官</div> -->
  140. <div class="layui-form-item flex-center">
  141. <label class="layui-form-label color222" style="width: 150px;">推荐1个客户</label>
  142. <div class="layui-input-inline flex-center" style="width: 210px;">
  143. <input type="number" id="activiteTitle" name="putong" lay-verify="required"
  144. placeholder="请输入积分" value=""
  145. oninput="value=value.replace(/[^0-9]/g,'')" autocomplete="off" min="0"
  146. max="999999999" class="layui-input" style="max-width: 500px;">
  147. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  148. </div>
  149. <span class="color999 font12">备注:装修推荐官推荐一个客户获得多少积分</span>
  150. </div>
  151. <div class="layui-form-item flex-center">
  152. <label class="layui-form-label color222" style="width: 150px;">分享1条内容</label>
  153. <div class="layui-input-inline flex-center" style="width: 210px;">
  154. <input type="number" id="activiteTitle" oninput="value=value.replace(/[^0-9]/g,'')"
  155. name="ptagentshare" lay-verify="required" placeholder="请输入积分"
  156. value="" autocomplete="off" class="layui-input"
  157. min="0" style="max-width: 500px;">
  158. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  159. </div>
  160. <span class="color999 font12">备注:装修推荐官分享一条指派的内容后获得多少积分</span>
  161. </div>
  162. <div class="layui-form-item flex-center">
  163. <label class="layui-form-label color222" style="width: 150px;">分享内容获得一条线索</label>
  164. <div class="layui-input-inline flex-center" style="width: 210px;">
  165. <input type="number" id="activiteTitle" oninput="value=value.replace(/[^0-9]/g,'')"
  166. name="produceclue" lay-verify="required" placeholder="请输入积分"
  167. value="" autocomplete="off" class="layui-input"
  168. min="0" style="max-width: 500px;">
  169. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  170. </div>
  171. <span class="color999 font12">备注:装修推荐官分享的内容获取一条线索客户获得多少积分</span>
  172. </div>
  173. <div class="layui-form-item flex-center">
  174. <label class="layui-form-label color222" style="width: 150px;">客户到店</label>
  175. <div class="layui-input-inline flex-center" style="width: 210px;">
  176. <input type="number" id="activiteTitle" oninput="value=value.replace(/[^0-9]/g,'')"
  177. name="daodian" lay-verify="required" placeholder="请输入积分"
  178. value="" autocomplete="off" class="layui-input" min="0"
  179. style="max-width: 500px;">
  180. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  181. </div>
  182. <span class="color999 font12">备注:装修推荐官推荐的客户及分享获得的客户到店后获得多少积分</span>
  183. </div>
  184. <div class="layui-tab-item" style="display: flex;">
  185. <div class="layui-form-item">
  186. <label class="layui-form-label color222" style="width: 150px;">客户定金</label>
  187. <div class="layui-input-inline flex-center" style="width: 210px;">
  188. <input type="number" id="activiteTitle"
  189. oninput="value=value.replace(/[^0-9]/g,'')" name="jiaoding"
  190. lay-verify="required" placeholder="请输入积分" value=""
  191. autocomplete="off" class="layui-input" min="0" style="max-width: 500px;">
  192. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  193. </div>
  194. </div>
  195. <div class="layui-form-item">
  196. <label class="layui-form-label color222" style="width: 87px;">返积分时间</label>
  197. <div class="layui-input-inline flex-center" style="width: 160px;">
  198. <input type="number" id="hxtime" name="hxtime" lay-verify="required"
  199. value="" oninput="value=value.replace(/[^0-9]/g,'')"
  200. placeholder="请输入天数" autocomplete="off" min="0" max="999999999"
  201. class="layui-input" style="max-width: 500px;">
  202. <span style="white-space: nowrap;padding: 0px 5px;">天后</span>
  203. </div>
  204. </div>
  205. </div>
  206. <div class="layui-tab-item" style="display: flex;margin: 0px 0px 10px;">
  207. <label class="layui-form-label" style="width: 150px;"></label>
  208. <span class="color999 font12">备注:客户签定后获得多少积分,为防止装修推荐官刷单,设置客户签定后多长时间以后再返给装修推荐官积分</span>
  209. </div>
  210. <div class="layui-tab-item" style="display: flex;">
  211. <div class="layui-form-item">
  212. <label class="layui-form-label color222" style="width: 150px;">客户合同</label>
  213. <div class="layui-input-inline flex-center" style="width: 210px;">
  214. <input type="number" id="activiteTitle"
  215. oninput="value=value.replace(/[^0-9]/g,'')" name="qiandan"
  216. lay-verify="required" placeholder="请输入积分" value=""
  217. autocomplete="off" class="layui-input" min="0" style="max-width: 500px;">
  218. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  219. </div>
  220. </div>
  221. <div class="layui-form-item">
  222. <label class="layui-form-label color222" style="width: 87px;">返积分时间</label>
  223. <div class="layui-input-inline flex-center" style="width: 160px;">
  224. <input type="number" id="hxtime_sign" name="hxtime_sign" lay-verify="required"
  225. value=""
  226. oninput="value=value.replace(/[^0-9]/g,'')" placeholder="请输入天数"
  227. autocomplete="off" min="0" max="999999999" class="layui-input"
  228. style="max-width: 500px;">
  229. <span style="white-space: nowrap;padding: 0px 5px;">天后</span>
  230. </div>
  231. </div>
  232. </div>
  233. <div class="layui-tab-item" style="display: flex;">
  234. <div class="layui-form-item">
  235. <label class="layui-form-label color222" style="width: 150px;">客户合同</label>
  236. <div class="layui-input-inline flex-center" style="width: 210px;">
  237. <span style="white-space: nowrap;padding: 0px 5px;">每</span>
  238. <input type="number" id="activiteTitle" name="qiandan_money" lay-verify="required"
  239. value=""
  240. oninput="value=value.replace(/[^0-9]/g,'')" placeholder="请输入金额"
  241. autocomplete="off" min="0" max="999999999" class="layui-input"
  242. style="max-width: 500px;">
  243. <span style="white-space: nowrap;padding: 0px 5px;">金额</span>
  244. </div>
  245. </div>
  246. <div class="layui-form-item">
  247. <label class="layui-form-label color222" style="width: 87px;">返积分</label>
  248. <div class="layui-input-inline flex-center" style="width: 160px;">
  249. <input type="number" id="activiteTitle" name="qiandan_scale"
  250. oninput="value=value.replace(/[^0-9]/g,'')"
  251. lay-verify="required" placeholder="请输入积分" value=""
  252. autocomplete="off" class="layui-input" min="0" style="max-width: 500px;">
  253. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  254. </div>
  255. </div>
  256. </div>
  257. <div class="layui-tab-item" style="display: flex;margin: 0px 0px 10px;">
  258. <label class="layui-form-label" style="width: 150px;"></label>
  259. <span class="color999 font12">备注:客户签合同后获得多少积分,为防止装修推荐官刷单,设置客户签合同后多长时间以后再返给装修推荐官积分</span>
  260. </div>
  261. <div class="layui-form-item flex-center">
  262. <label class="layui-form-label color222" style="width: 150px;">客户量房</label>
  263. <div class="layui-input-inline flex-center" style="width: 210px;">
  264. <input type="number" id="activiteTitle" oninput="value=value.replace(/[^0-9]/g,'')"
  265. name="measuring" lay-verify="required" placeholder="请输入积分"
  266. value="" autocomplete="off" class="layui-input" min="0"
  267. style="max-width: 500px;">
  268. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  269. </div>
  270. <span class="color999 font12">备注:装修推荐官推荐及分享获得的客户量房后获得多少积分</span>
  271. </div>
  272. <div class="layui-form-item flex-center">
  273. <label class="layui-form-label color222" style="width: 150px;">套房客户量房</label>
  274. <div class="layui-input-inline flex-center" style="width: 210px;">
  275. <input type="number" id="activiteTitle" oninput="value=value.replace(/[^0-9]/g,'')"
  276. name="measuring_suite" lay-verify="required" placeholder="请输入积分"
  277. value="" autocomplete="off" class="layui-input" min="0"
  278. style="max-width: 500px;">
  279. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  280. </div>
  281. <span class="color999 font12">备注:装修推荐官推荐及分享获得的套房客户量房后获得多少积分</span>
  282. </div>
  283. <div class="layui-form-item flex-center">
  284. <label class="layui-form-label color222" style="width: 150px;">别墅客户量房</label>
  285. <div class="layui-input-inline flex-center" style="width: 210px;">
  286. <input type="number" id="activiteTitle" oninput="value=value.replace(/[^0-9]/g,'')"
  287. name="measuring_villa" lay-verify="required" placeholder="请输入积分"
  288. value="" autocomplete="off" class="layui-input" min="0"
  289. style="max-width: 500px;">
  290. <span style="white-space: nowrap;padding: 0px 5px;">积分</span>
  291. </div>
  292. <span class="color999 font12">备注:装修推荐官推荐及分享获得的别墅客户量房后获得多少积分</span>
  293. </div>
  294. <div style="width: 100%;height: 1px;background-color: #ccc;margin-bottom: 15px;"></div>
  295. <input type="button" style="margin-left:8%;width:165px;height:38px;margin-top: 80px;"
  296. lay-submit class="layui-btn layui-btn-normal" lay-filter="activity-submit"
  297. id="activity-submit" value="确定设置">
  298. </div>
  299. </div>
  300. <input type="hidden" name="id" id="tableid">
  301. </form>
  302. </div>
  303. </div>
  304. </body>
  305. {/block} {block name="js"}
  306. <script>
  307. layui.config({
  308. base: '__LAYUI__/',
  309. urlbase: '/sys'
  310. }).extend({
  311. index: 'lib/index' //主入口模块
  312. }).use(['index', 'table', 'upload', 'form'], function () {
  313. var $ = layui.$,
  314. upload = layui.upload,
  315. form = layui.form;
  316. var addprize = [];
  317. $('#add_prize').on('click',function(){
  318. layer.prompt({title:'添加类型'},function(val, index){
  319. $.ajax({
  320. url: '{:url("agents/add_agenttype")}',
  321. type: 'post',
  322. data: {name:val},
  323. success: function (res) {
  324. if (res.code === 0) {
  325. layer.msg(res.msg, {
  326. anim: 0
  327. , time: 2000
  328. });
  329. location.reload();
  330. } else {
  331. layer.msg(res.msg, {
  332. anim: 6
  333. , time: 2000
  334. });
  335. }
  336. }
  337. });
  338. layer.close(index);
  339. });
  340. })
  341. $('.layui_add_lis').eq(0).addClass('add_uls_li');
  342. $('.layui_add_lis').on('click',function(){
  343. $(this).addClass('add_uls_li').siblings().removeClass('add_uls_li');
  344. })
  345. $('.closeico').on('click',function(){
  346. var id = $(this).data('id');
  347. var title = $(this).data('title');
  348. $.ajax({
  349. url: '{:url("agents/del_agenttype")}',
  350. type: 'post',
  351. data: {id:id},
  352. success: function (res) {
  353. if (res.code === 0) {
  354. layer.msg(res.msg, {
  355. anim: 0
  356. , time: 2000
  357. });
  358. } else {
  359. layer.msg(res.msg, {
  360. anim: 6
  361. , time: 2000
  362. });
  363. }
  364. }
  365. });
  366. $(this).parent().remove();
  367. })
  368. $('.layui_add_lis').dblclick(function(){
  369. var aid = $(this).find('img').data('id');
  370. var atitle = $(this).find('img').data('title');
  371. console.log(atitle)
  372. var indexs = layer.prompt({title:'添加类型'},function(val, index){
  373. //layer.msg('编辑成功!');
  374. $.ajax({
  375. url: '{:url("agents/edit_agenttype")}',
  376. type: 'post',
  377. data: {name:val,id:aid},
  378. success: function (res) {
  379. if (res.code === 0) {
  380. layer.msg(res.msg, {
  381. anim: 0
  382. , time: 2000
  383. });
  384. } else {
  385. layer.msg(res.msg, {
  386. anim: 6
  387. , time: 2000
  388. });
  389. }
  390. }
  391. });
  392. layer.close(index);
  393. })
  394. $('#layui-layer'+indexs+' .layui-layer-input').val(atitle);
  395. })
  396. $('.layui_add_lis').click(function(){
  397. let id = $(this).find('img').data('id');
  398. $('#tableid').val(id);
  399. get_agentrule(id);
  400. })
  401. var aids = $('.layui_add_lis').eq(0).find('img').data('id');
  402. $('#tableid').val(aids);
  403. get_agentrule(aids);
  404. function get_agentrule(aids){
  405. $.ajax({
  406. url: '{:url("agents/get_agentrule")}',
  407. type: 'post',
  408. data: {id:aids},
  409. success: function (res) {
  410. if (res.code === 0) {
  411. if(res.data.count){
  412. $('input[name="putong"]').val(res.data.count['putong_integral']);
  413. $('input[name="ptagentshare"]').val(res.data.count['ptagentshare_integral']);
  414. $('input[name="produceclue"]').val(res.data.count['produceclue_integral']);
  415. $('input[name="daodian"]').val(res.data.count['daodian_integral']);
  416. $('input[name="measuring"]').val(res.data.count['measuring_integral']);
  417. $('input[name="measuring_suite"]').val(res.data.count['measuring_suite_integral']);
  418. $('input[name="measuring_villa"]').val(res.data.count['measuring_villa_integral']);
  419. $('input[name="jiaoding"]').val(res.data.count['jiaoding_integral']);
  420. $('input[name="hxtime"]').val(res.data.count['agent_hx_time']);
  421. $('input[name="qiandan"]').val(res.data.count['qiandan_integral']);
  422. $('input[name="qiandan_scale"]').val(res.data.count['qiandan_scale_integral']);
  423. $('input[name="qiandan_money"]').val(res.data.count['qiandan_money_integral']);
  424. $('input[name="hxtime_sign"]').val(res.data.count['agent_hxtime_sign']);
  425. }else{
  426. $('input[name="putong"]').val('0');
  427. $('input[name="ptagentshare"]').val('0');
  428. $('input[name="produceclue"]').val('0');
  429. $('input[name="daodian"]').val('0');
  430. $('input[name="measuring"]').val('0');
  431. $('input[name="measuring_suite"]').val('0');
  432. $('input[name="measuring_villa"]').val('0');
  433. $('input[name="jiaoding"]').val('0');
  434. $('input[name="hxtime"]').val('0');
  435. $('input[name="qiandan"]').val('0');
  436. $('input[name="qiandan_scale"]').val('0');
  437. $('input[name="qiandan_money"]').val('0');
  438. $('input[name="hxtime_sign"]').val('0');
  439. }
  440. } else {
  441. layer.msg(res.msg, {
  442. anim: 6
  443. , time: 2000
  444. });
  445. }
  446. }
  447. });
  448. }
  449. /* 监听提交 */
  450. form.on('submit(activity-submit)', function (obj) {
  451. var formData = new FormData(obj.form);
  452. $.ajax({
  453. url: '{:url("agents/set_agentrule")}',
  454. type: 'post',
  455. data: formData,
  456. dataType: 'json',
  457. processData: false,
  458. contentType: false,
  459. success: function (res) {
  460. if (res.code === 0) {
  461. layer.msg(res.msg, {
  462. anim: 0
  463. , time: 2000
  464. }, function () {
  465. location.reload();
  466. });
  467. } else {
  468. layer.msg(res.msg, {
  469. anim: 6
  470. , time: 2000
  471. });
  472. }
  473. }
  474. });
  475. });
  476. });
  477. </script>
  478. {/block}