edit.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. {extend name="app/shop/view/base.html" /}
  2. {block name="resources"}
  3. <link rel="stylesheet" href="WECHAT_CSS/wx_graphic_message.css">
  4. <link rel="stylesheet" href="SHOP_CSS/goods_lists.css">
  5. <style type="text/css">
  6. .new-btn {
  7. background-color: #fff !important;
  8. border: 1px solid #ff6c04;
  9. color: #ff6c04;
  10. }
  11. .new-btn:hover {
  12. color: #ff6c04 !important;
  13. }
  14. .img-upload{margin-left: 0}
  15. </style>
  16. {/block}
  17. {block name="main"}
  18. <div class="layui-collapse tips-wrap">
  19. <div class="layui-colla-item">
  20. <h2 class="layui-colla-title">操作提示<i class="layui-icon layui-colla-icon"></i></h2>
  21. <ul class="layui-colla-content layui-show">
  22. <li>由于微信公众平台的接口规范,仅提供向微信认证服务号商家。如你的公众号同时具有微信支付权限,你还可以在正文内添加超级链接。</li>
  23. </ul>
  24. </div>
  25. </div>
  26. <!-- 按钮容器 -->
  27. <!-- <div class="single-filter-box">
  28. <button class="layui-btn" onclick="add_tuwen()">添加图文</button>
  29. <button class="layui-btn new-btn" onclick="add_text()">添加文本</button>
  30. </div> -->
  31. <div id='graphic_message'>
  32. <div class='graphic-message'>
  33. <img src='WECHAT_IMG/mobile_head.png'/>
  34. <ul class='graphic-message-list'>
  35. <template v-for="(value, index) in article_item_list">
  36. <li @click.stop="chooseGraphicMessage(index)" @mouseenter="moveThis(index)" @mouseleave="leaveThis(index)">
  37. <content>
  38. <template v-if="value.cover.path == ''">
  39. <div class='empty-img'></div>
  40. <span class='empty-hint'>{{index == 0 ? '封面图片' : '缩略图'}}</span>
  41. </template>
  42. <img v-else :src="value.cover.path"/>
  43. <div class='mask-layer'></div>
  44. <h4 class='title'><span>{{value.title == '' ? '标题' : value.title}}</span></h4>
  45. </content>
  46. <div class='action'>
  47. <template v-if="(index == 0 && index == current_msg_index) || (move_index == 0 && index == 0)">
  48. <span class='edit' @click.stop="chooseGraphicMessage(index)">编辑</span>
  49. </template>
  50. <template v-else-if="move_index == index || index == current_msg_index">
  51. <span class='edit' @click.stop="chooseGraphicMessage(index)">编辑</span>
  52. <span class='delete' @click.stop="deleteGraphicMessage(index)">删除</span>
  53. </template>
  54. </div>
  55. </li>
  56. </template>
  57. </ul>
  58. <div class='add-graphic-message'>
  59. <h4>
  60. <a @click="addGraphicMessage()">新增</a>
  61. </h4>
  62. </div>
  63. <div class='bottom-botton'>
  64. <template v-if="material_id == 0">
  65. <button class='layui-btn' @click="saveGraphicMessage()">保存</button>
  66. </template>
  67. <button class='layui-btn' v-else @click="editGraphicMessage()">保存</button>
  68. </div>
  69. </div>
  70. <div class='editor-box' :style="'margin-top:' + editBoxTopPosition + 'px'">
  71. <div class='arrow'></div>
  72. <div class='editor-title'>
  73. <label>标题<span class='hint'>(必填)</span></label>
  74. <input class="layui-input" id="input_title" placeholder="请在这里输入标题" maxlength="64" v-model="inputTitle" max-length="70"/>
  75. </div>
  76. <div class='editor-author'>
  77. <label>作者<span class='hint'>(选填)</span></label>
  78. <input class="layui-input" id="input_autor" placeholder="请输入作者" maxlength="16" v-model="inputAutor" max-length="20"/>
  79. </div>
  80. <div class='editor-cover'>
  81. <label>封面<span class='hint'>(图片建议尺寸:900 x 500像素 必填)</span></label>
  82. <!--<div class="choose-cover">-->
  83. <!--<div class="choose-cover-pic">-->
  84. <!--<img :src="coverImg"/>-->
  85. <!--</div>-->
  86. <!--<template v-if="coverImg == ''">-->
  87. <!--<a class="text-color" id="uploadImg" href="javascript:;">上传图片...</a>-->
  88. <!--</template>-->
  89. <!--<template v-else>-->
  90. <!--<a id="uploadImg" style="margin-top: 15px;" href="javascript:;">更换封面图...</a>-->
  91. <!--</template>-->
  92. <!--</div>-->
  93. <div class="layui-input-block img-upload">
  94. <div class="upload-img-block">
  95. <div class="upload-img-box hover" v-if="coverImg">
  96. <div class="upload-default" id="uploadImg" >
  97. <div id="preview_uploadImg" class="preview_img">
  98. <img layer-src :src="coverImg" class="img_prev" :data-img="coverImg"/>
  99. </div>
  100. </div>
  101. <div class="operation">
  102. <div>
  103. <i title="图片预览" class="iconfont iconreview js-preview" style="margin-right: 20px;"></i>
  104. <i title="删除图片" class="layui-icon layui-icon-delete js-delete"></i>
  105. </div>
  106. <div class="replace_img js-replace">点击替换</div>
  107. </div>
  108. <input type="hidden" name="logo" id="logo" :value="coverImg"/>
  109. </div>
  110. <div class="upload-img-box" v-else>
  111. <div class="upload-default" id="uploadImg" >
  112. <div class="upload">
  113. <i class="iconfont iconshangchuan"></i>
  114. <p>点击上传</p>
  115. </div>
  116. </div>
  117. <div class="operation">
  118. <div>
  119. <i title="图片预览" class="iconfont iconreview js-preview" style="margin-right: 20px;"></i>
  120. <i title="删除图片" class="layui-icon layui-icon-delete js-delete"></i>
  121. </div>
  122. <div class="replace_img js-replace">点击替换</div>
  123. </div>
  124. <input type="hidden" name="logo" id="logo" />
  125. </div>
  126. </div>
  127. </div>
  128. <label class="editor-msg-label" :class="checkShowCoverPic ? 'selected' : ''" for="check_show_cover_pic">
  129. <input type="checkbox" id="check_show_cover_pic" value="1" v-model="checkShowCoverPic"/>
  130. 封面图片显示在正文中
  131. </label>
  132. </div>
  133. <div class='editor-content'>
  134. <label>正文<span class='hint'>(必填)</span></label>
  135. <script id="editor" type="text/plain" style="width:380px; height:300px;"></script>
  136. </div>
  137. <div class='editor-url'>
  138. <label>原文链接<span class='hint'>(选填)</span></label>
  139. <input class="layui-input" id="original_url" placeholder="例:http://www.example.com" maxlength="100" v-model="inputOriginalUrl"/>
  140. </div>
  141. </div>
  142. <input type='hidden' id='edit_flag' value='{$flag}'/>
  143. <input type='hidden' id='material_id' value='{$material_id}'/>
  144. <div class="loading" :class="{ show: loading }"><i class=" layui-icon layui-icon-loading layui-icon layui-anim layui-anim-rotate layui-anim-loop"></i></div>
  145. </div>
  146. {/block}
  147. {block name="script"}
  148. <script src="STATIC_JS/vue.js"></script>
  149. <script src='WECHAT_JS/wx_graphic_message.js'></script>
  150. <script>
  151. function add_tuwen()
  152. {
  153. location.href = ns.url("wechat://shop/material/add");
  154. $('.addtext').addClass('new-btn');
  155. $('.addtuwen').removeClass('new-btn');
  156. }
  157. var material_id = $("#material_id").val();
  158. if(material_id != 0){
  159. var timer_new = setInterval(function () {
  160. if($(".img_prev").attr('data-img') && $("#material_id").val()){
  161. loadImgMagnify();
  162. var logo_upload = new Upload({
  163. elem: '#uploadImg',
  164. callback:function (res) {
  165. if (res.code >= 0) {
  166. //成功之后将图片的路径存放再隐藏域中,便于提交使用
  167. // $("input[name='web_qrcode']").val(res.data.pic_path);
  168. vue_obj.coverImg = ns.img(res.data.pic_path);
  169. vue_obj.article_item_list[vue_obj.current_msg_index].cover.path = ns.img(res.data.pic_path);
  170. //将图片展示在页面上
  171. // $("#webQrcodeUpload").html("<img src=" + ns.img(res.data.pic_path) + " >");
  172. }
  173. }
  174. });
  175. clearInterval(timer_new);
  176. }
  177. }, 1000);
  178. }
  179. </script>
  180. <script>
  181. function add_text()
  182. {
  183. location.href = ns.url("wechat://shop/material/addTextMaterial");
  184. $('.addtuwen').addClass('new-btn')
  185. $('.addtext').removeClass('new-btn')
  186. }
  187. </script>
  188. <!-- 百度编辑器 -->
  189. <script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.config.js"></script>
  190. <script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.all.js"></script>
  191. <script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/lang/zh-cn/zh-cn.js"></script>
  192. {/block}