Browse Source

提交修改

qmj 6 tháng trước cách đây
mục cha
commit
c29c39cd74
100 tập tin đã thay đổi với 8904 bổ sung0 xóa
  1. 22 0
      foodie_admin_vue/.editorconfig
  2. 11 0
      foodie_admin_vue/.env.development
  3. 8 0
      foodie_admin_vue/.env.production
  4. 10 0
      foodie_admin_vue/.env.staging
  5. 10 0
      foodie_admin_vue/.eslintignore
  6. 199 0
      foodie_admin_vue/.eslintrc.js
  7. 2 0
      foodie_admin_vue/.gitattributes
  8. 23 0
      foodie_admin_vue/.gitignore
  9. 30 0
      foodie_admin_vue/README.md
  10. 13 0
      foodie_admin_vue/babel.config.js
  11. 35 0
      foodie_admin_vue/build/index.js
  12. 92 0
      foodie_admin_vue/package.json
  13. BIN
      foodie_admin_vue/public/favicon.ico
  14. 21 0
      foodie_admin_vue/public/html/ie.html
  15. 208 0
      foodie_admin_vue/public/index.html
  16. 2 0
      foodie_admin_vue/public/robots.txt
  17. 28 0
      foodie_admin_vue/src/App.vue
  18. 44 0
      foodie_admin_vue/src/api/Billing/billing.js
  19. 54 0
      foodie_admin_vue/src/api/chanting/food.js
  20. 57 0
      foodie_admin_vue/src/api/chanting/store.js
  21. 44 0
      foodie_admin_vue/src/api/feeds/feedbacks.js
  22. 55 0
      foodie_admin_vue/src/api/fenlei/type.js
  23. 29 0
      foodie_admin_vue/src/api/index/index.js
  24. 44 0
      foodie_admin_vue/src/api/infouser/user.js
  25. 40 0
      foodie_admin_vue/src/api/language/index.js
  26. 1381 0
      foodie_admin_vue/src/api/language/language.en_US.js
  27. 1383 0
      foodie_admin_vue/src/api/language/language.vi.js
  28. 1389 0
      foodie_admin_vue/src/api/language/language.zh_CN.js
  29. 1377 0
      foodie_admin_vue/src/api/language/language.zh_TW.js
  30. 59 0
      foodie_admin_vue/src/api/login.js
  31. 9 0
      foodie_admin_vue/src/api/menu.js
  32. 57 0
      foodie_admin_vue/src/api/monitor/cache.js
  33. 71 0
      foodie_admin_vue/src/api/monitor/job.js
  34. 26 0
      foodie_admin_vue/src/api/monitor/jobLog.js
  35. 34 0
      foodie_admin_vue/src/api/monitor/logininfor.js
  36. 18 0
      foodie_admin_vue/src/api/monitor/online.js
  37. 26 0
      foodie_admin_vue/src/api/monitor/operlog.js
  38. 9 0
      foodie_admin_vue/src/api/monitor/server.js
  39. 44 0
      foodie_admin_vue/src/api/system/ServiceType.js
  40. 44 0
      foodie_admin_vue/src/api/system/ads.js
  41. 0 0
      foodie_admin_vue/src/api/system/ads.js~
  42. 27 0
      foodie_admin_vue/src/api/system/api.js
  43. 44 0
      foodie_admin_vue/src/api/system/appeal.js
  44. 44 0
      foodie_admin_vue/src/api/system/card.js
  45. 60 0
      foodie_admin_vue/src/api/system/config.js
  46. 52 0
      foodie_admin_vue/src/api/system/dept.js
  47. 52 0
      foodie_admin_vue/src/api/system/dict/data.js
  48. 60 0
      foodie_admin_vue/src/api/system/dict/type.js
  49. 44 0
      foodie_admin_vue/src/api/system/feedback.js
  50. 44 0
      foodie_admin_vue/src/api/system/fenlei.js
  51. 44 0
      foodie_admin_vue/src/api/system/freight.js
  52. 44 0
      foodie_admin_vue/src/api/system/help.js
  53. 44 0
      foodie_admin_vue/src/api/system/ipnlog.js
  54. 44 0
      foodie_admin_vue/src/api/system/margin.js
  55. 44 0
      foodie_admin_vue/src/api/system/marginlist.js
  56. 44 0
      foodie_admin_vue/src/api/system/membership.js
  57. 60 0
      foodie_admin_vue/src/api/system/menu.js
  58. 44 0
      foodie_admin_vue/src/api/system/multiplier.js
  59. 44 0
      foodie_admin_vue/src/api/system/notice.js
  60. 82 0
      foodie_admin_vue/src/api/system/order.js
  61. 44 0
      foodie_admin_vue/src/api/system/pointControl.js
  62. 44 0
      foodie_admin_vue/src/api/system/pointTier.js
  63. 44 0
      foodie_admin_vue/src/api/system/pointTransaction.js
  64. 44 0
      foodie_admin_vue/src/api/system/posfeedback.js
  65. 44 0
      foodie_admin_vue/src/api/system/post.js
  66. 44 0
      foodie_admin_vue/src/api/system/promotion.js
  67. 44 0
      foodie_admin_vue/src/api/system/qiyejieshao.js
  68. 44 0
      foodie_admin_vue/src/api/system/quanyi.js
  69. 44 0
      foodie_admin_vue/src/api/system/review.js
  70. 119 0
      foodie_admin_vue/src/api/system/role.js
  71. 51 0
      foodie_admin_vue/src/api/system/sjquanyi.js
  72. 44 0
      foodie_admin_vue/src/api/system/txorder.js
  73. 44 0
      foodie_admin_vue/src/api/system/txprices.js
  74. 137 0
      foodie_admin_vue/src/api/system/user.js
  75. 44 0
      foodie_admin_vue/src/api/system/version.js
  76. 44 0
      foodie_admin_vue/src/api/system/vipuser.js
  77. 76 0
      foodie_admin_vue/src/api/tool/gen.js
  78. BIN
      foodie_admin_vue/src/assets/401_images/401.gif
  79. BIN
      foodie_admin_vue/src/assets/404_images/404.png
  80. BIN
      foodie_admin_vue/src/assets/404_images/404_cloud.png
  81. 9 0
      foodie_admin_vue/src/assets/icons/index.js
  82. 1 0
      foodie_admin_vue/src/assets/icons/svg/404.svg
  83. 1 0
      foodie_admin_vue/src/assets/icons/svg/bug.svg
  84. 1 0
      foodie_admin_vue/src/assets/icons/svg/build.svg
  85. 0 0
      foodie_admin_vue/src/assets/icons/svg/button.svg
  86. 0 0
      foodie_admin_vue/src/assets/icons/svg/cascader.svg
  87. 1 0
      foodie_admin_vue/src/assets/icons/svg/chart.svg
  88. 1 0
      foodie_admin_vue/src/assets/icons/svg/checkbox.svg
  89. 1 0
      foodie_admin_vue/src/assets/icons/svg/clipboard.svg
  90. 1 0
      foodie_admin_vue/src/assets/icons/svg/code.svg
  91. 0 0
      foodie_admin_vue/src/assets/icons/svg/color.svg
  92. 0 0
      foodie_admin_vue/src/assets/icons/svg/component.svg
  93. 0 0
      foodie_admin_vue/src/assets/icons/svg/dashboard.svg
  94. 0 0
      foodie_admin_vue/src/assets/icons/svg/date-range.svg
  95. 0 0
      foodie_admin_vue/src/assets/icons/svg/date.svg
  96. 0 0
      foodie_admin_vue/src/assets/icons/svg/dict.svg
  97. 1 0
      foodie_admin_vue/src/assets/icons/svg/documentation.svg
  98. 1 0
      foodie_admin_vue/src/assets/icons/svg/download.svg
  99. 1 0
      foodie_admin_vue/src/assets/icons/svg/drag.svg
  100. 1 0
      foodie_admin_vue/src/assets/icons/svg/druid.svg

+ 22 - 0
foodie_admin_vue/.editorconfig

@@ -0,0 +1,22 @@
+# 告诉EditorConfig插件,这是根文件,不用继续往上查找
+root = true
+
+# 匹配全部文件
+[*]
+# 设置字符集
+charset = utf-8
+# 缩进风格,可选space、tab
+indent_style = space
+# 缩进的空格数
+indent_size = 2
+# 结尾换行符,可选lf、cr、crlf
+end_of_line = lf
+# 在文件结尾插入新行
+insert_final_newline = true
+# 删除一行中的前后空格
+trim_trailing_whitespace = true
+
+# 匹配md结尾的文件
+[*.md]
+insert_final_newline = false
+trim_trailing_whitespace = false

+ 11 - 0
foodie_admin_vue/.env.development

@@ -0,0 +1,11 @@
+# 页面标题
+VUE_APP_TITLE = 美食達
+
+# 开发环境配置
+ENV = 'development'
+
+# 美食达管理系统/开发环境
+VUE_APP_BASE_API = '/dev-api'
+
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 8 - 0
foodie_admin_vue/.env.production

@@ -0,0 +1,8 @@
+# 页面标题
+VUE_APP_TITLE = 美食達
+
+# 生产环境配置
+ENV = 'production'
+
+# 美食达管理系统/生产环境
+VUE_APP_BASE_API = '/prod-api'

+ 10 - 0
foodie_admin_vue/.env.staging

@@ -0,0 +1,10 @@
+# 页面标题
+VUE_APP_TITLE = Hệ thống quản lý King Run
+
+NODE_ENV = production
+
+# 测试环境配置
+ENV = 'staging'
+
+# 美食达管理系统/测试环境
+VUE_APP_BASE_API = '/stage-api'

+ 10 - 0
foodie_admin_vue/.eslintignore

@@ -0,0 +1,10 @@
+# 忽略build目录下类型为js的文件的语法检查
+build/*.js
+# 忽略src/assets目录下文件的语法检查
+src/assets
+# 忽略public目录下文件的语法检查
+public
+# 忽略当前目录下为js的文件的语法检查
+*.js
+# 忽略当前目录下为vue的文件的语法检查
+*.vue

+ 199 - 0
foodie_admin_vue/.eslintrc.js

@@ -0,0 +1,199 @@
+// ESlint 检查配置
+module.exports = {
+  root: true,
+  parserOptions: {
+    parser: 'babel-eslint',
+    sourceType: 'module'
+  },
+  env: {
+    browser: true,
+    node: true,
+    es6: true,
+  },
+  extends: ['plugin:vue/recommended', 'eslint:recommended'],
+
+  // add your custom rules here
+  //it is base on https://github.com/vuejs/eslint-config-vue
+  rules: {
+    "vue/max-attributes-per-line": [2, {
+      "singleline": 10,
+      "multiline": {
+        "max": 1,
+        "allowFirstLine": false
+      }
+    }],
+    "vue/singleline-html-element-content-newline": "off",
+    "vue/multiline-html-element-content-newline":"off",
+    "vue/name-property-casing": ["error", "PascalCase"],
+    "vue/no-v-html": "off",
+    'accessor-pairs': 2,
+    'arrow-spacing': [2, {
+      'before': true,
+      'after': true
+    }],
+    'block-spacing': [2, 'always'],
+    'brace-style': [2, '1tbs', {
+      'allowSingleLine': true
+    }],
+    'camelcase': [0, {
+      'properties': 'always'
+    }],
+    'comma-dangle': [2, 'never'],
+    'comma-spacing': [2, {
+      'before': false,
+      'after': true
+    }],
+    'comma-style': [2, 'last'],
+    'constructor-super': 2,
+    'curly': [2, 'multi-line'],
+    'dot-location': [2, 'property'],
+    'eol-last': 2,
+    'eqeqeq': ["error", "always", {"null": "ignore"}],
+    'generator-star-spacing': [2, {
+      'before': true,
+      'after': true
+    }],
+    'handle-callback-err': [2, '^(err|error)$'],
+    'indent': [2, 2, {
+      'SwitchCase': 1
+    }],
+    'jsx-quotes': [2, 'prefer-single'],
+    'key-spacing': [2, {
+      'beforeColon': false,
+      'afterColon': true
+    }],
+    'keyword-spacing': [2, {
+      'before': true,
+      'after': true
+    }],
+    'new-cap': [2, {
+      'newIsCap': true,
+      'capIsNew': false
+    }],
+    'new-parens': 2,
+    'no-array-constructor': 2,
+    'no-caller': 2,
+    'no-console': 'off',
+    'no-class-assign': 2,
+    'no-cond-assign': 2,
+    'no-const-assign': 2,
+    'no-control-regex': 0,
+    'no-delete-var': 2,
+    'no-dupe-args': 2,
+    'no-dupe-class-members': 2,
+    'no-dupe-keys': 2,
+    'no-duplicate-case': 2,
+    'no-empty-character-class': 2,
+    'no-empty-pattern': 2,
+    'no-eval': 2,
+    'no-ex-assign': 2,
+    'no-extend-native': 2,
+    'no-extra-bind': 2,
+    'no-extra-boolean-cast': 2,
+    'no-extra-parens': [2, 'functions'],
+    'no-fallthrough': 2,
+    'no-floating-decimal': 2,
+    'no-func-assign': 2,
+    'no-implied-eval': 2,
+    'no-inner-declarations': [2, 'functions'],
+    'no-invalid-regexp': 2,
+    'no-irregular-whitespace': 2,
+    'no-iterator': 2,
+    'no-label-var': 2,
+    'no-labels': [2, {
+      'allowLoop': false,
+      'allowSwitch': false
+    }],
+    'no-lone-blocks': 2,
+    'no-mixed-spaces-and-tabs': 2,
+    'no-multi-spaces': 2,
+    'no-multi-str': 2,
+    'no-multiple-empty-lines': [2, {
+      'max': 1
+    }],
+    'no-native-reassign': 2,
+    'no-negated-in-lhs': 2,
+    'no-new-object': 2,
+    'no-new-require': 2,
+    'no-new-symbol': 2,
+    'no-new-wrappers': 2,
+    'no-obj-calls': 2,
+    'no-octal': 2,
+    'no-octal-escape': 2,
+    'no-path-concat': 2,
+    'no-proto': 2,
+    'no-redeclare': 2,
+    'no-regex-spaces': 2,
+    'no-return-assign': [2, 'except-parens'],
+    'no-self-assign': 2,
+    'no-self-compare': 2,
+    'no-sequences': 2,
+    'no-shadow-restricted-names': 2,
+    'no-spaced-func': 2,
+    'no-sparse-arrays': 2,
+    'no-this-before-super': 2,
+    'no-throw-literal': 2,
+    'no-trailing-spaces': 2,
+    'no-undef': 2,
+    'no-undef-init': 2,
+    'no-unexpected-multiline': 2,
+    'no-unmodified-loop-condition': 2,
+    'no-unneeded-ternary': [2, {
+      'defaultAssignment': false
+    }],
+    'no-unreachable': 2,
+    'no-unsafe-finally': 2,
+    'no-unused-vars': [2, {
+      'vars': 'all',
+      'args': 'none'
+    }],
+    'no-useless-call': 2,
+    'no-useless-computed-key': 2,
+    'no-useless-constructor': 2,
+    'no-useless-escape': 0,
+    'no-whitespace-before-property': 2,
+    'no-with': 2,
+    'one-var': [2, {
+      'initialized': 'never'
+    }],
+    'operator-linebreak': [2, 'after', {
+      'overrides': {
+        '?': 'before',
+        ':': 'before'
+      }
+    }],
+    'padded-blocks': [2, 'never'],
+    'quotes': [2, 'single', {
+      'avoidEscape': true,
+      'allowTemplateLiterals': true
+    }],
+    'semi': [2, 'never'],
+    'semi-spacing': [2, {
+      'before': false,
+      'after': true
+    }],
+    'space-before-blocks': [2, 'always'],
+    'space-before-function-paren': [2, 'never'],
+    'space-in-parens': [2, 'never'],
+    'space-infix-ops': 2,
+    'space-unary-ops': [2, {
+      'words': true,
+      'nonwords': false
+    }],
+    'spaced-comment': [2, 'always', {
+      'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
+    }],
+    'template-curly-spacing': [2, 'never'],
+    'use-isnan': 2,
+    'valid-typeof': 2,
+    'wrap-iife': [2, 'any'],
+    'yield-star-spacing': [2, 'both'],
+    'yoda': [2, 'never'],
+    'prefer-const': 2,
+    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
+    'object-curly-spacing': [2, 'always', {
+      objectsInObjects: false
+    }],
+    'array-bracket-spacing': [2, 'never']
+  }
+}

+ 2 - 0
foodie_admin_vue/.gitattributes

@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text=auto

+ 23 - 0
foodie_admin_vue/.gitignore

@@ -0,0 +1,23 @@
+.DS_Store
+node_modules/
+dist/
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+**/*.log
+
+tests/**/coverage/
+tests/e2e/reports
+selenium-debug.log
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.local
+
+package-lock.json
+yarn.lock

+ 30 - 0
foodie_admin_vue/README.md

@@ -0,0 +1,30 @@
+## 开发
+
+```bash
+# 克隆项目
+git clone https://gitee.com/y_project/RuoYi-Vue
+
+# 进入项目目录
+cd ruoyi-ui
+
+# 安装依赖
+npm install
+
+# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
+npm install --registry=https://registry.npmmirror.com
+
+# 启动服务
+npm run dev
+```
+
+浏览器访问 http://localhost:80
+
+## 发布
+
+```bash
+# 构建测试环境
+npm run build:stage
+
+# 构建生产环境
+npm run build:prod
+```

+ 13 - 0
foodie_admin_vue/babel.config.js

@@ -0,0 +1,13 @@
+module.exports = {
+  presets: [
+    // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
+    '@vue/cli-plugin-babel/preset'
+  ],
+  'env': {
+    'development': {
+      // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
+      // This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
+      'plugins': ['dynamic-import-node']
+    }
+  }
+}

+ 35 - 0
foodie_admin_vue/build/index.js

@@ -0,0 +1,35 @@
+const { run } = require('runjs')
+const chalk = require('chalk')
+const config = require('../vue.config.js')
+const rawArgv = process.argv.slice(2)
+const args = rawArgv.join(' ')
+
+if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
+  const report = rawArgv.includes('--report')
+
+  run(`vue-cli-service build ${args}`)
+
+  const port = 9526
+  const publicPath = config.publicPath
+
+  var connect = require('connect')
+  var serveStatic = require('serve-static')
+  const app = connect()
+
+  app.use(
+    publicPath,
+    serveStatic('./dist', {
+      index: ['index.html', '/']
+    })
+  )
+
+  app.listen(port, function () {
+    console.log(chalk.green(`> Preview at  http://localhost:${port}${publicPath}`))
+    if (report) {
+      console.log(chalk.green(`> Report at  http://localhost:${port}${publicPath}report.html`))
+    }
+
+  })
+} else {
+  run(`vue-cli-service build ${args}`)
+}

+ 92 - 0
foodie_admin_vue/package.json

@@ -0,0 +1,92 @@
+{
+  "name": "ruoyi",
+  "version": "3.8.5",
+  "description": "美食达管理系统",
+  "author": "美食达",
+  "license": "MIT",
+  "scripts": {
+    "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
+    "build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode production",
+    "build:stage": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",
+    "preview": "node build/index.js --preview",
+    "lint": "eslint --ext .js,.vue src",
+    "start": "set NODE_OPTIONS=--openssl-legacy-provider && node app.js"
+  },
+  "husky": {
+    "hooks": {
+      "pre-commit": "lint-staged"
+    }
+  },
+  "lint-staged": {
+    "src/**/*.{js,vue}": [
+      "eslint --fix",
+      "git add"
+    ]
+  },
+  "keywords": [
+    "vue",
+    "admin",
+    "dashboard",
+    "element-ui",
+    "boilerplate",
+    "admin-template",
+    "management-system"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://gitee.com/y_project/RuoYi-Vue.git"
+  },
+  "dependencies": {
+    "@riophae/vue-treeselect": "0.4.0",
+    "axios": "0.24.0",
+    "clipboard": "2.0.8",
+    "core-js": "3.25.3",
+    "echarts": "^5.4.0",
+    "element-ui": "2.15.12",
+    "file-saver": "2.0.5",
+    "fuse.js": "6.4.3",
+    "highlight.js": "9.18.5",
+    "js-beautify": "1.13.0",
+    "js-cookie": "3.0.1",
+    "jsencrypt": "3.0.0-rc.1",
+    "nprogress": "0.2.0",
+    "quill": "1.3.7",
+    "screenfull": "5.0.2",
+    "sortablejs": "1.10.2",
+    "vue": "2.6.12",
+    "vue-count-to": "1.0.13",
+    "vue-cropper": "0.5.5",
+    "vue-i18n": "^8.27.2",
+    "vue-meta": "2.4.0",
+    "vue-router": "3.4.9",
+    "vuedraggable": "2.24.3",
+    "vuex": "3.6.0"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "4.4.6",
+    "@vue/cli-plugin-eslint": "4.4.6",
+    "@vue/cli-service": "4.4.6",
+    "babel-eslint": "10.1.0",
+    "babel-plugin-dynamic-import-node": "2.3.3",
+    "chalk": "4.1.0",
+    "compression-webpack-plugin": "5.0.2",
+    "connect": "3.6.6",
+    "eslint": "7.15.0",
+    "eslint-plugin-vue": "7.2.0",
+    "lint-staged": "10.5.3",
+    "runjs": "4.4.2",
+    "sass": "1.32.13",
+    "sass-loader": "10.1.1",
+    "script-ext-html-webpack-plugin": "2.1.5",
+    "svg-sprite-loader": "5.1.1",
+    "vue-template-compiler": "2.6.12"
+  },
+  "engines": {
+    "node": ">=8.9",
+    "npm": ">= 3.0.0"
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions"
+  ]
+}

BIN
foodie_admin_vue/public/favicon.ico


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 21 - 0
foodie_admin_vue/public/html/ie.html


+ 208 - 0
foodie_admin_vue/public/index.html

@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= webpackConfig.name %></title>
+    <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
+	  <style>
+    html,
+    body,
+    #app {
+      height: 100%;
+      margin: 0px;
+      padding: 0px;
+    }
+    .chromeframe {
+      margin: 0.2em 0;
+      background: #ccc;
+      color: #000;
+      padding: 0.2em 0;
+    }
+
+    #loader-wrapper {
+      position: fixed;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      z-index: 999999;
+    }
+
+    #loader {
+      display: block;
+      position: relative;
+      left: 50%;
+      top: 50%;
+      width: 150px;
+      height: 150px;
+      margin: -75px 0 0 -75px;
+      border-radius: 50%;
+      border: 3px solid transparent;
+      border-top-color: #FFF;
+      -webkit-animation: spin 2s linear infinite;
+      -ms-animation: spin 2s linear infinite;
+      -moz-animation: spin 2s linear infinite;
+      -o-animation: spin 2s linear infinite;
+      animation: spin 2s linear infinite;
+      z-index: 1001;
+    }
+
+    #loader:before {
+      content: "";
+      position: absolute;
+      top: 5px;
+      left: 5px;
+      right: 5px;
+      bottom: 5px;
+      border-radius: 50%;
+      border: 3px solid transparent;
+      border-top-color: #FFF;
+      -webkit-animation: spin 3s linear infinite;
+      -moz-animation: spin 3s linear infinite;
+      -o-animation: spin 3s linear infinite;
+      -ms-animation: spin 3s linear infinite;
+      animation: spin 3s linear infinite;
+    }
+
+    #loader:after {
+      content: "";
+      position: absolute;
+      top: 15px;
+      left: 15px;
+      right: 15px;
+      bottom: 15px;
+      border-radius: 50%;
+      border: 3px solid transparent;
+      border-top-color: #FFF;
+      -moz-animation: spin 1.5s linear infinite;
+      -o-animation: spin 1.5s linear infinite;
+      -ms-animation: spin 1.5s linear infinite;
+      -webkit-animation: spin 1.5s linear infinite;
+      animation: spin 1.5s linear infinite;
+    }
+
+
+    @-webkit-keyframes spin {
+      0% {
+        -webkit-transform: rotate(0deg);
+        -ms-transform: rotate(0deg);
+        transform: rotate(0deg);
+      }
+      100% {
+        -webkit-transform: rotate(360deg);
+        -ms-transform: rotate(360deg);
+        transform: rotate(360deg);
+      }
+    }
+
+    @keyframes spin {
+      0% {
+        -webkit-transform: rotate(0deg);
+        -ms-transform: rotate(0deg);
+        transform: rotate(0deg);
+      }
+      100% {
+        -webkit-transform: rotate(360deg);
+        -ms-transform: rotate(360deg);
+        transform: rotate(360deg);
+      }
+    }
+
+
+    #loader-wrapper .loader-section {
+      position: fixed;
+      top: 0;
+      width: 51%;
+      height: 100%;
+      background: #7171C6;
+      z-index: 1000;
+      -webkit-transform: translateX(0);
+      -ms-transform: translateX(0);
+      transform: translateX(0);
+    }
+
+    #loader-wrapper .loader-section.section-left {
+      left: 0;
+    }
+
+    #loader-wrapper .loader-section.section-right {
+      right: 0;
+    }
+
+
+    .loaded #loader-wrapper .loader-section.section-left {
+      -webkit-transform: translateX(-100%);
+      -ms-transform: translateX(-100%);
+      transform: translateX(-100%);
+      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+    }
+
+    .loaded #loader-wrapper .loader-section.section-right {
+      -webkit-transform: translateX(100%);
+      -ms-transform: translateX(100%);
+      transform: translateX(100%);
+      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+    }
+
+    .loaded #loader {
+      opacity: 0;
+      -webkit-transition: all 0.3s ease-out;
+      transition: all 0.3s ease-out;
+    }
+
+    .loaded #loader-wrapper {
+      visibility: hidden;
+      -webkit-transform: translateY(-100%);
+      -ms-transform: translateY(-100%);
+      transform: translateY(-100%);
+      -webkit-transition: all 0.3s 1s ease-out;
+      transition: all 0.3s 1s ease-out;
+    }
+
+    .no-js #loader-wrapper {
+      display: none;
+    }
+
+    .no-js h1 {
+      color: #222222;
+    }
+
+    #loader-wrapper .load_title {
+      font-family: 'Open Sans';
+      color: #FFF;
+      font-size: 19px;
+      width: 100%;
+      text-align: center;
+      z-index: 9999999999999;
+      position: absolute;
+      top: 60%;
+      opacity: 1;
+      line-height: 30px;
+    }
+
+    #loader-wrapper .load_title span {
+      font-weight: normal;
+      font-style: italic;
+      font-size: 13px;
+      color: #FFF;
+      opacity: 0.5;
+    }
+  </style>
+  </head>
+  <body>
+    <div id="app">
+	    <div id="loader-wrapper">
+		    <div id="loader"></div>
+		    <div class="loader-section section-left"></div>
+		    <div class="loader-section section-right"></div>
+		    <div class="load_title">Tài nguyên hệ thống đang tải, hãy kiên nhẫn</div>
+        </div>
+	</div>
+  </body>
+</html>

+ 2 - 0
foodie_admin_vue/public/robots.txt

@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /

+ 28 - 0
foodie_admin_vue/src/App.vue

@@ -0,0 +1,28 @@
+<template>
+  <div id="app">
+    <router-view />
+    <theme-picker />
+  </div>
+</template>
+
+<script>
+import ThemePicker from "@/components/ThemePicker";
+
+export default {
+  name: "App",
+  components: { ThemePicker },
+    metaInfo() {
+        return {
+            title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
+            titleTemplate: title => {
+                return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
+            }
+        }
+    }
+};
+</script>
+<style scoped>
+  #app .theme-picker {
+    display: none;
+  }
+</style>

+ 44 - 0
foodie_admin_vue/src/api/Billing/billing.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询Billing列表
+export function listBilling(query) {
+  return request({
+    url: '/Billing/billing/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询Billing详细
+export function getBilling(id) {
+  return request({
+    url: '/Billing/billing/' + id,
+    method: 'get'
+  })
+}
+
+// 新增Billing
+export function addBilling(data) {
+  return request({
+    url: '/Billing/billing',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改Billing
+export function updateBilling(data) {
+  return request({
+    url: '/Billing/billing',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除Billing
+export function delBilling(id) {
+  return request({
+    url: '/Billing/billing/' + id,
+    method: 'delete'
+  })
+}

+ 54 - 0
foodie_admin_vue/src/api/chanting/food.js

@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 查询food列表
+export function listFood(query) {
+  return request({
+    url: '/chanting/food/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询food详细
+export function getFood(id) {
+  return request({
+    url: '/chanting/food/' + id,
+    method: 'get'
+  })
+}
+
+// 新增food
+export function addFood(data) {
+  return request({
+    url: '/chanting/food',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改food
+export function updateFood(data) {
+  return request({
+    url: '/chanting/food',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除food
+export function delFood(id) {
+  return request({
+    url: '/chanting/food/' + id,
+    method: 'delete'
+  })
+}
+
+// 删除food
+// 修改用户信息
+export function changerecommend(data) {
+  return request({
+    url: '/chanting/food/changerecommend',
+    method: 'put',
+    data: data
+  })
+}

+ 57 - 0
foodie_admin_vue/src/api/chanting/store.js

@@ -0,0 +1,57 @@
+import request from '@/utils/request'
+
+
+// 用户状态修改
+export function changeOffShelf(id, offShelf) {
+  const data = {
+    id,
+    offShelf
+  }
+  return request({
+    url: '/chanting/store/changeOffShelf',
+    method: 'put',
+    data: data
+  })
+}
+// 查询posstore列表
+export function listStore(query) {
+  return request({
+    url: '/chanting/store/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询posstore详细
+export function getStore(id) {
+  return request({
+    url: '/chanting/store/' + id,
+    method: 'get'
+  })
+}
+
+// 新增posstore
+export function addStore(data) {
+  return request({
+    url: '/chanting/store',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改posstore
+export function updateStore(data) {
+  return request({
+    url: '/chanting/store',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除posstore
+export function delStore(id) {
+  return request({
+    url: '/chanting/store/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/feeds/feedbacks.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询社会反馈列表
+export function listFeedbacks(query) {
+  return request({
+    url: '/feeds/feedbacks/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询社会反馈详细
+export function getFeedbacks(id) {
+  return request({
+    url: '/feeds/feedbacks/' + id,
+    method: 'get'
+  })
+}
+
+// 新增社会反馈
+export function addFeedbacks(data) {
+  return request({
+    url: '/feeds/feedbacks',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改社会反馈
+export function updateFeedbacks(data) {
+  return request({
+    url: '/feeds/feedbacks',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除社会反馈
+export function delFeedbacks(id) {
+  return request({
+    url: '/feeds/feedbacks/' + id,
+    method: 'delete'
+  })
+}

+ 55 - 0
foodie_admin_vue/src/api/fenlei/type.js

@@ -0,0 +1,55 @@
+import request from '@/utils/request'
+
+// 查询门店分类列表
+export function listType(query) {
+  return request({
+    url: '/fenlei/type/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询门店分类树结构
+export function treeList(query) {
+  return request({
+    url: '/fenlei/type/treeList',
+    method: 'get',
+    params: query
+  })
+}
+
+
+
+// 查询门店分类详细
+export function getType(id) {
+  return request({
+    url: '/fenlei/type/' + id,
+    method: 'get'
+  })
+}
+
+// 新增门店分类
+export function addType(data) {
+  return request({
+    url: '/fenlei/type',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改门店分类
+export function updateType(data) {
+  return request({
+    url: '/fenlei/type',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除门店分类
+export function delType(id) {
+  return request({
+    url: '/fenlei/type/' + id,
+    method: 'delete'
+  })
+}

+ 29 - 0
foodie_admin_vue/src/api/index/index.js

@@ -0,0 +1,29 @@
+import request from '@/utils/request'
+
+
+// 查询用户信息详细
+export function getusersl(startDate,endDate) {
+  return request({
+    url: '/infouser/user/gettongji',
+    method: 'get',
+    params: {
+      startDate: startDate === 'undefined' ? null : startDate,
+      endDate: endDate === 'undefined' ? null : endDate
+    }
+  })
+}
+// 查询用订单统计
+export function getordersum() {
+  return request({
+    url: '/infouser/user/getOrderCount',
+    method: 'get'
+  })
+}
+// 新增用户信息
+export function addUser(data) {
+  return request({
+    url: '/infouser/user',
+    method: 'post',
+    data: data
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/infouser/user.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询用户信息列表
+export function listUser(query) {
+  return request({
+    url: '/infouser/user/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用户信息详细
+export function getUser(userId) {
+  return request({
+    url: '/infouser/user/' + userId,
+    method: 'get'
+  })
+}
+
+// 新增用户信息
+export function addUser(data) {
+  return request({
+    url: '/infouser/user',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用户信息
+export function updateUser(data) {
+  return request({
+    url: '/infouser/user',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用户信息
+export function delUser(userId) {
+  return request({
+    url: '/infouser/user/' + userId,
+    method: 'delete'
+  })
+}

+ 40 - 0
foodie_admin_vue/src/api/language/index.js

@@ -0,0 +1,40 @@
+import Vue from 'vue';
+import VueI18n from 'vue-i18n';
+import enLocale from '@/api/language/language.en_US'
+import usLocal from '@/api/language/language.zh_CN'
+import Vietnam from '@/api/language/language.vi'
+import twLocal from '@/api/language/language.zh_TW'
+// element-ui 组件国际化
+import ElementLocale from 'element-ui/lib/locale'
+import elementEnLocal from "element-ui/lib/locale/lang/en"
+import elementZhCNLocal from "element-ui/lib/locale/lang/zh-CN"
+import elementVietnam from "element-ui/lib/locale/lang/vi"
+import elementZhTWLocal from "element-ui/lib/locale/lang/zh-TW"
+ElementLocale.i18n((key, value) => i18n.t(key, value))
+
+Vue.use(VueI18n);
+const messages = {
+  en_US: {
+    ...enLocale,
+    ...elementEnLocal
+  },
+  zh_CN: {
+    ...usLocal,
+    ...elementZhCNLocal
+  },
+  zh_TW: {
+    ...twLocal,
+    ...elementZhTWLocal
+  },
+  vi: {
+    ...Vietnam,
+    ...elementVietnam
+  }
+}
+const i18n = new VueI18n({
+  locale: localStorage.getItem('lang') || 'vi', // 通过this.$i18n.locale的值实现语言切换
+  messages,
+});
+
+
+export default i18n;

+ 1381 - 0
foodie_admin_vue/src/api/language/language.en_US.js

@@ -0,0 +1,1381 @@
+export default {
+  route:{
+    "首页":"home",
+    "门店管理":"Store Menu",
+    "分类管理":"Store Category",
+	 "服务类型": "Service Type",
+    "餐厅管理":"Restaurant",
+    "商店管理":"Store Management",
+    "商品分类":"Product category",
+    "商品管理":"Commodity management",
+    "用户管理":"USER",
+    "普通用户":"custom",
+    "商家用户":"Merchant",
+	"外卖员":"Delivery man/driver",
+    "订单管理":"order management",
+    "订单列表":"order list",
+    "配送管理":"distribution management",
+    "运价设置":"Freight rate setting",
+	"打车费设置":"Taxi fare settings",
+    "保证金管理":"Margin Management",
+    "保证金设置":"Margin Setting",
+    "保证金记录":"Margin Record",
+    "财务管理":"financial management",
+    "提现账户管理":"Withdrawal account management",
+    "用户账单":"User Billing",
+    "客服管理":"customer service",
+    "用户留言信息":"User message",
+    "商家留言信息":"Merchant message",
+    "骑手留言信息":"Cavalry message",
+    "帮助文档":"Help Documents",
+    "问题反馈":"Problem feedback",
+    "APP会员":"APP member",
+    "会员卡":"membership card",
+    "会员列表":"Member List",
+    "优惠券管理":"Coupon Management",
+    "可用优惠券":"Available Coupons",
+    "版本管理":"Versioning",
+    "企业服务":"Enterprise Services",
+    "平台介绍":"Platform Introduction",
+    "系统管理":"system management",
+    "后台用户":"Background users",
+    "角色管理":"Roles",
+    "菜单管理":"menu management",
+    "架构管理":"architecture management",
+    "岗位管理":"Post Management",
+    "字典管理":"dictionary managed",
+    "参数设置":"Parameter settings",
+    "通知公告":"Notice Announcement",
+    "日志管理":"Log management",
+    "操作日志":"Operation Log",
+    "登录日志":"login Log",
+    "系统监控":"system monitor",
+    "在线用户":"Online users",
+    "定时任务":"Scheduled Tasks",
+    "数据监控":"data monitor",
+    "服务监控":"Service Monitoring",
+    "缓存监控":"Cache monitoring",
+    "缓存列表":"Cache List",
+    "系统工具":"System Tools",
+    "表单构建":"Form Construction",
+    "代码生成":"code generation",
+    "系统接口":"Interface",
+    "更多菜单":"More menus",
+    "餐饮":"Restaurant",
+    "商超":"supermarket",
+    "男":"male",
+    "女":"woman",
+    "未知":"unknown",
+    "正常":"normal",
+    "暂停":"suspend",
+    "停用":"Deactivate",
+    "启用":"Enable",
+    "开启":"open",
+    "未审核":"Unaudited",
+    "已审核":"Audited",
+    "外送":"Outward",
+    "自取":"ask for",
+    "堂食":"Tang Shi",
+    "已处理":"Processed",
+    "未处理":"Unprocessed",
+    "未支付":"Unpaid",
+    "已付款":"paid",
+    "已接单":"Received order",
+    "配送中":"Delivery in progress",
+    "取餐中":"Picking up meals",
+    "已完成":"Completed",
+    "申请退款":"Request a refund",
+    "同意退款":"Agree to refund",
+    "拒绝退款":"Refuse Refund",
+    "客服接入":"Customer service access",
+    "作废":"cancel",
+    "异常":"abnormal",
+    "商户":"Merchant",
+    "骑手":"Delivery personnel",
+    "用户":"user",
+    "信用卡":"card",
+    "储蓄卡":"debit card",
+    "在售":"For Sale",
+    "停售":"halt the sales",
+    "是":"yes",
+    "否":"no",
+    "消费满减":"reduce",
+    "总额折扣":"discount",
+    "Android":"Android",
+    "IOS":"IOS",
+    "其他":"other",
+    "超级管理员":"Super administrator",
+    "管理员":"administrators",
+    "分成":"a bonus",
+    "充值":"Recharge",
+    "提现":"Withdrawal",
+    "完成":"complete",
+    "退回":"return",
+    "申请":"apply for",
+    "飲料":"beverage",
+    "火鍋":"hot pot",
+    "披薩":"Pizza",
+    "漢堡":"Hamburg",
+    "麵食":"Pasta",
+    "飯類":"Rice",
+    "西餐":"Western-style food",
+    "中餐":"Chinese food",
+    "異國料理":"Exotic cuisine",
+    "小吃":"snack",
+    "河粉":"flat rice-noodles",
+    "甜點":"Dessert",
+    "麵包":"bread",
+    "外卖订单":"takeout orders",
+    "打车订单":"Taxi order",
+    "直线倍数":"Linear multiplier",
+    "快捷回复内容":"Quick reply content",
+    "促销活动管理":"Promotion activity management",
+    "IPN日志":"IPN log",
+    "外卖员/司机":"Waimai delivery personnel/drivers",
+    "减免运费":"Reduce or waive shipping fees",
+    "订单价打折":"Order price discount",
+    "订单价抵扣":"Order price deduction",
+    "消费":"consumption",
+    "售后完成":"After sales completion",
+    "送达":"deliver",
+    "分销管理":"distribution management",
+    "奖赏(积分)":"Reward (points)",
+    "查询":"query",
+    "添加":"add",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"“export”",
+    "导入":"import",
+    "新增":"add",
+    "详情":"details",
+    "查看":"view",
+    "留言列表":"Message List",
+    "留言详情":"Message details",
+    "回复留言":"Reply to message",
+    "修改留言":"Modify message",
+    "用户查询":"user query",
+    "用户新增":"User addition",
+    "用户修改":"User modification",
+    "用户删除":"User deletion",
+    "用户导出":"User export",
+    "用户导入":"User import",
+    "重置密码":"reset password",
+    "角色查询":"Role query",
+    "角色新增":"New role addition",
+    "角色修改":"Role modification",
+    "角色删除":"Role deletion",
+    "角色导出":"Character export",
+    "菜单查询":"Menu query",
+    "菜单新增":"Menu addition",
+    "菜单修改":"Menu modification",
+    "菜单删除":"Menu deletion",
+    "部门查询":"Departmental inquiry",
+    "部门新增":"Department addition",
+    "部门修改":"Department modification",
+    "部门删除":"Department deletion",
+    "岗位查询":"Job Search",
+    "岗位新增":"Job addition",
+    "岗位修改":"Position modification",
+    "岗位删除":"Position deletion",
+    "岗位导出":"Job export",
+    "字典查询":"dictionary lookup",
+    "字典新增":"Dictionary addition",
+    "字典修改":"Dictionary modification",
+    "字典删除":"Dictionary deletion",
+    "字典导出":"Dictionary export",
+    "参数查询":"parameter query",
+    "参数新增":"Parameter addition",
+    "参数修改":"parameter modification",
+    "参数删除":"Parameter deletion",
+    "参数导出":"Parameter export",
+    "公告查询":"Announcement inquiry",
+    "公告新增":"Announcement added",
+    "公告修改":"Announcement modification",
+    "公告删除":"Announcement deletion",
+    "操作查询":"action query",
+    "操作修改":"Operation modification",
+    "日志导出":"Log export",
+    "登录查询":"Login query",
+    "登录删除":"Login Delete",
+    "账户解锁":"Account unlocking",
+    "在线查询":"QUERY",
+    "批量强退":"Batch forced refunds",
+    "单条强退":"Single strong refund",
+    "任务查询":"Task Query",
+    "任务新增":"Task addition",
+    "任务修改":"Task modification",
+    "任务删除":"task deletion",
+    "状态修改":"Status modification",
+    "任务导出":"Task export",
+    "生成查询":"Generate query",
+    "生成修改":"Generate modifications",
+    "生成删除":"Generate Delete",
+    "导入代码":"Import code",
+    "预览代码":"Preview code",
+    "生成代码":"generating",
+    "全部数据权限":"All data permissions",
+    "自定数据权限":"Customize data permissions",
+    "本部门数据权限":"Data permissions for this department",
+    "本部门及以下数据权限":"Data permissions for this department and below",
+    "仅本人数据权限":"Only have personal data permissions",
+    "通知":"notice",
+    "公告":"Notice",
+    "关闭":"close",
+    "个人中心":"Personal Center",
+    "社会反馈":"Social feedback",
+    "运费": "Shipping Fee",
+    "订单": "Order",
+    "商品": "Product",
+    "商家优惠券":"Merchant Coupon",
+    "积分管理":"Points Management",
+    "积分设置":"Points Settings",
+    "下单积分设置":"Order Points Rules",
+    "积分流水":"Points History",
+    "首页广告":"Homepage Ads",
+    "订单评论":"Order Review",
+  },
+  fenlei: {
+    "序号": "Serial Number",
+    "分类名": "Classification name",
+    "请输入分类名": "Please enter a classification name",
+    "搜索": "search for",
+    "重置": "resetting",
+    "新增": "newly added",
+    "修改": "modify",
+    "删除": "delete",
+    "导出": "export",
+    "分类图片": "Category Images",
+    "操作": "operate",
+    "确定": "determine",
+    "取消": "cancellation",
+    "分类名不能为空": "Category name cannot be empty",
+    "分类图片不能为空": "Category images cannot be empty",
+    "添加门店分类": "Add Store Classification",
+    "修改门店分类": "Modify Store Classification",
+    "修改成功": "Successfully modified",
+    "新增成功": "Successfully added",
+    "是否确认删除门店分类编号为": "Are you sure to delete the store classification number as",
+    "的数据项": "What are the data items for?",
+    "删除成功": "Successfully deleted",
+    "排序": "sort",
+    "请输入序号":"Please enter the serial number: The larger the number, the higher it will be",
+    "展开/折叠": "Expand/Collapse",
+    "上级分类": "Parent Category",
+    "选择上级分类": "Select Parent Category",
+    "标识": "Tag",
+    "请输入标识": "Please enter tag",
+    "活动名称":"Activity Name",
+    "请输入活动名称":"Please enter the activity name",
+    "减免方式":"Reduction and exemption methods",
+    "请选择减免方式":"Please choose a reduction method",
+    "活动商家":"Event merchants",
+    "请输入活动商家":"Please enter the activity merchant ID",
+    "活动商品":"Activity products",
+    "请输入活动商品":"Please enter the activity product ID",
+    "结束日期":"End Date",
+    "请选择活动结束日期":"Please select the end date of the event",
+    "活动状态":"active state",
+    "请选择活动状态":"Please select the activity status",
+    "请输入促销活动名称":"Please enter the name of the promotional activity",
+    "活动海报":"Activity poster",
+    "减免值":"Reduction value",
+    "减免值说明":"If you choose free shipping, you can fill in the blanks. If you choose discount or 30% off, please fill in 0.7. If you choose deduction of 1000, please fill in 1000",
+    "使用条件":"Conditions of Use",
+    "使用条件说明":"If left blank, there are no usage conditions. If filled in 1000, the order amount can be used if it is over 1000",
+    "可用次数":"Available times",
+    "可用次数说明":"If the blank value is infinite, fill in 1 for this activity. Each user can only use it once",
+    "活动说明":"Activity Description",
+    "请输入内容":"Please enter the content",
+    "倍数":"multiple",
+    "活动名不能空":"The activity name cannot be empty",
+    "减免方式为必选":"Exemption method is mandatory",
+    "减免值不能为空": "Discount value is required",
+    "值必须大于0": "Order/Product discount value must be greater than 0",
+    "结束日期为必选":"End date is mandatory",
+    "活动状态为必选":"Activity status is required",
+    "简体中文":"Simplified Chinese",
+    "繁体中文":"traditional Chinese",
+    "英语":"English",
+    "越南语":"Vietnamese",
+    "不能修改提示":"This promotion has been redeemed by users. Only status can be modified; core fields are locked.",
+    "简体中文名":"Simplified Chinese Name",
+    "繁体体中文名":"Traditional Chinese Name",
+    "越南语分类名":"Vietnamese Category Name",
+    "英语分类名":"English Category Name",
+  },
+  topmenu:{
+    "Layout":"Layout size",
+    "Personal":"Personal Center",
+    "LayoutSettings":"Layout Settings",
+    "LogOutOfLogin":"Log out of login",
+    "Refreshpage":"Refresh Page",
+    "CloseCurrent":"Close current",
+    "CloseOther":"Close Other",
+    "CloseLeftSide":"Close left side",
+    "CloseRightSide":"Close Right Side",
+    "closeAll":"close all",
+    "提示":"prompt",
+    "确定":"determine",
+    "取消":"cancellation",
+    "注销并退出":"Are you sure to log out and exit the system?",
+    "数据正在处理":"The data is being processed, please do not resubmit",
+    "登录状态已过期":"The login status has expired. You can continue to stay on this page or log in again",
+    "系统提示":"system prompt",
+    "重新登录":"Log in again",
+    "无效的会话":"Invalid session or session has expired, please log in again.",
+    "后端接口连接异常":"Backend interface connection exception",
+    "系统接口请求超时":"System interface request timeout",
+    "系统接口":"Interface",
+    "异常":"abnormal",
+    "正在下载数据":"Downloading data, please wait",
+    "下载文件出现错误":"There was an error downloading the file, please contact the administrator!"
+  },
+  settings:{
+    "主题风格设置":"Theme Style Settings",
+    "主题颜色":"Theme Colors",
+    "系统布局配置":"System layout configuration",
+    "开启":"open",
+    "固定":"regular",
+    "显示":"display",
+    "动态标题":"Dynamic Title",
+    "保存配置":"Save Configuration",
+    "重置配置":"Reset Configuration",
+    "正在保存到本地":"Saving to local, please wait...",
+    "正在清除设置":"Clearing settings cache and refreshing, please wait...",
+    "正在加载页面":"Loading page, please wait!"
+  },
+  message: {
+    "language": "language",
+    "Legrunner": "Legrunner king",
+    "sysname": "Running King backend management system",
+    "username":"username",
+    "password":"password",
+    "code":"code",
+    "savepsd":"Save Password",
+    "log":"log on",
+    "Logging":"Logging in",
+    "register":"register",
+    "pfya":"Please fill in your account",
+    "peyp":"Please enter your password",
+    "petvc":"Please enter the verification code"
+  },
+  index: {
+    "welcome": "Hello, welcome to the Running King management platform",
+    "name": "Running King",
+    "index": "index",
+    "用户数量": "Users",
+    "商家数量": "merchants",
+    "门店数量": "stores",
+    "骑手数量": "riders",
+    "全年总订单": "Annual total orders",
+    "全年订单金额": "Annual order amount",
+    "月份": ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+    "订单量": "order quantity",
+    "订单金额": "Amount",
+    "时间范围": "Time Range",
+    "开始日期": "Start Date",
+    "结束日期": "End Date",
+    "查询": "Query"
+  },
+
+  servicetype:{
+  	  "服务类型": "Service Type",
+  	  "请输入服务类型名称": "Please enter the service type name",
+  	  "搜索": "search for",
+  	  "重置": "resetting",
+  	  "新增": "newly added",
+  	  "修改": "modify",
+  	  "删除": "delete",
+  	  "导出": "export",
+  	  "服务类型图片": "image",
+  	  "服务类型说明": "illustrate",
+  	  "宽度": "width",
+  	  "高度": "height",
+	  "请输入宽度": "The width of the phone buttons, with a total screen width of 750",
+	  "请输入高度": "The height of mobile phone buttons",
+  	  "操作": "operate",
+  	  "确定": "determine",
+  	  "取消": "cancellation",
+  	  "服务类型名不能为空": "Service type name cannot be empty",
+  	  "服务类型图片不能为空": "Service type image cannot be empty",
+  	  "添加服务类型": "Add service type",
+  	  "修改服务类型": "Modify service type",
+  	  "修改成功": "Successfully modified",
+  	  "新增成功": "Successfully added",
+  	  "是否确认删除门店分类编号为": "Are you sure to delete the store classification number as",
+  	  "的数据项": "What are the data items for?",
+  	  "删除成功": "Successfully deleted"
+  },
+  upload:{
+    "请上传":"Please upload",
+    "大小不超过":"Size not exceeding",
+    "格式为":"Format is",
+    "的文件":"Files for",
+    "预览":"Preview",
+    "文件格式不正确, 请上传":"The file format is incorrect, please upload",
+    "图片格式文件!":"Image format file!",
+    "上传头像图片大小不能超过":"The size of the uploaded avatar image cannot exceed",
+    "正在上传图片,请稍候":"Uploading image, please wait...",
+    "上传文件数量不能超过":"The number of uploaded files cannot exceed",
+    "个":"individual!",
+    "上传图片失败,请重试":"Failed to upload image. Please try again",
+    "选取文件":"select file",
+    "格式文件":"Format file!",
+    "上传文件大小不能超过":"The size of the uploaded file cannot exceed",
+    "正在上传文件":"Uploading file, please wait...",
+    "上传文件失败":"Failed to upload file, please try again"
+  },
+  system:{
+    "系统提示":"prompted",
+    "确定":"determine",
+    "取消":"cancellation"
+  },
+  mendian:{
+    "名称":"name",
+    "请输入名称":"Please enter a name",
+    "起送价":"Minimum delivery price",
+    "请输入起送价":"Please enter the minimum delivery price",
+    "所在地区":"area",
+    "请输入所在地区":"Please enter your region",
+    "搜索":"search for",
+    "重置":"resetting",
+    "导出":"export",
+    "店封面":"Store Cover",
+    "详细地址":"Address",
+    "经度":"longitude",
+    "纬度":"latitude",
+    "简介":"brief introduction",
+    "类型":"types of",
+    "卫生许可":"Health permit",
+    "营业时间":"business hours",
+	"所属用户":"User",
+    "操作":"operate",
+    "详请":"Detailed Request",
+    "请输入内容":"Please enter content",
+    "请输入卫生许可":"Please enter a hygiene permit",
+    "请输入营业时间":"Please enter the business hours",
+    "确定":"determine",
+    "取消":"cancellation",
+    "名称不能为空":"Name cannot be empty",
+    "店封面不能为空":"The store cover cannot be empty",
+    "所在地区不能为空":"The location cannot be empty",
+    "详细地址不能为空":"The detailed address cannot be empty",
+    "经度不能为空":"Longitude cannot be empty",
+    "纬度不能为空":"Latitude cannot be empty",
+    "类型不能为空":"Type cannot be empty",
+    "卫生许可不能为空":"Hygiene permit cannot be empty",
+    "分类不能为空":"Classification cannot be empty",
+    "添加门店":"Add Store",
+    "查看门店":"View Store",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+    "删除成功":"Successfully deleted",
+    "下架":"Off shelf",
+    "是否关联夜市":"Whether to associate with night market",
+    "夜市id":"Night market ID",
+    "请输入夜市id":"Please enter the night market ID",
+    "否":"No",
+    "是":"Yes"
+  },
+  mendspfenlei:{
+    "门店id":"Store ID",
+    "请输入门店id":"Please enter the store ID",
+    "分类名":"Classification name",
+    "请输入分类名":"Please enter a classification name",
+    "搜索":"search for",
+    "重置":"resetting",
+    "导出":"export",
+    "分类图片":"Category Images",
+    "操作":"operate",
+    "查看":"view",
+    "确定":"determine",
+    "取消":"cancellation",
+    "门店id不能为空":"Store ID cannot be empty",
+    "分类名不能为空":"Category name cannot be empty",
+    "查看门店分类":"View Store Classification"
+  },
+  mendianfood:{
+    "门店id":"Store ID",
+    "请输入门店id":"Please enter the store ID",
+    "商品名":"trade name",
+    "请输入商品名":"Please enter the product name",
+    "商品价格":"commodity price",
+    "请输入商品价格":"Please enter the product price",
+    "搜索":"search for",
+    "重置":"resetting",
+    "导出":"export",
+    "商品配图":"Product layout",
+    "商品介绍":"Product Introduction",
+    "推荐":"recommend",
+    "停用":"Deactivate",
+    "确认要":"Confirm to",
+    "商品吗":"Is it a product?",
+    "成功":"success",
+    "修改成功":"Successfully modified",
+    "操作":"operate",
+    "详情":"details",
+    "0否":"0 No",
+    "1是":"1 Yes",
+    "排序":"sort",
+    "请输入排序":"Please enter sorting",
+    "确定":"determine",
+    "取消":"cancellation"
+  },
+  infouslist:{
+    "手机号码":"phone number",
+    "请输入手机号码":"Please enter your phone number",
+    "用户昵称":"User nickname",
+    "请输入用户昵称":"Please enter the user nickname",
+    "用户邮箱":"User Mailbox",
+    "请输入用户邮箱":"Please enter the user's email address",
+    "搜索":"search for",
+    "重置":"resetting",
+    "导出":"export",
+    "用户ID":"userID",
+    "用户性别":"User Gender",
+    "头像":"head sculpture",
+    "帐号状态":"account status",
+    "操作":"operate",
+    "修改":"modify",
+    "用户类型":"customer type",
+    "确定":"determine",
+    "取消":"cancellation",
+    "帐号状态不能为空":"Account status cannot be empty",
+    "修改用户信息":"Modify user information",
+    "修改成功":"Successfully modified",
+    "积分":"Points",
+  },
+  infoussanhuser:{
+    "用户名":"user name",
+    "请输入用户名":"enter one user name",
+    "手机号码":"phone number",
+    "请输入手机号码":"Please enter your phone number",
+    "商家名称":"Merchant Name",
+    "请输入商家名称":"Please enter the merchant name",
+    "用户邮箱":"Email",
+    "请输入用户邮箱":"Please enter an email address",
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "用户ID":"userID",
+    "头像":"head sculpture",
+    "帐号状态":"account status",
+    "审核状态":"Audit status",
+    "抽成比例":"Draw proportionally",
+    "操作":"operate",
+    "密码":"password",
+    "请输入密码":"Please enter the password",
+    "用户性别":"User Gender",
+    "头像地址":"Avatar url",
+    "邀请码":"Invitation code",
+    "附件":"annex",
+    "材料审核":"Material review",
+    "例":"example",
+    "确定":"determine",
+    "取消":"cancellation",
+    "用户名不能为空":"User name cannot be empty",
+    "密码不能为空":"Password cannot be empty",
+    "手机号码不能为空":"Mobile phone number cannot be empty",
+    "用户昵称不能为空":"User nickname cannot be empty",
+    "用户类型不能为空":"User type cannot be empty",
+    "头像地址不能为空":"The avatar url cannot be empty",
+    "帐号状态不能为空":"Account status cannot be empty",
+    "添加商户信息":"Add merchant information",
+    "修改商户信息":"Modifying Merchant Information",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+    "删除成功":"Successfully deleted"
+  },
+  infouspeisus:{
+    "用户名":"user name",
+    "请输入用户名":"enter one user name",
+    "手机号码":"phone number",
+    "请输入手机号码":"Please enter your phone number",
+    "姓名":"full name",
+    "请输入姓名":"Please enter your name",
+    "用户邮箱":"User Mailbox",
+    "请输入用户邮箱":"Please enter the user's email address",
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "用户ID":"userID",
+    "用户名":"user name",
+    "手机号":"phone number",
+    "姓名":"full name",
+    "头像":"head sculpture",
+    "帐号状态":"account status",
+    "审核状态":"Audit status",
+    "抽成比例":"Draw proportionally",
+    "操作":"operate",
+    "密码":"password",
+    "请输入密码":"Please enter the password",
+    "用户姓名":"User Name",
+    "请输入用户姓名":"Please enter the user name",
+    "用户性别":"User Gender",
+    "头像":"head sculpture",
+    "邀请码":"Invitation code",
+    "车牌号":"license plate number",
+    "例":"example",
+    "请输入邀请标识":"Please enter the invitation ID",
+    "请填写车牌号":"Please fill in the license plate number",
+    "附件":"annex",
+    "材料审核":"Rider review",
+    "司机审核":"Driver review",
+    "驾驶证":"driver's license",
+    "行驶证":"Driving license",
+    "车辆照片":"Vehicle photos",
+    "确定":"determine",
+    "取消":"cancellation",
+    "用户名不能为空":"User name cannot be empty",
+    "密码不能为空":"Password cannot be empty",
+    "手机号码不能为空":"Mobile phone number cannot be empty",
+    "用户昵称不能为空":"User nickname cannot be empty",
+    "用户类型不能为空":"User type cannot be empty",
+    "头像地址不能为空":"The avatar address cannot be empty",
+    "帐号状态不能为空":"Account status cannot be empty",
+    "添加用户信息":"Add user information",
+    "修改用户信息":"Modify user information",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+    "删除成功":"Successfully deleted"
+  },
+  dingdanorder:{
+    "客服处理":"Customer service handling",
+    "用户留言":"guest book",
+    "处理情况":"Handling situation",
+    "订单号":"Order No.",
+    "请输入订单号":"Please enter the order number",
+    "用户Id":"user id",
+    "请输入用户Id":"Please enter the user ID",
+    "订单状态":"Status",
+    "请选择订单状态":"Please select the order status",
+    "订单类型":"order type",
+    "请选择订单类型":"Please select an order type",
+    "搜索":"search for",
+    "重置":"resetting",
+    "修改":"modify",
+    "导出":"export",
+    "创建时间":"Creation time",
+    "订单金额":"Amount",
+    "配送费":"Delivery fee",
+    "配送距离":"Delivery distance",
+    "备注":"notes",
+    "配送时间":"delivery time",
+    "预约配送时间":"Appointment time",
+    "操作":"operate",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改订单状态":"Modify Order Status",
+    "修改成功":"Successfully modified",
+    "出货门店":"Shipping store",
+    "店面地址":"ADDRESS",
+    "订单用户":"User",
+    "订单商家":"Merchant",
+    "配送骑手":"Delivery personnel",
+    "收货人":"consignee",
+    "联系电话":"Telephone",
+    "地区":"area",
+    "收货地址":"Address",
+    "价格":"price",
+    "数量":"number",
+    "小计":"subtotal",
+    "规格":"specifications",
+    "关闭":"close",
+    "开始日期":"Start date",
+    "结束日期":"End date",
+    "商品价格":"commodity price",
+    "促销活动名称":"Promotion Name",
+    "减免值":"Reduction value",
+    "促销活动信息": "Promotion Information",
+    "平台促销活动": "Platform Promotions",
+    "商家促销活动": "Merchant Promotions",
+    "减免": "Discount/Deduction",
+    "优惠券信息": "Coupon Information",
+    "平台优惠券": "Platform Coupons",
+    "商家优惠券": "Merchant Coupons",
+    "优惠金额": "Discount Amount",
+    "无":"None",
+  },
+  peisongfreight:{
+    "运费":"freight",
+    "请输入运费":"Please enter the shipping cost",
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "开始时间":"time-on",
+    "结束时间":"End Time",
+    "收费":"charge",
+    "每公里":"Per kilometer",
+	"起送里程":"Starting mileage",
+	"起送价格":"Minimum delivery price",
+	"输入起送公里数":"Enter the starting mileage for delivery",
+	"输入起送运价":"Enter the minimum shipping rate",
+    "操作":"operate",
+    "起始时间":"starting time",
+    "结束时间":"End Time",
+    "距离":"distance",
+    "输入公里数":"Enter kilometers",
+    "输入公里数的运价":"Enter the freight rate for kilometers",
+    "确定":"determine",
+    "取消":"cancellation",
+    "添加时间段":"Add time period",
+    "修改时间段":"Modify time period",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+    "删除成功":"Successfully deleted"
+  },
+  Margin:{
+    "类型":"types of",
+    "请选择保证金类型":"Please select the type of deposit",
+    "金额":"amount",
+    "请输入金额":"Please enter the amount",
+    "搜索":"search for",
+    "重置":"resetting",
+    "修改":"modify",
+    "导出":"export",
+    "保证金类型":"Deposit type",
+    "保证金说明":"Deposit Description",
+    "操作":"operate",
+    "请输入内容":"Please enter content",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改保证金":"Modify margin",
+    "修改成功":"Successfully modified"
+  },
+  marginlist:{
+    "用户id":"user ID",
+    "请输入用户id":"Please enter user ID",
+    "支付时间":"time of payment",
+    "请选择时间":"Please select a time",
+    "搜索":"search for",
+    "重置":"resetting",
+    "导出":"export",
+    "用户类型":"customer type",
+    "保证金额":"Guaranteed amount",
+    "操作":"operate",
+    "查看":"view",
+    "用户账号":"user account",
+    "用户昵称":"User nickname",
+    "用户手机":"User's mobile phone",
+    "保证金":"Margin",
+    "确定":"determine",
+    "取消":"cancellation",
+    "查看保证金":"View deposit"
+  },
+  cardlist:{
+    "银行卡号":"Bank card number",
+    "请输入银行卡号":"Please enter your bank card number",
+    "开户银行":"bank of deposit",
+    "请输入开户银行":"Please enter the bank of deposit",
+    "账户名称":"name of account",
+    "请输入账户名称":"Please enter an account name",
+    "搜索":"search for",
+    "重置":"resetting",
+    "导出":"export",
+    "用户id":"user id",
+    "卡类型":"Card Type",
+    "图标":"icon",
+    "操作":"operate",
+    "详情":"details",
+    "信用卡":"card",
+    "储蓄卡":"debit card",
+    "确定":"determine",
+    "取消":"cancellation",
+  },
+  kefuhelp:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "问题标题":"Question Title",
+    "请输入问题标题":"Please enter the question title",
+    "解决内容":"Solution Content",
+    "添加问题":"Add Question",
+    "修改问题":"Modifying Issues",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+  },
+  billing:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "用户id":"user id",
+    "请输入用户id":"Please enter user ID",
+    "类型":"type",
+    "请选择类型":"Please select a type",
+    "订单id":"Order ID",
+    "请输入订单id":"Please enter the order ID",
+    "状态":"state",
+    "请选择状态":"Please select a status",
+    "金额":"amount of money",
+    "说明":"illustrate",
+    "支付或收款方式":"Payment or collection method",
+    "请输入内容":"Please enter content",
+    "请输入支付或收款方式":"Please enter payment or receipt method",
+    "收支账号":"Revenue and expenditure account",
+    "请输入收支账号":"Please enter your income and expenditure account",
+    "查看账单":"View bills",
+    "详情":"details"
+  },
+  kefufeedback:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "反馈时间":"Feedback Time",
+    "请选择反馈时间":"Please select a feedback time",
+    "用户id":"user id",
+    "请输入反馈用户id":"Please enter feedback user ID",
+    "反馈用户":"Feedback to users",
+    "问题内容":"Question content",
+    "回复问题":"Reply to questions",
+    "回复反馈内容":"Reply to feedback content",
+    "回复":"reply",
+    "回复内容":"Reply content",
+    "请输入回复内容":"Please enter the reply content",
+    "反馈用户不能为空":"Feedback user cannot be empty",
+    "问题内容不能为空":"The problem content cannot be empty",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+    "请先选择要删除的回复数据":"Please select the reply data to delete first"
+  },
+  appvipmembership:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "会员卡名":"Membership Card Name",
+    "请输入会员卡名称":"Please enter the name of the membership card",
+    "状态":"state",
+    "请选择状态":"Please select a status",
+    "会员卡名称":"Membership Card Name",
+    "会员卡说明":"Membership Card Description",
+    "出售价格":"Selling price",
+    "权益时长":"Equity duration/day",
+    "会员卡名称不能为空":"Membership card name cannot be empty",
+    "出售价格不能为空":"The selling price cannot be empty",
+    "权益时长不能为空":"Equity duration cannot be empty",
+    "状态不能为空":"Status cannot be empty",
+    "添加会员卡":"Add membership card",
+    "修改会员卡":"Modify membership card",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?"
+  },
+  appvipuser:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "详请":"Detailed Request",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "用户id":"user id",
+    "请输入用户id":"Please enter user ID",
+    "到期时间":"Expiration time",
+    "请选择会员到期时间":"Please select the expiration date for the membership",
+    "用户名称":"User Name",
+    "请输入用户名称":"Please enter the user name",
+    "用户昵称":"User nickname",
+    "请输入用户昵称":"Please enter the user nickname",
+    "会员到期时间":"Member expiration date",
+    "查看详情":"Detail"
+  },
+  youhuijuanquanyi:{
+    "搜索": "Search",
+    "重置": "Reset",
+    "新增": "Add",
+    "修改": "Edit",
+    "删除": "Delete",
+    "导出": "Export",
+    "操作": "Actions",
+    "详请": "Details",
+    "确定": "Confirm",
+    "取消": "Cancel",
+    "修改成功": "Edit successful",
+    "新增成功": "Add successful",
+    "删除成功": "Delete successful",
+    "优惠券": "Coupon",
+    "请输入优惠券名称": "Enter coupon name",
+    "是否会员可用": "VIP Exclusive",
+    "优惠方式": "Discount Type",
+    "折扣金额": "Discount/Amount",
+    "优惠券名称": "Coupon Name",
+    "说明": "Description",
+    "使用条件": "Usage Condition",
+    "会员可用": "VIP Only",
+    "优惠值": "Discount Value",
+    "请输入优惠值": "Enter 0 for free shipping, 0.7 for 30% off, or 1000 for $1000 deduction",
+    "优惠券名": "Coupon",
+    "请输入说明": "Enter description",
+    "请输入使用条件": "Enter condition (0=no minimum, >0=minimum spend)",
+    "可用次数": "Usage Limit",
+    "请输入每月会员可用次数": "Enter monthly usage limit for VIP",
+    "是否会员可用不能为空": "VIP exclusivity is required",
+    "优惠方式不能为空": "Discount type is required",
+    "优惠折扣不能为空": "Discount value is required",
+    "值必须大于0": "Value must be greater than 0 (for order/product discounts)",
+    "优惠券名称不能为空": "Coupon name is required",
+    "每月会员可用次数不能为空": "Monthly VIP usage limit is required",
+    "添加优惠券": "Add Coupon",
+    "修改优惠券": "Edit Coupon",
+    "是否确认删除编号为": "Confirm deletion of item #",
+    "的数据项": "What are the data items for?",
+    "有效期": "Validity (days)",
+    "请输入有效期": "Enter validity period (in days)",
+    "优惠券总数": "Total Coupons",
+    "请输入优惠券总数": "Enter total coupon quantity",
+    "每人能领取的数量": "Claim Limit Per User",
+    "请输入每人能领取的数量": "Enter claim limit per user",
+    "优惠券状态": "Status",
+    "优惠券总数不能为空": "Total coupon quantity is required",
+    "优惠券有效期不能为空": "Validity period is required",
+    "每人领取数量不能为空": "Claim limit per user is required",
+    "请选择状态": "Select status",
+    "开启": "Active",
+    "关闭": "Inactive",
+    "不能修改提示":"This offer is already in use! You can only update its status now.",
+    "商家名称": "Merchant Name",
+    "请选择商家": "Please select merchant",
+    "选择商家": "Select Merchant",
+    "店铺名称": "Store Name",
+    "请选择店铺": "Please select store",
+    "商家不能为空": "Merchant cannot be empty",
+    "店铺不能为空": "Store cannot be empty",
+    "已领取数量":"Claimed Quantity",
+  },
+  version:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "详请":"Detailed Request",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "应用名称":"apply name",
+    "请输入应用名称":"Please enter an application name",
+    "版本名称":"Version Name",
+    "请输入版本名称":"Please enter a version name",
+    "版本号":"VERSION",
+    "请输入版本号":"Please enter the version number",
+    "运行平台":"Running Platform",
+    "请选择运行平台":"Please select a running platform",
+    "版本说明":"release note",
+    "强制更新":"Force updates",
+    "上传apk":"Upload APK",
+    "应用地址":"Application URL",
+    "请输入应用商店地址":"Please enter the store URL",
+    "请输入内容":"Please enter content",
+    "应用名称不能为空":"The application name cannot be empty",
+    "版本名称不能为空":"Version name cannot be empty",
+    "版本号不能为空":"Version number cannot be empty",
+    "运行平台不能为空":"The running platform cannot be empty",
+    "下载地址不能为空":"The download address cannot be empty",
+    "添加版本":"Add version",
+    "修改版本":"Modified Version",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?"
+  },
+  qiyejieshao:{
+    "平台介绍":"Platform Introduction",
+    "操作":"operate",
+    "修改":"modify",
+    "确定":"determine",
+    "取消":"cancellation",
+    "平台介绍不能为空":"Platform introduction cannot be empty",
+    "修改平台介绍":"Introduction to Modifying the Platform",
+    "修改成功":"Successfully modified"
+  },
+  systemuser:{
+    "搜索":"search for",
+    "重置":"resetting",
+    "新增":"newly added",
+    "修改":"modify",
+    "删除":"delete",
+    "导出":"export",
+    "操作":"operate",
+    "详请":"Detailed Request",
+    "确定":"determine",
+    "取消":"cancellation",
+    "修改成功":"Successfully modified",
+    "新增成功":"Successfully added",
+    "删除成功":"Successfully deleted",
+    "用户名称":"User Name",
+    "请输入用户名称":"Please enter the user name",
+    "手机号码":"phone number",
+    "请输入手机号码":"Please enter your phone number",
+    "状态":"state",
+    "用户状态":"User Status",
+    "创建时间":"Creation time",
+    "开始日期":"Start date",
+    "结束日期":"End date",
+    "导入":"import",
+    "用户编号":"User ID",
+    "用户昵称":"User nickname",
+    "更多":"more",
+    "重置密码":"reset password",
+    "角色":"role",
+    "分配角色":"Assigning roles",
+    "请输入用户昵称":"Please enter the user nickname",
+    "请选择角色":"Please select a role",
+    "邮箱":"E-mail",
+    "请输入邮箱":"Please enter an email address",
+    "用户密码":"Password",
+    "请输入用户密码":"Please enter the user password",
+    "用户性别":"User Gender",
+    "请选择性别":"Please select gender",
+    "备注":"notes",
+    "请输入内容":"Please enter content",
+    "是否更新已经存在的用户数据":"Do you want to update existing user data",
+    "导入格式文件":"Only allowed to import xls, xlsx format files",
+    "下载模板":"Download Template",
+    "用户名称不能为空":"User name cannot be empty",
+    "用户名称长度":"User name length must be between 2 and 20",
+    "用户昵称不能为空":"User nickname cannot be empty",
+    "用户密码不能为空":"The user password cannot be empty",
+    "用户密码长度":"User password length must be between 5 and 20",
+    "请输入正确的邮箱地址":"Please enter the correct email address",
+    "请输入正确的手机号码":"Please enter the correct phone number",
+    "启用":"Enable",
+    "停用":"Deactivate",
+    "确认要":"Confirm to",
+    "用户吗":"Users?",
+    "成功":"success",
+    "添加用户":"Add User",
+    "修改用户":"Modify Users",
+    "用户导入":"User Import",
+    "请输入":"Enter",
+    "新密码":"New password for",
+    "提示":"prompt",
+    "修改密码成功":"Successfully modified, the new password is:",
+    "是否确认删除编号为":"Are you sure to delete the number as",
+    "的数据项":"What are the data items for?",
+    "请输入部门名称":"Please enter the department name",
+    "将文件拖到此处":"Drag the file here, or",
+    "点击上传":"Click to upload",
+    "部门":"department",
+    "归属部门":"Belonging department",
+    "请选择归属部门":"Please select the department to which you belong",
+    "岗位":"post",
+    "请选择岗位":"Please select a position",
+    "导入结果":"Import results",
+    "控制器中定义的权限字符":"The permission characters defined in the controller, such as @ PreAuthorize (` @ ss. hasRole ('admin ') `)",
+    "加载中":"Loading, please wait",
+    "角色编号":"Role Number",
+    "角色名称":"Role name",
+    "权限字符":"Permission characters",
+    "请输入角色名称":"Please enter the role name",
+    "请输入权限字符":"Please enter permission characters",
+    "角色状态":"Role status",
+    "显示顺序":"ORDER",
+    "角色顺序":"Role order",
+    "菜单权限":"Menu permissions",
+    "展开/折叠":"Expand/Collapse",
+    "全选/全不选":"Select All/Select None",
+    "父子联动":"Father son linkage",
+    "数据权限":"Data permissions",
+    "分配用户":"Assigning Users",
+    "权限范围":"purview",
+    "角色名称不能为空":"The role name cannot be empty",
+    "权限字符不能为空":"Permission characters cannot be empty",
+    "角色顺序不能为空":"The order of roles cannot be empty",
+    "角色吗":"Role?",
+    "添加角色":"Add role",
+    "修改角色":"modify role",
+    "分配数据权限":"Assign data permissions",
+    "部门名称":"Department Name",
+    "排序":"sort",
+    "显示排序":"Display sorting",
+    "部门名称不能为空":"Department name cannot be empty",
+    "负责人":"person in charge",
+    "请输入负责人":"Please enter the person in charge",
+    "联系电话":"Contact Number",
+    "请输入联系电话":"Please enter your contact phone number",
+    "部门状态":"Department status",
+    "添加部门":"Add department",
+    "修改部门":"Modify department",
+    "上级部门":"Superior department",
+    "选择上级部门":"Select superior department",
+    "上级部门不能为空":"The superior department cannot be empty",
+    "显示排序不能为空":"Display sort cannot be empty",
+    "岗位编码":"Job Code",
+    "请输入岗位编码":"Please enter the job code",
+    "岗位名称":"Position",
+    "请输入岗位名称":"Please enter the job title",
+    "岗位状态":"Position status",
+    "岗位编号":"Post No",
+    "岗位排序":"Job Ranking",
+    "请输入编码名称":"Please enter the code name",
+    "岗位顺序":"Position sequence",
+    "公告标题":"Announcement Title",
+    "请输入公告标题":"Please enter the announcement title",
+    "操作人员":"operator",
+    "请输入操作人员":"Please enter the operator",
+    "类型":"type",
+    "公告类型":"Announcement type",
+    "序号":"Serial Number",
+    "创建者":"creator",
+    "内容":"content",
+    "请选择公告类型":"Please select the type of announcement",
+    "上传文件大小不能超过":"The size of the uploaded file cannot exceed",
+    "图片插入失败":"Image insertion failed",
+    "审核上架":"Review and list",
+    "审核":"to examine",
+    "下架":"remove from the shelf",
+    "审核状态":"Audit status",
+    "身份证/护照号":"ID card/passport number",
+    "商家类型":"Merchant type",
+    "身份证/护照照片":"ID card/passport photo",
+    "银行信息照片":"Bank information photo",
+    "商家介绍":"Merchant Introduction",
+    "请输入商家负责人":"Please enter the merchant manager",
+    "请输入身份证/护照号":"Please enter your ID/passport number",
+    "请输入邀请标识":"Please enter the invitation ID",
+    "请输入登录用户名":"Please enter your login username",
+    "组织名称":"The name of the organization",
+    "请输入社会组织名称":"Please enter the name of the social organization",
+    "卖家名称":"Seller name",
+    "请输入卖家名称":"Please enter the name of the seller",
+    "请选择审核状态":"Please select an audit status",
+    "反馈时间":"Feedback time",
+    "请选择反馈时间":"Please select a time for feedback",
+    "社会组织名称":"The name of the social organization",
+    "电话/邮箱":"Phone/Email",
+    "修改社会反馈":"Modify social feedback",
+    "地址":"address",
+    "反馈内容":"Feedback content",
+    "附件":"annex",
+    "请输入地址":"Please enter an address",
+    "请输入电话/邮箱":"Please enter your phone number/email address",
+    "请输入内容":"Please enter your content"
+  },
+  usprofile:{
+    "个人信息":"Personal Information",
+    "用户名称":"User Name",
+    "手机号码":"phone number",
+    "用户邮箱":"User email",
+    "所属角色":"Role",
+    "创建日期":"creation date",
+    "基本资料":"Basic information",
+    "修改密码":"Change password",
+    "所属部门":"DEPARTMENT",
+    "旧密码":"Old password",
+    "请输入旧密码":"Please enter your old password",
+    "新密码":"new Password",
+    "请输入新密码":"Please enter a new password",
+    "确认密码":"Confirm Password",
+    "请确认新密码":"Please confirm the new password",
+    "保存":"save",
+    "关闭":"close",
+    "两次输入的密码不一致":"Entered passwords differ!",
+    "旧密码不能为空":"Old password cannot be empty",
+    "新密码不能为空":"The new password cannot be empty",
+    "密码长度":"Between 6 and 20 characters in length",
+    "确认密码不能为空":"Confirm password cannot be empty",
+    "修改成功":"Successfully modified",
+    "点击上传头像":"Click to upload avatar",
+    "选择":"select",
+    "提交":"submit to",
+    "修改头像":"Modify avatar",
+    "文件格式错误":"The file format is incorrect. Please upload an image type, such as a file with JPG or PNG suffix.",
+    "用户昵称":"User nickname",
+    "邮箱":"E-mail",
+    "性别":"sex",
+    "男":"male",
+    "女":"woman",
+    "用户昵称不能为空":"User nickname cannot be empty",
+    "邮箱地址不能为空":"Email address cannot be empty",
+    "请输入正确的邮箱地址":"Please enter the correct email address",
+    "手机号码不能为空":"Mobile phone number cannot be empty",
+    "请输入正确的手机号码":"Please enter the correct phone number",
+    "基本信息":"Basic information",
+    "登录账号":"Login account",
+    "角色信息":"Roles",
+    "序号":"Serial Number",
+    "角色编号":"Role Number",
+    "角色名称":"Role name",
+    "权限字符":"Permission Characters",
+    "创建时间":"Creation time",
+    "返回":"return",
+    "授权成功":"Authorization successful"
+  },
+  systemappeal:{
+    "上传图片":"Upload images",
+    "订单号":"Order No.",
+    "请输入订单号":"Please enter the order number",
+    "搜索":"search for",
+    "重置":"resetting",
+    "昵称":"nickname",
+    "内容":"content",
+    "操作":"operate",
+    "查看":"view",
+    "回复":"reply",
+    "请输入昵称":"Please enter your nickname",
+    "请输入内容":"Please enter the content",
+    "确定":"determine",
+    "取消":"cancellation",
+    "添加留言信息":"Add message information",
+    "修改留言信息":"Update message information",
+    "查看留言信息":"View message information",
+    "客服":"services",
+    "回复留言信息":"Reply to message information",
+    "修改成功":"Successfully modified",
+    "回复成功":"Reply successful",
+    "使用情况":"usage"
+  },
+  jifen: {
+    "评论获得积分": "Earn points by commenting",
+    "开启": "On",
+    "关闭": "Off",
+    "评论1次积分数量": "Points per comment",
+    "请输入评论1次获得积分数量": "Enter points earned per comment",
+    "1个积分对应的金额": "Point value in currency",
+    "请输入1个积分对应的金额": "Enter monetary value per point",
+    "下单积分抵扣": "Points redemption at checkout",
+    "确 定": "Confirm",
+    "评论积分开关不能为空": "Comment points toggle is required",
+    "每次评论获得积分数量不能为空": "Points per comment is required",
+    "1个积分对应的金额不能为空": "Point value is required",
+    "下单积分抵扣不能为空": "Points redemption is required",
+    "修改成功": "Updated successfully",
+    "使用积分数量": "Points to use",
+    "请输入使用积分数量": "Enter points to redeem",
+    "请输入订单金额条件": "Enter order amount threshold",
+    "启用状态": "Status",
+    "请输入启用状态": "Select status",
+    "搜索": "Search",
+    "重置": "Reset",
+    "新增": "Add",
+    "修改": "Edit",
+    "删除": "Delete",
+    "订单金额": "Order amount",
+    "订单金额达到该金额时生效": "Minimum order value for activation",
+    "取 消": "Cancel",
+    "操作": "Actions",
+    "是否确认删除数据项": "Confirm deletion?",
+    "新增成功": "Added successfully",
+    "使用积分数量不能为空": "Points to use is required",
+    "订单金额不能为空": "Order amount is required",
+    "启用状态不能为空": "Status is required",
+    "订单编号": "Order ID",
+    "请输入订单编号": "Enter order ID",
+    "查看": "View",
+    "用户Id": "User ID",
+    "类型": "Type",
+    "变动值": "Change amount",
+    "变动后余额": "New balance",
+    "创建时间": "Created at",
+    "获得": "Earn",
+    "抵扣": "Redeem",
+    "退回":"Return"
+  },
+  ads:{
+    "新增":"Add",
+    "修改":"Edit",
+    "删除":"Delete",
+    "操作":"Action",
+    "图片":"Image",
+    "跳转地址":"Redirect URL",
+    "状态":"Status",
+    "请输入跳转地址":"Enter redirect URL",
+    "排序":"Sort Order",
+    "请输入排序":"Enter sort number",
+    "开启":"On",
+    "关闭":"Off",
+    "确 定":"Confirm",
+    "取 消":"Cancel",
+    "图片不能为空":"Image is required",
+    "状态不能为空":"Status is required",
+    "添加首页广告":"Add Homepage Ad",
+    "修改首页广告":"Edit Homepage Ad",
+    "是否确认删除数据项":"Delete Confirmation",
+    "新增成功":"Added Successfully",
+    "修改成功":"Updated Successfully",
+    "删除成功":"Deleted Successfully"
+  },
+  review:{
+    "订单id":"Order ID",
+    "请输入订单id":"Please enter Order ID",
+    "评论时间":"Review Time",
+    "请选择评论时间":"Select Review Time",
+    "操作":"Operation",
+    "删除":"Delete",
+    "新增":"Add",
+    "修改":"Edit",
+    "搜索":"Search",
+    "重置":"Reset",
+    "导出":"Export",
+    "用户id":"User ID",
+    "请输入用户id":"Enter User ID",
+    "评分":"Rating",
+    "评论内容":"Review Content",
+    "是否匿名":"Anonymous",
+    "是":"Yes",
+    "否":"No",
+    "评论图片":"Review Images",
+    "确 定":"OK",
+    "取 消":"Cancel",
+    "订单评论":"Order Review",
+  }
+}

+ 1383 - 0
foodie_admin_vue/src/api/language/language.vi.js

@@ -0,0 +1,1383 @@
+export default {
+  route:{
+      "首页":"Trang chủ",
+      "门店管理":"Quản lý cửa hàng",
+      "分类管理":"Quản lý phân loại",
+  	"服务类型": "Phân loại dịch vụ",
+      "餐厅管理":"Quản lý nhà hàng",
+      "商店管理":"Quản lý siêu thị",
+      "商品分类":"Phân loại sản phẩm",
+      "商品管理":"Quản lý phân loại",
+      "用户管理":"Quản lý người dùng",
+      "普通用户":"Người dùng phổ thông",
+      "商家用户":"Người dùng thương gia",
+  	"外卖员":"Shipper/Tài xế",
+      "订单管理":"Quản lý đơn hàng",
+      "订单列表":"Danh sách đơn hàng",
+      "配送管理":"Quản lý giao hàng",
+      "运价设置":"Cài đặt phí giao hàng",
+  	"打车费设置":"Cài đặt phí chở người",
+      "保证金管理":"Quản lý phí đảm bảo",
+      "保证金设置":"Cài đặt phí đảm bảo",
+      "保证金记录":"Lịch sử phí đảm bảo",
+      "财务管理":"Quản lý tài chính",
+      "提现账户管理":"Quản lý tài khoản rút tiền",
+      "用户账单":"Hoá đơn người dùng",
+      "客服管理":"Quản lý chăm sóc khách hàng",
+      "用户留言信息":"Tin nhắn từ người dùng",
+      "商家留言信息":"Tin nhắn từ cửa hàng",
+      "骑手留言信息":"Tin nhắn từ Shipper",
+      "帮助文档":"Tài liệu trợ giúp",
+      "问题反馈":"Vấn dề hồi đáp",
+      "APP会员":"Thành viên APP",
+      "会员卡":"Thẻ thành viên",
+      "会员列表":"Danh sách thành viên",
+      "优惠券管理":"Quản lý khuyến mãi",
+      "可用优惠券":"Mã khuyến mãi sẵn có",
+      "版本管理":"Quản lý phiên bản",
+      "企业服务":"Dịch vụ Doanh Nghiệp",
+      "平台介绍":"Giới thiệu nền tảng",
+      "系统管理":"Quản lý hệ thống",
+      "后台用户":"Người dùng hệ thống",
+      "角色管理":"Quản lý vai trò",
+      "菜单管理":"Quản lý thực đơn",
+      "架构管理":"Quản lý cấu trúc",
+      "岗位管理":"Quản lý công việc",
+      "字典管理":"Quản lý từ điển",
+      "参数设置":"Cài đặt tham số",
+      "通知公告":"Thông cáo thông báo",
+      "日志管理":"Quản lý nhật ký",
+      "操作日志":"Nhật ký thao tác",
+      "登录日志":"Nhật ký đăng nhập",
+      "系统监控":"Hệ thống theo dõi",
+      "在线用户":"Người dùng trực tuyến",
+      "定时任务":"Nhiệm vụ hẹn giờ",
+      "数据监控":"Giám sát số liệu",
+      "服务监控":"Giám sát dịch vụ",
+      "缓存监控":"Giám satBộ nhớ đệm",
+      "缓存列表":"danh sách bộ nhớ điệm",
+      "系统工具":"Công cụ hệ thống",
+      "表单构建":"Cấu tạo biểu mẫu đơn",
+      "代码生成":"Code tạo thành",
+      "系统接口":"Cổng kết nối hệ thống",
+      "更多菜单":"Thêm thực đơn",
+      "餐饮":"Ẩm Thực",
+      "商超":"Siêu Thị",
+      "男":"Nam",
+      "女":"Nữ",
+      "未知":"Chưa biết",
+      "正常":"Bình thường",
+      "暂停":"Tạm dừng",
+      "停用":"Ngưng sử dụng",
+      "启用":"Bật",
+      "开启":"Mở",
+      "未审核":"Chưa xét duyệt",
+      "已审核":"Đã xét duyệt",
+      "外送":"Giao hàng",
+      "自取":"Tự đến lấy",
+      "堂食":"Dùng tại chỗ",
+      "已处理":"Đã xử lý",
+      "未处理":"Chưa xử lý",
+      "未支付":"Chưa thanh toán",
+      "已付款":"Đã thanh toán",
+      "已接单":"Đã nhận đơn",
+      "配送中":"Đang giao hàng",
+      "取餐中":"Đang lấy hàng",
+      "已完成":"Đã hoàn thành",
+      "申请退款":"Đăng kí hoàn tiền",
+      "同意退款":"Đồng ý hoàn tiền",
+      "拒绝退款":"Từ chối hoàn tiền",
+      "客服接入":"Liên hệ chăm sóc khách hàng",
+      "作废":"Huỷ Bỏ",
+      "异常":"Bất thường",
+      "商户":"Nhà hàng",
+      "骑手":"Shipper",
+      "用户":"Người dùng",
+      "信用卡":"Thẻ tín dụng",
+      "储蓄卡":"Thẻ ghi nợ",
+      "在售":"Đang bán",
+      "停售":"Ngưng bán",
+      "是":"Đúng",
+      "否":"Không",
+      "消费满减":"Giảm tiền khi mua đủ",
+      "总额折扣":"Triết khấu trên tổng tiền",
+      "Android":"Android",
+      "IOS":"IOS",
+      "其他":"Khác",
+      "超级管理员":"Quản trị viên siêu cấp",
+      "管理员":"Quản trị viên",
+      "分成":"Chia doanh thu",
+      "充值":"Nạp tiền",
+      "提现":"Rút tiền",
+      "完成":"Hoàn thành",
+      "退回":"Quay về",
+      "申请":"Đăng kí",
+      "飲料":"Nước uống",
+      "火鍋":"Lẩu",
+      "披薩":"Pizza",
+      "漢堡":"Hamburger",
+      "麵食":"Mì",
+      "飯類":"Cơm",
+      "西餐":"Món Tây",
+      "中餐":"Món Trung",
+      "異國料理":"Món nước ngoài",
+      "小吃":"Ăn vặt",
+      "河粉":"Hủ tiếu",
+      "甜點":"Đồ Ngọt",
+      "麵包":"Bánh mì",
+      "外卖订单":"Đặt hàng Takeaway",
+      "打车订单":"Đặt hàng taxi",
+      "直线倍数":"Nhiều đường thẳng",
+      "快捷回复内容":"Trả lời nhanh nội dung",
+      "促销活动管理":"Quản lý sự kiện khuyến mãi",
+      "IPN日志":"Nhật ký IPN",
+      "外卖员/司机":"Tài xế/Driver",
+      "减免运费":"Miễn cước vận chuyển",
+      "订单价打折":"Giảm giá đặt hàng",
+      "订单价抵扣":"Khấu trừ giá đặt hàng",
+      "消费":"Tiêu thụ",
+      "售后完成":"Hoàn thành sau bán hàng",
+      "送达":"Giao hàng",
+      "分销管理":"Quản lý phân phối",
+      "奖赏(积分)":"Phần thưởng (điểm)",
+      "查询":"Yêu cầu",
+      "添加":"Thêm",
+      "修改":"Sửa đổi",
+      "删除":"Xoá",
+      "导出":"Xuất",
+      "导入":"Nhập khẩu",
+      "新增":"Thêm",
+      "详情":"Chi tiết",
+      "查看":"Xem",
+      "留言列表":"Danh sách tin nhắn",
+      "留言详情":"Chi tiết tin nhắn",
+      "回复留言":"Trả lời tin nhắn",
+      "修改留言":"Thay đổi tin nhắn",
+      "用户查询":"Yêu cầu",
+      "用户新增":"Thêm",
+      "用户修改":"Sửa đổi",
+      "用户删除":"Xoá",
+      "用户导出":"Xuất",
+      "用户导入":"Nhập khẩu",
+      "重置密码":"Đặt lại mật khẩu",
+      "角色查询":"Yêu cầu",
+      "角色新增":"Thêm",
+      "角色修改":"Sửa đổi",
+      "角色删除":"Xoá",
+      "角色导出":"Xuất",
+      "菜单查询":"Yêu cầu",
+      "菜单新增":"Thêm",
+      "菜单修改":"Sửa đổi",
+      "菜单删除":"Xoá",
+      "部门查询":"Yêu cầu",
+      "部门新增":"Thêm",
+      "部门修改":"Sửa đổi",
+      "部门删除":"Xoá",
+      "岗位查询":"Yêu cầu",
+      "岗位新增":"Thêm",
+      "岗位修改":"Sửa đổi",
+      "岗位删除":"Xoá",
+      "岗位导出":"Xuất",
+      "字典查询":"Yêu cầu",
+      "字典新增":"Thêm",
+      "字典修改":"Sửa đổi",
+      "字典删除":"Xoá",
+      "字典导出":"Xuất",
+      "参数查询":"Yêu cầu",
+      "参数新增":"Thêm",
+      "参数修改":"Sửa đổi",
+      "参数删除":"Xoá",
+      "参数导出":"Xuất",
+      "公告查询":"Yêu cầu",
+      "公告新增":"Thêm",
+      "公告修改":"Sửa đổi",
+      "公告删除":"Xoá",
+      "操作查询":"Yêu cầu",
+      "操作修改":"Sửa đổi",
+      "日志导出":"Xuất",
+      "登录查询":"Yêu cầu",
+      "登录删除":"Xoá",
+      "账户解锁":"Mở khóa tài khoản",
+      "在线查询":"Yêu cầu trực tuyến",
+      "批量强退":"Hàng loạt mạnh mẽ trở lại",
+      "单条强退":"Một thanh mạnh mẽ lùi lại",
+      "任务查询":"Yêu cầu",
+      "任务新增":"Thêm",
+      "任务修改":"Sửa đổi",
+      "任务删除":"Xoá",
+      "状态修改":"Sửa đổi",
+      "任务导出":"Xuất",
+      "生成查询":"Yêu cầu",
+      "生成修改":"Sửa đổi",
+      "生成删除":"Xoá",
+      "导入代码":"Nhập khẩu",
+      "预览代码":"Xem trước mã",
+      "生成代码":"Tạo mã",
+      "全部数据权限":"Tất cả quyền dữ liệu",
+      "自定数据权限":"Quyền dữ liệu riêng",
+      "本部门数据权限":"Quyền truy cập dữ liệu trong lĩnh vực này",
+      "本部门及以下数据权限":"Quyền hạn dữ liệu của bộ phận này và dưới đây",
+      "仅本人数据权限":"Chỉ cho phép dữ liệu cá nhân",
+      "通知":"Thông báo",
+      "公告":"Thông báo",
+      "关闭":"Đóng cửa",
+      "个人中心":"Trung tâm cá nhân",
+      "社会反馈":"Phản hồi xã hội",
+      "运费": "Phí vận chuyển",
+      "订单": "Đơn hàng",
+      "商品": "Sản phẩm",
+      "商家优惠券":"Voucher thương gia",
+      "积分管理":"Quản lý điểm",
+      "积分设置":"Cài đặt điểm",
+      "下单积分设置":"Cài đặt điểm đặt hàng",
+      "积分流水":"Lịch sử điểm",
+      "首页广告":"Quảng cáo trang chủ",
+      "订单评论":"Đánh giá đơn hàng",
+    },
+    fenlei: {
+      "序号": "Số sê-ri",
+      "分类名": "Tên phân loại",
+      "请输入分类名": "Xin nhập tên phân loại",
+      "搜索": "Tìm kiếm",
+      "重置": "đặt lại",
+      "新增": "Thêm mới",
+      "修改": "Sửa đổi",
+      "删除": "Xoá bỏ",
+      "导出": "Xuất File",
+      "分类图片": "Phân loại hình ảnh",
+      "操作": "Thao tác",
+      "确定": "Xác nhận",
+      "取消": "Huỷ bỏ",
+      "分类名不能为空": "Tên phân loại không được để trống",
+      "分类图片不能为空": "Hình ảnh phân loại không để trống",
+      "添加门店分类": "Thêm phân loại cửa hàng",
+      "修改门店分类": "Sửa đổi phân loại cửa hàng",
+      "修改成功": "Sửa đổi thành công",
+      "新增成功": "Thêm mới thành công",
+      "是否确认删除门店分类编号为": "Có phải xác nhận xoá bỏ dữ liệu phân loại cửa hàng số",
+      "的数据项": "không",
+      "删除成功": "Xoá bỏ thành công",
+      "排序": "thứ tự",
+      "请输入序号":"Xin nhập số thứ tự, số càng lớn sẽ xếp trước",
+      "展开/折叠": "Mở rộng/Thu gọn",
+      "上级分类": "Phân loại cấp trên",
+      "选择上级分类": "Chọn phân loại cấp trên",
+      "标识": "Nhãn",
+      "请输入标识": "Vui lòng nhập nhãn",
+      "活动名称":"Tên sự kiện",
+      "请输入活动名称":"Vui lòng nhập tên hoạt động",
+      "减免方式":"Cách giảm",
+      "请选择减免方式":"Vui lòng chọn cách giảm",
+      "活动商家":"Thương gia hoạt động",
+      "请输入活动商家":"Vui lòng nhập ID doanh nghiệp hoạt động",
+      "活动商品":"Sản phẩm sự kiện",
+      "请输入活动商品":"Vui lòng nhập ID sản phẩm hoạt động",
+      "结束日期":"Ngày kết thúc",
+      "请选择活动结束日期":"Vui lòng chọn ngày kết thúc sự kiện",
+      "活动状态":"Trạng thái hoạt động",
+      "请选择活动状态":"Vui lòng chọn trạng thái hoạt động",
+      "请输入促销活动名称":"Vui lòng nhập tên chương trình khuyến mãi",
+      "活动海报":"Poster sự kiện",
+      "减免值":"Giá trị giảm",
+      "减免值说明":"Chọn miễn phí vận chuyển có thể điền vào chỗ trống, nếu chọn giảm giá, nếu chọn giảm giá, xin điền 0,7, nếu chọn trừ 1000, xin điền 1000.",
+      "使用条件":"Điều kiện sử dụng",
+      "使用条件说明":"Nếu trống không có điều kiện sử dụng, nếu điền 1000 là số tiền đặt hàng đầy 1000 có sẵn",
+      "可用次数":"Số lần có sẵn",
+      "可用次数说明":"Nếu giá trị null được sử dụng không giới hạn, ví dụ điền 1 cho hoạt động này mỗi người dùng chỉ có thể sử dụng một lần.",
+      "活动说明":"Mô tả sự kiện",
+      "请输入内容":"Vui lòng nhập nội dung",
+      "倍数":"Nhiều",
+      "活动名不能空":"Tên hoạt động không được để trống",
+      "减免方式为必选":"Phương thức miễn giảm là bắt buộc",
+      "减免值不能为空": "Giá trị khấu trừ không được bỏ trống",
+      "值必须大于0": "Giá trị đơn hàng/sản phẩm phải lớn hơn 0",
+      "结束日期为必选":"Ngày kết thúc là bắt buộc",
+      "活动状态为必选":"Trạng thái hoạt động là bắt buộc",
+      "简体中文":"Tiếng Trung giản thể",
+      "繁体中文":"Tiếng Trung Phồn thể",
+      "英语":"Tiếng Anh",
+      "越南语":"Tiếng Việt",
+      "不能修改提示":" Dưới đây là bản dịch tiếng Việt chuyên nghiệp cho thông báo trên, kèm theo phân tích chi tiết",
+      "简体中文名":"Tên tiếng Trung giản thể",
+      "繁体体中文名":"Tên tiếng Trung phồn thể",
+      "越南语分类名":"Tên danh mục tiếng Việt",
+      "英语分类名":"Tên danh mục tiếng Anh",
+    },
+    topmenu:{
+      "Layout":"Bố cục lớn nhỏ",
+      "Personal":"Trung tâm cá nhân",
+      "LayoutSettings":"Bố cục thiết kế",
+      "LogOutOfLogin":"Đăng xuất",
+      "Refreshpage":"Làm mới trang",
+      "CloseCurrent":"Đóng",
+      "CloseOther":"Đóng cái khác",
+      "CloseLeftSide":"Đóng bên phía trái",
+      "CloseRightSide":"Đóng bên phía phải",
+      "closeAll":"Đóng toàn bộ",
+      "提示":"Gợi ý",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "注销并退出":"Xác nhận xoá bỏ và thoát khỏi hệ thống không?",
+      "数据正在处理":"Dữ liệu đang được xử lý, đừng gửi lại",
+      "登录状态已过期":"Trạng thái đăng nhập đã hết hạn, bạn có thể tiếp tục ở lại trang này, hoặc đăng nhập lại.",
+      "系统提示":"Hệ thống gợi ý",
+      "重新登录":"Đăng nhập lại",
+      "无效的会话":"Phiên không hợp lệ hoặc phiên đã hết hạn, vui lòng đăng nhập lại.",
+      "后端接口连接异常":"Kết nối giao diện phụ trợ bất thường",
+      "系统接口请求超时":"Thời gian chờ yêu cầu giao diện hệ thống",
+      "系统接口":"Giao diện hệ thống",
+      "异常":"Bất thường",
+      "正在下载数据":"Đang tải dữ liệu, vui lòng đợi",
+      "下载文件出现错误":"Lỗi tải tập tin, vui lòng liên hệ với quản trị viên!"
+    },
+    settings:{
+      "主题风格设置":"Cài đặt phong cách chủ đề",
+      "主题颜色":"Màu sắc chủ đề",
+      "系统布局配置":"Cài đặt bố cục hệ thống",
+      "开启":"Sử dụng",
+      "固定":"Cố định",
+      "显示":"Hiển thị",
+      "动态标题":"Tiêu đề động",
+      "保存配置":"Lưu cài đặt",
+      "重置配置":"Reset cài đặt",
+      "正在保存到本地":"Đang lưu,xin vui lòng đợi...",
+      "正在清除设置":"Đang xoá bộ nhớ cài đặt và làm mới, xin vui lòng đợi...",
+      "正在加载页面":"Đang tải lại trang, vui lòng đợi!"
+    },
+    message: {
+      "language": "Ngôn ngữ",
+      "Legrunner": "CTE",
+      "sysname": "Hệ thống quản lý CTE",
+      "username":"Tài khoản",
+      "password":"Mật khẩu",
+      "code":"mã xác nhận",
+      "savepsd":"Mật khẩu lưu",
+      "log":"Đăng nhập",
+      "Logging":"Đang đăng nhập",
+      "register":"Lập tức đăng kí",
+      "pfya":"Vui long nhập tài khoản đăng nhập",
+      "peyp":"Vui lòng nhập mã xác nhận"
+    },
+    index: {
+      "welcome": "Xin chào, hoan nghênh sử dụng hệ thống quản lý CTE",
+      "name": "Hệ thống quản lý CTE",
+      "index": "Trang chủ",
+      "用户数量": "Số lượng người dùng",
+      "商家数量": "Số lượng thương gia",
+      "门店数量": "Số lương cửa hàng",
+      "骑手数量": "Số lượng Shipper",
+      "全年总订单": "Tổng đơn hàng cả năm",
+      "全年订单金额": "Tổng số tiền đơn hàng cả năm",
+      "月份": ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],
+      "订单量": "Lượng đặt hàng",
+      "订单金额": "Tiền đơn đặt hàng",
+      "时间范围":  "Phạm vi thời gian",
+      "开始日期": "Ngày bắt đầu",
+      "结束日期": "Ngày kết thúc",
+      "查询": "Truy vấn"
+    },
+
+    servicetype:{
+  	  "服务类型": "Loại dịch vụ",
+  	  "请输入服务类型名称": "Xin nhập vào tên loại dịch vụ",
+  	  "搜索": "Tìm kiếm",
+  	  "重置": "Đặt lại",
+  	  "新增": "Thêm mới",
+  	  "修改": "Sửa đổi",
+  	  "删除": "Xoá bỏ",
+  	  "导出": "Xuất File",
+  	  "服务类型图片": "Hình ảnh",
+  	  "服务类型说明": "Mô tả",
+  	  "宽度": "Độ rộng",
+  	  "高度": "Độ cao",
+  	  "请输入宽度": "Độ rộng của nút bấm trên điện thoại,tổng độ rộng trên màn hình là 750",
+  	  "请输入高度": "Mời nhập vào độ cao",
+  	  "操作": "Thao tác",
+  	  "确定": "xác nhận",
+  	  "取消": "Huỷ bỏ",
+  	  "服务类型名不能为空": "Tên loại dịch vụ không được để trống",
+  	  "服务类型图片不能为空": "Hình ảnh loại dịch vụ không được để trống",
+  	  "添加服务类型": "Thêm loại dịch vụ",
+  	  "修改服务类型": "Sửa đổi loại dịch vụ",
+  	  "修改成功": "sửa đổi thành công",
+  	  "新增成功": "Thêm mới thành công",
+  	  "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu mã số ",
+  	  "的数据项":"Không?",
+  	  "删除成功": "Xoá bỏ thành công"
+    },
+    upload:{
+      "请上传":"Xin tải lên",
+      "大小不超过":"Lớn nhỏ không vượt quá",
+      "格式为":"định dạng là",
+      "的文件":"file",
+      "预览":"Xem trước",
+      "文件格式不正确, 请上传":"Định dạng File không đúng, mời tải lên",
+      "图片格式文件!":"Định dạng File hình ảnh!",
+      "上传头像图片大小不能超过":"Tải lên file hình ảnh Avatar không được vượt quá",
+      "正在上传图片,请稍候":"Đang tải lên, vui lòng chờ...",
+      "上传文件数量不能超过":"File tải lên số lượng không được vượt quá",
+      "个":"Cái!",
+      "上传图片失败,请重试":"Tải lên hình ảnh thất bại, mời thử lại",
+      "选取文件":"Chọn file",
+      "格式文件":"Định dạng hình ảnh!",
+      "上传文件大小不能超过":"Tải lên hình ảnh dung lượng không được vượt quá",
+      "正在上传文件":"Đang tải file lên, vui lòng đợi...",
+      "上传文件失败":"Tải lên File thất bại, xin thử lại"
+    },
+    system:{
+      "系统提示":"Hệ thống nhắc nhở",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ"
+    },
+    mendian:{
+      "名称":"Tên",
+      "请输入名称":"Xin nhập vào danh xưng",
+      "起送价":"Giá giao hàng tối thiểu",
+      "请输入起送价":"Xin nhập vào giá tối thiểu giao",
+      "所在地区":"Khu vực của bạn",
+      "请输入所在地区":"Xin nhập vào khu vực của bạn",
+      "搜索":"tìm kiếm",
+      "重置":"đặt lại",
+      "导出":"Xuất file",
+      "店封面":"Ảnh mặt tiệm",
+      "详细地址":"Địa chỉ chi tiết",
+      "经度":"Kinh độ",
+      "纬度":"Vĩ độ",
+      "简介":"Giới thiệu",
+      "类型":"Loại",
+      "卫生许可":"Mã số thuế",
+      "营业时间":"Thời gian kinh doanh",
+  	"所属用户":"Thuộc về tài khoản",
+      "操作":"thao tác",
+      "详请":"chi tiết",
+      "请输入内容":"xin nhập vào nội dung",
+      "请输入卫生许可":"Xin nhập Mã số thuế",
+      "请输入营业时间":"Xin nhập vào thời gian kinh doanh",
+      "确定":"Xác định",
+      "取消":"Huỷ bỏ",
+      "名称不能为空":"Tên không được bỏ trống",
+      "店封面不能为空":"Ảnh cửa hàng không được để trống",
+      "所在地区不能为空":"Khu vực của bạn không được để trống",
+      "详细地址不能为空":"Địa chỉ chi tiết không được để trống",
+      "经度不能为空":"Kinh độ không được để trống",
+      "纬度不能为空":"Vĩ độ không được để trống",
+      "类型不能为空":"Loại hình không được để trống",
+      "卫生许可不能为空":"Mã số thuế không được để trống",
+      "分类不能为空":"Phân loại không được để trống",
+      "添加门店":"Thêm cửa hàng",
+      "查看门店":"Xem cửa hàng",
+      "修改成功":"Chỉnh sửa thành công",
+      "新增成功":"Thêm mới thành công",
+      "是否确认删除编号为":"Có phải xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+      "删除成功":"Xoá bỏ thành công",
+      "下架":"Tạm ẩn",
+      "是否关联夜市":"Có liên kết với chợ đêm không",
+      "夜市id":"ID chợ đêm",
+      "请输入夜市id":"Vui lòng nhập ID chợ đêm",
+      "否":"Không",
+      "是":"Có"
+    },
+    mendspfenlei:{
+      "门店id":"Id cửa hàng",
+      "请输入门店id":"Xin nhập vào id cửa hàng",
+      "分类名":"Tên phân loại",
+      "请输入分类名":"Xin nhập vào tên phân loại",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "导出":"Xuất file",
+      "分类图片":"Phân loại hình ảnh",
+      "操作":"Thao tác",
+      "查看":"Xem",
+      "确定":"Xác định",
+      "取消":"Huỷ bỏ",
+      "门店id不能为空":"Id cửa hàng không được để trống",
+      "分类名不能为空":"Tên phân loại không được để trống",
+      "查看门店分类":"Xem phân loại cửa hàng"
+    },
+    mendianfood:{
+      "门店id":"Cửa hàng ID",
+      "请输入门店id":"Vui lòng nhập ID cửa hàng",
+      "商品名":"Tên sản phẩm",
+      "请输入商品名":"Xin nhập vào tên sản phẩm",
+      "商品价格":"Giá sản phẩm",
+      "请输入商品价格":"Xin nhập vào giá sản phẩm",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "导出":"Xuất file",
+      "商品配图":"Hình ảnh sản phẩm",
+      "商品介绍":"Mô tả sản phẩm",
+      "推荐":"Đề xuất",
+      "停用":"Ngừng sử dụng",
+      "确认要":"Xác nhận cần",
+      "商品吗":"sản phẩm không?",
+      "成功":"Thành công",
+      "修改成功":"sửa đổi thành công",
+      "操作":"Thao tác",
+      "详情":"Chi tiết",
+      "0否":"0Không",
+      "1是":"1Đúng",
+      "排序":"Thứ tự",
+      "请输入排序":"Xin nhập vào thứ tự",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ"
+    },
+    infouslist:{
+      "手机号码":"Số điện thoại",
+      "请输入手机号码":"Xin nhập vào số điện thoại",
+      "用户昵称":"Danh xưng người dùng",
+      "请输入用户昵称":"Xin nhập vào danh xưng người dùng",
+      "用户邮箱":"Email người dùng",
+      "请输入用户邮箱":"Xin nhập vào email người dùng",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "导出":"Xuất file",
+      "用户ID":"ID Người dùng",
+      "用户性别":"Giới tính người dùng",
+      "头像":"Avatar",
+      "帐号状态":"Trạng thái tài khoản",
+      "操作":"Thao tác",
+      "修改":"Sửa đổi",
+      "用户类型":"Loại người dùng",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "帐号状态不能为空":"Trạng thái tài khoản không được để trống",
+      "修改用户信息":"Sửa đổi thông tin người dùng",
+      "修改成功":"Sửa đổi thành công",
+      "积分":"điểm tích lũy",
+    },
+    infoussanhuser:{
+      "用户名":"Tên người dùng",
+      "请输入用户名":"Xin nhập vào tên người dùng",
+      "手机号码":"Số điện thoại",
+      "请输入手机号码":"Xin nhập vào số điện thoại",
+      "商家名称":"Tên doanh nghiệp",
+      "请输入商家名称":"Xin nhập vào tên doanh nghiệp",
+      "用户邮箱":"Email người dùng",
+      "请输入用户邮箱":"Xin nhập vào email người dùng",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sủa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "用户ID":"ID Người dùng",
+      "头像":"Avatar",
+      "帐号状态":"Trạng thái tài khoản",
+      "审核状态":"Trạng thái xét duyệt",
+      "抽成比例":"Tỷ lệ chia doanh thu",
+      "操作":"Thao tác",
+      "密码":"Mật khẩu",
+      "请输入密码":"Xin nhập vào mật khẩu",
+      "用户性别":"Giới tính người dùng",
+      "头像地址":"Ảnh đại diện",
+      "邀请码":"Mã mời",
+      "附件":"File đính kèm",
+      "材料审核":"Xét duyệt hồ sơ",
+      "例":"List",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "用户名不能为空":"Tên người dùng không được để trống",
+      "密码不能为空":"Mật khẩu không được để trống",
+      "手机号码不能为空":"Số điện thoại không được để trống",
+      "用户昵称不能为空":"Danh xưng người dùng không được để trống",
+      "用户类型不能为空":"Loại người dùng không được để trống",
+      "头像地址不能为空":"Avatar không được để trống",
+      "帐号状态不能为空":"Trạng thái tài khoản không được để trống",
+      "添加商户信息":"Thêm thông tin người dùng doanh nghiệp",
+      "修改商户信息":"Sửa đổi thông tin doanh nghiệp",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+      "删除成功":"Xoá bỏ thành công"
+    },
+    infouspeisus:{
+      "用户名":"Tên người dùng",
+      "请输入用户名":"Xin nhập vào tên người dùng",
+      "手机号码":"số điện thoại",
+      "请输入手机号码":"Xin nhập vào số điện thoại",
+      "姓名":"Họ tên",
+      "请输入姓名":"Xin nhập vào họ tên",
+      "用户邮箱":"Email người dùng",
+      "请输入用户邮箱":"Xin nhập vào Email người dùng",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "用户ID":"ID Người dùng",
+      "用户名":"Tên người dùng",
+      "手机号":"Số điện thoại",
+      "姓名":"Họ tên",
+      "头像":"Avatar",
+      "帐号状态":"Trạng thái tài khoản",
+      "审核状态":"Trạng thái xét duyệt",
+      "抽成比例":"Tỷ lệ chia doanh thu",
+      "操作":"Thao tác",
+      "密码":"Mật khẩu",
+      "请输入密码":"Xin nhập vào mật khẩu",
+      "用户姓名":"Tên họ người dùng",
+      "请输入用户姓名":"Xin nhập vào họ tên người dùng",
+      "用户性别":"Giới tính người dùng",
+      "头像":"Avatar",
+      "邀请码":"Mã mời",
+      "附件":"File đính kèm",
+      "车牌号":"Biển số xe",
+      "例":"List",
+      "请输入邀请标识":"Vui lòng nhập ID lời mời",
+      "请填写车牌号":"Xin nhập biển số xe",
+      "材料审核":"Hồ sơ xét duyệt",
+      "司机审核":"Xét duyệt tài xế",
+      "驾驶证":"Giấy phép lái xe",
+      "行驶证":"Giấy phép lái xe",
+      "车辆照片":"Hình ảnh Xe",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "用户名不能为空":"Tên người dùng không được để trống",
+      "密码不能为空":"Mật mã không được để trống",
+      "手机号码不能为空":"Số điện thoại không được để trống",
+      "用户昵称不能为空":"Danh xưng người dùng không được để trống",
+      "用户类型不能为空":"Loại người dùng không được để trống",
+      "头像地址不能为空":"Avatar không được để trống",
+      "帐号状态不能为空":"Trạng thái tài khoản không được để trống",
+      "添加用户信息":"Thêm thông tin người dùng",
+      "修改用户信息":"Sửa đổi thông tin người dùng",
+      "修改成功":"sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+      "删除成功":"Xoá bỏ thành công"
+    },
+    dingdanorder:{
+      "客服处理":"CSKH xử lý",
+      "用户留言":"Tin nhắn người dùng",
+      "处理情况":"Tình trạng xử lý",
+      "订单号":"Mã đơn hàng",
+      "请输入订单号":"Xin nhập vào mã đơn hàng",
+      "用户Id":"Id người dùng",
+      "请输入用户Id":"Xin nhập vào Id người dùng",
+      "订单状态":"Trạng thái đơn hàng",
+      "请选择订单状态":"Xin lựa chọn trạng thái đơn hàng",
+      "订单类型":"Loại hoá đơn",
+      "请选择订单类型":"Xin lựa chọn loại đơn hàng",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "修改":"Sửa đổi",
+      "导出":"Xuất file",
+      "创建时间":"Thời gian tạo",
+      "订单金额":"Giá trị đơn hàng",
+      "配送费":"Phí giao hàng",
+      "配送距离":"Khoảng cách giao hàng",
+      "备注":"ghi chú",
+      "配送时间":"Thời gian giao hàng",
+      "预约配送时间":"Hẹn giờ giao",
+      "操作":"Thao tác",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改订单状态":"Sửa đổi trạng thái đơn hàng",
+      "修改成功":"Sửa đổi thành công",
+      "出货门店":"Địa chỉ xuất hàng",
+      "店面地址":"Địa chỉ cửa hàng",
+      "订单用户":"Người đặt hàng",
+      "订单商家":"Đơn hàng cửa hàng",
+      "配送骑手":"Tài xế giao hàng",
+      "收货人":"Người nhận hàng",
+      "联系电话":"Điện thoại liên lạc",
+      "地区":"Khu vực",
+      "收货地址":"Địa chỉ nhận hàng",
+      "价格":"Giá cả",
+      "数量":"Số lượng",
+      "小计":"Tạm tính",
+      "规格":"Món tuỳ chọn",
+      "关闭":"Đóng",
+      "开始日期":"Thời gian bắt đầu",
+      "结束日期":"Thời gian kết thúc",
+      "商品价格":"Giá sản phẩm",
+      "促销活动名称":"Tên chương trình khuyến mãi",
+      "减免值":"Giá trị giảm",
+      "促销活动信息": "Thông tin khuyến mãi",
+      "平台促销活动": "Chương trình khuyến mãi nền tảng",
+      "商家促销活动": "Chương trình khuyến mãi của cửa hàng",
+      "减免": "Giảm trừ",
+      "优惠券信息": "Thông tin voucher",
+      "平台优惠券": "Voucher nền tảng",
+      "商家优惠券": "Voucher cửa hàng",
+      "优惠金额": "Số tiền ưu đãi",
+      "无":"Không",
+    },
+    peisongfreight:{
+      "运费":"Phí giao hàng",
+      "请输入运费":"Xin nhập vào phí giao hàng",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "开始时间":"Thời gian bắt đầu",
+      "结束时间":"Thời gian kết thúc",
+      "收费":"thu phí",
+      "每公里":"Mỗi cây số",
+  	"起送里程":"Quảng đường tối thiểu giao",
+  	"起送价格":"Phí giao hàng tối thiểu",
+  	"输入起送公里数":"Xin nhập vào cây số giao hàng tối thiểu",
+  	"输入起送运价":"Xin nhập vào phí giao hàng tối thiểu",
+      "操作":"Thao tác",
+      "起始时间":"Thời gian bắt đầu",
+      "结束时间":"Thời gian kết thúc",
+      "距离":"Khoảng cách tính phí",
+      "输入公里数":"Nhập vào số kilomet",
+      "输入公里数的运价":"Nhập vào giá cước của kilomet ",
+      "确定":"Xác định",
+      "取消":"Huỷ bỏ",
+      "添加时间段":"Thêm thời gian",
+      "修改时间段":"Sửa đổi thời gian",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số",
+      "的数据项":"không?",
+      "删除成功":"Xoá bỏ thành công"
+    },
+    Margin:{
+      "类型":"Loại",
+      "请选择保证金类型":"Hãy lựa chọn loại phí bảo đảm",
+      "金额":"Giá tiền",
+      "请输入金额":"Hãy nhập vào giá tiền",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "修改":"Sửa đổi",
+      "导出":"Xuất file",
+      "保证金类型":"Loại phí bảo đảm",
+      "保证金说明":"Quy tắc phí bảo đảm",
+      "操作":"Thao tác",
+      "请输入内容":"Hãy nhập vào nội dung",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改保证金":"Sửa đổi phí bảo đảm",
+      "修改成功":"Sửa đổi thành công"
+    },
+    marginlist:{
+      "用户id":"Id người dùng",
+      "请输入用户id":"Hãy nhập vào Id người dùng",
+      "支付时间":"Thời gian thanh toán",
+      "请选择时间":"Hãy lựa chọn thời gian",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "导出":"Xuất file",
+      "用户类型":"Loại người dùng",
+      "保证金额":"Số tiền đảm bảo",
+      "操作":"Thao tác",
+      "查看":"Xem",
+      "用户账号":"Tài khoản người dùng",
+      "用户昵称":"Tên người dùng ",
+      "用户手机":"Số điện thoại người dùng",
+      "保证金":"Phí bảo đảm",
+      "确定":"Xác định",
+      "取消":"Huỷ bỏ",
+      "查看保证金":"Xem phí bảo đảm"
+    },
+    cardlist:{
+      "银行卡号":"Số thẻ ngân hàng",
+      "请输入银行卡号":"Xin nhập vào số thẻ ngân hàng",
+      "开户银行":"Tên ngân hàng",
+      "请输入开户银行":"Xin nhập vào tên ngân hàng",
+      "账户名称":"Tên tài khoản",
+      "请输入账户名称":"Xin nhập vào tên tài khoản",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "导出":"Xuất file",
+      "用户id":"Id người dùng",
+      "卡类型":"Loại thẻ",
+      "图标":"Logo",
+      "操作":"Thao tác",
+      "详情":"Chi tiết",
+      "信用卡":"Thẻ tín dụng",
+      "储蓄卡":"Thẻ ghi nợ",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ"
+    },
+    kefuhelp:{
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "问题标题":"Tiêu đề câu hỏi",
+      "请输入问题标题":"Hãy nhập tiêu đề câu hỏi",
+      "解决内容":"nội dung giải quyết",
+      "添加问题":"Thêm câu hỏi",
+      "修改问题":"Sửa đổi câu hỏi",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dũ liệu số ",
+      "的数据项":"không?",
+    },
+    billing:{
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "用户id":"Id người dùng",
+      "请输入用户id":"Hãy nhập Id người dùng",
+      "类型":"Loại",
+      "请选择类型":"Hãy chọn loại",
+      "订单id":"Id đơn hàng",
+      "请输入订单id":"Hãy nhập vào Id đơn hàng",
+      "状态":"Trạng thái",
+      "请选择状态":"Hãy lựa chọn trạng thái",
+      "金额":"Số tiền",
+      "说明":"Mô tả",
+      "支付或收款方式":"Phương thức thu chi",
+      "请输入内容":"Hãy nhập vào nội dung",
+      "请输入支付或收款方式":"Hãy nhập vào phương thức thu chi",
+      "收支账号":"Tài khoản thu chi",
+      "请输入收支账号":"Xin nhập vào tài khoản thu chi",
+      "查看账单":"Kiểm tra đơn hàng",
+      "详情":"Chi tiết"
+    },
+    kefufeedback:{
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "反馈时间":"thời gian phản hồi",
+      "请选择反馈时间":"Hãy lựa chọn thời gian phản hồi",
+      "用户id":"Id người dùng",
+      "请输入反馈用户id":"Hãy nhập vào id người dùng cần phản hồi",
+      "反馈用户":"Phản hồi người dùng",
+      "问题内容":"Nội dung vấn đề",
+      "回复问题":"Trả lời vấn đề",
+      "回复反馈内容":"Trả lời phản hồi vấn đề",
+      "回复":"Trả lời",
+      "回复内容":"Nội dung trả lời",
+      "请输入回复内容":"Hãy nhập vào nội dung trả lời",
+      "反馈用户不能为空":"Người dùng phản hồi không được để trống",
+      "问题内容不能为空":"nội dung vấn đề không được để trống",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số",
+      "的数据项":"không ?",
+      "请先选择要删除的回复数据":"Hãy lựa chọn dữ liệu trả lời cần xoá."
+    },
+    appvipmembership:{
+      "搜索":"tìm kiếm",
+      "重置":"đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "会员卡名":"Tên thẻ hội viên",
+      "请输入会员卡名称":"Hãy nhập vào tên hội viên",
+      "状态":"Trạng thái",
+      "请选择状态":"Hãy lựa chọn trạng thái",
+      "会员卡名称":"Tên thẻ thành viên",
+      "会员卡说明":"Mô tả thẻ thành viên",
+      "出售价格":"Giá cả bán ra",
+      "权益时长":"Thời gian hiệu lực",
+      "状态":"Trạng thái",
+      "会员卡名称不能为空":"Tên thẻ thành viên không được. để trống",
+      "出售价格不能为空":"Giá cả bán ra không được để trống",
+      "权益时长不能为空":"Thời gian hiểu trận không được để trống",
+      "状态不能为空":"Trạng thái không được để trống",
+      "添加会员卡":"Thêm thẻ thành viên",
+      "修改会员卡":"Sửa đổi thẻ thanh viên",
+      "是否确认删除编号为":"Có phải xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+    },
+    appvipuser:{
+      "搜索":"Tìm Kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "详情":"Chi tiết",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "用户id":"ID người dùng",
+      "请输入用户id":"Hãy nhập vào Id người dùng",
+      "到期时间":"Hạn thời tới",
+      "请选择会员到期时间":"Hãy lựa chọn thời gian tới hạn của hội viên",
+      "用户名称":"Tên người dùng",
+      "请输入用户名称":"Hãy nhập vào tên người dùng",
+      "用户昵称":"Danh xưng người dùng",
+      "请输入用户昵称":"Hãy nhập danh xưng người dùng",
+      "会员到期时间":"Thời gian tới hạn thành viên",
+      "查看详情":"Xem chi tiết"
+    },
+    youhuijuanquanyi:{
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "详请":"Chi tiết",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "优惠券":"Mã khuyến mãi",
+      "请输入优惠券名称":"Hãy nhập vào tên mã khuyến mãi",
+      "是否会员可用":"Thành viên có thể sử dụng không?",
+      "优惠方式":"Phương thức khuyến mãi",
+      "折扣金额":"Giá trị khuyến mãi",
+      "优惠券名称":"Tên mã khuyến mãi",
+      "说明":"Mô tả",
+      "使用条件":"Điều kiện sử dụng",
+      "会员可用":"Hội viên có thể sử dụng",
+      "优惠值":"Giá trị khuyến mãi",
+      "请输入优惠值":"Chọn miễn phí vận chuyển điền 0, chọn giảm giá (Giảm 30%) điền 0.7, chọn khấu trừ 1000 điền 1000",
+      "优惠券名":"Tên mã khuyến mãi",
+      "请输入说明":"Hãy nhập vào mô tả",
+      "使用条件":"Điều kiện sử dụng",
+      "请输入使用条件":"Hãy nhập vào điều kiện sử dụng,0 là ko có điều kiện,lớn hơn 0 nghĩa là số tiền phải tiêu khi sử dụng mã",
+      "可用次数":"Số lần khả dụng",
+      "请输入每月会员可用次数":"Hãy nhập vào số lần hội viên mỗi tháng có thể sử dụng",
+      "是否会员可用不能为空":"Có phải hội viên được sử dụng không được để trống",
+      "优惠方式不能为空":"Phương thức khuyến mãi không được để trống",
+      "优惠折扣不能为空":"Giá khuyến mãi, % giảm không được để trống",
+      "值必须大于0":"Giá trị phải lớn hơn 0 khi chọn đơn hàng hoặc sản phẩm",
+      "优惠券名称不能为空":"Tên mã khuyến mãi không được để trống",
+      "每月会员可用次数不能为空":"Số lần hội viên được phép sử dụng không được để trống",
+      "添加优惠券":"Thêm mã khuyến mãi",
+      "修改优惠券":"Sửa đổi mã khuyến mãi",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+      "有效期": "Thời hạn hiệu lực (ngày)",
+      "请输入有效期": "Vui lòng nhập thời hạn hiệu lực (đơn vị: ngày)",
+      "优惠券总数": "Tổng số phiếu giảm giá",
+      "请输入优惠券总数": "Vui lòng nhập tổng số phiếu giảm giá",
+      "每人能领取的数量": "Số lượng mỗi người có thể nhận",
+      "请输入每人能领取的数量": "Vui lòng nhập số lượng mỗi người có thể nhận",
+      "优惠券状态": "Trạng thái",
+      "优惠券总数不能为空": "Tổng số phiếu giảm giá không được để trống",
+      "优惠券有效期不能为空": "Thời hạn hiệu lực của phiếu giảm giá không được để trống",
+      "每人领取数量不能为空": "Số lượng mỗi người nhận không được để trống",
+      "请选择状态": "Vui lòng chọn trạng thái",
+      "开启": "Kích hoạt",
+      "关闭": "Tắt",
+      "不能修改提示":"Phiếu ưu đãi đã có người nhận, chỉ thay đổi được trạng thái",
+      "商家名称": "Tên thương gia",
+      "请选择商家": "Vui lòng chọn thương gia",
+      "选择商家": "Chọn thương gia",
+      "店铺名称": "Tên cửa hàng",
+      "请选择店铺": "Vui lòng chọn cửa hàng",
+      "商家不能为空": "Tên thương gia không được để trống",
+      "店铺不能为空": "Tên cửa hàng không được để trống",
+      "已领取数量":"Số lượng đã nhận",
+
+    },
+    version:{
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "详请":"Chi tiết",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "应用名称":"Tên ứng dụng",
+      "请输入应用名称":"Hãy nhập vào tên ứng dụng",
+      "版本名称":"Tên phiên bản",
+      "请输入版本名称":"Hãy nhập vào tên phiên bản",
+      "版本号":"Số phiên bản",
+      "请输入版本号":"Hãy nhập vào số phiên bản",
+      "运行平台":"Nền tảng vận hành",
+      "请选择运行平台":"Xin lựa chọn nền tảng vận hành",
+      "版本说明":"Mô tả phiên bản",
+      "强制更新":"Cưỡng chế cập nhật",
+      "上传apk":"Tải lên apk",
+      "应用地址":"đường dẫn ứng dụng",
+      "请输入应用商店地址":"Hãy nhập vào đường dẫn ứng dụng",
+      "请输入内容":"Hãy nhập vào nội dung",
+      "应用名称不能为空":"Tên ứng dụng không được để trống",
+      "版本名称不能为空":"Tên phiên bản không được để trống",
+      "版本号不能为空":"Số phiên bản không được để trống",
+      "运行平台不能为空":"Nền tảng vận hành không được để trống",
+      "下载地址不能为空":"Đường dẫn tải về không được để trống",
+      "添加版本":"Thêm mới phiên bản",
+      "修改版本":"Sửa đổi phiên bản",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+    },
+    qiyejieshao:{
+      "平台介绍":"Giới thiệu nền tảng",
+      "操作":"Thao tác",
+      "修改":"Sửa đổi",
+      "确定":"Xác định",
+      "取消":"Huỷ bỏ",
+      "平台介绍不能为空":"Giới thiệu nền tảng không được để trống",
+      "修改平台介绍":"Sửa đổi giới thiệu nền tảng",
+      "修改成功":"Sửa đổi thành công"
+    },
+    systemuser:{
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "新增":"Thêm mới",
+      "修改":"Sửa đổi",
+      "删除":"Xoá bỏ",
+      "导出":"Xuất file",
+      "操作":"Thao tác",
+      "详请":"Chi tiết",
+      "确定":"Xác định",
+      "取消":"Huỷ bỏ",
+      "修改成功":"Sửa đổi thành công",
+      "新增成功":"Thêm mới thành công",
+      "删除成功":"Xoá bỏ thành công",
+      "用户名称":"Tên người dùng",
+      "请输入用户名称":"Hãy nhập vào tên người dùng",
+      "手机号码":"Số điện thoại",
+      "请输入手机号码":"Hãy nhập vào số điện thoại",
+      "状态":"Trạng thái",
+      "用户状态":"Trạng thái người dùng",
+      "创建时间":"Thời gian tạo",
+      "开始日期":"Thời gian bắt đầu",
+      "结束日期":"Thời gian kết thúc",
+      "导入":"Nhập file",
+      "用户编号":"Số hiệu người dùng",
+      "用户昵称":"Tên người dùng",
+      "更多":"nhiều hơn",
+      "重置密码":"Đặt lại mật khẩu",
+      "角色":"Vai trò",
+      "分配角色":"Phân chi vai trò",
+      "请输入用户昵称":"Hãy nhập vào tên người dùng",
+      "请选择角色":"Hãy lựa chọn vai trò",
+      "邮箱":"Email",
+      "请输入邮箱":"Hãy nhập vào email",
+      "用户密码":"Mật khẩu người dùng",
+      "请输入用户密码":"Hãy nhập vào mật khẩu người dùng",
+      "用户性别":"Giới tính người dùng",
+      "请选择性别":"Hãy lựa chọn giới tính",
+      "备注":"Ghi chú",
+      "请输入内容":"Hãy nhập vào nội dung",
+      "将文件拖到此处":"Hãy kéo file tới đây,Hoặc",
+      "是否更新已经存在的用户数据":"Có phải đã cập nhật dữ liệu người dùng đã tồn tại",
+      "导入格式文件":"Chỉ được nhập file định dạng xls、xlsx",
+      "下载模板":"Tải xuống mẫu",
+      "用户名称不能为空":"Tên người dùng không được để trống",
+      "用户名称长度":"Độ dài tên người dùng phải nằm giữa 2 và 20",
+      "用户昵称不能为空":"Tên người dùng không được để trống",
+      "用户密码不能为空":"Mật khảu người dùng không được để trống",
+      "用户密码长度":"Độ dài mật khẩu người dùng phải nằm giữa 5 và 20",
+      "请输入正确的邮箱地址":"Hãy nhập vào địa chỉ chính xác",
+      "请输入正确的手机号码":"Hãy nhập vào số điện thoại chính xác",
+      "启用":"Sử dụng",
+      "停用":"Ngưng sử dụng",
+      "确认要":"Xác nhận phải",
+      "用户吗":"người dùng không?",
+      "成功":"Thành công",
+      "添加用户":"Thêm người dùng",
+      "修改用户":"Sửa đổi người dùng",
+      "用户导入":"Người dùng nhập file",
+      "请输入":"Hãy nhập vào",
+      "新密码":"mật khẩu mới",
+      "提示":"Gợi ý",
+      "修改密码成功":"Sủa đổi thành công,mật khẩu mới là:",
+      "是否确认删除编号为":"Có phải xác nhận xoá bỏ dữ liệu số ",
+      "的数据项":"không?",
+      "请输入部门名称":"Vui lòng nhập tên bộ phận",
+      "点击上传":"Click vào Upload",
+      "部门":"Trang chủ",
+      "归属部门":"Sở hữu",
+      "请选择归属部门":"Vui lòng chọn Department",
+      "岗位":"Bài viết",
+      "请选择岗位":"Vui lòng chọn vị trí",
+      "导入结果":"Nhập kết quả",
+      "控制器中定义的权限字符":"Các ký tự cho phép được định nghĩa trong controller như:@PreAuthorize(`@ss.hasRole('admin')`)",
+      "加载中":"Đang tải, vui lòng đợi",
+      "角色编号":"Số nhân vật",
+      "角色名称":"Tên nhân vật",
+      "权限字符":"Ký tự cho phép",
+      "请输入角色名称":"Vui lòng nhập tên nhân vật",
+      "请输入权限字符":"Vui lòng nhập ký tự quyền",
+      "角色状态":"Trạng thái vai trò",
+      "显示顺序":"Thứ tự hiển thị",
+      "角色顺序":"Thứ tự vai trò",
+      "菜单权限":"Quyền thực đơn",
+      "展开/折叠":"Mở rộng/gấp",
+      "全选/全不选":"Chọn tất cả/Không chọn tất cả",
+      "父子联动":"Liên kết cha con",
+      "数据权限":"Quyền dữ liệu",
+      "分配用户":"Phân bổ người dùng",
+      "权限范围":"Phạm vi quyền hạn",
+      "角色名称不能为空":"Tên nhân vật không được để trống",
+      "权限字符不能为空":"Ký tự quyền không thể rỗng",
+      "角色顺序不能为空":"Thứ tự vai trò không được để trống",
+      "角色吗":"Vai diễn?",
+      "添加角色":"Thêm nhân vật",
+      "修改角色":"Thay đổi role",
+      "分配数据权限":"Phân quyền dữ liệu",
+      "部门名称":"Tên bộ phận",
+      "排序":"Sắp xếp",
+      "显示排序":"Hiện sắp xếp",
+      "部门名称不能为空":"Tên bộ phận không được để trống",
+      "负责人":"Trang chủ",
+      "请输入负责人":"Vui lòng nhập người chịu trách nhiệm",
+      "联系电话":"Số điện thoại",
+      "请输入联系电话":"Vui lòng nhập số liên lạc",
+      "部门状态":"Tình trạng ngành",
+      "添加部门":"Thêm bộ phận",
+      "修改部门":"Bộ phận sửa đổi",
+      "上级部门":"Bộ phận cao hơn",
+      "选择上级部门":"Chọn bộ phận cao hơn",
+      "上级部门不能为空":"Cấp trên không được để trống",
+      "显示排序不能为空":"Sắp xếp hiển thị không thể để trống",
+      "岗位编码":"Mã bài viết",
+      "请输入岗位编码":"Vui lòng nhập mã vị trí",
+      "岗位名称":"Tên bài viết",
+      "请输入岗位名称":"Vui lòng nhập tên vị trí",
+      "岗位状态":"Tình trạng vị trí",
+      "岗位编号":"Số bài viết",
+      "岗位排序":"Sắp xếp bài viết",
+      "请输入编码名称":"Vui lòng nhập tên mã",
+      "岗位顺序":"Thứ tự bài viết",
+      "公告标题":"Tiêu đề thông báo",
+      "请输入公告标题":"Vui lòng nhập tiêu đề thông báo",
+      "操作人员":"Nhân viên vận hành",
+      "请输入操作人员":"Vui lòng nhập người vận hành",
+      "类型":"Loại",
+      "公告类型":"Loại thông báo",
+      "序号":"Số sê-ri",
+      "创建者":"Trang chủ",
+      "内容":"Nội dung",
+      "请选择公告类型":"Vui lòng chọn loại thông báo",
+      "上传文件大小不能超过":"Kích thước tập tin tải lên không được vượt quá",
+      "图片插入失败":"Chèn ảnh không thành công",
+      "审核上架":"Kiểm toán lên kệ",
+      "审核":"Xét duyệt",
+      "下架":"Hạ giá",
+      "审核状态":"Trạng thái kiểm toán",
+      "身份证/护照号":"ID/Số hộ chiếu",
+      "商家类型":"Loại Merchant",
+      "身份证/护照照片":"Ảnh CMND/Hộ chiếu",
+      "银行信息照片":"Ảnh thông tin ngân hàng",
+      "商家介绍":"Giới thiệu doanh nghiệp",
+      "请输入商家负责人":"Vui lòng nhập chủ doanh nghiệp",
+      "请输入身份证/护照号":"Vui lòng nhập ID/Passport Number",
+      "请输入邀请标识":"Vui lòng nhập ID thư mời",
+      "请输入登录用户名":"Vui lòng nhập tên đăng nhập",
+      "组织名称":"Tên của tổ chức xã hội ",
+      "请输入社会组织名称":"Xin nhập vào tên ổ chức xã hội",
+      "卖家名称":"Tên cửa hàng/tên người bán",
+      "请输入卖家名称":"Xin nhập vào tên cửa hàng/ tên người bán",
+      "请选择审核状态":"Xin lựa chọn trạng thái xét duyệt",
+      "反馈时间":"Thời gian phản ánh",
+      "请选择反馈时间":"Xin lựa chọn thời gian phản ánh",
+      "社会组织名称":"Tên của tổ chức xã hội ",
+      "电话/邮箱":"Điện thoại/ Email",
+      "修改社会反馈":"Chỉnh sửa phản ánh của tổ chức xã hội",
+      "地址":"địa chỉ",
+      "反馈内容":"Nội dung phản ánh",
+      "附件":"File đính kèm",
+      "请输入地址":"Vui lòng nhập địa chỉ",
+      "请输入电话/邮箱":"Vui lòng nhập số điện thoại/địa chỉ email của bạn",
+      "请输入内容":"Vui lòng nhập nội dung của bạn"
+    },
+    usprofile:{
+      "个人信息":"Thông tin cá nhân",
+      "用户名称":"Danh xưng người dùng",
+      "手机号码":"Số điện thoại",
+      "用户邮箱":"Email người dùng",
+      "所属角色":"Thuộc về vai trò",
+      "创建日期":"Thời gian tạo",
+      "基本资料":"Dữ liệu cơ bản",
+      "修改密码":"Sửa đổi mật khẩu",
+      "所属部门":"Thuộc bộ phận",
+      "旧密码":"Mất khẩu cũ",
+      "请输入旧密码":"Hãy nhập vào mạt khẩu cũ",
+      "新密码":"Mật khẩu mới",
+      "请输入新密码":"Hãy nhập vào mật khẩu mới",
+      "确认密码":"Xác nhận mật khẩu",
+      "请确认新密码":"Xin xác nhận mật khẩu mới",
+      "保存":"Lưu",
+      "关闭":"Đóng",
+      "两次输入的密码不一致":"Mật khẩu 2 lần nhập vào không trùng nhau",
+      "旧密码不能为空":"mật khẩu cũ không được để trống",
+      "新密码不能为空":"Mật khẩu mới không được để trống",
+      "密码长度":"Độ dài từ 6 đến 20 kí tự",
+      "确认密码不能为空":"Xác nhận mật khẩu không được để trống",
+      "修改成功":"Sửa đổi thành công",
+      "点击上传头像":"Nhấp chuột tải lên Avatar",
+      "选择":"Lựa chọn",
+      "提交":"Lưu",
+      "修改头像":"Sửa đổi Avatar",
+      "文件格式错误":"Định dạng file lỗi,Hãy tải lên hình ảnh định dạng :JPG,PNG。",
+      "用户昵称":"Tên người dùng",
+      "邮箱":"Email",
+      "性别":"Giới tính",
+      "男":"Nam",
+      "女":"Nữ",
+      "用户昵称不能为空":"Tên người dùng không được để trống",
+      "邮箱地址不能为空":"Địa chỉ email không được để trống",
+      "请输入正确的邮箱地址":"Hãy nhập vào địa chỉ email chính xác",
+      "手机号码不能为空":"Số điện thoại không được để trống",
+      "请输入正确的手机号码":"Hãy nhập vào số điện thoại chính xác",
+      "基本信息":"Thông tin cơ bản",
+      "登录账号":"Đăng nhập tài khoản",
+      "角色信息":"Thông tin vai trò",
+      "序号":"Số thứ tự",
+      "角色编号":"Số hiệu vai trò",
+      "角色名称":"Tên vai trò",
+      "权限字符":"ký tự cho phép",
+      "创建时间":"Thời gian tạo",
+      "返回":"Quay về",
+      "授权成功":"Uỷ quyền thành công"
+    },
+    systemappeal:{
+      "上传图片":"Tải lên hình ảnh",
+      "订单号":"Mã đơn hàng",
+      "请输入订单号":"Hãy nhập vào mã đơn hàng",
+      "搜索":"Tìm kiếm",
+      "重置":"Đặt lại",
+      "昵称":"Danh xưng",
+      "内容":"Nội dung",
+      "操作":"Thao tác",
+      "查看":"Xem",
+      "回复":"Hồi đáp",
+      "请输入昵称":"Hãy nhập vào danh xưng",
+      "请输入内容":"Hãy nhập vào nội dung",
+      "确定":"Xác nhận",
+      "取消":"Huỷ bỏ",
+      "添加留言信息":"Thêm tin nhắn",
+      "修改留言信息":"Sửa đổi tin nhắn",
+      "查看留言信息":"Xem tin nhắn",
+      "客服":"Chăm sóc khách hàng",
+      "回复留言信息":"Hồi đáp tin nhắn",
+      "修改成功":"Sửa đổi tin nhắn",
+      "回复成功":"Hồi đáp thành công",
+      "使用情况":"Tình trạng sử dụng"
+    },
+  jifen: {
+    "评论获得积分": "Bình luận nhận điểm thưởng",
+    "开启": "Mở",
+    "关闭": "Đóng",
+    "评论1次积分数量": "Số điểm thưởng bình luận 1 lần",
+    "请输入评论1次获得积分数量": "Hãy nhập vào số điểm nhận được mỗi bình luận",
+    "1个积分对应的金额": "Số tiền tương đương với 1 điểm",
+    "请输入1个积分对应的金额": "Hãy nhập vào số tiền tương đương với 1 điểm",
+    "下单积分抵扣": "Đổi điểm giảm giá đơn hàng",
+    "确 定": "Xác nhận",
+    "评论积分开关不能为空": "Tắt mở bình luận thưởng điểm không được để trống",
+    "每次评论获得积分数量不能为空": "Số điểm thưởng nhận được mỗi bình luận không được để trống",
+    "1个积分对应的金额不能为空": "Số tiền tương đương với 1 điểm thưởng không được để trống",
+    "下单积分抵扣不能为空": "Đổi điểm giảm giá đơn hàng không được để trống",
+    "修改成功": "sửa đổi thành công",
+    "使用积分数量": "số lượng điểm thưởng sử dụng",
+    "请输入使用积分数量": "Hãy nhập vào số điểm thưởng sử dụng",
+    "请输入订单金额条件": "Hãy nhập vào điều kiện giá trị đơn hàng",
+    "启用状态": "Trạng thái kích hoạt",
+    "请输入启用状态": "Hãy nhập vào trạng thái kích hoạt",
+    "搜索": "Tìm kiếm",
+    "重置": "Đặt lại",
+    "新增": "Thêm mới",
+    "修改": "Sửa đổi",
+    "删除": "Xoá bỏ",
+    "订单金额": "Giá trị đơn hàng",
+    "订单金额达到该金额时生效":"Giá trị đơn hàng đạt tới ngưỡng sẽ có hiệu lực ",
+    "取 消":"Huỷ bỏ",
+    "操作":"Thao tác",
+    "是否确认删除数据项":"Có xác nhận xoá bỏ nội dung này",
+    "新增成功":"Thêm mới thành công",
+    "使用积分数量不能为空":"Sử dụng số lượng điểm thưởng không được để trống",
+    "订单金额不能为空":"Số tiền đơn hàng không được để trống",
+    "启用状态不能为空":"Trạng thái kích hoạt không được để trống",
+    "订单编号":"Số đơn hàng",
+    "请输入订单编号":"Hãy nhập vào số đơn hàng",
+    "查看":"Xem",
+    "用户Id":"Id người dùng",
+    "类型": "Loại",
+    "变动值": "Giá trị thay đổi",
+    "变动后余额": "Số dư sau thay đổi",
+    "创建时间": "Thời gian tạo",
+    "获得":"Nhận",
+    "抵扣":"Khấu trừ",
+    "退回":"Hoàn lại",
+  },
+  ads:{
+    "新增":"Thêm mới",
+    "修改":"Sửa đổi",
+    "删除":"Xoá bỏ",
+    "操作":"Thao tác",
+    "图片":"Hình ảnh",
+    "跳转地址":"Địa chỉ chuyển tiếp",
+    "状态":"Trạng thái",
+    "请输入跳转地址":"Hãy nhập vào địa chỉ chuyển tiếp",
+    "排序":"Số thứ tự",
+    "请输入排序":"Hãy nhập vào số thứ tự",
+    "开启":"Mở",
+    "关闭":"Đóng",
+    "确 定":"Xác nhận",
+    "取 消":"Huỷ bỏ",
+    "图片不能为空":"Hình ảnh không được để trống",
+    "状态不能为空":"Trạng thái không được để trống",
+    "添加首页广告":"Thêm quảng cáo đầu trang",
+    "修改首页广告":"Sửa đổi quảng cáo đầu trang",
+    "是否确认删除数据项":"Có xác nhận xoá bỏ dòng nội dung này",
+    "新增成功":"Thêm mới thành công",
+    "修改成功":"Sửa đổi thành công",
+    "删除成功":"Xoá bỏ thành công",
+  },
+  review:{
+    "订单id":"ID đơn hàng",
+    "请输入订单id":"Vui lòng nhập ID đơn hàng",
+    "评论时间":"Thời gian đánh giá",
+    "请选择评论时间":"Vui lòng chọn thời gian đánh giá",
+    "操作":"Thao tác",
+    "删除":"Xóa",
+    "新增":"Thêm mới",
+    "修改":"Sửa",
+    "搜索":"Tìm kiếm",
+    "重置":"Đặt lại",
+    "导出":"Xuất",
+    "用户id":"ID người dùng",
+    "请输入用户id":"Vui lòng nhập ID người dùng",
+    "评分":"Điểm đánh giá",
+    "评论内容":"Nội dung đánh giá",
+    "是否匿名":"Ẩn danh",
+    "是":"Có",
+    "否":"Không",
+    "评论图片":"Hình ảnh đánh giá",
+    "确 定":"Xác nhận",
+    "取 消":"Hủy",
+    "订单评论":"Đánh giá đơn hàng",
+  }
+};

+ 1389 - 0
foodie_admin_vue/src/api/language/language.zh_CN.js

@@ -0,0 +1,1389 @@
+export default {
+  route:{
+    "首页":"首页",
+    "门店管理":"门店管理",
+    "分类管理":"分类管理",
+	"服务类型": "服务类型",
+    "餐厅管理":"餐厅管理",
+    "商店管理":"商店管理",
+    "商品分类":"商品分类",
+    "商品管理":"商品管理",
+    "用户管理":"用户管理",
+    "普通用户":"普通用户",
+    "商家用户":"商家用户",
+	"外卖员":"外卖员/司机",
+    "订单管理":"订单管理",
+    "订单列表":"订单列表",
+    "配送管理":"配送管理",
+    "运价设置":"运价设置",
+	"打车费设置":"打车费设置",
+    "保证金管理":"保证金管理",
+    "保证金设置":"保证金设置",
+    "保证金记录":"保证金记录",
+    "财务管理":"财务管理",
+    "提现账户管理":"提现账户管理",
+    "用户账单":"用户账单",
+    "客服管理":"客服管理",
+    "用户留言信息":"用户留言信息",
+    "商家留言信息":"商家留言信息",
+    "骑手留言信息":"骑手留言信息",
+    "帮助文档":"帮助文档",
+    "问题反馈":"问题反馈",
+    "APP会员":"APP会员",
+    "会员卡":"会员卡",
+    "会员列表":"会员列表",
+    "优惠券管理":"优惠券管理",
+    "可用优惠券":"可用优惠券",
+    "版本管理":"版本管理",
+    "企业服务":"企业服务",
+    "平台介绍":"平台介绍",
+    "系统管理":"系统管理",
+    "后台用户":"后台用户",
+    "角色管理":"角色管理",
+    "菜单管理":"菜单管理",
+    "架构管理":"架构管理",
+    "岗位管理":"岗位管理",
+    "字典管理":"字典管理",
+    "参数设置":"参数设置",
+    "通知公告":"通知公告",
+    "日志管理":"日志管理",
+    "操作日志":"操作日志",
+    "登录日志":"登录日志",
+    "系统监控":"系统监控",
+    "在线用户":"在线用户",
+    "定时任务":"定时任务",
+    "数据监控":"数据监控",
+    "服务监控":"服务监控",
+    "缓存监控":"缓存监控",
+    "缓存列表":"缓存列表",
+    "系统工具":"系统工具",
+    "表单构建":"表单构建",
+    "代码生成":"代码生成",
+    "系统接口":"系统接口",
+    "更多菜单":"更多菜单",
+    "餐饮":"餐饮",
+    "商超":"商超",
+    "男":"男",
+    "女":"女",
+    "未知":"未知",
+    "正常":"正常",
+    "暂停":"暂停",
+    "停用":"停用",
+    "开启":"开启",
+    "启用":"启用",
+    "未审核":"未审核",
+    "已审核":"已审核",
+    "外送":"外送",
+    "自取":"自取",
+    "堂食":"堂食",
+    "已处理":"已处理",
+    "未处理":"未处理",
+    "未支付":"未支付",
+    "已付款":"已付款",
+    "已接单":"已接单",
+    "配送中":"配送中",
+    "取餐中":"取餐中",
+    "已完成":"已完成",
+    "申请退款":"申请退款",
+    "同意退款":"同意退款",
+    "拒绝退款":"拒绝退款",
+    "客服接入":"客服接入",
+    "作废":"作废",
+    "异常":"异常",
+    "商户":"商户",
+    "骑手":"骑手",
+    "用户":"用户",
+    "信用卡":"信用卡",
+    "储蓄卡":"储蓄卡",
+    "在售":"在售",
+    "停售":"停售",
+    "是":"是",
+    "否":"否",
+    "消费满减":"消费满减",
+    "总额折扣":"总额折扣",
+    "Android":"Android",
+    "IOS":"IOS",
+    "其他":"其他",
+    "超级管理员":"超级管理员",
+    "管理员":"管理员",
+    "分成":"分成",
+    "充值":"充值",
+    "提现":"提现",
+    "完成":"完成",
+    "退回":"退回",
+    "申请":"申请",
+    "飲料":"饮料",
+    "火鍋":"火锅",
+    "披薩":"披萨",
+    "漢堡":"汉堡",
+    "麵食":"面食",
+    "飯類":"饭类",
+    "西餐":"西餐",
+    "中餐":"中餐",
+    "異國料理":"异国料理",
+    "小吃":"小吃",
+    "河粉":"河粉",
+    "甜點":"甜点",
+    "麵包":"面包",
+    "外卖订单":"外卖订单",
+    "打车订单":"打车订单",
+    "直线倍数":"直线倍数",
+    "快捷回复内容":"快捷回复内容",
+    "促销活动管理":"促销活动管理",
+    "IPN日志":"IPN日志",
+    "外卖员/司机":"外卖员/司机",
+    "减免运费":"减免运费",
+    "订单价打折":"订单价打折",
+    "订单价抵扣":"订单价抵扣",
+    "消费":"消费",
+    "售后完成":"售后完成",
+    "送达":"送达",
+    "分销管理":"分销管理",
+    "奖赏(积分)":"奖赏(积分)",
+    "查询":"查询",
+    "添加":"添加",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "导入":"导入",
+    "新增":"添加",
+    "详情":"详情",
+    "查看":"查看",
+    "留言列表":"留言列表",
+    "留言详情":"留言详情",
+    "回复留言":"回复留言",
+    "修改留言":"修改留言",
+    "用户查询":"用户查询",
+    "用户新增":"用户新增",
+    "用户修改":"用户修改",
+    "用户删除":"用户删除",
+    "用户导出":"用户导出",
+    "用户导入":"用户导入",
+    "重置密码":"重置密码",
+    "角色查询":"角色查询",
+    "角色新增":"角色新增",
+    "角色修改":"角色修改",
+    "角色删除":"角色删除",
+    "角色导出":"角色导出",
+    "菜单查询":"菜单查询",
+    "菜单新增":"菜单新增",
+    "菜单修改":"菜单修改",
+    "菜单删除":"菜单删除",
+    "部门查询":"部门查询",
+    "部门新增":"部门新增",
+    "部门修改":"部门修改",
+    "部门删除":"部门删除",
+    "岗位查询":"岗位查询",
+    "岗位新增":"岗位新增",
+    "岗位修改":"岗位修改",
+    "岗位删除":"岗位删除",
+    "岗位导出":"岗位导出",
+    "字典查询":"字典查询",
+    "字典新增":"字典新增",
+    "字典修改":"字典修改",
+    "字典删除":"字典删除",
+    "字典导出":"字典导出",
+    "参数查询":"参数查询",
+    "参数新增":"参数新增",
+    "参数修改":"参数修改",
+    "参数删除":"参数删除",
+    "参数导出":"参数导出",
+    "公告查询":"公告查询",
+    "公告新增":"公告新增",
+    "公告修改":"公告修改",
+    "公告删除":"公告删除",
+    "操作查询":"操作查询",
+    "操作修改":"操作修改",
+    "日志导出":"日志导出",
+    "登录查询":"登录查询",
+    "登录删除":"登录删除",
+    "账户解锁":"账户解锁",
+    "在线查询":"在线查询",
+    "批量强退":"批量强退",
+    "单条强退":"单条强退",
+    "任务查询":"任务查询",
+    "任务新增":"任务新增",
+    "任务修改":"任务修改",
+    "任务删除":"任务删除",
+    "状态修改":"状态修改",
+    "任务导出":"任务导出",
+    "生成查询":"生成查询",
+    "生成修改":"生成修改",
+    "生成删除":"生成删除",
+    "导入代码":"导入代码",
+    "预览代码":"预览代码",
+    "生成代码":"生成代码",
+    "全部数据权限":"全部数据权限",
+    "自定数据权限":"自定数据权限",
+    "本部门数据权限":"本部门数据权限",
+    "本部门及以下数据权限":"本部门及以下数据权限",
+    "仅本人数据权限":"仅本人数据权限",
+    "通知":"通知",
+    "公告":"公告",
+    "关闭":"关闭",
+    "上架":"上架",
+    "下架":"下架",
+    "个人中心":"个人中心",
+    "社会反馈":"社会反馈",
+    "运费":"运费",
+    "订单":"订单",
+    "商品":"商品",
+    "商家优惠券":"商家优惠券",
+    "积分管理":"积分管理",
+    "积分设置":"积分设置",
+    "下单积分设置":"下单积分设置",
+    "积分流水":"积分流水",
+    "首页广告":"首页广告",
+    "订单评论":"订单评论",
+  },
+  fenlei: {
+    "序号": "序号",
+    "分类名": "分类名",
+    "请输入分类名": "请输入分类名",
+    "搜索": "搜索",
+    "重置": "重置",
+    "新增": "新增",
+    "修改": "修改",
+    "删除": "删除",
+    "导出": "导出",
+    "分类图片": "分类图片",
+    "操作": "操作",
+    "确定": "确定",
+    "取消": "取消",
+    "分类名不能为空": "分类名不能为空",
+    "分类图片不能为空": "分类图片不能为空",
+    "添加门店分类": "添加门店分类",
+    "修改门店分类": "修改门店分类",
+    "修改成功": "修改成功",
+    "新增成功": "新增成功",
+    "是否确认删除门店分类编号为": "是否确认删除编号为",
+    "的数据项": "的数据项?",
+    "删除成功": "删除成功",
+    "排序": "排序",
+    "请输入序号":"请输入序号:数字越大越靠前",
+    "展开/折叠": "展开/折叠",
+    "上级分类": "上级分类",
+    "选择上级分类": "选择上级分类",
+    "标识": "标识",
+    "请输入标识": "请输入标识",
+    "活动名称":"活动名称",
+    "请输入活动名称":"请输入活动名称",
+    "减免方式":"减免方式",
+    "请选择减免方式":"请选择减免方式",
+    "活动商家":"活动商家",
+    "请输入活动商家":"请输入活动商家id",
+    "活动商品":"活动商品",
+    "请输入活动商品":"请输入活动商品id",
+    "结束日期":"结束日期",
+    "请选择活动结束日期":"请选择活动结束日期",
+    "活动状态":"活动状态",
+    "请选择活动状态":"请选择活动状态",
+    "请输入促销活动名称":"请输入促销活动名称",
+    "活动海报":"活动海报",
+    "减免值":"减免值",
+    "减免值说明":"选免运费填写0,如选打折如7折请填0.7,如选抵扣1000请填1000",
+    "使用条件":"使用条件",
+    "使用条件说明":"如空为无任何使用条件,如填1000为订单金额满1000可用",
+    "可用次数":"可用次数",
+    "可用次数说明":"如空值为无限使用,如填1为此活动每个用户只能使用一次",
+    "活动说明":"活动说明",
+    "请输入内容":"请输入内容",
+    "倍数":"倍数",
+    "活动名不能空":"活动名不能空",
+    "减免方式为必选":"减免方式为必选",
+    "减免值不能为空":"减免值不能为空",
+    "值必须大于0":"選擇訂單、商品值必須大於0",
+    "结束日期为必选":"结束日期为必选",
+    "活动状态为必选":"活动状态为必选",
+    "简体中文":"简体中文",
+    "繁体中文":"繁体中文",
+    "英语":"英语",
+    "越南语":"越南语",
+    "不能修改提示":"该促销活动已有用户使用,只能修改状态,不能修改其他核心字段",
+    "简体中文名":"简体中文名",
+    "繁体体中文名":"繁体中文名",
+    "越南语分类名":"越南语分类名",
+    "英语分类名":"英语分类名",
+  },
+  topmenu:{
+    "Layout":"布局大小",
+    "Personal":"个人中心",
+    "LayoutSettings":"布局设置",
+    "LogOutOfLogin":"退出登录",
+    "Refreshpage":"刷新页面",
+    "CloseCurrent":"关闭当前",
+    "CloseOther":"关闭其他",
+    "CloseLeftSide":"关闭左侧",
+    "CloseRightSide":"关闭右侧",
+    "closeAll":"全部关闭",
+    "提示":"提示",
+    "确定":"确定",
+    "取消":"取消",
+    "注销并退出":"确定注销并退出系统吗?",
+    "数据正在处理":"数据正在处理,请勿重复提交",
+    "登录状态已过期":"登录状态已过期,您可以继续留在该页面,或者重新登录",
+    "系统提示":"系统提示",
+    "重新登录":"重新登录",
+    "无效的会话":"无效的会话,或者会话已过期,请重新登录。",
+    "后端接口连接异常":"后端接口连接异常",
+    "系统接口请求超时":"系统接口请求超时",
+    "系统接口":"系统接口",
+    "异常":"异常",
+    "正在下载数据":"正在下载数据,请稍候",
+    "下载文件出现错误":"下载文件出现错误,请联系管理员!"
+  },
+  settings:{
+    "主题风格设置":"主题风格设置",
+    "主题颜色":"主题颜色",
+    "系统布局配置":"系统布局配置",
+    "开启":"开启",
+    "固定":"固定",
+    "显示":"显示",
+    "动态标题":"动态标题",
+    "保存配置":"保存配置",
+    "重置配置":"重置配置",
+    "正在保存到本地":"正在保存到本地,请稍候...",
+    "正在清除设置":"正在清除设置缓存并刷新,请稍候...",
+    "正在加载页面":"正在加载页面,请稍候!"
+  },
+  message: {
+    "language": "语言",
+    "Legrunner": "美食达",
+    "sysname": "美食达后台管理系统",
+    "username":"账号",
+    "password":"密码",
+    "code":"验证码",
+    "savepsd":"保存密码",
+    "log":"登录",
+    "Logging":"登录中",
+    "register":"立即注册",
+    "pfya":"请输入您的账号",
+    "peyp":"请输入您的密码",
+    "petvc":"请输入验证码"
+  },
+  index: {
+    "welcome": "你好,欢迎使用美食达管理平台",
+    "name": "美食达管理系统",
+    "index": "首页",
+    "用户数量": "用户数量",
+    "商家数量": "商家数量",
+    "门店数量": "门店数量",
+    "骑手数量": "骑手数量",
+    "全年总订单": "全年总订单",
+    "全年订单金额": "全年订单金额",
+    "月份": ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    "订单量": "订单量",
+    "订单金额": "订单金额",
+    "时间范围":  "时间范围",
+    "开始日期": "开始日期",
+    "结束日期": "结束日期",
+    "查询": "查询",
+  },
+
+  servicetype:{
+	  "服务类型": "服务类型",
+	  "请输入服务类型名称": "请输入服务类型名称",
+	  "搜索": "搜索",
+	  "重置": "重置",
+	  "新增": "新增",
+	  "修改": "修改",
+	  "删除": "删除",
+	  "导出": "导出",
+	  "服务类型图片": "图片",
+	  "服务类型说明": "说明",
+	  "宽度": "宽度",
+	  "高度": "高度",
+	  "请输入宽度": "手机按钮的宽度,屏幕总宽度为750",
+	  "请输入高度": "手机按钮的高度",
+	  "操作": "操作",
+	  "确定": "确定",
+	  "取消": "取消",
+	  "服务类型名不能为空": "服务类型名不能为空",
+	  "服务类型图片不能为空": "服务类型图片不能为空",
+	  "添加服务类型": "添加服务类型",
+	  "修改服务类型": "修改服务类型",
+	  "修改成功": "修改成功",
+	  "新增成功": "新增成功",
+	  "是否确认删除编号为":"是否确认删除编号为",
+	  "的数据项":"的数据项?",
+	  "删除成功": "删除成功"
+  },
+  upload:{
+    "请上传":"请上传",
+    "大小不超过":"大小不超过",
+    "格式为":"格式为",
+    "的文件":"的文件",
+    "预览":"预览",
+    "文件格式不正确, 请上传":"文件格式不正确, 请上传",
+    "图片格式文件!":"图片格式文件!",
+    "上传头像图片大小不能超过":"上传头像图片大小不能超过",
+    "正在上传图片,请稍候":"正在上传图片,请稍候...",
+    "上传文件数量不能超过":"上传文件数量不能超过",
+    "个":"个!",
+    "上传图片失败,请重试":"上传图片失败,请重试",
+    "选取文件":"选取文件",
+    "格式文件":"格式文件!",
+    "上传文件大小不能超过":"上传文件大小不能超过",
+    "正在上传文件":"正在上传文件,请稍候...",
+    "上传文件失败":"上传文件失败,请重试"
+  },
+  system:{
+    "系统提示":"系统提示",
+    "确定":"确定",
+    "取消":"取消"
+  },
+  mendian:{
+    "名称":"名称",
+    "请输入名称":"请输入名称",
+    "起送价":"起送价",
+    "请输入起送价":"请输入起送价",
+    "所在地区":"所在地区",
+    "请输入所在地区":"请输入所在地区",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "店封面":"店封面",
+    "详细地址":"详细地址",
+    "经度":"经度",
+    "纬度":"纬度",
+    "简介":"简介",
+    "类型":"类型",
+    "卫生许可":"税务号",
+    "营业时间":"营业时间",
+	"所属用户":"所属用户",
+    "操作":"操作",
+    "详请":"详请",
+    "请输入内容":"请输入内容",
+    "请输入卫生许可":"请输入税务号",
+    "请输入营业时间":"请输入营业时间",
+    "确定":"确 定",
+    "取消":"取 消",
+    "名称不能为空":"名称不能为空",
+    "店封面不能为空":"店封面不能为空",
+    "所在地区不能为空":"所在地区不能为空",
+    "详细地址不能为空":"详细地址不能为空",
+    "经度不能为空":"经度不能为空",
+    "纬度不能为空":"纬度不能为空",
+    "类型不能为空":"类型不能为空",
+    "卫生许可不能为空":"税务号不能为空",
+    "分类不能为空":"分类不能为空",
+    "添加门店":"添加门店",
+    "查看门店":"查看门店",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "删除成功":"删除成功",
+    "下架":"下架",
+    "是否关联夜市":"是否关联夜市",
+    "夜市id":"夜市id",
+    "请输入夜市id":"请输入夜市id",
+    "否":"否",
+    "是":"是"
+  },
+  mendspfenlei:{
+    "门店id":"门店id",
+    "请输入门店id":"请输入门店id",
+    "分类名":"分类名",
+    "请输入分类名":"请输入分类名",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "分类图片":"分类图片",
+    "操作":"操作",
+    "查看":"查看",
+    "确定":"确定",
+    "取消":"取消",
+    "门店id不能为空":"门店id不能为空",
+    "分类名不能为空":"分类名不能为空",
+    "查看门店分类":"查看门店分类"
+  },
+  mendianfood:{
+    "门店id":"门店id",
+    "请输入门店id":"请输入门店id",
+    "商品名":"商品名",
+    "请输入商品名":"请输入商品名",
+    "商品价格":"商品价格",
+    "请输入商品价格":"请输入商品价格",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "商品配图":"商品配图",
+    "商品介绍":"商品介绍",
+    "推荐":"推荐",
+    "停用":"停用",
+    "确认要":"确认要",
+    "商品吗":"商品吗?",
+    "成功":"成功",
+    "修改成功":"修改成功",
+    "操作":"操作",
+    "详情":"详情",
+    "0否":"0否",
+    "1是":"1是",
+    "排序":"排序",
+    "请输入排序":"请输入排序",
+    "确定":"确定",
+    "取消":"取消"
+  },
+  infouslist:{
+    "手机号码":"手机号码",
+    "请输入手机号码":"请输入手机号码",
+    "用户昵称":"用户昵称",
+    "请输入用户昵称":"请输入用户昵称",
+    "用户邮箱":"用户邮箱",
+    "请输入用户邮箱":"请输入用户邮箱",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "用户ID":"用户ID",
+    "用户性别":"用户性别",
+    "头像":"头像",
+    "帐号状态":"帐号状态",
+    "操作":"操作",
+    "修改":"修改",
+    "用户类型":"用户类型",
+    "确定":"确定",
+    "取消":"取消",
+    "帐号状态不能为空":"帐号状态不能为空",
+    "修改用户信息":"修改用户信息",
+    "修改成功":"修改成功",
+    "积分":"积分",
+  },
+  infoussanhuser:{
+    "用户名":"用户名",
+    "请输入用户名":"请输入用户名",
+    "手机号码":"手机号码",
+    "请输入手机号码":"请输入手机号码",
+    "商家名称":"商家名称",
+    "请输入商家名称":"请输入商家名称",
+    "用户邮箱":"用户邮箱",
+    "请输入用户邮箱":"请输入用户邮箱",
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "用户ID":"用户ID",
+    "头像":"头像",
+    "帐号状态":"帐号状态",
+    "审核状态":"审核状态",
+    "抽成比例":"抽成比例",
+    "操作":"操作",
+    "密码":"密码",
+    "请输入密码":"请输入密码",
+    "用户性别":"用户性别",
+    "头像地址":"头像地址",
+    "邀请码":"邀请码",
+    "附件":"附件",
+    "材料审核":"商户审核",
+    "例":"例",
+    "确定":"确定",
+    "取消":"取消",
+    "用户名不能为空":"用户名不能为空",
+    "密码不能为空":"密码不能为空",
+    "手机号码不能为空":"手机号码不能为空",
+    "用户昵称不能为空":"用户昵称不能为空",
+    "用户类型不能为空":"用户类型不能为空",
+    "头像地址不能为空":"头像地址不能为空",
+    "帐号状态不能为空":"帐号状态不能为空",
+    "添加商户信息":"添加商户信息",
+    "修改商户信息":"修改商户信息",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "删除成功":"删除成功"
+  },
+  infouspeisus:{
+    "用户名":"用户名",
+    "请输入用户名":"请输入用户名",
+    "手机号码":"手机号码",
+    "请输入手机号码":"请输入手机号码",
+    "姓名":"姓名",
+    "请输入姓名":"请输入姓名",
+    "用户邮箱":"用户邮箱",
+    "请输入用户邮箱":"请输入用户邮箱",
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "用户ID":"用户ID",
+    "用户名":"用户名",
+    "手机号":"手机号",
+    "姓名":"姓名",
+    "头像":"头像",
+    "帐号状态":"帐号状态",
+    "审核状态":"审核状态",
+    "抽成比例":"抽成比例",
+    "操作":"操作",
+    "密码":"密码",
+    "请输入密码":"请输入密码",
+    "用户姓名":"用户姓名",
+    "请输入用户姓名":"请输入用户姓名",
+    "用户性别":"用户性别",
+    "头像":"头像",
+    "邀请码":"邀请码",
+    "附件":"附件",
+    "车牌号":"车牌号",
+    "例":"例",
+    "请输入邀请标识":"请输入邀请标识",
+    "请填写车牌号":"请填写车牌号",
+    "材料审核":"骑手审核",
+    "司机审核":"司机审核",
+    "驾驶证":"驾驶证",
+    "行驶证":"行驶证",
+    "车辆照片":"车辆照片",
+    "确定":"确定",
+    "取消":"取消",
+    "用户名不能为空":"用户名不能为空",
+    "密码不能为空":"密码不能为空",
+    "手机号码不能为空":"手机号码不能为空",
+    "用户昵称不能为空":"用户昵称不能为空",
+    "用户类型不能为空":"用户类型不能为空",
+    "头像地址不能为空":"头像地址不能为空",
+    "帐号状态不能为空":"帐号状态不能为空",
+    "添加用户信息":"添加用户信息",
+    "修改用户信息":"修改用户信息",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "删除成功":"删除成功"
+  },
+  dingdanorder:{
+    "客服处理":"客服处理",
+    "用户留言":"用户留言",
+    "处理情况":"处理情况",
+    "订单号":"订单号",
+    "请输入订单号":"请输入订单号",
+    "用户Id":"用户id",
+    "请输入用户Id":"请输入用户Id",
+    "订单状态":"订单状态",
+    "请选择订单状态":"请选择订单状态",
+    "订单类型":"订单类型",
+    "请选择订单类型":"请选择订单类型",
+    "搜索":"搜索",
+    "重置":"重置",
+    "修改":"修改",
+    "导出":"导出",
+    "创建时间":"创建时间",
+    "订单金额":"订单金额",
+    "配送费":"配送费",
+    "配送距离":"配送距离",
+    "备注":"备注",
+    "配送时间":"配送时间",
+    "预约配送时间":"预约配送时间",
+    "操作":"操作",
+    "确定":"确定",
+    "取消":"取消",
+    "修改订单状态":"修改订单状态",
+    "修改成功":"修改成功",
+    "出货门店":"出货门店",
+    "店面地址":"店面地址",
+    "订单用户":"订单用户",
+    "订单商家":"订单商家",
+    "配送骑手":"配送骑手",
+    "收货人":"收货人",
+    "联系电话":"联系电话",
+    "地区":"地区",
+    "收货地址":"收货地址",
+    "价格":"价格",
+    "数量":"数量",
+    "小计":"小计",
+    "规格":"规格",
+    "关闭":"关闭",
+    "开始日期":"开始日期",
+    "结束日期":"结束日期",
+    "商品价格":"商品价格",
+    "促销活动名称":"促销活动名称",
+    "减免值":"减免值",
+    "促销活动信息":"促销活动信息",
+    "平台促销活动":"平台促销活动",
+    "商家促销活动":"商家促销活动",
+    "减免":"减免",
+    "优惠券信息":"优惠券信息",
+    "平台优惠券":"平台优惠券",
+    "商家优惠券":"商家优惠券",
+    "优惠金额":"优惠金额",
+    "无":"无",
+    "积分使用情况":"积分使用情况",
+    "使用积分数量":"使用积分数量",
+    "抵扣金额":"抵扣金额",
+  },
+  peisongfreight:{
+    "运费":"运费",
+    "请输入运费":"请输入运费",
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "开始时间":"开始时间",
+    "结束时间":"结束时间",
+    "收费":"收费",
+    "每公里":"每公里",
+	"起送里程":"起送里程",
+	"起送价格":"起送价格",
+	"输入起送公里数":"输入起送公里数",
+	"输入起送运价":"输入起送运价",
+    "操作":"操作",
+    "起始时间":"起始时间",
+    "结束时间":"结束时间",
+    "距离":"计费距离",
+    "输入公里数":"输入公里数",
+    "输入公里数的运价":"输入公里数的运价",
+    "确定":"确定",
+    "取消":"取消",
+    "添加时间段":"添加时间段",
+    "修改时间段":"修改时间段",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "删除成功":"删除成功"
+  },
+  Margin:{
+    "类型":"类型",
+    "请选择保证金类型":"请选择保证金类型",
+    "金额":"金额",
+    "请输入金额":"请输入金额",
+    "搜索":"搜索",
+    "重置":"重置",
+    "修改":"修改",
+    "导出":"导出",
+    "保证金类型":"类型",
+    "保证金说明":"说明",
+    "操作":"操作",
+    "请输入内容":"请输入内容",
+    "确定":"确定",
+    "取消":"取消",
+    "修改保证金":"修改保证金",
+    "修改成功":"修改成功"
+  },
+  marginlist:{
+    "用户id":"用户id",
+    "请输入用户id":"请输入用户id",
+    "支付时间":"支付时间",
+    "请选择时间":"请选择时间",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "用户类型":"用户类型",
+    "保证金额":"保证金额",
+    "操作":"操作",
+    "查看":"查看",
+    "用户账号":"用户账号",
+    "用户昵称":"用户昵称",
+    "用户手机":"用户手机",
+    "保证金":"保证金",
+    "确定":"确定",
+    "取消":"取消",
+    "查看保证金":"查看保证金"
+  },
+  cardlist:{
+    "银行卡号":"银行卡号",
+    "请输入银行卡号":"请输入银行卡号",
+    "开户银行":"开户银行",
+    "请输入开户银行":"请输入开户银行",
+    "账户名称":"账户名称",
+    "请输入账户名称":"请输入账户名称",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "用户id":"用户id",
+    "卡类型":"卡类型",
+    "图标":"图标",
+    "操作":"操作",
+    "详情":"详情",
+    "信用卡":"信用卡",
+    "储蓄卡":"储蓄卡",
+    "确定":"确定",
+    "取消":"取消"
+  },
+  kefuhelp:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "问题标题":"问题标题",
+    "请输入问题标题":"请输入问题标题",
+    "解决内容":"解决内容",
+    "添加问题":"添加问题",
+    "修改问题":"修改问题",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+  },
+  billing:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "用户id":"用户id",
+    "请输入用户id":"请输入用户id",
+    "类型":"类型",
+    "请选择类型":"请选择类型",
+    "订单id":"订单id",
+    "请输入订单id":"请输入订单id",
+    "状态":"状态",
+    "请选择状态":"请选择状态",
+    "金额":"金额",
+    "说明":"说明",
+    "支付或收款方式":"支付或收款方式",
+    "请输入内容":"请输入内容",
+    "请输入支付或收款方式":"请输入支付或收款方式",
+    "收支账号":"收支账号",
+    "请输入收支账号":"请输入收支账号",
+    "查看账单":"查看账单",
+    "详情":"详情"
+  },
+  kefufeedback:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "反馈时间":"反馈时间",
+    "请选择反馈时间":"请选择反馈时间",
+    "用户id":"用户id",
+    "请输入反馈用户id":"请输入反馈用户id",
+    "反馈用户":"反馈用户",
+    "问题内容":"问题内容",
+    "回复问题":"回复问题",
+    "回复反馈内容":"回复反馈内容",
+    "回复":"回复",
+    "回复内容":"回复内容",
+    "请输入回复内容":"请输入回复内容",
+    "反馈用户不能为空":"反馈用户不能为空",
+    "问题内容不能为空":"问题内容不能为空",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "请先选择要删除的回复数据":"请先选择要删除的回复数据"
+  },
+  appvipmembership:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "会员卡名":"会员卡名",
+    "请输入会员卡名称":"请输入会员卡名称",
+    "状态":"状态",
+    "请选择状态":"请选择状态",
+    "会员卡名称":"会员卡名称",
+    "会员卡说明":"会员卡说明",
+    "出售价格":"出售价格",
+    "权益时长":"权益时长/天",
+    "状态":"状态",
+    "会员卡名称不能为空":"会员卡名称不能为空",
+    "出售价格不能为空":"出售价格不能为空",
+    "权益时长不能为空":"权益时长不能为空",
+    "状态不能为空":"状态不能为空",
+    "添加会员卡":"添加会员卡",
+    "修改会员卡":"修改会员卡",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+  },
+  appvipuser:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "详情":"详情",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "用户id":"用户id",
+    "请输入用户id":"请输入用户id",
+    "到期时间":"到期时间",
+    "请选择会员到期时间":"请选择会员到期时间",
+    "用户名称":"用户名称",
+    "请输入用户名称":"请输入用户名称",
+    "用户昵称":"用户昵称",
+    "请输入用户昵称":"请输入用户昵称",
+    "会员到期时间":"会员到期时间",
+    "查看详情":"查看详情"
+  },
+  youhuijuanquanyi:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "详请":"详请",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "优惠券":"优惠券",
+    "请输入优惠券名称":"请输入优惠券名称",
+    "是否会员可用":"是否会员可用",
+    "优惠方式":"优惠方式",
+    "折扣金额":"折扣/金额",
+    "优惠券名称":"优惠券名称",
+    "说明":"说明",
+    "使用条件":"使用条件",
+    "会员可用":"会员可用",
+    "优惠值":"优惠值",
+    "请输入优惠值":"选免运费填写0,如选打折如7折请填0.7,如选抵扣1000请填1000",
+    "优惠券名":"优惠券名",
+    "请输入说明":"请输入说明",
+    "请输入使用条件":"请输入使用条件,0为无门槛,大于0为消费满金额可用",
+    "可用次数":"可用次数",
+    "请输入每月会员可用次数":"请输入每月会员可用次数",
+    "是否会员可用不能为空":"是否会员可用不能为空",
+    "优惠方式不能为空":"优惠方式不能为空",
+    "优惠折扣不能为空":"优惠值,金额或折扣不能为空",
+    "值必须大于0":"选择订单、商品值必须大于0",
+    "优惠券名称不能为空":"优惠券名称不能为空",
+    "每月会员可用次数不能为空":"每月会员可用次数不能为空",
+    "添加优惠券":"添加优惠券",
+    "修改优惠券":"修改优惠券",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "有效期":"有效期(天)",
+    "请输入有效期":"请输入有效期(单位天)",
+    "优惠券总数":"优惠券总数",
+    "请输入优惠券总数":"请输入优惠券总数",
+    "每人能领取的数量":"每人能领取的数量",
+    "请输入每人能领取的数量":"请输入每人能领取的数量",
+    "优惠券状态":"状态",
+    "优惠券总数不能为空":"优惠券总数不能为空",
+    "优惠券有效期不能为空":"优惠券有效期不能为空",
+    "每人领取数量不能为空":"每人能领取的数量不能为空",
+    "请选择状态":"请选择状态",
+    "开启":"开启",
+    "关闭":"关闭",
+    "不能修改提示":"已有用户领取了该优惠券,只能修改状态,无法修改其他核心字段",
+    "商家名称":"商家名称",
+    "请选择商家":"请选择商家",
+    "选择商家":"选择商家",
+    "店铺名称":"店铺名称",
+    "请选择店铺":"请选择店铺",
+    "商家不能为空":"商家不能为空",
+    "店铺不能为空":"店铺不能为空",
+    "已领取数量":"已领取数量",
+  },
+  version:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "详请":"详请",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "应用名称":"应用名称",
+    "请输入应用名称":"请输入应用名称",
+    "版本名称":"版本名称",
+    "请输入版本名称":"请输入版本名称",
+    "版本号":"版本号",
+    "请输入版本号":"请输入版本号",
+    "运行平台":"运行平台",
+    "请选择运行平台":"请选择运行平台",
+    "版本说明":"版本说明",
+    "强制更新":"强制更新",
+    "上传apk":"上传apk",
+    "应用地址":"应用地址",
+    "请输入应用商店地址":"请输入应用商店地址",
+    "请输入内容":"请输入内容",
+    "应用名称不能为空":"应用名称不能为空",
+    "版本名称不能为空":"版本名称不能为空",
+    "版本号不能为空":"版本号不能为空",
+    "运行平台不能为空":"运行平台不能为空",
+    "下载地址不能为空":"下载地址不能为空",
+    "添加版本":"添加版本",
+    "修改版本":"修改版本",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+  },
+  qiyejieshao:{
+    "平台介绍":"平台介绍",
+    "操作":"操作",
+    "修改":"修改",
+    "确定":"确定",
+    "取消":"取消",
+    "平台介绍不能为空":"平台介绍不能为空",
+    "修改平台介绍":"修改平台介绍",
+    "修改成功":"修改成功"
+  },
+  systemuser:{
+    "搜索":"搜索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"导出",
+    "操作":"操作",
+    "详请":"详请",
+    "确定":"确定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "用户名称":"用户名称",
+    "请输入用户名称":"请输入用户名称",
+    "手机号码":"手机号码",
+    "请输入手机号码":"请输入手机号码",
+    "状态":"状态",
+    "用户状态":"用户状态",
+    "创建时间":"创建时间",
+    "开始日期":"开始日期",
+    "结束日期":"结束日期",
+    "导入":"导入",
+    "用户编号":"用户编号",
+    "用户昵称":"用户昵称",
+    "更多":"更多",
+    "重置密码":"重置密码",
+    "角色":"角色",
+    "分配角色":"分配角色",
+    "请输入用户昵称":"请输入用户昵称",
+    "请选择角色":"请选择角色",
+    "邮箱":"邮箱",
+    "请输入邮箱":"请输入邮箱",
+    "用户密码":"用户密码",
+    "请输入用户密码":"请输入用户密码",
+    "用户性别":"用户性别",
+    "请选择性别":"请选择性别",
+    "备注":"备注",
+    "请输入内容":"请输入内容",
+    "将文件拖到此处":"将文件拖到此处,或",
+    "是否更新已经存在的用户数据":"是否更新已经存在的用户数据",
+    "下载模板":"下载模板",
+    "用户名称不能为空":"用户名称不能为空",
+    "用户名称长度":"用户名称长度必须介于 2 和 20 之间",
+    "用户昵称不能为空":"用户昵称不能为空",
+    "用户密码不能为空":"用户密码不能为空",
+    "用户密码长度":"用户密码长度必须介于 5 和 20 之间",
+    "请输入正确的邮箱地址":"请输入正确的邮箱地址",
+    "请输入正确的手机号码":"请输入正确的手机号码",
+    "启用":"启用",
+    "停用":"停用",
+    "确认要":"确认要",
+    "用户吗":"用户吗?",
+    "成功":"成功",
+    "添加用户":"添加用户",
+    "修改用户":"修改用户",
+    "用户导入":"用户导入",
+    "请输入":"请输入",
+    "新密码":"的新密码",
+    "提示":"提示",
+    "修改密码成功":"修改成功,新密码是:",
+    "是否确认删除编号为":"是否确认删除编号为",
+    "的数据项":"的数据项?",
+    "请输入部门名称":"请输入部门名称",
+    "将文件拖到此处":"将文件拖到此处,或",
+    "点击上传":"点击上传",
+    "导入格式文件":"仅允许导入xls、xlsx格式文件。",
+    "部门":"部门",
+    "归属部门":"归属部门",
+    "请选择归属部门":"请选择归属部门",
+    "岗位":"岗位",
+    "请选择岗位":"请选择岗位",
+    "导入结果":"导入结果",
+    "控制器中定义的权限字符":"控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)",
+    "加载中":"加载中,请稍候",
+    "角色编号":"角色编号",
+    "角色名称":"角色名称",
+    "权限字符":"权限字符",
+    "请输入角色名称":"请输入角色名称",
+    "请输入权限字符":"请输入权限字符",
+    "角色状态":"角色状态",
+    "显示顺序":"显示顺序",
+    "角色顺序":"角色顺序",
+    "菜单权限":"菜单权限",
+    "展开/折叠":"展开/折叠",
+    "全选/全不选":"全选/全不选",
+    "父子联动":"父子联动",
+    "数据权限":"数据权限",
+    "分配用户":"分配用户",
+    "权限范围":"权限范围",
+    "角色名称不能为空":"角色名称不能为空",
+    "权限字符不能为空":"权限字符不能为空",
+    "角色顺序不能为空":"角色顺序不能为空",
+    "角色吗":"角色吗?",
+    "添加角色":"添加角色",
+    "修改角色":"修改角色",
+    "分配数据权限":"分配数据权限",
+    "部门名称":"部门名称",
+    "排序":"排序",
+    "显示排序":"显示排序",
+    "部门名称不能为空":"部门名称不能为空",
+    "负责人":"负责人",
+    "请输入负责人":"请输入负责人",
+    "联系电话":"联系电话",
+    "请输入联系电话":"请输入联系电话",
+    "部门状态":"部门状态",
+    "添加部门":"添加部门",
+    "修改部门":"修改部门",
+    "上级部门":"上级部门",
+    "选择上级部门":"选择上级部门",
+    "上级部门不能为空":"上级部门不能为空",
+    "显示排序不能为空":"显示排序不能为空",
+    "岗位编码":"岗位编码",
+    "请输入岗位编码":"请输入岗位编码",
+    "岗位名称":"岗位名称",
+    "请输入岗位名称":"请输入岗位名称",
+    "岗位状态":"岗位状态",
+    "岗位编号":"岗位编号",
+    "岗位排序":"岗位排序",
+    "请输入编码名称":"请输入编码名称",
+    "岗位顺序":"岗位顺序",
+    "公告标题":"公告标题",
+    "请输入公告标题":"请输入公告标题",
+    "操作人员":"操作人员",
+    "请输入操作人员":"请输入操作人员",
+    "类型":"类型",
+    "公告类型":"公告类型",
+    "序号":"序号",
+    "创建者":"创建者",
+    "内容":"内容",
+    "请选择公告类型":"请选择公告类型",
+    "上传文件大小不能超过":"上传文件大小不能超过",
+    "图片插入失败":"图片插入失败",
+    "审核上架":"审核上架",
+    "审核":"审核",
+    "下架":"下架",
+    "审核状态":"审核状态",
+    "身份证/护照号":"身份证/护照号",
+    "商家类型":"商家类型",
+    "身份证/护照照片":"身份证/护照照片",
+    "银行信息照片":"银行信息照片",
+    "商家介绍":"商家介绍",
+    "请输入商家负责人":"请输入商家负责人",
+    "请输入身份证/护照号":"请输入身份证/护照号",
+    "请输入邀请标识":"请输入邀请标识",
+    "请输入登录用户名":"请输入登录用户名",
+    "组织名称":"组织名称",
+    "请输入社会组织名称":"请输入社会组织名称",
+    "卖家名称":"卖家名称",
+    "请输入卖家名称":"请输入卖家名称",
+    "请选择审核状态":"请选择审核状态",
+    "反馈时间":"反馈时间",
+    "请选择反馈时间":"请选择反馈时间",
+    "社会组织名称":"社会组织名称",
+    "电话/邮箱":"电话/邮箱",
+    "修改社会反馈":"修改社会反馈",
+    "地址":"地址",
+    "反馈内容":"反馈内容",
+    "附件":"附件",
+    "请输入地址":"请输入地址",
+    "请输入电话/邮箱":"请输入电话/邮箱",
+    "请输入内容":"请输入内容"
+  },
+  usprofile:{
+    "个人信息":"个人信息",
+    "用户名称":"用户名称",
+    "手机号码":"手机号码",
+    "用户邮箱":"用户邮箱",
+    "所属角色":"所属角色",
+    "创建日期":"创建日期",
+    "基本资料":"基本资料",
+    "修改密码":"修改密码",
+    "所属部门":"所属部门",
+    "旧密码":"旧密码",
+    "请输入旧密码":"请输入旧密码",
+    "新密码":"新密码",
+    "请输入新密码":"请输入新密码",
+    "确认密码":"确认密码",
+    "请确认新密码":"请确认新密码",
+    "保存":"保存",
+    "关闭":"关闭",
+    "两次输入的密码不一致":"两次输入的密码不一致",
+    "旧密码不能为空":"旧密码不能为空",
+    "新密码不能为空":"新密码不能为空",
+    "密码长度":"长度在 6 到 20 个字符",
+    "确认密码不能为空":"确认密码不能为空",
+    "修改成功":"修改成功",
+    "点击上传头像":"点击上传头像",
+    "选择":"选择",
+    "提交":"提交",
+    "修改头像":"修改头像",
+    "文件格式错误":"文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。",
+    "用户昵称":"用户昵称",
+    "邮箱":"邮箱",
+    "性别":"性别",
+    "男":"男",
+    "女":"女",
+    "用户昵称不能为空":"用户昵称不能为空",
+    "邮箱地址不能为空":"邮箱地址不能为空",
+    "请输入正确的邮箱地址":"请输入正确的邮箱地址",
+    "手机号码不能为空":"手机号码不能为空",
+    "请输入正确的手机号码":"请输入正确的手机号码",
+    "基本信息":"基本信息",
+    "登录账号":"登录账号",
+    "角色信息":"角色信息",
+    "序号":"序号",
+    "角色编号":"角色编号",
+    "角色名称":"角色名称",
+    "权限字符":"权限字符",
+    "创建时间":"创建时间",
+    "返回":"返回",
+    "授权成功":"授权成功",
+
+  },
+  systemappeal:{
+    "上传图片":"上传图片",
+    "订单号":"订单号",
+    "请输入订单号":"请输入订单号",
+    "搜索":"搜索",
+    "重置":"重置",
+    "昵称":"昵称",
+    "内容":"内容",
+    "操作":"操作",
+    "查看":"查看",
+    "回复":"回复",
+    "请输入昵称":"请输入昵称",
+    "请输入内容":"请输入内容",
+    "确定":"确定",
+    "取消":"取消",
+    "添加留言信息":"添加留言信息",
+    "修改留言信息":"修改留言信息",
+    "查看留言信息":"查看留言信息",
+    "客服":"客服",
+    "回复留言信息":"回复留言信息",
+    "修改成功":"修改成功",
+    "回复成功":"回复成功",
+    "使用情况":"使用情况"
+  },
+  jifen: {
+    "评论获得积分": "评论获得积分",
+    "开启": "开启",
+    "关闭": "关闭",
+    "评论1次积分数量": "评论1次积分数量",
+    "请输入评论1次获得积分数量": "请输入评论1次获得积分数量",
+    "1个积分对应的金额": "1个积分对应的金额",
+    "请输入1个积分对应的金额": "请输入1个积分对应的金额",
+    "下单积分抵扣": "下单积分抵扣",
+    "确 定": "确 定",
+    "评论积分开关不能为空": "评论积分开关不能为空",
+    "每次评论获得积分数量不能为空": "每次评论获得积分数量不能为空",
+    "1个积分对应的金额不能为空": "1个积分对应的金额不能为空",
+    "下单积分抵扣不能为空": "下单积分抵扣不能为空",
+    "修改成功": "修改成功",
+    "使用积分数量": "使用积分数量",
+    "请输入使用积分数量": "请输入使用积分数量",
+    "请输入订单金额条件": "请输入订单金额条件",
+    "启用状态": "启用状态",
+    "请输入启用状态": "请输入启用状态",
+    "搜索": "搜索",
+    "重置": "重置",
+    "新增": "新增",
+    "修改": "修改",
+    "删除": "删除",
+    "订单金额": "订单金额",
+    "订单金额达到该金额时生效":"订单金额达到该金额时生效",
+    "取 消":"取 消",
+    "操作":"操作",
+    "是否确认删除数据项":"是否确认删除数据项",
+    "新增成功":"新增成功",
+    "使用积分数量不能为空":"使用积分数量不能为空",
+    "订单金额不能为空":"订单金额不能为空",
+    "启用状态不能为空":"启用状态不能为空",
+    "订单编号":"订单编号",
+    "请输入订单编号":"请输入订单编号",
+    "查看":"查看",
+    "用户Id":"用户Id",
+    "类型": "类型",
+    "变动值": "变动值",
+    "变动后余额": "变动后余额",
+    "创建时间": "创建时间",
+    "获得":"获得",
+    "抵扣":"抵扣",
+    "退回":"退回",
+  },
+  ads:{
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "操作":"操作",
+    "图片":"图片",
+    "跳转地址":"跳转地址",
+    "状态":"状态",
+    "请输入跳转地址":"请输入跳转地址",
+    "排序":"排序",
+    "请输入排序":"请输入排序",
+    "开启":"开启",
+    "关闭":"关闭",
+    "确 定":"确 定",
+    "取 消":"取 消",
+    "图片不能为空":"图片不能为空",
+    "状态不能为空":"状态不能为空",
+    "添加首页广告":"添加首页广告",
+    "修改首页广告":"修改首页广告",
+    "是否确认删除数据项":"是否确认删除数据项",
+    "新增成功":"新增成功",
+    "修改成功":"修改成功",
+    "删除成功":"删除成功",
+  },
+  review:{
+    "订单id":"订单id",
+    "请输入订单id":"请输入订单id",
+    "评论时间":"评论时间",
+    "请选择评论时间":"请选择评论时间",
+    "操作":"操作",
+    "删除":"删除",
+    "新增":"新增",
+    "修改":"修改",
+    "搜索":"搜索",
+    "重置":"重置",
+    "导出":"导出",
+    "用户id":"用户id",
+    "请输入用户id":"请输入用户id",
+    "评分":"评分",
+    "评论内容":"评论内容",
+    "是否匿名":"是否匿名",
+    "是":"是",
+    "否":"否",
+    "评论图片":"评论图片",
+    "确 定":"确 定",
+    "取 消":"取 消",
+    "订单评论":"订单评论",
+  }
+};

+ 1377 - 0
foodie_admin_vue/src/api/language/language.zh_TW.js

@@ -0,0 +1,1377 @@
+export default {
+  route:{
+    "首页":"首頁",
+    "门店管理":"門店管理",
+    "分类管理":"分類管理",
+	"服务类型": "服務類型",
+    "餐厅管理":"餐廳管理",
+    "商店管理":"商店管理",
+    "商品分类":"商品分類",
+    "商品管理":"商品管理",
+    "用户管理":"用戶管理",
+    "普通用户":"普通用戶",
+    "商家用户":"商家用戶",
+	"外卖员":"外賣員/司機",
+    "订单管理":"訂單管理",
+    "订单列表":"訂單清單",
+    "配送管理":"配送管理",
+    "运价设置":"運價設定",
+	"打车费设置":"打車費設定",
+    "保证金管理":"保證金管理",
+    "保证金设置":"保證金設定",
+    "保证金记录":"保證金記錄",
+    "财务管理":"財務管理",
+    "提现账户管理":"提現帳戶管理",
+    "用户账单":"用戶帳單",
+    "客服管理":"客服管理",
+    "用户留言信息":"用戶留言信息",
+    "商家留言信息":"商家留言信息",
+    "骑手留言信息":"騎手留言信息",
+    "帮助文档":"幫助文檔",
+    "问题反馈":"問題迴響",
+    "APP会员":"APP會員",
+    "会员卡":"會員卡",
+    "会员列表":"會員列表",
+    "优惠券管理":"優惠券管理",
+    "可用优惠券":"可用優惠券",
+    "版本管理":"版本管理",
+    "企业服务":"企業服務",
+    "平台介绍":"平臺介紹",
+    "系统管理":"系統管理",
+    "后台用户":"後臺用戶",
+    "角色管理":"角色管理",
+    "菜单管理":"選單管理",
+    "架构管理":"架構管理",
+    "岗位管理":"崗位管理",
+    "字典管理":"字典管理",
+    "参数设置":"參數設置",
+    "通知公告":"通知公告",
+    "日志管理":"日誌管理",
+    "操作日志":"操作日誌",
+    "登录日志":"登入日誌",
+    "系统监控":"系統監控",
+    "在线用户":"線上用戶",
+    "定时任务":"定時任務",
+    "数据监控":"數據監控",
+    "服务监控":"服務監控",
+    "缓存监控":"緩存監控",
+    "缓存列表":"緩存清單",
+    "系统工具":"系統工具",
+    "表单构建":"表單構建",
+    "代码生成":"程式碼生成",
+    "系统接口":"系統介面",
+    "更多菜单":"更多選單",
+    "餐饮":"餐飲",
+    "商超":"商超",
+    "男":"男",
+    "女":"女",
+    "未知":"未知",
+    "正常":"正常",
+    "暂停":"暫停",
+    "停用":"停用",
+    "启用":"啟用",
+    "开启":"開啟",
+    "未审核":"未稽核",
+    "已审核":"已稽核",
+    "外送":"外送",
+    "自取":"自取",
+    "堂食":"堂食",
+    "已处理":"已處理",
+    "未处理":"未處理",
+    "未支付":"未支付",
+    "已付款":"已付款",
+    "已接单":"已接單",
+    "配送中":"配送中",
+    "取餐中":"取餐中",
+    "已完成":"已完成",
+    "申请退款":"申請退款",
+    "同意退款":"同意退款",
+    "拒绝退款":"拒絕退款",
+    "客服接入":"客服接入",
+    "作废":"作廢",
+    "异常":"异常",
+    "商户":"商戶",
+    "骑手":"騎手",
+    "用户":"用戶",
+    "信用卡":"信用卡",
+    "储蓄卡":"儲蓄卡",
+    "在售":"在售",
+    "停售":"停售",
+    "是":"是",
+    "否":"否",
+    "消费满减":"消費滿减",
+    "总额折扣":"總額折扣",
+    "Android":"Android",
+    "IOS":"IOS",
+    "其他":"其他",
+    "超级管理员":"超級管理員",
+    "管理员":"管理員",
+    "分成":"分成",
+    "充值":"充值",
+    "提现":"提現",
+    "完成":"完成",
+    "退回":"退回",
+    "申请":"申請",
+    "飲料":"飲料",
+    "火鍋":"火鍋",
+    "披薩":"披薩",
+    "漢堡":"漢堡",
+    "麵食":"麵食",
+    "飯類":"飯類",
+    "西餐":"西餐",
+    "中餐":"中餐",
+    "異國料理":"異國料理",
+    "小吃":"小吃",
+    "河粉":"河粉",
+    "甜點":"甜點",
+    "麵包":"麵包",
+    "外卖订单":"外賣訂單",
+    "打车订单":"打車訂單",
+    "直线倍数":"直線倍數",
+    "快捷回复内容":"快捷回復內容",
+    "促销活动管理":"促銷活動管理",
+    "IPN日志":"IPN日誌",
+    "外卖员/司机":"外賣員/司機",
+    "减免运费":"减免運費",
+    "订单价打折":"訂單價折扣",
+    "订单价抵扣":"訂單價抵扣",
+    "消费":"消費",
+    "售后完成":"售後完成",
+    "送达":"送達",
+    "分销管理":"分銷管理",
+    "奖赏(积分)":"獎賞(積分)",
+    "查询":"査詢",
+    "添加":"添加",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "导入":"導入",
+    "新增":"添加",
+    "详情":"詳情",
+    "查看":"查看",
+    "留言列表":"留言清單",
+    "留言详情":"留言詳情",
+    "回复留言":"回復留言",
+    "修改留言":"修改留言",
+    "用户查询":"用戶査詢",
+    "用户新增":"用戶新增",
+    "用户修改":"用戶修改",
+    "用户删除":"用戶删除",
+    "用户导出":"用戶匯出",
+    "用户导入":"用戶導入",
+    "重置密码":"重置密碼",
+    "角色查询":"角色査詢",
+    "角色新增":"角色新增",
+    "角色修改":"角色修改",
+    "角色删除":"角色删除",
+    "角色导出":"角色匯出",
+    "菜单查询":"選單査詢",
+    "菜单新增":"選單新增",
+    "菜单修改":"選單修改",
+    "菜单删除":"選單删除",
+    "部门查询":"部門査詢",
+    "部门新增":"部門新增",
+    "部门修改":"部門修改",
+    "部门删除":"部門删除",
+    "岗位查询":"崗位査詢",
+    "岗位新增":"崗位新增",
+    "岗位修改":"崗位修改",
+    "岗位删除":"崗位删除",
+    "岗位导出":"崗位匯出",
+    "字典查询":"字典査詢",
+    "字典新增":"字典新增",
+    "字典修改":"字典修改",
+    "字典删除":"字典删除",
+    "字典导出":"字典匯出",
+    "参数查询":"參數査詢",
+    "参数新增":"參數新增",
+    "参数修改":"參數修改",
+    "参数删除":"參數删除",
+    "参数导出":"參數匯出",
+    "公告查询":"公告査詢",
+    "公告新增":"公告新增",
+    "公告修改":"公告修改",
+    "公告删除":"公告删除",
+    "操作查询":"操作査詢",
+    "操作修改":"操作修改",
+    "日志导出":"日誌匯出",
+    "登录查询":"登入査詢",
+    "登录删除":"登入删除",
+    "账户解锁":"帳戶解鎖",
+    "在线查询":"線上查詢",
+    "批量强退":"批量强退",
+    "单条强退":"單條强退",
+    "任务查询":"任務査詢",
+    "任务新增":"任務新增",
+    "任务修改":"任務修改",
+    "任务删除":"任務删除",
+    "状态修改":"狀態修改",
+    "任务导出":"任務匯出",
+    "生成查询":"生成査詢",
+    "生成修改":"生成修改",
+    "生成删除":"生成删除",
+    "导入代码":"導入程式碼",
+    "预览代码":"預覽程式碼",
+    "生成代码":"生成程式碼",
+    "全部数据权限":"全部數據許可權",
+    "自定数据权限":"自定數據許可權",
+    "本部门数据权限":"本部門數據許可權",
+    "本部门及以下数据权限":"本部門及以下數據許可權",
+    "仅本人数据权限":"僅本人數據許可權",
+    "通知":"通知",
+    "公告":"公告",
+    "关闭":"關閉",
+    "个人中心":"個人中心",
+    "社会反馈":"社會反饋",
+    "運費": "運費",
+    "訂單": "訂單",
+    "商品": "商品",
+    "商家优惠券":"商家優惠券",
+    "积分管理":"點數管理",
+    "积分设置":"點數設定",
+    "下单积分设置":"訂單點數設定",
+    "积分流水":"點數流水",
+    "首页广告":"首頁廣告",
+    "订单评论":"订单评论",
+  },
+  fenlei: {
+    "序号": "序號",
+    "分类名": "分類名",
+    "请输入分类名": "請輸入分類名",
+    "搜索": "蒐索",
+    "重置": "重置",
+    "新增": "新增",
+    "修改": "修改",
+    "删除": "删除",
+    "导出": "匯出",
+    "分类图片": "分類圖片",
+    "操作": "操作",
+    "确定": "確定",
+    "取消": "取消",
+    "分类名不能为空": "分類名不能為空",
+    "分类图片不能为空": "分類圖片不能為空",
+    "添加门店分类": "添加門店分類",
+    "修改门店分类": "修改門店分類",
+    "修改成功": "修改成功",
+    "新增成功": "新增成功",
+    "是否确认删除门店分类编号为": "是否確認删除門店分類編號為",
+    "的数据项": "的資料項目?",
+    "删除成功": "删除成功",
+    "排序": "排序",
+    "请输入序号":"請輸入序號:數位越大越靠前",
+    "展开/折叠": "展開/折疊",
+    "上级分类": "上級分類",
+    "选择上级分类": "選擇上級分類",
+    "标识": "標識",
+    "请输入标识": "請輸入標識",
+    "活动名称":"活動名稱",
+    "请输入活动名称":"請輸入活動名稱",
+    "减免方式":"减免管道",
+    "请选择减免方式":"請選擇减免管道",
+    "活动商家":"活動商家",
+    "请输入活动商家":"請輸入活動商家id",
+    "活动商品":"活動商品",
+    "请输入活动商品":"請輸入活動商品id",
+    "结束日期":"結束日期",
+    "请选择活动结束日期":"請選擇活動結束日期",
+    "活动状态":"活動狀態",
+    "请选择活动状态":"請選擇活動狀態",
+    "请输入促销活动名称":"請輸入促銷活動名稱",
+    "活动海报":"活動海報",
+    "减免值":"减免值",
+    "减免值说明":"選免運費可填空,如選讓利如7折請填0.7,如選抵扣1000請填1000",
+    "使用条件":"使用條件",
+    "使用条件说明":"如空為無任何使用條件,如填1000為訂單金額滿1000可用",
+    "可用次数":"可用次數",
+    "可用次数说明":"如空值為無限使用,如填1為此活動每個用戶只能使用一次",
+    "活动说明":"活動說明",
+    "请输入内容":"請輸入內容",
+    "倍数":"倍數",
+    "活动名不能空":"活動名不能空",
+    "减免方式为必选":"减免管道為必選",
+    "结束日期为必选":"結束日期為必選",
+    "活动状态为必选":"活動狀態為必選",
+    "简体中文":"簡體中文",
+    "繁体中文":"繁體中文",
+    "英语":"英語",
+    "越南语":"越南語",
+    "不能修改提示":"本促銷活動已有用戶使用,僅能修改狀態,不可變更其他核心欄位",
+    "简体中文名":"簡體中文名",
+    "繁体体中文名":"繁體中文名",
+    "越南语分类名":"越南語分類名",
+    "英语分类名":"英語分類名",
+  },
+  topmenu:{
+    "Layout":"佈局大小",
+    "Personal":"個人中心",
+    "LayoutSettings":"佈局設定",
+    "LogOutOfLogin":"登出",
+    "Refreshpage":"刷新頁面",
+    "CloseCurrent":"關閉當前",
+    "CloseOther":"關閉其他",
+    "CloseLeftSide":"關閉左側",
+    "CloseRightSide":"關閉右側",
+    "closeAll":"全部關閉",
+    "提示":"提示",
+    "确定":"確定",
+    "取消":"取消",
+    "注销并退出":"確定註銷並退出系統嗎?",
+    "数据正在处理":"數據正在處理,請勿重複提交",
+    "登录状态已过期":"登入狀態已過期,您可以繼續留在該頁面,或者重新登入",
+    "系统提示":"系統提示",
+    "重新登录":"重新登入",
+    "无效的会话":"無效的會話,或者會話已過期,請重新登入。",
+    "后端接口连接异常":"後端介面連接异常",
+    "系统接口请求超时":"系統介面請求超時",
+    "系统接口":"系統介面",
+    "异常":"异常",
+    "正在下载数据":"正在下載數據,請稍候",
+    "下载文件出现错误":"下載檔案出現錯誤,請聯系管理員!"
+  },
+  settings:{
+    "主题风格设置":"主題風格設定",
+    "主题颜色":"主題顏色",
+    "系统布局配置":"系統佈局配寘",
+    "开启":"開啟",
+    "固定":"固定",
+    "显示":"顯示",
+    "动态标题":"動態標題",
+    "保存配置":"保存配寘",
+    "重置配置":"重置配寘",
+    "正在保存到本地":"正在保存到本地,請稍候...",
+    "正在清除设置":"正在清除設定緩存並重繪,請稍候...",
+    "正在加载页面":"正在加載頁面,請稍候!"
+  },
+  message: {
+    "language": "語言",
+    "Legrunner": "美食達",
+    "sysname": "美食達後臺管理系統",
+    "username":"帳號",
+    "password":"密碼",
+    "code":"驗證碼",
+    "savepsd":"保存密碼",
+    "log":"登入",
+    "Logging":"登入中",
+    "register":"立即注册",
+    "pfya":"請輸入您的帳號",
+    "peyp":"請輸入您的密碼",
+    "petvc":"請輸入驗證碼"
+  },
+  index: {
+    "welcome": "你好,歡迎使用美食達管理平臺",
+    "name": "美食達管理平臺",
+    "index": "首頁",
+    "用户数量": "用戶數量",
+    "商家数量": "商家數量",
+    "门店数量": "門店數量",
+    "骑手数量": "騎手數量",
+    "全年总订单": "全年總訂單",
+    "全年订单金额": "全年訂單金額",
+    "月份": ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    "订单量": "訂單量",
+    "订单金额": "訂單金額",
+    "时间范围":  "時間範圍",
+    "开始日期": "開始日期",
+    "结束日期": "結束日期",
+    "查询": "查詢"
+  },
+
+  servicetype:{
+  	  "服务类型": "服務類型",
+  	  "请输入服务类型名称": "請輸入服務類型名稱",
+  	  "搜索": "蒐索",
+  	  "重置": "重置",
+  	  "新增": "新增",
+  	  "修改": "修改",
+  	  "删除": "删除",
+  	  "导出": "匯出",
+  	  "服务类型图片": "圖片",
+  	  "服务类型说明": "說明",
+  	  "宽度": "寬度",
+  	  "高度": "高度",
+  	  "请输入宽度": "手機按鈕的寬度,荧幕總寬度為750",
+  	  "请输入高度": "手機按鈕的高度",
+  	  "操作": "操作",
+  	  "确定": "確定",
+  	  "取消": "取消",
+  	  "服务类型名不能为空": "服務類型名不能為空",
+  	  "服务类型图片不能为空": "服務類型圖片不能為空",
+  	  "添加服务类型": "添加服務類型",
+  	  "修改服务类型": "修改服務類型",
+  	  "修改成功": "修改成功",
+  	  "新增成功": "新增成功",
+  	  "是否确认删除门店分类编号为": "是否確認删除門店分類編號為",
+  	  "的数据项": "的資料項目?",
+  	  "删除成功": "删除成功"
+  },
+  upload:{
+    "请上传":"請上傳",
+    "大小不超过":"大小不超過",
+    "格式为":"格式為",
+    "的文件":"的檔案",
+    "预览":"預覽",
+    "文件格式不正确, 请上传":"檔案格式不正確,請上傳",
+    "图片格式文件!":"圖片格式檔案!",
+    "上传头像图片大小不能超过":"上傳頭像圖片大小不能超過",
+    "正在上传图片,请稍候":"正在上傳圖片,請稍候...",
+    "上传文件数量不能超过":"上傳文件數量不能超過",
+    "个":"個!",
+    "上传图片失败,请重试":"上傳圖片失敗,請重試",
+    "选取文件":"選取檔案",
+    "格式文件":"格式檔案!",
+    "上传文件大小不能超过":"上傳文件大小不能超過",
+    "正在上传文件":"正在上傳文件,請稍候...",
+    "上传文件失败":"上傳文件失敗,請重試"
+  },
+  system:{
+    "系统提示":"系統提示",
+    "确定":"確定",
+    "取消":"取消"
+  },
+  mendian:{
+    "名称":"名稱",
+    "请输入名称":"請輸入名稱",
+    "起送价":"起送價",
+    "请输入起送价":"請輸入起送價",
+    "所在地区":"所在地區",
+    "请输入所在地区":"請輸入所在地區",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "导出":"匯出",
+    "店封面":"店封面",
+    "详细地址":"詳細地址",
+    "经度":"經度",
+    "纬度":"緯度",
+    "简介":"簡介",
+    "类型":"類型",
+    "卫生许可":"稅務號",
+    "营业时间":"營業時間",
+	"所属用户":"所屬用戶",
+    "操作":"操作",
+    "详请":"詳情",
+    "请输入内容":"請輸入內容",
+    "请输入卫生许可":"請輸入稅務號",
+    "请输入营业时间":"請輸入營業時間",
+    "确定":"確 定",
+    "取消":"取 消",
+    "名称不能为空":"名稱不能為空",
+    "店封面不能为空":"店封面不能為空",
+    "所在地区不能为空":"所在地區不能為空",
+    "详细地址不能为空":"詳細地址不能為空",
+    "经度不能为空":"經度不能為空",
+    "纬度不能为空":"緯度不能為空",
+    "类型不能为空":"類型不能為空",
+    "卫生许可不能为空":"稅務號不能為空",
+    "分类不能为空":"分類不能為空",
+    "添加门店":"添加門店",
+    "查看门店":"查看門店",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+    "删除成功":"删除成功",
+    "下架":"下架",
+    "是否关联夜市":"是否關聯夜市",
+    "夜市id":"夜市id",
+    "请输入夜市id":"請輸入夜市id",
+    "否":"否",
+    "是":"是"
+  },
+  mendspfenlei:{
+    "门店id":"門店id",
+    "请输入门店id":"請輸入門店id",
+    "分类名":"分類名",
+    "请输入分类名":"請輸入分類名",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "导出":"匯出",
+    "分类图片":"分類圖片",
+    "操作":"操作",
+    "查看":"查看",
+    "确定":"確定",
+    "取消":"取消",
+    "门店id不能为空":"門店id不能為空",
+    "分类名不能为空":"分類名不能為空",
+    "查看门店分类":"查看門店分類"
+  },
+  mendianfood:{
+    "门店id":"門店id",
+    "请输入门店id":"請輸入門店id",
+    "商品名":"商品名",
+    "请输入商品名":"請輸入商品名",
+    "商品价格":"商品價格",
+    "请输入商品价格":"請輸入商品價格",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "导出":"匯出",
+    "商品配图":"商品配圖",
+    "商品介绍":"商品介紹",
+    "推荐":"推薦",
+    "停用":"停用",
+    "确认要":"確認要",
+    "商品吗":"商品嗎?",
+    "成功":"成功",
+    "修改成功":"修改成功",
+    "操作":"操作",
+    "详情":"詳情",
+    "0否":"0否",
+    "1是":"1是",
+    "排序":"排序",
+    "请输入排序":"請輸入排序",
+    "确定":"確定",
+    "取消":"取消"
+  },
+  infouslist:{
+    "手机号码":"手機號碼",
+    "请输入手机号码":"請輸入手機號碼",
+    "用户昵称":"用戶昵稱",
+    "请输入用户昵称":"請輸入用戶昵稱",
+    "用户邮箱":"用戶郵箱",
+    "请输入用户邮箱":"請輸入用戶郵箱",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "导出":"匯出",
+    "用户ID":"用戶ID",
+    "用户性别":"用戶性別",
+    "头像":"頭像",
+    "帐号状态":"帳號狀態",
+    "操作":"操作",
+    "修改":"修改",
+    "用户类型":"用戶類型",
+    "确定":"確定",
+    "取消":"取消",
+    "帐号状态不能为空":"帳號狀態不能為空",
+    "修改用户信息":"修改用戶資訊",
+    "修改成功":"修改成功",
+    "积分":"積點",
+  },
+  infoussanhuser:{
+    "用户名":"用戶名",
+    "请输入用户名":"請輸入用戶名",
+    "手机号码":"手機號碼",
+    "请输入手机号码":"請輸入手機號碼",
+    "商家名称":"商家名稱",
+    "请输入商家名称":"請輸入商家名稱",
+    "用户邮箱":"用戶郵箱",
+    "请输入用户邮箱":"請輸入用戶郵箱",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "用户ID":"用戶ID",
+    "头像":"頭像",
+    "帐号状态":"帳號狀態",
+    "审核状态":"稽核狀態",
+    "抽成比例":"抽成比例",
+    "操作":"操作",
+    "密码":"密碼",
+    "请输入密码":"請輸入密碼",
+    "用户性别":"用戶性別",
+    "头像地址":"頭像地址",
+    "邀请码":"邀請碼",
+    "附件":"附件",
+    "材料审核":"商戶稽核",
+    "例":"例",
+    "确定":"確定",
+    "取消":"取消",
+    "用户名不能为空":"用戶名不能為空",
+    "密码不能为空":"密碼不能為空",
+    "手机号码不能为空":"手機號碼不能為空",
+    "用户昵称不能为空":"用戶昵稱不能為空",
+    "用户类型不能为空":"用戶類型不能為空",
+    "头像地址不能为空":"頭像地址不能為空",
+    "帐号状态不能为空":"帳號狀態不能為空",
+    "添加商户信息":"添加商戶資訊",
+    "修改商户信息":"修改商戶資訊",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+    "删除成功":"删除成功"
+  },
+  infouspeisus:{
+    "用户名":"用戶名",
+    "请输入用户名":"請輸入用戶名",
+    "手机号码":"手機號碼",
+    "请输入手机号码":"請輸入手機號碼",
+    "姓名":"姓名",
+    "请输入姓名":"請輸入姓名",
+    "用户邮箱":"用戶郵箱",
+    "请输入用户邮箱":"請輸入用戶郵箱",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "用户ID":"用戶ID",
+    "用户名":"用戶名",
+    "手机号":"手機號",
+    "头像":"頭像",
+    "帐号状态":"帳號狀態",
+    "审核状态":"稽核狀態",
+    "抽成比例":"抽成比例",
+    "操作":"操作",
+    "密码":"密碼",
+    "请输入密码":"請輸入密碼",
+    "用户姓名":"用戶姓名",
+    "请输入用户姓名":"請輸入用戶姓名",
+    "用户性别":"用戶性別",
+    "头像":"頭像",
+    "邀请码":"邀請碼",
+    "附件":"附件",
+    "车牌号":"車牌號",
+    "例":"例",
+    "请输入邀请标识":"請輸入邀請標識",
+    "请填写车牌号":"請填寫車牌號",
+    "材料审核":"騎手稽核",
+    "司机审核":"司機稽核",
+    "驾驶证":"駕駛證",
+    "行驶证":"行駛證",
+    "车辆照片":"車輛照片",
+    "确定":"確定",
+    "取消":"取消",
+    "用户名不能为空":"用戶名不能為空",
+    "密码不能为空":"密碼不能為空",
+    "手机号码不能为空":"手機號碼不能為空",
+    "用户昵称不能为空":"用戶昵稱不能為空",
+    "用户类型不能为空":"用戶類型不能為空",
+    "头像地址不能为空":"頭像地址不能為空",
+    "帐号状态不能为空":"帳號狀態不能為空",
+    "添加用户信息":"添加用戶資訊",
+    "修改用户信息":"修改用戶資訊",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+    "删除成功":"删除成功"
+  },
+  dingdanorder:{
+    "客服处理":"客服處理",
+    "用户留言":"用戶留言",
+    "处理情况":"處理情况",
+    "订单号":"訂單號",
+    "请输入订单号":"請輸入訂單號",
+    "用户Id":"用戶id",
+    "请输入用户Id":"請輸入用戶Id",
+    "订单状态":"訂單狀態",
+    "请选择订单状态":"請選擇訂單狀態",
+    "订单类型":"訂單類型",
+    "请选择订单类型":"請選擇訂單類型",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "修改":"修改",
+    "导出":"匯出",
+    "创建时间":"創建時間",
+    "订单金额":"訂單金額",
+    "配送费":"配送費",
+    "配送距离":"配送距離",
+    "备注":"備註",
+    "配送时间":"配送時間",
+    "预约配送时间":"預約配送時間",
+    "操作":"操作",
+    "确定":"確定",
+    "取消":"取消",
+    "修改订单状态":"修改訂單狀態",
+    "修改成功":"修改成功",
+    "出货门店":"出貨門店",
+    "店面地址":"店面地址",
+    "订单用户":"訂單用戶",
+    "订单商家":"訂單商家",
+    "配送骑手":"配送騎手",
+    "收货人":"收貨人",
+    "联系电话":"聯繫電話",
+    "地区":"地區",
+    "收货地址":"收貨地址",
+    "价格":"價格",
+    "数量":"數量",
+    "小计":"小計",
+    "规格":"規格",
+    "关闭":"關閉",
+    "开始日期":"開始日期",
+    "结束日期":"結束日期",
+    "商品价格":"商品價格",
+    "促销活动名称":"促銷活動名稱",
+    "减免值":"减免值",
+    "促销活动信息":"促銷活動資訊",
+    "平台促销活动":"平臺促銷活動",
+    "商家促销活动":"商家促銷活動",
+    "减免":"減免",
+    "优惠券信息":"優惠券資訊",
+    "平台优惠券":"平臺優惠券",
+    "商家优惠券":"商家優惠券",
+    "优惠金额":"優惠金額",
+    "无":"無",
+  },
+  peisongfreight:{
+    "运费":"運費",
+    "请输入运费":"請輸入運費",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "开始时间":"開始時間",
+    "结束时间":"結束時間",
+    "收费":"收費",
+    "每公里":"每公里",
+	"起送里程":"起送里程",
+	"起送价格":"起送價格",
+	"输入起送公里数":"輸入起送公里數",
+	"输入起送运价":"輸入起送運價",
+    "操作":"操作",
+    "起始时间":"起始時間",
+    "距离":"距離",
+    "输入公里数":"輸入公里數",
+    "输入公里数的运价":"輸入公里數的運價",
+    "确定":"確定",
+    "取消":"取消",
+    "添加时间段":"添加時間段",
+    "修改时间段":"修改時間段",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+    "删除成功":"删除成功"
+  },
+  Margin:{
+    "类型":"類型",
+    "请选择保证金类型":"請選擇保證金類型",
+    "金额":"金額",
+    "请输入金额":"請輸入金額",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "修改":"修改",
+    "导出":"匯出",
+    "保证金类型":"保證金類型",
+    "保证金说明":"保證金說明",
+    "操作":"操作",
+    "请输入内容":"請輸入內容",
+    "确定":"確定",
+    "取消":"取消",
+    "修改保证金":"修改保證金",
+    "修改成功":"修改成功"
+  },
+  marginlist:{
+    "用户id":"用戶id",
+    "请输入用户id":"請輸入用戶id",
+    "支付时间":"支付時間",
+    "请选择时间":"請選擇時間",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "导出":"匯出",
+    "用户类型":"用戶類型",
+    "保证金额":"保證金額",
+    "操作":"操作",
+    "查看":"查看",
+    "用户账号":"用戶帳號",
+    "用户昵称":"用戶昵稱",
+    "用户手机":"用戶手機",
+    "保证金":"保證金",
+    "确定":"確定",
+    "取消":"取消",
+    "查看保证金":"查看保證金"
+  },
+  cardlist:{
+    "银行卡号":"銀行卡號",
+    "请输入银行卡号":"請輸入銀行卡號",
+    "开户银行":"開戶銀行",
+    "请输入开户银行":"請輸入開戶銀行",
+    "账户名称":"帳戶名稱",
+    "请输入账户名称":"請輸入帳戶名稱",
+    "搜索":"蒐索",
+    "重置":"重置",
+    "导出":"匯出",
+    "用户id":"用戶id",
+    "卡类型":"卡類型",
+    "图标":"圖標",
+    "操作":"操作",
+    "详情":"詳情",
+    "信用卡":"信用卡",
+    "储蓄卡":"儲蓄卡",
+    "确定":"確定",
+    "取消":"取消"
+  },
+  kefuhelp:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "问题标题":"問題標題",
+    "请输入问题标题":"請輸入問題標題",
+    "解决内容":"解决內容",
+    "添加问题":"添加問題",
+    "修改问题":"修改问题",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+  },
+  billing:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "用户id":"用戶id",
+    "请输入用户id":"請輸入用戶id",
+    "类型":"類型",
+    "请选择类型":"請選擇類型",
+    "订单id":"訂單id",
+    "请输入订单id":"請輸入訂單id",
+    "状态":"狀態",
+    "请选择状态":"請選擇狀態",
+    "金额":"金額",
+    "说明":"說明",
+    "支付或收款方式":"支付或收款管道",
+    "请输入内容":"請輸入內容",
+    "请输入支付或收款方式":"請輸入支付或收款管道",
+    "收支账号":"收支帳號",
+    "请输入收支账号":"請輸入收支帳號",
+    "查看账单":"查看帳單",
+    "详情":"詳情"
+  },
+  kefufeedback:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "反馈时间":"迴響時間",
+    "请选择反馈时间":"請選擇迴響時間",
+    "用户id":"用戶id",
+    "请输入反馈用户id":"請輸入迴響用戶id",
+    "反馈用户":"迴響用戶",
+    "问题内容":"問題內容",
+    "回复问题":"回復問題",
+    "回复反馈内容":"回復迴響內容",
+    "回复":"回復",
+    "回复内容":"回復內容",
+    "请输入回复内容":"請輸入回復內容",
+    "反馈用户不能为空":"迴響用戶不能為空",
+    "问题内容不能为空":"問題內容不能為空",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+    "请先选择要删除的回复数据":"請先選擇要删除的回復數據"
+  },
+  appvipmembership:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "会员卡名":"會員卡名",
+    "请输入会员卡名称":"請輸入會員卡名稱",
+    "状态":"狀態",
+    "请选择状态":"請選擇狀態",
+    "会员卡名称":"會員卡名稱",
+    "会员卡说明":"會員卡說明",
+    "出售价格":"出售價格",
+    "权益时长":"權益時長/天",
+    "会员卡名称不能为空":"會員卡名稱不能為空",
+    "出售价格不能为空":"出售價格不能為空",
+    "权益时长不能为空":"權益時長不能為空",
+    "状态不能为空":"狀態不能為空",
+    "添加会员卡":"添加會員卡",
+    "修改会员卡":"修改會員卡",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+  },
+  appvipuser:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "用户id":"用戶id",
+    "请输入用户id":"請輸入用戶id",
+    "到期时间":"到期時間",
+    "请选择会员到期时间":"請選擇會員到期時間",
+    "用户名称":"用戶名稱",
+    "请输入用户名称":"請輸入用戶名稱",
+    "用户昵称":"用戶昵稱",
+    "请输入用户昵称":"請輸入用戶昵稱",
+    "会员到期时间":"會員到期時間",
+    "查看详情":"查看詳情"
+  },
+  "youhuijuanquanyi": {
+    "搜索":"搜尋",
+    "重置":"重設",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"刪除",
+    "导出":"匯出",
+    "操作":"操作",
+    "详请":"詳情",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"刪除成功",
+    "优惠券":"優惠券",
+    "请输入优惠券名称":"請輸入優惠券名稱",
+    "是否会员可用":"是否會員可用",
+    "优惠方式":"優惠方式",
+    "折扣金额":"折扣/金額",
+    "优惠券名称":"優惠券名稱",
+    "说明":"說明",
+    "使用条件":"使用條件",
+    "会员可用":"會員可用",
+    "优惠值":"優惠值",
+    "请输入优惠值":"選免運費填寫0,如選打折如7折請填0.7,如選抵扣1000請填1000",
+    "优惠券名":"優惠券名稱",
+    "请输入说明":"請輸入說明",
+    "请输入使用条件":"請輸入使用條件,0為無門檻,大於0為消費滿金額可用",
+    "可用次数":"可用次數",
+    "请输入每月会员可用次数":"請輸入每月會員可用次數",
+    "是否会员可用不能为空":"是否會員可用不能為空",
+    "优惠方式不能为空":"優惠方式不能為空",
+    "优惠折扣不能为空":"優惠值,金額或折扣不能為空",
+    "值必须大于0":"選擇訂單、商品值必須大於0",
+    "优惠券名称不能为空":"優惠券名稱不能為空",
+    "每月会员可用次数不能为空":"每月會員可用次數不能為空",
+    "添加优惠券":"新增優惠券",
+    "修改优惠券":"修改優惠券",
+    "是否确认删除编号为":"是否確認刪除編號為",
+    "的数据项":"的資料項?",
+    "有效期":"有效期(天)",
+    "请输入有效期":"請輸入有效期(單位天)",
+    "优惠券总数":"優惠券總數",
+    "请输入优惠券总数":"請輸入優惠券總數",
+    "每人能领取的数量":"每人能領取的數量",
+    "请输入每人能领取的数量":"請輸入每人能領取的數量",
+    "优惠券状态":"狀態",
+    "优惠券总数不能为空":"優惠券總數不能為空",
+    "优惠券有效期不能为空":"優惠券有效期不能為空",
+    "每人领取数量不能为空":"每人能領取的數量不能為空",
+    "请选择状态":"請選擇狀態",
+    "开启":"開啟",
+    "关闭":"關閉",
+    "不能修改提示":"已有用戶領取了該優惠券,只能修改狀態,無法修改其他核心欄位",
+    "商家名称": "商家名稱",
+    "请选择商家": "請選擇商家",
+    "选择商家": "選擇商家",
+    "店铺名称": "店鋪名稱",
+    "请选择店铺": "請選擇店鋪",
+    "商家不能为空": "商家不能為空",
+    "店铺不能为空": "店鋪不能為空",
+    "已领取数量":"已領取數量",
+  },
+  version:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "详请":"詳情",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "应用名称":"應用名稱",
+    "请输入应用名称":"請輸入應用名稱",
+    "版本名称":"版本名稱",
+    "请输入版本名称":"請輸入版本名稱",
+    "版本号":"版本號",
+    "请输入版本号":"請輸入版本號",
+    "运行平台":"運行平臺",
+    "请选择运行平台":"請選擇運行平臺",
+    "版本说明":"版本說明",
+    "强制更新":"強制更新",
+    "上传apk":"上傳apk",
+    "应用地址":"應用地址",
+    "请输入应用商店地址":"請輸入應用商店地址",
+    "请输入内容":"請輸入內容",
+    "应用名称不能为空":"應用名稱不能為空",
+    "版本名称不能为空":"版本名稱不能為空",
+    "版本号不能为空":"版本號不能為空",
+    "运行平台不能为空":"運行平臺不能為空",
+    "下载地址不能为空":"下載地址不能為空",
+    "添加版本":"添加版本",
+    "修改版本":"修改版本",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?"
+  },
+  qiyejieshao:{
+    "平台介绍":"平臺介紹",
+    "操作":"操作",
+    "修改":"修改",
+    "确定":"確定",
+    "取消":"取消",
+    "平台介绍不能为空":"平臺介紹不能為空",
+    "修改平台介绍":"修改平臺介紹",
+    "修改成功":"修改成功"
+  },
+  systemuser:{
+    "搜索":"蒐索",
+    "重置":"重置",
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"删除",
+    "导出":"匯出",
+    "操作":"操作",
+    "详请":"詳情",
+    "确定":"確定",
+    "取消":"取消",
+    "修改成功":"修改成功",
+    "新增成功":"新增成功",
+    "删除成功":"删除成功",
+    "用户名称":"用戶名稱",
+    "请输入用户名称":"請輸入用戶名稱",
+    "手机号码":"手機號碼",
+    "请输入手机号码":"請輸入手機號碼",
+    "状态":"狀態",
+    "用户状态":"使用者狀態",
+    "创建时间":"創建時間",
+    "开始日期":"開始日期",
+    "结束日期":"結束日期",
+    "导入":"導入",
+    "用户编号":"用戶編號",
+    "用户昵称":"用戶昵稱",
+    "更多":"更多",
+    "重置密码":"重置密碼",
+    "角色":"角色",
+    "分配角色":"分配角色",
+    "请输入用户昵称":"請輸入用戶昵稱",
+    "请选择角色":"請選擇角色",
+    "邮箱":"郵箱",
+    "请输入邮箱":"請輸入郵箱",
+    "用户密码":"使用者密碼",
+    "请输入用户密码":"請輸入使用者密碼",
+    "用户性别":"用戶性別",
+    "请选择性别":"請選擇性別",
+    "备注":"備註",
+    "请输入内容":"請輸入內容",
+    "将文件拖到此处":"將檔案拖到此處,或",
+    "是否更新已经存在的用户数据":"是否更新已經存在的用戶數據",
+    "下载模板":"下載範本",
+    "用户名称不能为空":"用戶名稱不能為空",
+    "用户名称长度":"用戶名稱長度必須介於 2 和 20 之間",
+    "用户昵称不能为空":"用戶昵稱不能為空",
+    "用户密码不能为空":"使用者密碼不能為空",
+    "用户密码长度":"使用者密碼長度必須介於 5 和 20 之間",
+    "请输入正确的邮箱地址":"請輸入正確的郵箱地址",
+    "请输入正确的手机号码":"請輸入正確的手機號碼",
+    "启用":"啟用",
+    "停用":"停用",
+    "确认要":"確認要",
+    "用户吗":"用戶嗎?",
+    "成功":"成功",
+    "添加用户":"添加用戶",
+    "修改用户":"修改用户",
+    "用户导入":"用戶導入",
+    "请输入":"請輸入",
+    "新密码":"的新密碼",
+    "提示":"提示",
+    "修改密码成功":"修改成功,新密碼是:",
+    "是否确认删除编号为":"是否確認删除編號為",
+    "的数据项":"的資料項目?",
+    "请输入部门名称":"請輸入部門名稱",
+    "将文件拖到此处":"將檔案拖到此處,或",
+    "点击上传":"點擊上傳",
+    "导入格式文件":"僅允許導入xls、xlsx格式檔案",
+    "部门":"部門",
+    "归属部门":"歸屬部門",
+    "请选择归属部门":"請選擇歸屬部門",
+    "岗位":"崗位",
+    "请选择岗位":"請選擇崗位",
+    "导入结果":"導入結果",
+    "控制器中定义的权限字符":"控制器中定義的許可權字元,如:@PreAuthorize(`@ss.hasRole('admin')`)",
+    "加载中":"加載中,請稍候",
+    "角色编号":"角色編號",
+    "角色名称":"角色名稱",
+    "权限字符":"許可權字元",
+    "请输入角色名称":"請輸入角色名稱",
+    "请输入权限字符":"請輸入許可權字元",
+    "角色状态":"角色狀態",
+    "显示顺序":"顯示順序",
+    "角色顺序":"角色順序",
+    "菜单权限":"選單許可權",
+    "展开/折叠":"展開/折疊",
+    "全选/全不选":"全選/全不選",
+    "父子联动":"父子聯動",
+    "数据权限":"數據許可權",
+    "分配用户":"分配用戶",
+    "权限范围":"許可權範圍",
+    "角色名称不能为空":"角色名稱不能為空",
+    "权限字符不能为空":"許可權字元不能為空",
+    "角色顺序不能为空":"角色順序不能為空",
+    "角色吗":"角色嗎?",
+    "添加角色":"添加角色",
+    "修改角色":"修改角色",
+    "分配数据权限":"分配數據許可權",
+    "部门名称":"部門名稱",
+    "排序":"排序",
+    "显示排序":"顯示排序",
+    "部门名称不能为空":"部門名稱不能為空",
+    "负责人":"負責人",
+    "请输入负责人":"請輸入負責人",
+    "联系电话":"聯繫電話",
+    "请输入联系电话":"請輸入聯繫電話",
+    "部门状态":"部門狀態",
+    "添加部门":"添加部門",
+    "修改部门":"修改部門",
+    "上级部门":"上級部門",
+    "选择上级部门":"選擇上級部門",
+    "上级部门不能为空":"上級部門不能為空",
+    "显示排序不能为空":"顯示排序不能為空",
+    "岗位编码":"崗位編碼",
+    "请输入岗位编码":"請輸入崗位編碼",
+    "岗位名称":"崗位名稱",
+    "请输入岗位名称":"請輸入崗位名稱",
+    "岗位状态":"崗位狀態",
+    "岗位编号":"崗位編號",
+    "岗位排序":"崗位排序",
+    "请输入编码名称":"請輸入編碼名稱",
+    "岗位顺序":"崗位順序",
+    "公告标题":"公告標題",
+    "请输入公告标题":"請輸入公告標題",
+    "操作人员":"操作人員",
+    "请输入操作人员":"請輸入操作人員",
+    "类型":"類型",
+    "公告类型":"公告類型",
+    "序号":"序號",
+    "创建者":"創建者",
+    "内容":"內容",
+    "请选择公告类型":"請選擇公告類型",
+    "上传文件大小不能超过":"上傳文件大小不能超過",
+    "图片插入失败":"圖片插入失敗",
+    "审核上架":"稽核上架",
+    "审核":"審核",
+    "下架":"下架",
+    "审核状态":"稽核狀態",
+    "身份证/护照号":"身份證/護照號",
+    "商家类型":"商家類型",
+    "身份证/护照照片":"身份證/護照照片",
+    "银行信息照片":"銀行資訊照片",
+    "商家介绍":"商家介紹",
+    "请输入商家负责人":"請輸入商家負責人",
+    "请输入身份证/护照号":"請輸入身份證/護照號",
+    "请输入邀请标识":"請輸入邀請標識",
+    "请输入登录用户名":"請輸入登入用戶名",
+    "组织名称":"組織名稱",
+    "请输入社会组织名称":"請輸入社會組織名稱",
+    "卖家名称":"賣家名稱",
+    "请输入卖家名称":"請輸入賣家名稱",
+    "请选择审核状态":"請選擇審核狀態",
+    "反馈时间":"反饋時間",
+    "请选择反馈时间":"請選擇反饋時間",
+    "社会组织名称":"社會組織名稱",
+    "电话/邮箱":"電話/郵箱",
+    "修改社会反馈":"電話/郵箱修改社會反饋",
+    "地址":"位址",
+    "反馈内容":"反饋內容",
+    "附件":"附件",
+    "请输入地址":"請輸入位址",
+    "请输入电话/邮箱":"請輸入電話/郵箱",
+    "请输入内容":"請輸入內容"
+  },
+  usprofile:{
+    "个人信息":"個人資訊",
+    "用户名称":"用戶名稱",
+    "手机号码":"手機號碼",
+    "用户邮箱":"用戶郵箱",
+    "所属角色":"所屬角色",
+    "创建日期":"創建日期",
+    "基本资料":"基本資料",
+    "修改密码":"修改密碼",
+    "所属部门":"所屬部門",
+    "旧密码":"舊密碼",
+    "请输入旧密码":"請輸入舊密碼",
+    "新密码":"新密碼",
+    "请输入新密码":"請輸入新密碼",
+    "确认密码":"確認密碼",
+    "请确认新密码":"請確認新密碼",
+    "保存":"保存",
+    "关闭":"關閉",
+    "两次输入的密码不一致":"兩次輸入的密碼不一致",
+    "旧密码不能为空":"舊密碼不能為空",
+    "新密码不能为空":"新密碼不能為空",
+    "密码长度":"長度在 6 到 20 個字元",
+    "确认密码不能为空":"確認密碼不能為空",
+    "修改成功":"修改成功",
+    "点击上传头像":"點擊上傳頭像",
+    "选择":"選擇",
+    "提交":"提交",
+    "修改头像":"修改頭像",
+    "文件格式错误":"檔案格式錯誤,請上傳圖片類型,如:JPG,PNG尾碼的檔案。",
+    "用户昵称":"用戶昵稱",
+    "邮箱":"郵箱",
+    "性别":"性别",
+    "男":"男",
+    "女":"女",
+    "用户昵称不能为空":"用戶昵稱不能為空",
+    "邮箱地址不能为空":"郵箱地址不能為空",
+    "请输入正确的邮箱地址":"請輸入正確的郵箱地址",
+    "手机号码不能为空":"手機號碼不能為空",
+    "请输入正确的手机号码":"請輸入正確的手機號碼",
+    "基本信息":"基本資訊",
+    "登录账号":"登入帳號",
+    "角色信息":"角色資訊",
+    "序号":"序號",
+    "角色编号":"角色編號",
+    "角色名称":"角色名稱",
+    "权限字符":"許可權字元",
+    "创建时间":"創建時間",
+    "返回":"返回",
+    "授权成功":"授權成功"
+  },
+  systemappeal:{
+    "上传图片":"上傳圖片",
+    "订单号":"訂單號",
+    "请输入订单号":"請輸入訂單號",
+    "搜索":"搜索",
+    "重置":"重置",
+    "昵称":"昵稱",
+    "内容":"內容",
+    "操作":"操作",
+    "查看":"查看",
+    "回复":"回覆",
+    "请输入昵称":"請輸入昵稱",
+    "请输入内容":"請輸入內容",
+    "确定":"確定",
+    "取消":"取消",
+    "添加留言信息":"添加留言信息",
+    "修改留言信息":"修改留言信息",
+    "查看留言信息":"查看留言信息",
+    "客服":"客服",
+    "回复留言信息":"回覆留言信息",
+    "修改成功":"修改成功",
+    "回复成功":"回覆成功",
+    "使用情况":"使用情况"
+  },
+  jifen: {
+    "评论获得积分": "評論獲得點數",
+    "开启": "開啟",
+    "关闭": "關閉",
+    "评论1次积分数量": "評論一次獲得點數數量",
+    "请输入评论1次获得积分数量": "請輸入每次評論獲得點數數量",
+    "1个积分对应的金额": "1點可折抵金額",
+    "请输入1个积分对应的金额": "請輸入1點可折抵金額",
+    "下单积分抵扣": "訂單點數折抵",
+    "确 定": "確 定",
+    "评论积分开关不能为空": "評論點數功能開關不能為空",
+    "每次评论获得积分数量不能为空": "每次評論獲得點數數量不能為空",
+    "1个积分对应的金额不能为空": "點數折抵金額設定不能為空",
+    "下单积分抵扣不能为空": "訂單點數折抵設定不能為空",
+    "修改成功": "修改成功",
+    "使用积分数量": "使用點數數量",
+    "请输入使用积分数量": "請輸入使用點數數量",
+    "请输入订单金额条件": "請輸入訂單金額條件",
+    "启用状态": "啟用狀態",
+    "请输入启用状态": "請選擇啟用狀態",
+    "搜索": "搜尋",
+    "重置": "重設",
+    "新增": "新增",
+    "修改": "修改",
+    "删除": "刪除",
+    "订单金额": "訂單金額",
+    "订单金额达到该金额时生效":"訂單達此金額時生效",
+    "取 消":"取 消",
+    "操作":"操作",
+    "是否确认删除数据项":"是否確認刪除此資料?",
+    "新增成功":"新增成功",
+    "使用积分数量不能为空":"使用點數數量不能為空",
+    "订单金额不能为空":"訂單金額不能為空",
+    "启用状态不能为空":"啟用狀態不能為空",
+    "订单编号":"訂單編號",
+    "请输入订单编号":"請輸入訂單編號",
+    "查看":"檢視",
+    "用户Id":"使用者ID",
+    "类型": "類型",
+    "变动值": "異動數值",
+    "变动后余额": "異動後餘額",
+    "创建时间": "建立時間",
+    "获得":"獲得",
+    "抵扣":"折抵",
+    "退回":"退還",
+  },
+  ads:{
+    "新增":"新增",
+    "修改":"修改",
+    "删除":"刪除",
+    "操作":"操作",
+    "图片":"圖片",
+    "跳转地址":"跳轉網址",
+    "状态":"狀態",
+    "请输入跳转地址":"請輸入跳轉網址",
+    "排序":"排序",
+    "请输入排序":"請輸入排序",
+    "开启":"開啟",
+    "关闭":"關閉",
+    "确 定":"確 定",
+    "取 消":"取 消",
+    "图片不能为空":"圖片不能為空",
+    "状态不能为空":"狀態不能為空",
+    "添加首页广告":"新增首頁廣告",
+    "修改首页广告":"修改首頁廣告",
+    "是否确认删除数据项":"是否確認刪除資料項目",
+    "新增成功":"新增成功",
+    "修改成功":"修改成功",
+    "删除成功":"刪除成功"
+  },
+  review:{
+    "订单id":"訂單id",
+    "请输入订单id":"請輸入訂單id",
+    "评论时间":"評論時間",
+    "请选择评论时间":"請選擇評論時間",
+    "操作":"操作",
+    "删除":"刪除",
+    "新增":"新增",
+    "修改":"修改",
+    "搜索":"搜尋",
+    "重置":"重置",
+    "导出":"匯出",
+    "用户id":"用戶id",
+    "请输入用户id":"請輸入用戶id",
+    "评分":"評分",
+    "评论内容":"評論內容",
+    "是否匿名":"是否匿名",
+    "是":"是",
+    "否":"否",
+    "评论图片":"評論圖片",
+    "确 定":"確 定",
+    "取 消":"取 消",
+    "订单评论":"訂單評論",
+  }
+};

+ 59 - 0
foodie_admin_vue/src/api/login.js

@@ -0,0 +1,59 @@
+import request from '@/utils/request'
+
+// 登录方法
+export function login(username, password, code, uuid) {
+  const data = {
+    username,
+    password,
+    code,
+    uuid
+  }
+  return request({
+    url: '/login',
+    headers: {
+      isToken: false
+    },
+    method: 'post',
+    data: data
+  })
+}
+
+// 注册方法
+export function register(data) {
+  return request({
+    url: '/register',
+    headers: {
+      isToken: false
+    },
+    method: 'post',
+    data: data
+  })
+}
+
+// 获取用户详细信息
+export function getInfo() {
+  return request({
+    url: '/getInfo',
+    method: 'get'
+  })
+}
+
+// 退出方法
+export function logout() {
+  return request({
+    url: '/logout',
+    method: 'post'
+  })
+}
+
+// 获取验证码
+export function getCodeImg() {
+  return request({
+    url: '/captchaImage',
+    headers: {
+      isToken: false
+    },
+    method: 'get',
+    timeout: 20000
+  })
+}

+ 9 - 0
foodie_admin_vue/src/api/menu.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 获取路由
+export const getRouters = () => {
+  return request({
+    url: '/getRouters',
+    method: 'get'
+  })
+}

+ 57 - 0
foodie_admin_vue/src/api/monitor/cache.js

@@ -0,0 +1,57 @@
+import request from '@/utils/request'
+
+// 查询缓存详细
+export function getCache() {
+  return request({
+    url: '/monitor/cache',
+    method: 'get'
+  })
+}
+
+// 查询缓存名称列表
+export function listCacheName() {
+  return request({
+    url: '/monitor/cache/getNames',
+    method: 'get'
+  })
+}
+
+// 查询缓存键名列表
+export function listCacheKey(cacheName) {
+  return request({
+    url: '/monitor/cache/getKeys/' + cacheName,
+    method: 'get'
+  })
+}
+
+// 查询缓存内容
+export function getCacheValue(cacheName, cacheKey) {
+  return request({
+    url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey,
+    method: 'get'
+  })
+}
+
+// 清理指定名称缓存
+export function clearCacheName(cacheName) {
+  return request({
+    url: '/monitor/cache/clearCacheName/' + cacheName,
+    method: 'delete'
+  })
+}
+
+// 清理指定键名缓存
+export function clearCacheKey(cacheKey) {
+  return request({
+    url: '/monitor/cache/clearCacheKey/' + cacheKey,
+    method: 'delete'
+  })
+}
+
+// 清理全部缓存
+export function clearCacheAll() {
+  return request({
+    url: '/monitor/cache/clearCacheAll',
+    method: 'delete'
+  })
+}

+ 71 - 0
foodie_admin_vue/src/api/monitor/job.js

@@ -0,0 +1,71 @@
+import request from '@/utils/request'
+
+// 查询定时任务调度列表
+export function listJob(query) {
+  return request({
+    url: '/monitor/job/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询定时任务调度详细
+export function getJob(jobId) {
+  return request({
+    url: '/monitor/job/' + jobId,
+    method: 'get'
+  })
+}
+
+// 新增定时任务调度
+export function addJob(data) {
+  return request({
+    url: '/monitor/job',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改定时任务调度
+export function updateJob(data) {
+  return request({
+    url: '/monitor/job',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除定时任务调度
+export function delJob(jobId) {
+  return request({
+    url: '/monitor/job/' + jobId,
+    method: 'delete'
+  })
+}
+
+// 任务状态修改
+export function changeJobStatus(jobId, status) {
+  const data = {
+    jobId,
+    status
+  }
+  return request({
+    url: '/monitor/job/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+
+// 定时任务立即执行一次
+export function runJob(jobId, jobGroup) {
+  const data = {
+    jobId,
+    jobGroup
+  }
+  return request({
+    url: '/monitor/job/run',
+    method: 'put',
+    data: data
+  })
+}

+ 26 - 0
foodie_admin_vue/src/api/monitor/jobLog.js

@@ -0,0 +1,26 @@
+import request from '@/utils/request'
+
+// 查询调度日志列表
+export function listJobLog(query) {
+  return request({
+    url: '/monitor/jobLog/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除调度日志
+export function delJobLog(jobLogId) {
+  return request({
+    url: '/monitor/jobLog/' + jobLogId,
+    method: 'delete'
+  })
+}
+
+// 清空调度日志
+export function cleanJobLog() {
+  return request({
+    url: '/monitor/jobLog/clean',
+    method: 'delete'
+  })
+}

+ 34 - 0
foodie_admin_vue/src/api/monitor/logininfor.js

@@ -0,0 +1,34 @@
+import request from '@/utils/request'
+
+// 查询登录日志列表
+export function list(query) {
+  return request({
+    url: '/monitor/logininfor/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除登录日志
+export function delLogininfor(infoId) {
+  return request({
+    url: '/monitor/logininfor/' + infoId,
+    method: 'delete'
+  })
+}
+
+// 解锁用户登录状态
+export function unlockLogininfor(userName) {
+  return request({
+    url: '/monitor/logininfor/unlock/' + userName,
+    method: 'get'
+  })
+}
+
+// 清空登录日志
+export function cleanLogininfor() {
+  return request({
+    url: '/monitor/logininfor/clean',
+    method: 'delete'
+  })
+}

+ 18 - 0
foodie_admin_vue/src/api/monitor/online.js

@@ -0,0 +1,18 @@
+import request from '@/utils/request'
+
+// 查询在线用户列表
+export function list(query) {
+  return request({
+    url: '/monitor/online/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 强退用户
+export function forceLogout(tokenId) {
+  return request({
+    url: '/monitor/online/' + tokenId,
+    method: 'delete'
+  })
+}

+ 26 - 0
foodie_admin_vue/src/api/monitor/operlog.js

@@ -0,0 +1,26 @@
+import request from '@/utils/request'
+
+// 查询操作日志列表
+export function list(query) {
+  return request({
+    url: '/monitor/operlog/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除操作日志
+export function delOperlog(operId) {
+  return request({
+    url: '/monitor/operlog/' + operId,
+    method: 'delete'
+  })
+}
+
+// 清空操作日志
+export function cleanOperlog() {
+  return request({
+    url: '/monitor/operlog/clean',
+    method: 'delete'
+  })
+}

+ 9 - 0
foodie_admin_vue/src/api/monitor/server.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 获取服务信息
+export function getServer() {
+  return request({
+    url: '/monitor/server',
+    method: 'get'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/ServiceType.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询ServiceType列表
+export function listServiceType(query) {
+  return request({
+    url: '/system/ServiceType/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询ServiceType详细
+export function getServiceType(id) {
+  return request({
+    url: '/system/ServiceType/' + id,
+    method: 'get'
+  })
+}
+
+// 新增ServiceType
+export function addServiceType(data) {
+  return request({
+    url: '/system/ServiceType',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改ServiceType
+export function updateServiceType(data) {
+  return request({
+    url: '/system/ServiceType',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除ServiceType
+export function delServiceType(id) {
+  return request({
+    url: '/system/ServiceType/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/ads.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询首页广告列表
+export function listAds(query) {
+  return request({
+    url: '/system/ads/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询首页广告详细
+export function getAds(id) {
+  return request({
+    url: '/system/ads/' + id,
+    method: 'get'
+  })
+}
+
+// 新增首页广告
+export function addAds(data) {
+  return request({
+    url: '/system/ads',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改首页广告
+export function updateAds(data) {
+  return request({
+    url: '/system/ads',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除首页广告
+export function delAds(id) {
+  return request({
+    url: '/system/ads/' + id,
+    method: 'delete'
+  })
+}

+ 0 - 0
foodie_admin_vue/src/api/system/ads.js~


+ 27 - 0
foodie_admin_vue/src/api/system/api.js

@@ -0,0 +1,27 @@
+/**
+ * * 获取信息
+ * @param address
+ * @returns {AxiosPromise}
+ */
+import request from '@/utils/request'
+
+export function changeLanguages(lang){
+  return request({
+    url: '/changeLanguages',
+    method: 'get',
+    headers: {
+      isToken: false,
+    },
+    params: {
+      lang: lang,
+      id:"admin"
+    }
+  })
+}
+
+export function statistics() {
+  return request({
+    url: '/report/statistics/index',
+    method: 'get'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/appeal.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询留言信息列表
+export function listAppeal(query) {
+  return request({
+    url: '/system/appeal/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询留言信息详细
+export function getAppeal(id) {
+  return request({
+    url: '/system/appeal/' + id,
+    method: 'get'
+  })
+}
+
+// 新增留言信息
+export function addAppeal(data) {
+  return request({
+    url: '/system/appeal',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改留言信息
+export function updateAppeal(data) {
+  return request({
+    url: '/system/appeal',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除留言信息
+export function delAppeal(id) {
+  return request({
+    url: '/system/appeal/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/card.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询BankCard列表
+export function listCard(query) {
+  return request({
+    url: '/system/card/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询BankCard详细
+export function getCard(id) {
+  return request({
+    url: '/system/card/' + id,
+    method: 'get'
+  })
+}
+
+// 新增BankCard
+export function addCard(data) {
+  return request({
+    url: '/system/card',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改BankCard
+export function updateCard(data) {
+  return request({
+    url: '/system/card',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除BankCard
+export function delCard(id) {
+  return request({
+    url: '/system/card/' + id,
+    method: 'delete'
+  })
+}

+ 60 - 0
foodie_admin_vue/src/api/system/config.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询参数列表
+export function listConfig(query) {
+  return request({
+    url: '/system/config/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询参数详细
+export function getConfig(configId) {
+  return request({
+    url: '/system/config/' + configId,
+    method: 'get'
+  })
+}
+
+// 根据参数键名查询参数值
+export function getConfigKey(configKey) {
+  return request({
+    url: '/system/config/configKey/' + configKey,
+    method: 'get'
+  })
+}
+
+// 新增参数配置
+export function addConfig(data) {
+  return request({
+    url: '/system/config',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改参数配置
+export function updateConfig(data) {
+  return request({
+    url: '/system/config',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除参数配置
+export function delConfig(configId) {
+  return request({
+    url: '/system/config/' + configId,
+    method: 'delete'
+  })
+}
+
+// 刷新参数缓存
+export function refreshCache() {
+  return request({
+    url: '/system/config/refreshCache',
+    method: 'delete'
+  })
+}

+ 52 - 0
foodie_admin_vue/src/api/system/dept.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 查询部门列表
+export function listDept(query) {
+  return request({
+    url: '/system/dept/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询部门列表(排除节点)
+export function listDeptExcludeChild(deptId) {
+  return request({
+    url: '/system/dept/list/exclude/' + deptId,
+    method: 'get'
+  })
+}
+
+// 查询部门详细
+export function getDept(deptId) {
+  return request({
+    url: '/system/dept/' + deptId,
+    method: 'get'
+  })
+}
+
+// 新增部门
+export function addDept(data) {
+  return request({
+    url: '/system/dept',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改部门
+export function updateDept(data) {
+  return request({
+    url: '/system/dept',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除部门
+export function delDept(deptId) {
+  return request({
+    url: '/system/dept/' + deptId,
+    method: 'delete'
+  })
+}

+ 52 - 0
foodie_admin_vue/src/api/system/dict/data.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 查询字典数据列表
+export function listData(query) {
+  return request({
+    url: '/system/dict/data/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询字典数据详细
+export function getData(dictCode) {
+  return request({
+    url: '/system/dict/data/' + dictCode,
+    method: 'get'
+  })
+}
+
+// 根据字典类型查询字典数据信息
+export function getDicts(dictType) {
+  return request({
+    url: '/system/dict/data/type/' + dictType,
+    method: 'get'
+  })
+}
+
+// 新增字典数据
+export function addData(data) {
+  return request({
+    url: '/system/dict/data',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改字典数据
+export function updateData(data) {
+  return request({
+    url: '/system/dict/data',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除字典数据
+export function delData(dictCode) {
+  return request({
+    url: '/system/dict/data/' + dictCode,
+    method: 'delete'
+  })
+}

+ 60 - 0
foodie_admin_vue/src/api/system/dict/type.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询字典类型列表
+export function listType(query) {
+  return request({
+    url: '/system/dict/type/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询字典类型详细
+export function getType(dictId) {
+  return request({
+    url: '/system/dict/type/' + dictId,
+    method: 'get'
+  })
+}
+
+// 新增字典类型
+export function addType(data) {
+  return request({
+    url: '/system/dict/type',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改字典类型
+export function updateType(data) {
+  return request({
+    url: '/system/dict/type',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除字典类型
+export function delType(dictId) {
+  return request({
+    url: '/system/dict/type/' + dictId,
+    method: 'delete'
+  })
+}
+
+// 刷新字典缓存
+export function refreshCache() {
+  return request({
+    url: '/system/dict/type/refreshCache',
+    method: 'delete'
+  })
+}
+
+// 获取字典选择框列表
+export function optionselect() {
+  return request({
+    url: '/system/dict/type/optionselect',
+    method: 'get'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/feedback.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询feedback列表
+export function listFeedback(query) {
+  return request({
+    url: '/system/feedback/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询feedback详细
+export function getFeedback(id) {
+  return request({
+    url: '/system/feedback/' + id,
+    method: 'get'
+  })
+}
+
+// 新增feedback
+export function addFeedback(data) {
+  return request({
+    url: '/system/feedback',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改feedback
+export function updateFeedback(data) {
+  return request({
+    url: '/system/feedback',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除feedback
+export function delFeedback(id) {
+  return request({
+    url: '/system/feedback/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/fenlei.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询spfenlei列表
+export function listFenlei(query) {
+  return request({
+    url: '/system/fenlei/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询spfenlei详细
+export function getFenlei(id) {
+  return request({
+    url: '/system/fenlei/' + id,
+    method: 'get'
+  })
+}
+
+// 新增spfenlei
+export function addFenlei(data) {
+  return request({
+    url: '/system/fenlei',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改spfenlei
+export function updateFenlei(data) {
+  return request({
+    url: '/system/fenlei',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除spfenlei
+export function delFenlei(id) {
+  return request({
+    url: '/system/fenlei/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/freight.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询freight列表
+export function listFreight(query) {
+  return request({
+    url: '/system/freight/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询freight详细
+export function getFreight(id) {
+  return request({
+    url: '/system/freight/' + id,
+    method: 'get'
+  })
+}
+
+// 新增freight
+export function addFreight(data) {
+  return request({
+    url: '/system/freight',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改freight
+export function updateFreight(data) {
+  return request({
+    url: '/system/freight',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除freight
+export function delFreight(id) {
+  return request({
+    url: '/system/freight/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/help.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询help列表
+export function listHelp(query) {
+  return request({
+    url: '/system/help/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询help详细
+export function getHelp(id) {
+  return request({
+    url: '/system/help/' + id,
+    method: 'get'
+  })
+}
+
+// 新增help
+export function addHelp(data) {
+  return request({
+    url: '/system/help',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改help
+export function updateHelp(data) {
+  return request({
+    url: '/system/help',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除help
+export function delHelp(id) {
+  return request({
+    url: '/system/help/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/ipnlog.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询IpnLog列表
+export function listIpnlog(query) {
+  return request({
+    url: '/system/ipnlog/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询IpnLog详细
+export function getIpnlog(id) {
+  return request({
+    url: '/system/ipnlog/' + id,
+    method: 'get'
+  })
+}
+
+// 新增IpnLog
+export function addIpnlog(data) {
+  return request({
+    url: '/system/ipnlog',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改IpnLog
+export function updateIpnlog(data) {
+  return request({
+    url: '/system/ipnlog',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除IpnLog
+export function delIpnlog(id) {
+  return request({
+    url: '/system/ipnlog/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/margin.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询margin列表
+export function listMargin(query) {
+  return request({
+    url: '/system/margin/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询margin详细
+export function getMargin(id) {
+  return request({
+    url: '/system/margin/' + id,
+    method: 'get'
+  })
+}
+
+// 新增margin
+export function addMargin(data) {
+  return request({
+    url: '/system/margin',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改margin
+export function updateMargin(data) {
+  return request({
+    url: '/system/margin',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除margin
+export function delMargin(id) {
+  return request({
+    url: '/system/margin/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/marginlist.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询usermargin列表
+export function listMarginlist(query) {
+  return request({
+    url: '/system/marginlist/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询usermargin详细
+export function getMarginlist(id) {
+  return request({
+    url: '/system/marginlist/' + id,
+    method: 'get'
+  })
+}
+
+// 新增usermargin
+export function addMarginlist(data) {
+  return request({
+    url: '/system/marginlist',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改usermargin
+export function updateMarginlist(data) {
+  return request({
+    url: '/system/marginlist',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除usermargin
+export function delMarginlist(id) {
+  return request({
+    url: '/system/marginlist/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/membership.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询viplist列表
+export function listMembership(query) {
+  return request({
+    url: '/system/membership/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询viplist详细
+export function getMembership(id) {
+  return request({
+    url: '/system/membership/' + id,
+    method: 'get'
+  })
+}
+
+// 新增viplist
+export function addMembership(data) {
+  return request({
+    url: '/system/membership',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改viplist
+export function updateMembership(data) {
+  return request({
+    url: '/system/membership',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除viplist
+export function delMembership(id) {
+  return request({
+    url: '/system/membership/' + id,
+    method: 'delete'
+  })
+}

+ 60 - 0
foodie_admin_vue/src/api/system/menu.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询菜单列表
+export function listMenu(query) {
+  return request({
+    url: '/system/menu/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询菜单详细
+export function getMenu(menuId) {
+  return request({
+    url: '/system/menu/' + menuId,
+    method: 'get'
+  })
+}
+
+// 查询菜单下拉树结构
+export function treeselect() {
+  return request({
+    url: '/system/menu/treeselect',
+    method: 'get'
+  })
+}
+
+// 根据角色ID查询菜单下拉树结构
+export function roleMenuTreeselect(roleId) {
+  return request({
+    url: '/system/menu/roleMenuTreeselect/' + roleId,
+    method: 'get'
+  })
+}
+
+// 新增菜单
+export function addMenu(data) {
+  return request({
+    url: '/system/menu',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改菜单
+export function updateMenu(data) {
+  return request({
+    url: '/system/menu',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除菜单
+export function delMenu(menuId) {
+  return request({
+    url: '/system/menu/' + menuId,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/multiplier.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询DistanceMultiplier列表
+export function listMultiplier(query) {
+  return request({
+    url: '/system/multiplier/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询DistanceMultiplier详细
+export function getMultiplier(id) {
+  return request({
+    url: '/system/multiplier/' + id,
+    method: 'get'
+  })
+}
+
+// 新增DistanceMultiplier
+export function addMultiplier(data) {
+  return request({
+    url: '/system/multiplier',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改DistanceMultiplier
+export function updateMultiplier(data) {
+  return request({
+    url: '/system/multiplier',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除DistanceMultiplier
+export function delMultiplier(id) {
+  return request({
+    url: '/system/multiplier/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/notice.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询公告列表
+export function listNotice(query) {
+  return request({
+    url: '/system/notice/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询公告详细
+export function getNotice(noticeId) {
+  return request({
+    url: '/system/notice/' + noticeId,
+    method: 'get'
+  })
+}
+
+// 新增公告
+export function addNotice(data) {
+  return request({
+    url: '/system/notice',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改公告
+export function updateNotice(data) {
+  return request({
+    url: '/system/notice',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除公告
+export function delNotice(noticeId) {
+  return request({
+    url: '/system/notice/' + noticeId,
+    method: 'delete'
+  })
+}

+ 82 - 0
foodie_admin_vue/src/api/system/order.js

@@ -0,0 +1,82 @@
+import request from '@/utils/request'
+
+// 查询posorder列表
+export function listOrder(query) {
+  return request({
+    url: '/system/order/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询posorder列表sh
+export function listShOrder1(query) {
+  return request({
+    url: '/system/order/shlist1',
+    method: 'get',
+    params: query
+  })
+}
+// 查询posorder列表sh
+export function listShOrder2(query) {
+  return request({
+    url: '/system/order/shlist2',
+    method: 'get',
+    params: query
+  })
+}
+// 查询posorder列表sh
+export function listShOrder3(query) {
+  return request({
+    url: '/system/order/shlist3',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询posorder详细
+export function getOrder(id) {
+  return request({
+    url: '/system/order/' + id,
+    method: 'get'
+  })
+}
+
+// 新增posorder
+export function addOrder(data) {
+  return request({
+    url: '/system/order',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改posorder
+export function updateOrder(data) {
+  return request({
+    url: '/system/order',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除posorder
+export function delOrder(id) {
+  return request({
+    url: '/system/order/' + id,
+    method: 'delete'
+  })
+}
+//查询会员
+export function getvip(id) {
+  return request({
+    url: '/infouser/user/getvip?userId='+id,
+    method: 'get'
+  })
+}
+//查询详请
+export function getorderhout(id) {
+  return request({
+    url: '/system/order/getorderhout?id='+id,
+    method: 'get'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/pointControl.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询积分控制列表
+export function listControl(query) {
+  return request({
+    url: '/system/pointcontrol/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询积分控制详细
+export function getControl(id) {
+  return request({
+    url: '/system/pointcontrol/' + id,
+    method: 'get'
+  })
+}
+
+// 新增积分控制
+export function addControl(data) {
+  return request({
+    url: '/system/pointcontrol',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改积分控制
+export function updateControl(data) {
+  return request({
+    url: '/system/pointcontrol',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除积分控制
+export function delControl(id) {
+  return request({
+    url: '/system/pointcontrol/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/pointTier.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询积分使用梯次列表
+export function listTier(query) {
+  return request({
+    url: '/system/pointTier/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询积分使用梯次详细
+export function getTier(id) {
+  return request({
+    url: '/system/pointTier/' + id,
+    method: 'get'
+  })
+}
+
+// 新增积分使用梯次
+export function addTier(data) {
+  return request({
+    url: '/system/pointTier',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改积分使用梯次
+export function updateTier(data) {
+  return request({
+    url: '/system/pointTier',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除积分使用梯次
+export function delTier(id) {
+  return request({
+    url: '/system/pointTier/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/pointTransaction.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询积分流水列表
+export function listTransaction(query) {
+  return request({
+    url: '/system/pointTransaction/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询积分流水详细
+export function getTransaction(id) {
+  return request({
+    url: '/system/pointTransaction/' + id,
+    method: 'get'
+  })
+}
+
+// 新增积分流水
+export function addTransaction(data) {
+  return request({
+    url: '/system/pointTransaction',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改积分流水
+export function updateTransaction(data) {
+  return request({
+    url: '/system/pointTransaction',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除积分流水
+export function delTransaction(id) {
+  return request({
+    url: '/system/pointTransaction/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/posfeedback.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询PosFeedback列表
+export function listPosfeedback(query) {
+  return request({
+    url: '/system/posfeedback/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询PosFeedback详细
+export function getPosfeedback(id) {
+  return request({
+    url: '/system/posfeedback/' + id,
+    method: 'get'
+  })
+}
+
+// 新增PosFeedback
+export function addPosfeedback(data) {
+  return request({
+    url: '/system/posfeedback',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改PosFeedback
+export function updatePosfeedback(data) {
+  return request({
+    url: '/system/posfeedback',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除PosFeedback
+export function delPosfeedback(id) {
+  return request({
+    url: '/system/posfeedback/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/post.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询岗位列表
+export function listPost(query) {
+  return request({
+    url: '/system/post/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询岗位详细
+export function getPost(postId) {
+  return request({
+    url: '/system/post/' + postId,
+    method: 'get'
+  })
+}
+
+// 新增岗位
+export function addPost(data) {
+  return request({
+    url: '/system/post',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改岗位
+export function updatePost(data) {
+  return request({
+    url: '/system/post',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除岗位
+export function delPost(postId) {
+  return request({
+    url: '/system/post/' + postId,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/promotion.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询SalesPromotion列表
+export function listPromotion(query) {
+  return request({
+    url: '/system/promotion/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询SalesPromotion详细
+export function getPromotion(id) {
+  return request({
+    url: '/system/promotion/' + id,
+    method: 'get'
+  })
+}
+
+// 新增SalesPromotion
+export function addPromotion(data) {
+  return request({
+    url: '/system/promotion',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改SalesPromotion
+export function updatePromotion(data) {
+  return request({
+    url: '/system/promotion',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除SalesPromotion
+export function delPromotion(id) {
+  return request({
+    url: '/system/promotion/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/qiyejieshao.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询qiyejieshao列表
+export function listQiyejieshao(query) {
+  return request({
+    url: '/system/qiyejieshao/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询qiyejieshao详细
+export function getQiyejieshao(id) {
+  return request({
+    url: '/system/qiyejieshao/' + id,
+    method: 'get'
+  })
+}
+
+// 新增qiyejieshao
+export function addQiyejieshao(data) {
+  return request({
+    url: '/system/qiyejieshao',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改qiyejieshao
+export function updateQiyejieshao(data) {
+  return request({
+    url: '/system/qiyejieshao',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除qiyejieshao
+export function delQiyejieshao(id) {
+  return request({
+    url: '/system/qiyejieshao/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/quanyi.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询quanyi列表
+export function listQuanyi(query) {
+  return request({
+    url: '/system/quanyi/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询quanyi详细
+export function getQuanyi(id) {
+  return request({
+    url: '/system/quanyi/' + id,
+    method: 'get'
+  })
+}
+
+// 新增quanyi
+export function addQuanyi(data) {
+  return request({
+    url: '/system/quanyi',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改quanyi
+export function updateQuanyi(data) {
+  return request({
+    url: '/system/quanyi',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除quanyi
+export function delQuanyi(id) {
+  return request({
+    url: '/system/quanyi/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/review.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询review列表
+export function listReview(query) {
+  return request({
+    url: '/system/review/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询review详细
+export function getReview(id) {
+  return request({
+    url: '/system/review/' + id,
+    method: 'get'
+  })
+}
+
+// 新增review
+export function addReview(data) {
+  return request({
+    url: '/system/review',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改review
+export function updateReview(data) {
+  return request({
+    url: '/system/review',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除review
+export function delReview(id) {
+  return request({
+    url: '/system/review/' + id,
+    method: 'delete'
+  })
+}

+ 119 - 0
foodie_admin_vue/src/api/system/role.js

@@ -0,0 +1,119 @@
+import request from '@/utils/request'
+
+// 查询角色列表
+export function listRole(query) {
+  return request({
+    url: '/system/role/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询角色详细
+export function getRole(roleId) {
+  return request({
+    url: '/system/role/' + roleId,
+    method: 'get'
+  })
+}
+
+// 新增角色
+export function addRole(data) {
+  return request({
+    url: '/system/role',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改角色
+export function updateRole(data) {
+  return request({
+    url: '/system/role',
+    method: 'put',
+    data: data
+  })
+}
+
+// 角色数据权限
+export function dataScope(data) {
+  return request({
+    url: '/system/role/dataScope',
+    method: 'put',
+    data: data
+  })
+}
+
+// 角色状态修改
+export function changeRoleStatus(roleId, status) {
+  const data = {
+    roleId,
+    status
+  }
+  return request({
+    url: '/system/role/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除角色
+export function delRole(roleId) {
+  return request({
+    url: '/system/role/' + roleId,
+    method: 'delete'
+  })
+}
+
+// 查询角色已授权用户列表
+export function allocatedUserList(query) {
+  return request({
+    url: '/system/role/authUser/allocatedList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询角色未授权用户列表
+export function unallocatedUserList(query) {
+  return request({
+    url: '/system/role/authUser/unallocatedList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 取消用户授权角色
+export function authUserCancel(data) {
+  return request({
+    url: '/system/role/authUser/cancel',
+    method: 'put',
+    data: data
+  })
+}
+
+// 批量取消用户授权角色
+export function authUserCancelAll(data) {
+  return request({
+    url: '/system/role/authUser/cancelAll',
+    method: 'put',
+    params: data
+  })
+}
+
+// 授权用户选择
+export function authUserSelectAll(data) {
+  return request({
+    url: '/system/role/authUser/selectAll',
+    method: 'put',
+    params: data
+  })
+}
+
+// 根据角色ID查询部门树结构
+export function deptTreeSelect(roleId) {
+  return request({
+    url: '/system/role/deptTree/' + roleId,
+    method: 'get'
+  })
+}

+ 51 - 0
foodie_admin_vue/src/api/system/sjquanyi.js

@@ -0,0 +1,51 @@
+import request from '@/utils/request'
+
+// 查询quanyi列表
+export function listQuanyi(query) {
+  return request({
+    url: '/system/sjquanyi/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询quanyi详细
+export function getQuanyi(id) {
+  return request({
+    url: '/system/sjquanyi/' + id,
+    method: 'get'
+  })
+}
+
+// 新增quanyi
+export function addQuanyi(data) {
+  return request({
+    url: '/system/sjquanyi',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改quanyi
+export function updateQuanyi(data) {
+  return request({
+    url: '/system/sjquanyi',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除quanyi
+export function delQuanyi(id) {
+  return request({
+    url: '/system/sjquanyi/' + id,
+    method: 'delete'
+  })
+}
+//  获取店铺列表
+export function getStoreList(id) {
+  return request({
+    url: '/system/sjquanyi/getStoreList?sjId=' + id,
+    method: 'get'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/txorder.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询TaxiOrder列表
+export function listTxorder(query) {
+  return request({
+    url: '/system/txorder/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询TaxiOrder详细
+export function getTxorder(id) {
+  return request({
+    url: '/system/txorder/' + id,
+    method: 'get'
+  })
+}
+
+// 新增TaxiOrder
+export function addTxorder(data) {
+  return request({
+    url: '/system/txorder',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改TaxiOrder
+export function updateTxorder(data) {
+  return request({
+    url: '/system/txorder',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除TaxiOrder
+export function delTxorder(id) {
+  return request({
+    url: '/system/txorder/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/txprices.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询TaxiPrices列表
+export function listTxprices(query) {
+  return request({
+    url: '/system/txprices/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询TaxiPrices详细
+export function getTxprices(id) {
+  return request({
+    url: '/system/txprices/' + id,
+    method: 'get'
+  })
+}
+
+// 新增TaxiPrices
+export function addTxprices(data) {
+  return request({
+    url: '/system/txprices',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改TaxiPrices
+export function updateTxprices(data) {
+  return request({
+    url: '/system/txprices',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除TaxiPrices
+export function delTxprices(id) {
+  return request({
+    url: '/system/txprices/' + id,
+    method: 'delete'
+  })
+}

+ 137 - 0
foodie_admin_vue/src/api/system/user.js

@@ -0,0 +1,137 @@
+import request from '@/utils/request'
+import { parseStrEmpty } from "@/utils/ruoyi";
+
+// 查询用户列表
+export function listUser(query) {
+  return request({
+    url: '/system/user/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用户详细
+export function getUser(userId) {
+  return request({
+    url: '/system/user/' + parseStrEmpty(userId),
+    method: 'get'
+  })
+}
+
+// 新增用户
+export function addUser(data) {
+  return request({
+    url: '/system/user',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用户
+export function updateUser(data) {
+  return request({
+    url: '/system/user',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用户
+export function delUser(userId) {
+  return request({
+    url: '/system/user/' + userId,
+    method: 'delete'
+  })
+}
+
+// 用户密码重置
+export function resetUserPwd(userId, password) {
+  const data = {
+    userId,
+    password
+  }
+  return request({
+    url: '/system/user/resetPwd',
+    method: 'put',
+    data: data
+  })
+}
+
+// 用户状态修改
+export function changeUserStatus(userId, status) {
+  const data = {
+    userId,
+    status
+  }
+  return request({
+    url: '/system/user/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+// 查询用户个人信息
+export function getUserProfile() {
+  return request({
+    url: '/system/user/profile',
+    method: 'get'
+  })
+}
+
+// 修改用户个人信息
+export function updateUserProfile(data) {
+  return request({
+    url: '/system/user/profile',
+    method: 'put',
+    data: data
+  })
+}
+
+// 用户密码重置
+export function updateUserPwd(oldPassword, newPassword) {
+  const data = {
+    oldPassword,
+    newPassword
+  }
+  return request({
+    url: '/system/user/profile/updatePwd',
+    method: 'put',
+    params: data
+  })
+}
+
+// 用户头像上传
+export function uploadAvatar(data) {
+  return request({
+    url: '/system/user/profile/avatar',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询授权角色
+export function getAuthRole(userId) {
+  return request({
+    url: '/system/user/authRole/' + userId,
+    method: 'get'
+  })
+}
+
+// 保存授权角色
+export function updateAuthRole(data) {
+  return request({
+    url: '/system/user/authRole',
+    method: 'put',
+    params: data
+  })
+}
+
+// 查询部门下拉树结构
+export function deptTreeSelect() {
+  return request({
+    url: '/system/user/deptTree',
+    method: 'get'
+  })
+}
+
+

+ 44 - 0
foodie_admin_vue/src/api/system/version.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询version列表
+export function listVersion(query) {
+  return request({
+    url: '/system/version/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询version详细
+export function getVersion(id) {
+  return request({
+    url: '/system/version/' + id,
+    method: 'get'
+  })
+}
+
+// 新增version
+export function addVersion(data) {
+  return request({
+    url: '/system/version',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改version
+export function updateVersion(data) {
+  return request({
+    url: '/system/version',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除version
+export function delVersion(id) {
+  return request({
+    url: '/system/version/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
foodie_admin_vue/src/api/system/vipuser.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询viplist列表
+export function listVipuser(query) {
+  return request({
+    url: '/system/vipuser/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询viplist详细
+export function getVipuser(id) {
+  return request({
+    url: '/system/vipuser/' + id,
+    method: 'get'
+  })
+}
+
+// 新增viplist
+export function addVipuser(data) {
+  return request({
+    url: '/system/vipuser',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改viplist
+export function updateVipuser(data) {
+  return request({
+    url: '/system/vipuser',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除viplist
+export function delVipuser(id) {
+  return request({
+    url: '/system/vipuser/' + id,
+    method: 'delete'
+  })
+}

+ 76 - 0
foodie_admin_vue/src/api/tool/gen.js

@@ -0,0 +1,76 @@
+import request from '@/utils/request'
+
+// 查询生成表数据
+export function listTable(query) {
+  return request({
+    url: '/tool/gen/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询db数据库列表
+export function listDbTable(query) {
+  return request({
+    url: '/tool/gen/db/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询表详细信息
+export function getGenTable(tableId) {
+  return request({
+    url: '/tool/gen/' + tableId,
+    method: 'get'
+  })
+}
+
+// 修改代码生成信息
+export function updateGenTable(data) {
+  return request({
+    url: '/tool/gen',
+    method: 'put',
+    data: data
+  })
+}
+
+// 导入表
+export function importTable(data) {
+  return request({
+    url: '/tool/gen/importTable',
+    method: 'post',
+    params: data
+  })
+}
+
+// 预览生成代码
+export function previewTable(tableId) {
+  return request({
+    url: '/tool/gen/preview/' + tableId,
+    method: 'get'
+  })
+}
+
+// 删除表数据
+export function delTable(tableId) {
+  return request({
+    url: '/tool/gen/' + tableId,
+    method: 'delete'
+  })
+}
+
+// 生成代码(自定义路径)
+export function genCode(tableName) {
+  return request({
+    url: '/tool/gen/genCode/' + tableName,
+    method: 'get'
+  })
+}
+
+// 同步数据库
+export function synchDb(tableName) {
+  return request({
+    url: '/tool/gen/synchDb/' + tableName,
+    method: 'get'
+  })
+}

BIN
foodie_admin_vue/src/assets/401_images/401.gif


BIN
foodie_admin_vue/src/assets/404_images/404.png


BIN
foodie_admin_vue/src/assets/404_images/404_cloud.png


+ 9 - 0
foodie_admin_vue/src/assets/icons/index.js

@@ -0,0 +1,9 @@
+import Vue from 'vue'
+import SvgIcon from '@/components/SvgIcon'// svg component
+
+// register globally
+Vue.component('svg-icon', SvgIcon)
+
+const req = require.context('./svg', false, /\.svg$/)
+const requireAll = requireContext => requireContext.keys().map(requireContext)
+requireAll(req)

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/404.svg

@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z"/></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/bug.svg

@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z"/></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/build.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1568899741379" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2054" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 591.424V368.96c0-0.288 0.16-0.512 0.16-0.768S960 367.68 960 367.424V192a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v175.424c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768v222.464c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768V864a32 32 0 0 0 32 32h832a32 32 0 0 0 32-32v-271.04c0-0.288 0.16-0.512 0.16-0.768S960 591.68 960 591.424z m-560-31.232v-160H608v160h-208z m208 64V832h-208v-207.808H608z m-480-224h208v160H128v-160z m544 0h224v160h-224v-160zM896 224v112.192H128V224h768zM128 624.192h208V832H128v-207.808zM672 832v-207.808h224V832h-224z" p-id="2055"></path></svg>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/button.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/cascader.svg


+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/chart.svg

@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/checkbox.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1575982282951" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="902" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M828.40625 90.125H195.59375C137.375 90.125 90.125 137.375 90.125 195.59375v632.8125c0 58.21875 47.25 105.46875 105.46875 105.46875h632.8125c58.21875 0 105.46875-47.25 105.46875-105.46875V195.59375c0-58.21875-47.25-105.46875-105.46875-105.46875z m52.734375 738.28125c0 29.16-23.57015625 52.734375-52.734375 52.734375H195.59375c-29.109375 0-52.734375-23.574375-52.734375-52.734375V195.59375c0-29.109375 23.625-52.734375 52.734375-52.734375h632.8125c29.16 0 52.734375 23.625 52.734375 52.734375v632.8125z" p-id="903"></path><path d="M421.52890625 709.55984375a36.28125 36.28125 0 0 1-27.55265625-12.66890625L205.17453125 476.613125a36.28546875 36.28546875 0 0 1 55.10109375-47.22890625l164.986875 192.4846875 342.16171875-298.48078125a36.2896875 36.2896875 0 0 1 47.70984375 54.68765625L445.3859375 700.6203125a36.3234375 36.3234375 0 0 1-23.85703125 8.93953125z" p-id="904"></path></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/clipboard.svg

@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z"/></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/code.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1546567861908" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2422" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M318.577778 819.2L17.066667 512l301.511111-307.2 45.511111 45.511111L96.711111 512l267.377778 261.688889zM705.422222 819.2l-45.511111-45.511111L927.288889 512l-267.377778-261.688889 45.511111-45.511111L1006.933333 512zM540.785778 221.866667l55.751111 11.150222L483.157333 802.133333l-55.751111-11.093333z" p-id="2423"></path></svg>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/color.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/component.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/dashboard.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/date-range.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/date.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
foodie_admin_vue/src/assets/icons/svg/dict.svg


+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/documentation.svg

@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z"/></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/download.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1569915748289" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3062" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M768.35456 416a256 256 0 1 0-512 0 192 192 0 1 0 0 384v64a256 256 0 0 1-58.88-505.216 320.128 320.128 0 0 1 629.76 0A256.128 256.128 0 0 1 768.35456 864v-64a192 192 0 0 0 0-384z m-512 384h64v64H256.35456v-64z m448 0h64v64h-64v-64z" fill="#333333" p-id="3063"></path><path d="M539.04256 845.248V512.192a32.448 32.448 0 0 0-32-32.192c-17.664 0-32 14.912-32 32.192v333.056l-36.096-36.096a32.192 32.192 0 0 0-45.056 0.192 31.616 31.616 0 0 0-0.192 45.056l90.88 90.944a31.36 31.36 0 0 0 22.528 9.088 30.08 30.08 0 0 0 22.4-9.088l90.88-90.88a32.192 32.192 0 0 0-0.192-45.12 31.616 31.616 0 0 0-45.056-0.192l-36.096 36.096z" fill="#333333" p-id="3064"></path></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/drag.svg

@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z"/></svg>

+ 1 - 0
foodie_admin_vue/src/assets/icons/svg/druid.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566036347051" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5853" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M832 128H192a64.19 64.19 0 0 0-64 64v640a64.19 64.19 0 0 0 64 64h640a64.19 64.19 0 0 0 64-64V192a64.19 64.19 0 0 0-64-64z m0 703.89l-0.11 0.11H192.11l-0.11-0.11V768h640zM832 544H720L605.6 696.54 442.18 435.07 333.25 544H192v-64h114.75l147.07-147.07L610.4 583.46 688 480h144z m0-288H192v-63.89l0.11-0.11h639.78l0.11 0.11z" p-id="5854"></path></svg>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác