Commit 967f4ad0 authored by guoyou's avatar guoyou

峰会,公众号分公司

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