Commit 967f4ad0 authored by guoyou's avatar guoyou

峰会,公众号分公司

parent de3398b3
module.exports = { module.exports = {
NODE_ENV: '"development"', NODE_ENV: '"development"',
BASE_API:'"https://xxtest.upyuns.com"',//'"https://dev.dfangche.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威) BASE_API:'"https://dev.dfangche.com"',//'"https://xxtest.upyuns.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
} }
...@@ -2,7 +2,7 @@ import fetch from 'utils/fetch'; ...@@ -2,7 +2,7 @@ import fetch from 'utils/fetch';
export function one(activityId) { export function one(activityId) {
return fetch({ return fetch({
url: '/api/summit/activityShow/one/'+activityId, url: '/api/summit/activityShow/app/unauth/one/'+activityId,
method: 'get' method: 'get'
}) })
} }
......
...@@ -461,6 +461,7 @@ ...@@ -461,6 +461,7 @@
this.page = 1; this.page = 1;
this.list = []; this.list = [];
this.nomore = false; this.nomore = false;
this.loading = false;
this.loadMore(); this.loadMore();
}, },
/** /**
...@@ -510,6 +511,7 @@ ...@@ -510,6 +511,7 @@
if(res.data.length< this.listQuery.limit && this.list.length>0){ if(res.data.length< this.listQuery.limit && this.list.length>0){
//已加载全部 //已加载全部
this.nomore = true; this.nomore = true;
this.loading = false;
} }
} }
this.list = [...this.list, ...allList]; this.list = [...this.list, ...allList];
......
...@@ -78,14 +78,13 @@ ...@@ -78,14 +78,13 @@
<el-button <el-button
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
v-if
@click="enrollData(scope.row)" @click="enrollData(scope.row)"
>报名信息</el-button> >报名信息</el-button>
<el-button <!-- <el-button
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="applyPage(scope.row)" @click="applyPage(scope.row)"
>报名页面</el-button> >报名页面</el-button> -->
<el-button <el-button
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
size="small" size="small"
...@@ -94,7 +93,6 @@ ...@@ -94,7 +93,6 @@
<el-button <el-button
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
v-if
@click="review(scope.row)" @click="review(scope.row)"
>回顾页面</el-button> >回顾页面</el-button>
<el-button <el-button
...@@ -136,7 +134,7 @@ ...@@ -136,7 +134,7 @@
v-on:reviewDialogEvent="reviewDialogEvent" v-on:reviewDialogEvent="reviewDialogEvent"
/> />
<applyPage :applyInfo='applyInfo'></applyPage> <!-- <applyPage :applyInfo='applyInfo'></applyPage> -->
</div> </div>
</template> </template>
<script> <script>
...@@ -146,7 +144,7 @@ import { page, update } from "src/api/summit/activity"; ...@@ -146,7 +144,7 @@ import { page, update } from "src/api/summit/activity";
import summitPopup from "src/views/summit/model/summitPopup"; import summitPopup from "src/views/summit/model/summitPopup";
import enrollDataPopup from "src/views/summit/model/enrollDataPopup"; import enrollDataPopup from "src/views/summit/model/enrollDataPopup";
import reviewPopup from "src/views/summit/model/reviewPopup"; import reviewPopup from "src/views/summit/model/reviewPopup";
import applyPage from "src/views/summit/model/applyPage"; // import applyPage from "src/views/summit/model/applyPage";
import { getToken } from "src/utils/auth"; import { getToken } from "src/utils/auth";
...@@ -156,7 +154,7 @@ export default { ...@@ -156,7 +154,7 @@ export default {
summitPopup, summitPopup,
enrollDataPopup, enrollDataPopup,
reviewPopup, reviewPopup,
applyPage // applyPage
}, },
data() { data() {
return { return {
...@@ -210,9 +208,9 @@ export default { ...@@ -210,9 +208,9 @@ export default {
}, },
methods: { methods: {
//报名页面 //报名页面
applyPage(){ // applyPage(){
this.applyInfo.dialogVisible = true; // this.applyInfo.dialogVisible = true;
}, // },
getList() { getList() {
this.listLoading = true; this.listLoading = true;
page(this.query).then(res => { page(this.query).then(res => {
......
<template> <template>
<el-dialog title="回顾页面" :visible.sync="dialogVisible" class="order-details"> <el-dialog title="回顾页面" :visible.sync="dialogVisible" class="order-details">
<el-form :model="form" ref="form" label-width="120px"> <el-form :model="form" ref="form" label-width="120px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="峰会封面:"> <el-form-item label="峰会封面:">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" :action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:show-file-list="false" :show-file-list="false"
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:on-progress="uploadProcess" :on-progress="uploadProcess"
list-type="picture" list-type="picture"
> >
<el-progress <el-progress
v-show="imgFlag == true" v-show="imgFlag == true"
type="circle" type="circle"
:percentage="percent" :percentage="percent"
style="margin-top: 20px" style="margin-top: 20px"
></el-progress> ></el-progress>
<img <img
v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag" v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag"
:src="form.banner" :src="form.banner"
style="width:300px;max-height:300px;" style="width:300px;max-height:300px;"
/> />
<i <i
v-else-if="!imgFlag" v-else-if="!imgFlag"
class="el-icon-plus avatar-uploader-icon" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;" style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"
></i> ></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="峰会图片:"> <el-form-item label="峰会图片:">
<el-upload <el-upload
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" :action="BASE_API+'/api/universal/file/app/unauth/pictureZip'"
list-type="picture-card" list-type="picture-card"
:file-list="list" :file-list="list"
:on-success="handlePictureCardPreview" :on-success="handlePictureCardPreview"
:on-remove="handleRemove" :on-remove="handleRemove"
> :before-upload="beforeAvatarUpload"
<i class="el-icon-plus"></i> >
</el-upload> <i class="el-icon-plus"></i>
<!-- <img width="100%" :src="form.picturePath" alt="">--> </el-upload>
</el-form-item> <!-- <img width="100%" :src="form.picturePath" alt="">-->
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col> <el-row>
<el-form-item label="峰会视频:"> <el-col>
<el-upload <el-form-item label="峰会视频:">
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" <el-upload
list-type="picture-card" :action="BASE_API+'/api/universal/file/app/unauth/uploadVideo'"
:headers="getHeaderWithToken" list-type="picture-card"
:on-preview="handlePreview" :headers="getHeaderWithToken"
:on-remove="handleRemove" :on-preview="handlePreview"
> :on-remove="handleRemove"
<i class="el-icon-plus"></i> :before-upload="videoUpload"
</el-upload> :on-success="vidioSuccess"
<video >
v-if="$utils.isString(form.videoPath) && !$utils.isEmpty(form.videoPath) && !imgFlag" <i class="el-icon-plus"></i>
:src="form.videoPath" </el-upload>
style="width:300px;max-height:300px;" <video
/> v-if="$utils.isString(form.videoPath) && !$utils.isEmpty(form.videoPath) && !imgFlag"
<!-- <i :src="form.videoPath"
style="width:300px;max-height:300px;"
/>
<!-- <i
v-else-if="!imgFlag" v-else-if="!imgFlag"
class="el-icon-plus avatar-uploader-icon" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;" style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"
></i>--> ></i>-->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col> <el-col>
<el-form-item> <el-form-item>
<el-button class="button" @click="cancelHandel">取 消</el-button> <el-button class="button" @click="cancelHandel">取 消</el-button>
<el-button class="button" type="primary" @click="cre">确 定</el-button> <!-- <el-button class="button" type="primary" @click="cre">确 定</el-button> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row slot="footer" class="dialog-footer1"> <!-- <el-row slot="footer" class="dialog-footer1">
</el-row>--> </el-row>-->
</el-form> </el-form>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import ElRow from "element-ui/packages/row/src/row"; import ElRow from 'element-ui/packages/row/src/row'
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue"; import ElInput from '../../../../node_modules/element-ui/packages/input/src/input.vue'
import ElCol from "element-ui/packages/col/src/col"; import ElCol from 'element-ui/packages/col/src/col'
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue"; import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue'
import { getToken } from "src/utils/auth"; import { getToken } from 'src/utils/auth'
import { mapGetters } from "vuex"; import { mapGetters } from 'vuex'
import { one, save } from "src/api/summit/activityShow"; import { one, save } from 'src/api/summit/activityShow'
export default { export default {
props: ["reviewRow"], props: ['reviewRow'],
name: "reviewPopup", name: 'reviewPopup',
components: { components: {
ElFormItem, ElFormItem,
ElCol, ElCol,
ElInput, ElInput,
ElRow ElRow
}, },
data() { data() {
return { return {
imgDialogVisible: false, imgDialogVisible: false,
dialogVisible: false, dialogVisible: false,
dialogImageUrl: undefined, dialogImageUrl: undefined,
result: false, result: false,
imgFlag: false, imgFlag: false,
BASE_API: process.env.BASE_API, BASE_API: process.env.BASE_API,
percent: 0, //上传进度 percent: 0, //上传进度
list: [], list: [],
form: { form: {
id: undefined, id: undefined,
banner: undefined, banner: undefined,
activityId: undefined, activityId: undefined,
banner: undefined, banner: undefined,
videoPath: undefined, videoPath: undefined,
picturePath: undefined picturePath: undefined
} }
}; }
}, },
watch: { watch: {
dialogVisible(newValue, oldValue) { dialogVisible(newValue, oldValue) {
if (!newValue) { if (!newValue) {
this.$emit("reviewDialogEvent", this.result); this.$emit('reviewDialogEvent', this.result)
} }
} }
}, },
computed: { computed: {
...mapGetters(["elements"]), ...mapGetters(['elements']),
getHeaderWithToken() { getHeaderWithToken() {
return { Authorization: getToken() }; return { Authorization: getToken() }
} }
}, },
watch: { watch: {
dialogVisible(newValue, oldValue) { dialogVisible(newValue, oldValue) {
if (!newValue) { if (!newValue) {
this.$emit("summitDialogEvent", this.result); this.$emit('summitDialogEvent', this.result)
} }
} }
}, },
mounted() { mounted() {
this.getOrderInfo(); this.getOrderInfo()
}, },
methods: { methods: {
getOrderInfo() { vidioSuccess(res) {
one(this.reviewRow.id).then(res => { console.log(res)
this.form = res.data; this.$notify({
this.dialogVisible = true; title: '成功',
this.imgDialogVisible = true; message: res.message,
}); type: 'success',
}, duration: 2000
cre() { })
console.log(this.form.picturePath); },
save(this.form).then(res => { beforeAvatarUpload(file) {
this.responseResult(res); const zip = file.type === 'application/zip'
}); if (!zip) {
}, this.$message.error('上传头像图片只能是 zip 格式!')
responseResult(res) { }
if (res.status === 200) { return zip
this.$notify({ },
title: "成功", videoUpload(file) {
message: "操作成功", console.log(file.type)
type: "success",
duration: 2000
});
this.setSummitDialogEvent(true); const isJPG = file.type === 'video/mp4'
} else { if (!isJPG) {
this.$notify({ this.$message.error('上传头像图片只能是 mp4 格式!')
title: "失败", }
message: "操作失败!", return isJPG
type: "error", },
duration: 2000 getOrderInfo() {
}); console.log(this.reviewRow.id)
}
},
/**
* 弹框-取消
* */
cancelHandel() {
this.setSummitDialogEvent(false);
},
setSummitDialogEvent(e) {
this.cleanForm();
this.result = e;
this.dialogVisible = false;
},
/**
* 封面图上传
* **/
handleAvatarSuccess(res, file) {
this.percent = 0;
this.imgFlag = false;
this.form.banner = res.data;
},
/**
* 封面图上传进度
* */
uploadProcess(event, file, fileList) {
this.imgFlag = true;
this.percent = Math.floor(event.percent);
},
handlePreview(file) {
this.form.videoPath = file.data;
this.imgDialogVisible = true;
},
handleRemove(file, fileList) {
// console.log(file)
console.log(file, fileList);
},
handlePictureCardPreview(res, file) { one(this.reviewRow.id).then(res => {
this.list.push({ url: res.data }); this.form = res.data
// this.imgDialogVisible = true; this.dialogVisible = true
}, this.imgDialogVisible = true
cleanForm() { })
this.form = { },
id: undefined, cre() {
banner: undefined, console.log(this.form.picturePath)
activityId: undefined, save(this.form).then(res => {
banner: undefined, this.responseResult(res)
videoPath: undefined, })
picturePath: undefined },
}; responseResult(res) {
} if (res.status === 200) {
} this.$notify({
}; title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
})
this.setSummitDialogEvent(true)
} else {
this.$notify({
title: '失败',
message: '操作失败!',
type: 'error',
duration: 2000
})
}
},
/**
* 弹框-取消
* */
cancelHandel() {
this.setSummitDialogEvent(false)
},
setSummitDialogEvent(e) {
this.cleanForm()
this.result = e
this.dialogVisible = false
},
/**
* 封面图上传
* **/
handleAvatarSuccess(res, file) {
this.percent = 0
this.imgFlag = false
this.form.banner = res.data
},
/**
* 封面图上传进度
* */
uploadProcess(event, file, fileList) {
this.imgFlag = true
this.percent = Math.floor(event.percent)
},
handlePreview(file) {
this.form.videoPath = file.data
this.imgDialogVisible = true
},
handleRemove(file, fileList) {
// console.log(file)
console.log(file, fileList)
},
handlePictureCardPreview(res, file) {
this.$notify({
title: '成功',
message: res.message,
type: 'success',
duration: 2000
})
this.list.push({ url: res.data })
// this.imgDialogVisible = true;
},
cleanForm() {
this.form = {
id: undefined,
banner: undefined,
activityId: undefined,
banner: undefined,
videoPath: undefined,
picturePath: undefined
}
}
}
}
</script> </script>
<style> <style>
.label-text { .label-text {
margin-left: 10px; margin-left: 10px;
margin-right: 20px; margin-right: 20px;
} }
.label-title { .label-title {
margin-top: 10px; margin-top: 10px;
} }
.orderDetail tr th { .orderDetail tr th {
background: #eef1f6; background: #eef1f6;
} }
.orderDetail tr td, .orderDetail tr td,
.orderDetail tr th { .orderDetail tr th {
width: 500px; width: 500px;
text-align: center; text-align: center;
border: 1px solid #dfe6ec; border: 1px solid #dfe6ec;
margin-left: 100px; margin-left: 100px;
margin-right: 100px; margin-right: 100px;
padding: 10px; padding: 10px;
} }
.label-value { .label-value {
margin-left: 80px; margin-left: 80px;
margin-right: 100px; margin-right: 100px;
} }
#license-img { #license-img {
width: 50px; width: 50px;
height: 50px; height: 50px;
} }
.order-details .el-form-item { .order-details .el-form-item {
margin-bottom: 10px !important; margin-bottom: 10px !important;
} }
.el-dialog__footer .dialog-footer1 { .el-dialog__footer .dialog-footer1 {
position: relative; position: relative;
text-align: center; text-align: center;
} }
.fhjj { .fhjj {
width: 500px; width: 500px;
} }
.content { .content {
margin-left: 4%; margin-left: 4%;
} }
.height { .height {
margin-bottom: 2%; margin-bottom: 2%;
} }
. el-form-item__content { . el-form-item__content {
margin-left: 5% !important; margin-left: 5% !important;
} }
.status { .status {
margin-top: 4%; margin-top: 4%;
} }
</style> </style>
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" class="order-details"> <el-dialog :title="title" :visible.sync="dialogVisible" class="order-details">
<div> <div>
<el-form :model="form" ref="form" label-width="120px"> <!-- <el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-width="100px" class="demo-ruleForm"> -->
<div> <el-form :model="form" ref="form" :rules="rules" label-width="120px">
<p style="padding:20px 0;border-bottom:1px solid #d9d9d9">基础信息</p> <div>
<div class="steLine"> <p style="padding:20px 0;border-bottom:1px solid #d9d9d9">基础信息</p>
<el-row> <div class="steLine">
<el-col :span="12"> <el-row>
<el-form-item label="标题:"> <el-col :span="12">
<el-input v-model="form.title" placeholder="请输入峰会标题"></el-input> <el-form-item label="标题:">
</el-form-item> <el-input v-model="form.title" placeholder="请输入峰会标题"></el-input>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="8"> <el-row>
<el-form-item label="封面图:"> <el-col :span="8">
<el-upload <el-form-item label="封面图:">
class="upload-demo" <el-upload
:headers="getHeaderWithToken" class="upload-demo"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'" :headers="getHeaderWithToken"
:show-file-list="false" :action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:on-success="handleAvatarSuccess" :show-file-list="false"
:on-progress="uploadProcess" :on-success="handleAvatarSuccess"
list-type="picture" :on-progress="uploadProcess"
> list-type="picture"
<el-progress >
v-show="imgFlag == true" <el-progress
type="circle" v-show="imgFlag == true"
:percentage="percent" type="circle"
style="margin-top: 20px" :percentage="percent"
></el-progress> style="margin-top: 20px"
<img ></el-progress>
v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag" <img
:src="form.banner" v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag"
style="width:300px;max-height:300px;" :src="form.banner"
/> style="width:300px;max-height:300px;"
<i />
v-else-if="!imgFlag" <i
class="el-icon-plus avatar-uploader-icon" v-else-if="!imgFlag"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;" class="el-icon-plus avatar-uploader-icon"
></i> style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"
</el-upload> ></i>
</el-form-item> </el-upload>
</el-col> </el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="16"> <el-row>
<el-form-item label="峰会时间:"> <el-col :span="16">
<el-date-picker <el-form-item label="峰会时间:">
v-model="form.startTime" <el-date-picker
type="datetime" v-model="form.startTime"
:editable="true" type="datetime"
placeholder="开始时间" :editable="true"
></el-date-picker>- placeholder="开始时间"
<el-date-picker ></el-date-picker>-
v-model="form.endTime" <el-date-picker v-model="form.endTime" type="datetime" :editable="true" placeholder="选择日期"></el-date-picker>
type="datetime" </el-form-item>
:editable="true" </el-col>
placeholder="选择日期" </el-row>
></el-date-picker> <el-row>
</el-form-item> <el-col :span="9">
</el-col> <el-form-item label="报名截止时间:">
</el-row> <el-date-picker v-model="form.bmCloseTime" type="datetime" placeholder="报名截止时间"></el-date-picker>
<el-row> </el-form-item>
<el-col :span="9"> </el-col>
<el-form-item label="报名截止时间:"> </el-row>
<el-date-picker v-model="form.bmCloseTime" type="datetime" placeholder="报名截止时间"></el-date-picker> <el-row>
</el-form-item> <el-col :span="10">
</el-col> <el-form-item label="地点:">
</el-row> <el-input v-model="form.address" placeholder="请输入峰会举办地点"></el-input>
<el-row> </el-form-item>
<el-col :span="10"> </el-col>
<el-form-item label="地点:"> <el-form-item style="display:inline-block;margin-left:-120px">
<el-input v-model="form.address" placeholder="请输入峰会举办地点"></el-input> <el-input class="content" v-model="form.longitude" placeholder="经度" style="width:100px"></el-input>
</el-form-item> </el-form-item>
</el-col> <el-form-item style="display:inline-block;margin-left:-120px">
<el-form-item style="display:inline-block;margin-left:-120px"> <el-input class="content" v-model="form.latitude" placeholder="纬度" style="width:100px"></el-input>
<el-input </el-form-item>
class="content" <!-- <el-col :span="6" class="content">
v-model="form.longitude"
placeholder="经度"
style="width:100px"
></el-input>
</el-form-item>
<el-form-item style="display:inline-block;margin-left:-120px">
<el-input
class="content"
v-model="form.latitude"
placeholder="纬度"
style="width:100px"
></el-input>
</el-form-item>
<!-- <el-col :span="6" class="content">
<el-form-item> <el-form-item>
<el-input class="content" v-model="form.latitude" placeholder="纬度"></el-input> <el-input class="content" v-model="form.latitude" placeholder="纬度"></el-input>
</el-form-item> </el-form-item>
</el-col>--> </el-col>-->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="状态:"> <el-form-item label="状态:">
<el-radio-group v-model="form.state"> <el-radio-group v-model="form.state">
<el-radio-button label="默认"></el-radio-button> <el-radio-button label="默认"></el-radio-button>
<el-radio-button label="自定义"></el-radio-button> <el-radio-button label="自定义"></el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9" v-if="form.state==='自定义'"> <el-col :span="9" v-if="form.state==='自定义'">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio class="status" :label="0">默认</el-radio> <el-radio class="status" :label="0">默认</el-radio>
<el-radio class="status" :label="1">报名中</el-radio> <el-radio class="status" :label="1">报名中</el-radio>
<el-radio class="status" :label="2">进行中</el-radio> <el-radio class="status" :label="2">进行中</el-radio>
<el-radio class="status" :label="3">已结束</el-radio> <el-radio class="status" :label="3">已结束</el-radio>
</el-radio-group> </el-radio-group>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="活动id:"> <el-form-item label="活动id:">
<el-input v-model="form.rid" placeholder="请输入签到/抽奖活动的id"></el-input> <el-input v-model="form.rid" placeholder="请输入签到/抽奖活动的id"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</div> </div>
<div> <div>
<p style="padding:20px 0;border-bottom:1px solid #d9d9d9">报名页面</p> <p style="padding:20px 0;border-bottom:1px solid #d9d9d9">报名页面</p>
<div> <div>
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="峰会主题:"> <el-form-item label="峰会主题:">
<UE <UE
:editorId="activeName" :editorId="activeName"
:defaultMsg="form.content" :defaultMsg="form.content"
:config="config" :config="config"
ref="ue" ref="ue"
@ready="editorReadyEvent" @ready="editorReadyEvent"
></UE> ></UE>
</el-form-item> </el-form-item>
<el-form-item label="诚邀莅临:" prop="name"> <el-form-item label="诚邀莅临:" prop="name">
<UE <UE
:editorId="activeNameShare" :editorId="activeNameShare"
:defaultMsg="form.share" :defaultMsg="form.actDesc "
:config="config" :config="config"
ref="ue" ref="ue"
@ready="editorReadyEventShare" @ready="editorReadyEventShare"
></UE> ></UE>
</el-form-item> </el-form-item>
<el-form-item label="公司简章:" prop="name"> <el-form-item label="公司简章:" prop="name">
<UE <UE
:editorId="activeNameFirm" :editorId="activeNameFirm"
:defaultMsg="form.contentFirm" :defaultMsg="form.companyDesc"
:config="config" :config="config"
ref="ue" ref="ue"
@ready="editorReadyEventFirm" @ready="editorReadyEventFirm"
></UE> ></UE>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="峰会流程:"> <el-form-item label="房车介绍:">
<el-row class="height" v-for="(item, index) in processJson" :key="index"> <el-upload
<el-col :span="6"> class="upload-demo"
<el-date-picker :headers="getHeaderWithToken"
v-model="item.time" :action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
type="datetime" :on-remove="handleRemove"
format="yyyy-MM-dd HH:mm:ss" :file-list="fileList2"
placeholder="请选择时间" :on-success="handleBannerSuccess"
></el-date-picker> list-type="picture"
</el-col> >
<el-col :span="8"> <div slot="tip" class="el-upload__tip">
<el-input class="content" v-model="item.content" placeholder="请输入内容"></el-input> <span style="color: red;">建议尺寸:1080*644px</span>
</el-col> </div>
<el-col class="content" :span="8"> <el-button size="small" type="primary">点击上传</el-button>
<el-button </el-upload>
type="danger" </el-form-item>
size="small" <el-form-item label="峰会流程:">
style="margin-left: 10px;" <el-row class="height" v-for="(item, index) in processJson" :key="index">
@click="deleteItem(item,index)" <el-col :span="6">
>删除</el-button> <el-date-picker
</el-col> v-model="item.time"
</el-row> type="datetime"
</el-form-item> format="yyyy-MM-dd HH:mm:ss"
</el-col> placeholder="请选择时间"
</el-row> ></el-date-picker>
<el-row> </el-col>
<el-form-item> <el-col :span="8">
<el-button size="small" type="button" icon="plus" @click="addTag()">添加流程</el-button> <el-input class="content" v-model="item.content" placeholder="请输入内容"></el-input>
</el-form-item> </el-col>
</el-row> <el-col class="content" :span="8">
</div> <el-button
</div> type="danger"
</el-form> size="small"
</div> style="margin-left: 10px;"
<div slot="footer" class="dialog-footer1"> @click="deleteItem(item,index)"
<el-button class="button" @click="cancelHandel">取 消</el-button> >删除</el-button>
<el-button class="button" type="primary" v-if="titleNme=='创建峰会'" @click="create()">确 定</el-button> </el-col>
<el-button class="button" type="primary" v-if="titleNme=='编辑峰会'" @click="update1()">确 定</el-button> </el-row>
</div> </el-form-item>
<!-- <div class="modal_modal" v-show="resetCarVisible"></div>--> </el-col>
</el-dialog> </el-row>
<el-row>
<el-form-item>
<el-button size="small" type="button" icon="plus" @click="addTag()">添加流程</el-button>
</el-form-item>
</el-row>
</div>
</div>
<el-row>
<el-col>
<el-button class="button" @click="cancelHandel">取 消</el-button>
<el-button class="button" type="primary" v-if="titleNme=='创建峰会'" @click="create('form')">确 定</el-button>
<el-button class="button" type="primary" v-if="titleNme=='编辑峰会'" @click="update1()">确 定</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- <div class="modal_modal" v-show="resetCarVisible"></div>-->
</el-dialog>
</template> </template>
<script> <script>
import ElRow from "element-ui/packages/row/src/row"; import ElRow from 'element-ui/packages/row/src/row'
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue"; import ElInput from '../../../../node_modules/element-ui/packages/input/src/input.vue'
import ElCol from "element-ui/packages/col/src/col"; import ElCol from 'element-ui/packages/col/src/col'
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue"; import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue'
import { getOne, update, add } from "src/api/summit/activity"; import { getOne, update, add } from 'src/api/summit/activity'
import { getToken } from "src/utils/auth"; import { getToken } from 'src/utils/auth'
import { mapGetters } from "vuex"; import { mapGetters } from 'vuex'
import UE from "../../modal/Ueditor"; //百度ue富文本 import UE from '../../modal/Ueditor' // 百度ue富文本
import { formatDate } from 'utils/dateFormattor'
export default { export default {
props: ["popupShow", "popupRow", "titleNme"], props: ['popupShow', 'popupRow', 'titleNme'],
name: "summitPopup", name: 'summitPopup',
components: { components: {
ElFormItem, ElFormItem,
ElCol, ElCol,
ElInput, ElInput,
ElRow, ElRow,
UE UE
}, },
data() { data() {
return { return {
config: { fileList2: [],
initialFrameWidth: null, config: {
initialFrameHeight: 350 initialFrameWidth: null,
}, initialFrameHeight: 350
dialogVisible: false, },
title: "", dialogVisible: false,
BASE_API: process.env.BASE_API, title: '',
percent: 0, //上传进度 BASE_API: process.env.BASE_API,
imgFlag: false, percent: 0, // 上传进度
activeName: "first", percents: 0, // 上传进度
activeNameShare: "second", imgFlag: false,
activeNameFirm: "three", imgFlags: false,
form: { activeName: '',
title: undefined, activeNameShare: '',
banner: undefined, activeNameFirm: '',
startTime: undefined, rules: {},
endTime: undefined, form: {
bmCloseTime: undefined, title: undefined,
address: undefined, banner: undefined,
longitude: undefined, startTime: undefined,
latitude: undefined, endTime: undefined,
state: "默认", bmCloseTime: undefined,
rid: undefined, address: undefined,
content: "", longitude: undefined,
share: "", latitude: undefined,
contentFirm: "" state: '默认',
}, rid: undefined,
result: false, content: '', // 峰会主题
processJson: [{ time: undefined, content: "" }] contentFirm: '',
}; actDesc: '', // 诚邀莅临
}, companyDesc: '', // 公司简章
vehicleImgs: [] // 房车介绍
},
result: false,
processJson: []
}
},
mounted() {
this.cleanForm()
this.getOrderInfo()
},
computed: {
...mapGetters(['elements']),
getHeaderWithToken() {
return { Authorization: getToken() }
}
},
watch: {
dialogVisible(newValue) {
if (!newValue) {
this.$emit('summitDialogEvent', this.result)
}
}
},
methods: {
handleBannerSuccess(res, file) {
this.fileList2.push({ url: res.data })
this.form.vehicleImgs = this.fileList2
},
handleRemove() {},
getOrderInfo() {
this.title = this.titleNme
if (this.title === '编辑峰会') {
this.$nextTick(() => {
this.dialogVisible = true
this.activeName = 'first'
this.activeNameShare = 'second'
this.activeNameFirm = 'three'
})
mounted() { getOne(this.popupRow.id).then(res => {
this.cleanForm(); res.data.state = this.getState(res.data.status)
this.getOrderInfo(); this.form = res.data
}, this.form.bmCloseTime = Number(res.data.bmCloseTime)
computed: { let introduce = this.form.vehicleImgs.split(',');
...mapGetters(["elements"]), introduce.forEach(element => {
this.fileList2.push({name:'峰会介绍',url:element})
});
if (res.data.processJson) {
this.processJson = JSON.parse(res.data.processJson)
}
})
}
if (this.title === '创建峰会') {
this.dialogVisible = true
this.activeName = 'first'
this.activeNameShare = 'second'
this.activeNameFirm = 'three'
}
},
editorReadyEvent(instance) {
const t = this
instance.addListener('contentChange', () => {
console.log(t.activeName)
if (t.activeName === 'first') {
t.form.content = instance.getContent()
}
})
},
editorReadyEventShare(instance) {
const t = this
instance.addListener('contentChange', () => {
if (t.activeNameShare === 'second') {
t.form.actDesc = instance.getContent()
}
})
},
editorReadyEventFirm(instance) {
const t = this
instance.addListener('contentChange', () => {
if (t.activeNameFirm == 'three') {
t.form.companyDesc = instance.getContent()
}
})
},
/**
* 封面图上传进度
* */
uploadProcess(event, file, fileList) {
this.imgFlag = true
this.percent = Math.floor(event.percent)
},
/**
* 封面图上传
* **/
handleAvatarSuccess(res, file) {
this.percent = 0
this.imgFlag = false
this.form.banner = res.data
},
getState(status) {
if (this.$utils.isInteger(status)) {
if (status == 0) {
return '默认'
} else {
return '自定义'
}
}
return ''
},
setSummitDialogEvent(e) {
this.cleanForm()
this.result = e
this.dialogVisible = false
},
addTag() {
const t = {
time: undefined,
content: ''
}
this.processJson.push(t)
},
/**
* 保存修改
*
* */
update1() {
this.dataProcessing()
update(this.form).then(res => {
this.responseResult(res)
})
},
create(formName) {
if (
!this.form.title ||
!this.form.startTime ||
!this.form.endTime
) {
this.$notify({
title: '失败',
message: '必填项不能为空',
type: 'error',
duration: 2000
})
return false
} else {
this.form.endTime = this.form.endTime.getTime()
this.form.startTime = this.form.startTime.getTime()
this.form.bmCloseTime = this.form.bmCloseTime.getTime()
let pic = []
this.form.vehicleImgs.forEach(element => {
pic.push(element.url)
})
this.form.vehicleImgs = pic.join(',')
let demo = []
this.processJson.forEach(element => {
demo.push({
time:
formatDate(element.time, 'yyyy-MM-dd hh') +
':00:00',
content: element.content
})
})
this.form.processJson = demo
getHeaderWithToken() { add(this.form).then(res => {
return { Authorization: getToken() }; this.responseResult(res)
} })
}, this.dataProcessing()
watch: { }
dialogVisible(newValue, oldValue) { },
if (!newValue) { dataProcessing() {
this.$emit("summitDialogEvent", this.result); if (this.form.state === '默认') {
} this.form.status = 0
} }
}, this.form.processJson = JSON.stringify(this.processJson)
methods: { },
getOrderInfo() { /**
this.title = this.titleNme; * 请求结果判断
if (this.title === "编辑峰会") { * */
getOne(this.popupRow.id).then(res => { responseResult(res) {
res.data.state = this.getState(res.data.status); if (res.status === 200) {
res.data.bmCloseTime = res.data.bmCloseTime; this.$notify({
this.form = res.data; title: '成功',
if (res.data.processJson) { message: '操作成功',
this.processJson = JSON.parse(res.data.processJson); type: 'success',
} duration: 2000
this.dialogVisible = true; })
});
}
if (this.title === "创建峰会") {
this.dialogVisible = true;
}
},
editorReadyEvent(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeName == "first") {
t.from.content = instance.getContent();
}
});
},
editorReadyEventShare(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeNameShare == "second") {
t.from.share = instance.getContent();
}
});
},
editorReadyEventFirm(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeNameFirm == "three") {
t.from.contentFirm = instance.getContent();
}
});
},
/**
* 封面图上传进度
* */
uploadProcess(event, file, fileList) {
this.imgFlag = true;
this.percent = Math.floor(event.percent);
},
/**
* 封面图上传
* **/
handleAvatarSuccess(res, file) {
this.percent = 0;
this.imgFlag = false;
this.form.banner = res.data;
},
getState(status) {
if (this.$utils.isInteger(status)) {
if (status == 0) {
return "默认";
} else {
return "自定义";
}
}
return "";
},
setSummitDialogEvent(e) {
this.cleanForm();
this.result = e;
this.dialogVisible = false;
},
addTag() {
let t = {
time: undefined,
content: ""
};
this.processJson.push(t);
},
/**
* 保存修改
*
* */
update1() {
this.dataProcessing();
update(this.form).then(res => {
this.responseResult(res);
});
},
create() {
this.dataProcessing();
add(this.form).then(res => {
this.responseResult(res);
});
},
dataProcessing() {
if (this.form.state === "默认") {
this.form.status = 0;
}
this.form.processJson = JSON.stringify(this.processJson);
},
/**
* 请求结果判断
* */
responseResult(res) {
if (res.status === 200) {
this.$notify({
title: "成功",
message: "操作成功",
type: "success",
duration: 2000
});
this.setSummitDialogEvent(true); this.setSummitDialogEvent(true)
} else { } else {
this.$notify({ this.$notify({
title: "失败", title: '失败',
message: "操作失败!", message: '操作失败!',
type: "error", type: 'error',
duration: 2000 duration: 2000
}); })
} }
}, },
/** /**
* 删除时间 * 删除时间
* */ * */
deleteItem(obj, index) { deleteItem(obj, index) {
this.processJson.splice(index, 1); this.processJson.splice(index, 1)
}, },
/** /**
* 弹框-取消 * 弹框-取消
* */ * */
cancelHandel() { cancelHandel() {
this.setSummitDialogEvent(false); this.setSummitDialogEvent(false)
}, },
cleanForm() { cleanForm() {
this.form = { this.form = {
title: undefined, title: undefined,
banner: undefined, banner: undefined,
startTime: undefined, startTime: undefined,
endTime: undefined, endTime: undefined,
bmCloseTime: undefined, bmCloseTime: undefined,
address: undefined, address: undefined,
longitude: undefined, longitude: undefined,
latitude: undefined, latitude: undefined,
state: "默认", state: '默认',
rid: undefined rid: undefined,
}; content: '', // 峰会主题
} contentFirm: '',
} actDesc: '', // 诚邀莅临
}; companyDesc: '', // 公司简章
vehicleImgs: [] // 房车介绍
}
}
}
}
</script> </script>
<style> <style>
.label-text { .label-text {
margin-left: 10px; margin-left: 10px;
margin-right: 20px; margin-right: 20px;
} }
.label-title { .label-title {
margin-top: 10px; margin-top: 10px;
} }
.orderDetail tr th { .orderDetail tr th {
background: #eef1f6; background: #eef1f6;
} }
.orderDetail tr td, .orderDetail tr td,
.orderDetail tr th { .orderDetail tr th {
width: 500px; width: 500px;
text-align: center; text-align: center;
border: 1px solid #dfe6ec; border: 1px solid #dfe6ec;
margin-left: 100px; margin-left: 100px;
margin-right: 100px; margin-right: 100px;
padding: 10px; padding: 10px;
} }
.label-value { .label-value {
margin-left: 80px; margin-left: 80px;
margin-right: 100px; margin-right: 100px;
} }
#license-img { #license-img {
width: 50px; width: 50px;
height: 50px; height: 50px;
} }
.order-details .el-form-item { .order-details .el-form-item {
margin-bottom: 10px !important; margin-bottom: 10px !important;
} }
.el-dialog__footer .dialog-footer1 { .el-dialog__footer .dialog-footer1 {
position: relative; position: relative;
text-align: center; text-align: center;
} }
.fhjj { .fhjj {
width: 500px; width: 500px;
} }
.content { .content {
margin-left: 4%; margin-left: 4%;
} }
.height { .height {
margin-bottom: 2%; margin-bottom: 2%;
} }
/* . el-form-item__content { /* . el-form-item__content {
...@@ -487,10 +555,10 @@ export default { ...@@ -487,10 +555,10 @@ export default {
} */ } */
.status { .status {
margin-top: 4%; margin-top: 4%;
} }
.steLine .el-row { .steLine .el-row {
margin-bottom: 10px; margin-bottom: 10px;
} }
</style> </style>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="发布人" prop="publisher"> <el-form-item label="发布人" prop="publisher">
<el-input v-model="form.publisher" type="text" placeholder="请输入发布人"></el-input> <el-input v-model="form.publisher" type="text"placeholder="请输入发布人"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
......
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