index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>用户推广</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  10. <meta name="apple-mobile-web-app-capable" content="yes">
  11. <meta name="format-detection" content="telephone=no">
  12. <link rel="stylesheet" type="text/css" href="../../layui/css/layui.css" />
  13. <link rel="stylesheet" type="text/css" href="../../css/common.css" />
  14. <style type="text/css">
  15. body {
  16. font-family: 'Microsoft YaHei';
  17. }
  18. .ui-required:before {
  19. content: "*";
  20. color: red;
  21. vertical-align: middle;
  22. }
  23. .my-head {
  24. border: 1px solid #e9e9e9;
  25. background-color: #fafafa;
  26. color: #000000d8;
  27. }
  28. .mybox {
  29. border-right: 1px solid #e9e9e9;
  30. margin-right: 10px;
  31. text-align: center;
  32. font-size: 16px;
  33. margin: 10px 0;
  34. }
  35. .mybox h2 {
  36. margin-bottom: 15px;
  37. font-weight: bold;
  38. }
  39. .no-border {
  40. border: none;
  41. }
  42. .margin-top {
  43. margin-top: 10px;
  44. }
  45. .text-right {
  46. text-align: right;
  47. }
  48. .my-btn {
  49. margin: 10px;
  50. }
  51. .my-head-1 {
  52. border-bottom: 1px solid #e9e9e9;
  53. padding-bottom: 10px;
  54. }
  55. .my-title {
  56. line-height: 100%;
  57. font-size: 16px;
  58. padding-top: 10px;
  59. color: #3398db;
  60. }
  61. .text-center {
  62. text-align: center;
  63. }
  64. .article-title {
  65. margin: 30px 0 5px 15px;
  66. }
  67. .article-content {
  68. padding-top: 5px;
  69. padding-left: 45px;
  70. }
  71. #roleSelectViwe .layui-form-item {
  72. margin-bottom: 0
  73. }
  74. #roleSelectViwe .layui-input-inline {
  75. width: calc(100% - 110px);
  76. margin-right: 0;
  77. }
  78. .region {
  79. padding-left: 10px;
  80. height: 38px;
  81. line-height: 38px;
  82. background-color: #fff;
  83. border-radius: 2px;
  84. border: 1px solid #e6e6e6;
  85. width: 100% !important;
  86. width: calc(100% - 132px) !important;
  87. }
  88. .userTip {
  89. color: #666;
  90. font-size: 12px;
  91. }
  92. .userTip b {
  93. color: #333;
  94. }
  95. #roleSelectViwe .layui-form-item {
  96. margin-bottom: 0
  97. }
  98. #roleSelectViwe .layui-input-inline {
  99. width: calc(100% - 110px);
  100. margin-right: 0;
  101. }
  102. .region {
  103. padding-left: 10px;
  104. height: 38px;
  105. line-height: 38px;
  106. background-color: #fff;
  107. border-radius: 2px;
  108. border: 1px solid #e6e6e6;
  109. width: calc(100% - 132px) !important;
  110. }
  111. .userTip {
  112. color: #666;
  113. font-size: 12px;
  114. }
  115. .userTip b {
  116. color: #333;
  117. }
  118. .my-middle {
  119. line-height: 36px;
  120. }
  121. .my-button {
  122. width: 60%;
  123. margin-left: 20%;
  124. height: 40px;
  125. text-align: center;
  126. line-height: 40px;
  127. border: 1px dashed;
  128. border-radius: 5px;
  129. }
  130. .my-inline {
  131. display: inline-block;
  132. float: left;
  133. text-align: center;
  134. height: 38px;
  135. line-height: 38px;
  136. width: 10%;
  137. }
  138. .my-images-inline {
  139. display: inline-block;
  140. width: 104px;
  141. height: 104px;
  142. border: 1px dashed;
  143. border-radius: 5px;
  144. padding: 4px;
  145. vertical-align: top;
  146. margin: 4px;
  147. position: relative;
  148. }
  149. .my-images-inline .layui-icon {
  150. position: absolute;
  151. top: -10px;
  152. right: -4px;
  153. width: 17px;
  154. height: 16px;
  155. line-height: 16px;
  156. z-index: 9999;
  157. }
  158. .my-img {
  159. width: 100%;
  160. height: 100%;
  161. }
  162. .my-images-add {
  163. display: inline-block;
  164. text-align: center;
  165. line-height: 103px;
  166. font-size: 32px;
  167. cursor: pointer;
  168. background-color: #fbfbfb;
  169. }
  170. .my-del {
  171. background-color: black;
  172. color: white;
  173. }
  174. .button-delImage.button-delAssayImage {
  175. position: relative;
  176. left: -2px;
  177. top: -106px;
  178. }
  179. </style>
  180. <script type="text/html" id="imageHtmlTpl">
  181. <div class="layui-form-item">
  182. {{# if(!d.list){d.list = []}; layui.each(d.list, function(index, item){ }}
  183. <div class="my-images-inline">
  184. {{#if ("jpg|jpeg|png|gif|bmp".indexOf(item.substring(item.lastIndexOf(".")+1))==-1){}}
  185. <video class="my-img" src="{{window.hywa.config.href}}/{{item}}" autoplay loop></video>
  186. {{#}else{}}
  187. <img class="my-img" src="{{window.hywa.config.href}}/{{item}}">
  188. {{#} }}
  189. <i class="layui-icon my-del button-delImage" data-bind="{{index}}" title="删除" data-icon="&#x1006;">&#x1006;</i>
  190. </div>
  191. {{# }); }}
  192. <div class="my-images-inline my-images-add" id="{{d.elem}}BTN">+</div>
  193. </div>
  194. </script>
  195. </head>
  196. <body class="childrenBody" style="padding: 15px 15px 65px 15px;">
  197. <div class="layui-fluid">
  198. <form class="layui-form" action="" lay-filter="addForm" style="background: #fff;">
  199. <div class="layui-card">
  200. <div class="layui-card-header my-head">企业信息:</div>
  201. <div class="layui-card-body">
  202. <div class="layui-form-item">
  203. <label class="layui-form-label ui-required">企业名称:</label>
  204. <div class="layui-input-block">
  205. <input type="text" disabled="disabled" name="orgName" maxlength="50" lay-verify="required|normal"
  206. placeholder="请输入企业名称" autocomplete="off" class="layui-input layui-disabled">
  207. </div>
  208. </div>
  209. <div class="layui-form-item">
  210. <label class="layui-form-label">企业地址:</label>
  211. <div class="layui-input-block">
  212. <input type="text" name="orgAddress" placeholder="请输入企业地址" maxLength="100" autocomplete="off"
  213. class="layui-input">
  214. </div>
  215. </div>
  216. <div class="layui-form-item">
  217. <div class="layui-inline">
  218. <label class="layui-form-label ui-required">联系人:</label>
  219. <div class="layui-input-block">
  220. <input type="text" name="principals" lay-verify="required|normal" placeholder="请输入联系人姓名" maxLength="5"
  221. autocomplete="off" class="layui-input">
  222. </div>
  223. </div>
  224. <div class="layui-inline">
  225. <label class="layui-form-label ui-required">联系电话:</label>
  226. <div class="layui-input-block">
  227. <input type="text" name="tel" lay-verify="required|normal" placeholder="请输入联系电话" maxLength="18"
  228. autocomplete="off" class="layui-input">
  229. </div>
  230. </div>
  231. <!-- <div class="layui-inline">
  232. <label class="layui-form-label">企业电话:</label>
  233. <div class="layui-input-block">
  234. <input type="text" name="companyTel" lay-verify="" placeholder="请输入联系电话" maxLength="18" autocomplete="off"
  235. class="layui-input">
  236. </div>
  237. </div> -->
  238. <div class="layui-inline">
  239. <label class="layui-form-label">对外企业qq:</label>
  240. <div class="layui-input-block">
  241. <input type="text" name="qqCode" lay-verify="" placeholder="请输入qq号" maxLength="12" autocomplete="off"
  242. class="layui-input">
  243. </div>
  244. </div>
  245. </div>
  246. <div class="layui-form-item">
  247. <label class="layui-form-label">企业及品牌介绍:</label>
  248. <div class="layui-input-block">
  249. <textarea name="remark" placeholder="请输入企业及品牌介绍" class="layui-textarea"></textarea>
  250. </div>
  251. </div>
  252. <div class="layui-form-item">
  253. <label class="layui-form-label">企业LOGO</label>
  254. <div class="layui-input-block">
  255. <div id="imageListDivLOGO" style="display: flex;"></div>
  256. <div class="layui-form-mid layui-word-aux">图片上传完毕后请记得按保存哦</div>
  257. </div>
  258. </div>
  259. <div class="layui-form-item">
  260. <label class="layui-form-label">企业相关资质</label>
  261. <div class="layui-input-block">
  262. <div id="imageListxgzz" style="display: flex;"></div>
  263. <div class="layui-form-mid layui-word-aux">图片上传完毕后请记得按保存哦</div>
  264. </div>
  265. </div>
  266. <div class="layui-form-item">
  267. <label class="layui-form-label">企业公众号二维码</label>
  268. <div class="layui-input-block">
  269. <div id="imageListDiv" style="display: flex;"></div>
  270. <div class="layui-form-mid layui-word-aux">图片上传完毕后请记得按保存哦</div>
  271. </div>
  272. </div>
  273. <h2 style="font-size:18px;margin-bottom:18px;border-bottom: 1px solid #ddd;padding-bottom: 11px;">购买渠道</h2>
  274. <div class="layui-form-item">
  275. <label class="layui-form-label">天猫商城地址:</label>
  276. <div class="layui-input-block">
  277. <input type="text" name="tmallUrl" placeholder="天猫商城地址" maxLength="100" autocomplete="off"
  278. class="layui-input">
  279. </div>
  280. </div>
  281. <div class="layui-form-item">
  282. <label class="layui-form-label">京东商城地址:</label>
  283. <div class="layui-input-block">
  284. <input type="text" name="jdUrl" placeholder="京东商城地址" maxLength="100" autocomplete="off"
  285. class="layui-input">
  286. </div>
  287. </div>
  288. <div class="layui-form-item">
  289. <label class="layui-form-label">企业官网地址:</label>
  290. <div class="layui-input-block">
  291. <input type="text" name="companyUrl" placeholder="请输入企业官网" maxLength="100" autocomplete="off"
  292. class="layui-input">
  293. </div>
  294. </div>
  295. <div class="layui-form-item layui-layer-btn">
  296. <div class="layui-input-block" style="padding-right: 20px;">
  297. <button class="layui-btn" lay-submit lay-filter="formDemo">保存</button>
  298. </div>
  299. </div>
  300. </div>
  301. </div>
  302. </form>
  303. </div>
  304. </body>
  305. <script type="text/javascript">
  306. function loadJS(url) {
  307. document.write("<script src='" + url + "?ver=" + new Date().getTime() + "'><\/script>")
  308. }
  309. loadJS("../../layui/layui.js");
  310. loadJS("../../js/ajaxhook.min.js");
  311. loadJS("../../js/config.js");
  312. </script>
  313. <script>
  314. layui.use(["form", 'layer', 'jquery', 'laytpl', 'upload'], function () {
  315. var form = layui.form,
  316. layer = layui.layer,
  317. $ = layui.jquery,
  318. laytpl = layui.laytpl,
  319. upload = layui.upload;
  320. var formData = {
  321. guid: true, //带参传入ID
  322. current: {}, //当前表单数据
  323. select_data: "select_Info_org", //查询企业
  324. save_data: 'edit_Info_org', //查询企业
  325. formLayFilter: "addForm", //表单容器
  326. closeModal: function () { //关闭当前窗口
  327. parent.layer.close(parent.layer.getFrameIndex(window.name));
  328. }
  329. };
  330. //图片列表模板
  331. function imageTpl(obj, name, model) {
  332. laytpl(imageHtmlTpl.innerHTML).render(obj, function (html) {
  333. let delelem = $("#" + obj.elem).html(html);
  334. upload.render({
  335. elem: "#" + obj.elem + "BTN",
  336. url: 'uploadImage',
  337. accept: "file",
  338. exts: "jpg|jpeg|png|bmp|gif",
  339. size: 10240, //kb
  340. before: function () {
  341. uploadMsg = layer.msg('正在上传中……', {
  342. icon: 16,
  343. fixed: false,
  344. time: 0
  345. });
  346. },
  347. done: function (res) {
  348. layer.close(uploadMsg);
  349. if (model === 'single') {
  350. formData.current[name] = res.data[0];
  351. } else {
  352. let list;
  353. if (formData.current[name] === "" || !formData.current[name]) {
  354. list = []
  355. } else {
  356. list = formData.current[name].split(';')
  357. }
  358. list.push(res.data[0])
  359. formData.current[name] = list.join(";");
  360. }
  361. imageTpl({
  362. elem: obj.elem,
  363. list: model === 'single' ? [formData.current[name]] : formData.current[name].split(";")
  364. }, name, model);
  365. },
  366. error: function () { }
  367. });
  368. $(delelem[0].querySelectorAll('.button-delImage')).on("click", function (e) {
  369. let showList;
  370. if (model === 'single') {
  371. formData.current[name] = ""
  372. showList = []
  373. } else {
  374. let index = $(this).attr("data-bind");
  375. let list = formData.current[name].split(";")
  376. list.splice(index, 1)
  377. formData.current[name] = list.join(";");
  378. showList = formData.current[name].split(';')
  379. if (list.length == 0) {
  380. showList = [];
  381. formData.current[name] = ""
  382. }
  383. }
  384. imageTpl({
  385. elem: obj.elem,
  386. list: showList
  387. }, name, model);
  388. });
  389. });
  390. }
  391. //初始化
  392. formData.main = function () {
  393. var _this = this;
  394. if (this.guid) {
  395. _this.getCurrent(_this.guid); //获取并初始化表单角色信息
  396. } else {
  397. _this.initialization();
  398. }
  399. return this;
  400. };
  401. //初始化
  402. formData.initialization = function () {
  403. var _this = this;
  404. // console.log(_this.current.qualificaImgs)
  405. imageTpl({
  406. elem: "imageListDiv",
  407. list: _this.current.wxQRImg ? [_this.current.wxQRImg] : [],
  408. }, 'wxQRImg', 'single');
  409. imageTpl({
  410. elem: "imageListDivLOGO",
  411. list: _this.current.ico ? [_this.current.ico] : [],
  412. }, 'ico', 'single');
  413. imageTpl({
  414. elem: "imageListxgzz",
  415. list: _this.current.qualificaImgs ? _this.current.qualificaImgs.split(';') : [],
  416. }, 'qualificaImgs', 'Multi');
  417. //监听提交
  418. form.on('submit(formDemo)', function (obj) {
  419. //必须return false;
  420. return _this.fusionData(obj.field).submitInfo(); //获取选中权限变数组,提交变化===下拉
  421. });
  422. //关闭窗口
  423. $("#closeWin").on("click", function () {
  424. _this.closeModal();
  425. });
  426. return _this;
  427. };
  428. //获取当前信息
  429. formData.getCurrent = function (id) {
  430. var _this = this;
  431. $.ajax({
  432. url: this.select_data,
  433. method: 'get',
  434. data: {
  435. guid: id || this.guid //当前ID
  436. },
  437. success: function (res) {
  438. try {
  439. _this.current = res.data[0] || {};
  440. } catch (e) { }
  441. _this.initialization().formVal();
  442. }
  443. });
  444. return _this;
  445. };
  446. //表单赋值
  447. formData.formVal = function () {
  448. var _this = this;
  449. form.val(this.formLayFilter, this.current);
  450. return this;
  451. };
  452. //合并表单内容
  453. formData.fusionData = function (obj) {
  454. this.current = $.extend(this.current, obj);
  455. if (this.current.guid) {
  456. delete this.current.password;
  457. }
  458. return this;
  459. };
  460. //提交新增修改
  461. formData.submitInfo = function () {
  462. var _this = this;
  463. // console.log(_this.current)
  464. $.ajax({
  465. type: 'POST',
  466. url: this.save_data, //+'?userId='+this.guid
  467. data: JSON.stringify(this.current),
  468. contentType: 'application/json',
  469. success: function (res) {
  470. if (!(res.code - 0)) {
  471. parent.layer.msg(res.msg, {
  472. icon: 1
  473. });
  474. _this.closeModal();
  475. } else {
  476. layer.msg(res.msg, {
  477. icon: 2
  478. });
  479. }
  480. }
  481. });
  482. return false;
  483. };
  484. formData.main();
  485. //验证规则
  486. form.verify({
  487. phoneNumber: function (value) {
  488. if (value) {
  489. if (!(/^1[3|4|5|7|8]\d{9}$/).test(value)) {
  490. return '请输入正确的手机号码';
  491. }
  492. }
  493. return false;
  494. },
  495. normal: function () {
  496. return false;
  497. }
  498. });
  499. });
  500. </script>
  501. </html>