Browse Source

活动新增活动参与时间段

master
liuchuang 4 years ago
parent
commit
79ffcc37ec
  1. 100
      src/views/modules/heart/actinfo-add-or-update.vue
  2. 26
      src/views/modules/heart/actinfo-detail-view.vue
  3. 7
      src/views/modules/heart/actuserrelation-detail.vue
  4. 26
      src/views/modules/heart/actuserrelation.vue

100
src/views/modules/heart/actinfo-add-or-update.vue

@ -52,6 +52,19 @@
</el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="活动主办方:"
prop="sponsor">
<el-input v-model="dataForm.sponsor"
type="text"
maxlength="30"
show-word-limit
placeholder="请输入主办方,30字以内"
clearable
style="width:500px">
</el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="报名截止时间:"
prop="signupEndTime">
@ -110,6 +123,31 @@
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-button v-if="dataForm.periods.length === 0" @click="plusPeriod" icon="el-icon-plus" circle></el-button>
<el-form-item v-for="(period, index) in dataForm.periods" :key="index">
<el-form-item label="活动时间段:"
prop="actPeriodStartTime">
<el-date-picker v-model="period.actPeriodStartTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
@change="dateChangeTime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="40px"
prop="actPeriodEndTime">
<el-date-picker v-model="period.actPeriodEndTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-button v-if="dataForm.periods.length-1 === index" @click="plusPeriod" icon="el-icon-plus" circle></el-button>
<el-button v-if="dataForm.periods.length-1 === index" @click="minusPeriod" icon="el-icon-minus" circle></el-button>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="公益时长:"
@ -214,19 +252,6 @@
style="width:200px"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="活动主办方:"
prop="sponsor">
<el-input v-model="dataForm.sponsor"
type="text"
maxlength="30"
show-word-limit
placeholder="请输入主办方,30字以内"
clearable
style="width:500px">
</el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="奖励积分:"
prop="reward">
@ -325,7 +350,8 @@ export default {
reward: '',
actUserDefaultState: '1',
isConReview: false,
kindnessTime: ''
kindnessTime: '',
periods: []
},
isImgRequired: true,
mapSelectVisible: false,
@ -535,41 +561,6 @@ export default {
this.dataForm.signinLongitude = position.longitude
}
},
//
// quillEditorHandle () {
// this.quillEditor = new Quill('#J_quillEditor', {
// modules: {
// toolbar: this.quillEditorToolbarOptions
// },
// theme: 'snow'
// })
// this.quillEditor.container.style.height = `${300}px`
// // // (使element upload)
// this.quillEditor.getModule('toolbar').addHandler('image', () => {
// this.$refs.uploadBtn.$el.click()
// })
// //
// this.quillEditor.on('text-change', () => {
// this.dataForm.actContent = this.quillEditor.root.innerHTML
// if ((this.dataForm.actContent).length > 10000) {
// return this.$message.error('')
// }
// })
// },
// // ()
// uploadBeforeUploadHandle (file) {
// if (file.type !== 'image/jpg' && file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/gif') {
// this.$message.error(this.$t('upload.tip', { 'format': 'jpgpnggif' }))
// return false
// }
// },
// // ()
// uploadSuccessHandle (res, file, fileList) {
// if (res.code !== 0) {
// return this.$message.error(res.msg)
// }
// this.quillEditor.insertEmbed(this.quillEditor.getSelection().index, 'image', res.data.url)
// },
setRegistTime () {
this.dataForm.newsReleaseStartTime = this.time[0]
this.dataForm.newsReleaseEndTime = this.time[1]
@ -601,6 +592,11 @@ export default {
if (!valid) {
return false
}
for (let i = 0; i < this.dataForm.periods.length; i++) {
if (this.dataForm.periods[i].actPeriodStartTime === null || this.dataForm.periods[i].actPeriodStartTime === '' || this.dataForm.periods[i].actPeriodEndTime === null || this.dataForm.periods[i].actPeriodEndTime === '') {
return this.$message.error('请将活动时间段填写完整')
}
}
this.isAble = true
this.$http[!this.dataForm.id ? 'post' : 'put']('/heart/actinfo/', this.dataForm).then(({ data: res }) => {
if (!this.isFirst && res.code === 533) {
@ -656,6 +652,12 @@ export default {
this.$nextTick(() => {
this.$refs.mapSelect.init(type, this.dataForm.clockRadius)
})
},
plusPeriod () {
this.dataForm.periods.push({ 'actPeriodStartTime': '', 'actPeriodEndTime': '' })
},
minusPeriod () {
this.dataForm.periods.pop()
}
},
components: {

26
src/views/modules/heart/actinfo-detail-view.vue

@ -28,6 +28,12 @@
{{dataForm.requirement}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="活动主办方:"
prop="sponsor">
{{dataForm.sponsor}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="报名截止时间:"
prop="signupEndTime">
@ -65,6 +71,17 @@
{{dataForm.actEndTime}}
</el-form-item>
</el-row>
<el-row v-for="(period, index) in dataForm.periods" :key="index">
<el-form-item label="活动时间段:"
prop="actPeriodStartTime">
{{period.actPeriodStartTime}}
</el-form-item>
<el-form-item label="至"
label-width="40px"
prop="actPeriodEndTime">
{{period.actPeriodEndTime}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="公益时长:"
prop="kindnessTime">
@ -116,12 +133,6 @@
{{dataForm.tel}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="活动主办方:"
prop="sponsor">
{{dataForm.sponsor}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="奖励积分:"
prop="reward">
@ -195,7 +206,8 @@ export default {
punishmentPoints: '',
actUserDefaultState: '1',
reward: '',
kindnessTime: ''
kindnessTime: '',
periods: []
},
loading: false
}

7
src/views/modules/heart/actuserrelation-detail.vue

@ -18,6 +18,13 @@
</el-form-item>
<el-form-item label="身份证号 :" prop="identityNo">
{{dataForm.identityNo}}
</el-form-item>
<el-form-item label="参与活动时间段 :" prop="periods">
<div v-for="(period, index) in dataForm.periods" :key="index">
<span >
{{ period.actPeriodStartTime }} {{ period.actPeriodEndTime }} <br/>
</span>
</div>
</el-form-item>
<el-form-item label="当前状态 :" prop="status">
{{formatState(dataForm.status)}}

26
src/views/modules/heart/actuserrelation.vue

@ -46,34 +46,42 @@
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;"
>
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="realName" label="报名人" header-align="center" align="center"></el-table-column>
<el-table-column prop="realName" label="报名人" header-align="center" align="center" width="100"></el-table-column>
<el-table-column
prop="sex"
label="性别"
:formatter="formatSex"
header-align="center"
align="center"
width="60"
></el-table-column>
<el-table-column prop="age" label="年龄" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="联系电话" header-align="center" align="center"></el-table-column>
<el-table-column prop="identityNo" label="身份证号" header-align="center" align="center"></el-table-column>
<el-table-column prop="signupTime" label="报名时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="age" label="年龄" header-align="center" align="center" width="60"></el-table-column>
<el-table-column prop="mobile" label="联系电话" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="signupTime" label="报名时间" header-align="center" align="center" width="150"></el-table-column>
<el-table-column prop="periods" label="活动参与时间" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(period, index) in scope.row.periods" :key="index">
<span >
{{ period.actPeriodStartTime }} <br/> <br/> {{ period.actPeriodEndTime }} <br/>
</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="status"
label="状态"
:formatter="formatState"
header-align="center"
align="center"
width="100"
></el-table-column>
<el-table-column prop="auditTime" label="审核时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="failureReason" label="原因" header-align="center" align="center"></el-table-column>
<el-table-column prop="auditTime" label="审核时间" header-align="center" align="center" width="150"></el-table-column>
<el-table-column
:label="$t('handle')"
fixed="right"
header-align="center"
align="center"
width="150"
width="120"
>
<template slot-scope="scope">
<el-button

Loading…
Cancel
Save