index.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title></title>
  5. <style>
  6. .box_left {
  7. display: block;
  8. position: absolute;
  9. width: 375px;
  10. height: 667px;
  11. border: 1px solid #ccc;
  12. }
  13. .box_right {
  14. display: block;
  15. position: absolute;
  16. width: 375px;
  17. right: 0px;
  18. height: 95%;
  19. height: 650px;
  20. overflow-y: scroll
  21. }
  22. .lanmu a {
  23. margin-top: 10px;
  24. }
  25. .settexts {
  26. position: absolute;
  27. font-size: 16px;
  28. cursor: pointer;
  29. z-index: 100;
  30. }
  31. .fountsizes {
  32. width: 80px !important;
  33. position: absolute;
  34. display: inline !important;
  35. height: 24px !important;
  36. }
  37. .selects {
  38. border: 1px solid #ccc;
  39. border-radius: 3px
  40. }
  41. .setimgsrc {
  42. width: 80px;
  43. }
  44. .setimgs {
  45. position: absolute;
  46. cursor: pointer;
  47. z-index: 50;
  48. width: auto;
  49. height: auto;
  50. }
  51. .selectimgs {
  52. border: 1px solid #f00;
  53. padding: 2px;
  54. border-radius: 3px
  55. }
  56. .nbts {
  57. width: 360px;
  58. position: absolute;
  59. bottom: 20px;
  60. z-index: 101;
  61. right: 0px;
  62. }
  63. </style>
  64. </head>
  65. <body>
  66. <div class="fluid layui-anim layui-anim-fadein" style="padding: 15px">
  67. <div class="box_left"></div>
  68. <div class="box_right">
  69. <form class="layui-form" id="addform" lay-filter="addform">
  70. <div class="layui-form-item">
  71. <label class="layui-form-label">海报类型:</label>
  72. <div class="layui-input-block">
  73. <span class="layui-badge-rim"
  74. style="margin-top: 9px;font-size: 14px;">{if $poster['types']=='1'}职位海报{elseif $poster['types']=='2'}简历海报{elseif $poster['types']=='3'}企业海报{elseif $poster['types']=='4'}兼职海报{/if}</span>
  75. </div>
  76. </div>
  77. <div class="layui-form-item">
  78. <label class="layui-form-label">背景图片:</label>
  79. <div class="layui-input-block">
  80. <img class="layui-upload-img" id="backimgtmp" style="width: 80px"
  81. src="{$poster['backimg']?$poster['backimg']:ADDONS_THEME_URL.'web/image/uploadimg.png'}" />
  82. </div>
  83. <div class="layui-form-mid layui-word-aux" style="margin-left: 30px">背景图片尺寸: 375 * 667</div>
  84. </div>
  85. <div class="layui-form-item">
  86. <label class="layui-form-label">海报名称:</label>
  87. <div class="layui-input-block">
  88. <input type="text" class="layui-input" name="name" id="poster_name"
  89. value="{$poster['name']}" onblur="savetxt()" style="width: 180px;" />
  90. </div>
  91. </div>
  92. <div class="layui-form-item posteryuansu" style="display: none">
  93. <label class="layui-form-label">海报元素:</label>
  94. <div class="layui-input-block lanmu">
  95. <a href="javascript:;" onclick="settext('inserttext','文字')"
  96. class="layui-btn layui-btn-primary layui-btn-xs">文字</a>
  97. <a href="javascript:;" onclick="setimg('insertimg','图片')"
  98. class="layui-btn layui-btn-primary layui-btn-xs">图片</a>
  99. </br>
  100. <a href="javascript:;" onclick="setimg('infocode','信息二维码',1)"
  101. class="layui-btn layui-btn-primary layui-btn-xs"><img style="width: 30px;margin-top: -5px;" src="{:ADDONS_THEME_URL.'web/image/infocode.png'}" />信息二维码</a>
  102. <a href="javascript:;" onclick="setimg('syscode','主二维码',1)"
  103. class="layui-btn layui-btn-primary layui-btn-xs"><img style="width: 30px;margin-top: -5px;" src="{:ADDONS_THEME_URL.'web/image/syscode.png'}" />主二维码</a>
  104. </br>
  105. {if $poster['types']==1}
  106. <div id="postert_zpxx">
  107. <a href="javascript:;" onclick="settext('jobcat','职位类别',1)"
  108. class="layui-btn layui-btn-xs">职位类别</a>
  109. <a href="javascript:;" onclick="settext('jobsalaries','薪资待遇',1)"
  110. class="layui-btn layui-btn-xs">薪资待遇</a>
  111. <a href="javascript:;" onclick="settext('recruitnum','招聘人数',1)"
  112. class="layui-btn layui-btn-xs">招聘人数</a>
  113. <a href="javascript:;" onclick="settext('sex','性别要求',1)" class="layui-btn layui-btn-xs"
  114. style="margin-left: 0px;">性别要求</a>
  115. <a href="javascript:;" onclick="settext('ages','年龄要求',1)"
  116. class="layui-btn layui-btn-xs">年龄要求</a>
  117. <a href="javascript:;" onclick="settext('degrees','学历要求',1)"
  118. class="layui-btn layui-btn-xs">学历要求</a>
  119. <a href="javascript:;" onclick="settext('experiences','工作经验',1)"
  120. class="layui-btn layui-btn-xs" style="margin-left: 0px;">工作经验</a>
  121. <a href="javascript:;" onclick="settext('telnum','联系电话',1)"
  122. class="layui-btn layui-btn-xs">联系电话</a>
  123. <a href="javascript:;" onclick="settext('address','工作地址',1)"
  124. class="layui-btn layui-btn-xs">工作地址</a>
  125. <a href="javascript:;" onclick="settext('company','企业名称',1)"
  126. class="layui-btn layui-btn-xs" style="margin-left: 0px;">企业名称</a>
  127. </div>
  128. {/if}
  129. {if $poster['types']==2}
  130. <div id="postert_resume">
  131. <a href="javascript:;" onclick="settext('name','姓名',1)"
  132. class="layui-btn layui-btn-xs">姓名</a>
  133. <a href="javascript:;" onclick="settext('tel','电话',1)"
  134. class="layui-btn layui-btn-xs">电话</a>
  135. <a href="javascript:;" onclick="settext('resumesex','性别',1)"
  136. class="layui-btn layui-btn-xs">性别</a>
  137. </br>
  138. <a href="javascript:;" onclick="settext('birthyears','年龄',1)"
  139. class="layui-btn layui-btn-xs" style="margin-left: 0px;">年龄</a>
  140. <a href="javascript:;" onclick="settext('resumedegrees','学历',1)"
  141. class="layui-btn layui-btn-xs">学历</a>
  142. <a href="javascript:;" onclick="settext('experiences','工作经验',1)"
  143. class="layui-btn layui-btn-xs">工作经验</a>
  144. </br>
  145. <a href="javascript:;" onclick="settext('resumejobcat','期望岗位',1)"
  146. class="layui-btn layui-btn-xs" style="margin-left: 0px;">期望岗位</a>
  147. <a href="javascript:;" onclick="settext('resumesalaries','期望月薪',1)"
  148. class="layui-btn layui-btn-xs">期望月薪</a>
  149. </div>
  150. {/if}
  151. {if $poster['types']==3}
  152. <div id="postert_company">
  153. <a href="javascript:;" onclick="settext('comname','企业名称',1)"
  154. class="layui-btn layui-btn-xs">企业名称</a>
  155. <a href="javascript:;" onclick="settext('comkindindex','企业性质',1)"
  156. class="layui-btn layui-btn-xs">企业性质</a>
  157. <a href="javascript:;" onclick="settext('compnayscaleindex','企业规模',1)"
  158. class="layui-btn layui-btn-xs">企业规模</a>
  159. </br>
  160. <a href="javascript:;" onclick="settext('compnayindustryindex','企业行业',1)"
  161. class="layui-btn layui-btn-xs" style="margin-left: 0px;">企业行业</a>
  162. <a href="javascript:;" onclick="settext('adress','企业地址',1)"
  163. class="layui-btn layui-btn-xs">企业地址</a>
  164. <a href="javascript:;" onclick="settext('companywelfare','企业福利',1)"
  165. class="layui-btn layui-btn-xs">企业福利</a>
  166. </br>
  167. <a href="javascript:;" onclick="settext('tel','联系人电话',1)"
  168. class="layui-btn layui-btn-xs" style="margin-left: 0px;">联系人电话</a>
  169. </div>
  170. {/if}
  171. {if $poster['types']==4}
  172. <div id="postert_partjob">
  173. <a href="javascript:;" onclick="settext('posttitle','标题',1)"
  174. class="layui-btn layui-btn-xs">标题</a>
  175. <a href="javascript:;" onclick="settext('jobcatindex','职位类别',1)"
  176. class="layui-btn layui-btn-xs">职位类别</a>
  177. <a href="javascript:;" onclick="settext('salary','工资待遇',1)"
  178. class="layui-btn layui-btn-xs">工资待遇</a>
  179. </br>
  180. <a href="javascript:;" onclick="settext('salaryunitindex','工资单位',1)"
  181. class="layui-btn layui-btn-xs" style="margin-left: 0px;">工资单位</a>
  182. <a href="javascript:;" onclick="settext('paymodeindex','结算方式',1)"
  183. class="layui-btn layui-btn-xs">结算方式</a>
  184. <a href="javascript:;" onclick="settext('recruitnum','招聘人数',1)"
  185. class="layui-btn layui-btn-xs">招聘人数</a>
  186. </br>
  187. <a href="javascript:;" onclick="settext('adress','地址',1)"
  188. class="layui-btn layui-btn-xs" style="margin-left: 0px;">地址</a>
  189. <a href="javascript:;" onclick="settext('purephonenumber','电话',1)"
  190. class="layui-btn layui-btn-xs">电话</a>
  191. <a href="javascript:;" onclick="settext('company','企业',1)"
  192. class="layui-btn layui-btn-xs">企业</a>
  193. </div>
  194. {/if}
  195. </div>
  196. </div>
  197. <div class="layui-form-item" id="posternum"></div>
  198. <div class="layui-form-item" style="position: absolute; bottom: 20px; margin-left: 36px">
  199. <input type="hidden" value="" name="texttypes" id="texttypes" />
  200. <input type="hidden" value="" name="textvalue" id="textvalue" />
  201. <input type="hidden" value="" name="setvalue" id="setvalue" />
  202. <input type="hidden" value="" name="settitle" id="settitle" />
  203. <input type="hidden" value="{$poster['id']}" name="ids" />
  204. </div>
  205. </form>
  206. </div>
  207. <div class="nbts">
  208. <a href="javascript:;" onclick="saveall()" class="layui-btn layui-btn-normal">刷新样式</a>
  209. <a href="javascript:;" onclick="var index = parent.layer.getFrameIndex(window.name);parent.layer.close(index);" class="layui-btn layui-btn-primary">返回列表</a>
  210. <a href="javascript:;" onclick="showposter({$poster['id']},{$poster['types']})" class="layui-btn">测试生成</a>
  211. </div>
  212. </div>
  213. </body>
  214. <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"></script>
  215. <script>
  216. if(localStorage.getItem("staticDomain")){
  217. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  218. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  219. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery.event.ue.js?v="+localStorage.getItem("version")+"'><\/script>");
  220. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery.udraggable.js?v="+localStorage.getItem("version")+"'><\/script>");
  221. }else{
  222. document.write("<script src='/static/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  223. document.write("<script src='/static/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  224. document.write("<script src='/static/component/jquery.event.ue.js?v="+localStorage.getItem("version")+"'><\/script>");
  225. document.write("<script src='/static/component/jquery.udraggable.js?v="+localStorage.getItem("version")+"'><\/script>");
  226. }
  227. </script>
  228. <script>
  229. layui.use(['upload', 'element', 'layer', 'form'], function () {
  230. var upload = layui.upload,
  231. form = layui.form,
  232. element = layui.element,
  233. layer = layui.layer;
  234. var uploadInst = upload.render({
  235. elem: '#backimgtmp',
  236. data: form.val('addform'),
  237. url: '{:addons_url("poster/lists/setimage")}',
  238. before: function (obj) {
  239. obj.preview(function (index, file, result) {
  240. $('#backimgtmp').attr('src', result); //图片链接(base64)
  241. });
  242. },
  243. done: function (res) {
  244. if (res.code != 1) {
  245. return layer.msg('上传失败');
  246. } else {
  247. getposter();
  248. }
  249. },
  250. error: function () {
  251. return layer.msg('上传失败');
  252. },
  253. });
  254. });
  255. setTimeout(function () {
  256. getposter();
  257. }, 100);
  258. </script>
  259. <script>
  260. function requesturl(action = '') {
  261. var tourl = '{:addons_url("poster/lists/xxxx")}';
  262. return tourl.replace(new RegExp('xxxx', 'g'), action);
  263. }
  264. function getposter() {
  265. $(".box_left").html("");
  266. $.post(requesturl('getposter'), $('#addform').serialize(), function (r) {
  267. if (r.backimg) {
  268. $('.box_left').css('background', 'url("' + r.backimg + '") no-repeat');
  269. $('#backimgtmp').attr('src', r.backimg);
  270. $('.posteryuansu').show();
  271. }
  272. if (r.text) {
  273. for (var i = 0; i < r.text.length; i++) {
  274. if ($('#' + r.text[i].name).length > 0) {
  275. } else {
  276. $('.box_left').prepend('<div onclick="textstyle(\'' + r.text[i].name + '\')" class="settexts" id="' + r.text[i].name + '">' + r.text[i].data.title + '</div>');
  277. }
  278. $('#' + r.text[i].name).css("color", r.text[i].data.color ? r.text[i].data.color : "#000000");
  279. $('#' + r.text[i].name).css("font-size", (r.text[i].data.size ? r.text[i].data.size : 16) + "px");
  280. $('#' + r.text[i].name).html(r.text[i].data.title ? r.text[i].data.title : "文字");
  281. $('#' + r.text[i].name).css("inset", r.text[i].data.y + "px auto auto " + r.text[i].data.x + "px");
  282. }
  283. }
  284. if (r.image) {
  285. for (var i = 0; i < r.image.length; i++) {
  286. if ($('#' + r.image[i].name).length > 0) {
  287. } else {
  288. if(r.image[i].name=='infocode'||r.image[i].name=='syscode'){
  289. $('.box_left').prepend('<div class="setimgs" id="' + r.image[i].name + '" ><img src="{$codeurl}static/web/image/'+r.image[i].name+'.png" onclick="imgstyle(\'' + r.image[i].name + '\')" class="setimgsrc" style="width:' + r.image[i].data.width + 'px;height:' + r.image[i].data.height + 'px;" id="' + r.image[i].name + 'img" /></div>');
  290. } else {
  291. $('.box_left').prepend('<div class="setimgs" id="' + r.image[i].name + '" ><img src="' + r.image[i].data.saveurl + '" onclick="imgstyle(\'' + r.image[i].name + '\')" class="setimgsrc" style="width:' + r.image[i].data.width + 'px;height:' + r.image[i].data.height + 'px;" id="' + r.image[i].name + 'img" /></div>');
  292. }
  293. }
  294. $('#' + r.image[i].name).css("inset", r.image[i].data.y + "px auto auto " + r.image[i].data.x + "px");
  295. }
  296. }
  297. if (r.name) {
  298. $('#poster_name').val(r.name);
  299. }
  300. });
  301. }
  302. function settext(textid, title, tps = 0) {
  303. var tpsnum = '';
  304. if ($('#' + textid).length > 0 && tps == 1) {
  305. layer.msg('元素已存在');
  306. return;
  307. } else {
  308. if (tps == 0) {
  309. var thistimes = new Date();
  310. tpsnum = thistimes.getHours().toString() + thistimes.getMinutes().toString() + thistimes.getSeconds().toString();
  311. }
  312. }
  313. $('.box_left').prepend('<div onclick="textstyle(\'' + textid + tpsnum + '\')" class="settexts" id="' + textid + tpsnum + '">' + title + '</div>');
  314. textstyle(textid + tpsnum, tps);
  315. $('#setvalue').val(textid + tpsnum);
  316. $('#settitle').val(title);
  317. console.log(tps);
  318. }
  319. function textstyle(textid, tps = 0) {
  320. // $('#posternum').html("");
  321. $('.settexts').removeClass("selects");
  322. $('.setimgs').removeClass("selectimgs");
  323. $('#setvalue').val(textid);
  324. $('#textvalue').val(textid);
  325. $("#" + textid).addClass("selects");
  326. // console.log($('#' + textid + 'muninfo').length);
  327. if ($('#' + textid + 'muninfo').length < 1 || $('#' + textid + 'muninfo').val() != 1 || $('#' + textid + 'muninfo').val() == undefined) {
  328. $.get(requesturl('gettext'), $('#addform').serialize(), function (r) {
  329. $html = '<label class="layui-form-label">文字设置:</label><div class="layui-input-block lanmu"><label>颜色</label><div id="' +
  330. textid +
  331. 'bt" style="margin-left:10px;"></div><input onblur="savetxt()" id="' +
  332. textid +
  333. 'color" name="color" type="hidden" value="' +
  334. (r.color ? r.color : '#000000') +
  335. '" /></br><div class="numitems"><label>字体大小</label><input onblur="savetxt()" type="number" id="' +
  336. textid +
  337. 'size" name="size" class="layui-input fountsizes" value="' +
  338. (r.size ? r.size : 16) +
  339. '" style="margin-left:10px;" /><span style="margin-left: 100px">px</span></div></br><div class="numitems"><label>位置 </label>X:<input onblur="savetxt()" type="number" id="' +
  340. textid +
  341. 'x" name="x" class="layui-input fountsizes" value="' +
  342. (r.x ? r.x : 0) +
  343. '" style="margin-left:10px;" /></div></br><div class="numitems">位置 Y:<input onblur="savetxt()" type="number" id="' +
  344. textid +
  345. 'y" name="y" class="layui-input fountsizes" value="' +
  346. (r.y ? r.y : 0) +
  347. '" style="margin-left:10px;" /></div></br>';
  348. if (r.texttypes > 0 || tps > 0) {
  349. $html += '<div class="numitems">' +
  350. (r.title ? r.title : ($('#settitle').val() ? $('#settitle').val() : '文字')) +
  351. '</div>'
  352. } else {
  353. $html += '<div class="numitems">自定义文字:<input onblur="savetxt()" type="text" id="' +
  354. textid +
  355. 'txt" name="txt" class="layui-input fountsizes" value="' +
  356. (r.title ? r.title : ($('#settitle').val() ? $('#settitle').val() : '文字')) +
  357. '" style="margin-left:10px;width: 150px !important;" /></div>'
  358. }
  359. $html += '</div></br><input type="hidden" value="1" name="' +
  360. textid +
  361. 'muninfo" id="' +
  362. textid +
  363. 'muninfo" /><a href="javascript:;" onclick="deltext()" class="layui-btn layui-btn-primary layui-btn-xs" style="margin-left: 110px;margin-bottom: 100px;">删除元素</a>'
  364. $('#posternum').html($html);
  365. $('#texttypes').val(r.texttypes ? r.texttypes : tps);
  366. $('#settitle').val(r.title ? r.title : ($('#settitle').val() ? $('#settitle').val() : '文字'));
  367. setcolor(textid, r.color ? r.color : '#000000');
  368. });
  369. }
  370. udraggables(textid);
  371. }
  372. function setcolor(textid, colors = '#000000') {
  373. layui.use('colorpicker', function () {
  374. var colorpicker = layui.colorpicker;
  375. colorpicker.render({
  376. elem: '#' + textid + 'bt',
  377. color: colors,
  378. done: function (color) {
  379. $('#' + textid + 'color').val(color);
  380. $('#' + textid).css("color", color);
  381. $('#setvalue').val(textid);
  382. savetxt();
  383. },
  384. });
  385. });
  386. }
  387. function savetxt() {
  388. $.post(requesturl('settext'), $('#addform').serialize(), function (r) {
  389. getposter();
  390. });
  391. }
  392. function saveimg() {
  393. $.post(requesturl('saveimage'), $('#addform').serialize(), function (r) {
  394. getposter();
  395. });
  396. }
  397. function udraggables(textid) {
  398. $('#' + textid).udraggable({
  399. distance: 15,
  400. containment: 'parent',
  401. disable: true,
  402. start: function () {
  403. $('#setvalue').val(textid);
  404. $('#textvalue').val(textid);
  405. },
  406. positionElement: function ($el, dragging, x, y) {
  407. if (dragging) {
  408. $el.css({
  409. left: 'auto',
  410. top: 'auto',
  411. transform: 'translate(' + x + 'px,' + y + 'px)',
  412. });
  413. $('#' + textid + 'x').val(x);
  414. $('#' + textid + 'y').val(y);
  415. } else {
  416. $el.css({
  417. left: x,
  418. top: y,
  419. transform: 'none',
  420. });
  421. $('#' + textid + 'x').val(x);
  422. $('#' + textid + 'y').val(y);
  423. $('#setvalue').val(textid), $.post(requesturl('settext'), $('#addform').serialize(), function (r) {
  424. $('#textvalue').val(textid);
  425. $("#" + textid).addClass("selects");
  426. getposter();
  427. });
  428. }
  429. }
  430. });
  431. }
  432. function deltext() {
  433. layer.msg('你确定删除?删除后不可恢复', {
  434. time: 0 //不自动关闭
  435. , btn: ['删除', '取消']
  436. , yes: function (index) {
  437. layer.close(index);
  438. $.post(requesturl('deltext'), $('#addform').serialize(), function (r) {
  439. $("#" + $('#setvalue').val()).remove();
  440. $('#posternum').html("");
  441. getposter();
  442. });
  443. }
  444. });
  445. }
  446. function delimg() {
  447. layer.msg('你确定删除?删除后不可恢复', {
  448. time: 0 //不自动关闭
  449. , btn: ['删除', '取消']
  450. , yes: function (index) {
  451. layer.close(index);
  452. $.post(requesturl('delimage'), $('#addform').serialize(), function (r) {
  453. $("#" + $('#setvalue').val()).remove();
  454. $('#posternum').html("");
  455. $('.settexts').removeClass("selects");
  456. $('.setimgs').removeClass("selectimgs");
  457. getposter();
  458. });
  459. }
  460. });
  461. }
  462. function setimg(textid, title, tps = 0) {
  463. var thistimes = new Date();
  464. var tpsnum = '';
  465. if ($('#' + textid).length > 0 && tps == 1) {
  466. layer.msg('元素已存在');
  467. return;
  468. } else {
  469. if (tps == 0) {
  470. var thistimes = new Date();
  471. tpsnum = thistimes.getHours().toString() + thistimes.getMinutes().toString() + thistimes.getSeconds().toString();
  472. }
  473. }
  474. $('.box_left').prepend('<div class="setimgs" id="' + textid + tpsnum + '"><img src="'+((textid=='infocode'||textid=='syscode')?('{:ADDONS_THEME_URL}web/image/'+textid+'.png'):'{:ADDONS_THEME_URL."web/image/uploadimg.png"}')+'" onclick="imgstyle(\'' + textid + tpsnum + '\')" class="setimgsrc" id="' + textid + tpsnum + 'img" /></div>');
  475. imgstyle(textid + tpsnum);
  476. $('#setvalue').val(textid + tpsnum);
  477. $('#settitle').val(title);
  478. }
  479. function imgstyle(textid) {
  480. if ($('#' + textid + 'muninfo').length > 0 || $('#' + textid + 'muninfo').val() > 0 || $('#' + textid + 'muninfo').val() != undefined) {
  481. setTimeout(function () {
  482. loadimg(textid);
  483. }, 100);
  484. }
  485. $('.settexts').removeClass("selects");
  486. $('.setimgs').removeClass("selectimgs");
  487. $('#setvalue').val(textid);
  488. $('#textvalue').val(textid);
  489. $('#' + textid).addClass("selectimgs");
  490. $.get(requesturl('getimg'), $('#addform').serialize(), function (r) {
  491. $('#posternum').html(
  492. '<label class="layui-form-label">图片设置:</label><div class="layui-input-block lanmu"><label>地址</label><img class="layui-upload-img" id="' + textid + 'upimg" style="width: 80px;height: 80px;margin-left:10px;"src="' + ((textid=='infocode'||textid=='syscode')?('{:ADDONS_THEME_URL}web/image/'+textid+'.png'):(r.saveurl ? r.saveurl : '{:ADDONS_THEME_URL."web/image/uploadimg.png"}')) + '" /><input id="' +
  493. textid + 'savepath" name="savepath" type="hidden" value="' + (r.savepath ? r.savepath : '') + '" /><input id="' +
  494. textid + 'saveurl" name="saveurl" type="hidden" value="' + (r.saveurl ? r.saveurl : '') + '" /></br></br><div class="numitems"><label>位置 </label>X:<input onblur="saveimg()" type="number" id="' +
  495. textid +
  496. 'x" name="x" class="layui-input fountsizes" value="' +
  497. (r.x ? r.x : 0) +
  498. '" style="margin-left:10px;" /></div></br><div class="numitems">位置 Y:<input onblur="saveimg()" type="number" id="' +
  499. textid +
  500. 'y" name="y" class="layui-input fountsizes" value="' +
  501. (r.y ? r.y : 0) +
  502. '" style="margin-left:10px;" /></div></br><div class="numitems">宽度 :<input onblur="saveimg()" type="number" id="' +
  503. textid +
  504. 'width" name="width" class="layui-input fountsizes" value="' +
  505. (r.width ? r.width : 80) +
  506. '" style="margin-left:10px;" /></div></br><div class="numitems">高度 :<input onblur="saveimg()" type="number" id="' +
  507. textid +
  508. 'height" name="height" class="layui-input fountsizes" value="' +
  509. (r.height ? r.height : 80) +
  510. '" style="margin-left:10px;" /></div></br></div></br><input type="hidden" value="1" name="' +
  511. textid +
  512. 'muninfo" id="' +
  513. textid +
  514. 'muninfo" /><a href="javascript:;" onclick="delimg()" class="layui-btn layui-btn-primary layui-btn-xs" style="margin-left: 110px;margin-bottom: 100px;">删除元素</a>'
  515. );
  516. setcolor(textid, r.color ? r.color : '#000000');
  517. });
  518. udraggableimgs(textid);
  519. }
  520. function udraggableimgs(textid) {
  521. $('#' + textid).udraggable({
  522. distance: 15,
  523. containment: 'parent',
  524. disable: true,
  525. start: function () {
  526. $('#setvalue').val(textid);
  527. $('#textvalue').val(textid);
  528. },
  529. positionElement: function ($el, dragging, x, y) {
  530. if (dragging) {
  531. $el.css({
  532. left: 'auto',
  533. top: 'auto',
  534. transform: 'translate(' + x + 'px,' + y + 'px)',
  535. });
  536. $('#' + textid + 'x').val(x);
  537. $('#' + textid + 'y').val(y);
  538. } else {
  539. $el.css({
  540. left: x,
  541. top: y,
  542. transform: 'none',
  543. });
  544. $('#' + textid + 'x').val(x);
  545. $('#' + textid + 'y').val(y);
  546. $('#setvalue').val(textid), $.post(requesturl('saveimage'), $('#addform').serialize(), function (r) {
  547. $('#textvalue').val(textid);
  548. $("#" + textid).addClass("selectimgs");
  549. });
  550. }
  551. }
  552. });
  553. }
  554. function loadimg(textid) {
  555. console.log(textid)
  556. var upurl = requesturl('upimage');
  557. layui.use(['upload', 'element', 'layer'], function () {
  558. var upload = layui.upload,
  559. element = layui.element,
  560. form = layui.form,
  561. layer = layui.layer;
  562. console.log(textid)
  563. var uploadInst = upload.render({
  564. elem: '#' + textid + 'upimg',
  565. data: form.val('addform'),
  566. url: upurl,
  567. done: function (res) {
  568. console.log(res);
  569. if (res.code != 1) {
  570. return layer.msg('上传失败');
  571. } else {
  572. $('#' + textid + 'upimg').attr("src", res.saveurl);
  573. $('#' + textid + 'img').attr("src", res.saveurl);
  574. $('#' + textid + 'savepath').val(res.savepath);
  575. $('#' + textid + 'saveurl').val(res.saveurl);
  576. $('#setvalue').val(textid), $.post(requesturl('saveimage'), $('#addform').serialize(), function (r) {
  577. $('#textvalue').val(textid);
  578. $("#" + textid).addClass("selectimgs");
  579. getposter();
  580. });
  581. }
  582. },
  583. error: function () {
  584. return layer.msg('上传失败');
  585. },
  586. });
  587. });
  588. }
  589. function saveall() {
  590. getposter();
  591. }
  592. function showposter(ids,types){
  593. var title='输入职位ID,并确认!请在职位处获取ID';
  594. if(types==2){
  595. title='输入简历ID,并确认!请在简历处获取ID';
  596. }
  597. layer.prompt({title: title, formType: 3}, function(text, index){
  598. layer.close(index);
  599. $.get(requesturl('showposter'),{ids:ids,postids:text} , function (r) {
  600. if(r.code>0){
  601. layer.msg(r.data);
  602. } else {
  603. layer.open({
  604. type: 1,
  605. title: '海报预览',
  606. shadeClose: true,
  607. shade: 0.8,
  608. area: ['395px', '737px'],
  609. content: '<img style="width:375px;height:667px;margin-left: 10px;margin-top:10px;" src="'+r.data+'" />',
  610. });
  611. }
  612. });
  613. });
  614. }
  615. </script>
  616. </html>