فهرست منبع

init: 初始化

xdd 1 ماه پیش
کامیت
2b9390a0d4
100فایلهای تغییر یافته به همراه4592 افزوده شده و 0 حذف شده
  1. 22 0
      .editorconfig
  2. 11 0
      .env.development
  3. 8 0
      .env.production
  4. 10 0
      .env.staging
  5. 10 0
      .eslintignore
  6. 199 0
      .eslintrc.js
  7. 6 0
      .gitignore
  8. 8 0
      .idea/.gitignore
  9. 10 0
      .idea/UniappTool.xml
  10. 11 0
      .idea/aws.xml
  11. 6 0
      .idea/inspectionProfiles/Project_Default.xml
  12. 8 0
      .idea/modules.xml
  13. 6 0
      .idea/vcs.xml
  14. 12 0
      .idea/yjx_his_adminui.iml
  15. 13 0
      babel.config.js
  16. 12 0
      bin/build.bat
  17. 12 0
      bin/package.bat
  18. 12 0
      bin/run-web.bat
  19. 20 0
      deploy.sh
  20. 96 0
      package.json
  21. 21 0
      public/html/ie.html
  22. 209 0
      public/index.html
  23. 2 0
      public/robots.txt
  24. 19 0
      src/App.vue
  25. 63 0
      src/api/audit/temp/temp.js
  26. 18 0
      src/api/city/city.js
  27. 59 0
      src/api/common.js
  28. 89 0
      src/api/company/company.js
  29. 19 0
      src/api/company/companyDept.js
  30. 10 0
      src/api/company/companyRole.js
  31. 10 0
      src/api/company/companyTaskType.js
  32. 99 0
      src/api/company/companyUser.js
  33. 10 0
      src/api/company/index.js
  34. 53 0
      src/api/company/product.js
  35. 60 0
      src/api/company/schedule.js
  36. 103 0
      src/api/company/scheduleReport.js
  37. 121 0
      src/api/company/statistics.js
  38. 53 0
      src/api/company/user.js
  39. 53 0
      src/api/delivery/article.js
  40. 53 0
      src/api/delivery/class.js
  41. 53 0
      src/api/delivery/group.js
  42. 53 0
      src/api/delivery/shortVideo.js
  43. 53 0
      src/api/delivery/tag.js
  44. 53 0
      src/api/delivery/video.js
  45. 74 0
      src/api/doctor/apply.js
  46. 62 0
      src/api/doctor/data.js
  47. 94 0
      src/api/doctor/doctor.js
  48. 53 0
      src/api/doctor/level.js
  49. 53 0
      src/api/doctor/log.js
  50. 53 0
      src/api/doctor/material.js
  51. 70 0
      src/api/doctor/records.js
  52. 82 0
      src/api/doctor/user.js
  53. 53 0
      src/api/login.js
  54. 9 0
      src/api/menu.js
  55. 9 0
      src/api/monitor/cache.js
  56. 80 0
      src/api/monitor/job.js
  57. 35 0
      src/api/monitor/jobLog.js
  58. 35 0
      src/api/monitor/logininfor.js
  59. 18 0
      src/api/monitor/online.js
  60. 35 0
      src/api/monitor/operlog.js
  61. 9 0
      src/api/monitor/server.js
  62. 53 0
      src/api/project/contract.js
  63. 53 0
      src/api/project/permission.js
  64. 72 0
      src/api/project/project.js
  65. 63 0
      src/api/project/settings.js
  66. 65 0
      src/api/project/standard.js
  67. 53 0
      src/api/project/type.js
  68. 71 0
      src/api/provider/config.js
  69. 65 0
      src/api/provider/order.js
  70. 53 0
      src/api/provider/rel.js
  71. 53 0
      src/api/survey/drugResearch.js
  72. 53 0
      src/api/survey/period.js
  73. 147 0
      src/api/survey/questionnaire.js
  74. 53 0
      src/api/survey/task.js
  75. 84 0
      src/api/system/config.js
  76. 68 0
      src/api/system/dept.js
  77. 61 0
      src/api/system/dict/data.js
  78. 69 0
      src/api/system/dict/type.js
  79. 81 0
      src/api/system/file.js
  80. 60 0
      src/api/system/menu.js
  81. 44 0
      src/api/system/notice.js
  82. 53 0
      src/api/system/post.js
  83. 120 0
      src/api/system/role.js
  84. 152 0
      src/api/system/user.js
  85. 63 0
      src/api/task/delivery.js
  86. 102 0
      src/api/task/info.js
  87. 53 0
      src/api/task/material.js
  88. 76 0
      src/api/tool/gen.js
  89. BIN
      src/assets/401_images/401.gif
  90. BIN
      src/assets/404_images/404.png
  91. BIN
      src/assets/404_images/404_cloud.png
  92. BIN
      src/assets/icon/audit.png
  93. BIN
      src/assets/icon/customer.png
  94. BIN
      src/assets/icon/fj_customer.png
  95. BIN
      src/assets/icon/full_customer.png
  96. BIN
      src/assets/icon/goods.png
  97. BIN
      src/assets/icon/ht.png
  98. BIN
      src/assets/icon/integralOrder.png
  99. BIN
      src/assets/icon/log.png
  100. BIN
      src/assets/icon/menu.png

+ 22 - 0
.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
.env.development

@@ -0,0 +1,11 @@
+# 页面标题
+VUE_APP_TITLE =ymxt
+
+# 开发环境配置
+ENV = 'development'
+
+# ymxt/开发环境
+VUE_APP_BASE_API = '/dev-api'
+
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 8 - 0
.env.production

@@ -0,0 +1,8 @@
+# 页面标题
+VUE_APP_TITLE = ymxt
+
+# 生产环境配置
+ENV = 'production'
+
+#ymxt/生产环境
+VUE_APP_BASE_API = '/prod-api'

+ 10 - 0
.env.staging

@@ -0,0 +1,10 @@
+# 页面标题
+VUE_APP_TITLE =ymxt
+
+NODE_ENV = production
+
+# 测试环境配置
+ENV = 'staging'
+
+#ymxt/测试环境
+VUE_APP_BASE_API = '/stage-api'

+ 10 - 0
.eslintignore

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

+ 199 - 0
.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']
+  }
+}

+ 6 - 0
.gitignore

@@ -0,0 +1,6 @@
+/package-lock.json
+package-lock.json
+/build
+/node_modules
+/*.log
+/dist

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 10 - 0
.idea/UniappTool.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="cn.fjdmy.uniapp.UniappProjectDataService">
+    <option name="generalBasePath" value="$PROJECT_DIR$" />
+    <option name="manifestPath" value="$PROJECT_DIR$/manifest.json" />
+    <option name="pagesPath" value="$PROJECT_DIR$/pages.json" />
+    <option name="scanNum" value="1" />
+    <option name="type" value="store" />
+  </component>
+</project>

+ 11 - 0
.idea/aws.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="accountSettings">
+    <option name="activeRegion" value="us-east-1" />
+    <option name="recentlyUsedRegions">
+      <list>
+        <option value="us-east-1" />
+      </list>
+    </option>
+  </component>
+</project>

+ 6 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
+  </profile>
+</component>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/yjx_his_adminui.iml" filepath="$PROJECT_DIR$/.idea/yjx_his_adminui.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 12 - 0
.idea/yjx_his_adminui.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.tmp" />
+      <excludeFolder url="file://$MODULE_DIR$/temp" />
+      <excludeFolder url="file://$MODULE_DIR$/tmp" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 13 - 0
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']
+    }
+  }
+}

+ 12 - 0
bin/build.bat

@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [信息] 打包Web工程,生成dist文件。
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+npm run build:prod
+
+pause

+ 12 - 0
bin/package.bat

@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [信息] 安装Web工程,生成node_modules文件。
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+npm install --registry=https://registry.npm.taobao.org
+
+pause

+ 12 - 0
bin/run-web.bat

@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [信息] 使用 Vue CLI 命令运行 Web 工程。
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+npm run dev
+
+pause

+ 20 - 0
deploy.sh

@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# 源目录 (本地)
+local_dir="./dist"
+
+# 目标目录 (远程)
+remote_user="root"
+remote_host="132.232.83.221"
+remote_dir="/var/www/frontend/admin"
+
+# 使用 scp 递归复制 dist 目录下的所有内容
+scp -r "$local_dir"/* "$remote_user@$remote_host:$remote_dir"
+
+if [ $? -ne 0 ]; then
+  echo "文件传输失败。"
+  exit 1
+fi
+
+echo "文件传输成功。"
+exit 0

+ 96 - 0
package.json

@@ -0,0 +1,96 @@
+{
+  "name": "ymxt",
+  "version": "1.1.0",
+  "description": "ymxt管理系统",
+  "author": "XDD",
+  "license": "MIT",
+  "scripts": {
+    "dev": "vue-cli-service serve",
+    "build:prod": "vue-cli-service build",
+    "build:stage": "vue-cli-service build --mode staging",
+    "preview": "node build/index.js --preview",
+    "lint": "eslint --ext .js,.vue src"
+  },
+  "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"
+  ],
+  "dependencies": {
+    "@amap/amap-jsapi-loader": "^1.0.1",
+    "@huaweicloud/huaweicloud-sdk-core": "^3.1.105",
+    "@huaweicloud/huaweicloud-sdk-vod": "^3.1.105",
+    "@riophae/vue-treeselect": "^0.4.0",
+    "axios": "0.21.0",
+    "chart.js": "^2.9.4",
+    "clipboard": "2.0.6",
+    "core-js": "3.8.1",
+    "cos-js-sdk-v5": "^1.8.3",
+    "echarts": "^4.9.0",
+    "element-ui": "2.15.5",
+    "esdk-obs-browserjs": "^3.24.3",
+    "file-saver": "2.0.4",
+    "fuse.js": "6.4.3",
+    "highlight.js": "9.18.5",
+    "image-conversion": "^2.1.1",
+    "js-beautify": "1.13.0",
+    "js-cookie": "2.2.1",
+    "jsencrypt": "3.0.0-rc.1",
+    "nprogress": "0.2.0",
+    "qrcodejs2": "0.0.2",
+    "quill": "1.3.7",
+    "screenfull": "5.0.2",
+    "sortablejs": "1.10.2",
+    "vod-js-sdk-v6": "^1.7.0",
+    "vue": "2.6.12",
+    "vue-baidu-map": "^0.21.22",
+    "vue-count-to": "1.0.13",
+    "vue-cropper": "0.5.5",
+    "vue-jsonp": "^2.0.0",
+    "vue-meta": "^2.4.0",
+    "vue-router": "3.4.9",
+    "vuedraggable": "2.24.3",
+    "vuex": "3.6.0",
+    "wangeditor": "^4.7.5"
+  },
+  "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",
+    "chalk": "4.1.0",
+    "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": "8.0.2",
+    "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"
+  ]
+}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 21 - 0
public/html/ie.html


+ 209 - 0
public/index.html

@@ -0,0 +1,209 @@
+<!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]-->
+    <!-- <script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=UZQBZ-SYQL3-LYF3K-Y7FAL-N3656-2DBJ4"></script> -->
+	  <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">正在加载系统资源,请耐心等待</div>
+        </div>
+	</div>
+  </body>
+</html>

+ 2 - 0
public/robots.txt

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

+ 19 - 0
src/App.vue

@@ -0,0 +1,19 @@
+<template>
+  <div id="app">
+    <router-view />
+  </div>
+</template>
+
+<script>
+export default  {
+  name:  'App',
+    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>

+ 63 - 0
src/api/audit/temp/temp.js

@@ -0,0 +1,63 @@
+import request from '@/utils/request'
+
+// 查询审核模板列表
+export function listTemp(query) {
+  return request({
+    url: '/audit/temp/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询审核模板详细
+export function getTemp(id) {
+  return request({
+    url: '/audit/temp/' + id,
+    method: 'get'
+  })
+}
+
+// 新增审核模板
+export function addTemp(data) {
+  return request({
+    url: '/audit/temp',
+    method: 'post',
+    data: data
+  })
+}
+
+
+// 新增审核模板
+export function initAuditTemp(data) {
+  return request({
+    url: '/audit/temp/initAuditTemp',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改审核模板
+export function updateTemp(data) {
+  return request({
+    url: '/audit/temp',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除审核模板
+export function delTemp(id) {
+  return request({
+    url: '/audit/temp/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出审核模板
+export function exportTemp(query) {
+  return request({
+    url: '/audit/temp/export',
+    method: 'get',
+    params: query
+  })
+}

+ 18 - 0
src/api/city/city.js

@@ -0,0 +1,18 @@
+import request from '@/utils/request'
+
+export function cascaderChildren(parentId) {
+  return request({
+    url: '/city/city/cascaderChildren',
+    method: 'get',
+    params: { parentId }
+  })
+}
+
+export function getCityPath(cityId) {
+  return request({
+    url: '/city/city/path',
+    method: 'get',
+    params: { cityId }
+  })
+}
+

+ 59 - 0
src/api/common.js

@@ -0,0 +1,59 @@
+import request from '@/utils/request'
+
+
+export function getTask(taskId) {
+  return request({
+    url: '/common/getTask/'+taskId,
+    method: 'get'
+  })
+}
+
+export function getSignature() {
+    return request({
+      url: '/common/getSignature',
+      method: 'post',
+    })
+  }
+
+export function uploadHuaWeiVod(file) {
+  const formData = new FormData();
+  formData.append('file', file);
+
+  return request({
+    url: '/hwcloud/uploadHuaWeiVod',
+    method: 'post',
+    data: formData,
+    headers: {
+      'Content-Type': 'multipart/form-data'
+    }
+  });
+}
+
+export function uploadHuaWeiObs(file, progressCallback) {
+  const formData = new FormData();
+  formData.append('file', file);
+  return request({
+    url: '/hwcloud/uploadHuaWeiObs',
+    method: 'post',
+    data: formData,
+    headers: {
+      'Content-Type': 'multipart/form-data'
+    }
+  });
+}
+
+export function cdnStatistics(query) {
+  return request({
+    url: '/hwcloud/cdnStatistics',
+    method: 'get',
+    params:query
+  })
+}
+
+export function getTmpSecretKey(query) {
+  return request({
+    url: '/common/getTmpSecretKey',
+    method: 'get',
+    params:query
+  })
+}

+ 89 - 0
src/api/company/company.js

@@ -0,0 +1,89 @@
+import request from '@/utils/request'
+
+// 查询企业列表
+export function listCompany(query) {
+  return request({
+    url: '/company/company/list',
+    method: 'get',
+    params: query
+  })
+}
+
+export function allList(query) {
+  return request({
+    url: '/company/company/listAll',
+    method: 'get',
+    params: query
+  })
+}
+// 查询企业详细
+export function getCompany(companyId) {
+  return request({
+    url: '/company/company/' + companyId,
+    method: 'get'
+  })
+}
+
+// 新增企业
+export function addCompany(data) {
+  return request({
+    url: '/company/company',
+    method: 'post',
+    data: data
+  })
+}
+export function resetPwd(companyId) {
+  return request({
+    url: '/company/company/resetPwd/'+companyId,
+    method: 'post'
+  })
+}
+
+
+
+// 修改企业
+export function updateCompany(data) {
+  return request({
+    url: '/company/company',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除企业
+export function delCompany(companyId) {
+  return request({
+    url: '/company/company/' + companyId,
+    method: 'delete'
+  })
+}
+
+// 导出企业
+export function exportCompany(query) {
+  return request({
+    url: '/company/company/export',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getCompanyList() {
+  return request({
+    url: '/company/company/getCompanyList',
+    method: 'get'
+  })
+
+}
+
+
+export function optionCompany(params) {
+  return request({
+    url: '/company/company/option',
+    method: 'get',
+    params
+  })
+}
+
+
+
+

+ 19 - 0
src/api/company/companyDept.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 查询部门下拉树结构
+export function treeselect() {
+  return request({
+    url: '/company/companyDept/treeselect',
+    method: 'get'
+  })
+}
+
+
+// 部门联想(按名称模糊查)
+export function listCompanyDept(query) {
+  return request({
+    url: '/company/companyDept/list',   // ⚠️ 改成你实际后端路径
+    method: 'get',
+    params: query
+  })
+}

+ 10 - 0
src/api/company/companyRole.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 查询企业员工信息列表
+export function listCompanyUser(query) {
+  return request({
+    url: '/company/companyRole/list',
+    method: 'get',
+    params: query
+  })
+}

+ 10 - 0
src/api/company/companyTaskType.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 按部门查询项目下拉
+export function selectProjectOptionsByDept(params) {
+  return request({
+    url: '/project/type/selectProjectOptionsByDept',
+    method: 'get',
+    params: params
+  })
+}

+ 99 - 0
src/api/company/companyUser.js

@@ -0,0 +1,99 @@
+import request from '@/utils/request'
+
+// 查询企业员工信息列表
+export function listCompanyUser(query) {
+  return request({
+    url: '/company/companyUser/list',
+    method: 'get',
+    params: query
+  })
+}
+export function getAllUserlist(query) {
+  return request({
+    url: '/company/companyUser/getAllUserlist',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getUserListByDeptId(query) {
+  return request({
+    url: '/company/companyUser/getUserListByDeptId',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 查询企业员工信息详细
+export function getCompanyUser(userId) {
+  return request({
+    url: '/company/companyUser/' + userId,
+    method: 'get'
+  })
+}
+
+// 新增企业员工信息
+export function addCompanyUser(data) {
+  return request({
+    url: '/company/companyUser',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改企业员工信息
+export function updateCompanyUser(data) {
+  return request({
+    url: '/company/companyUser',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除企业员工信息
+export function delCompanyUser(userId) {
+  return request({
+    url: '/company/companyUser/' + userId,
+    method: 'delete'
+  })
+}
+
+// 导出企业员工信息
+export function exportCompanyUser(query) {
+  return request({
+    url: '/company/companyUser/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 公司员工下拉联想
+export function getUserOptionVOList(params) {
+  return request({
+    url: '/company/companyUser/getUserOptionVOList',
+    method: 'get',
+    params
+  })
+}
+
+
+// 业务员可选产品列表(按业务员ID)
+export function getCompanyUserProductList(id) {
+  return request({
+    url: '/company/companyUser/getCompanyUserProductList', // 按你的后端路径改一下
+    method: 'get',
+    params: { id }
+  })
+}
+
+
+// 查询当前公司的所有客服
+export function queryAllCompanyUser(params) {
+  return request({
+    url: '/company/companyUser/queryAllCompanyUser',
+    method: 'get',
+    params
+  })
+}

+ 10 - 0
src/api/company/index.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+ 
+export function getCount() {
+  return request({
+    url: '/company/index/getCount',
+    method: 'get'
+  })
+}
+ 

+ 53 - 0
src/api/company/product.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询公司产品列表
+export function listProduct(query) {
+  return request({
+    url: '/company/product/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询公司产品详细
+export function getProduct(id) {
+  return request({
+    url: '/company/product/' + id,
+    method: 'get'
+  })
+}
+
+// 新增公司产品
+export function addProduct(data) {
+  return request({
+    url: '/company/product',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改公司产品
+export function updateProduct(data) {
+  return request({
+    url: '/company/product',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除公司产品
+export function delProduct(id) {
+  return request({
+    url: '/company/product/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出公司产品
+export function exportProduct(query) {
+  return request({
+    url: '/company/product/export',
+    method: 'get',
+    params: query
+  })
+}

+ 60 - 0
src/api/company/schedule.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询中医档期管理列表
+export function listSchedule(query) {
+  return request({
+    url: '/company/schedule/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询中医档期管理详细
+export function getSchedule(id) {
+  return request({
+    url: '/company/schedule/' + id,
+    method: 'get'
+  })
+}
+
+// 新增中医档期管理
+export function addSchedule(data) {
+  return request({
+    url: '/company/schedule',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改中医档期管理
+export function updateSchedule(data) {
+  return request({
+    url: '/company/schedule',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除中医档期管理
+export function delSchedule(id) {
+  return request({
+    url: '/company/schedule/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出中医档期管理
+export function exportSchedule(query) {
+  return request({
+    url: '/company/schedule/export',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getTcmScheduleList() {
+  return request({
+    url: '/company/schedule/getTcmScheduleList',
+    method: 'get'
+  })
+}

+ 103 - 0
src/api/company/scheduleReport.js

@@ -0,0 +1,103 @@
+import request from '@/utils/request'
+
+// 查询中医档期业绩报表列表
+export function listTcmScheduleReport(query) {
+  return request({
+    url: '/company/scheduleReport/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 中医档期业绩报表统计
+export function listTcmStatisticsReport(query) {
+  return request({
+    url: '/company/scheduleReport/statistics',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 查询指定档期各团队统计报表
+export function getStatisticsByScheduleId(query) {
+  return request({
+    url: '/company/scheduleReport/getStatisticsByScheduleId',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询中医档期业绩报表详细
+export function getTcmScheduleReport(id) {
+  return request({
+    url: '/company/scheduleReport/' + id,
+    method: 'get'
+  })
+}
+
+// 新增中医档期业绩报表
+export function addTcmScheduleReport(data) {
+  return request({
+    url: '/company/scheduleReport',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改中医档期业绩报表
+export function updateTcmScheduleReport(data) {
+  return request({
+    url: '/company/scheduleReport',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除中医档期业绩报表
+export function delTcmScheduleReport(id) {
+  return request({
+    url: '/company/scheduleReport/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出中医档期业绩统计报表
+export function exportStatisticsScheduleReport(query) {
+  return request({
+    url: '/company/scheduleReport/exportStatistics',
+    method: 'get',
+    params: query
+  })
+}
+
+// 导出中医档期业绩报表
+export function exportTcmScheduleReport(query) {
+  return request({
+    url: '/company/scheduleReport/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+
+
+// 查询中医档期管理列表
+export function listSchedule(query) {
+  return request({
+    url: '/company/scheduleReport/getScheduleList',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 查询中医档期管理列表
+export function listAllSchedule(query) {
+  return request({
+    url: '/company/scheduleReport/getAllScheduleList',
+    method: 'get',
+    params: query
+  })
+}

+ 121 - 0
src/api/company/statistics.js

@@ -0,0 +1,121 @@
+import request from '@/utils/request'
+
+
+export function voiceLogs(query) {
+  return request({
+    url: '/company/statistics/voiceLogs',
+    method: 'get',
+    params: query
+  })
+}
+export function exportVoiceLogs(query) {
+  return request({
+    url: '/company/statistics/exportVoiceLogs',
+    method: 'get',
+    params: query
+  })
+}
+export function smsLogs(query) {
+  return request({
+    url: '/company/statistics/smsLogs',
+    method: 'get',
+    params: query
+  })
+}
+
+//store
+export function storeOrder(query) {
+  return request({
+    url: '/company/statistics/storeOrder',
+    method: 'get',
+    params: query
+  })
+}
+
+export function packageOrder(query) {
+  return request({
+    url: '/company/statistics/packageOrder',
+    method: 'get',
+    params: query
+  })
+}
+export function inquiryOrder(query) {
+  return request({
+    url: '/company/statistics/inquiryOrder',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function exportStoreOrder(query) {
+  return request({
+    url: '/company/statistics/exportStoreOrder',
+    method: 'get',
+    params: query
+  })
+}
+export function exportPackageOrder(query) {
+  return request({
+    url: '/company/statistics/exportPackageOrder',
+    method: 'get',
+    params: query
+  })
+}
+export function exportInquiryOrder(query) {
+  return request({
+    url: '/company/statistics/exportInquiryOrder',
+    method: 'get',
+    params: query
+  })
+}
+export function storePayment(query) {
+  return request({
+    url: '/company/statistics/storePayment',
+    method: 'get',
+    params: query
+  })
+}
+export function exportStorePayment(query) {
+  return request({
+    url: '/company/statistics/exportStorePayment',
+    method: 'get',
+    params: query
+  })
+}
+
+//crm
+export function customer(query) {
+  return request({
+    url: '/company/statistics/customer',
+    method: 'get',
+    params: query
+  })
+}
+export function exportCustomer(query) {
+  return request({
+    url: '/company/statistics/exportCustomer',
+    method: 'get',
+    params: query
+  })
+}
+
+ 
+export function customerVisit(query) {
+  return request({
+    url: '/company/statistics/customerVisit',
+    method: 'get',
+    params: query
+  })
+}
+export function exportCustomerVisit(query) {
+  return request({
+    url: '/company/statistics/exportCustomerVisit',
+    method: 'get',
+    params: query
+  })
+}
+
+
+
+

+ 53 - 0
src/api/company/user.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询企业员工信息列表
+export function listUser(query) {
+  return request({
+    url: '/company/companyUser/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询企业员工信息详细
+export function getUser(userId) {
+  return request({
+    url: '/company/companyUser/' + userId,
+    method: 'get'
+  })
+}
+
+// 新增企业员工信息
+export function addUser(data) {
+  return request({
+    url: '/company/companyUser',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改企业员工信息
+export function updateUser(data) {
+  return request({
+    url: '/company/companyUser',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除企业员工信息
+export function delUser(userId) {
+  return request({
+    url: '/company/companyUser/' + userId,
+    method: 'delete'
+  })
+}
+
+// 导出企业员工信息
+export function exportUser(query) {
+  return request({
+    url: '/company/companyUser/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/delivery/article.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询文章列表
+export function listArticle(query) {
+  return request({
+    url: '/delivery/article/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询文章详细
+export function getArticle(id) {
+  return request({
+    url: '/delivery/article/' + id,
+    method: 'get'
+  })
+}
+
+// 新增文章
+export function addArticle(data) {
+  return request({
+    url: '/delivery/article',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改文章
+export function updateArticle(data) {
+  return request({
+    url: '/delivery/article',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除文章
+export function delArticle(id) {
+  return request({
+    url: '/delivery/article/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出文章
+export function exportArticle(query) {
+  return request({
+    url: '/delivery/article/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/delivery/class.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询空中课堂内容维护列表
+export function listClass(query) {
+  return request({
+    url: '/delivery/class/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询空中课堂内容维护详细
+export function getClass(cloudClassId) {
+  return request({
+    url: '/delivery/class/' + cloudClassId,
+    method: 'get'
+  })
+}
+
+// 新增空中课堂内容维护
+export function addClass(data) {
+  return request({
+    url: '/delivery/class',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改空中课堂内容维护
+export function updateClass(data) {
+  return request({
+    url: '/delivery/class',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除空中课堂内容维护
+export function delClass(cloudClassId) {
+  return request({
+    url: '/delivery/class/' + cloudClassId,
+    method: 'delete'
+  })
+}
+
+// 导出空中课堂内容维护
+export function exportClass(query) {
+  return request({
+    url: '/delivery/class/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/delivery/group.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询标签分组列表
+export function listGroup(query) {
+  return request({
+    url: '/delivery/group/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询标签分组详细
+export function getGroup(id) {
+  return request({
+    url: '/delivery/group/' + id,
+    method: 'get'
+  })
+}
+
+// 新增标签分组
+export function addGroup(data) {
+  return request({
+    url: '/delivery/group',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改标签分组
+export function updateGroup(data) {
+  return request({
+    url: '/delivery/group',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除标签分组
+export function delGroup(id) {
+  return request({
+    url: '/delivery/group/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出标签分组
+export function exportGroup(query) {
+  return request({
+    url: '/delivery/group/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/delivery/shortVideo.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询长视频列表
+export function listshortVideo(query) {
+  return request({
+    url: '/delivery/shortVideo/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询长视频详细
+export function getshortVideo(id) {
+  return request({
+    url: '/delivery/shortVideo/' + id,
+    method: 'get'
+  })
+}
+
+// 新增长视频
+export function addshortVideo(data) {
+  return request({
+    url: '/delivery/shortVideo',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改长视频
+export function updateshortVideo(data) {
+  return request({
+    url: '/delivery/shortVideo',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除长视频
+export function delshortVideo(id) {
+  return request({
+    url: '/delivery/shortVideo/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出长视频
+export function exportshortVideo(query) {
+  return request({
+    url: '/delivery/shortVideo/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/delivery/tag.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询标签列表
+export function listTag(query) {
+  return request({
+    url: '/delivery/tag/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询标签详细
+export function getTag(id) {
+  return request({
+    url: '/delivery/tag/' + id,
+    method: 'get'
+  })
+}
+
+// 新增标签
+export function addTag(data) {
+  return request({
+    url: '/delivery/tag',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改标签
+export function updateTag(data) {
+  return request({
+    url: '/delivery/tag',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除标签
+export function delTag(id) {
+  return request({
+    url: '/delivery/tag/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出标签
+export function exportTag(query) {
+  return request({
+    url: '/delivery/tag/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/delivery/video.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询长视频列表
+export function listVideo(query) {
+  return request({
+    url: '/delivery/video/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询长视频详细
+export function getVideo(id) {
+  return request({
+    url: '/delivery/video/' + id,
+    method: 'get'
+  })
+}
+
+// 新增长视频
+export function addVideo(data) {
+  return request({
+    url: '/delivery/video',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改长视频
+export function updateVideo(data) {
+  return request({
+    url: '/delivery/video',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除长视频
+export function delVideo(id) {
+  return request({
+    url: '/delivery/video/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出长视频
+export function exportVideo(query) {
+  return request({
+    url: '/delivery/video/export',
+    method: 'get',
+    params: query
+  })
+}

+ 74 - 0
src/api/doctor/apply.js

@@ -0,0 +1,74 @@
+import request from '@/utils/request'
+
+// 查询讲者定级申请列表
+export function listApply(query) {
+  return request({
+    url: '/doctor/apply/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询讲者定级申请详细
+export function getApply(id) {
+  return request({
+    url: '/doctor/apply/' + id,
+    method: 'get'
+  })
+}
+
+// 新增讲者定级申请
+export function addApply(data) {
+  return request({
+    url: '/doctor/apply',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改讲者定级申请
+export function updateApply(data) {
+  return request({
+    url: '/doctor/apply',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除讲者定级申请
+export function delApply(id) {
+  return request({
+    url: '/doctor/apply/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出讲者定级申请
+export function exportApply(query) {
+  return request({
+    url: '/doctor/apply/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+
+
+// 讲者定级申请:审核/查看详情(doctorVO + doctorLevelApplyVO + auditFlowList)
+export function getDoctorApplyDetailInfoById(id) {
+  return request({
+    url: '/doctor/apply/getDoctorApplyDetailInfoById',
+    method: 'get',
+    params: { id }
+  })
+}
+
+
+export function auditApply(data) {
+  return request({
+    url: '/doctor/apply/doAudit',
+    method: 'post',
+    data: data
+  })
+}

+ 62 - 0
src/api/doctor/data.js

@@ -0,0 +1,62 @@
+import request from '@/utils/request'
+
+// 查询医生级别列表
+export function listData(query) {
+  return request({
+    url: '/doctor/data/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询医生级别列表
+export function loadDoctorLevels(query) {
+  return request({
+    url: '/doctor/data/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询医生级别详细
+export function getData(id) {
+  return request({
+    url: '/doctor/data/' + id,
+    method: 'get'
+  })
+}
+
+// 新增医生级别
+export function addData(data) {
+  return request({
+    url: '/doctor/data',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改医生级别
+export function updateData(data) {
+  return request({
+    url: '/doctor/data',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除医生级别
+export function delData(id) {
+  return request({
+    url: '/doctor/data/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出医生级别
+export function exportData(query) {
+  return request({
+    url: '/doctor/data/export',
+    method: 'get',
+    params: query
+  })
+}

+ 94 - 0
src/api/doctor/doctor.js

@@ -0,0 +1,94 @@
+import request from '@/utils/request'
+
+// 查询讲者主列表
+export function listDoctor(query) {
+  return request({
+    url: '/doctor/doctor/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询讲者主详细
+export function getDoctor(id) {
+  return request({
+    url: '/doctor/doctor/' + id,
+    method: 'get'
+  })
+}
+
+// 新增讲者主
+export function addDoctor(data) {
+  return request({
+    url: '/doctor/doctor',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改讲者主
+export function updateDoctor(data) {
+  return request({
+    url: '/doctor/doctor',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除讲者主
+export function delDoctor(id) {
+  return request({
+    url: '/doctor/doctor/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出讲者主
+export function exportDoctor(query) {
+  return request({
+    url: '/doctor/doctor/export',
+    method: 'get',
+    params: query
+  })
+  
+}
+
+
+// 导出讲者主
+export function getDoctorOptionVOList(query) {
+  return request({
+    url: '/doctor/doctor/getDoctorOptionVOList',
+    method: 'get',
+    params: query
+  })
+  
+}
+
+
+
+// 查询审核页面数据(DoctorAuditVO)
+export function getDoctorAuditView(id) {
+  return request({
+    url: `/doctor/doctor/audit/${id}`,
+    method: 'get'
+  })
+}
+
+// 提交审核(你后端还没贴,我这里按常见写法给:/audit/submit)
+export function doAudit(data) {
+  return request({
+    url: `/doctor/doctor/doAudit`,
+    method: 'post',
+    data
+  })
+}
+
+export function updateDoctorPwd(data) {
+  return request({
+    url: '/doctor/doctor/resetPwd',
+    method: 'post',
+    data
+  })
+}
+
+

+ 53 - 0
src/api/doctor/level.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询讲者级别信息列表
+export function listLevel(query) {
+  return request({
+    url: '/doctor/level/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询讲者级别信息详细
+export function getLevel(id) {
+  return request({
+    url: '/doctor/level/' + id,
+    method: 'get'
+  })
+}
+
+// 新增讲者级别信息
+export function addLevel(data) {
+  return request({
+    url: '/doctor/level',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改讲者级别信息
+export function updateLevel(data) {
+  return request({
+    url: '/doctor/level',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除讲者级别信息
+export function delLevel(id) {
+  return request({
+    url: '/doctor/level/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出讲者级别信息
+export function exportLevel(query) {
+  return request({
+    url: '/doctor/level/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/doctor/log.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询医生积分变动记录列表
+export function listLog(query) {
+  return request({
+    url: '/doctor/log/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询医生积分变动记录详细
+export function getLog(id) {
+  return request({
+    url: '/doctor/log/' + id,
+    method: 'get'
+  })
+}
+
+// 新增医生积分变动记录
+export function addLog(data) {
+  return request({
+    url: '/doctor/log',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改医生积分变动记录
+export function updateLog(data) {
+  return request({
+    url: '/doctor/log',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除医生积分变动记录
+export function delLog(id) {
+  return request({
+    url: '/doctor/log/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出医生积分变动记录
+export function exportLog(query) {
+  return request({
+    url: '/doctor/log/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/doctor/material.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询定级证明材料列表
+export function listMaterial(query) {
+  return request({
+    url: '/doctor/material/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询定级证明材料详细
+export function getMaterial(id) {
+  return request({
+    url: '/doctor/material/' + id,
+    method: 'get'
+  })
+}
+
+// 新增定级证明材料
+export function addMaterial(data) {
+  return request({
+    url: '/doctor/material',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改定级证明材料
+export function updateMaterial(data) {
+  return request({
+    url: '/doctor/material',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除定级证明材料
+export function delMaterial(id) {
+  return request({
+    url: '/doctor/material/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出定级证明材料
+export function exportMaterial(query) {
+  return request({
+    url: '/doctor/material/export',
+    method: 'get',
+    params: query
+  })
+}

+ 70 - 0
src/api/doctor/records.js

@@ -0,0 +1,70 @@
+import request from '@/utils/request'
+
+// 查询医生提现记录列表
+export function listRecords(query) {
+  return request({
+    url: '/doctor/records/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询医生提现记录详细
+export function getRecords(withdrawId) {
+  return request({
+    url: '/doctor/records/' + withdrawId,
+    method: 'get'
+  })
+}
+
+// 新增医生提现记录
+export function addRecords(data) {
+  return request({
+    url: '/doctor/records',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改医生提现记录
+export function updateRecords(data) {
+  return request({
+    url: '/doctor/records',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除医生提现记录
+export function delRecords(withdrawId) {
+  return request({
+    url: '/doctor/records/' + withdrawId,
+    method: 'delete'
+  })
+}
+
+// 导出医生提现记录
+export function exportRecords(query) {
+  return request({
+    url: '/doctor/records/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function auditRecords(data) {
+  return request({
+    url: '/doctor/records/audit',
+    method: 'post',
+    data
+  })
+}
+
+
+export function getAuditInfo(withdrawId) {
+  return request({
+    url: `/doctor/records/auditInfo/${withdrawId}`,
+    method: 'get'
+  })
+}

+ 82 - 0
src/api/doctor/user.js

@@ -0,0 +1,82 @@
+import request from '@/utils/request'
+
+// 查询讲者业务员绑定列表
+export function listUser(query) {
+  return request({
+    url: '/doctor/user/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询讲者业务员绑定详细
+export function getUser(id) {
+  return request({
+    url: '/doctor/user/' + id,
+    method: 'get'
+  })
+}
+
+// 新增讲者业务员绑定
+export function addUser(data) {
+  return request({
+    url: '/doctor/user',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改讲者业务员绑定
+export function updateUser(data) {
+  return request({
+    url: '/doctor/user',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除讲者业务员绑定
+export function delUser(id) {
+  return request({
+    url: '/doctor/user/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出讲者业务员绑定
+export function exportUser(query) {
+  return request({
+    url: '/doctor/user/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+
+export function queryProductGroup(companyId, doctorId) {
+  return request({
+    url: '/doctor/user/getProductGroup',
+    method: 'get',
+    params: { companyId, doctorId }
+  })
+}
+
+
+export function getDoctorOptionsByCompanyUser(query) {
+  return request({
+    url: '/doctor/user/options/optionsByCompanyUser',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// ✅ 公司+业务员限定后的产品下拉
+export function getProductOptionsByCompanyUser(params) {
+  return request({
+    url: '/doctor/user/options/productoptionsByCompanyUser', // ⚠️改成你后端真实路径
+    method: 'get',
+    params
+  })
+}

+ 53 - 0
src/api/login.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 登录方法
+export function login(username, password, code, uuid) {
+  const data = {
+    username,
+    password,
+    code,
+    uuid
+  }
+  return request({
+    url: '/login',
+    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',
+    method: 'get',
+    timeout: 20000
+  })
+}

+ 9 - 0
src/api/menu.js

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

+ 9 - 0
src/api/monitor/cache.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 查询缓存详细
+export function getCache() {
+  return request({
+    url: '/monitor/cache',
+    method: 'get'
+  })
+}

+ 80 - 0
src/api/monitor/job.js

@@ -0,0 +1,80 @@
+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 exportJob(query) {
+  return request({
+    url: '/monitor/job/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 任务状态修改
+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
+  })
+}

+ 35 - 0
src/api/monitor/jobLog.js

@@ -0,0 +1,35 @@
+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'
+  })
+}
+
+// 导出调度日志
+export function exportJobLog(query) {
+  return request({
+    url: '/monitor/jobLog/export',
+    method: 'get',
+    params: query
+  })
+}

+ 35 - 0
src/api/monitor/logininfor.js

@@ -0,0 +1,35 @@
+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 cleanLogininfor() {
+  return request({
+    url: '/monitor/logininfor/clean',
+    method: 'delete'
+  })
+}
+
+// 导出登录日志
+export function exportLogininfor(query) {
+  return request({
+    url: '/monitor/logininfor/export',
+    method: 'get',
+    params: query
+  })
+}

+ 18 - 0
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'
+  })
+}

+ 35 - 0
src/api/monitor/operlog.js

@@ -0,0 +1,35 @@
+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'
+  })
+}
+
+// 导出操作日志
+export function exportOperlog(query) {
+  return request({
+    url: '/monitor/operlog/export',
+    method: 'get',
+    params: query
+  })
+}

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

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 查询服务器详细
+export function getServer() {
+  return request({
+    url: '/monitor/server',
+    method: 'get'
+  })
+}

+ 53 - 0
src/api/project/contract.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询项目合同信息列表
+export function listContract(query) {
+  return request({
+    url: '/project/contract/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目合同信息详细
+export function getContract(id) {
+  return request({
+    url: '/project/contract/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目合同信息
+export function addContract(data) {
+  return request({
+    url: '/project/contract',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目合同信息
+export function updateContract(data) {
+  return request({
+    url: '/project/contract',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目合同信息
+export function delContract(id) {
+  return request({
+    url: '/project/contract/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目合同信息
+export function exportContract(query) {
+  return request({
+    url: '/project/contract/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/project/permission.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询项目权限列表
+export function listPermission(query) {
+  return request({
+    url: '/project/permission/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目权限详细
+export function getPermission(id) {
+  return request({
+    url: '/project/permission/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目权限
+export function addPermission(data) {
+  return request({
+    url: '/project/permission',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目权限
+export function updatePermission(data) {
+  return request({
+    url: '/project/permission',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目权限
+export function delPermission(id) {
+  return request({
+    url: '/project/permission/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目权限
+export function exportPermission(query) {
+  return request({
+    url: '/project/permission/export',
+    method: 'get',
+    params: query
+  })
+}

+ 72 - 0
src/api/project/project.js

@@ -0,0 +1,72 @@
+import request from '@/utils/request'
+
+// 查询项目主列表
+export function listProject(query) {
+  return request({
+    url: '/project/project/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目主详细
+export function getProject(id) {
+  return request({
+    url: '/project/project/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目主
+export function addProject(data) {
+  return request({
+    url: '/project/project',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目主
+export function updateProject(data) {
+  return request({
+    url: '/project/project',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目主
+export function delProject(id) {
+  return request({
+    url: '/project/project/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目主
+export function exportProject(query) {
+  return request({
+    url: '/project/project/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 查询项目主列表
+export function projectOptions(query) {
+  return request({
+    url: '/project/project/options',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function changeProjectStatus(data) {
+  return request({
+    url: '/project/project/changeStatus',
+    method: 'put',
+    data: data
+  })
+}

+ 63 - 0
src/api/project/settings.js

@@ -0,0 +1,63 @@
+import request from '@/utils/request'
+
+// 查询项目设置列表
+export function listSettings(query) {
+  return request({
+    url: '/project/settings/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目设置详细
+export function getSettings(id) {
+  return request({
+    url: '/project/settings/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目设置
+export function addSettings(data) {
+  return request({
+    url: '/project/settings',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目设置
+export function updateSettings(data) {
+  return request({
+    url: '/project/settings',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目设置
+export function delSettings(id) {
+  return request({
+    url: '/project/settings/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目设置
+export function exportSettings(query) {
+  return request({
+    url: '/project/settings/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 查询任务类型(根据公司、项目、部门)
+export function getSettingTaskTypeList(params) {
+  return request({
+    url: '/project/settings/getSettingTaskTypeList',
+    method: 'get',
+    params: params
+  });
+}

+ 65 - 0
src/api/project/standard.js

@@ -0,0 +1,65 @@
+import request from '@/utils/request'
+
+// 查询项目标准配置列表
+export function listStandard(query) {
+  return request({
+    url: '/project/standard/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目标准配置详细
+export function getStandard(id) {
+  return request({
+    url: '/project/standard/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目标准配置
+export function addStandard(data) {
+  return request({
+    url: '/project/standard',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目标准配置
+export function updateStandard(data) {
+  return request({
+    url: '/project/standard',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目标准配置
+export function delStandard(id) {
+  return request({
+    url: '/project/standard/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目标准配置
+export function exportStandard(query) {
+  return request({
+    url: '/project/standard/export',
+    method: 'get',
+    params: query
+  })
+}
+
+/**
+ * 校验讲者积分是否符合公司标准
+ * @param {Object} params - { projectId, doctorId, pointNum }
+ */
+export function checkIntegralLimit(params) {
+  return request({
+    url: '/project/standard/checkIntegralLimit',
+    method: 'get',
+    params
+  })
+}

+ 53 - 0
src/api/project/type.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询项目任务类型列表
+export function listType(query) {
+  return request({
+    url: '/project/type/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目任务类型详细
+export function getType(id) {
+  return request({
+    url: '/project/type/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目任务类型
+export function addType(data) {
+  return request({
+    url: '/project/type',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目任务类型
+export function updateType(data) {
+  return request({
+    url: '/project/type',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目任务类型
+export function delType(id) {
+  return request({
+    url: '/project/type/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目任务类型
+export function exportType(query) {
+  return request({
+    url: '/project/type/export',
+    method: 'get',
+    params: query
+  })
+}

+ 71 - 0
src/api/provider/config.js

@@ -0,0 +1,71 @@
+import request from '@/utils/request'
+
+// 查询任务生成配置列表
+export function listConfig(query) {
+  return request({
+    url: '/service/config/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询任务生成配置详细
+export function getConfig(id) {
+  return request({
+    url: '/service/config/' + id,
+    method: 'get'
+  })
+}
+
+// 新增任务生成配置
+export function addConfig(data) {
+  return request({
+    url: '/service/config',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改任务生成配置
+export function updateConfig(data) {
+  return request({
+    url: '/service/config',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除任务生成配置
+export function delConfig(id) {
+  return request({
+    url: '/service/config/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出任务生成配置
+export function exportConfig(query) {
+  return request({
+    url: '/service/config/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function auditConfig(data) {
+  return request({
+    url: '/service/config/audit',
+    method: 'post',
+    data: data
+  })
+}
+
+
+// 审核详情(基础数据 + 流水)
+export function getAuditInfoById(id) {
+  return request({
+    url: `/service/config/audit/${id}`,
+    method: 'get'
+  })
+}

+ 65 - 0
src/api/provider/order.js

@@ -0,0 +1,65 @@
+import request from '@/utils/request'
+
+// 查询服务单信息列表
+export function listOrder(query) {
+  return request({
+    url: '/service/order/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询服务单信息详细
+export function getOrder(id) {
+  return request({
+    url: '/service/order/' + id,
+    method: 'get'
+  })
+}
+
+// 新增服务单信息
+export function addOrder(data) {
+  return request({
+    url: '/service/order',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改服务单信息
+export function updateOrder(data) {
+  return request({
+    url: '/service/order',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除服务单信息
+export function delOrder(id) {
+  return request({
+    url: '/service/order/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出服务单信息
+export function exportOrder(query) {
+  return request({
+    url: '/service/order/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 根据任务ID生成服务单
+export function generateServiceOrderByTask(taskId) {
+  return request({
+    url: '/service/order/generateByTask',
+    method: 'post',
+    data: {
+      taskId: taskId
+    }
+  })
+}

+ 53 - 0
src/api/provider/rel.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询服务单-任务关联列表
+export function listRel(query) {
+  return request({
+    url: '/service/rel/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询服务单-任务关联详细
+export function getRel(id) {
+  return request({
+    url: '/service/rel/' + id,
+    method: 'get'
+  })
+}
+
+// 新增服务单-任务关联
+export function addRel(data) {
+  return request({
+    url: '/service/rel',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改服务单-任务关联
+export function updateRel(data) {
+  return request({
+    url: '/service/rel',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除服务单-任务关联
+export function delRel(id) {
+  return request({
+    url: '/service/rel/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出服务单-任务关联
+export function exportRel(query) {
+  return request({
+    url: '/service/rel/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/survey/drugResearch.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询用药调研列表
+export function listDrugResearch(query) {
+  return request({
+    url: '/survey/drugResearch/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用药调研详细
+export function getDrugResearch(id) {
+  return request({
+    url: '/survey/drugResearch/' + id,
+    method: 'get'
+  })
+}
+
+// 新增用药调研
+export function addDrugResearch(data) {
+  return request({
+    url: '/survey/drugResearch',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用药调研
+export function updateDrugResearch(data) {
+  return request({
+    url: '/survey/drugResearch',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用药调研
+export function delDrugResearch(id) {
+  return request({
+    url: '/survey/drugResearch/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出用药调研
+export function exportDrugResearch(query) {
+  return request({
+    url: '/survey/drugResearch/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/survey/period.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询问卷任务期次列表
+export function listPeriod(query) {
+  return request({
+    url: '/survey/period/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询问卷任务期次详细
+export function getPeriod(id) {
+  return request({
+    url: '/survey/period/' + id,
+    method: 'get'
+  })
+}
+
+// 新增问卷任务期次
+export function addPeriod(data) {
+  return request({
+    url: '/survey/period',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改问卷任务期次
+export function updatePeriod(data) {
+  return request({
+    url: '/survey/period',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除问卷任务期次
+export function delPeriod(id) {
+  return request({
+    url: '/survey/period/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出问卷任务期次
+export function exportPeriod(query) {
+  return request({
+    url: '/survey/period/export',
+    method: 'get',
+    params: query
+  })
+}

+ 147 - 0
src/api/survey/questionnaire.js

@@ -0,0 +1,147 @@
+import request from '@/utils/request'
+
+// 查询问卷列表
+export function listQuestionnaire(query) {
+  return request({
+    url: '/survey/questionnaire/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询问卷详细
+export function getQuestionnaire(id) {
+  return request({
+    url: '/survey/questionnaire/' + id,
+    method: 'get'
+  })
+}
+
+// 新增问卷
+export function addQuestionnaire(data) {
+  return request({
+    url: '/survey/questionnaire',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改问卷
+export function updateQuestionnaire(data) {
+  return request({
+    url: '/survey/questionnaire',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除问卷
+export function delQuestionnaire(id) {
+  return request({
+    url: '/survey/questionnaire/' + id,
+    method: 'delete'
+  })
+}
+
+// 发布问卷
+export function publishQuestionnaire(id, versionId) {
+  return request({
+    url: '/survey/questionnaire/publish/' + id + '/' + versionId,
+    method: 'put'
+  })
+}
+
+// 停用问卷
+export function disableQuestionnaire(id) {
+  return request({
+    url: '/survey/questionnaire/disable/' + id,
+    method: 'put'
+  })
+}
+
+// 查询问卷版本列表
+export function listVersion(questionnaireId) {
+  return request({
+    url: '/survey/version/list',
+    method: 'get',
+    params: { questionnaireId: questionnaireId }
+  })
+}
+
+export function getLatestInfo(questionnaireId){
+  return request({
+    url: '/survey/version/getLatestInfo',
+    method: 'get',
+    params: {id: questionnaireId}
+  })
+}
+
+// 查询版本详细
+export function getVersion(id) {
+  return request({
+    url: '/survey/version/' + id,
+    method: 'get'
+  })
+}
+
+// 保存版本
+export function saveVersion(data) {
+  return request({
+    url: '/survey/version',
+    method: 'post',
+    data: data
+  })
+}
+
+// 发布版本
+export function publishVersion(id) {
+  return request({
+    url: '/survey/version/publish/' + id,
+    method: 'put'
+  })
+}
+
+// 查询字段配置列表
+export function listFieldConfig(versionId) {
+  return request({
+    url: '/survey/fieldConfig/list',
+    method: 'get',
+    params: { versionId: versionId }
+  })
+}
+
+// 查询问卷数据列表
+export function listSurveyData(params) {
+  return request({
+    url: '/survey/data/list',
+    method: 'get',
+    params: params
+  })
+}
+
+// 导出问卷数据
+export function exportSurveyData(params) {
+  return request({
+    url: '/survey/data/export',
+    method: 'post',
+    params: params
+  })
+}
+
+// 提交问卷数据
+export function submitSurveyData(data) {
+  return request({
+    url: '/survey/data/submit',
+    method: 'post',
+    data: data
+  })
+}
+
+
+export function getCompanyDoctorLevelApplyQuestionnaire(companyId) {
+  return request({
+    url: '/survey/questionnaire/getCompanyDoctorLevelApplyQuestionnaire',
+    method: 'get',
+    params: { companyId }   // 有 params
+  })
+}

+ 53 - 0
src/api/survey/task.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询问卷任务主列表
+export function listTask(query) {
+  return request({
+    url: '/survey/task/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询问卷任务主详细
+export function getTask(id) {
+  return request({
+    url: '/survey/task/' + id,
+    method: 'get'
+  })
+}
+
+// 新增问卷任务主
+export function addTask(data) {
+  return request({
+    url: '/survey/task',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改问卷任务主
+export function updateTask(data) {
+  return request({
+    url: '/survey/task',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除问卷任务主
+export function delTask(id) {
+  return request({
+    url: '/survey/task/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出问卷任务主
+export function exportTask(query) {
+  return request({
+    url: '/survey/task/export',
+    method: 'get',
+    params: query
+  })
+}

+ 84 - 0
src/api/system/config.js

@@ -0,0 +1,84 @@
+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 getConfigByKey(configKey) {
+  return request({
+    url: '/system/config/getConfigByKey/' + configKey,
+    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'
+  })
+}
+
+// 导出参数
+export function exportConfig(query) {
+  return request({
+    url: '/system/config/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function updateConfigByKey(data) {
+  return request({
+    url: '/system/config/updateConfigByKey',
+    method: 'post',
+    data: data
+  })
+}

+ 68 - 0
src/api/system/dept.js

@@ -0,0 +1,68 @@
+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 treeselect() {
+  return request({
+    url: '/system/dept/treeselect',
+    method: 'get'
+  })
+}
+
+// 根据角色ID查询部门树结构
+export function roleDeptTreeselect(roleId) {
+  return request({
+    url: '/system/dept/roleDeptTreeselect/' + roleId,
+    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'
+  })
+}

+ 61 - 0
src/api/system/dict/data.js

@@ -0,0 +1,61 @@
+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'
+  })
+}
+
+// 导出字典数据
+export function exportData(query) {
+  return request({
+    url: '/system/dict/data/export',
+    method: 'get',
+    params: query
+  })
+}

+ 69 - 0
src/api/system/dict/type.js

@@ -0,0 +1,69 @@
+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 exportType(query) {
+  return request({
+    url: '/system/dict/type/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 获取字典选择框列表
+export function optionselect() {
+  return request({
+    url: '/system/dict/type/optionselect',
+    method: 'get'
+  })
+}

+ 81 - 0
src/api/system/file.js

@@ -0,0 +1,81 @@
+// src/api/system/file.js
+import request from '@/utils/request'
+import { getToken } from '@/utils/auth'
+
+/**
+ * 通用单文件上传
+ * @param {FormData} formData  必须包含 file / bizType / bizId(可选)
+ */
+export function uploadFile(formData) {
+  return request({
+    url: '/common/uploadOSS',
+    method: 'post',
+    data: formData
+    // ✅ 不要手写 Content-Type,让浏览器自动带 boundary
+  })
+}
+
+
+
+/** 批量上传 */
+export function uploadFileBatch(formData) {
+  return request({
+    url: '/system/file/upload/batch',
+    method: 'post',
+    data: formData,
+    headers: { 'Content-Type': 'multipart/form-data' }
+  })
+}
+
+/** 秒传检查 */
+export function checkFastUpload(params) {
+  return request({
+    url: '/system/file/fast-upload/check',
+    method: 'get',
+    params
+  })
+}
+
+/** 绑定业务ID */
+export function bindBizId(data) {
+  return request({
+    url: '/system/file/bind',
+    method: 'post',
+    params: data
+  })
+}
+
+/** 批量绑定业务ID */
+export function bindBizIdBatch(data) {
+  return request({
+    url: '/system/file/bind/batch',
+    method: 'post',
+    params: data
+  })
+}
+
+/** 根据业务查询文件列表(你的图库就是走这个) */
+export function listFilesByBiz(params) {
+  return request({
+    url: '/system/file/list',
+    method: 'get',
+    params
+  })
+}
+
+/** 删除文件 */
+export function deleteFile(id) {
+  return request({
+    url: `/system/file/${id}`,
+    method: 'delete'
+  })
+}
+
+/** 批量删除文件 */
+export function deleteFileBatch(ids) {
+  return request({
+    url: '/system/file/batch',
+    method: 'delete',
+    params: { ids }
+  })
+}

+ 60 - 0
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
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'
+  })
+}

+ 53 - 0
src/api/system/post.js

@@ -0,0 +1,53 @@
+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'
+  })
+}
+
+// 导出岗位
+export function exportPost(query) {
+  return request({
+    url: '/system/post/export',
+    method: 'get',
+    params: query
+  })
+}

+ 120 - 0
src/api/system/role.js

@@ -0,0 +1,120 @@
+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 exportRole(query) {
+  return request({
+    url: '/system/role/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询角色已授权用户列表
+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
+  })
+}

+ 152 - 0
src/api/system/user.js

@@ -0,0 +1,152 @@
+import request from '@/utils/request'
+import { praseStrEmpty } from "@/utils/common";
+
+// 查询用户列表
+export function listUser(query) {
+  return request({
+    url: '/system/user/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用户详细
+export function getUser(userId) {
+  return request({
+    url: '/system/user/' + praseStrEmpty(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 exportUser(query) {
+  return request({
+    url: '/system/user/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 用户密码重置
+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 importTemplate() {
+  return request({
+    url: '/system/user/importTemplate',
+    method: 'get'
+  })
+}
+
+// 查询授权角色
+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 isAdmin() {
+  return request({
+    url: '/system/user/isAdmin',
+    method: 'get'
+  })
+}
+

+ 63 - 0
src/api/task/delivery.js

@@ -0,0 +1,63 @@
+import request from '@/utils/request'
+
+// 查询交付物信息列表
+export function listDelivery(query) {
+  return request({
+    url: '/task/delivery/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询交付物信息详细
+export function getDelivery(id) {
+  return request({
+    url: '/task/delivery/' + id,
+    method: 'get'
+  })
+}
+
+// 新增交付物信息
+export function addDelivery(data) {
+  return request({
+    url: '/task/delivery',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改交付物信息
+export function updateDelivery(data) {
+  return request({
+    url: '/task/delivery',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除交付物信息
+export function delDelivery(id) {
+  return request({
+    url: '/task/delivery/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出交付物信息
+export function exportDelivery(query) {
+  return request({
+    url: '/task/delivery/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+// 通过任务类别 + 交付物编号查询交付物信息
+export function getDeliveryInfoByTaskTypeAndDeliveryNo(query) {
+  return request({
+    url: '/task/delivery/getDeliveryInfoByTaskTypeAndDeliveryNo',
+    method: 'get',
+    params: query
+  })
+}

+ 102 - 0
src/api/task/info.js

@@ -0,0 +1,102 @@
+import request from '@/utils/request'
+
+// 查询任务信息主列表
+export function listInfo(query) {
+  return request({
+    url: '/task/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询任务信息主详细
+export function getInfo(id) {
+  return request({
+    url: '/task/info/' + id,
+    method: 'get'
+  })
+}
+
+// 新增任务信息主
+export function addInfo(data) {
+  return request({
+    url: '/task/info',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改任务信息主
+export function updateInfo(data) {
+  return request({
+    url: '/task/info',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除任务信息主
+export function delInfo(id) {
+  return request({
+    url: '/task/info/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出任务信息主
+export function exportInfo(query) {
+  return request({
+    url: '/task/info/export',
+    method: 'get',
+    params: query
+  })
+}
+
+
+export function doCreateAudit(data) {
+  return request({
+    url: '/task/info/doCreateAudit',
+    method: 'post',
+    data
+  })
+}
+
+
+
+export function dofinishAudit(data) {
+  return request({
+    url: '/task/info/dofinishAudit',
+    method: 'post',
+    data
+  })
+}
+
+
+
+
+export function getTaskCreateAuditInfo(taskId) {
+  return request({
+    url: '/task/info/getTaskCreateAuditInfo',
+    method: 'get',
+    params: { taskId }
+  })
+}
+
+
+export function getTaskFinishAuditInfo(taskId) {
+  return request({
+    url: '/task/info/getTaskFinishAuditInfo',
+    method: 'get',
+    params: { taskId }
+  })
+}
+
+
+export function updateSpotCheck(data) {
+  return request({
+    url: '/task/info/spotCheck',
+    method: 'put',
+    data
+  })
+}
+

+ 53 - 0
src/api/task/material.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询材料信息列表
+export function listMaterial(query) {
+  return request({
+    url: '/task/material/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询材料信息详细
+export function getMaterial(id) {
+  return request({
+    url: '/task/material/' + id,
+    method: 'get'
+  })
+}
+
+// 新增材料信息
+export function addMaterial(data) {
+  return request({
+    url: '/task/material',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改材料信息
+export function updateMaterial(data) {
+  return request({
+    url: '/task/material',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除材料信息
+export function delMaterial(id) {
+  return request({
+    url: '/task/material/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出材料信息
+export function exportMaterial(query) {
+  return request({
+    url: '/task/material/export',
+    method: 'get',
+    params: query
+  })
+}

+ 76 - 0
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
src/assets/401_images/401.gif


BIN
src/assets/404_images/404.png


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


BIN
src/assets/icon/audit.png


BIN
src/assets/icon/customer.png


BIN
src/assets/icon/fj_customer.png


BIN
src/assets/icon/full_customer.png


BIN
src/assets/icon/goods.png


BIN
src/assets/icon/ht.png


BIN
src/assets/icon/integralOrder.png


BIN
src/assets/icon/log.png


BIN
src/assets/icon/menu.png


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است