Commit 03b90f42 authored by Mac's avatar Mac
parents 602b7ad0 27e5605c
This diff is collapsed.
<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
}
} }
} }
......
This diff is collapsed.
<style scoped>
.header-box {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 40px;
}
.p_title {
color: #000000;
font-size: 20px;
/* height: 30px !important; */
display: flex;
align-items: center;
}
.activeDetail {
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>
<template>
<div class="page-body activeDetail">
<div class="header-box">
<div class="flex">
<q-btn color="accent" size="sm" class="q-mr-md" label="返回" @click="goBack" />
<span class="p_title">复制活动</span>
</div>
<div>
<q-btn color="accent" size="sm" class="q-mr-sm" label="新增活动" @click="addActiveList" />
<q-btn color="accent" size="sm" label="保存" @click="save" />
</div>
</div>
<div class="conbox">
<ActiveForm :save-obj="activedata" :activeTypeOptions="activityTypeList" ref="childForm"
@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>
</template>
<script>
import DetailItem from "../../components/activity/activeDetail-item"
import ActiveForm from '../../components/activity/active-from'
export default {
meta: {
title: "活动详情"
},
components: {
DetailItem,
ActiveForm
},
data() {
return {
msg: {
Id: 0,
ActivityTitle: []
},
activeBaseData: {
},
ActivityTitle: [{
Title: "", //活动大标题
TripSort: 0, //活动排序
ActivityPlanList: [ //活动安排
{
TripSort: 0, //排序
StartTime: "", //开始时间
ActivityDuration: "", //活动时长(单位:分钟)
LonLat: "", //活动地址经纬度
LocationName: "", //活动地址
TripTitle: "", //安排标题
TripContent: "", //内容
TripPicList: [] //图片
}
]
}],
activedata: {
},
activityTypeList: [],
}
},
mounted() {
this.getActiveTypeList();
if (this.$route.query.Id) {
this.msg.Id = this.$route.query.Id
this.getDetail()
}
},
methods: {
goBack() {
this.$router.go(-1)
},
addActiveList() {
let obj = {
Title: "", //活动大标题
TripSort: this.ActivityTitle.length, //活动排序
ActivityPlanList: [ //活动安排
{
TripSort: 0, //排序
StartTime: "", //开始时间
ActivityDuration: "", //活动时长(单位:分钟)
LonLat: "", //活动地址经纬度
LocationName: "", //活动地址
TripTitle: "", //安排标题
TripContent: "", //内容
TripPicList: [] //图片
}
]
}
this.ActivityTitle.push(obj)
},
delActiveList(index) {
this.ActivityTitle.splice(index, 1)
},
//活动详情列表数据
getItemData(val, index) {
this.msg.ActivityTitle[index] = val
},
//保存信息
save() {
this.msg.ActivityTitle = this.ActivityTitle
this.$refs.child.map(x => {
x.ruleVerification();
})
let res = this.$refs.child.every(x => {
return x.ruleVerification();
})
let res2 = this.$refs.childForm.saveRule()
if (res && res2) {
let msg = {
...this.msg,
...this.activeBaseData
}
msg.Id=0
this.apipostDS("/api/Education/SetActivity", msg, (res) => {
if (res.data.resultCode === 1) {
this.Success("操作成功");
// this.getDetail()
this.$router.push("/activity/activityList")
} else {
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
this.activedata.StartTime=""
this.activedata.StartTimeStr=""
this.activedata.EndTime=""
this.activedata.EndTimeStr=""
this.activedata.SignStartTime=""
this.activedata.SignStartTimeStr=""
this.activedata.SignEndTime=""
this.activedata.SignEndTimeStr=""
}
})
},
//获取活动类型下拉
getActiveTypeList() {
this.apipostDS("/api/Education/GetCommerceActivityTypeList", {}, (res) => {
if (res.data.resultCode === 1) {
this.activityTypeList = res.data.data;
this.activityTypeList.unshift({
Id: -1,
TypeName: "不限"
})
}
})
},
//活动基础数据
getactivedata(val) {
this.activeBaseData = val
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
...@@ -190,10 +190,13 @@ ...@@ -190,10 +190,13 @@
:rules="[val => !!val || '请再次输入新密码']" lazy-rules filled /> :rules="[val => !!val || '请再次输入新密码']" lazy-rules filled />
</div> </div>
<q-btn color="primary" style="width: 300px;margin-top: 50px;" :loading="loading2" label="确定修改" type="submit" > </q-btn> <q-btn color="primary" style="width: 300px;margin-top: 50px;" :loading="loading2" label="确定修改" type="submit" > </q-btn>
</form> </form>
</template> </template>
<template v-if="rightType == 3">
<div>
</div>
</template>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -741,6 +741,11 @@ const routes = [{ ...@@ -741,6 +741,11 @@ const routes = [{
component: () => component: () =>
import("pages/activity/activeDetail.vue") import("pages/activity/activeDetail.vue")
}, },
{
path: "/activity/copyActive", //活动 复制活动
component: () =>
import("pages/activity/copyActive.vue")
},
{ {
path: "/activity/advmanager", //活动 广告图管理 path: "/activity/advmanager", //活动 广告图管理
component: () => component: () =>
...@@ -835,7 +840,7 @@ const routes = [{ ...@@ -835,7 +840,7 @@ const routes = [{
component: () => component: () =>
import("pages/course/chapter.vue") import("pages/course/chapter.vue")
}, },
{ {
path: "/course/coursejob", //作业管理 path: "/course/coursejob", //作业管理
component: () => component: () =>
...@@ -985,9 +990,9 @@ const routes = [{ ...@@ -985,9 +990,9 @@ const routes = [{
}, },
}, },
{ {
path: "/course/chapter-editor", //章节管理 path: "/course/chapter-editor", //章节管理
component: () => component: () =>
import("pages/course/chapterEditor.vue") import("pages/course/chapterEditor.vue")
}, },
{ {
path: "*", path: "*",
......
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