zhaoyun 11 місяців тому
коміт
73e48b5291
100 змінених файлів з 2228 додано та 0 видалено
  1. 3 0
      .browserslistrc
  2. 15 0
      .editorconfig
  3. 4 0
      .eslintignore
  4. 215 0
      .eslintrc.js
  5. 28 0
      .gitignore
  6. 5 0
      .postcssrc.js
  7. 22 0
      README.md
  8. 5 0
      babel.config.js
  9. 65 0
      package.json
  10. 10 0
      public/cdn/animate/3.5.2/animate.css
  11. 54 0
      public/cdn/avue/avue.css
  12. 0 0
      public/cdn/avue/index.css
  13. 6 0
      public/cdn/avue/index.js
  14. 1 0
      public/cdn/axios/1.0.0/axios.min.js
  15. 0 0
      public/cdn/axios/1.0.0/axios.min.map
  16. 193 0
      public/cdn/store/1.3.20/store.js
  17. BIN
      public/company/logo.png
  18. BIN
      public/favicon.ico
  19. BIN
      public/images/banner_control23b288.png
  20. 0 0
      public/images/base.css.bak
  21. BIN
      public/images/base_z36574a.png
  22. BIN
      public/images/bg_mobile21d289.png
  23. BIN
      public/images/bg_mobile_foot_default2968da.png
  24. BIN
      public/images/bg_mobile_head_default2968da.png
  25. BIN
      public/images/card_tpl_deco.png
  26. BIN
      public/images/emoji218877.png
  27. BIN
      public/images/emotion_editor_z3518e7.png
  28. BIN
      public/images/history_msg35065c.png
  29. BIN
      public/images/icon13_arrow_right_gray218877.png
  30. BIN
      public/images/icon16_loading_light218877.gif
  31. BIN
      public/images/icon18_loading_default218877.gif
  32. BIN
      public/images/icon18_loading_primary218877.gif
  33. BIN
      public/images/icon32_loading_dark218877.gif
  34. BIN
      public/images/icon32_loading_light218877.gif
  35. BIN
      public/images/icon40_loading_gray218877.gif
  36. BIN
      public/images/icon40_loading_white218877.gif
  37. BIN
      public/images/icon_memu_function.png
  38. BIN
      public/images/icon_memu_function_selected.png
  39. BIN
      public/images/icon_memu_manage.png
  40. BIN
      public/images/icon_memu_manage_selected.png
  41. BIN
      public/images/icon_memu_statistics.png
  42. BIN
      public/images/icon_memu_statistics_selected.png
  43. BIN
      public/images/icon_menu_adclient.png
  44. BIN
      public/images/icon_menu_advert.png
  45. BIN
      public/images/icon_menu_advert_selected.png
  46. BIN
      public/images/icon_menu_host.png
  47. BIN
      public/images/icon_menu_host_selected.png
  48. BIN
      public/images/icon_menu_nav_next2968da.png
  49. BIN
      public/images/icon_menu_nav_prev2968da.png
  50. BIN
      public/images/icon_menu_service_selected.png
  51. BIN
      public/images/icon_menu_setting.png
  52. BIN
      public/images/icon_menu_setting_selected.png
  53. BIN
      public/images/icon_menu_store.png
  54. BIN
      public/images/icon_menu_store_selected.png
  55. BIN
      public/images/icon_noie6218877.png
  56. 0 0
      public/images/index.css.bak
  57. BIN
      public/images/index_z354723.png
  58. 1 0
      public/images/media_dialog&emotion_editor&msg_tab&emoji&msg_sender&tooltip.css.bak
  59. BIN
      public/images/media_dialog_z27dcd8.png
  60. BIN
      public/images/msg_sender_z35e455.png
  61. BIN
      public/images/msg_tab_z25df2d.png
  62. BIN
      public/images/pic_menu_preview2968da.png
  63. BIN
      public/img/bg/cloud.jpg
  64. BIN
      public/img/bg/login.png
  65. BIN
      public/img/bg/star-squashed.jpg
  66. BIN
      public/img/code/qq-code.jpg
  67. BIN
      public/img/code/wechat-code.jpg
  68. BIN
      public/img/login.png
  69. BIN
      public/img/logo.png
  70. 56 0
      public/index.html
  71. BIN
      public/logo.png
  72. BIN
      public/static/入库模板.xlsx
  73. BIN
      public/static/出库模板.xlsx
  74. 6 0
      public/svg/loading-spin.svg
  75. 26 0
      src/App.vue
  76. 63 0
      src/api/activiti/activiti.js
  77. 63 0
      src/api/activiti/leave-bill.js
  78. 40 0
      src/api/activiti/process.js
  79. 48 0
      src/api/activiti/task.js
  80. 56 0
      src/api/admin/client.js
  81. 56 0
      src/api/admin/dept.js
  82. 101 0
      src/api/admin/dict.js
  83. 64 0
      src/api/admin/log.js
  84. 72 0
      src/api/admin/menu.js
  85. 88 0
      src/api/admin/role.js
  86. 41 0
      src/api/admin/route.js
  87. 56 0
      src/api/admin/sys-file.js
  88. 56 0
      src/api/admin/sys-public-param.js
  89. 56 0
      src/api/admin/sys-social-details.js
  90. 64 0
      src/api/admin/tenant.js
  91. 33 0
      src/api/admin/token.js
  92. 127 0
      src/api/admin/user.js
  93. 81 0
      src/api/baseManage/invcust.js
  94. 43 0
      src/api/baseManage/invsupplier.js
  95. 26 0
      src/api/code.js
  96. 60 0
      src/api/commonApis.js
  97. 56 0
      src/api/daemon/execution-log.js
  98. 56 0
      src/api/daemon/status-trace-log.js
  99. 10 0
      src/api/daemon/sys-job-log.js
  100. 97 0
      src/api/daemon/sys-job.js

+ 3 - 0
.browserslistrc

@@ -0,0 +1,3 @@
+> 1%
+last 2 versions
+not ie <= 8

+ 15 - 0
.editorconfig

@@ -0,0 +1,15 @@
+# http://editorconfig.org
+
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 2
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+insert_final_newline = false
+trim_trailing_whitespace = false

+ 4 - 0
.eslintignore

@@ -0,0 +1,4 @@
+build/*.js
+src/assets
+public
+dist

+ 215 - 0
.eslintrc.js

@@ -0,0 +1,215 @@
+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/html-self-closing': ['error', {
+      'html': {
+        'void': 'any',
+        'normal': 'any',
+        'component': 'any'
+      },
+      'svg': 'any',
+      'math': 'any'
+    }],
+    'vue/singleline-html-element-content-newline': 'off',
+    'vue/no-parsing-error': [2, { 'invalid-first-character-of-tag-name': false }],
+    'vue/no-use-v-if-with-v-for': 'off',
+    'vue/multiline-html-element-content-newline': 'off',
+    'vue/name-property-casing': [0, 'PascalCase'],
+    'vue/html-closing-bracket-newline': [0, {
+      'singleline': 'never',
+      'multiline': 'always'
+    }],
+    'vue/no-side-effects-in-computed-properties': 0,
+    'accessor-pairs': 2, //在对象中使用getter/setter
+    'arrow-spacing': [2, {
+      'before': true,
+      'after': true
+    }], //=>的前/后括号
+    'block-spacing': [2, 'always'], //块是否需要空格
+    // if while function 后面的{必须与if在同一行,java风格。
+    'brace-style': [2, '1tbs', {
+      'allowSingleLine': true
+    }],
+    //强制驼峰法命名
+    'camelcase': [0, {
+      'properties': 'always'
+    }],
+    // 数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号, always参数:必须带末尾的逗号,
+    // always-multiline:多行模式必须带逗号,单行模式不能带逗号
+    'comma-dangle': [2, 'never'],
+    // 控制逗号前后的空格
+    'comma-spacing': [2, {
+      'before': false,
+      'after': true
+    }],
+    'comma-style': [2, 'last'], // 控制逗号在行尾出现还是在行首出现
+    // 强制在子类构造函数中用super()调用父类构造函数,TypeScrip的编译器也会提示
+    'constructor-super': 2,
+    // 强制object.key 中 . 的位置,参数:
+    // property,'.'号应与属性在同一行
+    // object, '.' 号应与对象名在同一行
+    'dot-location': [2, 'property'],
+    'eol-last': 2, // 文件末尾强制换行
+    'eqeqeq': [2, 'allow-null'], // 使用 === 替代 ==
+    'generator-star-spacing': 0, //生成器函数*的前后空格
+    'handle-callback-err': 0, //nodejs 处理错误
+    'indent': [2, 2, { //缩进风格
+      'SwitchCase': 1
+    }],
+    // JSX 属性中一致使用双引号或单引号
+    'jsx-quotes': [2, 'prefer-single'],
+    //对象字面量中冒号的前后空格
+    'key-spacing': [2, {
+      'beforeColon': false,
+      'afterColon': true
+    }],
+    'keyword-spacing': [2, {
+      'before': true,
+      'after': true
+    }],
+    //函数名首行大写必须使用new方式调用,首行小写必须用不带new方式调用
+    'new-cap': [2, {
+      'newIsCap': true,
+      'capIsNew': false
+    }],
+    'new-parens': 2, //new时必须加小括号
+    'no-array-constructor': 2, //禁止使用数组构造器
+    'no-caller': 2, //禁止使用arguments.caller或arguments.callee
+    'no-console': process.env.NODE_ENV === 'production' ? 2 : 0, //禁止使用console
+    'no-class-assign': 2, //禁止给类赋值
+    'no-cond-assign': 2, //禁止在条件表达式中使用赋值语句
+    'no-const-assign': 2, //禁止修改const声明的变量
+    'no-control-regex': 0, //禁止在正则表达式中使用控制字符
+    'no-delete-var': 2, //不能对var声明的变量使用delete操作符
+    'no-dupe-args': 2, //函数参数不能重复
+    'no-dupe-class-members': 2, //不允许类中出现重复的声明
+    'no-dupe-keys': 2, //在创建对象字面量时不允许键重复 {a:1,a:1}
+    'no-duplicate-case': 2, //switch中的case标签不能重复
+    'no-empty-character-class': 0, //正则表达式中的[]内容不能为空
+    'no-empty-pattern': 0,
+    'no-eval': 0, //禁止使用eval
+    'no-ex-assign': 2, //禁止给catch语句中的异常参数赋值
+    'no-extend-native': 2, //禁止扩展native对象
+    'no-extra-bind': 2, //禁止不必要的函数绑定
+    'no-extra-boolean-cast': 2, //禁止不必要的bool转换
+    'no-extra-parens': [2, 'functions'], //禁止非必要的括号
+    'no-fallthrough': 2, //禁止switch穿透
+    'no-floating-decimal': 2, //禁止省略浮点数中的0 .5 3.
+    'no-func-assign': 2, //禁止重复的函数声明
+    'no-implied-eval': 2, //禁止使用隐式eval
+    'no-inner-declarations': [2, 'functions'], //禁止在块语句中使用声明(变量或函数)
+    'no-invalid-regexp': 2, //禁止无效的正则表达式
+    'no-irregular-whitespace': 2, //不能有不规则的空格
+    'no-iterator': 2, //禁止使用__iterator__ 属性
+    'no-label-var': 2, //label名不能与var声明的变量名相同
+    'no-labels': [2, { //禁止标签声明
+      'allowLoop': false,
+      'allowSwitch': false
+    }],
+    'no-lone-blocks': 2, //禁止不必要的嵌套块
+    'no-mixed-spaces-and-tabs': 2, //禁止混用tab和空格
+    'no-multi-spaces': 2, //不能用多余的空格
+    'no-multi-str': 2, //字符串不能用\换行
+    'no-multiple-empty-lines': [0, {
+      'max': 1
+    }], //空行最多不能超过1行
+    'no-native-reassign': 2, //不能重写native对象
+    'no-negated-in-lhs': 2, //in 操作符的左边不能有!
+    'no-new-object': 2, //禁止使用new Object()
+    'no-new-require': 2, //禁止使用new require
+    'no-new-symbol': 2, //禁止使用new symbol
+    'no-new-wrappers': 2, //禁止使用new创建包装实例,new String new Boolean new Number
+    'no-obj-calls': 0, //不能调用内置的全局对象,比如Math() JSON()
+    'no-octal': 2, //禁止使用八进制数字
+    'no-octal-escape': 2, //禁止使用八进制转义序列
+    'no-path-concat': 2, //node中不能使用__dirname或__filename做路径拼接
+    'no-proto': 2, //禁止使用__proto__属性
+    'no-redeclare': 2, //禁止重复声明变量
+    'no-regex-spaces': 2, //禁止在正则表达式字面量中使用多个空格 /foo bar/
+    'no-return-assign': [2, 'except-parens'], //return 语句中不能有赋值表达式
+    'no-self-assign': 2, //自我分配
+    'no-self-compare': 2, //不能比较自身
+    'no-sequences': 2, //禁止使用逗号运算符
+    'no-shadow-restricted-names': 2, //严格模式中规定的限制标识符不能作为声明时的变量名使用
+    'no-spaced-func': 2, //函数调用时 函数名与()之间不能有空格
+    'no-sparse-arrays': 2, //禁止稀疏数组, [1,,2]
+    'no-this-before-super': 2, //在调用super()之前不能使用this或super
+    'no-throw-literal': 2, //禁止抛出字面量错误 throw "error";
+    'no-trailing-spaces': 0, //一行结束后面不要有空格
+    'no-undef': 2, //不能有未定义的变量
+    'no-undef-init': 2, //变量初始化时不能直接给它赋值为undefined
+    'no-unexpected-multiline': 0, //避免多行表达式
+    'no-unmodified-loop-condition': 0, //检查引用是否在循环中被修改
+    'no-unneeded-ternary': 0, //禁止不必要的嵌套 var isYes = answer === 1 ? true : false;
+    'no-unreachable': 2, //不能有无法执行的代码
+    'no-unsafe-finally': 0,
+    'no-unused-vars': [2, {
+      'vars': 'all',
+      'args': 'none'
+    }], //不能有声明后未被使用的变量或参数
+    'no-useless-call': 2, //禁止不必要的call和apply
+    'no-useless-computed-key': 0, //没有必要使用带文字的计算属性
+    'no-useless-constructor': 2, //可以在不改变类的工作方式的情况下安全地移除的类构造函数
+    'no-useless-escape': 0,
+    'no-whitespace-before-property': 0,
+    'no-with': 2, //禁用with
+    'one-var': 0, //连续声明
+    'operator-linebreak': [2, 'after', {
+      'overrides': {
+        '?': 'before',
+        ':': 'before'
+      }
+    }], //换行时运算符在行尾还是行首
+    'padded-blocks': 0, //块语句内行首行尾是否要空行
+    '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': 0, //注释风格不要有空格什么的
+    'template-curly-spacing': [2, 'never'],
+    'use-isnan': 2, //禁止比较时使用NaN,只能用isNaN()
+    'valid-typeof': 2, //必须使用合法的typeof的值
+    'wrap-iife': [2, 'any'], //立即执行函数表达式的小括号风格
+    'yield-star-spacing': 0,
+    'yoda': [2, 'never'], //禁止尤达条件
+    'prefer-const': 2, //首选const
+    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, //禁止使用debugger
+    'object-curly-spacing': [2, 'always', {
+      objectsInObjects: false
+    }], //大括号内是否允许不必要的空格
+    'array-bracket-spacing': [2, 'never'] //是否允许非空数组里面有多余的空格
+  }
+}

+ 28 - 0
.gitignore

@@ -0,0 +1,28 @@
+.DS_Store
+node_modules
+/dist
+
+/tests/e2e/videos/
+/tests/e2e/screenshots/
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw*
+
+# Lock File
+package-lock.json
+yarn.lock

+ 5 - 0
.postcssrc.js

@@ -0,0 +1,5 @@
+module.exports = {
+  plugins: {
+    autoprefixer: {}
+  }
+}

+ 22 - 0
README.md

@@ -0,0 +1,22 @@
+## 协议和授权
+
+pigX并非一个开源软件,作者保留全部的权利。
+擅自窃用,即属严重侵权行为,与盗窃无异。产生的一切任何后果责任由侵权者自负。
+
+### 🚫禁止  
+
+将本项目的部分或全部代码和资源进行任何形式的再发行(上传GitHub、Gitee )
+
+## 贡献代码
+
+pigX并非一个开源项目,也不是社区共同创造,其全部功能由作者独立完成。
+
+如果你愿意放弃所有权利,并将权利无条件转让给pigX作者,欢迎您贡献代码,当然会给予不等金额奖励。
+
+## 提交反馈
+
+1. 欢迎提交 issue,请写清楚遇到问题的原因,浏览器和操作系统环境,重现的流程。
+如果有开发能力,建议在本地调试出出错的代码。
+
+2. 不接受`功能请求`的 issue,功能请求可能会被直接关闭,请谅解(正确的方式是打赏并附言)。
+

+ 5 - 0
babel.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/app'
+  ]
+}

+ 65 - 0
package.json

@@ -0,0 +1,65 @@
+{
+  "name": "intelligence-ui",
+  "version": "3.10.0",
+  "private": true,
+  "scripts": {
+    "pre": "cnpm install || yarn --registry https://registry.npm.taobao.org || npm install --registry https://registry.npm.taobao.org ",
+    "dev": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint",
+    "analyze": "vue-cli-service build --report"
+  },
+  "dependencies": {
+    "@chenfengyuan/vue-qrcode": "^1.0.1",
+    "@riophae/vue-treeselect": "0.4.0",
+    "@sscfaith/avue-form-design": "1.2.8",
+    "avue-plugin-print": "^1.0.0",
+    "avue-plugin-ueditor": "^0.1.4",
+    "axios": "^0.18.0",
+    "babel-polyfill": "^6.26.0",
+    "classlist-polyfill": "^1.2.0",
+    "clipboard": "^2.0.4",
+    "codemirror": "^5.53.2",
+    "crypto-js": "^3.1.9-1",
+    "echarts": "^4.2.1",
+    "element-ui": "2.12.0",
+    "js-cookie": "^2.2.0",
+    "js-file-download": "^0.4.12",
+    "less-loader": "^6.0.0",
+    "nprogress": "^0.2.0",
+    "script-loader": "^0.7.2",
+    "sockjs-client": "^1.0.0",
+    "stomp-websocket": "^2.3.4-next",
+    "vue": "^2.6.10",
+    "vue-axios": "^2.1.2",
+    "vue-clipboard2": "^0.3.0",
+    "vue-cron": "^1.0.9",
+    "vue-echarts": "^4.0.1",
+    "vue-json-editor": "^1.2.3",
+    "vue-json-tree-view": "^2.1.4",
+    "vue-quill-editor": "3.0.6",
+    "vue-router": "^3.0.2",
+    "vuex": "^3.0.1"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "~3.8.0",
+    "@vue/cli-service": "~3.8.4",
+    "chai": "^4.1.2",
+    "compression-webpack-plugin": "^3.1.0",
+    "node-sass": "^4.9.0",
+    "sass-loader": "^7.0.1",
+    "vue-template-compiler": "^2.6.10",
+    "vue-video-player": "^5.0.2",
+    "benz-amr-recorder": "^1.0.14"
+  },
+  "lint-staged": {
+    "*.js": [
+      "vue-cli-service lint",
+      "git add"
+    ],
+    "*.vue": [
+      "vue-cli-service lint",
+      "git add"
+    ]
+  }
+}

Різницю між файлами не показано, бо вона завелика
+ 10 - 0
public/cdn/animate/3.5.2/animate.css


+ 54 - 0
public/cdn/avue/avue.css

@@ -0,0 +1,54 @@
+html,
+body,
+#app {
+    height: 100%;
+    margin: 0;
+    padding: 0;
+}
+
+.avue-home {
+    background-color: #303133;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+}
+
+.avue-home__main {
+    user-select: none;
+    width: 100%;
+    flex-grow: 1;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    flex-direction: column;
+}
+
+.avue-home__footer {
+    width: 100%;
+    flex-grow: 0;
+    text-align: center;
+    padding: 1em 0;
+}
+
+.avue-home__footer > a {
+    font-size: 12px;
+    color: #ABABAB;
+    text-decoration: none;
+}
+
+.avue-home__loading {
+    height: 32px;
+    width: 32px;
+    margin-bottom: 20px;
+}
+
+.avue-home__title {
+    color: #FFF;
+    font-size: 14px;
+    margin-bottom: 10px;
+}
+
+.avue-home__sub-title {
+    color: #ABABAB;
+    font-size: 12px;
+}

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
public/cdn/avue/index.css


Різницю між файлами не показано, бо вона завелика
+ 6 - 0
public/cdn/avue/index.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 0
public/cdn/axios/1.0.0/axios.min.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
public/cdn/axios/1.0.0/axios.min.map


+ 193 - 0
public/cdn/store/1.3.20/store.js

@@ -0,0 +1,193 @@
+'use strict'
+// Module export pattern from
+// https://github.com/umdjs/umd/blob/master/returnExports.js
+;(function (root, factory) {
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as an anonymous module.
+    define([], factory)
+  } else if (typeof exports === 'object') {
+    // Node. Does not work with strict CommonJS, but
+    // only CommonJS-like environments that support module.exports,
+    // like Node.
+    module.exports = factory()
+  } else {
+    // Browser globals (root is window)
+    root.store = factory()
+  }
+}(this, function () {
+  // Store.js
+  var store = {}
+
+  var win = (typeof window !== 'undefined' ? window : global)
+
+  var doc = win.document
+
+  var localStorageName = 'localStorage'
+
+  var scriptTag = 'script'
+
+  var storage
+
+  store.disabled = false
+  store.version = '1.3.20'
+  store.set = function (key, value) {}
+  store.get = function (key, defaultVal) {}
+  store.has = function (key) { return store.get(key) !== undefined }
+  store.remove = function (key) {}
+  store.clear = function () {}
+  store.transact = function (key, defaultVal, transactionFn) {
+    if (transactionFn == null) {
+      transactionFn = defaultVal
+      defaultVal = null
+    }
+    if (defaultVal == null) {
+      defaultVal = {}
+    }
+    var val = store.get(key, defaultVal)
+    transactionFn(val)
+    store.set(key, val)
+  }
+  store.getAll = function () {}
+  store.forEach = function () {}
+
+  store.serialize = function (value) {
+    return JSON.stringify(value)
+  }
+  store.deserialize = function (value) {
+    if (typeof value !== 'string') { return undefined }
+    try { return JSON.parse(value) } catch (e) { return value || undefined }
+  }
+
+  // Functions to encapsulate questionable FireFox 3.6.13 behavior
+  // when about.config::dom.storage.enabled === false
+  // See https://github.com/marcuswestin/store.js/issues#issue/13
+  function isLocalStorageNameSupported () {
+    try { return (localStorageName in win && win[localStorageName]) } catch (err) { return false }
+  }
+
+  if (isLocalStorageNameSupported()) {
+    storage = win[localStorageName]
+    store.set = function (key, val) {
+      if (val === undefined) { return store.remove(key) }
+      storage.setItem(key, store.serialize(val))
+      return val
+    }
+    store.get = function (key, defaultVal) {
+      var val = store.deserialize(storage.getItem(key))
+      return (val === undefined ? defaultVal : val)
+    }
+    store.remove = function (key) { storage.removeItem(key) }
+    store.clear = function () { storage.clear() }
+    store.getAll = function () {
+      var ret = {}
+      store.forEach(function (key, val) {
+        ret[key] = val
+      })
+      return ret
+    }
+    store.forEach = function (callback) {
+      for (var i = 0; i < storage.length; i++) {
+        var key = storage.key(i)
+        callback(key, store.get(key))
+      }
+    }
+  } else if (doc && doc.documentElement.addBehavior) {
+    var storageOwner,
+      storageContainer
+    // Since #userData storage applies only to specific paths, we need to
+    // somehow link our data to a specific path.  We choose /favicon.ico
+    // as a pretty safe option, since all browsers already make a request to
+    // this URL anyway and being a 404 will not hurt us here.  We wrap an
+    // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
+    // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
+    // since the iframe access rules appear to allow direct access and
+    // manipulation of the document element, even for a 404 page.  This
+    // document can be used instead of the current document (which would
+    // have been limited to the current path) to perform #userData storage.
+    try {
+      storageContainer = new ActiveXObject('htmlfile')
+      storageContainer.open()
+      storageContainer.write('<' + scriptTag + '>document.w=window</' + scriptTag + '><iframe src="/favicon.ico"></iframe>')
+      storageContainer.close()
+      storageOwner = storageContainer.w.frames[0].document
+      storage = storageOwner.createElement('div')
+    } catch (e) {
+      // somehow ActiveXObject instantiation failed (perhaps some special
+      // security settings or otherwse), fall back to per-path storage
+      storage = doc.createElement('div')
+      storageOwner = doc.body
+    }
+    var withIEStorage = function (storeFunction) {
+      return function () {
+        var args = Array.prototype.slice.call(arguments, 0)
+        args.unshift(storage)
+        // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
+        // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
+        storageOwner.appendChild(storage)
+        storage.addBehavior('#default#userData')
+        storage.load(localStorageName)
+        var result = storeFunction.apply(store, args)
+        storageOwner.removeChild(storage)
+        return result
+      }
+    }
+
+    // In IE7, keys cannot start with a digit or contain certain chars.
+    // See https://github.com/marcuswestin/store.js/issues/40
+    // See https://github.com/marcuswestin/store.js/issues/83
+    var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", 'g')
+    var ieKeyFix = function (key) {
+      return key.replace(/^d/, '___$&').replace(forbiddenCharsRegex, '___')
+    }
+    store.set = withIEStorage(function (storage, key, val) {
+      key = ieKeyFix(key)
+      if (val === undefined) { return store.remove(key) }
+      storage.setAttribute(key, store.serialize(val))
+      storage.save(localStorageName)
+      return val
+    })
+    store.get = withIEStorage(function (storage, key, defaultVal) {
+      key = ieKeyFix(key)
+      var val = store.deserialize(storage.getAttribute(key))
+      return (val === undefined ? defaultVal : val)
+    })
+    store.remove = withIEStorage(function (storage, key) {
+      key = ieKeyFix(key)
+      storage.removeAttribute(key)
+      storage.save(localStorageName)
+    })
+    store.clear = withIEStorage(function (storage) {
+      var attributes = storage.XMLDocument.documentElement.attributes
+      storage.load(localStorageName)
+      for (var i = attributes.length - 1; i >= 0; i--) {
+        storage.removeAttribute(attributes[i].name)
+      }
+      storage.save(localStorageName)
+    })
+    store.getAll = function (storage) {
+      var ret = {}
+      store.forEach(function (key, val) {
+        ret[key] = val
+      })
+      return ret
+    }
+    store.forEach = withIEStorage(function (storage, callback) {
+      var attributes = storage.XMLDocument.documentElement.attributes
+      for (var i = 0, attr; attr = attributes[i]; ++i) {
+        callback(attr.name, store.deserialize(storage.getAttribute(attr.name)))
+      }
+    })
+  }
+
+  try {
+    var testKey = '__storejs__'
+    store.set(testKey, testKey)
+    if (store.get(testKey) != testKey) { store.disabled = true }
+    store.remove(testKey)
+  } catch (e) {
+    store.disabled = true
+  }
+  store.enabled = !store.disabled
+
+  return store
+}))

BIN
public/company/logo.png


BIN
public/favicon.ico


BIN
public/images/banner_control23b288.png


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
public/images/base.css.bak


BIN
public/images/base_z36574a.png


BIN
public/images/bg_mobile21d289.png


BIN
public/images/bg_mobile_foot_default2968da.png


BIN
public/images/bg_mobile_head_default2968da.png


BIN
public/images/card_tpl_deco.png


BIN
public/images/emoji218877.png


BIN
public/images/emotion_editor_z3518e7.png


BIN
public/images/history_msg35065c.png


BIN
public/images/icon13_arrow_right_gray218877.png


BIN
public/images/icon16_loading_light218877.gif


BIN
public/images/icon18_loading_default218877.gif


BIN
public/images/icon18_loading_primary218877.gif


BIN
public/images/icon32_loading_dark218877.gif


BIN
public/images/icon32_loading_light218877.gif


BIN
public/images/icon40_loading_gray218877.gif


BIN
public/images/icon40_loading_white218877.gif


BIN
public/images/icon_memu_function.png


BIN
public/images/icon_memu_function_selected.png


BIN
public/images/icon_memu_manage.png


BIN
public/images/icon_memu_manage_selected.png


BIN
public/images/icon_memu_statistics.png


BIN
public/images/icon_memu_statistics_selected.png


BIN
public/images/icon_menu_adclient.png


BIN
public/images/icon_menu_advert.png


BIN
public/images/icon_menu_advert_selected.png


BIN
public/images/icon_menu_host.png


BIN
public/images/icon_menu_host_selected.png


BIN
public/images/icon_menu_nav_next2968da.png


BIN
public/images/icon_menu_nav_prev2968da.png


BIN
public/images/icon_menu_service_selected.png


BIN
public/images/icon_menu_setting.png


BIN
public/images/icon_menu_setting_selected.png


BIN
public/images/icon_menu_store.png


BIN
public/images/icon_menu_store_selected.png


BIN
public/images/icon_noie6218877.png


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
public/images/index.css.bak


BIN
public/images/index_z354723.png


Різницю між файлами не показано, бо вона завелика
+ 1 - 0
public/images/media_dialog&emotion_editor&msg_tab&emoji&msg_sender&tooltip.css.bak


BIN
public/images/media_dialog_z27dcd8.png


BIN
public/images/msg_sender_z35e455.png


BIN
public/images/msg_tab_z25df2d.png


BIN
public/images/pic_menu_preview2968da.png


BIN
public/img/bg/cloud.jpg


BIN
public/img/bg/login.png


BIN
public/img/bg/star-squashed.jpg


BIN
public/img/code/qq-code.jpg


BIN
public/img/code/wechat-code.jpg


BIN
public/img/login.png


BIN
public/img/logo.png


+ 56 - 0
public/index.html

@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
+  <meta name="format-detection" content="telephone=no">
+  <!--避免微信管理防盗链机制-->
+  <meta name="referrer" content="no-referrer" />
+  <meta http-equiv="X-UA-Compatible" content="chrome=1" />
+  <link rel="stylesheet" href="<%= BASE_URL %>cdn/animate/3.5.2/animate.css">
+  <link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/avue.css">
+  <link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/index.css">
+  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+  <title>新疆博智天安医疗设备有限公司</title>
+</head>
+
+<body>
+  <noscript>
+    <strong>很抱歉,如果没有 JavaScript 支持,网站将不能正常工作。请启用浏览器的 JavaScript 然后继续。</strong>
+  </noscript>
+  <div id="app">
+    <div class="avue-home">
+      <div class="avue-home__main">
+        <img class="avue-home__loading" src="./svg/loading-spin.svg" alt="loading">
+        <div class="avue-home__title">
+          正在加载资源
+        </div>
+        <div class="avue-home__sub-title">
+          初次加载资源可能需要较多时间 请耐心等待
+        </div>
+      </div>
+      <div class="avue-home__footer">
+        <a href="https://pig4cloud.com/zh-cn" target="_blank">
+          Copyright © 2022 新疆博智天安医疗设备有限公司</a>
+      </div>
+    </div>
+  </div>
+  <!-- built files will be auto injected -->
+  <script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script>
+  <script src="<%= BASE_URL %>cdn/avue/index.js" charset="utf-8"></script>
+  <script>
+    var _hmt = _hmt || [];
+    (function () {
+      var hm = document.createElement('script')
+      hm.src = 'https://hm.baidu.com/hm.js?0625618efb027ed02e88da84c121652e'
+      var s = document.getElementsByTagName('script')[0]
+      s.parentNode.insertBefore(hm, s)
+    })()
+  </script>
+</body>
+
+</html>

BIN
public/logo.png


BIN
public/static/入库模板.xlsx


BIN
public/static/出库模板.xlsx


+ 6 - 0
public/svg/loading-spin.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" fill="white">
+  <path opacity=".25" d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"/>
+  <path d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z">
+    <animateTransform attributeName="transform" type="rotate" from="0 16 16" to="360 16 16" dur="0.8s" repeatCount="indefinite" />
+  </path>
+</svg>

+ 26 - 0
src/App.vue

@@ -0,0 +1,26 @@
+<template>
+  <div id="app">
+    <router-view/>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'App',
+  data() {
+    return {}
+  },
+  computed: {},
+  watch: {},
+  created() {
+  },
+  methods: {}
+}
+</script>
+<style lang="scss">
+  #app {
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+  }
+</style>

+ 63 - 0
src/api/activiti/activiti.js

@@ -0,0 +1,63 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/act/model',
+    method: 'get',
+    params: query
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/act/model/' + id,
+    method: 'delete'
+  })
+}
+
+export function deploy(id) {
+  return request({
+    url: '/act/model/deploy/' + id,
+    method: 'post'
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/act/model/insert',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/log/' + id,
+    method: 'get'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/log/',
+    method: 'put',
+    data: obj
+  })
+}

+ 63 - 0
src/api/activiti/leave-bill.js

@@ -0,0 +1,63 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/act/leave-bill/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/act/leave-bill',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/act/leave-bill/' + id,
+    method: 'get'
+  })
+}
+
+export function submit(id) {
+  return request({
+    url: '/act/leave-bill/submit/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/act/leave-bill/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/act/leave-bill/',
+    method: 'put',
+    data: obj
+  })
+}

+ 40 - 0
src/api/activiti/process.js

@@ -0,0 +1,40 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/act/process',
+    method: 'get',
+    params: query
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/act/process/' + id,
+    method: 'delete'
+  })
+}
+
+export function status(id, type) {
+  return request({
+    url: '/act/process/status/' + id + '/' + type,
+    method: 'put'
+  })
+}

+ 48 - 0
src/api/activiti/task.js

@@ -0,0 +1,48 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/act/task/todo',
+    method: 'get',
+    params: query
+  })
+}
+
+export function fetchDetail(id) {
+  return request({
+    url: '/act/task/' + id,
+    method: 'get'
+  })
+}
+
+export function fetchComment(id) {
+  return request({
+    url: '/act/task/comment/' + id,
+    method: 'get'
+  })
+}
+
+export function doTask(obj) {
+  return request({
+    url: '/act/task',
+    method: 'post',
+    data: obj
+  })
+}

+ 56 - 0
src/api/admin/client.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/client/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/client/',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/client/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/client/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/client',
+    method: 'put',
+    data: obj
+  })
+}

+ 56 - 0
src/api/admin/dept.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchTree(query) {
+  return request({
+    url: '/admin/dept/tree',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/dept/',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/dept/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/dept/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/dept/',
+    method: 'put',
+    data: obj
+  })
+}

+ 101 - 0
src/api/admin/dict.js

@@ -0,0 +1,101 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/dict/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function fetchItemList(query) {
+  return request({
+    url: '/admin/dict/item/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addItemObj(obj) {
+  return request({
+    url: '/admin/dict/item',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getItemObj(id) {
+  return request({
+    url: '/admin/dict/item/' + id,
+    method: 'get'
+  })
+}
+
+export function delItemObj(id) {
+  return request({
+    url: '/admin/dict/item/' + id,
+    method: 'delete'
+  })
+}
+
+export function putItemObj(obj) {
+  return request({
+    url: '/admin/dict/item',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/dict/',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/dict/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(row) {
+  return request({
+    url: '/admin/dict/' + row.id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/dict/',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function remote(type) {
+  return request({
+    url: '/admin/dict/type/' + type,
+    method: 'get'
+  })
+}

+ 64 - 0
src/api/admin/log.js

@@ -0,0 +1,64 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/log/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/log/' + id,
+    method: 'delete'
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/log/',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/log/' + id,
+    method: 'get'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/log/',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function sendLogs(logsList) {
+  return request({
+    url: '/admin/log/logs',
+    method: 'post',
+    data: logsList
+  })
+}

+ 72 - 0
src/api/admin/menu.js

@@ -0,0 +1,72 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function getMenu(id) {
+  return request({
+    url: '/admin/menu',
+    params: {parentId: id},
+    method: 'get'
+  })
+}
+
+export function getTopMenu() {
+  return request({
+    url: '/admin/menu',
+    params: {type: 'top'},
+    method: 'get'
+  })
+}
+
+export function fetchMenuTree(lazy, parentId) {
+  return request({
+    url: '/admin/menu/tree',
+    method: 'get',
+    params: {lazy: lazy, parentId: parentId}
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/menu',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/menu/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/menu/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/menu',
+    method: 'put',
+    data: obj
+  })
+}

+ 88 - 0
src/api/admin/role.js

@@ -0,0 +1,88 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function roleList() {
+  return request({
+    url: '/admin/role/roleList',
+    method: 'get'
+  })
+}
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/role/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function deptRoleList() {
+  return request({
+    url: '/admin/role/list',
+    method: 'get'
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/role/' + id,
+    method: 'get'
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/role',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/role',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/role/' + id,
+    method: 'delete'
+  })
+}
+
+export function permissionUpd(roleId, menuIds) {
+  return request({
+    url: '/admin/role/menu',
+    method: 'put',
+    data: {
+      roleId: roleId,
+      menuIds: menuIds
+    }
+  })
+}
+
+export function fetchRoleTree(roleId) {
+  return request({
+    url: '/admin/menu/tree/' + roleId,
+    method: 'get'
+  })
+}

+ 41 - 0
src/api/admin/route.js

@@ -0,0 +1,41 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/route',
+    method: 'get',
+    params: query
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/route',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function refreshObj() {
+  return request({
+    url: '/actuator/refresh',
+    method: 'post'
+  })
+}

+ 56 - 0
src/api/admin/sys-file.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/sys-file/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/sys-file',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/sys-file/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/sys-file/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/sys-file',
+    method: 'put',
+    data: obj
+  })
+}

+ 56 - 0
src/api/admin/sys-public-param.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/param/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/param',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(key) {
+  return request({
+    url: '/admin/param/publicValue/' + key,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/param/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/param',
+    method: 'put',
+    data: obj
+  })
+}

+ 56 - 0
src/api/admin/sys-social-details.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/social/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/social/',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/social/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/social/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/social/',
+    method: 'put',
+    data: obj
+  })
+}

+ 64 - 0
src/api/admin/tenant.js

@@ -0,0 +1,64 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchPage(query) {
+  return request({
+    url: '/admin/tenant/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/tenant/list',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/tenant',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/tenant/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/tenant/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/tenant',
+    method: 'put',
+    data: obj
+  })
+}

+ 33 - 0
src/api/admin/token.js

@@ -0,0 +1,33 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/token/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function delObj(token) {
+  return request({
+    url: '/admin/token/' + token,
+    method: 'delete'
+  })
+}

+ 127 - 0
src/api/admin/user.js

@@ -0,0 +1,127 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/admin/user/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/admin/user',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/admin/user/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/admin/user/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/admin/user',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function getDetails(obj) {
+  return request({
+    url: '/admin/user/details/' + obj,
+    method: 'get'
+  })
+}
+
+// 更改个人信息
+export function editInfo(obj) {
+  return request({
+    url: '/admin/user/edit',
+    method: 'put',
+    data: obj
+  })
+}
+
+
+export function fetchUserList(query) {
+  return request({
+    url: '/admin/user/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addUserObj(obj) {
+  return request({
+    url: '/admin/user',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getUserObj(id) {
+  return request({
+    url: '/admin/user/' + id,
+    method: 'get'
+  })
+}
+
+export function delUserObj(id) {
+  return request({
+    url: '/admin/user/' + id,
+    method: 'delete'
+  })
+}
+
+export function putUserObj(obj) {
+  return request({
+    url: '/admin/user',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function getUserDetails(obj) {
+  return request({
+    url: '/admin/user/details/' + obj,
+    method: 'get'
+  })
+}
+
+// 更改个人信息
+export function editUserInfo(obj) {
+  return request({
+    url: '/admin/user/edit',
+    method: 'put',
+    data: obj
+  })
+}

+ 81 - 0
src/api/baseManage/invcust.js

@@ -0,0 +1,81 @@
+/*
+ * Author: gn
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/invtory/invcust/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/invtory/invcust',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/invtory/invcust/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/invtory/invcust/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/invtory/invcust',
+    method: 'put',
+    data: obj
+  })
+}
+export function fetchTree(query) {
+  return request({
+    url: '/invtory/invcust/tree',
+    method: 'get',
+    params: query
+  })
+}
+
+export function queryGoods(query) {
+  return request({
+    url: '/invtory/invcustgoodsprice/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function updateGoods(obj) {
+  return request({
+    url: '/invtory/invcustgoodsprice',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function delGoodsAPI(id) {
+  return request({
+    url: '/invtory/invcustgoodsprice/' + id,
+    method: 'delete'
+  })
+}
+
+export function addGoodsAPI(obj) {
+  return request({
+    url: '/invtory/invcustgoodsprice',
+    method: 'post',
+    data: obj
+  })
+}

+ 43 - 0
src/api/baseManage/invsupplier.js

@@ -0,0 +1,43 @@
+/*
+ * Author: gn
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/invtory/invsupplier/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/invtory/invsupplier',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/invtory/invsupplier/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/invtory/invsupplier/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/invtory/invsupplier',
+    method: 'put',
+    data: obj
+  })
+}

+ 26 - 0
src/api/code.js

@@ -0,0 +1,26 @@
+import request from '@/router/axios'
+
+/**
+ * 获取验证码
+ * @param query 查询条件
+ * @param code 验证码对象
+ * @returns {Promise<T>}
+ */
+export function getCode(query, code) {
+  return request({
+    url: '/code',
+    method: 'get',
+    params: query,
+    responseType: 'arraybuffer'
+  }).then(response => {
+    //将从后台获取的图片流进行转换
+    return 'data:image/png;base64,' + btoa(
+      new Uint8Array(response.data).reduce((data, byte) => data + String.fromCharCode(byte), '')
+    )
+  }).then(function(data) {
+    //接收转换后的Base64图片
+    code.src = data
+  }).catch(function(err) {
+    console.log(err)
+  })
+}

+ 60 - 0
src/api/commonApis.js

@@ -0,0 +1,60 @@
+import request from '@/router/axios'
+
+export function fetchList(url, query) {
+  return request({
+    url: url,
+    method: 'get',
+    params: query
+  })
+}
+
+export function addResult(url, obj) {
+  return request({
+    url: url,
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getResult(url, id) {
+  return request({
+    url: url + '/' + id,
+    method: 'get'
+  })
+}
+
+
+
+export function delResult(url, id) {
+  return request({
+    url: url + '/' + id,
+    method: 'delete'
+  })
+}
+
+export function putResult(url, obj) {
+  return request({
+    url: url,
+    method: 'put',
+    data: obj
+  })
+}
+
+// 导出
+export function exportResult(url, obj) {
+  return request({
+    url: url,
+    method: 'post',
+    data: obj,
+    responseType: 'blob'
+  })
+}
+// 导出
+export function exportAll(url, query) {
+  return request({
+    url: url,
+    method: 'get',
+    params: query,
+    responseType: 'blob'
+  })
+}

+ 56 - 0
src/api/daemon/execution-log.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/daemon/execution-log/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/daemon/execution-log',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/daemon/execution-log/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/daemon/execution-log/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/daemon/execution-log',
+    method: 'put',
+    data: obj
+  })
+}

+ 56 - 0
src/api/daemon/status-trace-log.js

@@ -0,0 +1,56 @@
+/*
+ *    Copyright (c) 2018-2025, intelligence All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: intelligence
+ */
+
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/daemon/status-trace-log/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/daemon/status-trace-log',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/daemon/status-trace-log/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/daemon/status-trace-log/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/daemon/status-trace-log',
+    method: 'put',
+    data: obj
+  })
+}

+ 10 - 0
src/api/daemon/sys-job-log.js

@@ -0,0 +1,10 @@
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/job/sys-job-log/page',
+    method: 'get',
+    params: query
+  })
+}
+

+ 97 - 0
src/api/daemon/sys-job.js

@@ -0,0 +1,97 @@
+import request from '@/router/axios'
+
+export function fetchList(query) {
+  return request({
+    url: '/job/sys-job/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function fetchLogList(query) {
+  return request({
+    url: '/job/sys-job/job-log',
+    method: 'get',
+    params: query
+  })
+}
+
+export function shutdownJobsRa() {
+  return request({
+    url: '/job/sys-job/shutdown-jobs',
+    method: 'post'
+  })
+}
+
+export function startJobsRa() {
+  return request({
+    url: '/job/sys-job/start-jobs',
+    method: 'post'
+  })
+}
+
+export function refreshJobsRa() {
+  return request({
+    url: '/job/sys-job/refresh-jobs',
+    method: 'post'
+  })
+}
+
+export function startJobRa(jobId) {
+  return request({
+    url: '/job/sys-job/start-job/' + jobId,
+    method: 'post'
+  })
+}
+
+export function runJobRa(jobId) {
+  return request({
+    url: '/job/sys-job/run-job/' + jobId,
+    method: 'post'
+  })
+}
+
+export function shutDownJobRa(jobId) {
+  return request({
+    url: '/job/sys-job/shutdown-job/' + jobId,
+    method: 'post'
+  })
+}
+
+export function addObj(obj) {
+  return request({
+    url: '/job/sys-job',
+    method: 'post',
+    data: obj
+  })
+}
+
+export function getObj(id) {
+  return request({
+    url: '/job/sys-job/' + id,
+    method: 'get'
+  })
+}
+
+export function delObj(id) {
+  return request({
+    url: '/job/sys-job/' + id,
+    method: 'delete'
+  })
+}
+
+export function putObj(obj) {
+  return request({
+    url: '/job/sys-job',
+    method: 'put',
+    data: obj
+  })
+}
+
+export function isValidTaskName(query) {
+  return request({
+    url: '/job/sys-job/is-valid-task-name',
+    method: 'get',
+    params: query
+  })
+}

Деякі файли не було показано, через те що забагато файлів було змінено