Commit efcb8f71 authored by 罗超's avatar 罗超

1

parent 07a3694b
<template> <template>
<div> <div>
<q-dialog v-model="persistent" persistent content-class="bg-grey-1" transition-show="scale" transition-hide="scale" <div class="addactivetype">
class="addactivetype">
<q-card style="width: 450px;max-width:500px;"> <!-- <q-card-section>
<q-card-section>
<div class="text-h6">{{(saveObj&&saveObj.Id>0)?"修改活动":"新增活动"}}</div> <div class="text-h6">{{(saveObj&&saveObj.Id>0)?"修改活动":"新增活动"}}</div>
</q-card-section> </q-card-section> -->
<q-card-section class="q-pt-none scroll" style="max-height: 70vh"> <div class="page-search row items-center flex">
<div class="row wrap">
<div class="col-12"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<q-input filled stack-label maxlength="20" :dense="false" v-model="addMsg.ActivityName" ref="Name" <div class="col-6">
class="col-12 q-pb-lg" label="活动名称" :rules="[val => !!val || '请填写活动名称']" /> <q-input filled stack-label maxlength="20" :dense="false" v-model="addMsg.ActivityName" ref="Name"
</div> class="col-12 q-pb-lg" label="活动名称" :rules="[val => !!val || '请填写活动名称']" />
</div>
<div class="col-6">
<q-select stack-label color="primary" filled clearable label="选择活动类型" option-value="Id"
option-label="TypeName" :options="activeTypeOptions" v-model="addMsg.ActivityType" ref="ActivityType"
emit-value map-options :rules="[val => !!val || '请选择活动类型']" />
</div> </div>
<div class="row wrap"> <div class="col-6 Sysuser_Date">
<div class="col-12"> <q-input filled v-model="addMsg.StartTime" mask="####-##-## ##:##:##" label="开始时间" ref="StartTime"
<q-input filled v-model="addMsg.StartTime" mask="####-##-## ##:##:##" label="开始时间" ref="StartTime" :rules="[val => !!val || '请选择开始时间']">
:rules="[val => !!val || '请选择开始时间']"> <template v-slot:append>
<template v-slot:append> <q-icon name="event" class="cursor-pointer">
<q-icon name="event" class="cursor-pointer"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <div class="q-gutter-md row items-start">
<div class="q-gutter-md row items-start"> <q-date v-model="addMsg.StartTime" mask="YYYY-MM-DD HH:mm:ss"></q-date>
<q-date v-model="addMsg.StartTime" mask="YYYY-MM-DD HH:mm:ss"></q-date> <q-time v-model="addMsg.StartTime" format24h mask="YYYY-MM-DD HH:mm:ss" />
<q-time v-model="addMsg.StartTime" format24h mask="YYYY-MM-DD HH:mm:ss" /> </div>
</div> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> </q-popup-proxy>
</q-popup-proxy> </q-icon>
</q-icon> </template>
</template> </q-input>
</q-input>
</div>
</div> </div>
<div class="row wrap"> <div class="col-6 Sysuser_Date">
<div class="col-12"> <q-input filled v-model="addMsg.EndTime" mask="####-##-## ##:##:##" label="结束时间" ref="EndTime"
<q-input filled v-model="addMsg.EndTime" mask="####-##-## ##:##:##" label="结束时间" ref="EndTime" :rules="[val => !!val || '请选择结束时间']">
:rules="[val => !!val || '请选择结束时间']"> <template v-slot:append>
<template v-slot:append> <q-icon name="event" class="cursor-pointer">
<q-icon name="event" class="cursor-pointer"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <div class="q-gutter-md row items-start">
<div class="q-gutter-md row items-start"> <q-date v-model="addMsg.EndTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="edate"></q-date>
<q-date v-model="addMsg.EndTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="edate"></q-date> <q-time v-model="addMsg.EndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="etime" />
<q-time v-model="addMsg.EndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="etime"/> </div>
</div> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> </q-popup-proxy>
</q-popup-proxy> </q-icon>
</q-icon> </template>
</template> </q-input>
</q-input>
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12"> <q-input filled v-model="addMsg.SignStartTime" mask="####-##-## ##:##:##" ref="SignStartTime" label="报名开始时间"
<q-input filled v-model="addMsg.SignStartTime" mask="####-##-## ##:##:##" ref="SignStartTime" :rules="[val => !!val || '请选择报名开始时间']">
label="报名开始时间" :rules="[val => !!val || '请选择报名开始时间']"> <template v-slot:append>
<template v-slot:append> <q-icon name="event" class="cursor-pointer">
<q-icon name="event" class="cursor-pointer"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <div class="q-gutter-md row items-start">
<div class="q-gutter-md row items-start"> <q-date v-model="addMsg.SignStartTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="date" />
<q-date v-model="addMsg.SignStartTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="date" /> <q-time v-model="addMsg.SignStartTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="time" />
<q-time v-model="addMsg.SignStartTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="time" /> </div>
</div> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> </q-popup-proxy>
</q-popup-proxy> </q-icon>
</q-icon> </template>
</template> </q-input>
</q-input>
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12"> <q-input filled v-model="addMsg.SignEndTime" mask="####-##-## ##:##:##" ref="SignEndTime" label="报名结束时间"
<q-input filled v-model="addMsg.SignEndTime" mask="####-##-## ##:##:##" ref="SignEndTime" label="报名结束时间" :rules="[val => !!val || '请选择报名结束时间']">
:rules="[val => !!val || '请选择报名结束时间']"> <template v-slot:append>
<template v-slot:append> <q-icon name="event" class="cursor-pointer">
<q-icon name="event" class="cursor-pointer"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <div class="q-gutter-md row items-start">
<div class="q-gutter-md row items-start"> <q-date v-model="addMsg.SignEndTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="endDate" />
<q-date v-model="addMsg.SignEndTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="endDate" /> <q-time v-model="addMsg.SignEndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="endTime" />
<q-time v-model="addMsg.SignEndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="endTime" /> </div>
</div> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> </q-popup-proxy>
</q-popup-proxy> </q-icon>
</q-icon> </template>
</template> </q-input>
</q-input>
</div>
</div> </div>
<div class="row wrap">
<div class="col-12"> <div class="col-6">
<q-select stack-label color="primary" filled clearable label="选择活动类型" option-value="Id" <div>是否免费:</div>
option-label="TypeName" :options="activeTypeOptions" v-model="addMsg.ActivityType" ref="ActivityType" <q-toggle v-model="addMsg.IsFree" :true-value="1" :false-value="2"
emit-value map-options :rules="[val => !!val || '请选择活动类型']" /> @input='addMsg.Price=0,addMsg.PointNum=0' />
</div> </div>
<div class="col-6" v-if="addMsg.IsFree==2">
<q-input filled stack-label maxlength="20" type="number" :step="0.01" :dense="false" v-model="addMsg.Price"
ref="Price" class="col-12 q-pb-lg" label="现金价格" :rules="[val => !!val || '请填写现金价格']" suffix="元">
</q-input>
</div> </div>
<div class="row wrap"> <div class="col-6" v-if="addMsg.IsFree==1">
<div class="col-12"> <!-- 占位 -->
<q-uploader :style="{ backgroundImage: 'url(' + addMsg.CoverImg + ')' }"
style="width:auto;height:300px;background-repeat:no-repeat;background-size:cover; border:1px solid #eee"
flat hide-upload-btn max-files="1" label="封面图" accept=".jpg, image/*" :factory="uploadFile" auto-upload>
</q-uploader>
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12 q-mt-sm q-mb-sm flex " style="align-items:center"> <div>是否区分性别:</div>
<div>是否免费:</div> <q-toggle v-model="addMsg.Distinguish" :true-value="0" :false-value="1"
<q-toggle v-model="addMsg.IsFree" :true-value="1" :false-value="2" @input='addMsg.ManNum=0,addMsg.WoManNum=0' />
@input='addMsg.Price=0,addMsg.PointNum=0' />
</div>
</div> </div>
<div class="row wrap" v-if="addMsg.IsFree==2">
<div class="col-12"> <div class="col-6" v-if=" addMsg.Distinguish===1">
<q-input filled stack-label maxlength="20" type="number" :step="0.01" :dense="false" <q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.ManNum" ref="ManNum"
v-model="addMsg.Price" ref="Price" class="col-12 q-pb-lg" label="现金价格" class="col-12 q-pb-lg" label="总人数" :rules="[val => !!val || '请填写总人数']" suffix="人">
:rules="[val => !!val || '请填写现金价格']" suffix="元"> </q-input>
</q-input>
</div>
</div> </div>
<!-- <div class="row wrap" v-if="addMsg.IsFree==2"> <div class="col-6" v-if="addMsg.Distinguish==0">
<div class="col-12"> <!-- 占位 -->
<q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.PointNum"
ref="PointNum" class="col-12 q-pb-lg" label="点数" :rules="[val => !!val || '请填写点数']" suffix="点">
</q-input>
</div>
</div> -->
<div class="row wrap">
<div class="col-12 q-mt-sm q-mb-sm flex " style="align-items:center">
<div>是否区分性别:</div>
<q-toggle v-model="addMsg.Distinguish" :true-value="0" :false-value="1"
@input='addMsg.ManNum=0,addMsg.WoManNum=0' />
</div>
</div> </div>
<div class="row wrap" v-if="addMsg.Distinguish==0"> <div class="col-6" v-if="addMsg.Distinguish==0">
<div class="col-12"> <q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.ManNum" ref="ManNum"
<q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.ManNum" class="col-12 q-pb-lg" label="男性" :rules="[val => !!val || '请填写男性人数']" suffix="人">
ref="ManNum" class="col-12 q-pb-lg" label="男性" :rules="[val => !!val || '请填写男性人数']" suffix="人"> </q-input>
</q-input>
</div>
</div> </div>
<div class="row wrap" v-if="addMsg.Distinguish==0">
<div class="col-12"> <div class="col-6" v-if="addMsg.Distinguish==0">
<q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.WoManNum" <q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.WoManNum"
ref="WoManNum" class="col-12 q-pb-lg" label="女性" :rules="[val => !!val || '请填写女性人数']" suffix="人"> ref="WoManNum" class="col-12 q-pb-lg" label="女性" :rules="[val => !!val || '请填写女性人数']" suffix="人">
</q-input> </q-input>
</div>
</div> </div>
<div class="row wrap" v-if="addMsg.Distinguish==1"> <div class="col-6">
<div class="col-12"> <div>是否区分年龄:</div>
<q-input filled stack-label maxlength="20" type="number" :dense="false" v-model="addMsg.ManNum" <q-toggle v-model="addMsg.AgeLimit" :true-value="0" :false-value="1"
ref="ManNum" class="col-12 q-pb-lg" label="总人数" :rules="[val => !!val || '请填写总人数']" suffix="人"> @change='addMsg.StartAge=0,addMsg.EndAge=0' />
</q-input>
</div>
</div> </div>
<div class="row wrap"> <div class="col-6" v-if="addMsg.AgeLimit===0">
<div class="col-12 q-mt-sm q-mb-sm flex " style="align-items:center"> <div>年龄范围:</div>
<div>是否区分年龄:</div> <q-range v-model="labelAge" :min="0" :max="50" :step="1" label-always :left-label-value="labelAge.min + '岁'"
<q-toggle v-model="addMsg.AgeLimit" :true-value="0" :false-value="1" :right-label-value="labelAge.max + '岁'" color="brown" @change="changeAge" />
@change='addMsg.StartAge=0,addMsg.EndAge=0' />
</div>
</div> </div>
<div class="row wrap" v-if="addMsg.AgeLimit==0"> <div class="col-6" v-if="addMsg.AgeLimit==1">
<div class="col-12 q-mt-sm q-mb-sm flex " style="align-items:center"> <!-- 占位 -->
<div>年龄范围:</div>
<q-range v-model="labelAge" :min="0" :max="50" :step="1" label-always
:left-label-value="labelAge.min + '岁'" :right-label-value="labelAge.max + '岁'" color="brown"
@change="changeAge" />
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12 q-mt-sm q-mb-sm flex " style="align-items:center"> <div>是否内部限制:</div>
<div>是否内部限制:</div> <q-toggle v-model="addMsg.LnsideLimit" :true-value="1" :false-value="0" />
<q-toggle v-model="addMsg.LnsideLimit" :true-value="1" :false-value="0" />
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12 q-mt-sm q-mb-sm flex " style="align-items:center"> <div>报名取消确认:</div>
<div>报名取消确认:</div> <q-toggle v-model="addMsg.IsCancelConfirm" :true-value="1" :false-value="2" />
<q-toggle v-model="addMsg.IsCancelConfirm" :true-value="1" :false-value="2" />
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12"> <q-input filled stack-label maxlength="40" :dense="false" v-model="addMsg.LocationName" ref="LocationName"
<q-input filled stack-label maxlength="40" :dense="false" v-model="addMsg.LocationName" ref="LocationName" class="col-12 q-pb-lg" label="活动地址" :rules="[val => !!val || '请填写活动地址']">
class="col-12 q-pb-lg" label="活动地址" :rules="[val => !!val || '请填写活动地址']"> </q-input>
</q-input>
</div>
</div> </div>
<div class="row wrap"> <div class="col-6">
<div class="col-12"> <q-input filled stack-label maxlength="40" disable :dense="false" v-model="addMsg.LonLat" ref="LonLat"
<q-input filled stack-label maxlength="40" disable :dense="false" v-model="addMsg.LonLat" ref="LonLat" class="col-12 q-pb-lg" label="门店经纬度" :rules="[val => !!val || '请填写门店经纬度']">
class="col-12 q-pb-lg" label="门店经纬度" :rules="[val => !!val || '请填写门店经纬度']"> <template v-slot:after>
<template v-slot:after> <q-btn round color="black" icon="my_location" @click="getMapShow" />
<q-btn round color="black" icon="my_location" @click="getMapShow" /> </template>
</template>
</q-input> </q-input>
<!-- 地图选址 --> <!-- 地图选址 -->
<el-dialog title="地图展示" :visible.sync="isShowMap" width="960px" style="zIndex:999999"> <el-dialog title="地图展示" :visible.sync="isShowMap" width="960px" style="zIndex:999999">
<Map @map-submit="mapEvent" :address="addMsg.LocationName" style="zIndex:999999"></Map> <Map @map-submit="mapEvent" :address="addMsg.LocationName" style="zIndex:999999"></Map>
</el-dialog> </el-dialog>
</div>
</div> </div>
<div class="row wrap">
<div class="q-mt-lg q-mb-sm">活动特色</div> <div class="col-6">
<div class="col-12"> <q-uploader :style="{ backgroundImage: 'url(' + addMsg.CoverImg + ')' }"
<Ueditor :value="ueditor.value" :config="ueditor.config" @input="setVal" ref="ue" no-margin style="width:auto;height:300px;background-repeat:no-repeat;background-size:cover; border:1px solid #eee"
:isShowInsertImage="false" :isShowAttachment="false" :isShowVoice="false"></Ueditor> flat hide-upload-btn max-files="1" label="封面图" accept=".jpg, image/*" :factory="uploadFile" auto-upload>
</div> </q-uploader>
</div> </div>
</q-card-section> </div>
<q-card-actions align="right" class="bg-white"> </div>
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeRuleForm" />
<q-btn label="保存" color="accent q-px-md" style="font-weight:400 !important" @click="saveRule" /> <div class="page-search row items-center flex">
</q-card-actions> <div class="q-mt-lg q-mb-sm">活动特色</div>
</q-card> <div class="col-12">
</q-dialog> <Ueditor :value="ueditor.value" :config="ueditor.config" @input="setVal" ref="ue" no-margin
:isShowInsertImage="false" :isShowAttachment="false" :isShowVoice="false"></Ueditor>
</div>
</div>
<!-- <q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeRuleForm" />
<q-btn label="保存" color="accent q-px-md" style="font-weight:400 !important" @click="saveRule" />
</q-card-actions> -->
</div>
</div> </div>
</template> </template>
...@@ -278,11 +249,58 @@ ...@@ -278,11 +249,58 @@
initialFrameHeight: 100, initialFrameHeight: 100,
autoHeightEnabled: true, autoHeightEnabled: true,
enableContextMenu: false, enableContextMenu: false,
zIndex:900 zIndex: 900
} }
}, },
} }
}, },
watch: {
saveObj: {
handler(val) {
if (val && val.Id > 0) {
this.addMsg.Id = this.saveObj.Id
this.addMsg.ActivityName = this.saveObj.ActivityName
this.addMsg.StartTime = this.saveObj.StartTime
this.addMsg.EndTime = this.saveObj.EndTime
this.addMsg.CoverImg = this.saveObj.CoverImg
this.addMsg.ActivityType = this.saveObj.ActivityType
this.addMsg.ActivityInfo = this.saveObj.ActivityInfo
this.addMsg.SignStartTime = this.saveObj.SignStartTime
this.addMsg.SignStartTimeStr = this.saveObj.SignStartTimeStr
this.addMsg.SignEndTime = this.saveObj.SignEndTime
this.addMsg.SignEndTimeStr = this.saveObj.SignEndTimeStr
this.addMsg.IsFree = this.saveObj.IsFree
this.addMsg.Price = this.saveObj.Price
this.addMsg.PointNum = this.saveObj.PointNum
this.addMsg.IsCancelConfirm = this.saveObj.IsCancelConfirm
this.addMsg.Distinguish = this.saveObj.Distinguish
this.addMsg.ManNum = this.saveObj.ManNum
this.addMsg.WoManNum = this.saveObj.WoManNum
this.addMsg.AgeLimit = this.saveObj.AgeLimit
this.addMsg.StartAge = this.saveObj.StartAge
this.addMsg.EndAge = this.saveObj.EndAge
this.labelAge.max = this.saveObj.StartAge
this.labelAge.min = this.saveObj.EndAge
this.addMsg.LnsideLimit = this.saveObj.LnsideLimit
this.addMsg.LonLat = this.saveObj.LonLat
this.addMsg.LocationName = this.saveObj.LocationName
// this.addMsg.ActivityName=this.saveObj.ActivityName
// this.addMsg.ActivityName=this.saveObj.ActivityName
// this.addMsg.TypeContent=this.saveObj.TypeContent
this.setVal(this.addMsg.ActivityInfo);
}
},
deep: true
},
addMsg: {
handler(val) {
if (val) {
this.$emit("success", val)
}
},
deep: true
}
},
mounted() { mounted() {
if (this.saveObj && this.saveObj.Id > 0) { if (this.saveObj && this.saveObj.Id > 0) {
this.addMsg.Id = this.saveObj.Id this.addMsg.Id = this.saveObj.Id
...@@ -340,8 +358,8 @@ ...@@ -340,8 +358,8 @@
LonLat: '', //经纬度(逗号分隔) LonLat: '', //经纬度(逗号分隔)
LocationName: '', //位置名称 LocationName: '', //位置名称
}, },
this.setVal(""); this.setVal("");
} }
}, },
methods: { methods: {
// 选择开始时间 // 选择开始时间
...@@ -396,18 +414,18 @@ ...@@ -396,18 +414,18 @@
!this.$refs.EndTime.hasError && !this.$refs.EndTime.hasError &&
!this.$refs.SignStartTime.hasError && !this.$refs.SignStartTime.hasError &&
!this.$refs.SignEndTime.hasError) { !this.$refs.SignEndTime.hasError) {
this.addMsg.SignStartTime=this.addMsg.SignStartTimeStr return true
this.addMsg.SignEndTime=this.addMsg.SignEndTimeStr // this.apipostDS("/api/Education/SetActivity", this.addMsg, (res) => {
this.apipostDS("/api/Education/SetActivity", this.addMsg, (res) => { // if (res.data.resultCode === 1) {
if (res.data.resultCode === 1) { // this.Success(res.data.message);
this.Success(res.data.message); // this.closeRuleForm();
this.closeRuleForm(); // this.$emit('success');
this.$emit('success'); // } else {
} else { // this.Error(res.data.message);
this.Error(res.data.message); // }
} // })
}) } else
} return false
}, },
//关闭窗口 //关闭窗口
closeRuleForm() { closeRuleForm() {
...@@ -432,7 +450,7 @@ ...@@ -432,7 +450,7 @@
} }
</script> </script>
<style > <style>
.input-new-tag { .input-new-tag {
width: 90px; width: 90px;
margin-left: 10px; margin-left: 10px;
...@@ -455,7 +473,9 @@ ...@@ -455,7 +473,9 @@
height: 32px; height: 32px;
margin-top: 8px; margin-top: 8px;
} }
.el-dialog{
z-index: 99999; .el-dialog {
} z-index: 99999;
}
</style> </style>
<style scoped> <style scoped>
.header-box{ .header-box {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: 40px; margin-bottom: 40px;
} }
.p_title { .p_title {
color: #000000; color: #000000;
font-size: 20px; font-size: 20px;
/* height: 30px !important; */ /* height: 30px !important; */
display: flex; display: flex;
align-items: center; align-items: center;
} }
.activeDetail{
.activeDetail {
overflow-y: scroll; overflow-y: scroll;
} }
.conbox{
height: calc(100vh - 220px);
overflow-y: scroll;
}
.conbox::-webkit-scrollbar {
/*滚动条整体样式*/
width : 5px; /*宽度竖滚动条的尺寸*/
height: 10px; /*高度横滚动条的尺寸*/
}
.conbox::-webkit-scrollbar-thumb {
/*滚动条里面的条*/
border-radius: 10px;
box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
background : #eee;
}
.conbox::-webkit-scrollbar-track {
/*滚动条里面轨道*/
border-radius: 5px;
background : #ffffff;
}
.listTitle{
font-size: 18px
}
</style> </style>
<template> <template>
<div class="page-body activeDetail"> <div class="page-body activeDetail">
<div class="header-box"> <div class="header-box">
<div class="flex"> <div class="flex">
<q-btn color="accent" size="sm" class="q-mr-md" label="返回" @click="goBack" /> <q-btn color="accent" size="sm" class="q-mr-md" label="返回" @click="goBack" />
<span class="p_title">活动详情</span> <span class="p_title">活动详情</span>
</div> </div>
<div> <div>
<q-btn color="accent" size="sm" class="q-mr-md" label="新增活动" @click="addActiveList" /> <q-btn color="accent" size="sm" class="q-mr-sm" label="新增活动" @click="addActiveList" />
<q-btn color="accent" size="sm" label="保存" @click="save" /> <q-btn color="accent" size="sm" label="保存" @click="save" />
</div> </div>
</div> </div>
<div class="">
<div v-for="(item,index) in ActivityTitle" :key="item.id" class="flex " >
<DetailItem :itemData="item" :index="index+1" @success="getItemData($event,index)" ref="child"/>
<el-tooltip class="item" effect="dark" content="删除当前活动" placement="top" v-if="index>0"> <div class="conbox">
<i class="iconfont icon-img_delete_small q-ml-sm" style="color: #2961FE" @click="delActiveList(index)"></i> <ActiveForm :save-obj="activedata" :activeTypeOptions="activityTypeList" ref="childForm"
</el-tooltip> @success="getactivedata" />
<div class="">
<div class="q-mt-lg q-mb-lg listTitle">
活动列表
</div>
<div v-for="(item,index) in ActivityTitle" :key="item.id" class="flex ">
<DetailItem :itemData="item" :index="index+1" @success="getItemData($event,index)" ref="child" />
<el-tooltip class="item" effect="dark" content="删除当前活动" placement="top" v-if="index>0">
<i class="iconfont icon-img_delete_small q-ml-sm" style="color: #2961FE" @click="delActiveList(index)"></i>
</el-tooltip>
</div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import DetailItem from "../../components/activity/activeDetail-item" import DetailItem from "../../components/activity/activeDetail-item"
import ActiveForm from '../../components/activity/active-from'
export default { export default {
meta: { meta: {
title: "活动详情" title: "活动详情"
}, },
components: { components: {
DetailItem DetailItem,
ActiveForm
}, },
data() { data() {
return { return {
msg:{ msg: {
Id:0, Id: 0,
ActivityTitle:[] ActivityTitle: []
}, },
ActivityTitle:[ activeBaseData: {
{
Title:"",//活动大标题 },
TripSort:0,//活动排序 ActivityTitle: [{
ActivityPlanList:[//活动安排 Title: "", //活动大标题
{ TripSort: 0, //活动排序
TripSort:0,//排序 ActivityPlanList: [ //活动安排
StartTime:"",//开始时间 {
ActivityDuration:"",//活动时长(单位:分钟) TripSort: 0, //排序
LonLat:"",//活动地址经纬度 StartTime: "", //开始时间
LocationName:"",//活动地址 ActivityDuration: "", //活动时长(单位:分钟)
TripTitle:"",//安排标题 LonLat: "", //活动地址经纬度
TripContent:"",//内容 LocationName: "", //活动地址
TripPicList:[]//图片 TripTitle: "", //安排标题
} TripContent: "", //内容
] TripPicList: [] //图片
} }
], ]
item:{ }],
activedata: {
}
},
activityTypeList: [],
} }
}, },
mounted(){ mounted() {
if(this.$route.query.Id){ this.getActiveTypeList();
this.msg.Id=this.$route.query.Id if (this.$route.query.Id) {
this.getDetail() this.msg.Id = this.$route.query.Id
} this.getDetail()
}, }
},
methods: { methods: {
goBack(){ goBack() {
this.$router.go(-1) this.$router.go(-1)
}, },
addActiveList(){ addActiveList() {
let obj={ let obj = {
Title:"",//活动大标题 Title: "", //活动大标题
TripSort:this.ActivityTitle.length,//活动排序 TripSort: this.ActivityTitle.length, //活动排序
ActivityPlanList:[//活动安排 ActivityPlanList: [ //活动安排
{ {
TripSort:0,//排序 TripSort: 0, //排序
StartTime:"",//开始时间 StartTime: "", //开始时间
ActivityDuration:"",//活动时长(单位:分钟) ActivityDuration: "", //活动时长(单位:分钟)
LonLat:"",//活动地址经纬度 LonLat: "", //活动地址经纬度
LocationName:"",//活动地址 LocationName: "", //活动地址
TripTitle:"",//安排标题 TripTitle: "", //安排标题
TripContent:"",//内容 TripContent: "", //内容
TripPicList:[]//图片 TripPicList: [] //图片
} }
] ]
} }
this.ActivityTitle.push(obj) this.ActivityTitle.push(obj)
}, },
delActiveList(index){ delActiveList(index) {
this.ActivityTitle.splice(index,1) this.ActivityTitle.splice(index, 1)
}, },
getItemData(val,index){ //活动详情列表数据
this.msg.ActivityTitle[index]=val getItemData(val, index) {
this.msg.ActivityTitle[index] = val
}, },
//保存信息 //保存信息
save() { save() {
this.msg.ActivityTitle=this.ActivityTitle this.msg.ActivityTitle = this.ActivityTitle
this.$refs.child.map(x=>{ this.$refs.child.map(x => {
x.ruleVerification(); x.ruleVerification();
}) })
let res= this.$refs.child.every(x=>{ let res = this.$refs.child.every(x => {
return x.ruleVerification(); return x.ruleVerification();
}) })
if(res){ let res2 = this.$refs.childForm.saveRule()
this.apipostDS("/api/Education/GetSetActivityPlan", this.msg, (res) => { if (res && res2) {
let msg = {
...this.msg,
...this.activeBaseData
}
console.log(144, msg)
this.apipostDS("/api/Education/SetActivity", msg, (res) => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.Success(res.data.message); this.Success(res.data.message);
this.getDetail()
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
}) })
} }
},
getDetail() {
this.apipostDS("/api/Education/GetActivity", {
Id: this.msg.Id
}, (res) => {
if (res.data.resultCode === 1) {
this.ActivityTitle = res.data.data.ActivityTitleList
this.activedata = res.data.data
}
})
}, },
  getDetail(){ //获取活动类型下拉
        this.apipostDS("/api/Education/GetActivity", {Id:this.msg.Id}, (res) => { getActiveTypeList() {
            if (res.data.resultCode === 1) { this.apipostDS("/api/Education/GetCommerceActivityTypeList", {}, (res) => {
              this.ActivityTitle=res.data.data.ActivityTitleList if (res.data.resultCode === 1) {
            }  this.activityTypeList = res.data.data;
          }) this.activityTypeList.unshift({
      } Id: -1,
TypeName: "不限"
})
}
})
},
//活动基础数据
getactivedata(val) {
this.activeBaseData = val
}
} }
} }
......
...@@ -175,12 +175,6 @@ ...@@ -175,12 +175,6 @@
emit-value map-options label="状态" @change="resetSearch"/> emit-value map-options label="状态" @change="resetSearch"/>
</div> </div>
</div> </div>
<!-- <div class="col row wrap q-mr-lg q-col-gutter-md">
</div>
<div class="col row wrap q-mr-lg q-col-gutter-md">
</div> -->
</div> </div>
<div class="page-content"> <div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table sticky-right-column-table" <q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table sticky-right-column-table"
...@@ -253,8 +247,8 @@ ...@@ -253,8 +247,8 @@
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<div> <div>
<q-btn flat size="xs" icon="edit" <!-- <q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="编辑" @click="editQuotation(props.row)" /> color="accent" style="font-weight:400" label="编辑" @click="editQuotation(props.row)" /> -->
<!-- <q-btn flat size="xs" icon="edit" <!-- <q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="删除" @click="delActive(props.row)" /> --> color="accent" style="font-weight:400" label="删除" @click="delActive(props.row)" /> -->
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;"> <q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;">
...@@ -302,33 +296,8 @@ ...@@ -302,33 +296,8 @@
</q-table> </q-table>
</div> </div>
<!-- 新增修改活动类型 --> <!-- 新增修改活动类型 -->
<ActiveForm v-if="showForm" @close="closeruleset" :save-obj="typeObj" :activeTypeOptions="activityTypeList" @success="resetSearch"> <!-- <ActiveForm v-if="showForm" @close="closeruleset" :save-obj="typeObj" :activeTypeOptions="activityTypeList" @success="resetSearch">
</ActiveForm> </ActiveForm> -->
<!-- 报名信息 -->
<!-- <el-dialog title="报名信息" :visible.sync="dialogTableVisible" width="1100px">
<el-table :data="joinData" style="width:100%;">
<el-table-column property="LinkMan" label="联系人" width="100"></el-table-column>
<el-table-column property="LinkTel" label="联系电话" width="120"></el-table-column>
<el-table-column property="PeopleNum" label="人数" width="60"></el-table-column>
<el-table-column property="Money" label="付款方式" width="180">
<template slot-scope="scope">
<span v-if="scope.row.PaymentWay==6">星星支付:{{scope.row.TotalPoint}}点</span>
<span v-if="scope.row.PaymentWay==1">现金支付:{{scope.row.Money}}元</span>
</template>
</el-table-column>
<el-table-column property="Remark" label="备注" width="150"></el-table-column>
<el-table-column property="PaymentTime" label="报名时间" width="200"></el-table-column>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<template v-if="scope.row.IsApplyForCancel==1">
<el-button size="mini" type="primary" @click="agreeApply(scope.row)">同意</el-button>
<el-button size="mini" type="danger" @click="jujueMsg(scope.row)">拒绝</el-button>
</template>
</template>
</el-table-column>
</el-table>
</el-dialog> -->
</div> </div>
</template> </template>
...@@ -355,7 +324,6 @@ import ActiveForm from '../../components/activity/active-from' ...@@ -355,7 +324,6 @@ import ActiveForm from '../../components/activity/active-from'
rowsPerPage:10 rowsPerPage:10
}, },
pageCount: 0, pageCount: 0,
activityTypeList:[],
statusOpts:[ statusOpts:[
{ {
label: "全部", label: "全部",
...@@ -451,7 +419,6 @@ import ActiveForm from '../../components/activity/active-from' ...@@ -451,7 +419,6 @@ import ActiveForm from '../../components/activity/active-from'
mounted() { mounted() {
this.getList(); this.getList();
this.getActiveTypeList();
}, },
methods: { methods: {
// getItem(item) { // getItem(item) {
...@@ -460,18 +427,7 @@ import ActiveForm from '../../components/activity/active-from' ...@@ -460,18 +427,7 @@ import ActiveForm from '../../components/activity/active-from'
// }, // },
//获取活动类型下拉
getActiveTypeList(){
this.apipostDS("/api/Education/GetCommerceActivityTypeList",{},(res)=>{
if(res.data.resultCode===1){
this.activityTypeList = res.data.data;
this.activityTypeList.unshift({
Id:-1,
TypeName:"不限"
})
}
})
},
getList(){ getList(){
this.loading = true; this.loading = true;
this.apipostDS("/api/Education/GetActivityPage",this.msg,(res)=>{ this.apipostDS("/api/Education/GetActivityPage",this.msg,(res)=>{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment