Commit 19a1ec5f authored by lihui's avatar lihui

Merge branch 'feature/activity' into test

parents 9ed2e448 49660a39
......@@ -96,6 +96,15 @@
</el-card>
</section>
</div>
<div class="button-close">
<el-button
class="button-block"
size="medium"
type="primary"
@click="closePage"
> </el-button
>
</div>
</div>
</template>
......@@ -105,7 +114,6 @@ import { ElMessage } from "element-plus";
import dayJs from "dayjs";
export default {
components: {},
props: {},
data() {
return {
......@@ -132,10 +140,6 @@ export default {
marketing_id: this.$route.query.marketing_id
})
]);
// let data = await ActivityService.checkActivityDetail({
// marketing_id: this.$route.query.marketing_id,
// marketing_type: this.$route.query.marketing_type
// });
this.pageLoading = false;
this.goodsList = dataArr[0].result.goods_list;
......@@ -171,6 +175,8 @@ export default {
this.showTimer = "已结束";
}
},
// 定时器
myTimer() {
let dateNow = dayJs();
this.timer = setInterval(() => {
......@@ -181,6 +187,10 @@ export default {
clearInterval(this.timer);
}
}, 1000);
},
closePage() {
this.$router.go(-1);
}
},
async created() {
......@@ -196,6 +206,7 @@ export default {
.wrapper {
height: 100%;
display: flex;
overflow-y: scroll;
flex-direction: column;
justify-content: flex-start;
align-items: center;
......@@ -287,5 +298,11 @@ export default {
}
}
}
.button-close {
margin: 10px 0 30px;
.button-block {
width: 200px;
}
}
}
</style>
......@@ -228,7 +228,10 @@ export default {
if (dateNow.diff(dayJs(item.start_time)) < 0) {
// 开始时间大于当前时间 return 未开始
activityStatusText = "未开始";
} else if (dayJs(item.end_time).diff(dayJs(item.start_time)) > 0) {
} else if (
dateNow.diff(dayJs(item.start_time)) > 0 &&
dateNow.diff(dayJs(item.end_time)) < 0
) {
// 结束时间大于开始时间 return 进行中
activityStatusText = "进行中";
} else if (dateNow.diff(dayJs(item.end_time)) > 0) {
......@@ -255,7 +258,6 @@ export default {
// 点击活动标题
async handleHeadline(val) {
console.log(val);
this.$router.push({
name: "ActivityDetail",
query: {
......@@ -282,7 +284,8 @@ export default {
handleEnd(val) {
this.storeQuery = {
marketing_id: val.activiteId,
online_status: 2 // 1 启用 2 关闭
online_status: 2, // 1 启用 2 关闭
end_time: dayJs().format("YYYY-MM-DD HH:mm:ss")
};
},
// 开始
......
......@@ -131,7 +131,11 @@
剩余库存:<span>{{ inventoryRest }}</span>
</div>
<br />
<el-form-item label="商家">
<el-form-item
label="商家"
prop="business1"
:rules="[{ required: true, message: '请选择商家' }]"
>
<el-select v-model="commodityForm.business1" placeholder="请选择">
<el-option
v-for="item in businessOpt"
......@@ -390,6 +394,19 @@ export default {
type: "success",
});
this.pindanGoodsMet();
setTimeout(() => {
for (var i in this.comTableData) {
if (this.comTableData[i].goods_sku_id == goodsSkuID) {
this.comTableData.splice(i, 1);
}
}
for (var j in this.comLibTableData) {
if (this.comLibTableData[j].goods_sku_id == goodsSkuID) {
this.comTableData.push(this.comLibTableData[j]);
}
}
},500);
this.addCommodityPopup = false;
} else {
ElMessage.error(res.reason);
......@@ -436,7 +453,6 @@ export default {
message: "添加商品成功",
type: "success",
});
// [res.result.goods_info, ...this.multipleSelection];
this.comTableData.push(res.result.goods_info);
this.addCommodityPopup = false;
} else {
......@@ -491,17 +507,18 @@ export default {
if (this.comTableData.length == 0) {
this.comTableData.push(...this.multipleSelection);
} else {
for (var i in this.comTableData) {
for(var j in this.multipleSelection)
if (
this.comTableData[i].goods_sku_id !=
this.multipleSelection[j].goods_sku_id
) {
continue;
} else {
this.comTableData.push(this.multipleSelection[j]);
}
}
this.multipleSelection.forEach((item) => {
let num = 0;
this.comTableData.some((val) => {
num++;
if (val.goods_sku_id === item.goods_sku_id) {
val.goods_sku_id = item.goods_sku_id;
return true;
} else if (num === this.comTableData.length) {
this.comTableData.push(Object.assign({}, item));
}
});
});
}
},
......
<template>
<div id="map" class="mapContainer">
<!-- map -->
<div class="mapWrapper">
<div class="search">
<el-form-item label-position="left">
<el-button @click="handleSearch">搜索</el-button>
<el-input
class="dialog-input"
v-model="searchKey"
placeholder="请输入关键字"
autocomplete="off"
></el-input>
</el-form-item>
<el-form ref="form" label-width="80px">
<el-form-item label-position="left">
<el-button @click="handleSearch">搜索</el-button>
<el-input
class="dialog-input"
v-model="searchKey"
placeholder="请输入关键字"
autocomplete="on"
>
<template #suffix>
<i
@click="searchKey = ''"
class="el-input__icon el-icon-close"
></i>
</template>
</el-input>
</el-form-item>
</el-form>
<div id="js-result" v-show="searchKey" class="result"></div>
</div>
<div id="js-container" class="myMap">
正在加载数据 ...
</div>
</div>
<!-- info -->
<div class="mapInfo">
<!-- <div class="search" v-if="placeSearch">
<input type="text" placeholder="请输入关键字" v-model="searchKey" />
<button type="button" @click="handleSearch">搜索</button>
<div id="js-result" v-show="searchKey" class="result"></div>
</div> -->
<h3 class="title">拖拽选址</h3>
<ul class="info">
<li><span>经度:</span>{{ dragData.lng }}</li>
......@@ -34,6 +35,10 @@
<li><span>地址:</span>{{ dragData.address }}</li>
</ul>
</div>
<div class="confirmButton">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="confirm">确 定</el-button>
</div>
</div>
</template>
......@@ -43,6 +48,7 @@ export default {
name: "app",
data() {
return {
dialogVisible: true,
MapCityName: "北京",
searchKey: "",
dragData: {
......@@ -56,6 +62,15 @@ export default {
};
},
methods: {
// 取消
cancel() {
this.$emit("hideMapDialog", false);
},
// 确认
confirm() {
this.$emit("getMapInfo", this.dragData);
this.$emit("hideMapDialog", false);
},
// 搜索
handleSearch() {
if (this.searchKey) {
......@@ -75,7 +90,6 @@ export default {
// 初始化地图
initMap() {
let that = this;
// 加载PositionPicker,loadUI的路径参数为模块名中 'ui/' 之后的部分
let AMapUI = (this.AMapUI = window.AMapUI);
let AMap = (this.AMap = window.AMap);
......@@ -144,18 +158,18 @@ export default {
// 创建地图拖拽
let positionPicker = new PositionPicker({
mode: "dragMap", // 设定为拖拽地图模式,可选'dragMap'、'dragMarker',默认为'dragMap'
map: map // 依赖地图对象
map: map, // 依赖地图对象
iconStyle: {
//自定义外观
url: "//webapi.amap.com/ui/1.0/assets/position-picker2.png", //图片地址
size: [50, 50], //要显示的点大小,将缩放图片
ancher: [24, 40] //锚点的位置,即被size缩放之后,图片的什么位置作为选中的位置
}
});
// 拖拽完成发送自定义 drag 事件
positionPicker.on("success", positionResult => {
// 过滤掉初始化地图后的第一次默认拖放
if (!this.dragStatus) {
this.dragStatus = true;
} else {
this.dragMap(positionResult);
that.$emit("getMapInfo", this.dragData);
}
this.dragMap(positionResult);
});
// 启动拖放
positionPicker.start();
......@@ -179,6 +193,15 @@ export default {
</script>
<style lang="less" scoped>
.mapDialog {
margin-top: 11vh !important;
display: flex !important;
flex-direction: column !important;
background: red !important;
/deep/ .el-dialog__body {
height: 90%;
}
}
.mapContainer {
height: 100%;
width: 100%;
......@@ -199,7 +222,7 @@ export default {
}
.myMap {
height: 100%;
height: 500px;
height: 100%;
}
}
.mapInfo {
......@@ -213,6 +236,11 @@ export default {
text-align: left;
}
}
.confirmButton {
position: absolute;
bottom: 100px;
right: 100px;
}
}
.m-map .search {
position: absolute;
......@@ -228,66 +256,4 @@ export default {
padding: 5px;
outline: none;
}
// .g-wraper {
// width: 1000px;
// margin: 0 auto;
// color: #666;
// font-size: 16px;
// line-height: 30px;
// }
// .m-part {
// margin-bottom: 30px;
// }
// .m-part::after {
// content: "";
// display: block;
// clear: both;
// }
// .m-part .title {
// font-size: 30px;
// line-height: 60px;
// margin-bottom: 10px;
// color: #333;
// }
// .m-part .mapbox {
// width: 600px;
// height: 400px;
// margin-bottom: 20px;
// float: left;
// }
// .m-part .info {
// margin: 0;
// padding: 0;
// list-style: none;
// line-height: 30px;
// margin-left: 620px;
// }
// .m-part .info span {
// display: block;
// color: #999;
// }
// .m-part ol {
// line-height: 40px;
// margin-left: 0;
// padding-left: 0;
// }
// .m-part pre {
// padding: 10px 20px;
// line-height: 30px;
// border-radius: 3px;
// box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
// }
// .m-footer {
// background: #eee;
// line-height: 60px;
// text-align: center;
// color: #999;
// font-size: 12px;
// }
// .m-footer a {
// margin: 0 5px;
// color: #999;
// text-decoration: none;
// }
</style>
......@@ -35,7 +35,7 @@
>
<el-card class="card-block">
<p>自提点设置</p>
<el-form ref="form" :model="selfLiftingPoint" label-width="80px">
<el-form ref="form" label-width="80px">
<el-form-item>
<el-input
class="set"
......@@ -166,11 +166,8 @@
placeholder=""
:disabled="true"
></el-input>
<a
href="javascript:;"
style="margin-left: 30px"
@click="mapDialogVisible = true"
>从高德获取坐标</a
<el-button type="primary" @click="mapDialogVisible = true"
>从高德获取坐标</el-button
>
</el-form-item>
<p class="location">{{ form.location }}</p>
......@@ -212,13 +209,11 @@
<!-- 地图 dialog -->
<el-dialog custom-class="mapDialog" v-model="mapDialogVisible" width="100%">
<my-map class="my-map" @getMapInfo="getMapInfo" />
<div class="confirmButton">
<el-button @click="mapDialogVisible = false"> </el-button>
<el-button type="primary" @click="mapDialogVisible = false"
> </el-button
>
</div>
<my-map
class="my-map"
@getMapInfo="getMapInfo"
@hideMapDialog="mapDialogVisible = false"
/>
</el-dialog>
</div>
</template>
......@@ -242,12 +237,13 @@ let checkphone = (rule, value, callback) => {
export default {
data() {
return {
startDate: dayJs(), //开始时间
endDate: dayJs().add(7, "day"), // 结束时间
startDate: dayJs().format("YYYY-MM-DDTHH:mm:ss"), //开始时间
endDate: dayJs()
.add(7, "day")
.format("YYYY-MM-DDTHH:mm:ss"), // 结束时间
pickerOptions: {
disabledDateStart(time) {
let _now = Date.now();
// let three = 3 * 24 * 60 * 60 * 1000;
let threeDays = _now + 3 * 24 * 60 * 60 * 1000;
return time.getTime() < _now || time.getTime() > threeDays; //大于当前的禁止,小于3天前的禁止
},
......@@ -311,11 +307,11 @@ export default {
type: Array,
default: () => []
},
startTime1: {
startTime: {
type: String,
default: ""
},
endTime1: {
endTime: {
type: String,
default: ""
}
......@@ -334,8 +330,8 @@ export default {
if (this.$route.query.marketing_id) {
await this.getPlaceList();
// 时间赋值
this.startDate = this.startTime1;
this.endDate = this.endTime1;
this.startDate = this.startTime;
this.endDate = this.endTime;
this.checkedTakePlacelist = this.setTableListData(
this.spellOrderSetArr
); // 选中的自提点列表
......@@ -409,6 +405,7 @@ export default {
try {
this.pageLoading = true;
await ActivityService.addPlace(params);
await this.getPlaceList();
this.pageLoading = false;
} catch {
this.pageLoading = false;
......@@ -421,7 +418,7 @@ export default {
let result = data.map(item => {
return {
name: item.take_place_name,
location: item.province + item.city + item.area, // p + c + a
location: item.location, // p + c + a
address: item.address,
contactor: item.contact_name,
id: item.take_place_id
......@@ -571,17 +568,14 @@ export default {
justify-content: center;
align-items: center;
}
// mapDialog
.mapDialog {
height: 80%;
margin-top: 10vh !important;
.my-map {
height: 10%;
.el-dialog__body {
height: 85% !important;
}
.confirmButton {
position: absolute;
bottom: 100px;
right: 100px;
.my-map {
height: 100%;
}
}
</style>
......@@ -28,8 +28,8 @@
ref="spellOrderSet"
v-show="active === 3"
:spellOrderSetArr="spellOrderSetArr"
:startTime1="startTime"
:endTime1="endTime"
:startTime="startTime"
:endTime="endTime"
@getTakeTakePlaceListFromChild="getTakeTakePlaceListFromChild"
/>
</div>
......@@ -74,7 +74,9 @@ export default {
spellOrderSetArr: [],
startDate: "", // 开始时间
endDate: "", // 结束时间
takePlaceIDArr: []
takePlaceIDArr: [],
startTime: "",
endTime: ""
};
},
......
......@@ -105,11 +105,10 @@ const routes = [
// 团餐运营
...groupmealRouters
];
console.log(routes);
const router = createRouter({
history: createWebHistory(),
routes
});
export default router;
\ No newline at end of file
export default router;
......@@ -25,8 +25,6 @@ export default createStore({
actions: {
async updateUserPermission({ commit }, payload) {
const { permissions = [] } = await getPermissions(payload.email);
console.log("VUEX action updateUserPermission::", permissions);
commit("updateUserPermission", permissions);
},
async fetchPermission({ commit }, { email, appId }) {
......
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