Commit f9d58789 authored by xiaosl's avatar xiaosl

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform-ui into base-modify

parents 6f7ab003 73ec2fb5
module.exports = { module.exports = {
NODE_ENV: '"development"', 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://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(小威)
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
} }
...@@ -67,14 +67,14 @@ export function saveOrderViolation(params) { ...@@ -67,14 +67,14 @@ export function saveOrderViolation(params) {
*/ */
export function getStep(orderNo) { export function getStep(orderNo) {
return fetch({ return fetch({
url: 'api/order/orderVehicle/getByOrderId?orderNo=' + orderNo, url: '/api/order/orderVehicle/getByOrderId?orderNo=' + orderNo,
method: 'get' method: 'get'
}); });
} }
export function inquire(query) { export function inquire(query) {
return fetch({ return fetch({
url: '/vehicle/vehicleInfo/rent/usable-vehicle', url: '/vehicle/vehicleInfo/rent/back-stage/usable-vehicle',
method: 'get', method: 'get',
params:query params:query
}); });
......
...@@ -294,6 +294,12 @@ export const asyncRouterMap = [{ ...@@ -294,6 +294,12 @@ export const asyncRouterMap = [{
component: _import('vehicleType/vehicleTypeLabel'), component: _import('vehicleType/vehicleTypeLabel'),
name: '车型标签设置', name: '车型标签设置',
authority: 'vehicleTypeLabel' authority: 'vehicleTypeLabel'
},
{
path: 'priceList',
component: _import('vehicleType/priceList'),
name: '租车价格表',
authority: 'priceList'
} }
] ]
}, },
...@@ -559,10 +565,10 @@ export const asyncRouterMap = [{ ...@@ -559,10 +565,10 @@ export const asyncRouterMap = [{
authority: 'summit', authority: 'summit',
children: [ children: [
{ {
path: 'summitList', path: 'index',
component: _import('summit/summitList/index'), component: _import('summit/index'),
name: '峰会列表', name: '峰会列表',
authority: 'summitList' authority: 'index'
} }
] ]
}, },
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
value-format="timestamp" value-format="timestamp"
@change="changeTime" @change="changeTime"
:picker-options="pickerOptions" :picker-options="pickerOptions"
>></el-date-picker> ></el-date-picker>
<el-button <el-button
class="filter-item" class="filter-item"
...@@ -248,14 +248,14 @@ export default { ...@@ -248,14 +248,14 @@ export default {
endAddr: this.listQuery.startEndAddr, //还车地点 endAddr: this.listQuery.startEndAddr, //还车地点
endCity: this.listQuery.startAddrCity, //还车城市编号 endCity: this.listQuery.startAddrCity, //还车城市编号
endCityName: this.listQuery.startCityName, //还车城市名称 endCityName: this.listQuery.startCityName, //还车城市名称
endCompanyId: this.listQuery.startCompanyIds, //还车公司id endCompanyId: this.listQuery.endCompanyIds, //还车公司id
endTime: this.listQuery.time[1].getTime(), //结束时间 endTime: this.listQuery.time[1].getTime(), //结束时间
modelId: this.listQuery.modelId, //车型 modelId: this.listQuery.modelId, //车型
startAddr: this.listQuery.endEndAddr, //取车地点 startAddr: this.listQuery.endEndAddr, //取车地点
startCity: this.listQuery.endAddrCity, //取车城市编号 startCity: this.listQuery.endAddrCity, //取车城市编号
startCityName: this.listQuery.endtCityName, //取车城市名称 startCityName: this.listQuery.endtCityName, //取车城市名称
startCompanyId: this.listQuery.endCompanyIds, //出发公司id startCompanyId: this.listQuery.startCompanyIds, //出发公司id
startTime: this.listQuery.time[0].getTime(), //开始时间 startTime: this.listQuery.time[0].getTime(), //开始时间
damageSafe: this.listQuery.damageSafe == "需要" ? 1 : 0, //是否购买免赔 damageSafe: this.listQuery.damageSafe == "需要" ? 1 : 0, //是否购买免赔
......
...@@ -11,13 +11,18 @@ ...@@ -11,13 +11,18 @@
v-model="query.startTime" v-model="query.startTime"
type="datetime" type="datetime"
format="yyyy-MM-dd HH" format="yyyy-MM-dd HH"
placeholder="报名截止时间"> placeholder="报名截止时间"
</el-date-picker> @change="changeTime"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="用户来源"> <el-form-item label="用户来源">
<el-select class="filter-item" v-model="query.status" placeholder="状态"> <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" <el-option
:value="val.id"></el-option> v-for="(val,index) in status"
:key="index"
:label="val.name"
:value="val.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -25,8 +30,15 @@ ...@@ -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="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="createSummit">创建峰会</el-button> <el-button class="filter-item" type="primary" v-waves icon="search" @click="createSummit">创建峰会</el-button>
</div> </div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row <el-table
style="width: 100%"> :key="tableKey"
:data="list"
v-loading="listLoading"
border
fit
highlight-current-row
style="width: 100%"
>
<el-table-column align="center" width="150px" label="id"> <el-table-column align="center" width="150px" label="id">
<template scope="scope"> <template scope="scope">
<span>{{scope.row.id}}</span> <span>{{scope.row.id}}</span>
...@@ -39,7 +51,9 @@ ...@@ -39,7 +51,9 @@
</el-table-column> </el-table-column>
<el-table-column align="center" width="400" label="开始-结束时间"> <el-table-column align="center" width="400" label="开始-结束时间">
<template scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="当前状态"> <el-table-column align="center" label="当前状态">
...@@ -49,86 +63,127 @@ ...@@ -49,86 +63,127 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作" fixed="right"> <el-table-column align="center" label="操作" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" v-if="scope.row.isPublish===1" <el-button
@click="viewDetails({id:scope.row.id,isPublish:0})"> size="small"
取消发布 class="el-button el-button--text el-button--small"
</el-button> v-if="scope.row.isPublish===1"
<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:0})"
@click="viewDetails({id:scope.row.id,isPublish:1})"> >取消发布</el-button>
发布 <el-button
</el-button> size="small"
<el-button size="small" class="el-button el-button--text el-button--small" v-if="" class="el-button el-button--text el-button--small"
@click="enrollData(scope.row)">报名信息 v-if="scope.row.isPublish===0"
</el-button> @click="viewDetails({id:scope.row.id,isPublish:1})"
<el-button class="el-button el-button--text el-button--small" >发布</el-button>
size="small" @click="edit(scope.row)">编辑 <el-button
</el-button> size="small"
<el-button size="small" class="el-button el-button--text el-button--small" v-if="" class="el-button el-button--text el-button--small"
@click="review(scope.row)">回顾页面 v-if
</el-button> @click="enrollData(scope.row)"
<el-button class="el-button el-button--text el-button--small" style="color:red" size="small" >报名信息</el-button>
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"
@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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div v-show="!listLoading" class="pagination-container"> <div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" <el-pagination
:current-page.sync="query.page" :page-sizes="[10,20,30, 50]" :page-size="query.limit" @size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination> @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> </div>
<summitPopup v-if="popupShow" :popupRow="popupRow" :titleNme="titleNme" v-on:summitDialogEvent="summitDialogEvent"/> <summitPopup
<enrollDataPopup v-if="enrollShow" :enrollRow="enrollRow" v-on:enrollDialogEvent="enrollDialogEvent"/> v-if="popupShow"
<reviewPopup v-if="reviewShow" :reviewRow="reviewRow" v-on:reviewDialogEvent="reviewDialogEvent"/> :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> </div>
</template> </template>
<script> <script>
import {mapGetters} from 'vuex'; import { mapGetters } from "vuex";
import { import { timestamp2Date } from "src/utils/dateUtils";
timestamp2Date import { page, update } from "src/api/summit/activity";
} from 'src/utils/dateUtils'; import summitPopup from "src/views/summit/model/summitPopup";
import { import enrollDataPopup from "src/views/summit/model/enrollDataPopup";
page, import reviewPopup from "src/views/summit/model/reviewPopup";
update import applyPage from "src/views/summit/model/applyPage";
} 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 {getToken} from 'src/utils/auth'; import { getToken } from "src/utils/auth";
export default { export default {
name: "summitList", name: "summitList",
components: { components: {
summitPopup, summitPopup,
enrollDataPopup, enrollDataPopup,
reviewPopup reviewPopup,
applyPage
}, },
data() { data() {
return { return {
applyInfo:{
dialogVisible:false,
},
query: { query: {
page: 1, page: 1,
limit: 10, limit: 10,
title: '', title: "",
startTime: '', startTime: "",
status: undefined, status: undefined,
type:1 type: 1
}, },
tableKey: 0, tableKey: 0,
list: [], list: [],
listLoading: true, listLoading: true,
status: [ status: [
{id: 0, name: '默认'}, { id: 0, name: "默认" },
{id: 1, name: '报名中'}, { id: 1, name: "报名中" },
{id: 2, name: '进行中'}, { id: 2, name: "进行中" },
{id: 3, name: '已结束'} { id: 3, name: "已结束" }
], ],
total: 0, total: 0,
inline: true, inline: true,
popupShow: false, popupShow: false,
titleNme: '创建峰会', titleNme: "创建峰会",
popupRow: undefined, popupRow: undefined,
enrollRow: undefined, enrollRow: undefined,
enrollShow: false, enrollShow: false,
...@@ -136,53 +191,61 @@ ...@@ -136,53 +191,61 @@
reviewShow: false, reviewShow: false,
statusNameList: { statusNameList: {
1: '默认', 1: "默认",
2: '报名中', 2: "报名中",
3: '进行中', 3: "进行中",
4: '已结束' 4: "已结束"
}
} }
};
}, },
created() { created() {
this.getList(); this.getList();
}, },
computed: { computed: {
...mapGetters([ ...mapGetters(["elements"]),
'elements'
]),
getHeaderWithToken() { getHeaderWithToken() {
return {Authorization: getToken()}; return { Authorization: getToken() };
}, }
}, },
methods: { methods: {
//报名页面
applyPage(){
this.applyInfo.dialogVisible = true;
},
getList() { getList() {
this.listLoading = true; this.listLoading = true;
page(this.query).then(res => { page(this.query).then(res => {
this.list = res.data.list; this.list = res.data.list;
this.total = res.data.total; this.total = res.data.total;
});
setTimeout(() => {
this.listLoading = false; this.listLoading = false;
}) }, 500);
},
changeTime(val) {
!!val
? (this.query.startTime = Date.now(val))
: this.query.startTime == "";
}, },
handleFilter() { handleFilter() {
this.query.startTime=Date.now(this.query.startTime)
this.getList(); this.getList();
}, },
viewDetails(row) { viewDetails(row) {
update(row).then(res => { update(row).then(res => {
if (res.rel) { if (res.rel) {
this.$notify.success({ this.$notify.success({
title: '编辑成功', title: "编辑成功",
message: `success` message: `success`
}) });
this.getList() this.getList();
} else { } else {
this.$notify.warning({ this.$notify.warning({
title: '编辑失败', title: "编辑失败",
message: `failed` message: `failed`
}) });
} }
}) });
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.query.limit = val; this.query.limit = val;
...@@ -193,46 +256,43 @@ ...@@ -193,46 +256,43 @@
this.getList(); this.getList();
}, },
timestamp2Date(timeStamp) { timestamp2Date(timeStamp) {
return timestamp2Date(timeStamp) return timestamp2Date(timeStamp);
}, },
enrollData(row) { enrollData(row) {
this.enrollRow = row; this.enrollRow = row;
this.enrollShow = true; this.enrollShow = true;
}, },
edit(row) { edit(row) {
debugger // debugger;
this.popupRow = row; this.popupRow = row;
this.titleNme = '编辑峰会'; this.titleNme = "编辑峰会";
this.popupShow = true; this.popupShow = true;
}, },
createSummit() { createSummit() {
this.popupRow = {}; this.popupRow = {};
this.titleNme = '创建峰会'; this.titleNme = "创建峰会";
this.popupShow = true; this.popupShow = true;
}, },
review(row) { review(row) {
this.reviewRow = row; this.reviewRow = row;
this.reviewShow = true; this.reviewShow = true;
}, },
deleteSummit() { deleteSummit() {},
},
getStatusName(status) { getStatusName(status) {
return (status + 1) ? this.statusNameList[status + 1] : '' return status + 1 ? this.statusNameList[status + 1] : "";
}, },
summitDialogEvent(e) { summitDialogEvent(e) {
this.popupShow = false this.popupShow = false;
if (e) { if (e) {
this.getList() this.getList();
} }
}, },
enrollDialogEvent(e) { enrollDialogEvent(e) {
this.enrollShow = false this.enrollShow = false;
}, },
reviewDialogEvent(e) { reviewDialogEvent(e) {
this.reviewShow = false this.reviewShow = false;
}
} }
} }
};
</script> </script>
<template>
<el-dialog title="报名页面" :visible.sync="applyInfo.dialogVisible" class="order-details">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="峰会主题:" prop="name">
<UE
:editorId="activeName"
:defaultMsg="versionRow.content"
:config="config"
ref="ue"
@ready="editorReadyEvent"
></UE>
</el-form-item>
<el-form-item label="诚邀莅临:" prop="name">
<UE
:editorId="activeNameShare"
:defaultMsg="versionRow.share"
:config="config"
ref="ue"
@ready="editorReadyEventShare"
></UE>
</el-form-item>
<el-form-item label="公司简章:" prop="name">
<UE
:editorId="activeNameFirm"
:defaultMsg="versionRow.contentFirm"
:config="config"
ref="ue"
@ready="editorReadyEventFirm"
></UE>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script>
import UE from "../../modal/Ueditor"; //百度ue富文本
export default {
applyInfo: {
handler: function(val, oldval) {
console.log(val);
console.log(oldval);
},
deep: true //对象内部的属性监听,也叫深度监听
},
props: {
applyInfo: Object
},
components: {
UE
},
created() {},
data() {
return {
rules: {},
ruleForm: {},
dialogVisible: false,
activeName: "first",
activeNameShare: "second",
activeNameFirm: "three",
versionRow: {
content: "",
share: "",
contentFirm: ""
},
config: {
initialFrameWidth: null,
initialFrameHeight: 350
}
};
},
methods: {
editorReadyEvent(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeName == "first") {
t.versionRow.content = instance.getContent();
}
});
},
editorReadyEventShare(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeNameShare == "second") {
t.versionRow.share = instance.getContent();
}
});
},
editorReadyEventFirm(instance) {
let t = this;
instance.addListener("contentChange", () => {
if (t.activeNameFirm == "three") {
t.versionRow.contentFirm = instance.getContent();
}
});
}
}
};
</script>
\ No newline at end of file
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<el-form-item label="已签到"> <el-form-item label="已签到">
<el-select class="filter-item" v-model="query.qdStatus" placeholder="签到状态"> <el-select class="filter-item" v-model="query.qdStatus" placeholder="签到状态">
<el-option :key="undefined" label="所有" :value="undefined"></el-option> <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> :value="val.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
......
...@@ -11,73 +11,94 @@ ...@@ -11,73 +11,94 @@
: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 v-show="imgFlag == true" type="circle" :percentage="percent" >
style="margin-top: 20px"></el-progress> <el-progress
<img v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag" 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" :src="form.banner"
style="width:300px;max-height:300px;"> 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> <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-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <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/admin/upload'"
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"
>
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
<!-- <img width="100%" :src="form.picturePath" alt="">--> <!-- <img width="100%" :src="form.picturePath" alt="">-->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-col :span="8"> <el-row>
<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/admin/upload'"
list-type="picture-card" list-type="picture-card"
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:on-preview="handlePreview" :on-preview="handlePreview"
:on-remove="handleRemove"> :on-remove="handleRemove"
>
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
<video v-if="$utils.isString(form.videoPath) && !$utils.isEmpty(form.videoPath) && !imgFlag" <video
v-if="$utils.isString(form.videoPath) && !$utils.isEmpty(form.videoPath) && !imgFlag"
:src="form.videoPath" :src="form.videoPath"
style="width:300px;max-height:300px;"/> 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> <!-- <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-form-item>
</el-col> </el-col>
</el-form> <el-col>
<div slot="footer" class="dialog-footer1"> <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>
</div> </el-form-item>
</el-col>
</el-row>
<!-- <el-row slot="footer" class="dialog-footer1">
</el-row>-->
</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 { import { one, save } from "src/api/summit/activityShow";
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,
...@@ -88,80 +109,75 @@ ...@@ -88,80 +109,75 @@
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, //上传进度
imgFlag: false, 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([ ...mapGetters(["elements"]),
'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() { getOrderInfo() {
one(this.reviewRow.id).then(res => { one(this.reviewRow.id).then(res => {
this.form=res.data this.form = res.data;
this.dialogVisible=true this.dialogVisible = true;
this.imgDialogVisible=true; this.imgDialogVisible = true;
}) });
}, },
cre() { cre() {
console.log(this.form.picturePath) console.log(this.form.picturePath);
save(this.form).then(res => { save(this.form).then(res => {
this.responseResult(res) this.responseResult(res);
}) });
}, },
responseResult(res) { responseResult(res) {
if (res.status === 200) { if (res.status === 200) {
this.$notify({ this.$notify({
title: '成功', title: "成功",
message: '操作成功', message: "操作成功",
type: 'success', type: "success",
duration: 2000 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
}); });
} }
...@@ -170,13 +186,12 @@ ...@@ -170,13 +186,12 @@
* 弹框-取消 * 弹框-取消
* */ * */
cancelHandel() { cancelHandel() {
this.setSummitDialogEvent(false) this.setSummitDialogEvent(false);
}, },
setSummitDialogEvent(e) { setSummitDialogEvent(e) {
this.cleanForm(); this.cleanForm();
this.result = e this.result = e;
this.dialogVisible = false this.dialogVisible = false;
}, },
/** /**
* 封面图上传 * 封面图上传
...@@ -194,8 +209,7 @@ ...@@ -194,8 +209,7 @@
this.percent = Math.floor(event.percent); this.percent = Math.floor(event.percent);
}, },
handlePreview(file) { handlePreview(file) {
this.form.videoPath = file.data;
this.form.videoPath=file.data
this.imgDialogVisible = true; this.imgDialogVisible = true;
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
...@@ -203,83 +217,84 @@ ...@@ -203,83 +217,84 @@
console.log(file, fileList); console.log(file, fileList);
}, },
handlePictureCardPreview(res,file) { handlePictureCardPreview(res, file) {
this.list.push({url: res.data}) this.list.push({ url: res.data });
// this.imgDialogVisible = true; // this.imgDialogVisible = true;
}, },
cleanForm(){ cleanForm() {
this.form= { this.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
};
} }
} }
} };
}
</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 th { .orderDetail tr td,
.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>
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div> <div>
<el-form :model="form" ref="form" label-width="120px"> <el-form :model="form" ref="form" label-width="120px">
<div> <div>
<div><span><h3>基础信息</h3></span></div> <!-- <div><span><h3>基础信息</h3></span></div> -->
<div> <div class="steLine">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="标题:"> <el-form-item label="标题:">
...@@ -22,14 +22,24 @@ ...@@ -22,14 +22,24 @@
: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 v-show="imgFlag == true" type="circle" :percentage="percent" >
style="margin-top: 20px"></el-progress> <el-progress
<img v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag" 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" :src="form.banner"
style="width:300px;max-height:300px;"> 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> <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-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -42,8 +52,7 @@ ...@@ -42,8 +52,7 @@
type="datetime" type="datetime"
:editable="true" :editable="true"
placeholder="开始时间" placeholder="开始时间"
></el-date-picker> ></el-date-picker>-
-
<el-date-picker <el-date-picker
v-model="form.endTime" v-model="form.endTime"
type="datetime" type="datetime"
...@@ -56,11 +65,7 @@ ...@@ -56,11 +65,7 @@
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="报名截止时间:"> <el-form-item label="报名截止时间:">
<el-date-picker <el-date-picker v-model="form.bmCloseTime" type="datetime" placeholder="报名截止时间"></el-date-picker>
v-model="form.bmCloseTime"
type="datetime"
placeholder="报名截止时间">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -70,16 +75,27 @@ ...@@ -70,16 +75,27 @@
<el-input v-model="form.address" placeholder="请输入峰会举办地点"></el-input> <el-input v-model="form.address" placeholder="请输入峰会举办地点"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-form-item style="display:inline-block;margin-left:-120px">
<el-form-item> <el-input
<el-input class=" content" v-model="form.longitude" placeholder="经度"></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-col :span="6" class=" content"> <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">
...@@ -108,7 +124,7 @@ ...@@ -108,7 +124,7 @@
</el-row> </el-row>
</div> </div>
</div> </div>
<div> <!-- <div>
<div><span><h3>报名页面</h3></span></div> <div><span><h3>报名页面</h3></span></div>
<div> <div>
<el-row> <el-row>
...@@ -149,9 +165,8 @@ ...@@ -149,9 +165,8 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
</div> </div>
</div> </div>-->
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer1"> <div slot="footer" class="dialog-footer1">
<el-button class="button" @click="cancelHandel">取 消</el-button> <el-button class="button" @click="cancelHandel">取 消</el-button>
...@@ -163,20 +178,16 @@ ...@@ -163,20 +178,16 @@
</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 { import { getOne, update, add } from "src/api/summit/activity";
getOne, import { getToken } from "src/utils/auth";
update, import { mapGetters } from "vuex";
add export default {
} from 'src/api/summit/activity';
import {getToken} from 'src/utils/auth';
import {mapGetters} from 'vuex';
export default {
props: ["popupShow", "popupRow", "titleNme"], props: ["popupShow", "popupRow", "titleNme"],
name: 'summitPopup', name: "summitPopup",
components: { components: {
ElFormItem, ElFormItem,
ElCol, ElCol,
...@@ -186,9 +197,9 @@ ...@@ -186,9 +197,9 @@
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
title: '', title: "",
BASE_API: process.env.BASE_API, BASE_API: process.env.BASE_API,
percent: 0,//上传进度 percent: 0, //上传进度
imgFlag: false, imgFlag: false,
form: { form: {
title: undefined, title: undefined,
...@@ -199,12 +210,12 @@ ...@@ -199,12 +210,12 @@
address: undefined, address: undefined,
longitude: undefined, longitude: undefined,
latitude: undefined, latitude: undefined,
state: '默认', state: "默认",
rid: undefined rid: undefined
}, },
result:false, result: false,
processJson: [] processJson: []
} };
}, },
mounted() { mounted() {
...@@ -212,37 +223,35 @@ ...@@ -212,37 +223,35 @@
this.getOrderInfo(); this.getOrderInfo();
}, },
computed: { computed: {
...mapGetters([ ...mapGetters(["elements"]),
'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);
}
} }
},
}, },
methods: { methods: {
getOrderInfo() { getOrderInfo() {
this.title = this.titleNme this.title = this.titleNme;
if (this.title === "编辑峰会") { if (this.title === "编辑峰会") {
getOne(this.popupRow.id).then(res => { getOne(this.popupRow.id).then(res => {
res.data.state = this.getState(res.data.status) res.data.state = this.getState(res.data.status);
res.data.bmCloseTime=res.data.bmCloseTime res.data.bmCloseTime = res.data.bmCloseTime;
this.form = res.data this.form = res.data;
if (res.data.processJson) { if (res.data.processJson) {
this.processJson = JSON.parse(res.data.processJson) this.processJson = JSON.parse(res.data.processJson);
} }
this.dialogVisible = true this.dialogVisible = true;
}) });
} }
if (this.title === "创建峰会") { if (this.title === "创建峰会") {
this.dialogVisible = true this.dialogVisible = true;
} }
}, },
/** /**
...@@ -263,22 +272,22 @@ ...@@ -263,22 +272,22 @@
getState(status) { getState(status) {
if (this.$utils.isInteger(status)) { if (this.$utils.isInteger(status)) {
if (status == 0) { if (status == 0) {
return '默认' return "默认";
} else { } else {
return '自定义' return "自定义";
} }
} }
return '' return "";
}, },
setSummitDialogEvent(e) { setSummitDialogEvent(e) {
this.cleanForm(); this.cleanForm();
this.result=e this.result = e;
this.dialogVisible = false this.dialogVisible = false;
}, },
addTag() { addTag() {
let t = { let t = {
time: undefined, time: undefined,
content: '' content: ""
}; };
this.processJson.push(t); this.processJson.push(t);
}, },
...@@ -287,24 +296,22 @@ ...@@ -287,24 +296,22 @@
* *
* */ * */
update1() { update1() {
this.dataProcessing();
this.dataProcessing()
update(this.form).then(res => { update(this.form).then(res => {
this.responseResult(res) this.responseResult(res);
});
})
}, },
create() { create() {
this.dataProcessing() this.dataProcessing();
add(this.form).then(res => { add(this.form).then(res => {
this.responseResult(res) this.responseResult(res);
}) });
}, },
dataProcessing() { dataProcessing() {
if (this.form.state === '默认') { if (this.form.state === "默认") {
this.form.status = 0; this.form.status = 0;
} }
this.form.processJson = JSON.stringify(this.processJson) this.form.processJson = JSON.stringify(this.processJson);
}, },
/** /**
* 请求结果判断 * 请求结果判断
...@@ -312,18 +319,18 @@ ...@@ -312,18 +319,18 @@
responseResult(res) { responseResult(res) {
if (res.status === 200) { if (res.status === 200) {
this.$notify({ this.$notify({
title: '成功', title: "成功",
message: '操作成功', message: "操作成功",
type: 'success', type: "success",
duration: 2000 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
}); });
} }
...@@ -332,14 +339,13 @@ ...@@ -332,14 +339,13 @@
* 删除时间 * 删除时间
* */ * */
deleteItem(obj, index) { deleteItem(obj, index) {
debugger this.processJson.splice(index, 1);
this.processJson.splice(index, 1)
}, },
/** /**
* 弹框-取消 * 弹框-取消
* */ * */
cancelHandel() { cancelHandel() {
this.setSummitDialogEvent(false) this.setSummitDialogEvent(false);
}, },
cleanForm() { cleanForm() {
...@@ -352,73 +358,77 @@ ...@@ -352,73 +358,77 @@
address: undefined, address: undefined,
longitude: undefined, longitude: undefined,
latitude: undefined, latitude: undefined,
state: '默认', state: "默认",
rid: undefined rid: 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 th { .orderDetail tr td,
.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%;
} }
.steLine .el-row{
margin-bottom: 10px;
}
</style> </style>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
class="demo-ruleForm" class="demo-ruleForm"
> >
<el-form-item label="标题:" prop="title"> <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>
<el-form-item label="封面图:" prop="title"> <el-form-item label="封面图:" prop="title">
<el-upload <el-upload
...@@ -128,20 +128,54 @@ ...@@ -128,20 +128,54 @@
end-placeholder="结束日期" end-placeholder="结束日期"
></el-date-picker> ></el-date-picker>
</el-form-item> </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-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button> <el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<el-button @click="bulkUploadMember = false">取消</el-button> <el-button @click="bulkUploadMember = false">取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
<reviewPopup :reviewRow='reviewRow'></reviewPopup>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import reviewPopup from '../model/reviewPopup';
export default { export default {
components:{
reviewPopup
},
created() {}, created() {},
data() { data() {
return { return {
reviewRow:{},
imageUrl: "", imageUrl: "",
//快捷筛选 //快捷筛选
listQuery: { listQuery: {
...@@ -154,7 +188,7 @@ export default { ...@@ -154,7 +188,7 @@ export default {
// 表格数据 // 表格数据
list: [], list: [],
summitTitle: "创建峰会", summitTitle: "创建峰会",
bulkUploadMember: true, bulkUploadMember: false,
ruleForm: { ruleForm: {
title: "" //标题 title: "" //标题
}, //创建峰会表单 }, //创建峰会表单
...@@ -183,7 +217,7 @@ export default { ...@@ -183,7 +217,7 @@ export default {
cleaningQuery() {}, cleaningQuery() {},
//创建峰会 //创建峰会
creatSummit() { creatSummit() {
bulkUploadMember = true; this.bulkUploadMember = true;
}, },
//下架 //下架
soldOut() {}, soldOut() {},
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item> <el-form-item label="开始时间">
<el-date-picker <el-date-picker
v-model="listQuery.startTime" v-model="listQuery.startTime"
type="date" type="date"
...@@ -32,6 +32,18 @@ ...@@ -32,6 +32,18 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5" >
<el-form-item label="结束时间">
<el-date-picker
v-model="listQuery.endTime"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="endTime"
placeholder="请选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-button class="filter-item" type="primary" @click="handlerSearch"> <el-button class="filter-item" type="primary" @click="handlerSearch">
...@@ -123,7 +135,8 @@ ...@@ -123,7 +135,8 @@
return { return {
listQuery: { listQuery: {
type: null, type: null,
startTime: new Date() startTime: new Date(),
endTime:new Date()
}, },
tableKey: 0, tableKey: 0,
typeList: [ typeList: [
...@@ -144,7 +157,8 @@ ...@@ -144,7 +157,8 @@
}, },
methods: { methods: {
handlerSearch() { handlerSearch() {
this.listQuery.startTime = getYMD_date(this.listQuery.startTime); this.listQuery.startTime = getYMD_date(new Date(this.listQuery.startTime));
this.listQuery.endTime = getYMD_date(new Date(this.listQuery.endTime));
get(this.listQuery).then(response => { get(this.listQuery).then(response => {
if (response.status === 200) { if (response.status === 200) {
this.list = response.data this.list = response.data
...@@ -220,7 +234,6 @@ ...@@ -220,7 +234,6 @@
window.location.href="https://"+domain+"/vehicle/vehicleCount/app/unauth/download?path="+fileName; window.location.href="https://"+domain+"/vehicle/vehicleCount/app/unauth/download?path="+fileName;
}) })
}, },
} }
} }
</script> </script>
<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-group>
<el-input v-model="setForm.input" placeholder="请输入倍数" style="width:100px;"></el-input>
</el-form-item>
<el-button style="margin-left:30px" type="primary">确定</el-button>
</el-form>
</div>
<el-dialog title="倍数详情" :visible.sync="multiplePop">
</el-dialog>
</div>
</div>
</template>
<script>
export default {
data() {
return {
multiplePop: false,
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 @@ ...@@ -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