11.9
This commit is contained in:
parent
c93515f1f2
commit
adccfd43fd
@ -15,11 +15,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="right-box">
|
<div class="right-box">
|
||||||
<div class="d-s">
|
<div class="d-s">
|
||||||
<!-- <div class="icon-img">-->
|
|
||||||
<!-- <img src="../../../src/assets/new/t-sousuo.png" alt="">-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- 搜索-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<search id="header-search" class="right-menu-item"/>
|
<search id="header-search" class="right-menu-item"/>
|
||||||
<span style="margin-right: 10px; ">搜索</span>
|
<span style="margin-right: 10px; ">搜索</span>
|
||||||
<div class="d-s" @click="click">
|
<div class="d-s" @click="click">
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
<div v-if="!item.hidden">
|
<div v-if="!item.hidden">
|
||||||
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
|
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
|
||||||
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)">
|
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)">
|
||||||
<el-menu-item v-if="!isCollapse" :index="resolvePath(onlyOneChild.path)" style="padding-left: 20px;height: 48px" :class="{'submenu-title-noDropdown':!isNest}">
|
<el-menu-item v-if="!isCollapse" :index="resolvePath(onlyOneChild.path)"
|
||||||
|
ref="menu"
|
||||||
|
@open="handleOpen" style="padding-left: 20px;height: 48px" :class="{'submenu-title-noDropdown':!isNest}">
|
||||||
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
||||||
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
||||||
<div v-else style="background-color: white;width: 200px;height: 100%;position: fixed;left: 0px">
|
<div v-else style="background-color: white;width: 200px;height: 100%;position: fixed;left: 0px">
|
||||||
@ -11,7 +13,9 @@
|
|||||||
<span>{{onlyOneChild.meta.title}}</span>
|
<span>{{onlyOneChild.meta.title}}</span>
|
||||||
</div>
|
</div>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item v-if="isCollapse" :index="resolvePath(onlyOneChild.path)" style="padding-left: 20px;height: 60px" :class="{'submenu-title-noDropdown':!isNest}">
|
<el-menu-item v-if="isCollapse" :index="resolvePath(onlyOneChild.path)"
|
||||||
|
ref="menu"
|
||||||
|
@open="handleOpen" style="padding-left: 20px;height: 60px" :class="{'submenu-title-noDropdown':!isNest}">
|
||||||
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
||||||
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
||||||
<div v-else style="background-color: white;width: 70px;height: 100%;position: fixed;left: 0px;text-align: center">
|
<div v-else style="background-color: white;width: 70px;height: 100%;position: fixed;left: 0px;text-align: center">
|
||||||
@ -23,7 +27,8 @@
|
|||||||
</app-link>
|
</app-link>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-submenu v-else ref="subMenu" :style="{'height':isCollapse ? '60px':''}" :index="resolvePath(item.path)" popper-append-to-body >
|
<el-submenu v-else ref="subMenu" :style="{'height':isCollapse ? '60px':''}"
|
||||||
|
@open="handleOpen" :index="resolvePath(item.path)" popper-append-to-body >
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<div v-if="!isCollapse" >
|
<div v-if="!isCollapse" >
|
||||||
<!-- <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />-->
|
<!-- <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />-->
|
||||||
@ -174,10 +179,23 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
this.onlyOneChild = null
|
this.onlyOneChild = null
|
||||||
return {
|
return {
|
||||||
defaultActive:""
|
defaultActive:"",
|
||||||
|
keyIndex: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
$route () {
|
||||||
|
// 监控用户点击的菜单,如果是首页或者个人详情页面都要把上次打开的页面收缩起来。
|
||||||
|
if (this.$route.path == '/index') {
|
||||||
|
this.$refs.menu.close(this.keyIndex);
|
||||||
|
this.$refs.subMenu.close(this.keyIndex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleOpen(key) {
|
||||||
|
this.keyIndex = key;
|
||||||
|
},
|
||||||
hasOneShowingChild(children = [], parent) {
|
hasOneShowingChild(children = [], parent) {
|
||||||
if (!children) {
|
if (!children) {
|
||||||
children = [];
|
children = [];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
<div :class="{'has-logo':showLogo}"
|
<div :class="{'has-logo':showLogo}"
|
||||||
:style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground},
|
:style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground},
|
||||||
{width: isCollapse ? '70px !important' : '200px !important' }">
|
{width: isCollapse ? '70px !important' : '200px !important' }">
|
||||||
<logo v-if="showLogo" :collapse="isCollapse" />
|
<logo v-if="showLogo" :collapse="isCollapse"/>
|
||||||
<!-- <div class="store-info" v-if="storeName">-->
|
<!-- <div class="store-info" v-if="storeName">-->
|
||||||
<!-- <div class="name">{{ storeName }}</div>-->
|
<!-- <div class="name">{{ storeName }}</div>-->
|
||||||
<!-- <div class="role" v-if="role">({{ role }})</div>-->
|
<!-- <div class="role" v-if="role">({{ role }})</div>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
|
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
|
||||||
<div v-if="isCollapse" style="width: 70px;">
|
<div v-if="isCollapse" style="width: 70px;">
|
||||||
<el-menu
|
<el-menu
|
||||||
@ -19,6 +19,8 @@
|
|||||||
:collapse-transition="false"
|
:collapse-transition="false"
|
||||||
style="margin-bottom: 80px;height: 60px"
|
style="margin-bottom: 80px;height: 60px"
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
|
ref="menu"
|
||||||
|
@open="handleOpen"
|
||||||
>
|
>
|
||||||
<sidebar-item
|
<sidebar-item
|
||||||
v-for="(route, index) in sidebarRouters"
|
v-for="(route, index) in sidebarRouters"
|
||||||
@ -41,6 +43,8 @@
|
|||||||
:collapse-transition="false"
|
:collapse-transition="false"
|
||||||
style="margin-bottom: 80px;height: 48px"
|
style="margin-bottom: 80px;height: 48px"
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
|
ref="menu"
|
||||||
|
@open="handleOpen"
|
||||||
>
|
>
|
||||||
<sidebar-item
|
<sidebar-item
|
||||||
v-for="(route, index) in sidebarRouters"
|
v-for="(route, index) in sidebarRouters"
|
||||||
@ -56,19 +60,19 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters, mapState } from "vuex";
|
import {mapGetters, mapState} from "vuex";
|
||||||
import Logo from "./Logo";
|
import Logo from "./Logo";
|
||||||
import SidebarItem from "./SidebarItem";
|
import SidebarItem from "./SidebarItem";
|
||||||
import variables from "@/assets/styles/variables.scss";
|
import variables from "@/assets/styles/variables.scss";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { SidebarItem, Logo },
|
components: {SidebarItem, Logo},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(["settings"]),
|
...mapState(["settings"]),
|
||||||
...mapGetters(["sidebarRouters", "sidebar"]),
|
...mapGetters(["sidebarRouters", "sidebar"]),
|
||||||
activeMenu() {
|
activeMenu() {
|
||||||
const route = this.$route;
|
const route = this.$route;
|
||||||
const { meta, path } = route;
|
const {meta, path} = route;
|
||||||
// if set path, the sidebar will highlight the path you set
|
// if set path, the sidebar will highlight the path you set
|
||||||
if (meta.activeMenu) {
|
if (meta.activeMenu) {
|
||||||
return meta.activeMenu;
|
return meta.activeMenu;
|
||||||
@ -82,10 +86,10 @@ export default {
|
|||||||
return variables;
|
return variables;
|
||||||
},
|
},
|
||||||
isCollapse() {
|
isCollapse() {
|
||||||
if (!this.sidebar.opened){
|
if (!this.sidebar.opened) {
|
||||||
document.documentElement.style.setProperty('--sidebar-width', '70px');
|
document.documentElement.style.setProperty('--sidebar-width', '70px');
|
||||||
document.documentElement.style.setProperty('--sidebar-height', '60px');
|
document.documentElement.style.setProperty('--sidebar-height', '60px');
|
||||||
}else {
|
} else {
|
||||||
document.documentElement.style.setProperty('--sidebar-width', '200px');
|
document.documentElement.style.setProperty('--sidebar-width', '200px');
|
||||||
document.documentElement.style.setProperty('--sidebar-height', '48px');
|
document.documentElement.style.setProperty('--sidebar-height', '48px');
|
||||||
}
|
}
|
||||||
@ -109,8 +113,28 @@ export default {
|
|||||||
return '商户管理员';
|
return '商户管理员';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyIndex: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
$route () {
|
||||||
|
// 监控用户点击的菜单,如果是首页或者个人详情页面都要把上次打开的页面收缩起来。
|
||||||
|
if (this.$route.path == '/index') {
|
||||||
|
this.$refs.menu.close(this.keyIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleOpen(key) {
|
||||||
|
this.keyIndex = key;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@ -127,6 +151,7 @@ export default {
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin: 0px 6px 10px 6px;
|
margin: 0px 6px 10px 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -134,6 +159,7 @@ export default {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.role {
|
.role {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
|
@ -14,14 +14,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import RightPanel from '@/components/RightPanel'
|
import RightPanel from '@/components/RightPanel'
|
||||||
import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components'
|
import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components'
|
||||||
import ResizeMixin from './mixin/ResizeHandler'
|
import ResizeMixin from './mixin/ResizeHandler'
|
||||||
import { mapState } from 'vuex'
|
import { mapState } from 'vuex'
|
||||||
import variables from '@/assets/styles/variables.scss'
|
import variables from '@/assets/styles/variables.scss'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Layout',
|
name: 'Layout',
|
||||||
components: {
|
components: {
|
||||||
|
@ -34,10 +34,6 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div style="height: 100%; width: 30%; display: flex; flex-direction: column; justify-content: space-between;">
|
<div style="height: 100%; width: 30%; display: flex; flex-direction: column; justify-content: space-between;">
|
||||||
<el-form ref="myForm" label-width="100px">
|
<el-form ref="myForm" label-width="100px">
|
||||||
<el-form-item label="盘点单号">
|
<el-form-item label="盘点单号">
|
||||||
@ -94,77 +90,74 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
|
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-table ref="tables"
|
<div style="height: 71vh;overflow: auto; scrollbar-width: none">
|
||||||
v-loading="loading"
|
<el-table ref="tables"
|
||||||
:data="orderList"
|
v-loading="loading"
|
||||||
:default-sort="defaultSort">
|
:data="orderList"
|
||||||
<el-table-column align="center" type="index" label="序号"></el-table-column>
|
:default-sort="defaultSort">
|
||||||
<el-table-column label="油罐名称" align="center" prop="tankName"/>
|
<el-table-column align="center" type="index" label="序号"></el-table-column>
|
||||||
<el-table-column label="油品-油号" align="center" prop="numberName"/>
|
<el-table-column label="油罐名称" align="center" prop="tankName"/>
|
||||||
<el-table-column label="供应商" align="center" prop="numberName"/>
|
<el-table-column label="油品-油号" align="center" prop="numberName"/>
|
||||||
|
<el-table-column label="供应商" align="center" prop="numberName"/>
|
||||||
|
|
||||||
|
|
||||||
<el-table-column label="上次采购信息" align="center" prop="numberName">
|
<el-table-column label="上次采购信息" align="center" prop="numberName">
|
||||||
<el-table-column label="采购总价(元)" align="center" prop="theTotalPurchasePrice">
|
<el-table-column label="采购总价(元)" align="center" prop="theTotalPurchasePrice">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{scope.row.theTotalPurchasePrice?scope.row.theTotalPurchasePrice:'--'}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="采购油量(L)" align="center" prop="theAmountOfOilPurchased"/>
|
||||||
|
<el-table-column label="采购单价(元)" align="center" prop="purchaseUnitPrice"/>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="销售信息" align="center" prop="numberName">
|
||||||
|
<el-table-column label="销售总油量(L)" align="center" prop="totalOilVolumeSold">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{scope.row.totalOilVolumeSold?scope.row.totalOilVolumeSold:'--'}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="销售售出价" align="center" prop="numberName"/>-->
|
||||||
|
<el-table-column label="销售总金额(元)" align="center" prop="theTotalSalePrice">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{scope.row.theTotalSalePrice?scope.row.theTotalSalePrice:'--'}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="当前剩余油量(元/吨)" align="center" prop="currentInventoryVolume">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{scope.row.theTotalPurchasePrice?scope.row.theTotalPurchasePrice:'--'}}
|
{{scope.row.totalPrice?scope.row.totalPrice:'--'}}/{{scope.row.theTotalSalePrice?scope.row.theTotalSalePrice:'--'}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="采购油量(L)" align="center" prop="theAmountOfOilPurchased"/>
|
<!-- <el-table-column label="当前剩余油量总价" align="center" prop="totalPrice"/>-->
|
||||||
<el-table-column label="采购单价(元)" align="center" prop="purchaseUnitPrice"/>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
<el-table-column label="销售信息" align="center" prop="numberName">
|
<el-table-column label="当前均价(元/L)" align="center" prop="currentAveragePrice" />
|
||||||
<el-table-column label="销售总油量(L)" align="center" prop="totalOilVolumeSold">
|
<el-table-column label="当前库存(L)" align="center" prop="currentInventoryVolume"/>
|
||||||
|
<el-table-column label="盘点升数(L)" align="center" prop="inventoryVolume" width="150px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{scope.row.totalOilVolumeSold?scope.row.totalOilVolumeSold:'--'}}
|
<el-input-number :disabled="numberInput" v-model="scope.row.inventoryVolume" @change="change(scope.row)" controls-position="right" :min="0" :max="100000000" :step="1" :precision="2" style="max-width: 100%"></el-input-number>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="销售售出价" align="center" prop="numberName"/>-->
|
<el-table-column label="库存差异(L)" align="center" prop="stockDifference"/>
|
||||||
<el-table-column label="销售总金额(元)" align="center" prop="theTotalSalePrice">
|
<el-table-column label="盈亏金额(元)" align="center" prop="profitLossAmount"/>
|
||||||
|
<el-table-column v-if="state =='await'" label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{scope.row.theTotalSalePrice?scope.row.theTotalSalePrice:'--'}}
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="orderDel(scope.row)"
|
||||||
|
>删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- v-hasPermi="['']"-->
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<el-table-column label="当前剩余油量(元/吨)" align="center" prop="currentInventoryVolume">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{scope.row.totalPrice?scope.row.totalPrice:'--'}}/{{scope.row.theTotalSalePrice?scope.row.theTotalSalePrice:'--'}}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<!-- <el-table-column label="当前剩余油量总价" align="center" prop="totalPrice"/>-->
|
|
||||||
|
|
||||||
<el-table-column label="当前均价(元/L)" align="center" prop="currentAveragePrice" />
|
|
||||||
<el-table-column label="当前库存(L)" align="center" prop="currentInventoryVolume"/>
|
|
||||||
<el-table-column label="盘点升数(L)" align="center" prop="inventoryVolume" width="150px">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-input-number :disabled="numberInput" v-model="scope.row.inventoryVolume" @change="change(scope.row)" controls-position="right" :min="0" :max="100000000" :step="1" :precision="2" style="max-width: 100%"></el-input-number>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="库存差异(L)" align="center" prop="stockDifference"/>
|
|
||||||
<el-table-column label="盈亏金额(元)" align="center" prop="profitLossAmount"/>
|
|
||||||
<el-table-column v-if="state =='await'" label="操作" align="center" class-name="small-padding fixed-width">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-edit"
|
|
||||||
@click="orderDel(scope.row)"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
|
||||||
<!-- v-hasPermi="['']"-->
|
|
||||||
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
|
|
||||||
<!-- <pagination-->
|
|
||||||
<!-- v-show="total>0"-->
|
|
||||||
<!-- :total="total"-->
|
|
||||||
<!-- :page.sync="queryParams.page"-->
|
|
||||||
<!-- :limit.sync="queryParams.pageSize"-->
|
|
||||||
<!-- @pagination="getList"-->
|
|
||||||
<!-- />-->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 添加采购油品-->
|
<!-- 添加采购油品-->
|
||||||
@ -918,6 +911,5 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
height: 80vh;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
<div v-if="!item.hidden">
|
<div v-if="!item.hidden">
|
||||||
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
|
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
|
||||||
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)">
|
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)">
|
||||||
<el-menu-item v-if="!isCollapse" :index="resolvePath(onlyOneChild.path)" style="padding-left: 20px;" :class="{'submenu-title-noDropdown':!isNest}">
|
<el-menu-item v-if="!isCollapse" :index="resolvePath(onlyOneChild.path)" style="padding-left: 20px;"
|
||||||
|
ref="menu"
|
||||||
|
@open="handleOpen" :class="{'submenu-title-noDropdown':!isNest}">
|
||||||
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
||||||
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
||||||
<div v-else style="background-color: white;width: 200px;height: 100%;position: fixed;left: 0px">
|
<div v-else style="background-color: white;width: 200px;height: 100%;position: fixed;left: 0px">
|
||||||
@ -11,7 +13,9 @@
|
|||||||
<span>{{onlyOneChild.meta.title}}</span>
|
<span>{{onlyOneChild.meta.title}}</span>
|
||||||
</div>
|
</div>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item v-if="isCollapse" :index="resolvePath(onlyOneChild.path)" style="padding-left: 20px;height: 60px" :class="{'submenu-title-noDropdown':!isNest}">
|
<el-menu-item v-if="isCollapse" :index="resolvePath(onlyOneChild.path)"
|
||||||
|
ref="menu"
|
||||||
|
@open="handleOpen" style="padding-left: 20px;height: 60px" :class="{'submenu-title-noDropdown':!isNest}">
|
||||||
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
<!-- <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />-->
|
||||||
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
<span style="margin-left: 30px" v-if="onlyOneChild.meta.title!='系统首页'">{{onlyOneChild.meta.title}}</span>
|
||||||
<div v-else style="background-color: white;width: 70px;height: 100%;position: fixed;left: 0px;text-align: center">
|
<div v-else style="background-color: white;width: 70px;height: 100%;position: fixed;left: 0px;text-align: center">
|
||||||
@ -24,7 +28,8 @@
|
|||||||
</app-link>
|
</app-link>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
|
<el-submenu v-else ref="subMenu"
|
||||||
|
@open="handleOpen" :index="resolvePath(item.path)" popper-append-to-body>
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<div v-if="!isCollapse" >
|
<div v-if="!isCollapse" >
|
||||||
<!-- <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />-->
|
<!-- <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />-->
|
||||||
@ -205,9 +210,23 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
this.onlyOneChild = null
|
this.onlyOneChild = null
|
||||||
return {}
|
return {
|
||||||
|
keyIndex: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
$route () {
|
||||||
|
// 监控用户点击的菜单,如果是首页或者个人详情页面都要把上次打开的页面收缩起来。
|
||||||
|
if (this.$route.path == '/index') {
|
||||||
|
this.$refs.menu.close(this.keyIndex);
|
||||||
|
this.$refs.subMenu.close(this.keyIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleOpen(key) {
|
||||||
|
this.keyIndex = key;
|
||||||
|
},
|
||||||
hasOneShowingChild(children = [], parent) {
|
hasOneShowingChild(children = [], parent) {
|
||||||
console.log('212')
|
console.log('212')
|
||||||
if (!children) {
|
if (!children) {
|
||||||
|
@ -1,116 +1,140 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :class="{'has-logo':showLogo}" :style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
|
<div :class="{'has-logo':showLogo}"
|
||||||
<logo v-if="showLogo" :collapse="isCollapse" />
|
:style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
|
||||||
<!-- <div class="store-info" v-if="storeName">-->
|
<logo v-if="showLogo" :collapse="isCollapse"/>
|
||||||
<!-- <div class="name">{{ storeName }}</div>-->
|
<!-- <div class="store-info" v-if="storeName">-->
|
||||||
<!-- <div class="role" v-if="role">({{ role }})</div>-->
|
<!-- <div class="name">{{ storeName }}</div>-->
|
||||||
<!-- </div>-->
|
<!-- <div class="role" v-if="role">({{ role }})</div>-->
|
||||||
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
|
<!-- </div>-->
|
||||||
<el-menu
|
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
|
||||||
|
<el-menu
|
||||||
|
|
||||||
:default-active="activeMenu"
|
:default-active="activeMenu"
|
||||||
:collapse="isCollapse"
|
:collapse="isCollapse"
|
||||||
:background-color="settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground"
|
:background-color="settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground"
|
||||||
:text-color="settings.sideTheme === 'theme-dark' ? variables.menuColor : variables.menuLightColor"
|
:text-color="settings.sideTheme === 'theme-dark' ? variables.menuColor : variables.menuLightColor"
|
||||||
:unique-opened="true"
|
:unique-opened="true"
|
||||||
:active-text-color="settings.theme"
|
:active-text-color="settings.theme"
|
||||||
:collapse-transition="false"
|
:collapse-transition="false"
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
style="margin-bottom: 80px;"
|
style="margin-bottom: 80px;"
|
||||||
>
|
ref="menu"
|
||||||
<sidebar-item
|
@open="handleOpen"
|
||||||
v-for="(route, index) in sidebarRouters"
|
>
|
||||||
:key="route.path + index"
|
<sidebar-item
|
||||||
:item="route"
|
v-for="(route, index) in sidebarRouters"
|
||||||
:base-path="route.path"
|
:key="route.path + index"
|
||||||
:activeMenu="activeMenu"
|
:item="route"
|
||||||
:isCollapse="isCollapse"
|
:base-path="route.path"
|
||||||
/>
|
:activeMenu="activeMenu"
|
||||||
</el-menu>
|
:isCollapse="isCollapse"
|
||||||
</el-scrollbar>
|
/>
|
||||||
</div>
|
</el-menu>
|
||||||
|
</el-scrollbar>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters, mapState } from "vuex";
|
import {mapGetters, mapState} from "vuex";
|
||||||
import Logo from "./Logo";
|
import Logo from "./Logo";
|
||||||
import SidebarItem from "./SidebarItem";
|
import SidebarItem from "./SidebarItem";
|
||||||
import variables from "@/assets/styles/variables.scss";
|
import variables from "@/assets/styles/variables.scss";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { SidebarItem, Logo },
|
components: {SidebarItem, Logo},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(["settings"]),
|
...mapState(["settings"]),
|
||||||
...mapGetters(["sidebarRouters", "sidebar"]),
|
...mapGetters(["sidebarRouters", "sidebar"]),
|
||||||
activeMenu() {
|
activeMenu() {
|
||||||
const route = this.$route;
|
const route = this.$route;
|
||||||
const { meta, path } = route;
|
const {meta, path} = route;
|
||||||
// if set path, the sidebar will highlight the path you set
|
// if set path, the sidebar will highlight the path you set
|
||||||
if (meta.activeMenu) {
|
if (meta.activeMenu) {
|
||||||
return meta.activeMenu;
|
return meta.activeMenu;
|
||||||
}
|
}
|
||||||
return path;
|
return path;
|
||||||
},
|
},
|
||||||
showLogo() {
|
showLogo() {
|
||||||
return this.$store.state.settings.sidebarLogo;
|
return this.$store.state.settings.sidebarLogo;
|
||||||
},
|
},
|
||||||
variables() {
|
variables() {
|
||||||
return variables;
|
return variables;
|
||||||
},
|
},
|
||||||
isCollapse() {
|
isCollapse() {
|
||||||
if (!this.sidebar.opened){
|
if (!this.sidebar.opened) {
|
||||||
document.documentElement.style.setProperty('--sidebar-height', '60px');
|
document.documentElement.style.setProperty('--sidebar-height', '60px');
|
||||||
}else {
|
} else {
|
||||||
document.documentElement.style.setProperty('--sidebar-height', '48px');
|
document.documentElement.style.setProperty('--sidebar-height', '48px');
|
||||||
}
|
}
|
||||||
return !this.sidebar.opened;
|
return !this.sidebar.opened;
|
||||||
},
|
},
|
||||||
storeName() {
|
storeName() {
|
||||||
if (this.$store.getters.merchantName && this.$store.getters.merchantId) {
|
if (this.$store.getters.merchantName && this.$store.getters.merchantId) {
|
||||||
return this.$store.getters.merchantName;
|
return this.$store.getters.merchantName;
|
||||||
}
|
}
|
||||||
if (this.$store.getters.storeName && this.$store.getters.storeId) {
|
if (this.$store.getters.storeName && this.$store.getters.storeId) {
|
||||||
return this.$store.getters.storeName;
|
return this.$store.getters.storeName;
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
},
|
},
|
||||||
role() {
|
role() {
|
||||||
if (this.$store.getters.storeName && this.$store.getters.storeId) {
|
if (this.$store.getters.storeName && this.$store.getters.storeId) {
|
||||||
return '店铺管理员';
|
return '店铺管理员';
|
||||||
}
|
}
|
||||||
if (this.$store.getters.merchantName && this.$store.getters.merchantId) {
|
if (this.$store.getters.merchantName && this.$store.getters.merchantId) {
|
||||||
return '商户管理员';
|
return '商户管理员';
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyIndex: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
$route() {
|
||||||
|
// 监控用户点击的菜单,如果是首页或者个人详情页面都要把上次打开的页面收缩起来。
|
||||||
|
if (this.$route.path == '/index') {
|
||||||
|
this.$refs.menu.close(this.keyIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleOpen(key) {
|
||||||
|
this.keyIndex = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.store-info {
|
.store-info {
|
||||||
height: 42px;
|
height: 42px;
|
||||||
padding-top: 2px;
|
padding-top: 2px;
|
||||||
|
text-align: center;
|
||||||
|
background: #00acac;
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px #ffffff solid;
|
||||||
|
border-radius: 2px;
|
||||||
|
margin: 0px 6px 10px 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.name {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #ffffff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #00acac;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px #ffffff solid;
|
|
||||||
border-radius: 2px;
|
|
||||||
margin: 0px 6px 10px 6px;
|
|
||||||
cursor: pointer;
|
|
||||||
.name {
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #ffffff;
|
|
||||||
text-align: center;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.role {
|
|
||||||
font-size: 10px;
|
|
||||||
margin-top: 3px;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.role {
|
||||||
|
font-size: 10px;
|
||||||
|
margin-top: 3px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -558,7 +558,11 @@
|
|||||||
border
|
border
|
||||||
:data="dutyList">
|
:data="dutyList">
|
||||||
<el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
|
<el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
|
||||||
<el-table-column label="角色名称" align="center" prop="dutyName" />
|
<el-table-column label="角色名称" align="center" prop="dutyName" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{scope.row.dutyName}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column label="角色类型" align="center" prop="dutyType" >-->
|
<!-- <el-table-column label="角色类型" align="center" prop="dutyType" >-->
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- <template slot-scope="scope">-->
|
||||||
<!-- <span v-if="scope.row.dutyType=='1'">超级管理员</span>-->
|
<!-- <span v-if="scope.row.dutyType=='1'">超级管理员</span>-->
|
||||||
@ -699,12 +703,13 @@
|
|||||||
<!-- <el-radio :key=1 :label=1 :value=1>启用</el-radio>-->
|
<!-- <el-radio :key=1 :label=1 :value=1>启用</el-radio>-->
|
||||||
<!-- <el-radio :key=0 :label=0 :value=0>禁用</el-radio>-->
|
<!-- <el-radio :key=0 :label=0 :value=0>禁用</el-radio>-->
|
||||||
<!-- </el-radio-group>-->
|
<!-- </el-radio-group>-->
|
||||||
|
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="form.accountStatus"
|
v-model="form.accountStatus"
|
||||||
active-color="#13ce66"
|
active-color="#13ce66"
|
||||||
inactive-color="#ff4949"
|
inactive-color="#ff4949"
|
||||||
active-value="1"
|
:active-value="1"
|
||||||
inactive-value="0">
|
:inactive-value="0">
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -19,8 +19,11 @@
|
|||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<dai_yunyingfenxi-pay-type v-if="radio1 === '支付方式分析'"></dai_yunyingfenxi-pay-type>
|
<div class="hui_box">
|
||||||
<dai_yunyingfenxi-paym v-if="radio1 === '支付通道分析'"></dai_yunyingfenxi-paym>
|
<dai_yunyingfenxi-pay-type v-if="radio1 === '支付方式分析'"></dai_yunyingfenxi-pay-type>
|
||||||
|
<dai_yunyingfenxi-paym v-if="radio1 === '支付通道分析'"></dai_yunyingfenxi-paym>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -65,6 +68,10 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
//padding: 10px;
|
//padding: 10px;
|
||||||
}
|
}
|
||||||
|
.hui_box{
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
.app-top{
|
.app-top{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
//margin-bottom: 20px;
|
//margin-bottom: 20px;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!-- 收银台订单-->
|
<!-- 收银台订单-->
|
||||||
<template>
|
<template>
|
||||||
<div style="padding-top: 15px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
|
<div >
|
||||||
<div class="card-change2" style="margin-left: 20px; padding-top: 0px;padding-bottom: 5px" shadow="never" >
|
<div class="top_box" shadow="never" >
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px" >
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px" >
|
||||||
<div class="d-s" style="justify-content: space-between">
|
<div class="d-s" style="justify-content: space-between">
|
||||||
<div class="d-s">
|
<div class="d-s">
|
||||||
@ -62,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-change" style="min-height: 500px; margin-left: 20px;margin-top: 20px" shadow="never">
|
<div class="card-change" shadow="never">
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
<el-table
|
<el-table
|
||||||
:data="orderList"
|
:data="orderList"
|
||||||
@ -293,23 +293,32 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.box-card {
|
.top_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0px 20px 4px 20px;
|
}
|
||||||
border: none;
|
.table-box{
|
||||||
box-shadow: none;
|
width: 100%;
|
||||||
|
height: 60vh;
|
||||||
|
scrollbar-width: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.center_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 5px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box {
|
|
||||||
width: 100%;
|
|
||||||
height: 56vh;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wrap-boxs {
|
.wrap-boxs {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -41,14 +41,14 @@
|
|||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<template >
|
<div class="rl_box">
|
||||||
<yunyingfenxi-vip v-if="radio1 === '会员分析'"></yunyingfenxi-vip>
|
<yunyingfenxi-vip v-if="radio1 === '会员分析'"></yunyingfenxi-vip>
|
||||||
<yunyingfenxi-oil v-if="radio1 === '油品分析'"></yunyingfenxi-oil>
|
<yunyingfenxi-oil v-if="radio1 === '油品分析'"></yunyingfenxi-oil>
|
||||||
<yunyingfenxi-store v-if="radio1 === '便利店分析'"></yunyingfenxi-store>
|
<yunyingfenxi-store v-if="radio1 === '便利店分析'"></yunyingfenxi-store>
|
||||||
<yunyingfenxi-int v-if="radio1 === '积分商城分析'"></yunyingfenxi-int>
|
<yunyingfenxi-int v-if="radio1 === '积分商城分析'"></yunyingfenxi-int>
|
||||||
<dai_yunyingfenxi-pay-type v-if="radio1 === '支付方式分析'"></dai_yunyingfenxi-pay-type>
|
<dai_yunyingfenxi-pay-type v-if="radio1 === '支付方式分析'"></dai_yunyingfenxi-pay-type>
|
||||||
<dai_yunyingfenxi-paym v-if="radio1 === '支付通道分析'"></dai_yunyingfenxi-paym>
|
<dai_yunyingfenxi-paym v-if="radio1 === '支付通道分析'"></dai_yunyingfenxi-paym>
|
||||||
</template>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -97,7 +97,6 @@ export default {
|
|||||||
.app-center{
|
.app-center{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
//padding: 10px;
|
|
||||||
}
|
}
|
||||||
.app-top{
|
.app-top{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -115,7 +114,7 @@ export default {
|
|||||||
margin-left: 50px;
|
margin-left: 50px;
|
||||||
//height: 40px;
|
//height: 40px;
|
||||||
display: flex;
|
display: flex;
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
//border: 1px solid #EBEEF5;
|
//border: 1px solid #EBEEF5;
|
||||||
}
|
}
|
||||||
@ -126,15 +125,16 @@ background-color: #FFFFFF;
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #999999
|
color: #999999
|
||||||
}
|
}
|
||||||
.fount-box2{
|
|
||||||
font-size: 14px;
|
|
||||||
color: #999999
|
|
||||||
}
|
|
||||||
.heng-box{
|
.heng-box{
|
||||||
background-color: #FF770F;
|
background-color: #FF770F;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
.rl_box{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!-- 收银台订单-->
|
<!-- 收银台订单-->
|
||||||
<template>
|
<template>
|
||||||
<div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
|
<div >
|
||||||
<div class="card-change2-1" shadow="never" style="margin-bottom: 25px;">
|
<div class="top_box" shadow="never" >
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
||||||
<div class="d-s" style="justify-content: space-between;width: 100%">
|
<div class="d-s" style="justify-content: space-between;width: 100%">
|
||||||
<div class="d-s">
|
<div class="d-s">
|
||||||
@ -58,7 +58,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-change-1" style="min-height: 500px;" shadow="never">
|
<div class="center_box" shadow="never">
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
<el-table
|
<el-table
|
||||||
:data="orderList"
|
:data="orderList"
|
||||||
@ -289,23 +289,33 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.box-card {
|
.top_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0px 20px 4px 20px;
|
}
|
||||||
border: none;
|
.table-box{
|
||||||
box-shadow: none;
|
width: 100%;
|
||||||
|
height: 57vh;
|
||||||
|
scrollbar-width: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.center_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 5px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box {
|
|
||||||
width: 100%;
|
|
||||||
height: 52vh;
|
|
||||||
min-height: 600px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wrap-box {
|
.wrap-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!-- 油品分析 -->
|
<!-- 油品分析 -->
|
||||||
<template>
|
<template>
|
||||||
<div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
|
<div >
|
||||||
<div class="card-change2-1" shadow="never" style="margin-bottom: 25px;">
|
<div class="top_box" shadow="never" >
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
||||||
<div class="d-s" style="justify-content: space-between;width: 100%">
|
<div class="d-s" style="justify-content: space-between;width: 100%">
|
||||||
<div class="d-s">
|
<div class="d-s">
|
||||||
@ -68,9 +68,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-change-1" style="min-height: 500px;" shadow="never">
|
<div class="center_box" shadow="never">
|
||||||
|
|
||||||
|
|
||||||
<div class="table-box" >
|
<div class="table-box" >
|
||||||
<el-table
|
<el-table
|
||||||
:data="orderList"
|
:data="orderList"
|
||||||
@ -339,23 +337,32 @@ import {parseTime} from "@/utils/fuint";
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.box-card{
|
.top_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0px 20px 4px 20px;
|
}
|
||||||
border: none;
|
.table-box{
|
||||||
box-shadow: none;
|
width: 100%;
|
||||||
|
height: 57vh;
|
||||||
|
scrollbar-width: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.center_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 5px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box{
|
|
||||||
width: 100%;
|
|
||||||
height: 52vh;
|
|
||||||
min-height: 600px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.wrap-box{
|
.wrap-box{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!-- 收银台订单-->
|
<!-- 收银台订单-->
|
||||||
<template>
|
<template>
|
||||||
<div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px" >
|
<div >
|
||||||
<div class="card-change2-1" shadow="never" style="margin-bottom: 25px;">
|
<div class="top_box" shadow="never" >
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px" >
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px" >
|
||||||
<div class="d-s" style="justify-content: space-between;width: 100%">
|
<div class="d-s" style="justify-content: space-between;width: 100%">
|
||||||
<div class="d-s">
|
<div class="d-s">
|
||||||
@ -59,7 +59,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-change-1" style="min-height: 500px;" shadow="never">
|
<div class="center_box" shadow="never">
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
<el-table
|
<el-table
|
||||||
:data="orderList"
|
:data="orderList"
|
||||||
@ -93,7 +93,7 @@
|
|||||||
<el-table-column label="热销商品信息" align="center">
|
<el-table-column label="热销商品信息" align="center">
|
||||||
<el-table-column prop="goodsName" label="商品名称" width="100" align="center"></el-table-column>
|
<el-table-column prop="goodsName" label="商品名称" width="100" align="center"></el-table-column>
|
||||||
<el-table-column prop="goodsNum" label="销售数量" width="100" align="center"></el-table-column>
|
<el-table-column prop="goodsNum" label="销售数量" width="100" align="center"></el-table-column>
|
||||||
<el-table-column prop="goodsAmount" label="销售金额 (元)" width="150" align="center"></el-table-column>
|
<el-table-column prop="goodsAmount" label="销售金额 (元)" width="100" align="center"></el-table-column>
|
||||||
<!-- <el-table-column prop="supplierName" label="供应商名称" width="100" align="center"></el-table-column>-->
|
<!-- <el-table-column prop="supplierName" label="供应商名称" width="100" align="center"></el-table-column>-->
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="statDate" label="统计日期" width="200" align="center">
|
<el-table-column prop="statDate" label="统计日期" width="200" align="center">
|
||||||
@ -312,23 +312,34 @@ import {parseTime} from "@/utils/fuint";
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.box-card{
|
.top_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0px 20px 4px 20px;
|
|
||||||
border: none;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
}
|
||||||
|
.table-box{
|
||||||
|
width: 100%;
|
||||||
|
height: 57vh;
|
||||||
|
scrollbar-width: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.center_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 5px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box{
|
|
||||||
width: 100%;
|
|
||||||
height: 52vh;
|
|
||||||
min-height: 600px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.wrap-box{
|
.wrap-box{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!-- 收银台订单-->
|
<!-- 收银台订单-->
|
||||||
<template>
|
<template>
|
||||||
<div class="" style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
|
<div class="" >
|
||||||
<div class="card-change2-1" style="padding-top: 20px; margin-bottom: 25px;" shadow="never">
|
<div class="top_box"shadow="never">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
||||||
<el-form-item label="" prop="deptId" style="width: 180px">
|
<el-form-item label="" prop="deptId" style="width: 180px">
|
||||||
<el-select
|
<el-select
|
||||||
@ -53,7 +53,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-change-1" style="min-height: 500px;" shadow="never">
|
<div class="center_box" shadow="never">
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
<el-table
|
<el-table
|
||||||
:data="orderList"
|
:data="orderList"
|
||||||
@ -236,23 +236,32 @@ import {getFenXiUserbalanceDataApi, getFenXiUserbalanceListApi} from "@/api/fina
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.box-card{
|
.top_box{
|
||||||
width: 100%;
|
border-radius: 6px;
|
||||||
margin: 0px 20px 4px 20px;
|
background: #fff;
|
||||||
border: none;
|
box-sizing: border-box;
|
||||||
box-shadow: none;
|
padding: 10px;
|
||||||
}
|
width: 100%;
|
||||||
|
}
|
||||||
|
.table-box{
|
||||||
|
width: 100%;
|
||||||
|
height: 59vh;
|
||||||
|
scrollbar-width: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.center_box{
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 5px auto;
|
||||||
|
}
|
||||||
.el-form--inline .el-form-item {
|
.el-form--inline .el-form-item {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box{
|
|
||||||
width: 100%;
|
|
||||||
height: 52vh;
|
|
||||||
min-height: 600px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.wrap-box{
|
.wrap-box{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -57,11 +57,12 @@
|
|||||||
<div style="margin-right: 40px">
|
<div style="margin-right: 40px">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="value1"
|
v-model="value1"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
range-separator="至"
|
range-separator="至"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
@change="getStoreAmount">
|
@change="getStoreAmount">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
@ -162,11 +163,12 @@
|
|||||||
<span style="margin-top: -10px;">
|
<span style="margin-top: -10px;">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="value2"
|
v-model="value2"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
range-separator="至"
|
range-separator="至"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@change="getStoreList()">
|
@change="getStoreList()">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
@ -232,13 +234,18 @@ export default {
|
|||||||
bannerList:{},
|
bannerList:{},
|
||||||
storeList:[],
|
storeList:[],
|
||||||
hardwareList:[],
|
hardwareList:[],
|
||||||
noticeList:[]
|
noticeList:[],
|
||||||
|
pickerOptions: {
|
||||||
|
disabledDate: time => {
|
||||||
|
return time.getTime() > new Date();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
let nowDate = new Date();
|
let nowDate = new Date();
|
||||||
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
|
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
|
||||||
this.value1 = [formatDate(oneWeekAgo),formatDate(nowDate)]
|
this.value1 = [parseTime(oneWeekAgo),parseTime(nowDate)]
|
||||||
this.getStoreTotal()
|
this.getStoreTotal()
|
||||||
this.selectChildByDeptIdApi()
|
this.selectChildByDeptIdApi()
|
||||||
// this.getStoreAmount()
|
// this.getStoreAmount()
|
||||||
@ -304,7 +311,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.getStoreList()
|
this.getStoreList()
|
||||||
},
|
},
|
||||||
getStoreList(){
|
getStoreList(val){
|
||||||
getStoreAmountByTime(this.addDateRange({},this.value2)).then(res => {
|
getStoreAmountByTime(this.addDateRange({},this.value2)).then(res => {
|
||||||
this.storeList = res.data
|
this.storeList = res.data
|
||||||
this.initChart()
|
this.initChart()
|
||||||
|
@ -63,6 +63,7 @@
|
|||||||
range-separator="至"
|
range-separator="至"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
@change="getStoreAmount">
|
@change="getStoreAmount">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
@ -173,6 +174,7 @@
|
|||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@change="getStoreList()">
|
@change="getStoreList()">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
@ -236,7 +238,12 @@ export default {
|
|||||||
bannerList:{},
|
bannerList:{},
|
||||||
storeList:[],
|
storeList:[],
|
||||||
hardwareList:[],
|
hardwareList:[],
|
||||||
noticeList:[]
|
noticeList:[],
|
||||||
|
pickerOptions: {
|
||||||
|
disabledDate: time => {
|
||||||
|
return time.getTime() > new Date();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -1732,7 +1732,7 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
|
|||||||
}
|
}
|
||||||
|
|
||||||
Double averagePrice = tradeAmount / tradeTotal;
|
Double averagePrice = tradeAmount / tradeTotal;
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
Double dayTradeAmount = 0.0;
|
Double dayTradeAmount = 0.0;
|
||||||
Integer dayTradeTotal = 0;
|
Integer dayTradeTotal = 0;
|
||||||
|
@ -61,6 +61,8 @@ import java.text.DateFormat;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@ -752,7 +754,7 @@ public class StoreServiceImpl extends ServiceImpl<MtStoreMapper, MtStore> implem
|
|||||||
for (MtStore mtStore : mtStores) {
|
for (MtStore mtStore : mtStores) {
|
||||||
storeIds.add(mtStore.getId());
|
storeIds.add(mtStore.getId());
|
||||||
}
|
}
|
||||||
List<StoreNumVo> storeNumVos = null;
|
List<StoreNumVo> storeNumVos = new ArrayList<>();
|
||||||
if (ObjectUtil.isNotEmpty(store.getParams()) && ObjectUtil.isNotEmpty(store.getParams().get("beginTime"))
|
if (ObjectUtil.isNotEmpty(store.getParams()) && ObjectUtil.isNotEmpty(store.getParams().get("beginTime"))
|
||||||
&& ObjectUtil.isNotEmpty(store.getParams().get("endTime"))){
|
&& ObjectUtil.isNotEmpty(store.getParams().get("endTime"))){
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
@ -770,12 +772,60 @@ public class StoreServiceImpl extends ServiceImpl<MtStoreMapper, MtStore> implem
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (!today.after( dateFormat.parse(store.getParams().get("beginTime").toString()) )){
|
if (!today.after( dateFormat.parse(store.getParams().get("beginTime").toString()) )){
|
||||||
storeNumVos = baseMapper.selectStoreNum(store, storeIds);
|
List<String> allDatesBetweenDay = getAllDatesBetweenDay(store.getParams().get("beginTime").toString(), store.getParams().get("endTime").toString());
|
||||||
|
List<StoreNumVo> storeNumVos1 = baseMapper.selectStoreNum(store, storeIds);
|
||||||
|
for (String time : allDatesBetweenDay) {
|
||||||
|
StoreNumVo storeNumVo = new StoreNumVo();
|
||||||
|
storeNumVo.setTradeTime(time);
|
||||||
|
storeNumVo.setTradeNum(0);
|
||||||
|
storeNumVo.setStoreNum(0);
|
||||||
|
storeNumVo.setTradeAmount(0.0);
|
||||||
|
for (StoreNumVo numVo : storeNumVos1) {
|
||||||
|
if (numVo.getTradeTime().equals(time)){
|
||||||
|
storeNumVo.setTradeNum(numVo.getTradeNum());
|
||||||
|
storeNumVo.setStoreNum(numVo.getStoreNum());
|
||||||
|
storeNumVo.setTradeAmount(numVo.getTradeAmount());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
storeNumVos.add(storeNumVo);
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
if (yearDay.before(dateFormat.parse(store.getParams().get("beginTime").toString()))){
|
if (yearDay.before(dateFormat.parse(store.getParams().get("beginTime").toString()))){
|
||||||
storeNumVos = baseMapper.selectStoreNumByDay(store, storeIds);
|
List<String> allDatesBetweenMonth = getAllDatesBetweenMonth(store.getParams().get("beginTime").toString(), store.getParams().get("endTime").toString());
|
||||||
|
List<StoreNumVo> storeNumVos1 = baseMapper.selectStoreNumByDay(store, storeIds);
|
||||||
|
for (String time : allDatesBetweenMonth) {
|
||||||
|
StoreNumVo storeNumVo = new StoreNumVo();
|
||||||
|
storeNumVo.setTradeTime(time);
|
||||||
|
storeNumVo.setTradeNum(0);
|
||||||
|
storeNumVo.setStoreNum(0);
|
||||||
|
storeNumVo.setTradeAmount(0.0);
|
||||||
|
for (StoreNumVo numVo : storeNumVos1) {
|
||||||
|
if (numVo.getTradeTime().equals(time)){
|
||||||
|
storeNumVo.setTradeNum(numVo.getTradeNum());
|
||||||
|
storeNumVo.setStoreNum(numVo.getStoreNum());
|
||||||
|
storeNumVo.setTradeAmount(numVo.getTradeAmount());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
storeNumVos.add(storeNumVo);
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
storeNumVos = baseMapper.selectStoreNumByMonth(store, storeIds);
|
List<String> allDatesBetweenYear = getAllDatesBetweenYear(store.getParams().get("beginTime").toString(), store.getParams().get("endTime").toString());
|
||||||
|
List<StoreNumVo> storeNumVos1 = baseMapper.selectStoreNumByMonth(store, storeIds);
|
||||||
|
for (String time : allDatesBetweenYear) {
|
||||||
|
StoreNumVo storeNumVo = new StoreNumVo();
|
||||||
|
storeNumVo.setTradeTime(time);
|
||||||
|
storeNumVo.setTradeNum(0);
|
||||||
|
storeNumVo.setStoreNum(0);
|
||||||
|
storeNumVo.setTradeAmount(0.0);
|
||||||
|
for (StoreNumVo numVo : storeNumVos1) {
|
||||||
|
if (numVo.getTradeTime().equals(time)){
|
||||||
|
storeNumVo.setTradeNum(numVo.getTradeNum());
|
||||||
|
storeNumVo.setStoreNum(numVo.getStoreNum());
|
||||||
|
storeNumVo.setTradeAmount(numVo.getTradeAmount());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
storeNumVos.add(storeNumVo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
@ -786,6 +836,56 @@ public class StoreServiceImpl extends ServiceImpl<MtStoreMapper, MtStore> implem
|
|||||||
return storeNumVos;
|
return storeNumVos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getAllDatesBetweenYear(String startTime, String endTime) {
|
||||||
|
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||||
|
LocalDate startDate = LocalDate.parse(startTime, formatter);
|
||||||
|
LocalDate endDate = LocalDate.parse(endTime, formatter);
|
||||||
|
|
||||||
|
List<String> dateList = new ArrayList<>();
|
||||||
|
while (!startDate.isAfter(endDate)) {
|
||||||
|
dateList.add(startDate.format(formatter1));
|
||||||
|
startDate = startDate.plusMonths(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return dateList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getAllDatesBetweenDay(String startTime, String endTime) {
|
||||||
|
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("HH:mm");
|
||||||
|
LocalDateTime startDate = LocalDateTime.parse(startTime, formatter);
|
||||||
|
LocalDateTime endDate = LocalDateTime.parse(endTime, formatter);
|
||||||
|
|
||||||
|
List<String> dateList = new ArrayList<>();
|
||||||
|
while (!startDate.isAfter(endDate)) {
|
||||||
|
dateList.add(startDate.format(formatter1));
|
||||||
|
startDate = startDate.plusHours(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return dateList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getAllDatesBetweenMonth(String startTime, String endTime) {
|
||||||
|
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
LocalDateTime startDate = LocalDateTime.parse(startTime, formatter);
|
||||||
|
LocalDateTime endDate = LocalDateTime.parse(endTime, formatter);
|
||||||
|
|
||||||
|
List<String> dateList = new ArrayList<>();
|
||||||
|
while (!startDate.isAfter(endDate)) {
|
||||||
|
dateList.add(startDate.format(formatter1));
|
||||||
|
startDate = startDate.plusDays(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return dateList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MtStore> getStoreByDeptId(Integer deptId) {
|
public List<MtStore> getStoreByDeptId(Integer deptId) {
|
||||||
QueryWrapper queryWrapper = new QueryWrapper<>();
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||||
|
Loading…
Reference in New Issue
Block a user