OldActivity.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  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. .el-cascader {
  12. width: 100%;
  13. }
  14. a {
  15. text-decoration: none;
  16. color: #409eff;
  17. cursor: pointer;
  18. }
  19. // 右边
  20. .item-main {
  21. // margin:34px;
  22. // height:600px;
  23. // background: #FFFFFF;
  24. border: 1px solid #dddddd;
  25. box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.13);
  26. border-radius: 20px;
  27. .el-form.over_y {
  28. max-height: calc(100vh - 340px);
  29. }
  30. /deep/.el-form-item__label {
  31. float: none;
  32. }
  33. }
  34. // label样式
  35. .edit_label {
  36. /deep/.el-input__inner {
  37. background: #f5faff;
  38. border: 0px;
  39. padding: 0px;
  40. }
  41. }
  42. /deep/.opicon {
  43. font-weight: bold;
  44. padding: 5px;
  45. color: #3895fe;
  46. }
  47. .tpl_title {
  48. font-size: 18px;
  49. margin: 20px 0;
  50. }
  51. .tpl_form {
  52. margin: 20px;
  53. border: 1px solid #ccc;
  54. border-radius: 20px;
  55. /deep/.el-form-item {
  56. background: none;
  57. }
  58. /deep/.el-form-item__content {
  59. width: 100%;
  60. }
  61. }
  62. .survey_logo {
  63. position: relative;
  64. top: 15px;
  65. left: 20px;
  66. }
  67. .result_dialog .el-dialog{
  68. width: 40%;
  69. margin-top:20vh!important;
  70. }
  71. .result-item{
  72. height: 35px;
  73. .label{
  74. font-weight: 600;
  75. }
  76. }
  77. .desc{
  78. overflow: hidden;
  79. text-overflow: ellipsis;
  80. display: -webkit-box;
  81. -webkit-line-clamp: 3;
  82. -webkit-box-orient: vertical;
  83. white-space: normal;
  84. }
  85. </style>
  86. <template>
  87. <section>
  88. <p><span>信息管理></span>活动管理</p>
  89. <div class="content">
  90. <div class="filter">
  91. <el-form
  92. size="small"
  93. label-width="70px"
  94. :inline="true"
  95. label-position="left"
  96. >
  97. <el-form-item label="">
  98. <el-input
  99. clearable
  100. placeholder="请输入标题"
  101. v-model="form.name"
  102. ></el-input>
  103. </el-form-item>
  104. <el-form-item>
  105. <el-button type="primary" @click="search">搜索</el-button>
  106. </el-form-item>
  107. <el-form-item style="float: right">
  108. <el-button @click="addActivity" type="primary">发布活动回顾</el-button>
  109. </el-form-item>
  110. <el-form-item style="float: right" v-if='form.journal_id'>
  111. <el-button @click="$router.go(-1)" type="info">返回</el-button>
  112. </el-form-item>
  113. </el-form>
  114. </div>
  115. <el-table
  116. class="table"
  117. :data="list"
  118. height="57vh"
  119. border
  120. v-loading="loading"
  121. default-expand-all
  122. row-key="id"
  123. style="width: 100%"
  124. >
  125. <el-table-column prop="img" label="活动海报" width="110">
  126. <template slot-scope="scope">
  127. <img :src="scope.row.img" alt="" width="80">
  128. </template>
  129. </el-table-column>
  130. <el-table-column prop="name" label="活动名称" width="300px"></el-table-column>
  131. <el-table-column prop="journal_name" label="发布单位" width="150"></el-table-column>
  132. <el-table-column prop="the_host" label="主办方" width="150"></el-table-column>
  133. <el-table-column prop="to_undertake" label="承办方" width="150"></el-table-column>
  134. <el-table-column prop="begin_time" label="活动时间" width="170">
  135. <template slot-scope="scope">
  136. <span>{{scope.row.begin_time}},{{scope.row.end_time}}</span>
  137. </template>
  138. </el-table-column>
  139. <el-table-column prop="address" label="活动地址" width="200"></el-table-column>
  140. <el-table-column prop="desc" label="活动简介" width="500">
  141. <template slot-scope="scope">
  142. <div class="desc">{{scope.row.desc}}</div>
  143. </template>
  144. </el-table-column>
  145. <el-table-column prop="zip" width="150" label="操作" fixed="right" align="center">
  146. <template slot-scope="scope">
  147. <el-button class="edit" type="text" @click="edit(scope.row)"
  148. >编辑</el-button
  149. >
  150. <el-button class="del" @click="del(scope.row.id)" type="text"
  151. >删除</el-button
  152. >
  153. </template>
  154. </el-table-column>
  155. </el-table>
  156. <Page
  157. ref="pageButton"
  158. :current="form.page"
  159. :page_size="form.page_size"
  160. :total="total"
  161. @pageChange="gopage"
  162. />
  163. </div>
  164. </section>
  165. </template>
  166. <script>
  167. import Page from "../../components/Page";
  168. import fuEditor from '../../components/fuEditor'
  169. export default {
  170. name:'oldact',
  171. components: {
  172. Page,
  173. fuEditor
  174. },
  175. data() {
  176. return {
  177. form: { name: "", page: 1, page_size: 20 },
  178. total: 1,
  179. list: [{ name: "2333" }],
  180. loading: false,
  181. rules: {
  182. name: [{ required: true, message: "请输入标题", trigger: "blur" }],
  183. },
  184. };
  185. },
  186. methods: {
  187. search() {
  188. let parm = this.form;
  189. this.getData();
  190. },
  191. openDiag() {
  192. this.form1 = {};
  193. this.dialogVisible = true;
  194. this.dialogTitle = "发送消息";
  195. },
  196. addActivity(){
  197. this.$router.push({path:'/learning/oldactivity/add',query:{type:1}})
  198. },
  199. gopage(size) {
  200. if (size) {
  201. this.form.page_size = size;
  202. }
  203. this.form.page = this.$refs.pageButton.page;
  204. this.getData();
  205. },
  206. getData() {
  207. var parm = this.form;
  208. this.loading = true;
  209. parm.type = 1
  210. this.$api.getActivityList(parm).then((res) => {
  211. this.list = res.data.data.list;
  212. this.total=res.data.data.total
  213. this.loading = false;
  214. });
  215. },
  216. del(id) {
  217. this.$confirm("确定删除吗", "提示", {
  218. type: "warning",
  219. }).then(() => {
  220. this.$api.delActivity({ id: id }).then((res) => {
  221. this.$message({
  222. message: "删除成功",
  223. type: "success",
  224. });
  225. this.getData();
  226. });
  227. });
  228. },
  229. edit(row) {
  230. this.$router.push({path:'/learning/oldactivity/add',query:{id:row.id,type:1}})
  231. },
  232. save() {
  233. this.$refs["form1"].validate((valid) => {
  234. if (valid) {
  235. let parm = this.form1;
  236. let id = this.form1.id;
  237. let type = this.$route.query.type;
  238. parm.type = type;
  239. parm.receiver_id = JSON.stringify(parm.receiver_id);
  240. if (id) {
  241. this.$api.editMessage(parm).then((res) => {
  242. if (res.data.code == 0) {
  243. this.$message({
  244. type: "success",
  245. message: "保存成功!",
  246. });
  247. } else {
  248. this.$message.error("保存失败!");
  249. }
  250. this.getData();
  251. this.dialogVisible = false;
  252. });
  253. } else {
  254. this.$api.addMessage(parm).then((res) => {
  255. if (res.data.code == 0) {
  256. this.$message({
  257. type: "success",
  258. message: "保存成功!",
  259. });
  260. } else {
  261. this.$message.error("保存失败!");
  262. }
  263. this.getData();
  264. this.dialogVisible = false;
  265. });
  266. }
  267. }
  268. });
  269. },
  270. },
  271. created() {
  272. if(this.$route.query.id){
  273. this.form.journal_id=this.$route.query.id
  274. }
  275. this.getData();
  276. },
  277. beforeRouteEnter(to,from,next){
  278. next(vm=>{
  279. if(from.path.indexOf('add')>=0){
  280. vm.getData()
  281. }
  282. })
  283. }
  284. };
  285. </script>