ColdWord.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <style lang="scss">
  2. .preview {
  3. .el-form-item {
  4. margin-bottom: 15px;
  5. }
  6. label,
  7. p {
  8. line-height: 25px !important;
  9. }
  10. }
  11. </style>
  12. <template>
  13. <section>
  14. <p><span>系统管理></span>冷词管理</p>
  15. <div class="content">
  16. <div class="filter">
  17. <el-form
  18. size="small"
  19. label-width="70px"
  20. :inline="true"
  21. label-position="left"
  22. >
  23. <el-form-item label="">
  24. <el-input
  25. clearable
  26. placeholder="请输入热词"
  27. v-model="form.name"
  28. ></el-input>
  29. </el-form-item>
  30. <el-form-item>
  31. <el-button type="primary" @click="search">搜索</el-button>
  32. </el-form-item>
  33. <el-form-item style="float: right">
  34. <el-button
  35. @click="(dialogVisible = true), (dialogTitle = '新增冷词')"
  36. type="primary"
  37. >新增冷词</el-button
  38. >
  39. </el-form-item>
  40. </el-form>
  41. </div>
  42. <el-table
  43. class="table"
  44. :data="list"
  45. height="50vh"
  46. border
  47. v-loading="loading"
  48. default-expand-all
  49. row-key="id"
  50. style="width: 100%"
  51. >
  52. <el-table-column prop="name" width="300" label="关键字">
  53. </el-table-column>
  54. <el-table-column prop="is_active" label="状态">
  55. <template slot-scope="scope">
  56. <el-switch v-model="scope.row.is_active"> </el-switch>
  57. </template>
  58. </el-table-column>
  59. <el-table-column prop="cname" label="编辑人"> </el-table-column>
  60. <el-table-column prop="zip" width="150" label="操作">
  61. <template slot-scope="scope">
  62. <el-button class="del" @click="del(scope.row.id)" type="text"
  63. >删除</el-button
  64. >
  65. </template>
  66. </el-table-column>
  67. </el-table>
  68. <Page
  69. ref="pageButton"
  70. :current="form.page"
  71. :page_size="form.page_size"
  72. :total="total"
  73. @pageChange="gopage"
  74. />
  75. </div>
  76. <el-dialog
  77. :title="dialogTitle"
  78. :close-on-click-modal="false"
  79. :visible.sync="dialogVisible"
  80. >
  81. <el-form size="small" class="preview" :inline="false" label-width="80px">
  82. <el-form-item label="冷词名称">
  83. <el-input v-model="form1.name"></el-input>
  84. </el-form-item>
  85. </el-form>
  86. <span slot="footer" class="dialog-footer">
  87. <el-button size="small" type="primary" @click="save">确 定</el-button>
  88. </span>
  89. </el-dialog>
  90. </section>
  91. </template>
  92. <script>
  93. import Page from "../../components/Page";
  94. export default {
  95. components: {
  96. Page,
  97. },
  98. data() {
  99. return {
  100. form: { name: "", page: 1, page_size: 20 },
  101. form1: {},
  102. total: 1,
  103. list: [{ name: "2333" }],
  104. loading: false,
  105. input: "",
  106. dialogVisible: false,
  107. dialogTitle: "",
  108. defaultProps: {},
  109. data: [],
  110. selected: [],
  111. };
  112. },
  113. methods: {
  114. search() {
  115. let parm = this.form;
  116. this.getData();
  117. },
  118. getData() {
  119. var parm = this.form;
  120. this.loading = true;
  121. this.$api.getColdWordList(parm).then((res) => {
  122. let list = res.data.data.list;
  123. this.list = list;
  124. this.total = res.data.data.total;
  125. this.loading = false;
  126. });
  127. },
  128. gopage(size) {
  129. if (size) {
  130. this.form.page_size = size;
  131. }
  132. this.form.page = this.$refs.pageButton.page;
  133. this.getData();
  134. },
  135. del(id) {
  136. this.$confirm("确定删除吗", "提示", {
  137. type: "warning",
  138. }).then(() => {
  139. this.$api.delColdWord({ id: id }).then((res) => {
  140. this.$message({
  141. message: "删除成功",
  142. type: "success",
  143. });
  144. this.getData();
  145. });
  146. });
  147. },
  148. save() {
  149. let parm = this.form1;
  150. if (parm.id) {
  151. this.$api.updateColdWord(parm).then((res) => {
  152. if (res.data.code == 0) {
  153. this.$message({
  154. type: "success",
  155. message: "保存成功!",
  156. });
  157. this.getData();
  158. } else {
  159. this.$message.error("失败!");
  160. }
  161. });
  162. } else {
  163. this.$api.addColdWord(parm).then((res) => {
  164. if (res.data.code == 0) {
  165. this.$message({
  166. type: "success",
  167. message: "保存成功!",
  168. });
  169. this.getData();
  170. } else {
  171. this.$message.error("失败!");
  172. }
  173. });
  174. }
  175. this.dialogVisible = false;
  176. },
  177. },
  178. created() {
  179. this.getData();
  180. },
  181. };
  182. </script>