Browse Source

社区讲坛vue页面修改

feature/yujt_analysis_pc
zhangyuan 5 years ago
parent
commit
f7566a0303
  1. 172
      src/views/modules/activity/activityinfo-add-or-update.vue
  2. 53
      src/views/modules/activity/activityinfo.vue
  3. 1
      src/views/modules/section/sectioncategory-add-or-update.vue
  4. 1
      src/views/modules/section/sectioncategory.vue

172
src/views/modules/activity/activityinfo-add-or-update.vue

@ -40,6 +40,19 @@
</el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="所属类别:"
prop="categoryCode">
<el-select v-model="dataForm.categoryCode"
placeholder="所属类别" style="width: 100%">
<el-option v-for="item in options"
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="报名要求:"
prop="requirement">
@ -53,13 +66,23 @@
</el-form-item>
</el-row>
<el-row>
<el-form-item label="报名截止时间:"
prop="signupEndTime">
<el-date-picker v-model="dataForm.signupEndTime"
<el-form-item label="报名时间:"
prop="signUpStartTime">
<el-date-picker v-model="dataForm.signUpStartTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
:picker-options="isSignupEndTime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="40px"
prop="signUpEndTime">
<el-date-picker v-model="dataForm.signUpEndTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
:picker-options="issignUpEndTime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
@ -88,7 +111,6 @@
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
@change="dateChangeTime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
@ -165,19 +187,47 @@
</el-form-item>
</el-row>
<el-row>
<el-form-item label-width="500px">
<el-button type="primary"
:disabled="isAble"
@click="dataFormSubmitHandle()">{{$t("confirm")}}</el-button>
<el-button @click="backToActList">返回</el-button>
<el-form-item label="活动发布状态" prop="actQuotaFlag">
<el-radio-group v-model="dataForm.actQuotaFlag">
<el-radio :label="'1'">上架</el-radio>
<el-radio :label="'0'">下架</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="已报名人数" prop="signupNum">
<el-input v-model="dataForm.signupNum" placeholder="已报名人数"></el-input>
<el-form-item label="活动发布时间:"
prop="publishTime">
<el-date-picker v-model="dataForm.publishTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="已报名人数" prop="signUpNum">
<el-input v-model="dataForm.signUpNum" disabled placeholder="已报名人数"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="活动下架原因" prop="cancelReason">
<el-input v-model="dataForm.cancelReason" placeholder="活动下架原因"></el-input>
<el-input v-model="dataForm.cancelReason"
placeholder="活动下架原因,1000字以内"
type="textarea"
style="width:500px"
maxlength="1000"
:rows="4"
clearable>
</el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label-width="500px">
<el-button type="primary"
:disabled="isAble"
@click="dataFormSubmitHandle()">{{$t("confirm")}}</el-button>
<el-button @click="backToActList">返回</el-button>
</el-form-item>
</el-row>
</el-form>
@ -202,19 +252,14 @@
id: '',
title: '',
headPic: '',
signupStartTime: '',
signupEndTime: '',
signUpStartTime: '',
signUpEndTime: '',
actQuotaFlag: '1',
actStartTime: '',
actEndTime: '',
actAddress: '',
actLongitude: '',
actLatitude: '',
signinStartTime: '',
signinEndTime: '',
signinAddress: '',
signinLongitude: '',
signinLatitude: '',
clockRadius: 200,
actQuota: '',
contacts: '',
@ -229,9 +274,15 @@
reward: '',
isBanner: '1',
actUserDefaultState: '1',
bannerUrl: ''
bannerUrl: '',
cancelReason: '',
signUpNum: 0,
sectionCode: '',
categoryCode: '',
categoryName: ''
},
isSignupEndTime: {
options: [],
issignUpEndTime: {
disabledDate (time) {
return time < Date.now() - 8.64e7 // 8.64e7=1000*60*60*24
}
@ -267,14 +318,6 @@
}
}
},
pickerBeginSignInDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.signinEndTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.actEndTime
@ -286,15 +329,6 @@
}
},
created () {
this.$http
.get(`/sys/user/deptOptions/getByLoginUser`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.options = res.data.options
})
.catch(() => { })
this.visible = true
this.$nextTick(() => {
//
@ -308,6 +342,9 @@
// end
})
},
mounted() {
this.getOptions()
},
computed: {
dataRule () {
return {
@ -317,16 +354,10 @@
headPic: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signupStartTime: [
signUpStartTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signupEndTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signinStartTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signinEndTime: [
signUpEndTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
actStartTime: [
@ -344,22 +375,13 @@
actLatitude: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signinAddress: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signinLongitude: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signinLatitude: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
clockRadius: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
actQuota: [
actQuotaFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
signupNum: [
actQuota: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
clockNum: [
@ -395,6 +417,9 @@
deptId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
categoryCode: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
punishmentPoints: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
@ -423,8 +448,15 @@
}
},
methods: {
dateChangeTime () {
this.dataForm.signinStartTime = this.dataForm.actStartTime
getOptions () {
this.$http
.get(`/property/sectioncategory/list`, { params: { sectionCode: 'community_forum' } }).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.options = res.data
})
.catch(() => { })
},
changeHandler (value) {
if (value === 1) {
@ -452,13 +484,6 @@
this.dataForm.actAddress = position.address
this.dataForm.actLatitude = position.latitude
this.dataForm.actLongitude = position.longitude
this.dataForm.signinAddress = position.address
this.dataForm.signinLatitude = position.latitude
this.dataForm.signinLongitude = position.longitude
} else {
this.dataForm.signinAddress = position.address
this.dataForm.signinLatitude = position.latitude
this.dataForm.signinLongitude = position.longitude
}
},
//
@ -515,18 +540,15 @@
},
//
dataFormSubmitHandle: debounce(function () {
if (new Date() >= new Date(this.dataForm.signupEndTime)) {
if (new Date() >= new Date(this.dataForm.signUpEndTime)) {
return this.$message.error('报名截止时间必须大于当前时间')
}
if (this.dataForm.actStartTime >= this.dataForm.actEndTime) {
return this.$message.error('活动结束时间必须大于活动开始时间')
}
if (this.dataForm.actStartTime <= this.dataForm.signupEndTime) {
if (this.dataForm.actStartTime <= this.dataForm.signUpEndTime) {
return this.$message.error('活动开始时间必须大于报名截止时间')
}
if (this.dataForm.actEndTime > this.dataForm.signinEndTime) {
return this.$message.error('打卡结束时间必须大于或等于活动结束时间')
}
if ((this.dataForm.actContent).length > 10000) {
return this.$message.error('您输入的的内容已超过字数')
}
@ -537,19 +559,15 @@
if (!valid) {
return false
}
var signUpEndTime = new Date(Date.parse(this.dataForm.signupEndTime))
var signUpEndTime = new Date(Date.parse(this.dataForm.signUpEndTime))
var actStarTime = new Date(Date.parse(this.dataForm.actStartTime))
var actEndTime = new Date(Date.parse(this.dataForm.actEndTime))
var signinEndTime = new Date(Date.parse(this.dataForm.signinEndTime))
if (signUpEndTime > actStarTime) {
return this.$message.error('活动开始时间必须大于报名截止时间.')
}
if (actEndTime < actStarTime) {
return this.$message.error('活动结束时间必须大于活动开始时间.')
}
if (signinEndTime < actEndTime) {
return this.$message.error('签到结束时间必须大于活动结束时间.')
}
this.isAble = true
this.$http[!this.dataForm.id ? 'post' : 'put']('/property/activityinfo/', this.dataForm).then(({ data: res }) => {
this.isAble = false

53
src/views/modules/activity/activityinfo.vue

@ -18,26 +18,40 @@
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="title" label="标题" header-align="center" align="center"></el-table-column>
<el-table-column prop="headPic" label="活动头图" header-align="center" align="center"></el-table-column>
<el-table-column prop="sectionCode" label="所属版块编码" header-align="center" align="center"></el-table-column>
<el-table-column prop="categoryCode" label="所属类别编码" header-align="center" align="center"></el-table-column>
<el-table-column prop="categoryName" label="所属类别名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="signupStartTime" label="报名开始时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="signupEndTime" label="报名截止时间" header-align="center" align="center"></el-table-column>
<el-table-column align="center"
label="活动头图"
width="120"
:show-overflow-tooltip="true"
prop="headPic">
<template slot-scope="scope">
<el-popover placement="right"
title=""
trigger="click"
class="big_image">
<el-image slot="reference"
min-width="70"
height="70"
v-if="scope.row.headPic"
:src="scope.row.headPic"
:alt="scope.row.headPic"></el-image>
<img class="big_image"
:src="scope.row.headPic"/>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="signUpEndTime" label="报名截止时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="actStartTime" label="活动开始时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="actEndTime" label="活动结束时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="actAddress" label="活动地点" header-align="center" align="center"></el-table-column>
<el-table-column prop="actLongitude" label="活动位置经度" header-align="center" align="center"></el-table-column>
<el-table-column prop="actLatitude" label="活动位置纬度" header-align="center" align="center"></el-table-column>
<el-table-column prop="actQuotaFlag" label="是否限制名额(0-不限名额,1-固定名额)" header-align="center" align="center"></el-table-column>
<el-table-column prop="actQuota" label="活动名额" header-align="center" align="center"></el-table-column>
<el-table-column prop="signupNum" label="已报名人数" header-align="center" align="center"></el-table-column>
<el-table-column prop="signUpNum" label="已报名人数" header-align="center" align="center"></el-table-column>
<el-table-column prop="contacts" label="联系人" header-align="center" align="center"></el-table-column>
<el-table-column prop="tel" label="联系电话" header-align="center" align="center"></el-table-column>
<el-table-column prop="requirement" label="招募要求" header-align="center" align="center"></el-table-column>
<el-table-column prop="actContent" label="活动内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="actStatus" label="活动发布状态(0-下架,1上架)" header-align="center" align="center"></el-table-column>
<el-table-column prop="cancelReason" label="活动下架原因" header-align="center" align="center"></el-table-column>
<el-table-column prop="actStatus" label="活动发布状态" header-align="center" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.effectiveFlag === '0'" size="small" type="danger">下架</el-tag>
<el-tag v-else size="small" type="success">上架</el-tag>
</template>
</el-table-column>
<el-table-column prop="publishTime" label="活动发布时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="sponsor" label="活动主办方" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
@ -83,6 +97,9 @@ export default {
components: {
AddOrUpdate
},
mounted() {
this.getDataList();
},
methods: {
addAction () {
this.$parent.selectComponent = 'ActInfoAdd'
@ -93,3 +110,9 @@ export default {
}
}
</script>
<style scoped>
.big_image {
width: 200px !important;
height: 200px !important;;
}
</style>

1
src/views/modules/section/sectioncategory-add-or-update.vue

@ -137,7 +137,6 @@ export default {
return this.$message.error(res.msg)
}
this.options = res.data
console.log(this.options)
}).catch(() => {})
},
//

1
src/views/modules/section/sectioncategory.vue

@ -86,7 +86,6 @@ export default {
return this.$message.error(res.msg)
}
this.options = res.data
console.log(this.options)
}).catch(() => {})
}
}

Loading…
Cancel
Save