Browse Source

社区宣传

feature
是小王呀\24601 1 year ago
parent
commit
2d2824c675
  1. 281
      src/views/modules/communityParty/comPromotion/add.vue
  2. 117
      src/views/modules/communityParty/comPromotion/index.vue
  3. 2
      src/views/modules/cpts/base/cpts/edit.vue

281
src/views/modules/communityParty/comPromotion/add.vue

@ -1,215 +1,80 @@
<template> <template>
<div> <el-form :model="formData" @submit.native.prevent="handleSubmit">
<el-form-item label="文章标题:" :label-width="formLabelWidth">
<div class="dialog-h-content scroll-h"> <el-input v-model="formData.title" maxlength="50" required></el-input>
<el-form ref="ref_form" :inline="true" :rules="dataRule" </el-form-item>
class="form"> <el-form-item label="封面图片:" :label-width="formLabelWidth">
<el-upload
<el-form-item label="活动类型" label-width="150px" style="display: block"> action="#"
<div style="width: 500px"> list-type="picture"
<el-input v-model.trim="typeName" size="small" class="item_width_1" clearable placeholder="请输入"> :on-change="handleFileUpload"
</el-input> :file-list="fileList"
</div> >
</el-form-item> <el-button size="small" type="primary">点击上传</el-button>
</el-form> </el-upload>
</div> </el-form-item>
<el-form-item label="发布时间:" :label-width="formLabelWidth">
<div class="div_btn"> <el-date-picker v-model="formData.publishDate" type="date" placeholder="选择日期"></el-date-picker>
<el-button size="small" @click="handleCancle"> </el-button> </el-form-item>
<!-- <el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm"> <el-form-item label="文章标签:" :label-width="formLabelWidth">
</el-button> --> <el-select v-model="formData.tags" placeholder="请选择">
<el-button size="small" type="primary" @click="handleComfirm"> <el-option
</el-button> v-for="tag in availableTags"
</div> :key="tag"
</div> :label="tag"
:value="tag"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="内容:" :label-width="formLabelWidth">
<el-input type="textarea" v-model="formData.content" rows="10" required></el-input>
</el-form-item>
<el-form-item>
<el-checkbox v-model="formData.homepageTop">首页置顶</el-checkbox>
</el-form-item>
<el-form-item>
<el-checkbox v-model="formData.notification">消息推送</el-checkbox>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSubmit">发布</el-button>
</el-form-item>
</el-form>
</template> </template>
<script> <script>
import { mapGetters } from 'vuex' export default {
import { Loading } from 'element-ui' // Loading data() {
import { requestPost } from '@/js/dai/request' return {
import Tinymce from '@c/tinymce2/index.vue' formData: {
import daiMap from "@/utils/dai-map"; title: '',
// import UploadImage from './upload-image.vue' coverImage: null,
import UploadImage from '@/views/modules/plugins/rent/upload-image.vue' publishDate: '',
tags: '',
var map content: '',
var search homepageTop: false,
var markers notification: false
var infoWindowList
var geocoder //
let loading //
export default {
data () {
return {
typeName: '',
marde:'',
id:''
}
},
components: { Tinymce,UploadImage },
mounted () {
// this.initMap()
},
methods: {
async initForm(activityId){
console.log('activityIddetailShow',activityId)
if(activityId !== ''){
this.marde = 'edi'
this.id = activityId.id
this.typeName = activityId.typeName
}
},
async handleComfirm () {
// this.btnDisable = true
setTimeout(() => {
// this.btnDisable = false
}, 100)
if (this.typeName === '') {
this.$message.error('活动类型不能为空')
}else {
this.addActivity()
}
},
async addActivity () {
if (this.marde === 'edi') {
let url = '/actual/base/advertisingTag/save'
let parmer = {
tagName:this.typeName,
status: 0,
}
const { data, code, msg } = await requestPost(url, parmer)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
// this.btnDisable = false
} else {
// this.btnDisable = false
this.$message.error(msg)
}
}else{
let url = '/actual/base/activityType/save'
// let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/save"
let parmer = {
typeName: this.typeName,
enabled: 0
}
const { data, code, msg } = await requestPost(url, parmer)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
// this.btnDisable = false
} else {
// this.btnDisable = false
this.$message.error(msg)
}
}
},
handleCancle () {
this.resetData()
this.$emit('dialogCancle')
}, },
availableTags: ['标签1', '标签2', '标签3'],
resetData () { fileList: [],
this.typeName = '', formLabelWidth: '100px'
this.marde = '' };
},
}, methods: {
// handleFileUpload(file, fileList) {
startLoading () { this.fileList = fileList;
loading = Loading.service({ this.formData.coverImage = file.raw;
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
dataRule () {
return {
small: [
{ required: true, message: '活动类型不能为空', trigger: 'blur' }
]
}
},
}, },
props: { handleSubmit() {
console.log(this.formData);
} this.$message.success('表单已提交');
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>
<style lang="scss" scoped>
.item_width_1 {
width: 560px;
/deep/.tox .tox-dialog {
z-index: 20000;
} }
} }
.tinymce_view { };
::v-deep .tox .tox-dialog { </script>
z-index: 2000000000;
} <style scoped>
} .el-form {
max-width: 600px;
.div_map { margin: auto;
position: relative; }
} </style>
.div_searchmap {
z-index: 5000;
position: absolute;
top: 5px;
left: 5px;
}
.tinymce_view {
height: 400px;
overflow: auto;
}
.text_p {
margin: 0;
padding: 0 10px;
border: 1px solid #d9d9d9;
border-radius: 5px;
> p {
margin: 0;
}
}
</style>

117
src/views/modules/communityParty/comPromotion/index.vue

@ -7,46 +7,21 @@
<el-input v-model.trim="typeName" size="small" class="item_width_1" clearable placeholder="请输入"> <el-input v-model.trim="typeName" size="small" class="item_width_1" clearable placeholder="请输入">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="标签"> <el-form-item label="标签">
<el-select class="item_width_1" v-model.trim="enabled" size="small" placeholder="请选择" clearable> <el-select class="item_width_1" v-model.trim="enabled" size="small" placeholder="请选择" clearable>
<el-option v-for="item in unitList" :key="item.value" :label="item.name" :value="item.value"> <el-option v-for="item in unitList" :key="item.value" :label="item.name" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="状态"> <el-form-item label="状态">
<el-select class="item_width_1" v-model.trim="enabled" size="small" placeholder="请选择" clearable> <el-select class="item_width_1" v-model.trim="enabled" size="small" placeholder="请选择" clearable>
<el-option v-for="item in unitList" :key="item.value" :label="item.name" :value="item.value"> <el-option v-for="item in unitList" :key="item.value" :label="item.name" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-date-picker
v-model="value1"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div> </div>
<div class="block"> <div class="block">
<span class="demonstration">带快捷选项</span> <div style="display: flex; justify-content: flex-end;">
<el-date-picker
v-model="value2"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
<div style="display: flex; justify-content: flex-end;">
<el-button style="margin-left:10px" class="diy-button--blue" size="small" <el-button style="margin-left:10px" class="diy-button--blue" size="small"
@click="handleSearch">查询</el-button> @click="handleSearch">查询</el-button>
<el-button style="margin-left:10px" class="diy-button--white" size="small" <el-button style="margin-left:10px" class="diy-button--white" size="small"
@ -61,7 +36,7 @@
<el-button style="" class="diy-button--add" size="small" @click="handleAdd">新增</el-button> <el-button style="" class="diy-button--add" size="small" @click="handleAdd">新增</el-button>
</div> </div>
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" <el-table class="table" :data="tableData" border v-loading="tableLoading"
style="width: 100%"> style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" type="index" width="80"></el-table-column> <el-table-column label="序号" header-align="center" align="center" type="index" width="80"></el-table-column>
@ -110,13 +85,13 @@
<!-- 修改弹出框 --> <!-- 修改弹出框 -->
<el-dialog :visible.sync="formShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="formTitle" <el-dialog :visible.sync="formShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="formTitle"
width="950px" top="5vh" class="dialog-h" @closed="diaClose"> width="950px" top="5vh" class="dialog-h" @closed="diaClose">
<add ref="ref_form" :unitList="corganizerList" :gridList="gridList" @dialogCancle="addFormCancle" <add ref="ref_form" @dialogCancle="addFormCancle"
@dialogOk="addFormOk"></add> @dialogOk="addFormOk"></add>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="detailShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="'活动详情'" <el-dialog :visible.sync="detailShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="'活动详情'"
width="950px" top="5vh" class="dialog-h" @closed="diaClose"> width="950px" top="5vh" class="dialog-h" @closed="diaClose">
<viewPromotionalTags ref="ref_detail" :gridList="gridList" @dialogCancle="addFormQ"></viewPromotionalTags> <viewPromotionalTags ref="ref_detail" @dialogCancle="addFormQ"></viewPromotionalTags>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -125,28 +100,22 @@
import { Loading } from 'element-ui' // Loading import { Loading } from 'element-ui' // Loading
import { requestPost, requestGet } from '@/js/dai/request'; import { requestPost, requestGet } from '@/js/dai/request';
import add from "./add.vue"; import add from "./add.vue";
export default { export default {
data () { data () {
return { return {
tableData:[],
loading: false, loading: false,
total: 0, total: 0,
pageSize: 10, pageSize: 10,
pageNo: 0, pageNo: 0,
tableLoading: false, tableLoading: false,
agencyId: '', agencyId: '',
gridList: [],//
typeName:'', typeName:'',
enabled:'', enabled:'',
//form //form
formShow: false, formShow: false,
formTitle: '新增活动', formTitle: '新增活动',
detailShow: false, detailShow: false,
endPickerOptions: {
disabledDate: endDisabledDate
},
startPickerOptions: {
disabledDate: startDisabledDate
},
} }
}, },
components: { components: {
@ -191,6 +160,7 @@
if (code === 0) { if (code === 0) {
this.total = data.total this.total = data.total
this.tableData = data.list this.tableData = data.list
console.log( this.tableData )
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
@ -220,7 +190,6 @@
handleDetail (row) { handleDetail (row) {
this.detailShow = true this.detailShow = true
this.formTitle = '详情' this.formTitle = '详情'
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_detail.initForm(row) this.$refs.ref_detail.initForm(row)
// this.$refs.ref_form.initForm('detail', row.id) // this.$refs.ref_form.initForm('detail', row.id)
@ -256,7 +225,6 @@
}, },
async handleDelete (row) { async handleDelete (row) {
this.$confirm("确认删除?", "提示", { this.$confirm("确认删除?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
@ -272,10 +240,79 @@
}); });
}, },
async handleOnline (row) {
this.$confirm("确认上线?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.OnhandleOnline(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async OnhandleOnline(row){
console.log(row)
const url = "/actual/base/communityPublicity/updateStatus"
let params={
status:0,
id:row.id
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "一发布"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
async handleOffline (row) {
this.$confirm("确认下线?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.OnhandleOffline(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async OnhandleOffline(row){
console.log(row)
const url = "/actual/base/communityPublicity/updateStatus"
let params={
status:1,
id:row.id
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "已发布"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
async deleteActivity (row) { async deleteActivity (row) {
console.log(row) console.log(row)
const url = "/actual/base/advertisingTag/delete" const url = "/actual/base/communityPublicity/delete"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/delete" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/delete"
let idArr=[row.id] let idArr=[row.id]
const { data, code, msg } = await requestPost(url, idArr) const { data, code, msg } = await requestPost(url, idArr)

2
src/views/modules/cpts/base/cpts/edit.vue

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<div class="dialog-h-content scroll-h"> <div class="dcroll-hialog-h-content s">
<el-form <el-form
v-if="iniLoaded" v-if="iniLoaded"
ref="ref_form" ref="ref_form"

Loading…
Cancel
Save