hejianhao
2025-01-08 d8f03af7716a636ca48b87da29bcd6ccb2e6b8c6
删除没用的东西
141个文件已删除
8个文件已修改
2个文件已添加
1162 ■■■■■ 已修改文件
package.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 534 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font.css 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/HarmonyOS Sans SC Black.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/HarmonyOS_Sans_TC_Bold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/PingFang Medium.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/PingFang SC-Regular.otf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/PingFangSC-semibold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/Source Han Sans CN Heavy Bold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/Source Han Sans CN Regular.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/DarkBlueBG.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/Fill 1@2x (1).png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/Group@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/Rectangle@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/_ @2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/add.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/backHome.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/buy.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/daochu@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/data.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/gouxuan@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/icon1@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/icon_checkbox@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/icon_close@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/icon_login_password@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/icon_login_user@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/icondisable@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/img1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/img2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/img3.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/img4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/img5.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/img6.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/order.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/order12x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/reduce.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/remembPassword.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/shouqi@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/swsk.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/tianjia (2)@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/upload.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/DarkBlue/编组@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/Background@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/Rectangle@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/Rectangle@2x1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/account.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/add.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/arrow-left@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/bg-hide2@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/bg-hide@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/check.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/close@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/closeModal.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/greenAdd.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/headerBg.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/password.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/reduce@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Green/wan@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Group10@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/Bitmap@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/Group@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/activeClass.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/activeGoods.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/activeMeal.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/activeStock.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/addGoods.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/ant-btn.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/back.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/bg4@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/cardBgImg.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/closeModal.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/dianpu.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/export.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/goodsManageMent.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/home.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/noActiveClass.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/noActiveGoods.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/noActiveMeal.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/noActiveStock.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/noAddGoods.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/noOrder.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/orderManagement.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/orderNum1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/orderNum2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/orderNum3.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/orderNum4.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/required.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/storeroom.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/tableEtiquette.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/upload.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/workbench.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/Purple/yesOrder.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/active-be-put.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/active-data.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/active-dining-table.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/active-goods.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/active-order-a-meal.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/active-order.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/back@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/be-put.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/Delete@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/check.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/fh@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/jia.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/jian.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/account.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/bg.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/centerBG.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/cube.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/loginBtn.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/lookPassword.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/noPassword.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/login/password.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/menuDelete.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/notice@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/right.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/shopCar.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/shouqi.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/blue/zhan.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/close.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/data.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/dining-table.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/export@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/goods.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/icon4@2x(1).png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/icon4@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/icondetail2@2x(2).png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/icondetail3@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/icondetail@2x(1).png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/order-a-meal.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/order.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/rightIcon@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/search-outline@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/storeLogo.png 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/blue.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/routers.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils.js 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/Blue/Login.vue 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/Login.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/goodsOrderService.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/orderService.js 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/restaurantOrder.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/service.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/statistics.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/storeService.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/tableService.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -10,10 +10,8 @@
  "dependencies": {
    "@jiaminghi/data-view": "^2.4.1",
    "@tailwindcss/postcss7-compat": "^2.2.17",
    "autofit.js": "^3.0.4",
    "axios": "^1.5.0",
    "core-js": "^2.6.5",
    "echarts": "^5.5.0",
    "element-ui": "^2.15.14",
    "ezuikit-js": "^7.7.10",
    "moment": "^2.29.4",
src/App.vue
@@ -1,552 +1,26 @@
<template>
  <div id="app">
    <transition v-if="['BlueIndex', 'Green', 'Purple'].includes(subjectUI)">
      <component :is="subjectUI"></component>
    </transition>
    <div class="three_app" v-if="['darkBlue'].includes(subjectUI)">
      <div class="three_header" v-if="tokenFlag">
        <div>
          <img @click="goHome" src="./assets/img/DarkBlue/backHome.png" />
          <div @click="goBack">返回上一页</div>
        </div>
        <div @click="openDetail">
          <img :src="info.systemLogo || logoUrl" />
          <div>{{ info.shopName || '-' }}</div>
        </div>
      </div>
      <div class="three_UI oa" :class="tokenFlag && 'dark'" v-if="['darkBlue'].includes(subjectUI)">
        <router-view />
      </div>
      <el-drawer custom-class="drawer_class" :visible.sync="drawer" :with-header="false">
        <div class="drawer_content">
          <div class="fs--24 font-w500 mt--44 txt-center">店铺信息</div>
          <div class="flex mt--55 fs--18 font-w500 ml--127 color1">
            <div class="w--108 mr--30">
              <div>店铺名称:</div>
              <div class="mt--25">店铺类型:</div>
              <div class="mt--25">店铺负责人:</div>
              <div class="mt--25">店铺账号:</div>
              <div class="mt--25">初始密码:</div>
            </div>
            <div class="font-bold">
              <div>{{ info.shopName || '-' }}</div>
              <div class="mt--25">{{ info.shopType ? ['餐饮', '货物销售'][info.shopType - 1] : '-' }}</div>
              <div class="mt--25">{{ info.shopHead || '-' }}</div>
              <div class="mt--25">{{ info.account || '-' }}</div>
              <div class="mt--25 flex a-center">
                <div>123456</div>
                <div class="license" @click="showOpen = true">修改密码</div>
              </div>
            </div>
          </div>
          <div class="ml--127 mt--26 fs--18 font-w500 color1">
            <div>店铺营业执照:</div>
            <el-image style="width: 280px; height: 210px;margin-top: 24px;" :src="info.businessLicense"
              :preview-src-list="[info.businessLicense]">
            </el-image>
          </div>
        </div>
        <div class="logOut_class" @click="logOut">退出登录</div>
        <img class="close" src="./assets/img/DarkBlue/shouqi@2x.png" @click="drawer = false" />
      </el-drawer>
      <el-dialog custom-class="dialog_class" :visible.sync="showOpen" width="680px" :modal-append-to-body="false">
        <div class="reset_password">
          <div class="top-con">
            <div class="reset_password_title">修改密码</div>
            <img class="pointer" @click="close" src="./assets/img/DarkBlue/icon_close@2x.png" />
          </div>
          <el-input placeholder="请输入登录密码" v-model="ruleForm.account">
            <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_user@2x.png" />
          </el-input>
          <el-input placeholder="请输入原密码" v-model="ruleForm.oldPassword">
            <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_password@2x.png" />
          </el-input>
          <el-input placeholder="请输入新密码" v-model="ruleForm.password">
            <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_password@2x.png" />
          </el-input>
          <el-input placeholder="确认新密码" v-model="ruleForm.confirmPassword">
            <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_password@2x.png" />
          </el-input>
          <el-button :loading="loading" type="primary" @click="submit">确认修改</el-button>
        </div>
      </el-dialog>
    </div>
    <<router-view />
  </div>
</template>
<script>
import { Message } from 'element-ui'
import { mapState, mapActions } from "vuex";
import "./assets/font.css";
import "./utils/basics.less";
import "./utils/app.css";
import autofit from "autofit.js";
import { login, getStoreDetail, reLogin } from "@/view/service";
export default {
  name: "app",
  components: {
    BlueIndex,
    Green,
    Purple
  },
  computed: {
    ...mapState(["subjectUI", "loginOrIndex"]),
  },
  data() {
    return {
      logoUrl: require('./assets/storeLogo.png'),
      tokenFlag: false,
      info: {},
      drawer: false,
      showOpen: false,
      loading: false,
      ruleForm: {
        account: '',
        oldPassword: '',
        password: '',
        confirmPassword: ''
      },
    };
  },
  created() {
    let path = this.$route.path;
    let query = this.$route.query;
    if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') {
      if (this.subjectUI == 'BlueIndex' || this.subjectUI == 'Green' || this.subjectUI == 'Purple') {
        if (Object.keys(query).length == 0) {
          if (this.subjectUI == 'Green' || this.subjectUI == 'Purple') {
            this.setLoginOrIndex('Layout');
          } else {
            this.setLoginOrIndex('Blue');
          }
          if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') {
            if (path == '/') {
              if (this.subjectUI == 'Purple') {
                this.$router.replace('/statistics')
              } else {
                if (localStorage.getItem('roleType') == 3) {
                  this.$router.replace('/goodsOrder')
                } else {
                  this.$router.replace('/buffetTable')
                }
              }
            } else {
              this.$router.replace(path)
            }
          } else {
            this.$router.replace('/')
          }
        } else {
          reLogin({ username: query.username }).then(resp => {
            localStorage.setItem('token', resp.data.token)
            getStoreDetail().then(res => {
              localStorage.setItem('userInfo', JSON.stringify(resp.data.userInfo))
              localStorage.setItem('roleType', resp.data.userInfo.roleType)
              localStorage.setItem('info', JSON.stringify(res.data))
              if (this.subjectUI == 'Green' || this.subjectUI == 'Purple') {
                this.setLoginOrIndex('Layout');
              } else {
                this.setLoginOrIndex('Blue');
              }
              if (this.subjectUI == 'Purple') {
                this.$router.replace('/statistics')
              } else {
                if (localStorage.getItem('roleType') == 3) {
                  this.$router.replace('/goodsOrder')
                } else {
                  this.$router.replace('/buffetTable')
                }
              }
            })
          })
        }
      }
    } else {
      if (this.subjectUI == 'BlueIndex' || this.subjectUI == 'Green' || this.subjectUI == 'Purple') {
        if (Object.keys(query).length == 0) {
          localStorage.clear();
          this.setLoginOrIndex("Login");
          this.$router.replace('/')
        } else {
          reLogin({ username: query.username }).then(resp => {
            localStorage.setItem('token', resp.data.token)
            getStoreDetail().then(res => {
              localStorage.setItem('userInfo', JSON.stringify(resp.data.userInfo))
              localStorage.setItem('roleType', resp.data.userInfo.roleType)
              localStorage.setItem('info', JSON.stringify(res.data))
              if (this.subjectUI == 'Green' || this.subjectUI == 'Purple') {
                this.setLoginOrIndex('Layout');
              } else {
                this.setLoginOrIndex('Blue');
              }
              if (this.subjectUI == 'Purple') {
                this.$router.replace('/statistics')
              } else {
                if (localStorage.getItem('roleType') == 3) {
                  this.$router.replace('/goodsOrder')
                } else {
                  this.$router.replace('/buffetTable')
                }
              }
            })
          })
        }
      }
    }
  },
  created() {},
  mounted() {
    autofit.init({
      designHeight: 900,
      designWidth: 1440,
      dh: 900,
      dw: 1440,
      el: "body",
      resize: true,
    }, false);
  },
  methods: {
    ...mapActions([
      "setLoginOrIndex",
    ]),
    close() {
      this.showOpen = false
      this.ruleForm = {
        account: '',
        oldPassword: '',
        password: '',
        confirmPassword: ''
      }
    },
    submit() {
      if (!this.ruleForm.account) {
        Message({
          message: "请输入账号",
          type: "warning",
          duration: 1500,
        })
        return
      }
      if (!this.ruleForm.oldPassword) {
        Message({
          message: "请输入原密码",
          type: "warning",
          duration: 1500,
        })
        return
      }
      if (!this.ruleForm.password) {
        Message({
          message: "请输入新密码",
          type: "warning",
          duration: 1500,
        })
        return
      }
      if (!this.ruleForm.confirmPassword) {
        Message({
          message: "请确认新密码",
          type: "warning",
          duration: 1500,
        })
        return
      }
      if (this.ruleForm.password != this.ruleForm.confirmPassword) {
        Message({
          message: "两次新密码不一致",
          type: "warning",
          duration: 1500,
        })
        return
      }
      this.loading = true
      updatePwd({
        account: this.ruleForm.account,
        confirmPassword: this.ruleForm.confirmPassword,
        oldPassword: this.ruleForm.oldPassword,
        password: this.ruleForm.password
      }).then(res => {
        this.loading = false
        this.ruleForm = {
          account: '',
          oldPassword: '',
          password: '',
          confirmPassword: ''
        }
        Message({
          message: res.msg,
          type: "success",
          duration: 1500,
        })
      }).catch(err => {
        this.loading = false
      })
    },
    logOut() {
      let obj = JSON.parse(localStorage.getItem('acountObj'))
      localStorage.clear();
      localStorage.setItem('acountObj', JSON.stringify(obj))
      this.drawer = false
      this.$router.replace('/');
    },
    openDetail() {
      this.drawer = true
    },
    goHome() {
      let path = this.$route.path
      if (path != '/home') {
        this.$router.replace('/home')
      }
    },
    goBack() {
      if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') {
        let path = this.$route.path
        if (path == '/home') {
          let obj = JSON.parse(localStorage.getItem('acountObj'))
          localStorage.clear();
          if (obj) {
            localStorage.setItem('acountObj', JSON.stringify(obj))
          }
          this.$router.replace('/')
        } else {
          this.$router.go(-1)
        }
      }
    },
  },
  methods: {},
  beforeUpdate() {
    if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') {
      this.info = JSON.parse(localStorage.getItem('info'))
      this.tokenFlag = true
    } else {
      this.info = {}
      this.tokenFlag = false
    }
  }
};
</script>
<style lang='less'>
::-webkit-scrollbar {
  // display: none;
}
.v-modal {
  z-index: 999 !important;
}
.el-dialog__wrapper {
  z-index: 1000 !important;
}
#app {
  width: 100%;
  height: 100%;
  font-family: 'PingFang SC Medium';
}
.color1 {
  color: rgba(0, 0, 0, .73);
}
.three_app {
  width: 100%;
  height: 100%;
  background-image: url('./assets/img/DarkBlue/DarkBlueBG.png');
  background-size: 100% 100%;
  .three_header {
    font-family: 'PingFang SC Medium';
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 30px;
    margin-bottom: 11px;
    div:nth-child(1) {
      display: flex;
      align-items: center;
      img {
        cursor: pointer;
        width: 24px;
        height: 24px;
        margin-right: 15px;
      }
      div {
        cursor: pointer;
        font-weight: 500;
        font-size: 12px;
        color: #FFFFFF;
      }
    }
    div:nth-child(2) {
      display: flex;
      align-items: center;
      img {
        cursor: pointer;
        width: 36px;
        height: 36px;
        margin-right: 8px;
        border-radius: 50%;
      }
      div {
        cursor: pointer;
        font-weight: 500;
        font-size: 12px;
        color: #FFFFFF;
      }
    }
  }
  .three_UI {
    height: calc(100% - 106px);
  }
  .drawer_class {
    width: 500px !important;
    border-radius: 56px 0px 0px 56px !important;
    .drawer_content {
      position: relative;
      .license {
        cursor: pointer;
        margin-left: 26px;
        padding: 4px 10px;
        font-weight: 400;
        font-size: 14px;
        color: rgba(95, 118, 248, 1);
        border-radius: 14px;
        border: 1px solid #5F76F8;
      }
    }
  }
  .logOut_class {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    padding: 14px 63px;
    border-radius: 4px;
    border: 1px solid #E8E8E8;
  }
  .close {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 13px;
    width: 22px;
    height: 16px;
  }
}
.four_app {
  width: 100%;
  height: 100%;
}
.dialog_class {
  border-radius: 16px;
  .el-dialog__body {
    padding: 41px 0 42px 0;
  }
  .el-dialog__header {
    display: none;
  }
  .reset_password {
    display: flex;
    flex-direction: column;
    align-items: center;
    .top-con {
      width: 100%;
      display: flex;
      justify-content: center;
      position: relative;
      .reset_password_title {
        font-family: 'PingFang SC Medium';
        font-weight: 600;
        font-size: 26px;
        color: #333333;
        margin-bottom: 49px;
      }
      img {
        position: absolute;
        right: 18px;
        width: 24px;
        height: 26px;
      }
    }
    .el-input>.el-input__inner::placeholder {
      font-family: 'PingFang SC-Regular';
      font-size: 15px;
      font-weight: 400;
      color: rgba(200, 202, 214, 1);
    }
    .el-input {
      width: 311px;
      margin-top: 20px;
    }
    .el-input:first-child {
      margin-top: unset;
    }
    .el-input>.el-input__inner {
      width: 311px;
      height: 45px;
      font-size: 17px;
      padding: 0 41px;
    }
    .el-input__prefix {
      display: flex;
      align-items: center;
      left: 16px;
    }
    .prefix {
      width: 16px;
      height: 16px;
    }
    .el-button {
      margin-top: 39px;
      font-family: 'PingFangSC-semibold';
      width: 311px;
      height: 50px;
      background: #5F76F8;
      border-radius: 4px;
      font-weight: 600;
      font-size: 18px;
      color: #FFFFFF;
      align-items: center;
      align-content: center;
      padding: unset;
      border: unset;
    }
  }
}
</style>
<style lang='less'></style>
src/assets/font.css
@@ -1,48 +0,0 @@
@font-face {
  font-family: 'PingFang SC Medium';
  src: url('./font/PingFang Medium.ttf');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'HarmonyOS Sans SC Black';
  src: url('./font/HarmonyOS\ Sans\ SC\ Black.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'PingFangSC-semibold';
  src: url('./font/PingFangSC-semibold.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'HarmonyOS_Sans_TC_Bold';
  src: url('./font/HarmonyOS_Sans_TC_Bold.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Source Han Sans CN Heavy Bold';
  src: url('./font/Source Han Sans CN Heavy Bold.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Source Han Sans CN Regular';
  src: url('./font/Source Han Sans CN Regular.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'PingFang SC-Regular';
  src: url('./font/PingFang SC-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
src/assets/font/HarmonyOS Sans SC Black.ttf
Binary files differ
src/assets/font/HarmonyOS_Sans_TC_Bold.ttf
Binary files differ
src/assets/font/PingFang Medium.ttf
Binary files differ
src/assets/font/PingFang SC-Regular.otf
Binary files differ
src/assets/font/PingFangSC-semibold.ttf
Binary files differ
src/assets/font/Source Han Sans CN Heavy Bold.ttf
Binary files differ
src/assets/font/Source Han Sans CN Regular.ttf
Binary files differ
src/assets/img/DarkBlue/DarkBlueBG.png
Binary files differ
src/assets/img/DarkBlue/Fill 1@2x (1).png
Binary files differ
src/assets/img/DarkBlue/Group@2x.png
Binary files differ
src/assets/img/DarkBlue/Rectangle@2x.png
Binary files differ
src/assets/img/DarkBlue/_ @2x.png
Binary files differ
src/assets/img/DarkBlue/add.png
Binary files differ
src/assets/img/DarkBlue/backHome.png
Binary files differ
src/assets/img/DarkBlue/buy.png
Binary files differ
src/assets/img/DarkBlue/daochu@2x.png
Binary files differ
src/assets/img/DarkBlue/data.png
Binary files differ
src/assets/img/DarkBlue/gouxuan@2x.png
Binary files differ
src/assets/img/DarkBlue/icon1@2x.png
Binary files differ
src/assets/img/DarkBlue/icon_checkbox@2x.png
Binary files differ
src/assets/img/DarkBlue/icon_close@2x.png
Binary files differ
src/assets/img/DarkBlue/icon_login_password@2x.png
Binary files differ
src/assets/img/DarkBlue/icon_login_user@2x.png
Binary files differ
src/assets/img/DarkBlue/icondisable@2x.png
Binary files differ
src/assets/img/DarkBlue/img1.png
Binary files differ
src/assets/img/DarkBlue/img2.png
Binary files differ
src/assets/img/DarkBlue/img3.png
Binary files differ
src/assets/img/DarkBlue/img4.png
Binary files differ
src/assets/img/DarkBlue/img5.png
Binary files differ
src/assets/img/DarkBlue/img6.png
Binary files differ
src/assets/img/DarkBlue/order.png
Binary files differ
src/assets/img/DarkBlue/order12x.png
Binary files differ
src/assets/img/DarkBlue/reduce.png
Binary files differ
src/assets/img/DarkBlue/remembPassword.png
Binary files differ
src/assets/img/DarkBlue/shouqi@2x.png
Binary files differ
src/assets/img/DarkBlue/swsk.png
Binary files differ
src/assets/img/DarkBlue/tianjia (2)@2x.png
Binary files differ
src/assets/img/DarkBlue/upload.png
Binary files differ
src/assets/img/DarkBlue/编组@2x.png
Binary files differ
src/assets/img/Green/Background@2x.png
Binary files differ
src/assets/img/Green/Rectangle@2x.png
Binary files differ
src/assets/img/Green/Rectangle@2x1.png
Binary files differ
src/assets/img/Green/account.png
Binary files differ
src/assets/img/Green/add.png
Binary files differ
src/assets/img/Green/arrow-left@2x.png
Binary files differ
src/assets/img/Green/bg-hide2@2x.png
Binary files differ
src/assets/img/Green/bg-hide@2x.png
Binary files differ
src/assets/img/Green/check.png
Binary files differ
src/assets/img/Green/close@2x.png
Binary files differ
src/assets/img/Green/closeModal.png
Binary files differ
src/assets/img/Green/greenAdd.png
Binary files differ
src/assets/img/Green/headerBg.png
Binary files differ
src/assets/img/Green/password.png
Binary files differ
src/assets/img/Green/reduce@2x.png
Binary files differ
src/assets/img/Green/wan@2x.png
Binary files differ
src/assets/img/Group10@2x.png
Binary files differ
src/assets/img/Purple/Bitmap@2x.png
Binary files differ
src/assets/img/Purple/Group@2x.png
Binary files differ
src/assets/img/Purple/activeClass.png
Binary files differ
src/assets/img/Purple/activeGoods.png
Binary files differ
src/assets/img/Purple/activeMeal.png
Binary files differ
src/assets/img/Purple/activeStock.png
Binary files differ
src/assets/img/Purple/addGoods.png
Binary files differ
src/assets/img/Purple/ant-btn.png
Binary files differ
src/assets/img/Purple/back.png
Binary files differ
src/assets/img/Purple/bg4@2x.png
Binary files differ
src/assets/img/Purple/cardBgImg.png
Binary files differ
src/assets/img/Purple/closeModal.png
Binary files differ
src/assets/img/Purple/dianpu.png
Binary files differ
src/assets/img/Purple/export.png
Binary files differ
src/assets/img/Purple/goodsManageMent.png
Binary files differ
src/assets/img/Purple/home.png
Binary files differ
src/assets/img/Purple/noActiveClass.png
Binary files differ
src/assets/img/Purple/noActiveGoods.png
Binary files differ
src/assets/img/Purple/noActiveMeal.png
Binary files differ
src/assets/img/Purple/noActiveStock.png
Binary files differ
src/assets/img/Purple/noAddGoods.png
Binary files differ
src/assets/img/Purple/noOrder.png
Binary files differ
src/assets/img/Purple/orderManagement.png
Binary files differ
src/assets/img/Purple/orderNum1.png
Binary files differ
src/assets/img/Purple/orderNum2.png
Binary files differ
src/assets/img/Purple/orderNum3.png
Binary files differ
src/assets/img/Purple/orderNum4.png
Binary files differ
src/assets/img/Purple/required.png
Binary files differ
src/assets/img/Purple/storeroom.png
Binary files differ
src/assets/img/Purple/tableEtiquette.png
Binary files differ
src/assets/img/Purple/upload.png
Binary files differ
src/assets/img/Purple/workbench.png
Binary files differ
src/assets/img/Purple/yesOrder.png
Binary files differ
src/assets/img/active-be-put.png
Binary files differ
src/assets/img/active-data.png
Binary files differ
src/assets/img/active-dining-table.png
Binary files differ
src/assets/img/active-goods.png
Binary files differ
src/assets/img/active-order-a-meal.png
Binary files differ
src/assets/img/active-order.png
Binary files differ
src/assets/img/back@2x.png
Binary files differ
src/assets/img/be-put.png
Binary files differ
src/assets/img/blue/Delete@2x.png
Binary files differ
src/assets/img/blue/check.png
Binary files differ
src/assets/img/blue/fh@2x.png
Binary files differ
src/assets/img/blue/jia.png
Binary files differ
src/assets/img/blue/jian.png
Binary files differ
src/assets/img/blue/login/account.png
Binary files differ
src/assets/img/blue/login/bg.png
Binary files differ
src/assets/img/blue/login/centerBG.png
Binary files differ
src/assets/img/blue/login/cube.png
Binary files differ
src/assets/img/blue/login/loginBtn.png
Binary files differ
src/assets/img/blue/login/lookPassword.png
Binary files differ
src/assets/img/blue/login/noPassword.png
Binary files differ
src/assets/img/blue/login/password.png
Binary files differ
src/assets/img/blue/menuDelete.png
Binary files differ
src/assets/img/blue/notice@2x.png
Binary files differ
src/assets/img/blue/right.png
Binary files differ
src/assets/img/blue/shopCar.png
Binary files differ
src/assets/img/blue/shouqi.png
Binary files differ
src/assets/img/blue/zhan.png
Binary files differ
src/assets/img/close.png
Binary files differ
src/assets/img/data.png
Binary files differ
src/assets/img/dining-table.png
Binary files differ
src/assets/img/export@2x.png
Binary files differ
src/assets/img/goods.png
Binary files differ
src/assets/img/icon4@2x(1).png
Binary files differ
src/assets/img/icon4@2x.png
Binary files differ
src/assets/img/icondetail2@2x(2).png
Binary files differ
src/assets/img/icondetail3@2x.png
Binary files differ
src/assets/img/icondetail@2x(1).png
Binary files differ
src/assets/img/order-a-meal.png
Binary files differ
src/assets/img/order.png
Binary files differ
src/assets/img/rightIcon@2x.png
Binary files differ
src/assets/img/search-outline@2x.png
Binary files differ
src/assets/logo.png
Binary files differ
src/assets/storeLogo.png
Binary files differ
src/main.js
@@ -5,27 +5,11 @@
import router from './router'
import store from './store'
import cookies from 'vue-cookies'
Vue.prototype.$cookies = cookies;
import ElementUI from 'element-ui';
Vue.use(ElementUI)
Vue.config.productionTip = false
Vue.filter('formatNumber', (num) => {
  if (num != 0 && num < 1000) {
    return num + '.0'
  }
  if (num && num >= 1000) {
    if (num.toString().split('.').length == 1) {
      return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ".0"
    }
    return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  }
  return num || 0
})
new Vue({
  router,
src/router/blue.js
File was deleted
src/router/index.js
@@ -1,8 +1,6 @@
import Vue from 'vue'
import Router from 'vue-router'
import blue from './blue'
import routers from './routers';
const changePush = Router.prototype.push;
Router.prototype.push = function push(location) {
@@ -11,17 +9,12 @@
Vue.use(Router);
export let constantRoutes = blue
// export let constantRoutes = darkBlue
// export let constantRoutes = green
// export let constantRoutes = purple
const createRouter = () => new Router({
  mode: 'hash', // require service support
  scrollBehavior: () => ({
    y: 0
  }),
  routes: constantRoutes
  routes: routers
})
const router = createRouter()
src/router/routers.js
New file
@@ -0,0 +1,10 @@
export default [
    {
        path: '/Login',
        component: () => import('@/view/Login.vue'),
        meta: {
            title: '登录'
        }
    },
]
src/store/index.js
@@ -4,45 +4,10 @@
const store = new Vuex.Store({
  state: {
    loginOrIndex: 'Login',
    subjectUI: 'Purple', // darkBlue  BlueIndex  Green  Purple
    selectGoodsList: [],
    date: '',
    changeRouterClass: 'statistics'
  },
  mutations: {
    SET_LOGIN_OR_INDEX(state, data) {
      state.loginOrIndex = data;
    },
    SET_SUBJECT_UI(state, data) {
      state.subjectUI = data;
    },
    SET_SELECT_GOODS_LIST(state, data) {
      state.selectGoodsList = data;
    },
    SET_DATE(state, data) {
      state.date = data;
    },
    SET_CHANGE_ROUTER_CLASS(state, data) {
      state.changeRouterClass = data;
    }
  },
  actions: {
    setLoginOrIndex({ commit }, data) {
      commit('SET_LOGIN_OR_INDEX', data);
    },
    setSubjectUI({ commit }, data) {
      commit('SET_SUBJECT_UI', data);
    },
    setSelectGoodsList({ commit }, data) {
      commit('SET_SELECT_GOODS_LIST', data);
    },
    setDate({ commit }, data) {
      commit('SET_DATE', data);
    },
    setChangeRouterClass({ commit }, data) {
      commit('SET_CHANGE_ROUTER_CLASS', data);
    }
  }
})
src/utils/request.js
@@ -1,5 +1,4 @@
import axios from 'axios'
import store from '@/store'
import {
  Message
@@ -7,9 +6,7 @@
const service = axios.create({
  // baseURL: `http://vwpmxwbhv59i.guyubao.com`,
  baseURL: `http://192.168.110.34:8081`,
  // baseURL:'http://vwpmxwbhv59i.guyubao.com',
  withCredentials: false, // 当跨域请求时发送cookie
  timeout: 30000, // request timeout
})
@@ -56,18 +53,7 @@
          type: 'warning',
          duration: 2000
        })
        setTimeout(() => {
          if (store.state.subjectUI == 'BlueIndex' || store.state.subjectUI == 'Green' || store.state.subjectUI == 'Purple') {
            localStorage.clear();
            window.location.replace('/');
          }
          if (store.state.subjectUI == 'darkBlue') {
            let obj = JSON.parse(localStorage.getItem('acountObj'))
            localStorage.clear();
            localStorage.setItem('acountObj', JSON.stringify(obj))
            window.location.replace('/');
          }
        }, 2000)
        window.location.replace('/Login');
        return Promise.reject(res.data)
      }
      Message({
src/utils/utils.js
@@ -1,39 +1,10 @@
export function generateVerificationCode() {
    const characters = '123456789abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY';
    let code = '';
    for (let i = 0; i < 4; i++) {
        code += characters.charAt(Math.floor(Math.random() * characters.length));
    }
    return code;
}
export const exportExcell = (name, params, url) => {
    fetch('http://192.168.110.34:8081' + url, {
      method: 'post',
      body: JSON.stringify({
        ...params,
      }),
      headers: {
        Authorization: localStorage.getItem('token'),
        'ConTent-Type': 'application/json;charset=UTF-8',
        timestamp: new Date().getTime(),
        client: localStorage.getItem('client')
      },
      responseType: 'blob',
    })
      .then((res) => res.blob())
      .then((res) => {
        const link = document.createElement('a');
        link.style.display = 'none';
        link.href = URL.createObjectURL(res);
        link.download = name;
        document.body.appendChild(link);
        link.click();
        // 释放的 URL 对象以及移除 a 标签
        URL.revokeObjectURL(link.href);
        document.body.removeChild(link);
      });
  };
  const characters = '123456789abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY';
  let code = '';
  for (let i = 0; i < 4; i++) {
    code += characters.charAt(Math.floor(Math.random() * characters.length));
  }
  return code;
}
src/view/Blue/Login.vue
File was deleted
src/view/Login.vue
New file
@@ -0,0 +1,22 @@
<template>
    <div class="content">
    </div>
</template>
<script>
export default {
    components: {},
    props: {},
    data() {
        return {
        };
    },
    computed: {},
    watch: {},
    created() {},
    mounted() { },
    methods: {},
};
</script>
<style scoped lang="less">
</style>
src/view/goodsOrderService.js
File was deleted
src/view/orderService.js
File was deleted
src/view/restaurantOrder.js
File was deleted
src/view/service.js
File was deleted
src/view/statistics.js
File was deleted
src/view/storeService.js
File was deleted
src/view/tableService.js
File was deleted