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-input>
</el-form-item> </el-form-item>
</el-row> </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-row>
<el-form-item label="报名要求:" <el-form-item label="报名要求:"
prop="requirement"> prop="requirement">
@ -53,13 +66,23 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label="报名截止时间:" <el-form-item label="报名时间:"
prop="signupEndTime"> prop="signUpStartTime">
<el-date-picker v-model="dataForm.signupEndTime" <el-date-picker v-model="dataForm.signUpStartTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
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" type="datetime"
value-format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm" format="yyyy-MM-dd HH:mm"
:picker-options="isSignupEndTime" :picker-options="issignUpEndTime"
placeholder="选择日期时间"> placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -88,7 +111,6 @@
type="datetime" type="datetime"
value-format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm" format="yyyy-MM-dd HH:mm"
@change="dateChangeTime"
placeholder="选择日期时间"> placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -165,19 +187,47 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label-width="500px"> <el-form-item label="活动发布状态" prop="actQuotaFlag">
<el-button type="primary" <el-radio-group v-model="dataForm.actQuotaFlag">
:disabled="isAble" <el-radio :label="'1'">上架</el-radio>
@click="dataFormSubmitHandle()">{{$t("confirm")}}</el-button> <el-radio :label="'0'">下架</el-radio>
<el-button @click="backToActList">返回</el-button> </el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label="已报名人数" prop="signupNum"> <el-form-item label="活动发布时间:"
<el-input v-model="dataForm.signupNum" placeholder="已报名人数"></el-input> 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-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-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-form-item>
</el-row> </el-row>
</el-form> </el-form>
@ -202,19 +252,14 @@
id: '', id: '',
title: '', title: '',
headPic: '', headPic: '',
signupStartTime: '', signUpStartTime: '',
signupEndTime: '', signUpEndTime: '',
actQuotaFlag: '1', actQuotaFlag: '1',
actStartTime: '', actStartTime: '',
actEndTime: '', actEndTime: '',
actAddress: '', actAddress: '',
actLongitude: '', actLongitude: '',
actLatitude: '', actLatitude: '',
signinStartTime: '',
signinEndTime: '',
signinAddress: '',
signinLongitude: '',
signinLatitude: '',
clockRadius: 200, clockRadius: 200,
actQuota: '', actQuota: '',
contacts: '', contacts: '',
@ -229,9 +274,15 @@
reward: '', reward: '',
isBanner: '1', isBanner: '1',
actUserDefaultState: '1', actUserDefaultState: '1',
bannerUrl: '' bannerUrl: '',
cancelReason: '',
signUpNum: 0,
sectionCode: '',
categoryCode: '',
categoryName: ''
}, },
isSignupEndTime: { options: [],
issignUpEndTime: {
disabledDate (time) { disabledDate (time) {
return time < Date.now() - 8.64e7 // 8.64e7=1000*60*60*24 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: { pickerBeginDateAfter: {
disabledDate: (time) => { disabledDate: (time) => {
let EndDateVal = this.dataForm.actEndTime let EndDateVal = this.dataForm.actEndTime
@ -286,15 +329,6 @@
} }
}, },
created () { 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.visible = true
this.$nextTick(() => { this.$nextTick(() => {
// //
@ -308,6 +342,9 @@
// end // end
}) })
}, },
mounted() {
this.getOptions()
},
computed: { computed: {
dataRule () { dataRule () {
return { return {
@ -317,16 +354,10 @@
headPic: [ headPic: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { 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' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
signinEndTime: [ signUpEndTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
actStartTime: [ actStartTime: [
@ -344,22 +375,13 @@
actLatitude: [ actLatitude: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { 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: [ clockRadius: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
actQuota: [ actQuotaFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
signupNum: [ actQuota: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
clockNum: [ clockNum: [
@ -395,6 +417,9 @@
deptId: [ deptId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
categoryCode: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
punishmentPoints: [ punishmentPoints: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
@ -423,8 +448,15 @@
} }
}, },
methods: { methods: {
dateChangeTime () { getOptions () {
this.dataForm.signinStartTime = this.dataForm.actStartTime 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) { changeHandler (value) {
if (value === 1) { if (value === 1) {
@ -452,13 +484,6 @@
this.dataForm.actAddress = position.address this.dataForm.actAddress = position.address
this.dataForm.actLatitude = position.latitude this.dataForm.actLatitude = position.latitude
this.dataForm.actLongitude = position.longitude 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 () { dataFormSubmitHandle: debounce(function () {
if (new Date() >= new Date(this.dataForm.signupEndTime)) { if (new Date() >= new Date(this.dataForm.signUpEndTime)) {
return this.$message.error('报名截止时间必须大于当前时间') return this.$message.error('报名截止时间必须大于当前时间')
} }
if (this.dataForm.actStartTime >= this.dataForm.actEndTime) { if (this.dataForm.actStartTime >= this.dataForm.actEndTime) {
return this.$message.error('活动结束时间必须大于活动开始时间') return this.$message.error('活动结束时间必须大于活动开始时间')
} }
if (this.dataForm.actStartTime <= this.dataForm.signupEndTime) { if (this.dataForm.actStartTime <= this.dataForm.signUpEndTime) {
return this.$message.error('活动开始时间必须大于报名截止时间') return this.$message.error('活动开始时间必须大于报名截止时间')
} }
if (this.dataForm.actEndTime > this.dataForm.signinEndTime) {
return this.$message.error('打卡结束时间必须大于或等于活动结束时间')
}
if ((this.dataForm.actContent).length > 10000) { if ((this.dataForm.actContent).length > 10000) {
return this.$message.error('您输入的的内容已超过字数') return this.$message.error('您输入的的内容已超过字数')
} }
@ -537,19 +559,15 @@
if (!valid) { if (!valid) {
return false 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 actStarTime = new Date(Date.parse(this.dataForm.actStartTime))
var actEndTime = new Date(Date.parse(this.dataForm.actEndTime)) var actEndTime = new Date(Date.parse(this.dataForm.actEndTime))
var signinEndTime = new Date(Date.parse(this.dataForm.signinEndTime))
if (signUpEndTime > actStarTime) { if (signUpEndTime > actStarTime) {
return this.$message.error('活动开始时间必须大于报名截止时间.') return this.$message.error('活动开始时间必须大于报名截止时间.')
} }
if (actEndTime < actStarTime) { if (actEndTime < actStarTime) {
return this.$message.error('活动结束时间必须大于活动开始时间.') return this.$message.error('活动结束时间必须大于活动开始时间.')
} }
if (signinEndTime < actEndTime) {
return this.$message.error('签到结束时间必须大于活动结束时间.')
}
this.isAble = true this.isAble = true
this.$http[!this.dataForm.id ? 'post' : 'put']('/property/activityinfo/', this.dataForm).then(({ data: res }) => { this.$http[!this.dataForm.id ? 'post' : 'put']('/property/activityinfo/', this.dataForm).then(({ data: res }) => {
this.isAble = false 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 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 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="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 align="center"
<el-table-column prop="sectionCode" label="所属版块编码" header-align="center" align="center"></el-table-column> label="活动头图"
<el-table-column prop="categoryCode" label="所属类别编码" header-align="center" align="center"></el-table-column> width="120"
<el-table-column prop="categoryName" label="所属类别名称" header-align="center" align="center"></el-table-column> :show-overflow-tooltip="true"
<el-table-column prop="signupStartTime" label="报名开始时间" header-align="center" align="center"></el-table-column> prop="headPic">
<el-table-column prop="signupEndTime" label="报名截止时间" header-align="center" align="center"></el-table-column> <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="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="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="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="signUpNum" 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="contacts" 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="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="actStatus" label="活动发布状态" header-align="center" align="center">
<el-table-column prop="actContent" label="活动内容" header-align="center" align="center"></el-table-column> <template slot-scope="scope">
<el-table-column prop="actStatus" label="活动发布状态(0-下架,1上架)" header-align="center" align="center"></el-table-column> <el-tag v-if="scope.row.effectiveFlag === '0'" size="small" type="danger">下架</el-tag>
<el-table-column prop="cancelReason" label="活动下架原因" header-align="center" align="center"></el-table-column> <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="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 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"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
@ -83,6 +97,9 @@ export default {
components: { components: {
AddOrUpdate AddOrUpdate
}, },
mounted() {
this.getDataList();
},
methods: { methods: {
addAction () { addAction () {
this.$parent.selectComponent = 'ActInfoAdd' this.$parent.selectComponent = 'ActInfoAdd'
@ -93,3 +110,9 @@ export default {
} }
} }
</script> </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) return this.$message.error(res.msg)
} }
this.options = res.data this.options = res.data
console.log(this.options)
}).catch(() => {}) }).catch(() => {})
}, },
// //

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

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

Loading…
Cancel
Save