article-edit.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <!DOCTYPE html>
  2. <html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="https://www.thymeleaf.org ">
  4. <head>
  5. <title>采美365网-文章列表</title>
  6. <template th:replace="components/head-link"></template>
  7. <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
  8. <link th:if="${pageId==1026}" th:href="@{/css/base/form.css(v=${version})}" rel="stylesheet" type="text/css">
  9. <link th:href="@{/css/supplier-center/article/article-edit.css(v=${version})}" charset="UTF-8" rel="stylesheet"
  10. type="text/css">
  11. <template th:replace="components/analysis"></template>
  12. </head>
  13. <body>
  14. <input type="hidden" th:value="${coreServer}" id="coreServer">
  15. <!-- 引用头部 -->
  16. <template th:replace="components/header"></template>
  17. <!-- 我的采美 -->
  18. <div id="articleEdit" class="article-edit">
  19. <div class="navLayout" v-cloak>
  20. <div class="crumbs" v-if="isPC">
  21. <span>我的采美</span>
  22. <span>&gt;</span>
  23. <span>文章管理</span>
  24. <span>&gt;</span>
  25. <span>添加文章</span>
  26. </div>
  27. <div class="wrap clear">
  28. <!--左侧导航-->
  29. <template th:replace="supplier-center/components/tableft"></template>
  30. <div class="right-box right">
  31. <div class="row">
  32. <div class="top-tip">温馨提示:多发布文章,有利于曝光您的产品以及提高您产品的销售量,文章发布并且审核通过后<br/>可在信息中心搜索您的文章</div>
  33. <form class="form">
  34. <!-- 标题 -->
  35. <div class="form-item" required prop="title">
  36. <label for="title" class="form-label"><em>*</em>标题:</label>
  37. <input id="title" name="title" class="form-control" placeholder="请输入文章标题"
  38. v-model="formData.title"/>
  39. <template v-if="validData['title'] && !validData['title'].valid">
  40. <div class="errTips" v-html="validData['title'].message"></div>
  41. </template>
  42. </div>
  43. <!-- 文章标签 -->
  44. <div class="form-item" required prop="label">
  45. <label for="tag" class="form-label"><em>*</em>文章标签:</label>
  46. <input id="tag" name="label" class="form-control" placeholder="多个标签请用英文逗号( , )分割,例如:美白,祛痘"
  47. v-model="formData.label"/>
  48. <template v-if="validData['label'] && !validData['label'].valid">
  49. <div class="errTips" v-html="validData['label'].message"></div>
  50. </template>
  51. </div>
  52. <!-- 预选标签列表 -->
  53. <div class="tag-list">
  54. <div v-for="(label, index) in articleLabels" class="tag"
  55. :class="{active: checkLabel(index)}" @click.stop="labelClick(index)">{{label}}<span
  56. class="close">×</span></div>
  57. </div>
  58. <!-- 新增标签 -->
  59. <div class="control-group">
  60. <input id="tagName" name="addLabel" class="form-control tagName" placeholder="请输入标签名"
  61. v-model="addLabelName"/>
  62. <button class="form-button addTag" type="button" @click.stop="addLabel">添加</button>
  63. </div>
  64. <!-- SEO关键词 -->
  65. <div class="form-item" required prop="keyword">
  66. <label for="keyword" class="form-label"><em>*</em>SEO关键词:</label>
  67. <input id="keyword" type="text" name="keyword" class="form-control" placeholder="请输入SEO关键词"
  68. v-model="formData.keyword"/>
  69. <template v-if="validData['keyword'] && !validData['keyword'].valid">
  70. <div class="errTips" v-html="validData['keyword'].message"></div>
  71. </template>
  72. </div>
  73. <!-- 发布人 -->
  74. <div class="form-item" required prop="publisher">
  75. <label for="postAuthor" class="form-label"><em>*</em>发布人:</label>
  76. <input id="postAuthor" name="publisher" class="form-control" placeholder="请输入发布人"
  77. v-model="formData.publisher"/>
  78. <template v-if="validData['publisher'] && !validData['publisher'].valid">
  79. <div class="errTips" v-html="validData['publisher'].message"></div>
  80. </template>
  81. </div>
  82. <!-- 来源 -->
  83. <div class="form-item">
  84. <label for="source" class="form-label"><em>*</em>来源:</label>
  85. <input id="source" name="source" class="form-control" placeholder="请输入文章来源"
  86. v-model="formData.source"/>
  87. <template v-if="validData['source'] && !validData['source'].valid">
  88. <div class="errTips" v-html="validData['source'].message"></div>
  89. </template>
  90. </div>
  91. <!-- 推荐语 -->
  92. <div class="form-item" required prop="recommendContent">
  93. <label for="desc" class="form-label"><em>*</em>推荐语(描述):</label>
  94. <textarea id="desc" name="recommendContent" placeholder="请输入推荐语" rows="4"
  95. v-model="formData.recommendContent" class="form-control"></textarea>
  96. <template v-if="validData['recommendContent'] && !validData['recommendContent'].valid">
  97. <div class="errTips" v-html="validData['recommendContent'].message"></div>
  98. </template>
  99. </div>
  100. <!-- 文章内容 -->
  101. <div class="form-item" required prop="articleContent">
  102. <label class="form-label"><em>*</em>文章内容:</label>
  103. <div id="editor"></div>
  104. <template v-if="validData['articleContent'] && !validData['articleContent'].valid">
  105. <div class="errTips" v-html="validData['articleContent'].message"></div>
  106. </template>
  107. </div>
  108. <!-- 文章分类 -->
  109. <div class="form-item" required prop="typeId">
  110. <label for="category" class="form-label"><em>*</em>文章分类:</label>
  111. <select id="category" name="typeId" class="form-control form-select"
  112. v-model="formData.typeId">
  113. <option value="">请选择</option>
  114. <template v-for="(typeInfo, index) in articleTypeList">
  115. <option :value="typeInfo.typeId" :key="index">{{typeInfo.typeName}}</option>
  116. </template>
  117. </select>
  118. <template v-if="validData['typeId'] && !validData['typeId'].valid">
  119. <div class="errTips" v-html="validData['typeId'].message"></div>
  120. </template>
  121. </div>
  122. <!-- 引导图 -->
  123. <div class="form-item" required prop="guidanceImage">
  124. <label class="form-label"><em>*</em>引导图:</label>
  125. <label for="cover" class="upload-control">
  126. <template v-if="!formData.guidanceImage">
  127. <span>+</span>
  128. <span>添加图片</span>
  129. </template>
  130. <img :src="formData.guidanceImage" alt="guidanceImage" v-show="formData.guidanceImage">
  131. </label>
  132. <input type="file" name="guidanceImage" id="cover" class="form-control" hidden
  133. @change="fileInputChange(event)"/>
  134. <template v-if="validData['guidanceImage'] && !validData['guidanceImage'].valid">
  135. <div class="errTips" v-html="validData['guidanceImage'].message"></div>
  136. </template>
  137. </div>
  138. <!-- 状态 -->
  139. <div class="form-item radio-group" required prop="status">
  140. <div class="form-label"><em>*</em>状态:</div>
  141. <div class="radio-control">
  142. <input id="on" type="radio" value="1" name="status" v-model="formData.status"/>
  143. <label for="on" class="radio">启用</label>
  144. </div>
  145. <div class="radio-control">
  146. <input id="off" type="radio" value="0" name="status" v-model="formData.status"/>
  147. <label for="off" class="radio">停用</label>
  148. </div>
  149. </div>
  150. <div class="form-item btns">
  151. <button class="btn break" @click="handleBack">返回</button>
  152. <button class="btn submit" @click="handleSave">保存</button>
  153. </div>
  154. </form>
  155. </div>
  156. </div>
  157. </div>
  158. </div>
  159. </div>
  160. <!-- 引入底部 -->
  161. <template th:replace="components/footer"></template>
  162. <template th:replace="components/foot-link"></template>
  163. <script charset="utf-8" type="text/javascript" th:src="@{/lib/wangEditor.min.js}"></script>
  164. <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
  165. <script charset="utf-8" type="text/javascript"
  166. th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
  167. <script charset="UTF-8" type="text/javascript"
  168. th:src="@{/js/supplier-center/article/formMixin.js(v=${version})}"></script>
  169. <script charset="UTF-8" type="text/javascript"
  170. th:src="@{/js/supplier-center/article/uploadMixin.js(v=${version})}"></script>
  171. <script charset="UTF-8" type="text/javascript"
  172. th:src="@{/js/supplier-center/article/article-edit.js(v=${version})}"></script>
  173. </body>
  174. </html>