Commit 634cccdf authored by guoyou's avatar guoyou

查看可用车型,峰会管理,租车设置

parent de9a9209
module.exports = {
NODE_ENV: '"development"',
BASE_API: '"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(小威)
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"'
}
......@@ -74,7 +74,7 @@ export function getStep(orderNo) {
export function inquire(query) {
return fetch({
url: '/vehicle/vehicleInfo/rent/usable-vehicle',
url: '/rent/back-stage/usable-vehicle',
method: 'get',
params:query
});
......
......@@ -294,6 +294,12 @@ export const asyncRouterMap = [{
component: _import('vehicleType/vehicleTypeLabel'),
name: '车型标签设置',
authority: 'vehicleTypeLabel'
},
{
path: 'priceList',
component: _import('vehicleType/priceList'),
name: '租车价格表',
authority: 'priceList'
}
]
},
......@@ -553,10 +559,10 @@ export const asyncRouterMap = [{
authority: 'summit',
children: [
{
path: 'summitList',
component: _import('summit/summitList/index'),
path: 'index',
component: _import('summit/index'),
name: '峰会列表',
authority: 'summitList'
authority: 'index'
}
]
},
......
......@@ -39,7 +39,7 @@
value-format="timestamp"
@change="changeTime"
:picker-options="pickerOptions"
>></el-date-picker>
></el-date-picker>
<el-button
class="filter-item"
......
......@@ -11,13 +11,18 @@
v-model="query.startTime"
type="datetime"
format="yyyy-MM-dd HH"
placeholder="报名截止时间">
</el-date-picker>
placeholder="报名截止时间"
@change="changeTime"
></el-date-picker>
</el-form-item>
<el-form-item label="用户来源">
<el-select class="filter-item" v-model="query.status" placeholder="状态">
<el-option v-for="(val, key, index) in status" :key="val.id" :label="val.name"
:value="val.id"></el-option>
<el-option
v-for="(val,index) in status"
:key="index"
:label="val.name"
:value="val.id"
></el-option>
</el-select>
</el-form-item>
</el-row>
......@@ -25,8 +30,15 @@
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="createSummit">创建峰会</el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row
style="width: 100%">
<el-table
:key="tableKey"
:data="list"
v-loading="listLoading"
border
fit
highlight-current-row
style="width: 100%"
>
<el-table-column align="center" width="150px" label="id">
<template scope="scope">
<span>{{scope.row.id}}</span>
......@@ -39,7 +51,9 @@
</el-table-column>
<el-table-column align="center" width="400" label="开始-结束时间">
<template scope="scope">
<span>{{timestamp2Date(scope.row.startTime)}}</span><span>-</span><span>{{timestamp2Date(scope.row.endTime)}}</span>
<span>{{timestamp2Date(scope.row.startTime)}}</span>
<span>-</span>
<span>{{timestamp2Date(scope.row.endTime)}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="当前状态">
......@@ -49,190 +63,236 @@
</el-table-column>
<el-table-column align="center" label="操作" fixed="right">
<template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" v-if="scope.row.isPublish===1"
@click="viewDetails({id:scope.row.id,isPublish:0})">
取消发布
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if="scope.row.isPublish===0"
@click="viewDetails({id:scope.row.id,isPublish:1})">
发布
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if=""
@click="enrollData(scope.row)">报名信息
</el-button>
<el-button class="el-button el-button--text el-button--small"
size="small" @click="edit(scope.row)">编辑
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if=""
@click="review(scope.row)">回顾页面
</el-button>
<el-button class="el-button el-button--text el-button--small" style="color:red" size="small"
v-if="scope.row.isPublish==0" @click="deleteSummit(scope.row)">删除
</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
v-if="scope.row.isPublish===1"
@click="viewDetails({id:scope.row.id,isPublish:0})"
>取消发布</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
v-if="scope.row.isPublish===0"
@click="viewDetails({id:scope.row.id,isPublish:1})"
>发布</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
v-if
@click="enrollData(scope.row)"
>报名信息</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="applyPage(scope.row)"
>报名页面</el-button>
<el-button
class="el-button el-button--text el-button--small"
size="small"
@click="edit(scope.row)"
>编辑</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
v-if
@click="review(scope.row)"
>回顾页面</el-button>
<el-button
class="el-button el-button--text el-button--small"
style="color:red"
size="small"
v-if="scope.row.isPublish==0"
@click="deleteSummit(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="query.page" :page-sizes="[10,20,30, 50]" :page-size="query.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="query.page"
:page-sizes="[10,20,30, 50]"
:page-size="query.limit"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</div>
<summitPopup v-if="popupShow" :popupRow="popupRow" :titleNme="titleNme" v-on:summitDialogEvent="summitDialogEvent"/>
<enrollDataPopup v-if="enrollShow" :enrollRow="enrollRow" v-on:enrollDialogEvent="enrollDialogEvent"/>
<reviewPopup v-if="reviewShow" :reviewRow="reviewRow" v-on:reviewDialogEvent="reviewDialogEvent"/>
<summitPopup
v-if="popupShow"
:popupRow="popupRow"
:titleNme="titleNme"
v-on:summitDialogEvent="summitDialogEvent"
/>
<enrollDataPopup
v-if="enrollShow"
:enrollRow="enrollRow"
v-on:enrollDialogEvent="enrollDialogEvent"
/>
<reviewPopup
v-if="reviewShow"
:reviewRow="reviewRow"
v-on:reviewDialogEvent="reviewDialogEvent"
/>
<applyPage :applyInfo='applyInfo'></applyPage>
</div>
</template>
<script>
import {mapGetters} from 'vuex';
import {
timestamp2Date
} from 'src/utils/dateUtils';
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 { mapGetters } from "vuex";
import { timestamp2Date } from "src/utils/dateUtils";
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 {getToken} from 'src/utils/auth';
import { getToken } from "src/utils/auth";
export default {
name: "summitList",
components: {
summitPopup,
enrollDataPopup,
reviewPopup
},
data() {
return {
export default {
name: "summitList",
components: {
summitPopup,
enrollDataPopup,
reviewPopup,
applyPage
},
data() {
return {
applyInfo:{
dialogVisible:false,
},
query: {
page: 1,
limit: 10,
title: "",
startTime: "",
status: undefined,
type: 1
},
tableKey: 0,
list: [],
listLoading: true,
status: [
{ id: 0, name: "默认" },
{ id: 1, name: "报名中" },
{ id: 2, name: "进行中" },
{ id: 3, name: "已结束" }
],
total: 0,
inline: true,
popupShow: false,
titleNme: "创建峰会",
popupRow: undefined,
enrollRow: undefined,
enrollShow: false,
reviewRow: undefined,
reviewShow: false,
query: {
page: 1,
limit: 10,
title: '',
startTime: '',
status: undefined,
type:1
},
tableKey: 0,
list: [],
listLoading: true,
status: [
{id: 0, name: '默认'},
{id: 1, name: '报名中'},
{id: 2, name: '进行中'},
{id: 3, name: '已结束'}
],
total: 0,
inline: true,
popupShow: false,
titleNme: '创建峰会',
popupRow: undefined,
enrollRow: undefined,
enrollShow: false,
reviewRow: undefined,
reviewShow: false,
statusNameList: {
1: "默认",
2: "报名中",
3: "进行中",
4: "已结束"
}
};
},
created() {
this.getList();
},
computed: {
...mapGetters(["elements"]),
statusNameList: {
1: '默认',
2: '报名中',
3: '进行中',
4: '已结束'
getHeaderWithToken() {
return { Authorization: getToken() };
}
},
methods: {
//报名页面
applyPage(){
},
getList() {
this.listLoading = true;
page(this.query).then(res => {
this.list = res.data.list;
this.total = res.data.total;
});
setTimeout(() => {
this.listLoading = false;
}, 500);
},
changeTime(val) {
!!val
? (this.query.startTime = Date.now(val))
: this.query.startTime == "";
},
handleFilter() {
this.getList();
},
viewDetails(row) {
update(row).then(res => {
if (res.rel) {
this.$notify.success({
title: "编辑成功",
message: `success`
});
this.getList();
} else {
this.$notify.warning({
title: "编辑失败",
message: `failed`
});
}
}
});
},
created() {
handleSizeChange(val) {
this.query.limit = val;
this.getList();
},
computed: {
...mapGetters([
'elements'
]),
getHeaderWithToken() {
return {Authorization: getToken()};
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
methods: {
getList() {
this.listLoading = true;
page(this.query).then(res => {
this.list = res.data.list;
this.total = res.data.total;
this.listLoading = false;
})
},
handleFilter() {
this.query.startTime=Date.now(this.query.startTime)
this.getList();
},
viewDetails(row) {
update(row).then(res => {
if (res.rel) {
this.$notify.success({
title: '编辑成功',
message: `success`
})
this.getList()
} else {
this.$notify.warning({
title: '编辑失败',
message: `failed`
})
}
})
},
handleSizeChange(val) {
this.query.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.query.page = val;
timestamp2Date(timeStamp) {
return timestamp2Date(timeStamp);
},
enrollData(row) {
this.enrollRow = row;
this.enrollShow = true;
},
edit(row) {
debugger;
this.popupRow = row;
this.titleNme = "编辑峰会";
this.popupShow = true;
},
createSummit() {
this.popupRow = {};
this.titleNme = "创建峰会";
this.popupShow = true;
},
review(row) {
this.reviewRow = row;
this.reviewShow = true;
},
deleteSummit() {},
getStatusName(status) {
return status + 1 ? this.statusNameList[status + 1] : "";
},
summitDialogEvent(e) {
this.popupShow = false;
if (e) {
this.getList();
},
timestamp2Date(timeStamp) {
return timestamp2Date(timeStamp)
},
enrollData(row) {
this.enrollRow = row;
this.enrollShow = true;
},
edit(row) {
debugger
this.popupRow = row;
this.titleNme = '编辑峰会';
this.popupShow = true;
},
createSummit() {
this.popupRow = {};
this.titleNme = '创建峰会';
this.popupShow = true;
},
review(row) {
this.reviewRow = row;
this.reviewShow = true;
},
deleteSummit() {
},
getStatusName(status) {
return (status + 1) ? this.statusNameList[status + 1] : ''
},
summitDialogEvent(e) {
this.popupShow = false
if (e) {
this.getList()
}
},
enrollDialogEvent(e) {
this.enrollShow = false
},
reviewDialogEvent(e) {
this.reviewShow = false
}
},
enrollDialogEvent(e) {
this.enrollShow = false;
},
reviewDialogEvent(e) {
this.reviewShow = false;
}
}
};
</script>
<template>
<el-dialog title="报名页面" :visible.sync="dialogVisible" class="order-details">
<UE
:editorId="activeName"
:defaultMsg="versionRow.content"
:config="config"
ref="ue"
@ready="editorReadyEvent"
></UE>
</el-dialog>
</template>
<script>
import UE from "../../modal/Ueditor"; //百度ue富文本
export default {
props: [],
components: {
UE
},
created() {},
data() {
return {
dialogVisible: true,
activeName: "first",
versionRow: {
content: ""
},
config: {
initialFrameWidth: null,
initialFrameHeight: 350
}
};
},
methods: {
editorReadyEvent(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeName == "first") {
t.versionRow.content = instance.getContent();
}
});
}
}
};
</script>
\ No newline at end of file
......@@ -17,7 +17,7 @@
<el-form-item label="已签到">
<el-select class="filter-item" v-model="query.qdStatus" placeholder="签到状态">
<el-option :key="undefined" label="所有" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in typeList " :key="val.id" :label="val.name"
<el-option v-for="(val,index) in typeList " :key="index" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......
......@@ -11,275 +11,290 @@
: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>
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="8">
<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">
: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>
<!-- <img width="100%" :src="form.picturePath" alt="">-->
<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-col :span="8">
<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 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-row slot="footer" class="dialog-footer1">
</el-row>-->
</el-form>
<div slot="footer" class="dialog-footer1">
<el-button class="button" @click="cancelHandel">取 消</el-button>
<el-button class="button" type="primary" @click="cre">确 定</el-button>
</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 {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,//上传进度
imgFlag: false,
list:[],
form: {
id: undefined,
banner: undefined,
activityId: undefined,
banner: undefined,
videoPath: undefined,
picturePath: undefined,
}
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"]),
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;
});
},
watch: {
dialogVisible(newValue, oldValue) {
if (!newValue) {
this.$emit("reviewDialogEvent", this.result);
}
},
cre() {
console.log(this.form.picturePath);
save(this.form).then(res => {
this.responseResult(res);
});
},
computed: {
...mapGetters([
'elements'
]),
responseResult(res) {
if (res.status === 200) {
this.$notify({
title: "成功",
message: "操作成功",
type: "success",
duration: 2000
});
getHeaderWithToken() {
return {Authorization: getToken()};
},
this.setSummitDialogEvent(true);
} else {
this.$notify({
title: "失败",
message: "操作失败!",
type: "error",
duration: 2000
});
}
},
watch: {
dialogVisible(newValue, oldValue) {
if (!newValue) {
this.$emit("summitDialogEvent", this.result);
}
},
/**
* 弹框-取消
* */
cancelHandel() {
this.setSummitDialogEvent(false);
},
mounted() {
this.getOrderInfo();
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);
},
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
});
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.list.push({url: res.data})
// this.imgDialogVisible = true;
},
cleanForm(){
this.form= {
id: undefined,
banner: undefined,
activityId: undefined,
banner: undefined,
videoPath: undefined,
picturePath: undefined
}
}
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
};
}
}
};
</script>
<style>
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-title {
margin-top: 10px;
}
.label-title {
margin-top: 10px;
}
.orderDetail tr th {
background: #eef1f6;
}
.orderDetail tr th {
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;
}
.orderDetail tr td,
.orderDetail tr th {
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;
}
.label-value {
margin-left: 80px;
margin-right: 100px;
}
#license-img {
width: 50px;
height: 50px;
}
#license-img {
width: 50px;
height: 50px;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
.fhjj {
width: 500px;
}
.fhjj {
width: 500px;
}
.content {
margin-left: 4%;
}
.content {
margin-left: 4%;
}
.height {
margin-bottom: 2%;
}
.height {
margin-bottom: 2%;
}
. el-form-item__content {
margin-left: 5% !important;
}
. el-form-item__content {
margin-left: 5% !important;
}
.status {
margin-top: 4%;
}
.status {
margin-top: 4%;
}
</style>
......@@ -3,8 +3,8 @@
<div>
<el-form :model="form" ref="form" label-width="120px">
<div>
<div><span><h3>基础信息</h3></span></div>
<div>
<!-- <div><span><h3>基础信息</h3></span></div> -->
<div class="steLine">
<el-row>
<el-col :span="12">
<el-form-item label="标题:">
......@@ -22,14 +22,24 @@
: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>
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>
......@@ -42,8 +52,7 @@
type="datetime"
:editable="true"
placeholder="开始时间"
></el-date-picker>
-
></el-date-picker>-
<el-date-picker
v-model="form.endTime"
type="datetime"
......@@ -56,11 +65,7 @@
<el-row>
<el-col :span="9">
<el-form-item label="报名截止时间:">
<el-date-picker
v-model="form.bmCloseTime"
type="datetime"
placeholder="报名截止时间">
</el-date-picker>
<el-date-picker v-model="form.bmCloseTime" type="datetime" placeholder="报名截止时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
......@@ -70,16 +75,27 @@
<el-input v-model="form.address" placeholder="请输入峰会举办地点"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input class=" content" v-model="form.longitude" placeholder="经度"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class=" content">
<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-input class="content" v-model="form.latitude" placeholder="纬度"></el-input>
</el-form-item>
</el-col>
</el-col>-->
</el-row>
<el-row>
<el-col :span="8">
......@@ -108,7 +124,7 @@
</el-row>
</div>
</div>
<div>
<!-- <div>
<div><span><h3>报名页面</h3></span></div>
<div>
<el-row>
......@@ -149,9 +165,8 @@
</el-form-item>
</el-row>
</div>
</div>
</div>-->
</el-form>
</div>
<div slot="footer" class="dialog-footer1">
<el-button class="button" @click="cancelHandel">取 消</el-button>
......@@ -163,262 +178,257 @@
</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';
export default {
props: ["popupShow", "popupRow", "titleNme"],
name: 'summitPopup',
components: {
ElFormItem,
ElCol,
ElInput,
ElRow
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";
export default {
props: ["popupShow", "popupRow", "titleNme"],
name: "summitPopup",
components: {
ElFormItem,
ElCol,
ElInput,
ElRow
},
data() {
return {
dialogVisible: false,
title: "",
BASE_API: process.env.BASE_API,
percent: 0, //上传进度
imgFlag: false,
form: {
title: undefined,
banner: undefined,
startTime: undefined,
endTime: undefined,
bmCloseTime: undefined,
address: undefined,
longitude: undefined,
latitude: undefined,
state: "默认",
rid: undefined
},
result: false,
processJson: []
};
},
mounted() {
this.cleanForm();
this.getOrderInfo();
},
computed: {
...mapGetters(["elements"]),
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;
}
},
/**
* 封面图上传进度
* */
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;
},
data() {
return {
dialogVisible: false,
title: '',
BASE_API: process.env.BASE_API,
percent: 0,//上传进度
imgFlag: false,
form: {
title: undefined,
banner: undefined,
startTime: undefined,
endTime: undefined,
bmCloseTime: undefined,
address: undefined,
longitude: undefined,
latitude: undefined,
state: '默认',
rid: undefined
},
result:false,
processJson: []
getState(status) {
if (this.$utils.isInteger(status)) {
if (status == 0) {
return "默认";
} else {
return "自定义";
}
}
return "";
},
mounted() {
setSummitDialogEvent(e) {
this.cleanForm();
this.getOrderInfo();
this.result = e;
this.dialogVisible = false;
},
computed: {
...mapGetters([
'elements'
]),
getHeaderWithToken() {
return {Authorization: getToken()};
},
addTag() {
let t = {
time: undefined,
content: ""
};
this.processJson.push(t);
},
watch: {
dialogVisible(newValue, oldValue) {
if (!newValue) {
this.$emit("summitDialogEvent",this.result);
}
},
/**
* 保存修改
*
* */
update1() {
this.dataProcessing();
update(this.form).then(res => {
this.responseResult(res);
});
},
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
}
},
/**
* 封面图上传进度
* */
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)
} else {
this.$notify({
title: '失败',
message: '操作失败!',
type: 'error',
duration: 2000
});
}
},
/**
* 删除时间
* */
deleteItem(obj, index) {
debugger
this.processJson.splice(index, 1)
},
/**
* 弹框-取消
* */
cancelHandel() {
this.setSummitDialogEvent(false)
},
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
});
cleanForm() {
this.form = {
title: undefined,
banner: undefined,
startTime: undefined,
endTime: undefined,
bmCloseTime: undefined,
address: undefined,
longitude: undefined,
latitude: undefined,
state: '默认',
rid: undefined
}
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
};
}
}
};
</script>
<style>
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-title {
margin-top: 10px;
}
.label-title {
margin-top: 10px;
}
.orderDetail tr th {
background: #eef1f6;
}
.orderDetail tr th {
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;
}
.orderDetail tr td,
.orderDetail tr th {
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;
}
.label-value {
margin-left: 80px;
margin-right: 100px;
}
#license-img {
width: 50px;
height: 50px;
}
#license-img {
width: 50px;
height: 50px;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
.fhjj {
width: 500px;
}
.fhjj {
width: 500px;
}
.content {
margin-left: 4%;
}
.content {
margin-left: 4%;
}
.height {
margin-bottom: 2%;
}
.height {
margin-bottom: 2%;
}
. el-form-item__content {
margin-left: 5% !important;
}
. el-form-item__content {
margin-left: 5% !important;
}
.status {
margin-top: 4%;
}
.status {
margin-top: 4%;
}
.steLine .el-row{
margin-bottom: 10px;
}
</style>
......@@ -105,7 +105,7 @@
class="demo-ruleForm"
>
<el-form-item label="标题:" prop="title">
<el-input v-model="ruleForm.title"></el-input>
<el-input v-model="ruleForm.title" style="width:350px" placeholder="请输入峰会标题"></el-input>
</el-form-item>
<el-form-item label="封面图:" prop="title">
<el-upload
......@@ -128,20 +128,54 @@
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="报名截止:" prop="title">
<el-date-picker
v-model="ruleForm.value1"
type="datetime"
placeholder="请选择日期时间"
style="width:350px"
></el-date-picker>
</el-form-item>
<el-form-item label="举办地点:" prop="title">
<el-input v-model="ruleForm.title" style="width:350px" placeholder="请输入峰会举办地点"></el-input>
<el-input v-model="ruleForm.title" style="width:100px" placeholder="经度"></el-input>
<el-input v-model="ruleForm.title" style="width:100px" placeholder="纬度"></el-input>
</el-form-item>
<el-form-item label="状态:" prop="title">
<el-radio-group v-model="ruleForm.radio3">
<el-radio-button label="默认"></el-radio-button>
<el-radio-button label="自定义"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="活动id:" prop="title">
<el-input v-model="ruleForm.title" style="width:350px" placeholder="请输入签到/抽奖活动的id"></el-input>
<el-button type="primary">生成二维码</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<el-button @click="bulkUploadMember = false">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<reviewPopup :reviewRow='reviewRow'></reviewPopup>
</div>
</div>
</template>
<script>
import reviewPopup from '../model/reviewPopup';
export default {
components:{
reviewPopup
},
created() {},
data() {
return {
reviewRow:{},
imageUrl: "",
//快捷筛选
listQuery: {
......@@ -154,7 +188,7 @@ export default {
// 表格数据
list: [],
summitTitle: "创建峰会",
bulkUploadMember: true,
bulkUploadMember: false,
ruleForm: {
title: "" //标题
}, //创建峰会表单
......@@ -183,7 +217,7 @@ export default {
cleaningQuery() {},
//创建峰会
creatSummit() {
bulkUploadMember = true;
this.bulkUploadMember = true;
},
//下架
soldOut() {},
......
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<div style="margin-bottom:10px">
<el-button type="primary" @click="dialogVisible = true">通用规则设置</el-button>
<el-button type="primary" @click="enterTo">{{enterTitle}}</el-button>
</div>
<el-dialog title="通用规则设置" :visible.sync="dialogVisible">
<p style="padding-bottom:10px;border-bottom:1px solid #d9d9d9">节假日</p>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-row>
<el-col :span="12">
<el-form-item label="现金支付" prop="name">
<el-input v-model="ruleForm.name" style="width:200px" placeholder="倍/天"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="使用免费天数" prop="name">
<el-input v-model="ruleForm.name" style="width:200px" placeholder="倍/天"></el-input>
</el-form-item>
</el-col>
</el-row>
<div>
<el-button type="primary">确定</el-button>
</div>
</el-form>
</el-dialog>
<div class="month">
<ul>
<!--点击会触发pickpre函数,重新刷新当前日期 @click(vue v-on:click缩写) -->
<li class="arrow" @click="pickPre(currentYear,currentMonth)"></li>
<li class="year-month" @click="pickYear(currentYear,currentMonth)">
<span class="choose-year">{{ currentYear }}</span>
<span class="choose-month">{{ currentMonth }}</span>
</li>
<li class="arrow" @click="pickNext(currentYear,currentMonth)"></li>
</ul>
</div>
<!-- 星期 -->
<ul class="weekdays">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li style="color:red"></li>
<li style="color:red"></li>
</ul>
<!-- 日期 -->
<ul class="days">
<!-- v-for循环 每一次循环用<li>标签创建一天 -->
<li
v-for="(dayobject,index) in days"
:key="index"
:class="{setHeight:setHeight,weekend:new Date(dayobject.day).getDay()+1 == 1 || new Date(dayobject.day).getDay()+1 == 7,setBorder:isSetBorder}"
>
<!--本月-->
<!--如果不是本月 改变类名加灰色-->
<span
v-if="dayobject.day.getMonth()+1 != currentMonth"
class="other-month"
>{{ dayobject.day.getDate() }}</span>
<!--如果是本月 还需要判断是不是这一天-->
<span v-else>
<span
v-if="dayobject.day.getFullYear() == new Date().getFullYear() && dayobject.day.getMonth() == new Date().getMonth() && dayobject.day.getDate() == new Date().getDate()"
class="active"
>{{ dayobject.day.getDate() }}</span>
<span v-else>{{ dayobject.day.getDate() }}</span>
</span>
<p
v-if="new Date(dayobject.day).getDay()+1 == 1 || new Date(dayobject.day).getDay()+1 == 7"
style="color:red"
>两倍</p>
<!--显示剩余多少数量-->
<!-- <p v-if="leftobj[dayobject.index]">
剩余:
<span style="color: red">{{leftobj[dayobject.index].count}}</span>
</p>-->
<!---->
<!-- <button @click="order(dayobject)" v-if="leftobj[dayobject.index]">预定</button> -->
</li>
</ul>
<div style="background:#fff;padding:20px 0;border-top:1px solid red" v-show="isSetBorder == true">
<el-form
:model="setForm"
:rules="setrules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="价格类型" prop="radio1">
<el-radio-group v-model="setForm.radio1">
<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-form-item>
<el-form-item label="应用范围" prop="radio1">
<el-radio-group v-model="setForm.radio1">
<el-radio-button label="全局设置"></el-radio-button>
<el-radio-button label="不同车型不同倍数"></el-radio-button>
<el-radio-button label="0.8倍"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-button style="margin-left:30px" type="primary">确定</el-button>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
setForm: {},
setrules: {},
enterTitle: "进入编辑",
ruleForm: {},
rules: {},
dialogVisible: false,
isSetBorder: false,
setHeight: true,
isWeekend: false,
currentDay: 1,
currentMonth: 1,
currentYear: 1970,
currentWeek: 1,
days: [],
leftobj: [
//存放剩余数量
{ count: 1 },
{ count: 2 },
{ count: 3 },
{ count: 4 },
{ count: 5 }
]
};
},
created: function() {
//在vue初始化时调用
this.initData(null);
},
methods: {
//进入编辑
enterTo() {
if (this.enterTitle == "进入编辑") {
this.isSetBorder = true;
this.enterTitle = "取消编辑";
} else {
this.isSetBorder = false;
this.enterTitle = "进入编辑";
}
},
order: function(day) {
//预定函数
if (this.leftobj[day.index].count >= 1) this.leftobj[day.index].count--;
else alert("已经没有位置了");
},
initData: function(cur) {
var leftcount = 0; //存放剩余数量
var date;
var index = 0; //控制显示预定的天数 ,比如下面设置只能预定三天的
//this.initleftcount(); 每次初始化更新数量
//有两种方案 一种是每次翻页 ajax获取数据初始化 http请求过多会导致资源浪费
// 一种是每次请求 ajax获取数据初始化 数据更新过慢会导致缺少实时性
//还可以setTimeout 定时请求更新数据 实现数据刷新(可能会更好)
if (cur) {
date = new Date(cur);
} else {
var now = new Date();
var d = new Date(this.formatDate(now.getFullYear(), now.getMonth(), 1));
d.setDate(35);
date = new Date(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1));
}
this.currentDay = date.getDate();
this.currentYear = date.getFullYear();
this.currentMonth = date.getMonth() + 1;
this.currentWeek = date.getDay(); // 1...6,0
if (this.currentWeek == 0) {
this.currentWeek = 7;
}
var str = this.formatDate(
this.currentYear,
this.currentMonth,
this.currentDay
);
this.days.length = 0;
// 今天是周日,放在第一行第7个位置,前面6个
//初始化本周
for (var i = this.currentWeek - 1; i >= 0; i--) {
var d = new Date(str);
d.setDate(d.getDate() - i);
var dayobject = {};
dayobject.day = d;
var now = new Date();
if (
d.getDate() === now.getDate() &&
d.getMonth() === now.getMonth() &&
d.getFullYear() === now.getFullYear()
) {
dayobject.index = index++; //从今天开始显示供预定的数量
} else if (index != 0 && index < 3) dayobject.index = index++; //从今天开始3天内显示供预定的数量
this.days.push(dayobject); //将日期放入data 中的days数组 供页面渲染使用
}
//其他周
for (var i = 1; i <= 35 - this.currentWeek; i++) {
var d = new Date(str);
d.setDate(d.getDate() + i);
var dayobject = {};
dayobject.day = d;
var now = new Date();
if (
d.getDate() === now.getDate() &&
d.getMonth() === now.getMonth() &&
d.getFullYear() === now.getFullYear()
) {
dayobject.index = index++;
} else if (index != 0 && index < 3) dayobject.index = index++;
this.days.push(dayobject);
}
},
pickPre: function(year, month) {
// setDate(0); 上月最后一天
// setDate(-1); 上月倒数第二天
// setDate(dx) 参数dx为 上月最后一天的前后dx天
var d = new Date(this.formatDate(year, month, 1));
d.setDate(0);
this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1));
},
pickNext: function(year, month) {
var d = new Date(this.formatDate(year, month, 1));
d.setDate(35);
this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1));
},
pickYear: function(year, month) {
alert(year + "," + month);
},
// 返回 类似 2016-01-02 格式的字符串
formatDate: function(year, month, day) {
var y = year;
var m = month;
if (m < 10) m = "0" + m;
var d = day;
if (d < 10) d = "0" + d;
return y + "-" + m + "-" + d;
}
}
};
</script>
<style>
.setBorder {
border-left: 1px solid red;
border-top: 1px solid red;
}
.setHeight {
height: 120px;
}
.weekend {
color: red !important;
}
* {
box-sizing: border-box;
}
ul {
list-style-type: none;
}
body {
font-family: Verdana, sans-serif;
background: #e8f0f3;
}
#calendar {
width: 80%;
margin: 0 auto;
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.1),
0 1px 5px 0 rgba(0, 0, 0, 0.12);
}
.month {
width: 100%;
background: #20a0ff;
}
.month ul {
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
.year-month {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
}
.year-month:hover {
background: rgba(150, 2, 12, 0.1);
}
.choose-year {
padding-left: 20px;
padding-right: 20px;
}
.choose-month {
text-align: center;
font-size: 1.5rem;
}
.arrow {
padding: 30px;
}
.arrow:hover {
background: rgba(100, 2, 12, 0.1);
}
.month ul li {
color: white;
font-size: 20px;
text-transform: uppercase;
letter-spacing: 3px;
}
.weekdays {
margin: 0;
padding: 10px 0;
background-color: #20a0ff;
display: flex;
flex-wrap: wrap;
color: #ffffff;
justify-content: space-around;
}
.weekdays li {
display: inline-block;
width: 13.6%;
text-align: center;
}
.days {
padding: 0;
background: #ffffff;
margin: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}
.days li {
list-style-type: none;
display: inline-block;
width: 14.2%;
text-align: center;
padding-bottom: 15px;
padding-top: 15px;
font-size: 1rem;
color: #000;
}
.days li .active {
padding: 6px 10px;
border-radius: 50%;
background: #20a0ff;
color: #fff;
}
.days li .other-month {
padding: 5px;
color: gainsboro;
}
.days li:hover {
background: #c0c4cc;
}
</style>
\ No newline at end of file
......@@ -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