商户时间段选择
This commit is contained in:
parent
f4c2333170
commit
dc238fd990
|
@ -9,7 +9,6 @@ if (localStorage.getItem("TRADE_USER")) {
|
||||||
let userInfo = JSON.parse(localStorage.getItem('TRADE_USER'))
|
let userInfo = JSON.parse(localStorage.getItem('TRADE_USER'))
|
||||||
areaStroe.changeUserInfo(userInfo)
|
areaStroe.changeUserInfo(userInfo)
|
||||||
let { area_code, street_code } = userInfo.user
|
let { area_code, street_code } = userInfo.user
|
||||||
console.log(area_code,45454)
|
|
||||||
areaStroe.changeArea({ areaCode: area_code, streetCode: street_code })
|
areaStroe.changeArea({ areaCode: area_code, streetCode: street_code })
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<Transition>
|
<Transition>
|
||||||
<div class="address" v-if="props.choseArea">
|
<div class="address" v-if="props.choseArea">
|
||||||
|
|
||||||
<div class="address-li" @click="choseAreaFn">龙马谭区 </div>
|
<div class="address-li" @click="choseAreaFn">泸县 </div>
|
||||||
|
|
||||||
<div class="address-li" @click="choseTownFn(item.code, item.name)" v-for="( item, index ) in areaList ">{{
|
<div class="address-li" @click="choseTownFn(item.code, item.name)" v-for="( item, index ) in areaList ">{{
|
||||||
item.name }}
|
item.name }}
|
||||||
|
@ -12,18 +12,14 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { defineProps, defineEmits, onMounted, reactive } from "vue"
|
import { defineProps, defineEmits, onMounted, reactive,watch } from "vue"
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter,useRoute } from 'vue-router'
|
||||||
import { areaObj } from '@/store/index.js'
|
import { areaObj } from '@/store/index.js'
|
||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
|
const route=useRoute
|
||||||
|
|
||||||
let areaStore = areaObj()
|
let areaStore = areaObj()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const emit = defineEmits(['offAreaList'])
|
const emit = defineEmits(['offAreaList'])
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
|
@ -12,9 +12,25 @@
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import localeZH from 'element-plus/es/locale/lang/zh-cn'
|
import localeZH from 'element-plus/es/locale/lang/zh-cn'
|
||||||
|
|
||||||
const date = ref(["2023-12-13T16:00:00.000Z",
|
import { areaObj } from "@/store/index.js"
|
||||||
"2024-01-16T16:00:00.000Z"])
|
const areaStore = areaObj()
|
||||||
const changeDate = () => {
|
|
||||||
|
|
||||||
|
// 将时间对象转化为年月日
|
||||||
|
const getTime = (time) => {
|
||||||
|
var date =time
|
||||||
|
var year = date.getFullYear();
|
||||||
|
var month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||||||
|
var day = date.getDate().toString().padStart(2, '0');
|
||||||
|
|
||||||
|
var formattedDate = year + '-' + month + '-' + day;
|
||||||
|
|
||||||
|
return formattedDate
|
||||||
|
}
|
||||||
|
|
||||||
|
const date = ref([areaStore.time[0], areaStore.time[1]])
|
||||||
|
const changeDate = (e) => {
|
||||||
|
areaStore.changeTime([getTime(e[0]),getTime(e[1])])
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<datePicker></datePicker>
|
<datePicker ></datePicker>
|
||||||
<div class="rigth-li" @click="choseAreaFn"> <img style="width: 1VW;height:1VW;margin-right: 0.5vw;"
|
<div class="rigth-li" @click="choseAreaFn"> <img style="width: 1VW;height:1VW;margin-right: 0.5vw;"
|
||||||
:src="u('DW')" alt=""> {{ area }}
|
:src="u('DW')" alt=""> {{ area }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -61,12 +61,12 @@
|
||||||
<span></span>
|
<span></span>
|
||||||
<span></span>
|
<span></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="rigth-li" id="time">15:33:26</div>
|
<div class="rigth-li" id="time" v-show="route.path != '/storeLogin'">15:33:26</div>
|
||||||
<div class="right-line"> <span></span>
|
<div class="right-line" v-if="route.path != '/storeLogin'"> <span></span>
|
||||||
<span></span>
|
<span></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="rigth-li" id="days">2023-11-28</div>
|
<div class="rigth-li" id="days" v-show="route.path != '/storeLogin'">2023-11-28</div>
|
||||||
<div class="right-line">
|
<div class="right-line" v-if="route.path != '/storeLogin'">
|
||||||
<span></span>
|
<span></span>
|
||||||
<span></span>
|
<span></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,6 +2,38 @@ import {
|
||||||
defineStore
|
defineStore
|
||||||
} from 'pinia'
|
} from 'pinia'
|
||||||
|
|
||||||
|
const lastMouth = () => {
|
||||||
|
var thirtyDaysAgo = new Date();
|
||||||
|
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30); // 设置为30天前的日期
|
||||||
|
|
||||||
|
var year = thirtyDaysAgo.getFullYear();
|
||||||
|
var month = thirtyDaysAgo.getMonth() + 1; // 月份从0开始,需要加1
|
||||||
|
var day = thirtyDaysAgo.getDate();
|
||||||
|
|
||||||
|
// 格式化为字符串,如果需要补0可以使用padStart函数
|
||||||
|
var formattedDate = year + '-' + month.toString().padStart(2, '0') + '-' + day.toString().padStart(2, '0');
|
||||||
|
|
||||||
|
|
||||||
|
return formattedDate
|
||||||
|
|
||||||
|
}
|
||||||
|
const now = () => {
|
||||||
|
// 创建一个新的Date对象,表示当前日期和时间
|
||||||
|
var today = new Date();
|
||||||
|
|
||||||
|
// 获取年、月、日
|
||||||
|
var year = today.getFullYear();
|
||||||
|
var month = today.getMonth() + 1; // 月份从0开始,需要加1
|
||||||
|
var day = today.getDate();
|
||||||
|
|
||||||
|
// 格式化为字符串
|
||||||
|
var formattedDate = year + "-" + month + "-" + day;
|
||||||
|
return formattedDate
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
export const areaObj = defineStore('counter', {
|
export const areaObj = defineStore('counter', {
|
||||||
state: () => ({
|
state: () => ({
|
||||||
userInfo: {},
|
userInfo: {},
|
||||||
|
@ -11,6 +43,7 @@ export const areaObj = defineStore('counter', {
|
||||||
// streetCode: 51052410
|
// streetCode: 51052410
|
||||||
|
|
||||||
},
|
},
|
||||||
|
time: [lastMouth(), now()],
|
||||||
// 商户请求的参数
|
// 商户请求的参数
|
||||||
store: {
|
store: {
|
||||||
areaCode: "",
|
areaCode: "",
|
||||||
|
@ -36,6 +69,9 @@ export const areaObj = defineStore('counter', {
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
changeTime(times) {
|
||||||
|
this.time = times
|
||||||
|
},
|
||||||
storeLogin(obj) {
|
storeLogin(obj) {
|
||||||
this.userInfo.user = obj
|
this.userInfo.user = obj
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<Header></Header>
|
<Header></Header>
|
||||||
<router-view></router-view>
|
<router-view :key="route.path"></router-view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import Header from "@/components/Header.vue"
|
import Header from "@/components/Header.vue"
|
||||||
|
import { useRoute } from "vue-router";
|
||||||
|
const route =useRoute()
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -148,7 +148,7 @@
|
||||||
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, onMounted } from "vue"
|
import { ref, reactive, onMounted, watch } from "vue"
|
||||||
import { merchant_count_mainApi, merchant_product_rankingApi, merchant_product_visitApi, merchant_product_cartApi, } from "@/api.js"
|
import { merchant_count_mainApi, merchant_product_rankingApi, merchant_product_visitApi, merchant_product_cartApi, } from "@/api.js"
|
||||||
import { areaObj } from "../store";
|
import { areaObj } from "../store";
|
||||||
|
|
||||||
|
@ -174,7 +174,6 @@ if (areaStore.userInfo.user?.merchant) {
|
||||||
|
|
||||||
if (userInfo.user?.merchant) {
|
if (userInfo.user?.merchant) {
|
||||||
let { area_id, mer_id, street_id } = userInfo.user.merchant
|
let { area_id, mer_id, street_id } = userInfo.user.merchant
|
||||||
console.log(area_id, 5645545)
|
|
||||||
query = {
|
query = {
|
||||||
areaCode: area_id,
|
areaCode: area_id,
|
||||||
streetCode: street_id,
|
streetCode: street_id,
|
||||||
|
@ -249,30 +248,39 @@ const data = reactive(
|
||||||
let total1 = ''
|
let total1 = ''
|
||||||
let total2 = ''
|
let total2 = ''
|
||||||
let total3 = ''
|
let total3 = ''
|
||||||
merchant_product_rankingApi(
|
|
||||||
{ ...query, start_date: '2020-12-18', end_date: '2023-12-18' }
|
|
||||||
).then(res => {
|
|
||||||
total1 = res.data.totalCount
|
|
||||||
addData1(res.data.list)
|
|
||||||
})
|
|
||||||
|
|
||||||
merchant_product_visitApi(
|
|
||||||
{ ...query, start_date: '2020-12-18', end_date: '2023-12-18' }
|
|
||||||
|
|
||||||
).then(res => {
|
|
||||||
total2 = res.data.totalCount
|
|
||||||
addData2(res.data.list)
|
|
||||||
|
|
||||||
})
|
|
||||||
merchant_product_cartApi(
|
|
||||||
{ ...query, start_date: '2020-01-01', end_date: '2023-12-18' }
|
|
||||||
).then(res => {
|
|
||||||
total3 = res.data.totalCount
|
|
||||||
addData3(res.data.list)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
const init = () => {
|
||||||
|
merchant_product_rankingApi(
|
||||||
|
{ ...query, start_date: areaStore.time[0], end_date: areaStore.time[1] }
|
||||||
|
).then(res => {
|
||||||
|
total1 = res.data.totalCount
|
||||||
|
addData1(res.data.list)
|
||||||
|
})
|
||||||
|
|
||||||
|
merchant_product_visitApi(
|
||||||
|
{ ...query, start_date: areaStore.time[0], end_date: areaStore.time[1] }
|
||||||
|
|
||||||
|
).then(res => {
|
||||||
|
total2 = res.data.totalCount
|
||||||
|
addData2(res.data.list)
|
||||||
|
|
||||||
|
})
|
||||||
|
merchant_product_cartApi(
|
||||||
|
{ ...query, start_date: areaStore.time[0], end_date: areaStore.time[1] }
|
||||||
|
).then(res => {
|
||||||
|
total3 = res.data.totalCount
|
||||||
|
addData3(res.data.list)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
init()
|
||||||
|
|
||||||
const addData1 = (data) => {
|
const addData1 = (data) => {
|
||||||
|
config1.data.splice(0,99999999)
|
||||||
data.forEach((item, i) => {
|
data.forEach((item, i) => {
|
||||||
config1.data.push(
|
config1.data.push(
|
||||||
[
|
[
|
||||||
|
@ -291,6 +299,8 @@ const addData1 = (data) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
const addData2 = (data) => {
|
const addData2 = (data) => {
|
||||||
|
config2.data.splice(0,99999999)
|
||||||
|
|
||||||
data.forEach((item, i) => {
|
data.forEach((item, i) => {
|
||||||
config2.data.push(
|
config2.data.push(
|
||||||
[
|
[
|
||||||
|
@ -309,6 +319,8 @@ const addData2 = (data) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
const addData3 = (data) => {
|
const addData3 = (data) => {
|
||||||
|
|
||||||
|
config3.data.splice(0,99999999)
|
||||||
data.forEach((item, i) => {
|
data.forEach((item, i) => {
|
||||||
config3.data.push(
|
config3.data.push(
|
||||||
[
|
[
|
||||||
|
@ -337,8 +349,17 @@ merchant_count_mainApi(
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => areaStore.time,
|
||||||
|
(value, oldValue) => {
|
||||||
|
init()
|
||||||
|
|
||||||
|
}, {
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
|
||||||
|
)
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
<div class="top box">
|
<div class="top box">
|
||||||
<div class="l">
|
<div class="l">
|
||||||
<topLeft :code="route.query.code"></topLeft>
|
<topLeft :code="route.query.code" :key="route.query.code"></topLeft>
|
||||||
</div>
|
</div>
|
||||||
<div class="c" id="">
|
<div class="c" id="">
|
||||||
<topCenter :code="route.query.code"></topCenter>
|
<topCenter :code="route.query.code" :key="route.query.code"></topCenter>
|
||||||
</div>
|
</div>
|
||||||
<div class="r">
|
<div class="r">
|
||||||
<topRight :code="route.query.code"></topRight>
|
<topRight :code="route.query.code" :key="route.query.code"></topRight>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,13 +22,13 @@
|
||||||
<div class="bottom box">
|
<div class="bottom box">
|
||||||
<div class="l">
|
<div class="l">
|
||||||
|
|
||||||
<bottomleft :code="route.query.code"></bottomleft>
|
<bottomleft :code="route.query.code" :key="route.query.code"></bottomleft>
|
||||||
</div>
|
</div>
|
||||||
<div class="c">
|
<div class="c">
|
||||||
<bottomCenter></bottomCenter>
|
<bottomCenter :key="route.query.code"></bottomCenter>
|
||||||
</div>
|
</div>
|
||||||
<div class="r">
|
<div class="r">
|
||||||
<bottomRight :code="route.query.code"></bottomRight>
|
<bottomRight :code="route.query.code" :key="route.query.code"></bottomRight>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue