article-edit.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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. <!--element ui 样式表-->
  8. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" />
  9. <link rel="stylesheet" th:href="@{/lib/element-ui/element-ui-min.css}" />
  10. <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
  11. <link th:if="${pageId==1026}" th:href="@{/css/base/form.css(v=${version})}" rel="stylesheet" type="text/css">
  12. <link th:href="@{/css/supplier-center/article/article-edit.css(v=${version})}" charset="UTF-8" rel="stylesheet" type="text/css">
  13. <template th:replace="components/analysis"></template>
  14. </head>
  15. <body>
  16. <input type="hidden" th:value="${ossBucket}" id="ossBucket">
  17. <!-- 引用头部 -->
  18. <template th:replace="components/header"></template>
  19. <!-- 我的采美 -->
  20. <div id="articleEdit" class="article-edit">
  21. <div class="navLayout" v-cloak>
  22. <div class="crumbs" v-if="isPC">
  23. <span>我的采美</span>
  24. <span>&gt;</span>
  25. <span>采美文章</span>
  26. <span>&gt;</span>
  27. <span>文章管理</span>
  28. </div>
  29. <div class="wrap clear">
  30. <!--左侧导航-->
  31. <template th:replace="supplier-center/components/tableft"></template>
  32. <div class="right-box right">
  33. <div class="row">
  34. <div class="top-tip">温馨提示:发布采美文章有利于曝光您的店铺商品,提高成交量(发布并且审核通过后,可在信息中心搜索您的文章)</div>
  35. <div class="valide-form">
  36. <el-form :model="formData" :rules="rules" ref="ruleForm" label-position="top">
  37. <!-- 标题 -->
  38. <el-form-item label="标题" prop="title" class="mint-filter">
  39. <el-input v-model="formData.title" placeholder="请输入文章标题" @focus="onFocused" @blur="onBlured"></el-input>
  40. <div class="mint-message" v-if="formValidate.title">{{formValidate.title}}</div>
  41. </el-form-item>
  42. <!-- 文章标签 -->
  43. <el-form-item label="文章标签" prop="label" class="mint-filter">
  44. <el-input v-model="formData.label" placeholder="请输入文章标签" @focus="onFocused" @blur="onBlured"></el-input>
  45. <div class="mint-message" v-if="formValidate.label">{{formValidate.label}}</div>
  46. </el-form-item>
  47. <el-form-item label="">
  48. <!-- 预选标签列表 -->
  49. <div class="tag-list">
  50. <div v-for="(label, index) in articleLabels"
  51. class="tag"
  52. :class="{active: checkLabel(index)}" @click.stop="labelClick(index)">
  53. <span>{{label}}</span>
  54. <span class="close">×</span>
  55. </div>
  56. </div>
  57. <!-- 新增标签 -->
  58. <div class="label-add">
  59. <el-input v-model="addLabelName" placeholder="请输入标签名" @focus="onFocused" @blur="onBlured"></el-input>
  60. <button class="add-tag" type="button" @click.stop="addLabel">添加</button>
  61. </div>
  62. </el-form-item>
  63. <!-- SEO关键词 -->
  64. <el-form-item label="SEO关键词" prop="keyword" class="mint-filter">
  65. <el-input v-model="formData.keyword" placeholder="请输入SEO关键词" class="seo-auto-input" @focus="onFocused" @blur="onBlured"></el-input>
  66. <div class="mint-message" v-if="formValidate.keyword">{{formValidate.keyword}}</div>
  67. </el-form-item>
  68. <!-- 关联标签库 -->
  69. <el-form-item label="关联标签库" prop="labelIds" class="mint-filter">
  70. <el-select
  71. v-model="formData.labelIds"
  72. multiple
  73. placeholder="请选择标签"
  74. class="max-width"
  75. :multiple-limit="6"
  76. clearable
  77. filterable
  78. remote
  79. reserve-keyword
  80. :remote-method="fetchQueryKeywordList"
  81. :loading="remoteLoading"
  82. >
  83. <el-option v-for="item in labelList" :key="item.id" :label="item.keyword" :value="item.id"></el-option>
  84. </el-select>
  85. <div class="mint-message" v-if="formValidate.labelIds">{{formValidate.labelIds}}</div>
  86. </el-form-item>
  87. <!-- 发布人 -->
  88. <el-form-item label="发布人" prop="publisher" class="mint-filter">
  89. <el-input v-model="formData.publisher" placeholder="请填写发布人姓名" @focus="onFocused" @blur="onBlured"></el-input>
  90. <div class="mint-message" v-if="formValidate.publisher">{{formValidate.publisher}}</div>
  91. </el-form-item>
  92. <!-- 来源 -->
  93. <el-form-item label="来源" prop="source">
  94. <el-input v-model="formData.source" placeholder="请填写文章来源" @focus="onFocused" @blur="onBlured"></el-input>
  95. </el-form-item>
  96. <!-- 推荐语(描述) -->
  97. <el-form-item label="推荐语(描述)" prop="recommendContent" class="mint-filter">
  98. <el-input type="textarea" :rows="3" v-model="formData.recommendContent" placeholder="请填写推荐语(描述)" @focus="onFocused" @blur="onBlured"></el-input>
  99. <div class="mint-message" v-if="formValidate.recommendContent">{{formValidate.recommendContent}}</div>
  100. </el-form-item>
  101. <!-- 文章内容 -->
  102. <el-form-item label="文章内容" prop="articleContent" class="mint-filter">
  103. <el-input v-model="formData.articleContent" v-show="false" @focus="onFocused" @blur="onBlured"></el-input>
  104. <editor v-model="formData.articleContent" placeholder="请输入文章内容"></editor>
  105. <div class="mint-message" v-if="formValidate.articleContent">{{formValidate.articleContent}}</div>
  106. </el-form-item>
  107. <!-- 文章分类 -->
  108. <el-form-item label="文章分类" prop="typeId">
  109. <el-select v-model="formData.typeId" class="max-width">
  110. <template v-for="(typeInfo, index) in articleTypeList">
  111. <el-option :label="typeInfo.typeName" :value="typeInfo.typeId" :key="typeInfo.typeId"></el-option>
  112. </template>
  113. </el-select>
  114. </el-form-item>
  115. <!-- 引导图 -->
  116. <el-form-item label="引导图" prop="guidanceImage">
  117. <el-input v-model="formData.guidanceImage" placeholder="引导图" v-show="false"></el-input>
  118. <el-upload
  119. :class="{ 'hide-upload': articleImageList.length >= 1 }"
  120. :action="action"
  121. list-type="picture-card"
  122. :on-success="handleUploadSuccess"
  123. :on-remove="handleImageRemove"
  124. :file-list="articleImageList"
  125. :limit="1"
  126. >
  127. <i class="el-icon-plus"></i>
  128. <div slot="tip" class="el-upload__tip">建议图片尺寸210px*210px,并上传白底图片</div>
  129. </el-upload>
  130. </el-form-item>
  131. <!-- 状态 -->
  132. <el-form-item label="" prop="status">
  133. <span class="cm-label"><em>*</em>状态:</span>
  134. <el-radio-group v-model="formData.status">
  135. <el-radio :label="1">发布</el-radio>
  136. <el-radio :label="0">存草稿</el-radio>
  137. </el-radio-group>
  138. </el-form-item>
  139. </el-form>
  140. <!-- 提交 -->
  141. <div class="form-item btns">
  142. <button class="btn break" @click="handleBack">返回</button>
  143. <button class="btn submit" @click="handleSave">提交</button>
  144. <button class="btn submit" @click="handlePreview">预览</button>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <!-- 引入底部 -->
  153. <template th:replace="components/footer"></template>
  154. <template th:replace="components/foot-link"></template>
  155. <script charset="utf-8" type="text/javascript" th:src="@{/lib/wangEditor.min.js}"></script>
  156. <script charset="utf-8" type="text/javascript" th:src="@{/lib/element-ui/element-ui.min.js}"></script>
  157. <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
  158. <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
  159. <script charset="UTF-8" type="text/javascript" th:src="@{/js/supplier-center/article/editor-component.js(v=${version})}"></script>
  160. <script charset="UTF-8" type="text/javascript" th:src="@{/js/supplier-center/article/article-edit.js(v=${version})}"></script>
  161. </body>
  162. </html>