add1.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778
  1. {extend name="public/layout" /} {block name="title"}素材库{/block} {block name="body"}
  2. <!--<link rel="stylesheet" href="__LAYUI__/common.css" media="all">-->
  3. <style type="text/css">
  4. html,
  5. body {
  6. display: block;
  7. width: 100%;
  8. background-color: #fff;
  9. }
  10. .layui-fluid {
  11. display: block;
  12. border-radius: 5px;
  13. background-color: #ffffff;
  14. padding: 15px 30px;
  15. }
  16. .layui-icon {
  17. font-size: 18px !important;
  18. line-height: 38px;
  19. }
  20. .layui-input-inline {
  21. line-height: 38px;
  22. }
  23. .layui-input-inline input {
  24. margin-right: 10px;
  25. }
  26. .layui-form-item .layui-input-inline {}
  27. .input-indent-box-small {
  28. margin-left: 10px;
  29. }
  30. .layui-tab {
  31. padding: 15px;
  32. height: 100%;
  33. }
  34. .layui-card-body {
  35. overflow: hidden;
  36. }
  37. .layui-card-body .layui-form-item {
  38. float: left;
  39. clear: none;
  40. width: 330px;
  41. text-align: left;
  42. }
  43. .layui-table-view .layui-table th,
  44. .layui-table-view .layui-table td {
  45. text-align: center;
  46. border-color: #B6CADE;
  47. }
  48. .layui-table thead tr,
  49. .layui-table-header {
  50. background-color: #D8E6F1;
  51. }
  52. .input-indent-box {
  53. display: inline;
  54. width: 100%;
  55. }
  56. .input-indent-box-small {
  57. display: inline;
  58. width: 20%;
  59. }
  60. .adding {
  61. cursor: pointer;
  62. }
  63. .upload-img .area i {
  64. font-size: 50px;
  65. color: #009688;
  66. }
  67. .evi-block {
  68. float: left;
  69. margin-right: 10px;
  70. }
  71. /*///*/
  72. .imageDiv {
  73. display: inline-block;
  74. width: 140px;
  75. height: 125px;
  76. -webkit-box-sizing: border-box;
  77. -moz-box-sizing: border-box;
  78. box-sizing: border-box;
  79. border: 1px dashed darkgray;
  80. background: #f8f8f8;
  81. position: relative;
  82. overflow: hidden;
  83. }
  84. .addImages {
  85. display: inline-block;
  86. width: 140px;
  87. height: 125px;
  88. -webkit-box-sizing: border-box;
  89. -moz-box-sizing: border-box;
  90. box-sizing: border-box;
  91. border: 1px dashed darkgray;
  92. background: #f8f8f8;
  93. position: relative;
  94. overflow: hidden;
  95. }
  96. .text-detail {
  97. margin-top: 40px;
  98. text-align: center;
  99. }
  100. .text-detail>span {
  101. font-size: 40px;
  102. }
  103. .imageDiv div {
  104. width: 100%;
  105. height: 100%;
  106. position: absolute;
  107. top: 0px;
  108. background-color: #e6e6e600;
  109. }
  110. .imageDiv div i {
  111. display: none;
  112. font-size: 31px;
  113. position: absolute;
  114. top: 37%;
  115. left: 40%;
  116. }
  117. .imageDiv div:hover {
  118. background-color: #e6e6e680;
  119. }
  120. .imageDiv div:hover i {
  121. display: block;
  122. cursor: pointer;
  123. }
  124. .rotate180 {
  125. -webkit-transform: rotate(180deg);
  126. transform: rotate(180deg);
  127. }
  128. .layui-edge.rotate180 {
  129. margin-top: -9px;
  130. }
  131. .layui-input-inline.input-longer-inline {
  132. width: 290px;
  133. }
  134. .goback {
  135. float: right;
  136. }
  137. .goback a {
  138. color: #269efb;
  139. }
  140. .goback i {
  141. position: relative !important;
  142. }
  143. @media screen and (max-width: 450px) {
  144. .layui-form-item {
  145. position: relative;
  146. }
  147. .layui-form-item .layui-input-inline {
  148. padding-right: 40px !important;
  149. }
  150. .adding {
  151. position: absolute;
  152. right: 10px;
  153. top: 0;
  154. }
  155. }
  156. input:disabled,
  157. input[disabled] {
  158. color: black;
  159. opacity: 1;
  160. -webkit-text-fill-color: black;
  161. -webkit-opacity: 1;
  162. }
  163. .textlh1 {
  164. overflow: hidden;
  165. text-overflow: ellipsis;
  166. white-space: nowrap;
  167. }
  168. .pingmi {
  169. position: absolute;
  170. right: 9%;
  171. top: 0;
  172. }
  173. .layui-btn-primary {
  174. color: #249EFB;
  175. /* border: 1px solid #249EFB; */
  176. }
  177. .layui-btn-primary:hover {
  178. background-color: #E3F7FF;
  179. color: #249EFB;
  180. }
  181. .layui-card-body {
  182. padding: 10px 0px;
  183. }
  184. .relative {
  185. position: relative;
  186. }
  187. .noneClass {
  188. display: none !important;
  189. }
  190. .wordlist {
  191. width: 20px;
  192. position: absolute;
  193. top: 43px;
  194. right: 2px;
  195. display: flex;
  196. flex-direction: column;
  197. z-index: 99999;
  198. height: auto;
  199. justify-content: flex-start;
  200. align-items: center;
  201. box-sizing: border-box;
  202. padding: 3px 0px;
  203. overflow: hidden;
  204. max-height: 297px;
  205. -ms-overflow-style: none;
  206. /* IE 10+ */
  207. scrollbar-width: none;
  208. /* Firefox */
  209. overflow-y: scroll;
  210. background-color: #f5f5f5;
  211. }
  212. .wordlist::-webkit-scrollbar {
  213. display: none;
  214. /* Chrome Safari */
  215. }
  216. .wordlist>li {
  217. width: 20px;
  218. height: 37px;
  219. cursor: pointer;
  220. display: flex;
  221. justify-content: center;
  222. align-items: center;
  223. margin-bottom: 0px;
  224. line-height: 37px;
  225. }
  226. .li_active {
  227. font-weight: 700;
  228. background-color: #249EFB;
  229. color: #fff;
  230. }
  231. .c_wordlist {
  232. width: 20px;
  233. position: absolute;
  234. top: 43px;
  235. right: 31px;
  236. display: flex;
  237. flex-direction: column;
  238. z-index: 99999;
  239. height: auto;
  240. justify-content: flex-start;
  241. align-items: center;
  242. box-sizing: border-box;
  243. padding: 4px 0px;
  244. overflow: hidden;
  245. max-height: 297px;
  246. -ms-overflow-style: none;
  247. /* IE 10+ */
  248. scrollbar-width: none;
  249. /* Firefox */
  250. overflow-y: scroll;
  251. background-color: #f5f5f5;
  252. }
  253. .c_wordlist::-webkit-scrollbar {
  254. display: none;
  255. /* Chrome Safari */
  256. }
  257. .c_wordlist>li {
  258. width: 20px;
  259. height: 37px;
  260. cursor: pointer;
  261. display: flex;
  262. justify-content: center;
  263. align-items: center;
  264. margin-bottom: 0px;
  265. line-height: 37px;
  266. }
  267. dd {
  268. border-bottom: 1px solid #EFEFEF;
  269. }
  270. .layui-anim-upbit {
  271. -ms-overflow-style: none;
  272. /* IE 10+ */
  273. scrollbar-width: none;
  274. /* Firefox */
  275. overflow-y: scroll;
  276. background-color: #fff;
  277. }
  278. .layui-anim-upbit::-webkit-scrollbar {
  279. display: none;
  280. /* Chrome Safari */
  281. }
  282. .layui-form-xxkbg{background:#ECECEC;overflow: hidden;padding-top: 10px;}
  283. .layui-form-xxk-ul{float:left;overflow: hidden;width:36%;}
  284. .layui-form-xxk-ul li{float:left;width:25%;height:36px;line-height: 36px;text-align: center;cursor: pointer;font-size: 14px;}
  285. .layui-zhu{color:#BF0505;line-height:23px;float:right;font-size: 14px;}
  286. .addxxkli{background: #fff;border-radius: 6px 6px 0 0;}
  287. .width94_{width:96%;}
  288. .wauto{margin:0 auto;}
  289. .layui-xxk-body-box{clear:both;}
  290. .layui-xxk-bodys{margin-top:20px;}
  291. .layui-xxk-bodys dd{display: none;border: 0;}
  292. .layui-form-select dl {
  293. width: 100% !important;
  294. }
  295. #symbshowed video{max-height:400px;max-width:100%;margin-top:15px;}
  296. .center {
  297. text-align: center;
  298. }
  299. .vrBtnSelect {
  300. max-width: 100px;
  301. white-space: nowrap;
  302. padding: 0px 10px;
  303. height: 38px;
  304. background-color: #249EFB;
  305. color: #ffffff;
  306. text-align: center;
  307. line-height: 38px;
  308. border-radius: 4px;
  309. margin-left: 5px;
  310. cursor: pointer;
  311. }
  312. .flexBox {
  313. display: flex !important;
  314. }
  315. </style>
  316. <body>
  317. <div class="layui-fluid">
  318. <div class="layui-card">
  319. <div class="layui-card-body">
  320. <form class="layui-form" enctype="multipart/form-data" lay-filter="anli-form">
  321. <input type="hidden" name="cate1" value='{$cate1}'/>
  322. <div class="layui-form-item">
  323. <label class="layui-form-label textlh1"><i style="color:red;">*</i>标题</label>
  324. <div class="layui-input-inline" style="width: 200px;">
  325. <input class="layui-input inputBox" lay-verify="required" name="title" type="text" value="" placeholder="请输入标题"
  326. autocomplete="off">
  327. </div>
  328. </div>
  329. <div class="layui-form-item">
  330. <label class="layui-form-label"><span class="colorRed" style="color:red;margin-right:5px;"></span>分类</label>
  331. <div class="layui-input-inline">
  332. <select name="cate2" lay-filter="type" id="type" lay-search>
  333. <option value="">请选择分类</option>
  334. {volist name="type" id="t"}
  335. {if($t.title != '小区' && $t.title != '户型' && $t.title != '风格')}
  336. <option value="{$t.id}">{$t.title}</option>
  337. {/if}
  338. {/volist}
  339. </select>
  340. </div>
  341. </div>
  342. <div class="layui-form-item">
  343. <label class="layui-form-label"><span class="colorRed" style="color:red;margin-right:5px;"></span>标签</label>
  344. <div class="layui-input-inline">
  345. <select name="cate3" id="label" lay-filter="type2">
  346. <option value="">请选择标签</option>
  347. </select>
  348. </div>
  349. </div>
  350. <div class="layui-form-item">
  351. <label class="layui-form-label"><i style="color:red;"></i>面积</label>
  352. <div class="layui-input-inline" style="position: relative;width:200px;">
  353. <input type='text' onkeyup="RegularInt(this)" name="square" placeholder="请输入面积"
  354. class="layui-input input-indent-box" autocomplete="off" lay-verify="subject_add" value="">
  355. <span class="pingmi">平米</span>
  356. </div>
  357. </div>
  358. <div class="layui-form-item">
  359. <label class="layui-form-label"><span class="colorRed" style="color:red;margin-right:5px;"></span>设计师</label>
  360. <div class="layui-input-inline">
  361. <select name="designer_id" lay-filter="designer_id" id="designer_id" lay-search>
  362. <option value="">请选择设计师</option>
  363. {volist name="designer" id="t"}
  364. <option value="{$t.id}">{$t.name}</option>
  365. {/volist}
  366. </select>
  367. </div>
  368. </div>
  369. <div class="layui-form-item">
  370. <label class="layui-form-label"><span class="colorRed" style="color:red;margin-right:5px;"></span>小区</label>
  371. <div class="layui-input-inline">
  372. <select name="community_id" lay-filter="community_id" id="community_id" lay-search>
  373. <option value="">请选择小区</option>
  374. {volist name="community" id="t"}
  375. <option value="{$t.id}">{$t.title}</option>
  376. {/volist}
  377. </select>
  378. </div>
  379. </div>
  380. <div class="layui-form-item">
  381. <label class="layui-form-label"><span class="colorRed" style="color:red;margin-right:5px;"></span>户型</label>
  382. <div class="layui-input-inline">
  383. <select name="housetype_id" lay-filter="housetype_id" id="housetype_id" lay-search>
  384. <option value="">请选择户型</option>
  385. {volist name="housetype" id="t"}
  386. <option value="{$t.id}">{$t.title}</option>
  387. {/volist}
  388. </select>
  389. </div>
  390. </div>
  391. <div class="layui-form-item">
  392. <label class="layui-form-label"><span class="colorRed" style="color:red;margin-right:5px;"></span>风格</label>
  393. <div class="layui-input-inline">
  394. <select name="decostyle_id" lay-filter="decostyle_id" id="decostyle_id" lay-search>
  395. <option value="">请选择风格</option>
  396. {volist name="decostyle" id="t"}
  397. <option value="{$t.id}">{$t.title}</option>
  398. {/volist}
  399. </select>
  400. </div>
  401. </div>
  402. <div class="layui-form-item">
  403. <label class="layui-form-label">价格</label>
  404. <div class="layui-input-inline" style="position: relative;width:200px;">
  405. <input class="layui-input input-indent-box" onkeyup="RegularNum(this)" name="money"
  406. placeholder="请输入价格" type="text" autocomplete="off" value="" />
  407. <span class="pingmi">万起</span>
  408. </div>
  409. </div>
  410. <div class="layui-form-item" style="clear:both;width:100%;">
  411. <label class="layui-form-label"> 类别:</label>
  412. <div class="layui-input-block lh45 mdl20" style="max-width: 300px !important;">
  413. <input type="radio" class="radio_input" lay-filter="video_type"
  414. name="type" value="0" title="推荐" checked>
  415. <input type="radio" class="radio_input" lay-filter="video_type"
  416. name="type" value="1" title="必看">
  417. </div>
  418. </div>
  419. <div class="layui-form-item " style="clear:both;width: 100%;">
  420. <label class="layui-form-label"><i style="color:red;">*</i>封面图</label>
  421. <div style="margin: 20px 20px 0px;">
  422. <div class="addImages" id="anlicoverimg">
  423. <div class="text-detail">
  424. <span>+</span>
  425. <p>选择封面图</p>
  426. </div>
  427. </div>
  428. </div>
  429. </div>
  430. <div class="layui-form-item" style="width: 100%;">
  431. <label class="layui-form-label"></label>
  432. <div><i style="color: red;margin-right:5px;">*</i>建议上传封面图宽高比例5:3,图片大小不超过1M</div>
  433. </div>
  434. <div class="layui-xxk-body-box">
  435. <div class="layui-form-xxkbg">
  436. <div class="width94_ wauto">
  437. <ul class="layui-form-xxk-ul">
  438. <li class="addxxkli">效果案例</li>
  439. <li>实景案例</li>
  440. <li>视频案例</li>
  441. <li>VR案例</li>
  442. </ul>
  443. <p class="layui-zhu">注:四种案例形式可同时展现</p>
  444. </div>
  445. </div>
  446. <dl class="layui-xxk-bodys">
  447. <dd style="display:block;">
  448. <div class="layui-form-item" style="clear:both;width:100%;">
  449. <label class="layui-form-label">描述</label>
  450. <div class="layui-input-block">
  451. <script id="anli_content1" name="desc" type="text/plain" style="height: 350px;"></script>
  452. </div>
  453. </div>
  454. </dd>
  455. <dd>
  456. <div class="layui-form-item" style="clear:both;width:100%;">
  457. <label class="layui-form-label">描述</label>
  458. <div class="layui-input-block">
  459. <script id="anli_content2" name="real_case" type="text/plain" style="height: 350px;"></script>
  460. </div>
  461. </div>
  462. </dd>
  463. <dd>
  464. <div class="layui-form-item" style="clear:both;width:100%;">
  465. <label class="layui-form-label">选择视频</label>
  466. <div class="layui-input-block">
  467. <div class="layui-input-inline" style="width: 290px;display: block;" id="container">
  468. <a class="layui-btn btn layui-border-btn" id="selectfiles" href="javascript:void(0);" >选择视频</a>
  469. <a class="layui-btn btn layui-border-btn" id="postfiles" href="javascript:void(0);">开始上传</a>
  470. <div id="ossfile"></div>
  471. <div id="symbshowed">
  472. </div>
  473. <!--报错信息返回展示-->
  474. <pre id="console"></pre>
  475. <input type="hidden" value="" id="fileuri">
  476. <!--上传到OSS哪个文件下,在这里定义-->
  477. <input type="hidden" value="Video" id="category_name">
  478. </div>
  479. </div>
  480. </div>
  481. <div class="layui-form-item" style="clear:both;width:100%;">
  482. <label class="layui-form-label"><i style="color:red;">*</i> 视频格式:</label>
  483. <div class="layui-input-block lh45 mdl20" style="max-width: 300px !important;">
  484. <input type="radio" id="1" class="radio_input" lay-filter="video_type"
  485. name="video_format" value="0" title="竖屏" checked>
  486. <input type="radio" id="2" class="radio_input" lay-filter="video_type"
  487. name="video_format" value="1" title="横屏">
  488. </div>
  489. </div>
  490. <div class="layui-form-item videolimit">
  491. <label class="layui-form-label"></label>
  492. <div><i style="color:red;margin-right:5px;">*</i><span id="limitVA">上传视频大小不超过280M</span></div>
  493. </div>
  494. </dd>
  495. <dd>
  496. <div class="layui-form-item" style="clear:both;width:100%;">
  497. <label class="layui-form-label">VR链接:</label>
  498. <div class="layui-input-block flexBox">
  499. <input type="text" name="vr_case" placeholder="请输入VR链接" autocomplete="off" class="layui-input">
  500. <div class="vrBtnSelect">选择vr作品</div>
  501. </div>
  502. </div>
  503. </dd>
  504. </dl>
  505. </div>
  506. <div class="layui-form-item submit-btn" style="clear:both;">
  507. <input class="layui-btn layui-btn-primary " style="margin-left:110px;" type="button" lay-submit
  508. lay-filter="layuiadmin-anli-submit" id="layuiadmin-anli-submit" value="确认提交">
  509. </div>
  510. </form>
  511. </div>
  512. </div>
  513. </div>
  514. </body>
  515. {/block} {block name="js"}
  516. <script type="text/javascript">
  517. function RegularNum(obj) {
  518. obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
  519. obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
  520. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
  521. obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
  522. obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入三个小数
  523. }
  524. function RegularInt(obj) {
  525. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字以外的字符
  526. obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
  527. }
  528. </script>
  529. <!-- 配置文件 -->
  530. <script type="text/javascript" src="__STATIC__/ueditor/dist/utf8-php/ueditor.config.js"></script>
  531. <!-- 编辑器源码文件 -->
  532. <script type="text/javascript" src="__STATIC__/ueditor/dist/utf8-php/ueditor.all.js"></script>
  533. <!-- 实例化编辑器 -->
  534. <script type="text/javascript">
  535. var ue = UE.getEditor('anli_content1');
  536. var ues = UE.getEditor('anli_content2');
  537. </script>
  538. <script type="text/javascript" src="__STATIC__/js/plupload/js/plupload.full.min.js"></script>
  539. <script type="text/javascript" src="__STATIC__/js/plupload/ossupload.js"></script>
  540. <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.3.1.min.js" async></script>
  541. <script>
  542. layui.config({
  543. base: '__LAYUI__/' //静态资源所在路径
  544. ,
  545. urlbase: '/sys'
  546. }).extend({
  547. index: 'lib/index' //主入口模块
  548. }).use(['index', 'form', 'table', 'layedit', 'element', 'upload'], function () {
  549. var form = layui.form,
  550. layedit = layui.layedit,
  551. element = layui.element,
  552. upload = layui.upload,
  553. $ = layui.jquery;
  554. var files = '';
  555. //案例添加保存
  556. form.on('submit(layuiadmin-anli-submit)', function (data) {
  557. // if($('.imageDiv img').attr('src')== "" || $('.imageDiv img').attr('src')== undefined || $('.imageDiv img').attr('src')== null){
  558. // if (data.field.cover_img == "" || data.field.cover_img == null || data.field.cover_img == undefined) {
  559. // layer.msg('请选择封面图', { anim: 0, time: 1000, icon: 5 });
  560. // return false;
  561. // }
  562. // }
  563. if (files == "" || files == null || files == undefined) {
  564. layer.msg('请选择封面图', { anim: 0, time: 1000, icon: 5 });
  565. return false;
  566. }
  567. var formData = new FormData(data.form);
  568. ue.ready(function () {
  569. formData.append('desc', ue.getContent('anli_content1'));
  570. });
  571. ue.ready(function () {
  572. formData.append('real_case', ues.getContent('anli_content2'));
  573. });
  574. formData.append('cover',files);
  575. formData.append('video_case',$('#fileuri').val());
  576. formData.append('vr_case',$('input[name=vr_case]').val());
  577. // 单击之后提交按钮不可选,防止重复提交
  578. var DISABLED = 'layui-btn-disabled';
  579. var target = '#layuiadmin-anli-submit';
  580. $(target).addClass(DISABLED);
  581. $(target).attr('disabled', 'disabled');
  582. $.ajax({
  583. url: '{:url("smartScreen/add")}',
  584. type: 'post',
  585. data: formData,
  586. dataType: 'json',
  587. processData: false,
  588. contentType: false,
  589. success: function (res) {
  590. $(target).removeClass(DISABLED);
  591. $(target).removeAttr('disabled');
  592. if (res.code === 0) {
  593. localStorage.setItem('anlidata','');
  594. layer.msg(res.msg, {
  595. anim: 0, time: 1000, icon: 6,
  596. }, function () {
  597. var index = parent.layer.getFrameIndex(window.name);
  598. parent.layer.close(index);
  599. parent.layui.table.reload('anli-table');
  600. });
  601. } else {
  602. layer.msg(res.msg, { anim: 0, time: 1000, icon: 5 });
  603. $(target).removeClass(DISABLED);
  604. $(target).removeAttr('disabled');
  605. }
  606. },
  607. error: function (e) {
  608. $(target).removeClass(DISABLED);
  609. $(target).removeAttr('disabled');
  610. }
  611. });
  612. return false;
  613. });
  614. //vr作品
  615. $('.vrBtnSelect').click(function(){
  616. let vrStr = $('input[name="vr_case"]').val();
  617. let vrSid = "";
  618. if (vrStr && ((vrStr.indexOf("saastest.zhuangqixiaoguan.com") > -1)||(vrStr.indexOf("h5.zqxg.cc") > -1))) {
  619. vrSid = vrStr.split("/#/")[1];
  620. }
  621. layer.open({
  622. type: 2,
  623. title: ['选择VR作品', 'color:#333333;background-color:#D8E6F1;'],
  624. content: '{:url("building/group")}?id='+vrSid,
  625. area: ['80%', '80%'],
  626. btn: ['确定', '取消'],
  627. yes: function (index, layero) {
  628. let data = layero.find('iframe').contents().find("#hiddentext").val();
  629. if (data) {
  630. let vrObject = JSON.parse(data);
  631. $('input[name="vr_case"]').val(vrObject.show_url);
  632. }
  633. layer.close(index);
  634. //点击确认触发 iframe 内容中的按钮提交
  635. }
  636. });
  637. })
  638. /*---------------------------------------------------------*/
  639. //案例封面图
  640. upload.render({
  641. elem: '#anlicoverimg',
  642. accept: 'images',
  643. url: '/upload/',
  644. exts: 'png|jpg|jpeg',
  645. field: 'file',
  646. size: 3 * 1024,
  647. auto: false,
  648. choose: function (obj) {
  649. length = $('.imageDiv').length;
  650. obj.preview(function (index, file, result) {
  651. var loadingIndex = layer.load('Loading...', {
  652. shade: [0.6,'#000'] //0.1透明度的白色背景
  653. });
  654. ossuploadimg(file).then(f => {
  655. layer.close(loadingIndex);
  656. files = `https://o.nczyzs.com/${f}`;
  657. $('#anlicoverimg').html('<div class="imageDiv" data-id="' + index + '"><img src="' + result + '" alt="' + file.name + '" class="layui-upload-img" width="100%" height="100%"><div class="iconwrapper"></div></div>');
  658. var idom = document.createElement('i');
  659. idom.classList.add("layui-icon", "layui-icon-delete");
  660. idom.addEventListener("click", function (e) {
  661. e.stopPropagation();
  662. var that = this;
  663. layer.confirm('确定删除该图片么?', function (index) {
  664. var imgDiv = $(that).closest('.imageDiv');
  665. if (id = imgDiv.data('id')) {
  666. files = '';
  667. }
  668. imgDiv.remove();
  669. $('#anlicoverimg').html('<div class="text-detail"><span>+</span><p>选择替换封面图</p></div>');
  670. layer.close(index);
  671. });
  672. });
  673. $('.iconwrapper').append(idom);
  674. })
  675. });
  676. },
  677. });
  678. function ossuploadimg(file) {
  679. return new Promise((resolve,reject) => {
  680. var client = new OSS({
  681. region: "oss-cn-hangzhou",
  682. accessKeyId: "LTAI5tHjWupJSCAycy2yVbQZ",
  683. accessKeySecret: "eNFicm77Cfq3u7ZnQyw1urFmFNpf3w",
  684. bucket: "zyzswzh",
  685. secure: true
  686. });
  687. var date = new Date().getTime();
  688. var objectName = 'SmartScreen/' + date + "/" + Date.now() + ".jpeg";
  689. client.put(objectName, file).then(function (result) {
  690. resolve(result.name);
  691. }).catch(function (error) {
  692. reject(error)
  693. });
  694. })
  695. }
  696. //切换
  697. $('.layui-form-xxk-ul li').click(function(){
  698. var n=$(this).index();
  699. $(this).addClass('addxxkli').siblings().removeClass('addxxkli');
  700. $('.layui-xxk-bodys dd').eq(n).show().siblings().hide();
  701. })
  702. //下拉框关联
  703. var typeData = JSON.parse('{$label|raw}');
  704. form.on('select(type)', function (data) {
  705. var typeJson = typeData[data.value];
  706. var typeLabel = $('#label');
  707. typeLabel.empty().append('<option value="">请选择标签</option>');
  708. for (r in typeJson) {
  709. typeLabel.append('<option value=' + r + '>' + typeJson[r] + '</option>');
  710. }
  711. form.render();
  712. });
  713. });
  714. </script>
  715. {/block}