cmy преди 2 години
родител
ревизия
70d9bec817

+ 1 - 1
.env.dev

@@ -8,4 +8,4 @@ VUE_APP_WS_KEFU_URL=''
 # socket 系统连接地址
 VUE_APP_WS_ADMIN_URL=''
 # 接口请求地址
-VUE_APP_API_URL='https://test.pro.wuht.net/storeapi'
+VUE_APP_API_URL=''

BIN
src/assets/images/logo-dark.png


BIN
src/assets/images/logo-small.png


BIN
src/assets/images/logo.png


BIN
src/assets/images/m_logo.png


+ 355 - 358
src/layouts/basic-layout/index.vue

@@ -1,378 +1,375 @@
 <template>
-  <Layout class="i-layout">
-    <Sider
-      class="i-layout-sider"
-      :class="siderClasses"
-      :width="isChildren ? 220 : 60"
-    >
-      <i-menu-side :hide-logo="isHeaderStick && headerFix && showHeader" />
-    </Sider>
-    <Layout
-      class="i-layout-inside"
-      :class="isChildren ? 'bodyBig' : 'bodySmall'"
-    >
-      <transition name="fade-quick">
-        <Header
-          class="i-layout-header i-layout-header-fix"
-          :class="isChildren ? 'onBig' : 'onSmall'"
-          :style="headerStyle"
-          v-show="showHeader"
-          v-resize="handleHeaderWidthChange"
-        >
-          <!--<i-header-logo v-if="isMobile && showMobileLogo" />-->
-          <!--<i-header-logo v-if="!isMobile && isHeaderStick && headerFix" />-->
-          <!--<i-header-collapse v-if="(isMobile || showSiderCollapse) && !hideSider" @on-toggle-drawer="handleToggleDrawer" />-->
-          <!--<i-header-reload v-if="!isMobile && showReload" @on-reload="handleReload" />-->
-          <!--<i-menu-head v-if="headerMenu && !isMobile" ref="menuHead" />-->
-          <i-header-breadcrumb ref="breadcrumb" />
-          <div class="i-layout-header-right">
-            <span class="cashier" @click="goCashier">
-              <span class="iconfont iconshouyintai"></span>
-              收银台</span
-            >
-            <i-header-fullscreen v-if="isDesktop && showFullscreen" />
-            <!--<i-menu-head v-if="headerMenu && isMobile" />-->
-            <i-header-notice v-if="showNotice" />
-            <i-header-user />
-            <!--<i-header-i18n v-if="showI18n" />-->
-          </div>
-        </Header>
-      </transition>
-      <Content class="i-layout-content" :class="contentClasses">
-        <transition name="fade-quick">
-          <i-tabs v-if="tabs" v-show="showHeader" />
-        </transition>
-        <div class="i-layout-content-main">
-          <keep-alive :include="keepAlive">
-            <router-view v-if="loadRouter" />
-          </keep-alive>
-        </div>
-      </Content>
-      <i-copyright />
-    </Layout>
-    <!--<div v-if="isMobile && !hideSider">-->
-    <!--<Drawer v-model="showDrawer" placement="left" :closable="false" :class-name="drawerClasses">-->
-    <!--<i-menu-side />-->
-    <!--</Drawer>-->
-    <!--</div>-->
-    <!--        <div class="open-image" @click="clear" v-if="openImage"><img src="@/assets/images/wechat_demo.png" alt=""></div>-->
-  </Layout>
+	<Layout class="i-layout">
+		<Sider class="i-layout-sider" :class="siderClasses" :width="isChildren ? 220 : 60">
+			<i-menu-side :hide-logo="isHeaderStick && headerFix && showHeader" />
+		</Sider>
+		<Layout class="i-layout-inside" :class="isChildren ? 'bodyBig' : 'bodySmall'">
+			<transition name="fade-quick">
+				<Header class="i-layout-header i-layout-header-fix" :class="isChildren ? 'onBig' : 'onSmall'"
+					:style="headerStyle" v-show="showHeader" v-resize="handleHeaderWidthChange">
+					<!--<i-header-logo v-if="isMobile && showMobileLogo" />-->
+					<!--<i-header-logo v-if="!isMobile && isHeaderStick && headerFix" />-->
+					<!--<i-header-collapse v-if="(isMobile || showSiderCollapse) && !hideSider" @on-toggle-drawer="handleToggleDrawer" />-->
+					<!--<i-header-reload v-if="!isMobile && showReload" @on-reload="handleReload" />-->
+					<!--<i-menu-head v-if="headerMenu && !isMobile" ref="menuHead" />-->
+					<i-header-breadcrumb ref="breadcrumb" />
+					<div class="i-layout-header-right">
+						<!-- <span class="cashier" @click="goCashier">
+							<span class="iconfont iconshouyintai"></span>
+							收银台</span> -->
+						<i-header-fullscreen v-if="isDesktop && showFullscreen" />
+						<!--<i-menu-head v-if="headerMenu && isMobile" />-->
+						<i-header-notice v-if="showNotice" />
+						<i-header-user />
+						<!--<i-header-i18n v-if="showI18n" />-->
+					</div>
+				</Header>
+			</transition>
+			<Content class="i-layout-content" :class="contentClasses">
+				<transition name="fade-quick">
+					<i-tabs v-if="tabs" v-show="showHeader" />
+				</transition>
+				<div class="i-layout-content-main">
+					<keep-alive :include="keepAlive">
+						<router-view v-if="loadRouter" />
+					</keep-alive>
+				</div>
+			</Content>
+			<i-copyright />
+		</Layout>
+		<!--<div v-if="isMobile && !hideSider">-->
+		<!--<Drawer v-model="showDrawer" placement="left" :closable="false" :class-name="drawerClasses">-->
+		<!--<i-menu-side />-->
+		<!--</Drawer>-->
+		<!--</div>-->
+		<!--        <div class="open-image" @click="clear" v-if="openImage"><img src="@/assets/images/wechat_demo.png" alt=""></div>-->
+	</Layout>
 </template>
 <script>
-import iMenuHead from "./menu-head";
-import iMenuSide from "./menu-side/index";
-import iHeaderLogo from "./header-logo";
-import iHeaderCollapse from "./header-collapse";
-import iHeaderReload from "./header-reload";
-import iHeaderBreadcrumb from "./header-breadcrumb";
-import iHeaderSearch from "./header-search";
-import iHeaderLog from "./header-log";
-import iHeaderFullscreen from "./header-fullscreen";
-import iHeaderNotice from "./header-notice";
-import iHeaderUser from "./header-user";
-import iHeaderI18n from "./header-i18n";
-import iHeaderSetting from "./header-setting";
-import iTabs from "./tabs";
-import iCopyright from "@/components/copyright";
+	import iMenuHead from "./menu-head";
+	import iMenuSide from "./menu-side/index";
+	import iHeaderLogo from "./header-logo";
+	import iHeaderCollapse from "./header-collapse";
+	import iHeaderReload from "./header-reload";
+	import iHeaderBreadcrumb from "./header-breadcrumb";
+	import iHeaderSearch from "./header-search";
+	import iHeaderLog from "./header-log";
+	import iHeaderFullscreen from "./header-fullscreen";
+	import iHeaderNotice from "./header-notice";
+	import iHeaderUser from "./header-user";
+	import iHeaderI18n from "./header-i18n";
+	import iHeaderSetting from "./header-setting";
+	import iTabs from "./tabs";
+	import iCopyright from "@/components/copyright";
 
-import { mapState, mapGetters, mapMutations } from "vuex";
-import Setting from "@/setting";
+	import {
+		mapState,
+		mapGetters,
+		mapMutations
+	} from "vuex";
+	import Setting from "@/setting";
 
-import { requestAnimation } from "@/libs/util";
-import util from "@/libs/util";
-import Cookies from "js-cookie";
+	import {
+		requestAnimation
+	} from "@/libs/util";
+	import util from "@/libs/util";
+	import Cookies from "js-cookie";
 
-import { cashierLogin } from "@/api/staff.js";
-export default {
-  name: "BasicLayout",
-  components: {
-    iMenuHead,
-    iMenuSide,
-    iCopyright,
-    iHeaderLogo,
-    iHeaderCollapse,
-    iHeaderReload,
-    iHeaderBreadcrumb,
-    iHeaderSearch,
-    iHeaderUser,
-    iHeaderI18n,
-    iHeaderLog,
-    iHeaderFullscreen,
-    iHeaderSetting,
-    iHeaderNotice,
-    iTabs,
-  },
-  // provide (){
-  //     return {
-  //         reload:this.handleReload
-  //     }
-  // },
-  data() {
-    return {
-      showDrawer: false,
-      ticking: false,
-      headerVisible: true,
-      oldScrollTop: 0,
-      isDelayHideSider: false, // hack,当从隐藏侧边栏的 header 切换到正常 header 时,防止 Logo 抖动
-      loadRouter: true,
-      openImage: true,
-    };
-  },
-  computed: {
-    ...mapState("store/layout", [
-      "siderTheme",
-      "headerTheme",
-      "headerStick",
-      "tabs",
-      "tabsFix",
-      "siderFix",
-      "headerFix",
-      "headerHide",
-      "headerMenu",
-      "isMobile",
-      "isTablet",
-      "isDesktop",
-      "menuCollapse",
-      "showMobileLogo",
-      "showSearch",
-      "showNotice",
-      "showFullscreen",
-      "showSiderCollapse",
-      "showBreadcrumb",
-      "showLog",
-      "showI18n",
-      "showReload",
-      "enableSetting",
-      "isChildren",
-    ]),
-    ...mapState("store/page", ["keepAlive"]),
-    ...mapGetters("store/menu", ["hideSider"]),
-    // 如果开启 headerMenu,且当前 header 的 hideSider 为 true,则将顶部按 headerStick 处理
-    // 这时,即使没有开启 headerStick,仍然按开启处理
-    isHeaderStick() {
-      let state = this.headerStick;
-      if (this.hideSider) state = true;
-      return state;
-    },
-    showHeader() {
-      let visible = true;
-      if (this.headerFix && this.headerHide && !this.headerVisible)
-        visible = false;
-      return visible;
-    },
-    headerClasses() {
-      return [
-        `i-layout-header-color-${this.headerTheme}`,
-        {
-          "i-layout-header-fix": this.headerFix,
-          "i-layout-header-fix-collapse": this.headerFix && this.menuCollapse,
-          "i-layout-header-mobile": this.isMobile,
-          "i-layout-header-stick": this.isHeaderStick && !this.isMobile,
-          "i-layout-header-with-menu": this.headerMenu,
-          "i-layout-header-with-hide-sider":
-            this.hideSider || this.isDelayHideSider,
-        },
-      ];
-    },
-    headerStyle() {
-      // const menuWidth = this.isHeaderStick ? 0 : this.menuCollapse ? 80 : Setting.menuSideWidth;
-      const menuWidth = this.isChildren ? 220 : 60;
-      return { width: `calc(100% - ${menuWidth}px)` };
-      // return this.isMobile || !this.headerFix ? {} : {
-      //     width: `calc(100% - ${menuWidth}px)`
-      // };
-    },
-    siderClasses() {
-      return {
-        "i-layout-sider-fix": this.siderFix,
-        "i-layout-sider-dark": this.siderTheme === "dark",
-      };
-    },
-    contentClasses() {
-      return {
-        "i-layout-content-fix-with-header": this.headerFix,
-        "i-layout-content-with-tabs": this.tabs,
-        "i-layout-content-with-tabs-fix": this.tabs && this.tabsFix,
-      };
-    },
-    insideClasses() {
-      return {
-        "i-layout-inside-fix-with-sider": this.siderFix,
-        "i-layout-inside-fix-with-sider-collapse":
-          this.siderFix && this.menuCollapse,
-        "i-layout-inside-with-hide-sider": this.hideSider,
-        "i-layout-inside-mobile": this.isMobile,
-      };
-    },
-    drawerClasses() {
-      let className = "i-layout-drawer";
-      if (this.siderTheme === "dark") className += " i-layout-drawer-dark";
-      return className;
-    },
-    menuSideWidth() {
-      return this.menuCollapse ? 60 : Setting.menuSideWidth;
-    },
-  },
-  watch: {
-    hideSider() {
-      this.isDelayHideSider = true;
-      setTimeout(() => {
-        this.isDelayHideSider = false;
-      }, 0);
-    },
-    $route(to, from) {
-      if (to.path === from.path) {
-        // 相同路由,不同参数,跳转时,重载页面
-        if (Setting.sameRouteForceUpdate) {
-          this.handleReload();
-        }
-      }
-    },
-  },
-  methods: {
-    ...mapMutations("store/layout", ["updateMenuCollapse"]),
-    ...mapMutations("store/order", [
-      "getOrderStatus",
-      "getOrderTime",
-      "getOrderNum",
-    ]),
-    handleToggleDrawer(state) {
-      if (typeof state === "boolean") {
-        this.showDrawer = state;
-      } else {
-        this.showDrawer = !this.showDrawer;
-      }
-    },
-    goCashier() {
-      console.log(util.cookies.get("uuid"));
-      let id = util.cookies.get("uuid");
-      cashierLogin(id)
-        .then((res) => {
-          Cookies.set("cashierData", JSON.stringify(res));
-          window.open(
-            window.location.protocol +
-              "//" +
-              window.location.host +
-              "/cashier/login"
-          );
-        })
-        .catch((err) => {
-          console.log(err);
-          this.$Message.error(err.msg);
-        });
-    },
-    handleScroll() {
-      if (!this.headerHide) return;
+	import {
+		cashierLogin
+	} from "@/api/staff.js";
+	export default {
+		name: "BasicLayout",
+		components: {
+			iMenuHead,
+			iMenuSide,
+			iCopyright,
+			iHeaderLogo,
+			iHeaderCollapse,
+			iHeaderReload,
+			iHeaderBreadcrumb,
+			iHeaderSearch,
+			iHeaderUser,
+			iHeaderI18n,
+			iHeaderLog,
+			iHeaderFullscreen,
+			iHeaderSetting,
+			iHeaderNotice,
+			iTabs,
+		},
+		// provide (){
+		//     return {
+		//         reload:this.handleReload
+		//     }
+		// },
+		data() {
+			return {
+				showDrawer: false,
+				ticking: false,
+				headerVisible: true,
+				oldScrollTop: 0,
+				isDelayHideSider: false, // hack,当从隐藏侧边栏的 header 切换到正常 header 时,防止 Logo 抖动
+				loadRouter: true,
+				openImage: true,
+			};
+		},
+		computed: {
+			...mapState("store/layout", [
+				"siderTheme",
+				"headerTheme",
+				"headerStick",
+				"tabs",
+				"tabsFix",
+				"siderFix",
+				"headerFix",
+				"headerHide",
+				"headerMenu",
+				"isMobile",
+				"isTablet",
+				"isDesktop",
+				"menuCollapse",
+				"showMobileLogo",
+				"showSearch",
+				"showNotice",
+				"showFullscreen",
+				"showSiderCollapse",
+				"showBreadcrumb",
+				"showLog",
+				"showI18n",
+				"showReload",
+				"enableSetting",
+				"isChildren",
+			]),
+			...mapState("store/page", ["keepAlive"]),
+			...mapGetters("store/menu", ["hideSider"]),
+			// 如果开启 headerMenu,且当前 header 的 hideSider 为 true,则将顶部按 headerStick 处理
+			// 这时,即使没有开启 headerStick,仍然按开启处理
+			isHeaderStick() {
+				let state = this.headerStick;
+				if (this.hideSider) state = true;
+				return state;
+			},
+			showHeader() {
+				let visible = true;
+				if (this.headerFix && this.headerHide && !this.headerVisible)
+					visible = false;
+				return visible;
+			},
+			headerClasses() {
+				return [
+					`i-layout-header-color-${this.headerTheme}`,
+					{
+						"i-layout-header-fix": this.headerFix,
+						"i-layout-header-fix-collapse": this.headerFix && this.menuCollapse,
+						"i-layout-header-mobile": this.isMobile,
+						"i-layout-header-stick": this.isHeaderStick && !this.isMobile,
+						"i-layout-header-with-menu": this.headerMenu,
+						"i-layout-header-with-hide-sider": this.hideSider || this.isDelayHideSider,
+					},
+				];
+			},
+			headerStyle() {
+				// const menuWidth = this.isHeaderStick ? 0 : this.menuCollapse ? 80 : Setting.menuSideWidth;
+				const menuWidth = this.isChildren ? 220 : 60;
+				return {
+					width: `calc(100% - ${menuWidth}px)`
+				};
+				// return this.isMobile || !this.headerFix ? {} : {
+				//     width: `calc(100% - ${menuWidth}px)`
+				// };
+			},
+			siderClasses() {
+				return {
+					"i-layout-sider-fix": this.siderFix,
+					"i-layout-sider-dark": this.siderTheme === "dark",
+				};
+			},
+			contentClasses() {
+				return {
+					"i-layout-content-fix-with-header": this.headerFix,
+					"i-layout-content-with-tabs": this.tabs,
+					"i-layout-content-with-tabs-fix": this.tabs && this.tabsFix,
+				};
+			},
+			insideClasses() {
+				return {
+					"i-layout-inside-fix-with-sider": this.siderFix,
+					"i-layout-inside-fix-with-sider-collapse": this.siderFix && this.menuCollapse,
+					"i-layout-inside-with-hide-sider": this.hideSider,
+					"i-layout-inside-mobile": this.isMobile,
+				};
+			},
+			drawerClasses() {
+				let className = "i-layout-drawer";
+				if (this.siderTheme === "dark") className += " i-layout-drawer-dark";
+				return className;
+			},
+			menuSideWidth() {
+				return this.menuCollapse ? 60 : Setting.menuSideWidth;
+			},
+		},
+		watch: {
+			hideSider() {
+				this.isDelayHideSider = true;
+				setTimeout(() => {
+					this.isDelayHideSider = false;
+				}, 0);
+			},
+			$route(to, from) {
+				if (to.path === from.path) {
+					// 相同路由,不同参数,跳转时,重载页面
+					if (Setting.sameRouteForceUpdate) {
+						this.handleReload();
+					}
+				}
+			},
+		},
+		methods: {
+			...mapMutations("store/layout", ["updateMenuCollapse"]),
+			...mapMutations("store/order", [
+				"getOrderStatus",
+				"getOrderTime",
+				"getOrderNum",
+			]),
+			handleToggleDrawer(state) {
+				if (typeof state === "boolean") {
+					this.showDrawer = state;
+				} else {
+					this.showDrawer = !this.showDrawer;
+				}
+			},
+			goCashier() {
+				console.log(util.cookies.get("uuid"));
+				let id = util.cookies.get("uuid");
+				cashierLogin(id)
+					.then((res) => {
+						Cookies.set("cashierData", JSON.stringify(res));
+						window.open(
+							window.location.protocol +
+							"//" +
+							window.location.host +
+							"/cashier/login"
+						);
+					})
+					.catch((err) => {
+						console.log(err);
+						this.$Message.error(err.msg);
+					});
+			},
+			handleScroll() {
+				if (!this.headerHide) return;
 
-      const scrollTop =
-        document.body.scrollTop + document.documentElement.scrollTop;
+				const scrollTop =
+					document.body.scrollTop + document.documentElement.scrollTop;
 
-      if (!this.ticking) {
-        this.ticking = true;
-        requestAnimation(() => {
-          if (this.oldScrollTop > scrollTop) {
-            this.headerVisible = true;
-          } else if (scrollTop > 300 && this.headerVisible) {
-            this.headerVisible = false;
-          } else if (scrollTop < 300 && !this.headerVisible) {
-            this.headerVisible = true;
-          }
-          this.oldScrollTop = scrollTop;
-          this.ticking = false;
-        });
-      }
-    },
-    handleHeaderWidthChange() {
-      const $breadcrumb = this.$refs.breadcrumb;
-      if ($breadcrumb) {
-        $breadcrumb.handleGetWidth();
-        $breadcrumb.handleCheckWidth();
-      }
-      const $menuHead = this.$refs.menuHead;
-      if ($menuHead) {
-        $menuHead.handleGetMenuHeight();
-      }
-    },
-    handleReload() {
-      this.loadRouter = false;
-      this.getOrderStatus("");
-      this.getOrderTime("");
-      this.getOrderNum("");
-      this.$nextTick(() => {
-        this.loadRouter = true;
-      });
-    },
-    clear() {
-      this.openImage = false;
-    },
-  },
-  mounted() {
-    document.addEventListener("scroll", this.handleScroll, { passive: true });
-  },
-  beforeDestroy() {
-    document.removeEventListener("scroll", this.handleScroll);
-  },
-  created() {
-    if (this.isTablet && this.showSiderCollapse) this.updateMenuCollapse(true);
-  },
-};
+				if (!this.ticking) {
+					this.ticking = true;
+					requestAnimation(() => {
+						if (this.oldScrollTop > scrollTop) {
+							this.headerVisible = true;
+						} else if (scrollTop > 300 && this.headerVisible) {
+							this.headerVisible = false;
+						} else if (scrollTop < 300 && !this.headerVisible) {
+							this.headerVisible = true;
+						}
+						this.oldScrollTop = scrollTop;
+						this.ticking = false;
+					});
+				}
+			},
+			handleHeaderWidthChange() {
+				const $breadcrumb = this.$refs.breadcrumb;
+				if ($breadcrumb) {
+					$breadcrumb.handleGetWidth();
+					$breadcrumb.handleCheckWidth();
+				}
+				const $menuHead = this.$refs.menuHead;
+				if ($menuHead) {
+					$menuHead.handleGetMenuHeight();
+				}
+			},
+			handleReload() {
+				this.loadRouter = false;
+				this.getOrderStatus("");
+				this.getOrderTime("");
+				this.getOrderNum("");
+				this.$nextTick(() => {
+					this.loadRouter = true;
+				});
+			},
+			clear() {
+				this.openImage = false;
+			},
+		},
+		mounted() {
+			document.addEventListener("scroll", this.handleScroll, {
+				passive: true
+			});
+		},
+		beforeDestroy() {
+			document.removeEventListener("scroll", this.handleScroll);
+		},
+		created() {
+			if (this.isTablet && this.showSiderCollapse) this.updateMenuCollapse(true);
+		},
+	};
 </script>
 <style scoped lang="stylus">
-/deep/.i-layout-menu-head-title-text {
-  font-size: 15px;
-  margin-left: 16px;
-}
+	/deep/.i-layout-menu-head-title-text {
+		font-size: 15px;
+		margin-left: 16px;
+	}
 
-/deep/.ivu-layout-header {
-  height: 60px;
-  line-height: 60px;
-}
+	/deep/.ivu-layout-header {
+		height: 60px;
+		line-height: 60px;
+	}
 
-/deep/.bodyBig {
-  padding-left: 220px;
-}
+	/deep/.bodyBig {
+		padding-left: 220px;
+	}
 
-/deep/.bodySmall {
-  padding-left: 60px;
-}
+	/deep/.bodySmall {
+		padding-left: 60px;
+	}
 
-/deep/.onBig {
-  left: 220px !important;
-}
+	/deep/.onBig {
+		left: 220px !important;
+	}
 
-/deep/.onSmall {
-  left: 60px !important;
-}
+	/deep/.onSmall {
+		left: 60px !important;
+	}
 
-.i-layout-content-main {
-  /* height 100%; */
-}
+	.i-layout-content-main {
+		/* height 100%; */
+	}
 
-.i-layout-header {
-  z-index: 19;
-}
+	.i-layout-header {
+		z-index: 19;
+	}
 
-.open-image {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: fixed;
-  background-color: rgba(0, 0, 0, 0.6);
-  height: 100%;
-  width: 100%;
-  top: 0;
-  left: 0;
-  z-index: 1000;
-}
+	.open-image {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		position: fixed;
+		background-color: rgba(0, 0, 0, 0.6);
+		height: 100%;
+		width: 100%;
+		top: 0;
+		left: 0;
+		z-index: 1000;
+	}
 
-.cashier {
-  width: max-content;
-  height: 30px;
-  background-color: rgba(64, 144, 247, 1);
-  padding: 10px 15px;
-  color: #fff;
-  border-radius: 20px;
-  cursor: pointer;
-  margin-right 10px
-}
+	.cashier {
+		width: max-content;
+		height: 30px;
+		background-color: rgba(64, 144, 247, 1);
+		padding: 10px 15px;
+		color: #fff;
+		border-radius: 20px;
+		cursor: pointer;
+		margin-right 10px
+	}
 </style>

+ 271 - 266
src/layouts/basic-layout/menu-side/index.vue

@@ -1,290 +1,295 @@
 <template>
-  <div class="acea-row">
-    <div
-      class="i-layout-sider-logo"
-      :class="{ 'i-layout-sider-logo-dark': siderTheme === 'dark' }"
-    >
-      <transition name="fade-quick">
-        <i-link style="width: 100%;height: 60px;display: block;line-height: 60px;">
-          <img :src="logoSmall" v-if="menuCollapse" />
-          <img :src="logo" v-else-if="siderTheme === 'light'" />
-          <img :src="logo" v-else />
-        </i-link>
-      </transition>
-      <div class="list">
-        <div :class="{on:parentCur == index}" class="parent-nav-item" v-for="(nav,index) in filterSider" :key="index" @click="handelParentClick(nav,index)">
-          <Icon :type="nav.icon" v-if="nav.icon" class="icon" />
-          <div>{{nav.title}}</div>
-        </div>
-      </div>
-    </div>
-    <div class="menu" v-if="filterSider[parentCur].children">
-      <div class="title">{{ filterSider[parentCur].title}}</div>
-      <Menu
-              ref="menu"
-              class="i-layout-menu-side i-scrollbar-hide"
-              :theme="siderTheme"
-              :accordion="menuAccordion"
-              :active-name="activePath"
-              :open-names="openNames"
-              width="auto"
-      >
-        <template v-if="!menuCollapse" v-for="(item, index) in filterSider[parentCur].children">
-          <i-menu-side-item
-                  v-if="item.children === undefined || !item.children.length"
-                  :menu="item"
-                  :key="index"
-          />
-          <i-menu-side-submenu v-else :menu="item" :key="index" />
-        </template>
-        <template v-else>
-          <Tooltip
-                  :content="tTitle(item.title)"
-                  placement="right"
-                  v-if="item.children === undefined || !item.children.length"
-                  :key="index"
-          >
-            <i-menu-side-item :menu="item" hide-title />
-          </Tooltip>
-          <i-menu-side-collapse v-else :menu="item" :key="index" top-level />
-        </template>
-      </Menu>
-    </div>
-  </div>
+	<div class="acea-row">
+		<div class="i-layout-sider-logo" :class="{ 'i-layout-sider-logo-dark': siderTheme === 'dark' }">
+			<transition name="fade-quick">
+				<i-link style="width: 100%;height: 60px;display: block;line-height: 60px;">
+					<img :src="logoSmall" v-if="menuCollapse" />
+					<img :src="logo" v-else-if="siderTheme === 'light'" />
+					<img :src="logo" v-else />
+				</i-link>
+			</transition>
+			<div class="list">
+				<div :class="{on:parentCur == index}" class="parent-nav-item" v-for="(nav,index) in filterSider"
+					:key="index" @click="handelParentClick(nav,index)">
+					<Icon :type="nav.icon" v-if="nav.icon" class="icon" />
+					<div>{{nav.title}}</div>
+				</div>
+			</div>
+		</div>
+		<div class="menu" v-if="filterSider[parentCur].children">
+			<div class="title">{{ filterSider[parentCur].title}}</div>
+			<Menu ref="menu" class="i-layout-menu-side i-scrollbar-hide" :theme="siderTheme" :accordion="menuAccordion"
+				:active-name="activePath" :open-names="openNames" width="auto">
+				<template v-if="!menuCollapse" v-for="(item, index) in filterSider[parentCur].children">
+					<i-menu-side-item v-if="item.children === undefined || !item.children.length" :menu="item"
+						:key="index" />
+					<i-menu-side-submenu v-else :menu="item" :key="index" />
+				</template>
+				<template v-else>
+					<Tooltip :content="tTitle(item.title)" placement="right"
+						v-if="item.children === undefined || !item.children.length" :key="index">
+						<i-menu-side-item :menu="item" hide-title />
+					</Tooltip>
+					<i-menu-side-collapse v-else :menu="item" :key="index" top-level />
+				</template>
+			</Menu>
+		</div>
+	</div>
 </template>
 <script>
-import iMenuSideItem from "./menu-item";
-import iMenuSideSubmenu from "./submenu";
-import iMenuSideCollapse from "./menu-collapse";
-import tTitle from "../mixins/translate-title";
+	import iMenuSideItem from "./menu-item";
+	import iMenuSideSubmenu from "./submenu";
+	import iMenuSideCollapse from "./menu-collapse";
+	import tTitle from "../mixins/translate-title";
 
-import { mapState, mapGetters } from "vuex";
+	import {
+		mapState,
+		mapGetters
+	} from "vuex";
 
-export default {
-  name: "iMenuSide",
-  mixins: [tTitle],
-  components: { iMenuSideItem, iMenuSideSubmenu, iMenuSideCollapse },
-  props: {
-    hideLogo: {
-      type: Boolean,
-      default: false,
-    },
-  },
-  data() {
-    return {
-      logo: require("@/assets/images/logo.png"),
-      logoSmall: require("@/assets/images/logo-small.png"),
-      parentCur:0,
-    };
-  },
-  computed: {
-    ...mapState("store/layout", [
-      "siderTheme",
-      "menuAccordion",
-      "menuCollapse",
-      "isChildren"
-    ]),
-    ...mapState("store/menu", ["activePath", "openNames"]),
-    ...mapGetters("store/menu", ["filterSider"]),
-  },
-  watch: {
-		$route: {
-		  handler(n) {
-				let that = this;
-				let activeLink = n.path;
-				let storage=window.localStorage;
-				storage.setItem('chiidLinkStore',activeLink);
-				let funLink = function (children,index) {
-					children.forEach((item)=>{
-						if(activeLink == item.path){
-						    that.parentCur = index
-								storage.setItem('parentLinkStore',that.filterSider[index].path);
+	export default {
+		name: "iMenuSide",
+		mixins: [tTitle],
+		components: {
+			iMenuSideItem,
+			iMenuSideSubmenu,
+			iMenuSideCollapse
+		},
+		props: {
+			hideLogo: {
+				type: Boolean,
+				default: false,
+			},
+		},
+		data() {
+			return {
+				logo: require("@/assets/images/logo.png"),
+				logoSmall: require("@/assets/images/logo-small.png"),
+				parentCur: 0,
+			};
+		},
+		computed: {
+			...mapState("store/layout", [
+				"siderTheme",
+				"menuAccordion",
+				"menuCollapse",
+				"isChildren"
+			]),
+			...mapState("store/menu", ["activePath", "openNames"]),
+			...mapGetters("store/menu", ["filterSider"]),
+		},
+		watch: {
+			$route: {
+				handler(n) {
+					let that = this;
+					let activeLink = n.path;
+					let storage = window.localStorage;
+					storage.setItem('chiidLinkStore', activeLink);
+					let funLink = function(children, index) {
+						children.forEach((item) => {
+							if (activeLink == item.path) {
+								that.parentCur = index
+								storage.setItem('parentLinkStore', that.filterSider[index].path);
 								if (that.filterSider[index].hasOwnProperty('children')) {
 									storage.setItem('isChildren', true);
 								} else {
 									storage.setItem('isChildren', false);
 								}
 								return false;
+							}
+							if (item.children) {
+								funLink(item.children, index);
+							}
+						})
+					}
+
+					this.filterSider.forEach((item, index) => {
+						if (item.children) {
+							funLink(item.children, index);
+						} else {
+							if (activeLink == item.path) {
+								that.parentCur = index
+								that.$store.commit('admin/layout/setParentCur', index);
+								that.$store.commit('admin/layout/setChildren', false);
+								return false;
+							}
 						}
-						if(item.children){
-							funLink(item.children,index);
+					})
+					this.handleUpdateMenuState();
+				},
+				immediate: true,
+			},
+			// 在展开/收起侧边菜单栏时,更新一次 menu 的状态
+			menuCollapse() {
+				this.handleUpdateMenuState();
+			},
+		},
+		mounted() {
+			this.getLogo();
+			this.activeMenu();
+		},
+		methods: {
+			activeMenu() {
+				let storage = window.localStorage;
+				let activeLink = storage.getItem('parentLinkStore');
+				let chiidLink = storage.getItem('chiidLinkStore');
+				if (storage.getItem('isChildrenStore') == null || activeLink == this.filterSider[0].path) {
+					if (this.filterSider[0].hasOwnProperty('children')) {
+						this.$store.commit('store/layout/setChildren', true);
+					} else {
+						this.$store.commit('store/layout/setChildren', false);
+					}
+				} else {
+					this.$store.commit('store/layout/setChildren', JSON.parse(storage.getItem('isChildrenStore')));
+					this.filterSider.forEach((item, index) => {
+						if (activeLink == item.path) {
+							this.parentCur = index
 						}
 					})
+					this.$router.push({
+						path: chiidLink
+					})
 				}
-				
-				this.filterSider.forEach((item,index)=>{
-					if(item.children){
-						funLink(item.children,index);
-					}else{
-						if(activeLink == item.path){
-						    that.parentCur = index
-						    that.$store.commit('admin/layout/setParentCur', index);
-								that.$store.commit('admin/layout/setChildren', false);
-								return false;
+			},
+			handelParentClick(nav, index) {
+				this.parentCur = index;
+				let chiidLink = '';
+				let storage = window.localStorage;
+				if (nav.children) {
+					if (nav.children[0].children) {
+						var recursiveFunction = function() {
+							const getStr = function(list) {
+								list.children.forEach(function(row, index) {
+									if (list.children[0].children) {
+										getStr(list.children[0])
+									} else {
+										if (index == 0) return chiidLink = row.path
+									}
+								})
+							}
+							getStr(nav.children[0])
 						}
+						recursiveFunction()
+					} else {
+						chiidLink = nav.children[0].path
 					}
-				})
-				this.handleUpdateMenuState();
-		  },
-		  immediate: true,
-		},
-    // 在展开/收起侧边菜单栏时,更新一次 menu 的状态
-    menuCollapse() {
-      this.handleUpdateMenuState();
-    },
-  },
-  mounted() {
-    this.getLogo();
-    this.activeMenu();
-  },
-  methods: {
-    activeMenu(){
-      let storage=window.localStorage;
-			let activeLink = storage.getItem('parentLinkStore');
-			let chiidLink = storage.getItem('chiidLinkStore');
-			if(storage.getItem('isChildrenStore') == null || activeLink == this.filterSider[0].path){
-				if(this.filterSider[0].hasOwnProperty('children')){
-					 this.$store.commit('store/layout/setChildren', true);
-				}else{
+					this.$store.commit('store/layout/setChildren', true);
+					storage.setItem('isChildrenStore', true);
+				} else {
+					chiidLink = nav.path
 					this.$store.commit('store/layout/setChildren', false);
+					storage.setItem('isChildrenStore', false);
 				}
-			}else{
-				this.$store.commit('store/layout/setChildren', JSON.parse(storage.getItem('isChildrenStore')));
-				this.filterSider.forEach((item,index)=>{
-				  if(activeLink == item.path){
-				     this.parentCur = index
-				  }
-				})
 				this.$router.push({
-				  path:chiidLink
+					path: chiidLink
 				})
-			}
-    },
-    handelParentClick(nav,index){
-      this.parentCur = index;
-      let chiidLink = '';
-      let storage=window.localStorage;
-      if(nav.children){
-        if(nav.children[0].children){
-          var recursiveFunction = function () {
-            const getStr = function (list) {
-              list.children.forEach(function (row, index) {
-                if (list.children[0].children) {
-                  getStr(list.children[0])
-                } else {
-                  if(index == 0) return chiidLink = row.path
-                }
-              })
-            }
-            getStr(nav.children[0])
-          }
-          recursiveFunction()
-        }else {
-           chiidLink = nav.children[0].path
-        }
-        this.$store.commit('store/layout/setChildren', true);
-        storage.setItem('isChildrenStore',true);
-      }else {
-        chiidLink = nav.path
-        this.$store.commit('store/layout/setChildren', false);
-        storage.setItem('isChildrenStore',false);
-      }
-      this.$router.push({
-        path:chiidLink
-      })
-      storage.setItem('parentLinkStore',nav.path);
-			storage.setItem('chiidLinkStore',chiidLink);
-    },
-    handleUpdateMenuState() {
-      this.$nextTick(() => {
-        if (this.$refs.menu) {
-          this.$refs.menu.updateActiveName();
-          if (this.menuAccordion) this.$refs.menu.updateOpened();
-        }
-      });
-    },
-    getLogo() {
-			let storage=window.localStorage;
-			let value = storage.getItem('userInfoStore')
-			let infoUser = JSON.parse(value);
-			this.logo = infoUser.logoSmall ? infoUser.logoSmall : this.logoSmall;
-			this.logoSmall = infoUser.logoSmall ? infoUser.logoSmall : this.logoSmall;
-      // this.$store
-      //   .dispatch("store/db/get", {
-      //     dbName: "sys",
-      //     path: "user.info",
-      //     user: true,
-      //   })
-      //   .then((res) => {
-      //     this.logo = res.logo ? res.logo : this.logo;
-      //     this.logoSmall = res.logoSmall ? res.logoSmall : this.logoSmall;
-      //   });
-    },
-  },
-};
+				storage.setItem('parentLinkStore', nav.path);
+				storage.setItem('chiidLinkStore', chiidLink);
+			},
+			handleUpdateMenuState() {
+				this.$nextTick(() => {
+					if (this.$refs.menu) {
+						this.$refs.menu.updateActiveName();
+						if (this.menuAccordion) this.$refs.menu.updateOpened();
+					}
+				});
+			},
+			getLogo() {
+				let storage = window.localStorage;
+				let value = storage.getItem('userInfoStore')
+				let infoUser = JSON.parse(value);
+				this.logo = infoUser.logoSmall ? infoUser.logoSmall : this.logoSmall;
+				this.logoSmall = infoUser.logoSmall ? infoUser.logoSmall : this.logoSmall;
+				// this.$store
+				//   .dispatch("store/db/get", {
+				//     dbName: "sys",
+				//     path: "user.info",
+				//     user: true,
+				//   })
+				//   .then((res) => {
+				//     this.logo = res.logo ? res.logo : this.logo;
+				//     this.logoSmall = res.logoSmall ? res.logoSmall : this.logoSmall;
+				//   });
+			},
+		},
+	};
 </script>
 <style scoped lang="stylus">
-  ::-webkit-scrollbar-thumb{
-    -webkit-box-shadow: inset 0 0 6px #fff;
-  }
-  ::-webkit-scrollbar {
-    width: 0!important; /*对垂直流动条有效*/
-  }
-  /deep/.ivu-menu-light.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu){
-    background: #F0F2F5;
-    color #515a6e;
-  }
-  /deep/.ivu-menu-light.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu):after{
-    background: #F0F2F5;
-  }
-  /deep/.i-layout-menu-side .ivu-menu-submenu-title, /deep/.i-layout-menu-side .ivu-menu-item{
-    height 40px!important;
-    line-height 40px;
-    padding 0 10px 0 20px!important;
-  }
-  .menu{
-    width 160px;
-    .title{
-       height 61px;
-       width 100%;
-      text-align center;
-      line-height 61px;
-      font-size 15px;
-      font-weight 600;
-      border-bottom: 1px solid #e9e9e9;
-      border-right 1px solid #f7f7f7;
-    }
-  }
-  .i-layout-sider-logo{
-    height calc(100vh);
-    line-height unset;
-    width 60px;
-    background-color #001529;
-    color #fff;
-    font-size 14px;
-    border-bottom unset;
-    overflow-y auto;
-    overflow-x: hidden;
-    .list{
-      // margin-top 30px;
-      .parent-nav-item{
-        width 100%;
-        /*height 60px;*/
-        padding 11px 0;
-        margin-bottom 5px;
-        cursor pointer;
-        &.on{
-          background-color #1890FF;
-        }
-        .icon{
-          font-size 18px;
-        }
-      }
-    }
-    img{
-      width 41px;
-      height 41px;
-      border-radius 50%;
-    }
-  }
+	::-webkit-scrollbar-thumb {
+		-webkit-box-shadow: inset 0 0 6px #fff;
+	}
+
+	::-webkit-scrollbar {
+		width: 0 !important;
+		/*对垂直流动条有效*/
+	}
+
+	/deep/.ivu-menu-light.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu) {
+		background: #F0F2F5;
+		color #515a6e;
+	}
+
+	/deep/.ivu-menu-light.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu):after {
+		background: #F0F2F5;
+	}
+
+	/deep/.i-layout-menu-side .ivu-menu-submenu-title,
+	/deep/.i-layout-menu-side .ivu-menu-item {
+		height 40px !important;
+		line-height 40px;
+		padding 0 10px 0 20px !important;
+	}
+
+	.menu {
+		width 160px;
+
+		.title {
+			height 61px;
+			width 100%;
+			text-align center;
+			line-height 61px;
+			font-size 15px;
+			font-weight 600;
+			border-bottom: 1px solid #e9e9e9;
+			border-right 1px solid #f7f7f7;
+		}
+	}
+
+	.i-layout-sider-logo {
+		height calc(100vh);
+		line-height unset;
+		width 60px;
+		background-color #001529;
+		color #fff;
+		font-size 14px;
+		border-bottom unset;
+		overflow-y auto;
+		overflow-x: hidden;
+
+		.list {
+
+			// margin-top 30px;
+			.parent-nav-item {
+				width 100%;
+				/*height 60px;*/
+				padding 11px 0;
+				margin-bottom 5px;
+				cursor pointer;
+
+				&.on {
+					background-color #1890FF;
+				}
+
+				.icon {
+					font-size 18px;
+				}
+			}
+		}
+
+		img {
+			width 41px;
+			height 41px;
+			border-radius 50%;
+		}
+	}
 </style>

+ 12 - 8
src/pages/index/index.vue

@@ -289,8 +289,12 @@
 			},
 			orderchart(){
 				orderChart({data:this.formValidate.data}).then(res=>{
+					console.log(res,'22');
 					this.tabList2 = res.data.order_list
-					this.infoLists = res.data
+					this.infoLists = res.data.filter((item)=>{
+						console.log(item,'22');
+						return false;
+					})
 					
 				})
 			},
@@ -351,13 +355,13 @@
 					    className: "iconshouyindingdanjine",
 							type:1
 					  },
-					  {
-					    col: 6,
-					    count: this.extractStatistics.vip_price,
-					    name: "付费会员金额",
-					    className: "iconfufeihuiyuanjine",
-							type:1
-					  },
+					  // {
+					  //   col: 6,
+					  //   count: this.extractStatistics.vip_price,
+					  //   name: "付费会员金额",
+					  //   className: "iconfufeihuiyuanjine",
+							// type:1
+					  // },
 					  {
 					    col: 6,
 					    count: this.extractStatistics.store_order_price,

+ 7 - 7
src/pages/user/index.vue

@@ -98,8 +98,8 @@
 							<a @click="detail(row)">详情</a>
 							<Divider type="vertical" v-if="row.delete_time == null" />
 							<a v-if="row.delete_time == null" @click="recharge(row)">充值</a>
-							<Divider type="vertical" v-if="row.delete_time == null" />
-							<a v-if="row.delete_time == null" @click="paying(row)">付费会员</a>
+							<!-- <Divider type="vertical" v-if="row.delete_time == null" />
+							<a v-if="row.delete_time == null" @click="paying(row)">付费会员</a> -->
 							<Divider type="vertical" v-if="row.delete_time == null" />
 							<a v-if="row.delete_time == null" @click="openLabel(row)">设置标签</a>
 							<!-- <Divider type="vertical"/>
@@ -186,11 +186,11 @@
 					  slot: "nickname",
 					  minWidth: 150,
 					},
-					{
-					  title: "付费会员",
-					  slot: "isMember",
-					  minWidth: 90,
-					},
+					// {
+					//   title: "付费会员",
+					//   slot: "isMember",
+					//   minWidth: 90,
+					// },
 					{
 					  title: "用户等级",
 					  key: "level",

+ 7 - 1
vue.config.js

@@ -15,7 +15,13 @@ module.exports = {
     runtimeCompiler: true,
     productionSourceMap: false,
     devServer: {
-        publicPath: Setting.publicPath
+        publicPath: Setting.publicPath,
+		"proxy" : {
+		    "/storeapi" : {
+		        "target" : "https://ygs.hqgjsmc.com",
+		        // "changeOrigin": true,
+		    }
+		},
     },
     css: {
         loaderOptions: {