diff --git a/.env b/.env index 913f789310cd5fb59bb50e008cb4b979784a2359..c75638f0f632afb9a2f1417f39d12ce62527a9b5 100644 --- a/.env +++ b/.env @@ -17,7 +17,7 @@ VITE_OAUTH2_MOBILE_CLIENT='app:app' VITE_VERIFY_ENABLE = true # 前端加密密钥 -VITE_PWD_ENC_KEY='thanks,pig4cloud' +VITE_PWD_ENC_KEY='emhpbW91eGlueXVf' # 是否开启websocket 消息接受, VITE_WEBSOCKET_ENABLE = false diff --git a/.env.development b/.env.development index 8cad68206fca257965d35545e4a83025717bee76..3b1908916ee80edff0112893f25f3c319aacd0cc 100644 --- a/.env.development +++ b/.env.development @@ -8,4 +8,7 @@ VITE_OPEN = true ENV = 'development' # ADMIN 服务地址 -VITE_ADMIN_PROXY_PATH = http://127.0.0.1:9999 +VITE_ADMIN_PROXY_PATH = http://192.168.110.170:9999 + +# 代码生成服务地址 (单体架构有效) +VITE_GEN_PROXY_PATH = http://127.0.0.1:5003 diff --git a/.vscode/settings.json b/.vscode/settings.json index e32280c7f7e119ad6d687ed781dccacf3866dadb..c44c3f3dd5e377660a3eea90602d96048901ae88 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,7 +18,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "Vue.volar" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" @@ -101,5 +101,6 @@ "src/views/pay/record/i18n", "src/views/pay/refund/i18n", "src/views/pay/trade/i18n" - ] + ], + "prettier.bracketSameLine": true } diff --git a/.vscode/templates/vue.ejs b/.vscode/templates/vue.ejs new file mode 100644 index 0000000000000000000000000000000000000000..7fb667e025c79589535a8ad78a7f005256b95187 --- /dev/null +++ b/.vscode/templates/vue.ejs @@ -0,0 +1,56 @@ +<%# + Component parameters: + - name {String} - Component name +-%> + + + + + \ No newline at end of file diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 9b48bed11804097961196537e7283938617e8cdf..ea661e3ed4074b420b8fe4ae42e4b11a7055d4a2 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -3,6 +3,7 @@ // @ts-nocheck // noinspection JSUnusedGlobalSymbols // Generated by unplugin-auto-import +// biome-ignore lint: disable export {} declare global { const EffectScope: typeof import('vue')['EffectScope'] diff --git a/docker/Dockerfile b/docker/Dockerfile index 972eca79f92070d2b3488692a7cb624d5149187e..3a3d6f892d9d20146f5e6d4e4c8436c9a4300d0d 100755 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,6 +2,8 @@ FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/nginx COPY ./dist /data +COPY ./crt /crt + RUN rm /etc/nginx/conf.d/default.conf ADD pig-ui.conf /etc/nginx/conf.d/default.conf diff --git a/docker/pig-ui.conf b/docker/pig-ui.conf index d23326302cf3c524b1a3773e030479729ae7a4a0..695eb1bbcf7562af8ac103e0d8bfc775fd5f95f3 100755 --- a/docker/pig-ui.conf +++ b/docker/pig-ui.conf @@ -10,10 +10,19 @@ server { gzip_types text/plain text/xml text/css; gzip_vary on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; + client_max_body_size 10M; # 前端打包好的dist目录文件 root /data/; + location / { + # 添加这个核心指令 + try_files $uri $uri/ /index.html; + + # 可选:添加缓存控制头 + # add_header Cache-Control "no-cache"; + } + location ^~/api/ { proxy_pass http://pig-gateway:9999/; #注意/后缀 proxy_connect_timeout 60s; @@ -34,3 +43,126 @@ server { return 403; # 禁止访问 } } + +server { + listen 443 ssl; + server_name zhimouxinyu.com; + + ssl_certificate /crt/zhimouxinyu.com.pem; + ssl_certificate_key /crt/zhimouxinyu.com.key; + + ssl_session_cache shared:SSL:10m; + ssl_session_timeout 1h; + client_max_body_size 10M; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; + + ssl_prefer_server_ciphers on; + + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + + ssl_stapling on; + ssl_stapling_verify on; + resolver 8.8.8.8 8.8.4.4 valid=300s; + + gzip on; + gzip_static on; # 需要http_gzip_static_module 模块 + gzip_min_length 1k; + gzip_comp_level 4; + gzip_proxied any; + gzip_types text/plain text/xml text/css; + gzip_vary on; + gzip_disable "MSIE [1-6]\.(?!.*SV1)"; + + + + # 前端打包好的dist目录文件 + root /data/; + + location / { + # 添加这个核心指令 + try_files $uri $uri/ /index.html; + + # 可选:添加缓存控制头 + # add_header Cache-Control "no-cache"; + } + + # 新增微信代理 ↓ + location ^~ /s/ { + proxy_pass https://mp.weixin.qq.com; + proxy_ssl_server_name on; + + proxy_set_header Host mp.weixin.qq.com; + proxy_set_header Referer https://mp.weixin.qq.com; + proxy_set_header Accept-Encoding ""; # 防止双重压缩 + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + resolver 8.8.8.8 8.8.4.4 valid=30s; + proxy_connect_timeout 30s; + proxy_read_timeout 120s; + proxy_send_timeout 120s; + proxy_cache off; # 微信内容建议实时获取 + + # 重写路径:去除多余的/s前缀 + rewrite ^/s/(.*)$ /s/$1 break; + } + + location ^~/api/ { + proxy_pass http://pig-gateway:9999/; #注意/后缀 + proxy_connect_timeout 60s; + proxy_read_timeout 120s; + proxy_send_timeout 120s; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header from ""; + } + + + location /oss/ { + # 目标 OSS 地址 + proxy_pass https://oss.zhimouxinyu.com/; + + # 关键:移除强制下载头 + proxy_hide_header Content-Disposition; + + # 添加正确的 Content-Type 头 + proxy_set_header Content-Type ""; + + # 添加 CORS 头 + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, HEAD, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + + # 设置代理头部 + proxy_set_header Host oss.zhimouxinyu.com; # 关键:设置正确的 Host 头 + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 禁用缓存以便开发调试 + add_header Cache-Control "no-cache, no-store, must-revalidate"; + add_header Pragma "no-cache"; + add_header Expires 0; + + # 添加代理缓冲设置 + proxy_buffering off; + proxy_request_buffering off; + + # 添加 SSL 验证设置 + proxy_ssl_verify off; # 开发环境可关闭验证 + } + + # 屏蔽所有敏感路径,不用改代码 + location ~* ^/(actuator|swagger-ui|v3/api-docs|swagger-resources|webjars|doc.html) { + return 403; # 禁止访问 + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e390db4962da18b296875cdb4ded473eba09847a..764dbd938aa35956a4f24d70d4a9629123dbf840 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,45 +1,59 @@ { "name": "pig-ui", - "version": "3.8.1", + "version": "3.8.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pig-ui", - "version": "3.8.1", + "version": "3.8.3", "license": "Apache-2.0", "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", "@element-plus/icons-vue": "2.3.1", "@wangeditor/editor": "5.1.23", "@wangeditor/editor-for-vue": "5.1.12", "autoprefixer": "10.4.20", - "axios": "1.7.8", + "axios": "1.7.9", "china-area-data": "^5.0.1", "codemirror": "5.65.18", "crypto-js": "4.2.0", + "dayjs": "^1.11.13", + "decimal.js": "^10.6.0", + "dingrtc": "^3.8.6", + "dompurify": "^3.2.6", "driver.js": "1.3.1", - "echarts": "5.5.1", + "echarts": "^5.5.1", + "element-china-area-data": "^6.1.0", "element-plus": "2.8.7", + "html2canvas": "^1.4.1", + "idb-keyval": "^6.2.2", "js-cookie": "3.0.5", + "json-bigint": "^1.0.0", "mitt": "3.0.1", + "moment": "^2.30.1", "nprogress": "0.2.0", - "pinia": "2.2.6", + "pinia": "2.3.0", "postcss": "8.4.49", - "qs": "6.13.0", + "qs": "6.13.1", "screenfull": "6.0.2", "sm-crypto": "0.3.13", - "sortablejs": "1.15.3", - "splitpanes": "3.1.5", - "tailwindcss": "3.4.14", + "sortablejs": "1.15.6", + "splitpanes": "3.1.8", + "tailwindcss": "3.4.17", "vue": "3.5.13", "vue-clipboard3": "2.0.0", + "vue-dompurify-html": "^5.3.0", "vue-echarts": "7.0.3", "vue-i18n": "9.14.2", "vue-router": "4.4.5", - "vuedraggable": "4.1.0" + "vue3-print-nb": "^0.1.4", + "vuedraggable": "4.1.0", + "wavesurfer.js": "^7.9.5" }, "devDependencies": { "@swc/core": "1.6.13", + "@types/moment": "^2.11.29", "@types/node": "20.0.0", "@types/nprogress": "0.2.3", "@types/sortablejs": "1.15.8", @@ -50,10 +64,10 @@ "consola": "3.2.3", "cross-env": "7.0.3", "eslint": "9.14.0", - "eslint-plugin-vue": "9.30.0", + "eslint-plugin-vue": "9.32.0", "glob": "9.3.5", "pinia-plugin-persist": "1.0.0", - "prettier": "3.3.3", + "prettier": "3.4.2", "sass": "1.58.3", "terser": "5.36.0", "typescript": "5.6.3", @@ -62,6 +76,7 @@ "vite": "5.4.11", "vite-plugin-compression": "0.5.1", "vite-plugin-top-level-await": "1.4.4", + "vite-plugin-vue-devtools": "7.7.2", "vue-eslint-parser": "9.4.3" }, "engines": { @@ -80,6 +95,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@amap/amap-jsapi-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", + "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==", + "license": "MIT" + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@antfu/utils": { "version": "0.7.10", "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.10.tgz", @@ -89,6 +123,260 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.26.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.25.9", "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", @@ -105,12 +393,34 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/parser": { - "version": "7.26.5", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.5.tgz", - "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "dependencies": { - "@babel/types": "^7.26.5" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -119,6 +429,114 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.26.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", + "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/runtime": { "version": "7.26.0", "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz", @@ -130,10 +548,51 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/template": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -150,6 +609,22 @@ "node": ">=10" } }, + "node_modules/@dingrtc/channel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@dingrtc/channel/-/channel-0.0.6.tgz", + "integrity": "sha512-XgPV6wCKIQe6IZ3J+/RySHGB8+wP1a50RDKluZrxyeaIrlJcwMNunc3SNTuyxn14zTxX/fFRa5SYA+72K3ZVPg==", + "license": "ISC", + "dependencies": { + "@dingrtc/shared": "1.0.13", + "long": "^5.2.3" + } + }, + "node_modules/@dingrtc/shared": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@dingrtc/shared/-/shared-1.0.13.tgz", + "integrity": "sha512-u/HNOTlU8AU5ohJJ+ZxxCQ6ykc3JK1uLm20k8ng45Iahmcfh0utn2BRswGQnMh5kHKeRpi50kBYlAyePr+ctpw==", + "license": "ISC" + }, "node_modules/@element-plus/icons-vue": { "version": "2.3.1", "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", @@ -920,6 +1395,12 @@ "node": ">=14" } }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "dev": true + }, "node_modules/@popperjs/core": { "name": "@sxzz/popperjs-es", "version": "2.11.7", @@ -1228,6 +1709,24 @@ "win32" ] }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@swc/core": { "version": "1.6.13", "resolved": "https://registry.npmmirror.com/@swc/core/-/core-1.6.13.tgz", @@ -1476,6 +1975,13 @@ "@types/lodash": "*" } }, + "node_modules/@types/moment": { + "version": "2.11.29", + "resolved": "https://registry.npmjs.org/@types/moment/-/moment-2.11.29.tgz", + "integrity": "sha512-D5WIgbLYQzvgfsDnBhZFSTnt/BjGPOE+Jsh3k1BYYijJAkrn7ceeLvU4jtjKKXXuXN42O3ARlU4D/P9ezbQYFA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "20.0.0", "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.0.0.tgz", @@ -1494,6 +2000,13 @@ "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", "dev": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, "node_modules/@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", @@ -1756,12 +2269,60 @@ "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", "dev": true, - "engines": { - "node": "^18.0.0 || >=20.0.0" + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz", + "integrity": "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz", + "integrity": "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.6", + "@babel/types": "^7.25.6", + "@vue/babel-helper-vue-transform-on": "1.2.5", + "@vue/babel-plugin-resolve-type": "1.2.5", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz", + "integrity": "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/parser": "^7.25.6", + "@vue/compiler-sfc": "^3.5.3" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vue": "^3.2.25" + "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/compiler-core": { @@ -1815,6 +2376,65 @@ "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" }, + "node_modules/@vue/devtools-core": { + "version": "7.7.2", + "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.7.2.tgz", + "integrity": "sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^7.7.2", + "@vue/devtools-shared": "^7.7.2", + "mitt": "^3.0.1", + "nanoid": "^5.0.9", + "pathe": "^2.0.2", + "vite-hot-client": "^0.2.4" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.2.tgz", + "integrity": "sha512-b+CiXQCNMUGe0Ri64S9SXFcP9hogjAJ2Rd6GdVxhPLRm7mhGaM7VgOvCAJ1ZshfHbqVDI3uqTI5C8/GaKuLI7g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.2", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz", + "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^7.7.2", + "birpc": "^0.2.19", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.1" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.2", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz", + "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==", + "dev": true, + "dependencies": { + "rfdc": "^1.4.1" + } + }, "node_modules/@vue/reactivity": { "version": "3.5.13", "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", @@ -2230,9 +2850,9 @@ } }, "node_modules/axios": { - "version": "1.7.8", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.8.tgz", - "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", + "version": "1.7.9", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -2244,6 +2864,24 @@ "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -2255,6 +2893,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/birpc": { + "version": "0.2.19", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz", + "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", @@ -2317,6 +2964,21 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", @@ -2401,6 +3063,12 @@ "resolved": "https://registry.npmmirror.com/china-area-data/-/china-area-data-5.0.1.tgz", "integrity": "sha512-BQDPpiv5Nn+018ekcJK2oSD9PAD+E1bvXB0wgabc//dFVS/KvRqCgg0QOEUt3vBkx9XzB5a9BmkJCEZDBxVjVw==" }, + "node_modules/china-division": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/china-division/-/china-division-2.7.0.tgz", + "integrity": "sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA==", + "license": "MIT" + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", @@ -2511,6 +3179,27 @@ "node": "^14.18.0 || >=16.10.0" } }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", @@ -2547,6 +3236,15 @@ "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", @@ -2577,8 +3275,9 @@ }, "node_modules/dayjs": { "version": "1.11.13", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" }, "node_modules/debug": { "version": "4.4.0", @@ -2597,12 +3296,58 @@ } } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2621,6 +3366,18 @@ "resolved": "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, + "node_modules/dingrtc": { + "version": "3.8.6", + "resolved": "https://registry.npmjs.org/dingrtc/-/dingrtc-3.8.6.tgz", + "integrity": "sha512-BgctmiwqyE8s/j4aAFhLMFyoMITVRZhj1kx23tWLideHL4HF1Nh3uZ8gQTbORnTbHvY/hCPcgfNntHvId8zbmA==", + "license": "MIT", + "dependencies": { + "@dingrtc/channel": "0.0.6", + "@dingrtc/shared": "1.0.13", + "sdp-transform": "^2.14.2", + "webrtc-adapter": "^8.2.3" + } + }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz", @@ -2634,6 +3391,15 @@ "ssr-window": "^3.0.0-alpha.1" } }, + "node_modules/dompurify": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", + "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/driver.js": { "version": "1.3.1", "resolved": "https://registry.npmmirror.com/driver.js/-/driver.js-1.3.1.tgz", @@ -2659,8 +3425,9 @@ }, "node_modules/echarts": { "version": "5.5.1", - "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.1.tgz", "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", + "license": "Apache-2.0", "dependencies": { "tslib": "2.3.0", "zrender": "5.6.0" @@ -2671,6 +3438,15 @@ "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.80.tgz", "integrity": "sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==" }, + "node_modules/element-china-area-data": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-6.1.0.tgz", + "integrity": "sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg==", + "license": "MIT", + "dependencies": { + "china-division": "^2.7.0" + } + }, "node_modules/element-plus": { "version": "2.8.7", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.8.7.tgz", @@ -2712,6 +3488,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", @@ -2900,9 +3685,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.30.0", - "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.30.0.tgz", - "integrity": "sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==", + "version": "9.32.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.32.0.tgz", + "integrity": "sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -3097,6 +3882,32 @@ "es5-ext": "~0.10.14" } }, + "node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmmirror.com/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/ext": { "version": "1.7.0", "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", @@ -3157,6 +3968,21 @@ "reusify": "^1.0.4" } }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -3315,6 +4141,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-intrinsic": { "version": "1.2.7", "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz", @@ -3350,6 +4185,22 @@ "node": ">= 0.4" } }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/glob": { "version": "9.3.5", "resolved": "https://registry.npmmirror.com/glob/-/glob-9.3.5.tgz", @@ -3468,6 +4319,24 @@ "node": ">= 0.4" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/html-void-elements": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz", @@ -3477,6 +4346,28 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/i18next": { "version": "20.6.1", "resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz", @@ -3485,6 +4376,12 @@ "@babel/runtime": "^7.12.0" } }, + "node_modules/idb-keyval": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.2.tgz", + "integrity": "sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==", + "license": "Apache-2.0" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", @@ -3559,6 +4456,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3591,6 +4503,24 @@ "resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz", "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", @@ -3599,6 +4529,18 @@ "node": ">=0.12.0" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -3607,11 +4549,62 @@ "node": ">=0.10.0" } }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-url": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz", "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", @@ -3670,6 +4663,27 @@ "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", @@ -3688,6 +4702,18 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", @@ -3709,6 +4735,12 @@ "json-buffer": "3.0.1" } }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", @@ -3723,11 +4755,14 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -3827,6 +4862,12 @@ "resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==" }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", @@ -3940,6 +4981,24 @@ "ufo": "^1.5.4" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", @@ -4015,6 +5074,34 @@ "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nprogress": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz", @@ -4059,6 +5146,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", @@ -4123,6 +5228,18 @@ "node": ">=6" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", @@ -4169,9 +5286,15 @@ } }, "node_modules/pathe": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.1.tgz", - "integrity": "sha512-6jpjMpOth5S9ITVu5clZ7NOgHNsv5vRQdheL9ztp2vZmM6fRbLvyua1tiBIL4lk8SAe3ARzeXEly6siXCjDHDw==", + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", "dev": true }, "node_modules/picocolors": { @@ -4199,9 +5322,9 @@ } }, "node_modules/pinia": { - "version": "2.2.6", - "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.6.tgz", - "integrity": "sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==", + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.3.0.tgz", + "integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==", "dependencies": { "@vue/devtools-api": "^6.6.3", "vue-demi": "^0.14.10" @@ -4210,14 +5333,10 @@ "url": "https://github.com/sponsors/posva" }, "peerDependencies": { - "@vue/composition-api": "^1.4.0", "typescript": ">=4.4.4", - "vue": "^2.6.14 || ^3.5.11" + "vue": "^2.7.0 || ^3.5.11" }, "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - }, "typescript": { "optional": true } @@ -4413,17 +5532,6 @@ } } }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, "node_modules/postcss-nested": { "version": "6.2.0", "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.2.0.tgz", @@ -4484,9 +5592,9 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -4498,6 +5606,21 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmmirror.com/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", @@ -4521,9 +5644,9 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.13.1", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.1.tgz", + "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==", "dependencies": { "side-channel": "^1.0.6" }, @@ -4614,6 +5737,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, "node_modules/rollup": { "version": "4.30.1", "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.30.1.tgz", @@ -4652,6 +5781,18 @@ "fsevents": "~2.3.2" } }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4716,6 +5857,21 @@ "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", "dev": true }, + "node_modules/sdp": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/sdp/-/sdp-3.2.1.tgz", + "integrity": "sha512-lwsAIzOPlH8/7IIjjz3K0zYBk7aBVVcvjMwt3M4fLxpjMYyy7i3I97SLHebgn4YBjirkzfp3RvRDWSKsh/+WFw==", + "license": "MIT" + }, + "node_modules/sdp-transform": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.15.0.tgz", + "integrity": "sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==", + "license": "MIT", + "bin": { + "sdp-verify": "checker.js" + } + }, "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz", @@ -4831,6 +5987,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/slate": { "version": "0.72.8", "resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz", @@ -4869,9 +6039,9 @@ } }, "node_modules/sortablejs": { - "version": "1.15.3", - "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.3.tgz", - "integrity": "sha512-zdK3/kwwAK1cJgy1rwl1YtNTbRmc8qW/+vgXf75A7NHag5of4pyI6uK86ktmQETyWRH7IGaE73uZOOBcGxgqZg==" + "version": "1.15.6", + "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.6.tgz", + "integrity": "sha512-aNfiuwMEpfBM/CN6LY0ibyhxPfPbyFeBTYJKCvzkJ2GkUpazIt3H+QIPAMHwqQ7tMKaHz1Qj+rJJCqljnf4p3A==" }, "node_modules/source-map": { "version": "0.6.1", @@ -4907,12 +6077,24 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/splitpanes": { - "version": "3.1.5", - "resolved": "https://registry.npmmirror.com/splitpanes/-/splitpanes-3.1.5.tgz", - "integrity": "sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==", + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/splitpanes/-/splitpanes-3.1.8.tgz", + "integrity": "sha512-iYir0doakV9gYBfCuflGCxCD5Yhh09OGgT+epjfc6LZfTvGDdMXuD0Q4w6jI3hlkdRR1Ta3DlARcV3MOkybymg==", "funding": { "url": "https://github.com/sponsors/antoniandre" + }, + "peerDependencies": { + "vue": "^3.2.0" } }, "node_modules/ssr-window": { @@ -5008,6 +6190,18 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -5080,6 +6274,18 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "dev": true, + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", @@ -5103,33 +6309,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "node_modules/tailwindcss": { - "version": "3.4.14", - "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.14.tgz", - "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", + "version": "3.4.17", + "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -5163,6 +6375,15 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", @@ -5209,6 +6430,15 @@ "node": ">=8.0" } }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/ts-api-utils": { "version": "1.4.3", "resolved": "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz", @@ -5279,6 +6509,18 @@ "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", "dev": true }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unimport": { "version": "3.14.5", "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.14.5.tgz", @@ -5462,6 +6704,15 @@ "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, "node_modules/uuid": { "version": "10.0.0", "resolved": "https://registry.npmmirror.com/uuid/-/uuid-10.0.0.tgz", @@ -5534,6 +6785,18 @@ } } }, + "node_modules/vite-hot-client": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/vite-hot-client/-/vite-hot-client-0.2.4.tgz", + "integrity": "sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" + } + }, "node_modules/vite-plugin-compression": { "version": "0.5.1", "resolved": "https://registry.npmmirror.com/vite-plugin-compression/-/vite-plugin-compression-0.5.1.tgz", @@ -5548,6 +6811,51 @@ "vite": ">=2.0.0" } }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.9", + "resolved": "https://registry.npmmirror.com/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", + "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.3", + "debug": "^4.3.7", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.1.1", + "sirv": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-inspect/node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/vite-plugin-top-level-await": { "version": "1.4.4", "resolved": "https://registry.npmmirror.com/vite-plugin-top-level-await/-/vite-plugin-top-level-await-1.4.4.tgz", @@ -5760,6 +7068,47 @@ "node": ">=10" } }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.7.2", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.2.tgz", + "integrity": "sha512-5V0UijQWiSBj32blkyPEqIbzc6HO9c1bwnBhx+ay2dzU0FakH+qMdNUT8nF9BvDE+i6I1U8CqCuJiO20vKEdQw==", + "dev": true, + "dependencies": { + "@vue/devtools-core": "^7.7.2", + "@vue/devtools-kit": "^7.7.2", + "@vue/devtools-shared": "^7.7.2", + "execa": "^9.5.1", + "sirv": "^3.0.0", + "vite-plugin-inspect": "0.8.9", + "vite-plugin-vue-inspector": "^5.3.1" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", + "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, "node_modules/vue": { "version": "3.5.13", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", @@ -5813,6 +7162,18 @@ } } }, + "node_modules/vue-dompurify-html": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/vue-dompurify-html/-/vue-dompurify-html-5.3.0.tgz", + "integrity": "sha512-HJQGBHbfSPcb6Mu97McdKbX7TqRHZa6Ji8OCpCNyuHca5QvQZ8IiuwghFPSO8OkSQfqXPNPKFMZdCOrnGGmOSQ==", + "license": "MIT", + "dependencies": { + "dompurify": "^3.2.5" + }, + "peerDependencies": { + "vue": "^3.4.36" + } + }, "node_modules/vue-echarts": { "version": "7.0.3", "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-7.0.3.tgz", @@ -5921,6 +7282,14 @@ "vue": "^3.2.0" } }, + "node_modules/vue3-print-nb": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz", + "integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==", + "dependencies": { + "vue": "^3.0.5" + } + }, "node_modules/vuedraggable": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-4.1.0.tgz", @@ -5937,12 +7306,31 @@ "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.14.0.tgz", "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" }, + "node_modules/wavesurfer.js": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/wavesurfer.js/-/wavesurfer.js-7.9.5.tgz", + "integrity": "sha512-ioOG9chuAn0bF2NYYKkZtaxjcQK/hFskLg8ViLYbJHhWPk1N5wWtuqVhqeh2ZWT2SK3t0E8UkD7lLDLuZQQaSA==", + "license": "BSD-3-Clause" + }, "node_modules/webpack-virtual-modules": { "version": "0.6.2", "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", "dev": true }, + "node_modules/webrtc-adapter": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-8.2.4.tgz", + "integrity": "sha512-VwtwbYNKnVQW8koB9qb8YcxNwpSVHTvvKEZLzY6uQ3gFrA9E87VPbB5xE+m1AGwUjL1UgN35jRR9hQgteZI5bg==", + "license": "BSD-3-Clause", + "dependencies": { + "sdp": "^3.2.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", @@ -6061,6 +7449,12 @@ "node": ">=12" } }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/yaml": { "version": "2.7.0", "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.7.0.tgz", @@ -6084,6 +7478,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zrender": { "version": "5.6.0", "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz", diff --git a/package.json b/package.json index 210581d3281e9197d522b349f7abc545dc4d6c85..803ea945edd0eb0580716d8548429a3b93d24686 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "prettier": "prettier --write ." }, "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", "@element-plus/icons-vue": "2.3.1", "@wangeditor/editor": "5.1.23", "@wangeditor/editor-for-vue": "5.1.12", @@ -21,11 +22,20 @@ "china-area-data": "^5.0.1", "codemirror": "5.65.18", "crypto-js": "4.2.0", + "dayjs": "^1.11.13", + "decimal.js": "^10.6.0", + "dingrtc": "^3.8.6", + "dompurify": "^3.2.6", "driver.js": "1.3.1", - "echarts": "5.5.1", + "echarts": "^5.5.1", + "element-china-area-data": "^6.1.0", "element-plus": "2.8.7", + "html2canvas": "^1.4.1", + "idb-keyval": "^6.2.2", "js-cookie": "3.0.5", + "json-bigint": "^1.0.0", "mitt": "3.0.1", + "moment": "^2.30.1", "nprogress": "0.2.0", "pinia": "2.3.0", "postcss": "8.4.49", @@ -37,13 +47,17 @@ "tailwindcss": "3.4.17", "vue": "3.5.13", "vue-clipboard3": "2.0.0", + "vue-dompurify-html": "^5.3.0", "vue-echarts": "7.0.3", "vue-i18n": "9.14.2", "vue-router": "4.4.5", - "vuedraggable": "4.1.0" + "vue3-print-nb": "^0.1.4", + "vuedraggable": "4.1.0", + "wavesurfer.js": "^7.9.5" }, "devDependencies": { "@swc/core": "1.6.13", + "@types/moment": "^2.11.29", "@types/node": "20.0.0", "@types/nprogress": "0.2.3", "@types/sortablejs": "1.15.8", @@ -61,11 +75,12 @@ "sass": "1.58.3", "terser": "5.36.0", "typescript": "5.6.3", + "unplugin-auto-import": "0.18.6", + "unplugin-vue-setup-extend-plus": "1.0.1", "vite": "5.4.11", "vite-plugin-compression": "0.5.1", "vite-plugin-top-level-await": "1.4.4", - "unplugin-auto-import": "0.18.6", - "unplugin-vue-setup-extend-plus": "1.0.1", + "vite-plugin-vue-devtools": "7.7.2", "vue-eslint-parser": "9.4.3" }, "browserslist": [ diff --git a/src/api/admin/sysArea.ts b/src/api/admin/sysArea.ts new file mode 100644 index 0000000000000000000000000000000000000000..de98cf65c58ef7c5047f76b1a158aaa69fbfde87 --- /dev/null +++ b/src/api/admin/sysArea.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/admin/sysArea/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/admin/sysArea', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/admin/sysArea/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/admin/sysArea', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/admin/sysArea', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.areaId !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/admin/sysOpenid.ts b/src/api/admin/sysOpenid.ts new file mode 100644 index 0000000000000000000000000000000000000000..6c82d35c54a1f20ebbbc80004498680529e205ec --- /dev/null +++ b/src/api/admin/sysOpenid.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/admin/sysOpenid/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/admin/sysOpenid', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/admin/sysOpenid/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/admin/sysOpenid', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/admin/sysOpenid', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/admin/sysSms.ts b/src/api/admin/sysSms.ts new file mode 100644 index 0000000000000000000000000000000000000000..1fcaa276cbe8b90d3d61427cbeb5a14af42177c6 --- /dev/null +++ b/src/api/admin/sysSms.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/admin/sysSms/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/admin/sysSms', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/admin/sysSms/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/admin/sysSms', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/admin/sysSms', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/admin/user.ts b/src/api/admin/user.ts index 383d8da8439b95b79375f9fd48c59465444de21e..2e8d438cf7f03244a7d3f443ed8d5190365c92b3 100644 --- a/src/api/admin/user.ts +++ b/src/api/admin/user.ts @@ -23,6 +23,14 @@ export const getObj = (id: String) => { }); }; +export const userDeptTree = (params?: Object) => { + return request({ + url: '/admin/user/userDeptTree', + method: 'get', + params, + }); +}; + export const delObj = (ids: Object) => { return request({ url: '/admin/user', diff --git a/src/api/admin/userFollow.ts b/src/api/admin/userFollow.ts new file mode 100644 index 0000000000000000000000000000000000000000..f141d4fdfe8b7e8f6829d0bcdd62d4d43293d896 --- /dev/null +++ b/src/api/admin/userFollow.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/userFollow/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/admin/userFollow', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/admin/userFollow/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/admin/userFollow', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/admin/userFollow', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/assessment/assessmentTag.ts b/src/api/assessment/assessmentTag.ts new file mode 100644 index 0000000000000000000000000000000000000000..c934a2fc00eff37f517e11b15b7d55f08d02bcd9 --- /dev/null +++ b/src/api/assessment/assessmentTag.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentIndexTag/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndexTag', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndexTag/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentIndexTag', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndexTag', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/consultant.ts b/src/api/consultant/consultant.ts new file mode 100644 index 0000000000000000000000000000000000000000..591533dda629b101b3eb5b1cd5a696e7131dd9c5 --- /dev/null +++ b/src/api/consultant/consultant.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/consultant/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/consultant', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/consultant/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/consultant', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/consultant', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/consultantAddress.ts b/src/api/consultant/consultantAddress.ts new file mode 100644 index 0000000000000000000000000000000000000000..73ddb9d856af9ffa0ca83cbd911e31f74cd28dbf --- /dev/null +++ b/src/api/consultant/consultantAddress.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/consultantAddress/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/consultantAddress', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/consultantAddress/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/consultantAddress', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/consultantAddress', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/consultantCredential.ts b/src/api/consultant/consultantCredential.ts new file mode 100644 index 0000000000000000000000000000000000000000..644e1576465c1741e1e7263a83f089ebe5356db1 --- /dev/null +++ b/src/api/consultant/consultantCredential.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/consultantCredential/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/consultantCredential', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/consultantCredential/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/consultantCredential', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/consultantCredential', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/consultantExperience.ts b/src/api/consultant/consultantExperience.ts new file mode 100644 index 0000000000000000000000000000000000000000..6e8d5f240db59cb2ea8b8257a9b4e92106125d79 --- /dev/null +++ b/src/api/consultant/consultantExperience.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/consultantExperience/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/consultantExperience', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/consultantExperience/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/consultantExperience', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/consultantExperience', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/consultantStaff.ts b/src/api/consultant/consultantStaff.ts new file mode 100644 index 0000000000000000000000000000000000000000..cc8c8cf769705cf2ceeafaf906c2618c101972be --- /dev/null +++ b/src/api/consultant/consultantStaff.ts @@ -0,0 +1,122 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/consultantStaff/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function changeStatus(query?: Object) { + return request({ + url: '/platform/consultantStaff/changeStatus', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getStatus() { + return request({ + url: '/platform/consultantStaff/getStatus', + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/consultantStaff', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/consultantStaff/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/consultantStaff', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/consultantStaff', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/consultantTag.ts b/src/api/consultant/consultantTag.ts new file mode 100644 index 0000000000000000000000000000000000000000..c0030b6b4b2bf3516fac9217bb7d82c76ba026a0 --- /dev/null +++ b/src/api/consultant/consultantTag.ts @@ -0,0 +1,109 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/consultantTag/page', + method: 'get', + params: query, + }); +} + +/** + * 获取树形数据 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function tree() { + return request({ + url: '/platform/consultantTag/tree', + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/consultantTag', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/consultantTag/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/consultantTag', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/consultantTag', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/consultant/visitingSituation.ts b/src/api/consultant/visitingSituation.ts new file mode 100644 index 0000000000000000000000000000000000000000..c867e360770964ee7263ebf5edb15d4db63f8606 --- /dev/null +++ b/src/api/consultant/visitingSituation.ts @@ -0,0 +1,145 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/visitingSituation/page', + method: 'get', + params: query, + }); +} + +/** + * 为指定用户生成一个无身份认证使用的二维码code + */ +export function createQrCode(userId: string, orderId: string) { + return request({ + url: '/weixin/visitingSituation/createQrCode', + method: 'get', + params: { userId, orderId }, + }); +} +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function visitingExamineList(query?: Object) { + return request({ + url: '/platform/visitingSituation/visitingExamineList', + method: 'get', + params: query, + }); +} +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [data] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function pass(data?: Object) { + return request({ + url: '/weixin/visitingSituation/pass', + method: 'post', + data: data, + }); +} +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [data] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function reject(data?: Object) { + return request({ + url: '/weixin/visitingSituation/reject', + method: 'post', + data: data, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/visitingSituation', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/visitingSituation/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/visitingSituation', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/visitingSituation', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/course/course.ts b/src/api/course/course.ts new file mode 100644 index 0000000000000000000000000000000000000000..f9318c8ab8b5a9c7c4df33cb5478451aa3a5d3c4 --- /dev/null +++ b/src/api/course/course.ts @@ -0,0 +1,155 @@ +import request from '/@/utils/request'; +import { fetchItemList } from '/@/api/admin/dict'; +/** + * getTeacherSelect + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getTeacherSelect() { + return request({ + url: '/platform/teacher/select', + method: 'get', + }); +} +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getSeriesList(query?: Object) { + return request({ + url: '/platform/series/list', + method: 'get', + params: query, + }); +} +/** + * 发布 + */ +export function publish(id: string) { + return request({ + url: '/platform/course/publish/' + id, + method: 'get', + }); +} +/** + * 下架 + */ +export function down(id: string) { + return request({ + url: '/platform/course/down/' + id, + method: 'get', + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getCategoryList() { + return fetchItemList({ dictType: 'course_type', dictId: '1922951811520282626', current: 1, size: 1000 }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getTagList() { + return fetchItemList({ dictType: 'course_tag', dictId: '1922951881510633473', current: 1, size: 1000 }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/course/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/course', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/course/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/course', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/course', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/course/learnRecord.ts b/src/api/course/learnRecord.ts new file mode 100644 index 0000000000000000000000000000000000000000..7f14741b9fcb77974c6eb4e21c333d5e9b54f63a --- /dev/null +++ b/src/api/course/learnRecord.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/course/learnRecord/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/course/learnRecord', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/course/learnRecord/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/course/learnRecord', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/course/learnRecord', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/course/series.ts b/src/api/course/series.ts new file mode 100644 index 0000000000000000000000000000000000000000..5d67eca0f83b3a04f1e9ec4f0f831ecca43ad4c7 --- /dev/null +++ b/src/api/course/series.ts @@ -0,0 +1,116 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/series/page', + method: 'get', + params: query, + }); +} +/** + * 发布 + */ +export function publish(id: string) { + return request({ + url: '/platform/series/publish/' + id, + method: 'get', + }); +} +/** + * 下架 + */ +export function down(id: string) { + return request({ + url: '/platform/series/down/' + id, + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/series', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/series/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/series', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/series', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/course/teacher.ts b/src/api/course/teacher.ts new file mode 100644 index 0000000000000000000000000000000000000000..a055239385a9a030ff24ccd38dcb826fb52711bd --- /dev/null +++ b/src/api/course/teacher.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/teacher/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/teacher', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/teacher/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/teacher', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/teacher', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/course/teacherLive.ts b/src/api/course/teacherLive.ts new file mode 100644 index 0000000000000000000000000000000000000000..bb53517c27389a3ff63ae807fd28447b18c8bbeb --- /dev/null +++ b/src/api/course/teacherLive.ts @@ -0,0 +1,115 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/teacherLive/page', + method: 'get', + params: query, + }); +} +/** + * 发布 + */ +export function publish(id: string) { + return request({ + url: '/platform/teacherLive/publish/' + id, + method: 'get', + }); +} +/** + * 下架 + */ +export function down(id: string) { + return request({ + url: '/platform/teacherLive/down/' + id, + method: 'get', + }); +} +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/teacherLive', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/teacherLive/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/teacherLive', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/teacherLive', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/flow/flowExecution.ts b/src/api/flow/flowExecution.ts new file mode 100644 index 0000000000000000000000000000000000000000..15e34039bbdfaa336a4e41d59f150da671eddd29 --- /dev/null +++ b/src/api/flow/flowExecution.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/flowExecution/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/flowExecution', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/flowExecution/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/flowExecution', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/flowExecution', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/flow/flowModel.ts b/src/api/flow/flowModel.ts new file mode 100644 index 0000000000000000000000000000000000000000..be23dda319cb9024077e72d2d5f5b8a2bf8f59c1 --- /dev/null +++ b/src/api/flow/flowModel.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/flowModel/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/flowModel/addFlowModel', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/flowModel/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/flowModel', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/flowModel/addFlowModel', + method: 'post', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/flow/flowNode.ts b/src/api/flow/flowNode.ts new file mode 100644 index 0000000000000000000000000000000000000000..fc9808f74c5d1abcbcba03d13b809b12a38d49f5 --- /dev/null +++ b/src/api/flow/flowNode.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/flowNode/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/flowNode', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/flowNode/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/flowNode', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/flowNode', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/flow/flowParam.ts b/src/api/flow/flowParam.ts new file mode 100644 index 0000000000000000000000000000000000000000..1bae3d46f1136032d76cb88f6fb8896432a3371e --- /dev/null +++ b/src/api/flow/flowParam.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/flowParam/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/flowParam', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/flowParam/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/flowParam', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/flowParam', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/flow/flowTask.ts b/src/api/flow/flowTask.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc5e2fbe1a1e59a96daec07d15fcd6abd5867fab --- /dev/null +++ b/src/api/flow/flowTask.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/flowTask/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/flowTask', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/flowTask/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/flowTask', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/flowTask', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/goods/comment.ts b/src/api/goods/comment.ts new file mode 100644 index 0000000000000000000000000000000000000000..9e7163412b3e0d3bc7627733280858cffcb9cded --- /dev/null +++ b/src/api/goods/comment.ts @@ -0,0 +1,98 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/comment/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/comment', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/comment/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/comment', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/comment', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/goods/goods.ts b/src/api/goods/goods.ts new file mode 100644 index 0000000000000000000000000000000000000000..9e507c5740d7503dd8bc3459c03b44a728453cde --- /dev/null +++ b/src/api/goods/goods.ts @@ -0,0 +1,118 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/goods/page', + method: 'get', + params: query, + }); +} + +/** + * 发布 + */ +export function publish(id: string) { + return request({ + url: '/platform/goods/publish/' + id, + method: 'get', + }); +} + +/** + * 下架 + */ +export function down(id: string) { + return request({ + url: '/platform/goods/down/' + id, + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/goods', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/goods/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/goods', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/goods', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/goods/goodsCoupon.ts b/src/api/goods/goodsCoupon.ts new file mode 100644 index 0000000000000000000000000000000000000000..1e9ffc5ce4e5c339036e3cf1891c63f5254bec13 --- /dev/null +++ b/src/api/goods/goodsCoupon.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/goods/goodsCoupon/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/goods/goodsCoupon', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/goods/goodsCoupon/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/goods/goodsCoupon', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/goods/goodsCoupon', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/goods/goodsOrder.ts b/src/api/goods/goodsOrder.ts new file mode 100644 index 0000000000000000000000000000000000000000..3648ff62782c1d42e0ffcf2e3c3b5f609ec7f64a --- /dev/null +++ b/src/api/goods/goodsOrder.ts @@ -0,0 +1,248 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/goodsOrder/page', + method: 'get', + params: query, + }); +} + +/** + * 微信号变更已读 + */ +export function wxCodeChangeRead(orderId?: string) { + return request({ + url: '/platform/goodsOrder/wxCodeChangeRead/' + orderId, + method: 'get', + }); +} + +/** + * 获取订单的微信号 + */ +export function getWxCode(query?: Object) { + return request({ + url: '/platform/goodsOrder/getWechatAll', + method: 'get', + params: query, + }); +} + +/** + * 根据日期获取咨询师排班数据 + */ +export function getScheduleList(query?: Object) { + return request({ + url: '/weixin/doctorSchedule/getDoctorDaySchedule', + method: 'get', + params: query, + }); +} + +/** + * 管理者取消预约 + */ +export function cancelAppointmentByManager(query?: any) { + return request({ + url: '/weixin/doctorSchedule/cancelAppointmentByManager/' + query.scheduleId, + method: 'get', + params: query, + }); +} + +/** + * 微信号变更已读 + */ +export function appointmentRemoveStep(logId?: string) { + return request({ + url: '/weixin/doctorSchedule/appointmentRemoveStep/' + logId, + method: 'get', + }); +} + +/** + * 管理者修改预约 + */ +export function appointmentUpdateRemark(query?: Object) { + return request({ + url: '/weixin/doctorSchedule/appointmentUpdateRemark', + method: 'post', + data: query, + }); +} + +/** + * 管理者修改预约 + */ +export function updateAppointmentByManager(query?: Object) { + return request({ + url: '/weixin/doctorSchedule/updateAppointmentByManager', + method: 'post', + data: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function serviceList(query?: Object) { + return request({ + url: '/platform/goodsOrder/serviceList', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function serviceListOperate(query?: Object) { + return request({ + url: '/platform/goodsOrder/serviceListOperate', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function serviceListOperateStatistics(query?: Object) { + return request({ + url: '/platform/goodsOrder/serviceListOperateStatistics', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function appointmentChangeStatus(obj?: Object) { + return request({ + url: 'weixin/doctorSchedule/appointmentChangeStatus', + method: 'post', + data: obj, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function scheduleStatusList(query?: Object) { + return request({ + url: '/platform/goodsOrder/scheduleStatusList', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function orderStatusList() { + return request({ + url: '/platform/goodsOrder/orderStatusList', + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/goods/goodsOrder', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/goods/goodsOrder/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/goods/goodsOrder', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/goods/goodsOrder', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/goods/goodsOrderParam.ts b/src/api/goods/goodsOrderParam.ts new file mode 100644 index 0000000000000000000000000000000000000000..13b234b24fa1ed933323518b6623a8515df9e5e3 --- /dev/null +++ b/src/api/goods/goodsOrderParam.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/goods/goodsOrderParam/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/goods/goodsOrderParam', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/goods/goodsOrderParam/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/goods/goodsOrderParam', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/goods/goodsOrderParam', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/goods/goodsOrderRefund.ts b/src/api/goods/goodsOrderRefund.ts new file mode 100644 index 0000000000000000000000000000000000000000..876dfa4dc7ef82ffb1a3d5f3cf230b589b61386d --- /dev/null +++ b/src/api/goods/goodsOrderRefund.ts @@ -0,0 +1,124 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/goodsOrderRefund/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/goodsOrderRefund', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function pass(obj?: Object) { + return request({ + url: '/weixin/myOrder/agreeRefund', + method: 'get', + params: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function reject(obj?: Object) { + return request({ + url: '/weixin/myOrder/rejectRefund', + method: 'get', + params: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/goodsOrderRefund/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/goodsOrderRefund', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/goodsOrderRefund', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/login/index.ts b/src/api/login/index.ts index 9c0bda7b809cc3853c809057e010183290500aaa..be55e567b7848c2c43c47e371cdca300bf1071ee 100644 --- a/src/api/login/index.ts +++ b/src/api/login/index.ts @@ -1,7 +1,7 @@ import request from '/@/utils/request'; -import {Session} from '/@/utils/storage'; -import {validateNull} from '/@/utils/validate'; -import {useUserInfo} from '/@/stores/userInfo'; +import { Session } from '/@/utils/storage'; +import { validateNull } from '/@/utils/validate'; +import { useUserInfo } from '/@/stores/userInfo'; import other from '/@/utils/other'; /** @@ -15,84 +15,88 @@ const FORM_CONTENT_TYPE = 'application/x-www-form-urlencoded'; * @param data */ export const login = (data: any) => { - const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_PASSWORD_CLIENT); - Session.set('basicAuth', basicAuth); - let encPassword = data.password; - // 密码加密 - if (import.meta.env.VITE_PWD_ENC_KEY) { - encPassword = other.encryption(data.password, import.meta.env.VITE_PWD_ENC_KEY); - } - return request({ - url: '/auth/oauth2/token', - method: 'post', - data: {...data, password: encPassword}, - headers: { - skipToken: true, - Authorization: basicAuth, - 'Content-Type': FORM_CONTENT_TYPE, - }, - }); + const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_PASSWORD_CLIENT); + // console.log(import.meta.env.VITE_OAUTH2_PASSWORD_CLIENT); + // console.log(basicAuth); + // const basicAuth = 'Basic ' + window.btoa('weixin:weixin'); + + // Session.set('basicAuth', basicAuth); + let encPassword = data.password; + // 密码加密 + if (import.meta.env.VITE_PWD_ENC_KEY) { + encPassword = other.encryption(data.password, import.meta.env.VITE_PWD_ENC_KEY); + } + return request({ + url: '/auth/oauth2/token', + method: 'post', + data: { ...data, password: encPassword }, + headers: { + skipToken: true, + Authorization: basicAuth, + 'Content-Type': FORM_CONTENT_TYPE, + }, + }); }; export const loginByMobile = (mobile: any, code: any) => { - const grant_type = 'mobile'; - const scope = 'server'; - const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_MOBILE_CLIENT); - Session.set('basicAuth', basicAuth); + const grant_type = 'mobile'; + const scope = 'server'; + const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_MOBILE_CLIENT); + Session.set('basicAuth', basicAuth); - return request({ - url: '/auth/oauth2/token', - headers: { - skipToken: true, - Authorization: basicAuth, - 'Content-Type': FORM_CONTENT_TYPE, - }, - method: 'post', - data: {mobile: mobile, code: code, grant_type, scope}, - }); + return request({ + url: '/auth/oauth2/token', + headers: { + skipToken: true, + Authorization: basicAuth, + 'Content-Type': FORM_CONTENT_TYPE, + }, + method: 'post', + data: { mobile: mobile, code: code, grant_type, scope }, + }); }; export const loginBySocial = (state: string, code: string) => { - const grant_type = 'mobile'; - const scope = 'server'; - const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_SOCIAL_CLIENT); - Session.set('basicAuth', basicAuth); + const grant_type = 'mobile'; + const scope = 'server'; + const basicAuth = 'Basic ' + window.btoa(import.meta.env.VITE_OAUTH2_SOCIAL_CLIENT); + Session.set('basicAuth', basicAuth); - return request({ - url: '/auth/oauth2/token', - headers: { - skipToken: true, - Authorization: basicAuth, - 'Content-Type': FORM_CONTENT_TYPE, - }, - method: 'post', - data: {mobile: state + '@' + code, code: code, grant_type, scope}, - }); + return request({ + url: '/auth/oauth2/token', + headers: { + skipToken: true, + Authorization: basicAuth, + 'Content-Type': FORM_CONTENT_TYPE, + }, + method: 'post', + data: { mobile: state + '@' + code, code: code, grant_type, scope }, + }); }; export const sendMobileCode = (mobile: any) => { - return request({ - url: '/admin/mobile/' + mobile, - method: 'get', - }); + return request({ + url: '/admin/mobile/' + mobile, + method: 'get', + }); }; export const refreshTokenApi = (refresh_token: string) => { - const grant_type = 'refresh_token'; - const scope = 'server'; - // 获取当前选中的 basic 认证信息 - const basicAuth = Session.get('basicAuth'); + const grant_type = 'refresh_token'; + const scope = 'server'; + // 获取当前选中的 basic 认证信息 + const basicAuth = Session.get('basicAuth'); - return request({ - url: '/auth/oauth2/token', - headers: { - skipToken: true, - Authorization: basicAuth, - 'Content-Type': FORM_CONTENT_TYPE, - }, - method: 'post', - data: {refresh_token, grant_type, scope}, - }); + return request({ + url: '/auth/oauth2/token', + headers: { + skipToken: true, + Authorization: basicAuth, + 'Content-Type': FORM_CONTENT_TYPE, + }, + method: 'post', + data: { refresh_token, grant_type, scope }, + }); }; /** @@ -100,58 +104,58 @@ export const refreshTokenApi = (refresh_token: string) => { * @param refreshLock */ export const checkToken = (refreshTime: number, refreshLock: boolean) => { - const basicAuth = Session.get('basicAuth'); - request({ - url: '/auth/token/check_token', - headers: { - skipToken: true, - Authorization: basicAuth, - 'Content-Type': FORM_CONTENT_TYPE, - }, - method: 'get', - params: {token: Session.getToken()}, - }) - .then((response) => { - if (validateNull(response) || response.code === 1) { - clearInterval(refreshTime); - return; - } - const expire = Date.parse(response.data.expiresAt); - if (expire) { - const expiredPeriod = expire - new Date().getTime(); - //小于半小时自动续约 - if (expiredPeriod <= 30 * 60 * 1000) { - if (!refreshLock) { - refreshLock = true; - useUserInfo() - .refreshToken() - .catch(() => { - clearInterval(refreshTime); - }); - refreshLock = false; - } - } - } - }) - .catch(() => { - // 发生异常关闭定时器 - clearInterval(refreshTime); - }); + const basicAuth = Session.get('basicAuth'); + request({ + url: '/auth/token/check_token', + headers: { + skipToken: true, + Authorization: basicAuth, + 'Content-Type': FORM_CONTENT_TYPE, + }, + method: 'get', + params: { token: Session.getToken() }, + }) + .then((response) => { + if (validateNull(response) || response.code === 1) { + clearInterval(refreshTime); + return; + } + const expire = Date.parse(response.data.expiresAt); + if (expire) { + const expiredPeriod = expire - new Date().getTime(); + //小于半小时自动续约 + if (expiredPeriod <= 30 * 60 * 1000) { + if (!refreshLock) { + refreshLock = true; + useUserInfo() + .refreshToken() + .catch(() => { + clearInterval(refreshTime); + }); + refreshLock = false; + } + } + } + }) + .catch(() => { + // 发生异常关闭定时器 + clearInterval(refreshTime); + }); }; /** * 获取用户信息 */ export const getUserInfo = () => { - return request({ - url: '/admin/user/info', - method: 'get', - }); + return request({ + url: '/admin/user/info', + method: 'get', + }); }; export const logout = () => { - return request({ - url: '/auth/token/logout', - method: 'delete', - }); + return request({ + url: '/auth/token/logout', + method: 'delete', + }); }; diff --git a/src/api/message/consultMessageLog.ts b/src/api/message/consultMessageLog.ts new file mode 100644 index 0000000000000000000000000000000000000000..201e7f19862f0b27ed552cedcf7792fc300d72ac --- /dev/null +++ b/src/api/message/consultMessageLog.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/consultMessageLog/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/consultMessageLog', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/consultMessageLog/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/consultMessageLog', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/consultMessageLog', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/message/consultRecord.ts b/src/api/message/consultRecord.ts new file mode 100644 index 0000000000000000000000000000000000000000..4f9dcd41e5fd839a90e646e0fae18a09a6c828ad --- /dev/null +++ b/src/api/message/consultRecord.ts @@ -0,0 +1,155 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/consultRecord/page', + method: 'get', + params: query, + }); +} + +/** + * getConsultantDetails + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getConsultantDetails(query?: Object) { + return request({ + url: '/weixin/consultant/details', + method: 'get', + params: query, + }); +} + +/** + * + * @param data + * @returns + */ +export function sendMessage(data?: Object) { + return request({ + url: '/message/consultRecord/sendMessage', + method: 'post', + data: data, + }); +} + +/** + * + * @param consultHash + * @returns + */ +export function setSysReadByConsultHash(consultHash?: string) { + return request({ + url: '/message/consultRecord/setSysReadByConsultHash/' + consultHash, + method: 'get', + }); +} + +/** + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 获取咨询列表 + */ +export function getConsultList(query?: Object) { + return request({ + url: '/message/consultRecord/getConsultList', + method: 'get', + params: query, + }); +} + +export function getConsultMessageRecord(obj?: Object) { + return request({ + url: '/message/consultRecord/getConsultMessageRecord', + method: 'post', + data: obj, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/consultRecord', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/consultRecord/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/consultRecord', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/consultRecord', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/message/guideKeyword.ts b/src/api/message/guideKeyword.ts new file mode 100644 index 0000000000000000000000000000000000000000..573494b507fd41f939deb44b2e7317ff94ea2a36 --- /dev/null +++ b/src/api/message/guideKeyword.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/guideKeyword/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/guideKeyword', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/guideKeyword/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/guideKeyword', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/guideKeyword', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/message/guideOption.ts b/src/api/message/guideOption.ts new file mode 100644 index 0000000000000000000000000000000000000000..c649b7c06eba771f07cc7e4ede76f9f899b52629 --- /dev/null +++ b/src/api/message/guideOption.ts @@ -0,0 +1,121 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/guideOption/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getMinWeight() { + return request({ + url: '/message/guideOption/getMinWeight', + method: 'get', + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {number} [weight] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function setMinWeight(weight?: number) { + return request({ + url: '/message/guideOption/setMinWeight/' + weight, + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/guideOption', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/guideOption/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/guideOption', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/guideOption', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/message/message.ts b/src/api/message/message.ts new file mode 100644 index 0000000000000000000000000000000000000000..7891fce70d1e68d8fc1a71b88c0e7a3ebc69190a --- /dev/null +++ b/src/api/message/message.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/message/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/message', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/message/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/message', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/message', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/message/pigeonsMessage.ts b/src/api/message/pigeonsMessage.ts new file mode 100644 index 0000000000000000000000000000000000000000..2ce884c2ad0762ad0988e6ba2d7d6a6a08d3ddb5 --- /dev/null +++ b/src/api/message/pigeonsMessage.ts @@ -0,0 +1,36 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/pigeonsMessage/pigeonsMessageList', + method: 'get', + params: query, + }); +} + +/** + * 获取回复记录列表 + */ +export function fetchReplyList(query?: Object) { + return request({ + url: '/message/WxReplyMessage/recordMessageList', + method: 'get', + params: query, + }); +} + +/** + * 回复消息 + */ +export function replyMessage(data: Object) { + return request({ + url: '/message/replyMessage/reply', + method: 'post', + data, + }); +} diff --git a/src/api/message/replyMessage.ts b/src/api/message/replyMessage.ts new file mode 100644 index 0000000000000000000000000000000000000000..3963424f8aa7f3b30a99abe7d9ec7f9ba7243bfe --- /dev/null +++ b/src/api/message/replyMessage.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/replyMessage/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/replyMessage', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/replyMessage/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/replyMessage', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/replyMessage', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/message/userMessage.ts b/src/api/message/userMessage.ts new file mode 100644 index 0000000000000000000000000000000000000000..f8e05d6d6666e3eb3032dbe7126a41518bfd09ec --- /dev/null +++ b/src/api/message/userMessage.ts @@ -0,0 +1,111 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/message/userMessage/list', + method: 'post', + data: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/message/userMessage', + method: 'post', + data: obj, + }); +} + +/** + * 后台手动推送消息 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function pushMessage(obj?: Object) { + return request({ + url: '/message/message/push', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/message/userMessage/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/message/userMessage', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/message/userMessage', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/assessmentDescribe.ts b/src/api/platform/assessmentDescribe.ts new file mode 100644 index 0000000000000000000000000000000000000000..173150389e63d100c9d08bc5718705a07ccc633d --- /dev/null +++ b/src/api/platform/assessmentDescribe.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentDescribe/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentDescribe', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentDescribe/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentDescribe', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentDescribe', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/assessmentIndicators.ts b/src/api/platform/assessmentIndicators.ts new file mode 100644 index 0000000000000000000000000000000000000000..39d6770f353170b17da2d4ed2d45257fc48f63e0 --- /dev/null +++ b/src/api/platform/assessmentIndicators.ts @@ -0,0 +1,174 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentIndicators/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {string} [indicatorName] - 查询参数。 + * @param {string} [tableId] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function deleteByIndicatorName(indicatorName: string, tableId: string) { + return request({ + url: '/platform/assessmentIndicators/deleteByIndicatorName/' + tableId + '/' + indicatorName, + method: 'get', + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {data} [Object] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function updateFactorByIndicator(data: Object) { + return request({ + url: '/platform/assessmentIndicators/updateFactorByIndicator', + method: 'post', + data: data, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {string} [tableId] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getIndicatorList(tableId: string) { + return request({ + url: '/platform/assessmentIndicators/indicatorList/' + tableId, + method: 'get', + }); +} + +/** + * 添加指标说明 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addIndicators(obj?: Object) { + return request({ + url: '/platform/assessmentIndicators/addIndicators', + method: 'post', + data: obj, + }); +} + +/** + * 移除指标说明 + * @param {indicatorsId} [String] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function removeIndicators(indicatorsId?: String) { + return request({ + url: '/platform/assessmentIndicators/removeIndicators/' + indicatorsId, + method: 'delete', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndicators', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndicators/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentIndicators', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndicators', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {String} [tableId] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getAssessmentIndicators(tableId?: String, params?: Object) { + return request({ + url: '/platform/assessmentIndicators/getAssessmentIndicators/' + tableId, + method: 'get', + params: params, + }); +} diff --git a/src/api/platform/assessmentIndicatorsRange.ts b/src/api/platform/assessmentIndicatorsRange.ts new file mode 100644 index 0000000000000000000000000000000000000000..83ca5bde1ca644f0e35fb17ad67507193ca0ad5f --- /dev/null +++ b/src/api/platform/assessmentIndicatorsRange.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentIndicatorsRange/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndicatorsRange', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndicatorsRange/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentIndicatorsRange', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentIndicatorsRange', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/assessmentPeopleTag.ts b/src/api/platform/assessmentPeopleTag.ts new file mode 100644 index 0000000000000000000000000000000000000000..6b56b5f3f7d5b303eb8e1ab391d73160697bdafb --- /dev/null +++ b/src/api/platform/assessmentPeopleTag.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentPeopleTag/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentPeopleTag', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentPeopleTag/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentPeopleTag', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentPeopleTag', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/assessmentPublisherInfo.ts b/src/api/platform/assessmentPublisherInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..44796f80ae9498c99108e56c35057f440d2c3797 --- /dev/null +++ b/src/api/platform/assessmentPublisherInfo.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/assessmentTheme.ts b/src/api/platform/assessmentTheme.ts new file mode 100644 index 0000000000000000000000000000000000000000..80231f75d709c9036d7f0aef5e5a53225358c445 --- /dev/null +++ b/src/api/platform/assessmentTheme.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentTheme/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentTheme', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentTheme/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentTheme', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentTheme', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/assessmentType.ts b/src/api/platform/assessmentType.ts new file mode 100644 index 0000000000000000000000000000000000000000..bd9d2931a221bf2ac2951bd21dc465854fe56a84 --- /dev/null +++ b/src/api/platform/assessmentType.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/assessmentType/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/assessmentType', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/assessmentType/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/assessmentType', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/assessmentType', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/doctorSchedule.ts b/src/api/platform/doctorSchedule.ts new file mode 100644 index 0000000000000000000000000000000000000000..fa4967450638efad03d17130196228f26e1f5115 --- /dev/null +++ b/src/api/platform/doctorSchedule.ts @@ -0,0 +1,123 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getDoctorSchedule(query?: Object) { + return request({ + url: '/platform/doctorSchedule/getDoctorSchedule', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function saveDoctorSchedule(data?: any[]) { + return request({ + url: '/platform/doctorSchedule/saveDoctorSchedule', + method: 'post', + data: data, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/doctorSchedule/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/doctorSchedule', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/doctorSchedule/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/doctorSchedule', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/doctorSchedule', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/doctorScheduleLog.ts b/src/api/platform/doctorScheduleLog.ts new file mode 100644 index 0000000000000000000000000000000000000000..57c2388d933315ee755cb93f2e004133ec056aac --- /dev/null +++ b/src/api/platform/doctorScheduleLog.ts @@ -0,0 +1,110 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/doctorScheduleLog/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {string} [orderId] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function logList(orderId?: string) { + return request({ + url: '/weixin/serviceRoom/logList/' + orderId, + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/doctorScheduleLog', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/doctorScheduleLog/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/doctorScheduleLog', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/doctorScheduleLog', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/platformArticle.ts b/src/api/platform/platformArticle.ts new file mode 100644 index 0000000000000000000000000000000000000000..de9f9ca5023ab8b4fb18d5a4c3fcca4429f44c52 --- /dev/null +++ b/src/api/platform/platformArticle.ts @@ -0,0 +1,149 @@ +import { t } from '@wangeditor/editor'; +import request from '/@/utils/request'; + +/** + * 获取类型下拉框 + */ +export function getTypeList() { + return request({ + url: '/platform/platformArticle/type/select', + method: 'get', + }); +} + +/** + * 获取类型下拉框 + */ +export function getTagList(type?: string) { + return request({ + url: '/platform/platformArticle/getTagList/' + type, + method: 'get', + }); +} + +/** + * 发布 + */ +export function publish(id: string) { + return request({ + url: '/platform/platformArticle/publish/' + id, + method: 'get', + }); +} + +/** + * 获取类型下拉框 + */ +export function getsorting() { + return request({ + url: '/platform/platformArticle/getSorting', + method: 'get', + }); +} + +/** + * 下架 + */ +export function down(id: string) { + return request({ + url: '/platform/platformArticle/down/' + id, + method: 'get', + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/platformArticle/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/platformArticle', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/platformArticle/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/platformArticle', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/platformArticle', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/platformIndex.ts b/src/api/platform/platformIndex.ts new file mode 100644 index 0000000000000000000000000000000000000000..08fb1e1656a40e9e52ba2d9a09b2e31aa37f8371 --- /dev/null +++ b/src/api/platform/platformIndex.ts @@ -0,0 +1,84 @@ +import { t } from '@wangeditor/editor'; +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/indexType/typeList', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/indexType/setList', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {string} [type] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(type?: string) { + return request({ + url: '/platform/indexType/list/' + type, + method: 'get', + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [type] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(type?: string) { + return request({ + url: '/platform/indexType/' + type, + method: 'delete', + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/question.ts b/src/api/platform/question.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc4ed4d0361cf3711e43ac0561d1188220fdb5ad --- /dev/null +++ b/src/api/platform/question.ts @@ -0,0 +1,110 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/question/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {String} [tableId] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getIndicatorList(tableId?: String) { + return request({ + url: '/platform/questionTable/getIndicatorsByTableId/' + tableId, + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/question', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/question/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/question', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/question', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/questionCombination.ts b/src/api/platform/questionCombination.ts new file mode 100644 index 0000000000000000000000000000000000000000..68e19fe5890aa692500396edfb64c21138ed933b --- /dev/null +++ b/src/api/platform/questionCombination.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/questionCombination/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/questionCombination', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/questionCombination/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/questionCombination', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/questionCombination', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/questionOption.ts b/src/api/platform/questionOption.ts new file mode 100644 index 0000000000000000000000000000000000000000..81fc684c933127f3d6e85e6d3f0448c9433278d4 --- /dev/null +++ b/src/api/platform/questionOption.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/questionOption/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/questionOption', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/questionOption/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/questionOption', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/questionOption', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/questionRecord.ts b/src/api/platform/questionRecord.ts new file mode 100644 index 0000000000000000000000000000000000000000..aecd6a24858f97df65b71955fae1855b03a7c138 --- /dev/null +++ b/src/api/platform/questionRecord.ts @@ -0,0 +1,111 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/questionRecord/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function pageByServiceId(query?: Object) { + return request({ + url: '/platform/questionRecord/pageByServiceId', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/questionRecord', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/questionRecord/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/questionRecord', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/questionRecord', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/questionRecordDetails.ts b/src/api/platform/questionRecordDetails.ts new file mode 100644 index 0000000000000000000000000000000000000000..70ee5ddba6bdd21fc4dbd44d9f65718c1465df6f --- /dev/null +++ b/src/api/platform/questionRecordDetails.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/questionRecordDetails/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/questionRecordDetails', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/questionRecordDetails/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/questionRecordDetails', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/questionRecordDetails', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/questionTable.ts b/src/api/platform/questionTable.ts new file mode 100644 index 0000000000000000000000000000000000000000..5edf173f33e91ea5efcd6989bb24709c09ad78da --- /dev/null +++ b/src/api/platform/questionTable.ts @@ -0,0 +1,202 @@ +import request from '/@/utils/request'; + +export function getObtainDefaultImgList() { + return request({ + url: '/platform/remark/getGroupObjData', + method: 'get', + params: { + group: 'OBTAIN_DEFAULT_IMG', + }, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/questionTable/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getRecordDetails(query?: Object) { + return request({ + url: '/platform/questionRecordDetails/page', + method: 'get', + params: query, + }); +} + +/** + * 为指定用户生成一个无身份认证使用的二维码code + */ +export function createQrCode(obj: Object) { + return request({ + url: '/weixin/AssessmentQuestionOption/createQrCode', + method: 'get', + params: obj, + }); +} + +/** + * getAssessmentTableList + */ +export function getAssessmentTableList(query?: Object) { + return request({ + url: '/weixin/assessmentQuestionTable/tableList', + method: 'post', + data: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/questionTable', + method: 'post', + data: obj, + }); +} + +/** + * 量表下架 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function assessmentDownTable(id?: Object) { + return request({ + url: '/platform/assessmentQuestionTable/assessmentDown/' + id, + method: 'get', + }); +} + +/** + * 量表发布 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function assessmentPublish(obj?: Object) { + return request({ + url: '/platform/assessmentQuestionTable/assessmentPublish', + method: 'post', + data: obj, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function getObjById(obj?: Object) { + return request({ + url: '/platform/questionTable/getDetailsById/' + obj, + method: 'get', + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/questionTable/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/questionTable', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/questionTable', + method: 'put', + data: obj, + }); +} + +export function getPublisherList(obj?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo/page', + method: 'get', + data: obj, + }); +} + +export function baseSave(obj?: Object) { + return request({ + url: '/platform/questionTable/baseSave', + method: 'post', + data: obj, + }); +} + +export function indicatorsSave(obj?: Object) { + return request({ + url: '/platform/questionTable/indicatorsSave', + method: 'post', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/remark.ts b/src/api/platform/remark.ts new file mode 100644 index 0000000000000000000000000000000000000000..6bae9cef936c2bc88eff99f9c77fdbfdb824ad68 --- /dev/null +++ b/src/api/platform/remark.ts @@ -0,0 +1,109 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/remark/page', + method: 'get', + params: query, + }); +} + +/** + * + * @returns + */ +export function getGroupList() { + return request({ + url: '/platform/remark/getGroupList', + method: 'get', + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/remark', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/remark/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/remark', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/remark', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/platform/school.ts b/src/api/platform/school.ts new file mode 100644 index 0000000000000000000000000000000000000000..1facf993fafb5d3f51ffb9f27ac1752a4007a55e --- /dev/null +++ b/src/api/platform/school.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/school/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/school', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/school/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/school', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/school', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/schoolClass.ts b/src/api/platform/schoolClass.ts new file mode 100644 index 0000000000000000000000000000000000000000..df6d24b2f89ae39f5c427e4bfbd857bd9d7389d0 --- /dev/null +++ b/src/api/platform/schoolClass.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/schoolClass/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/schoolClass', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/schoolClass/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/schoolClass', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/schoolClass', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/schoolStudent.ts b/src/api/platform/schoolStudent.ts new file mode 100644 index 0000000000000000000000000000000000000000..1b77a8369971e31cc01d5d71ebd3e3b8521f8063 --- /dev/null +++ b/src/api/platform/schoolStudent.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/schoolStudent/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/schoolStudent', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/schoolStudent/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/schoolStudent', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/schoolStudent', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/schoolUser.ts b/src/api/platform/schoolUser.ts new file mode 100644 index 0000000000000000000000000000000000000000..2f0aedd8f4ebc52650e78cd33528cf555fb5e44c --- /dev/null +++ b/src/api/platform/schoolUser.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/schoolUser/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/schoolUser', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/schoolUser/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/schoolUser', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/schoolUser', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/starLog.ts b/src/api/platform/starLog.ts new file mode 100644 index 0000000000000000000000000000000000000000..57bc88ebd690a16b30494e06bb81d17cd4b6147e --- /dev/null +++ b/src/api/platform/starLog.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/starLog/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/starLog', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/starLog/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/starLog', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/starLog', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/platform/userType.ts b/src/api/platform/userType.ts new file mode 100644 index 0000000000000000000000000000000000000000..8d2758bba5813c25338cdf66c529d9092e123dc6 --- /dev/null +++ b/src/api/platform/userType.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/userType/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/platform/userType', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/userType/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/platform/userType', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/platform/userType', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/assessmentTask.ts b/src/api/school/assessmentTask.ts new file mode 100644 index 0000000000000000000000000000000000000000..d9a62d9c9de0b63bcb4624ad8c36a4735b9578a4 --- /dev/null +++ b/src/api/school/assessmentTask.ts @@ -0,0 +1,187 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/assessmentTask/page', + method: 'get', + params: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/assessmentTask', + method: 'post', + data: obj, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function publishToGrade(obj?: Object) { + return request({ + url: '/school/assessmentTask/publishToGrade', + method: 'post', + data: obj, + }); +} +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function publishPost(obj?: Object) { + return request({ + url: '/school/assessmentTask/publish', + method: 'post', + data: obj, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function updatePublishBySchool(obj?: Object) { + return request({ + url: '/school/assessmentTask/updatePublishBySchool', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/assessmentTask/details', + method: 'get', + params: obj, + }); +} + +/** + * 学校列表 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchListShool(query?: Object) { + return request({ + url: '/school/schoolInfo/page', + method: 'get', + params: query, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/assessmentTask', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/assessmentTask', + method: 'put', + data: obj, + }); +} + +/** + * 获取当前用户可用的学校列表信息,如果是拥有特殊身份的管理员,可以查看所有学校信息 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getSchoolList(obj?: Object) { + return request({ + url: '/school/schoolInfo/getSchoolList', + method: 'get', + params: obj, + }); +} + +/** + * 切换当前学校 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function changeSchool(obj?: string) { + return request({ + url: '/school/schoolInfo/changeSchool/' + obj, + method: 'get', + }); +} + +/** + * 根据答题记录,获取学生报告所有数据 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getSchoolUserReport(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser/getSchoolUserReport/' + obj?.recordId, + method: 'get', + params: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/school/assessmentTaskTargetScope.ts b/src/api/school/assessmentTaskTargetScope.ts new file mode 100644 index 0000000000000000000000000000000000000000..274634565d5afc93cb1a3c2ddf923ee3c2c151ca --- /dev/null +++ b/src/api/school/assessmentTaskTargetScope.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/assessmentTaskTargetScope/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/assessmentTaskTargetScope', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/assessmentTaskTargetScope/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/assessmentTaskTargetScope', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/assessmentTaskTargetScope', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/assessmentTaskUser.ts b/src/api/school/assessmentTaskUser.ts new file mode 100644 index 0000000000000000000000000000000000000000..037a4f3d7a82a6390159d9d889108ddc82cec2da --- /dev/null +++ b/src/api/school/assessmentTaskUser.ts @@ -0,0 +1,215 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function gradeList(query?: Object) { + return request({ + url: '/school/schoolGradeInfo/listBySchoolId', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function classList(query?: Object) { + return request({ + url: '/school/schoolClassInfo/page', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function taskStatistics(query?: Object) { + return request({ + url: '/school/assessmentTask/statistics', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function taskList(query?: Object) { + return request({ + url: '/school/assessmentTask/list', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function listByError(query?: Object) { + return request({ + url: '/school/assessmentTaskUser/listByError', + method: 'post', + data: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/assessmentTaskUser/page', + method: 'post', + data: query, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/assessmentTaskUser', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser', + method: 'put', + data: obj, + }); +} + + +/** + * 以班级统计展示标签等级数据 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function statisticsByClass(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser/statisticsByClass', + method: 'post', + data: obj, + }); +} + +/** + * 班级统计报告 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function statisticsByClassReport(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser/statisticsByClassReport', + method: 'post', + data: obj, + }); +} + +/** + * 以年级统计展示标签等级数据 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function statisticsByGrade(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser/statisticsByGrade', + method: 'post', + data: obj, + }); +} + +/** + * 年级统计报告 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function statisticsByGradeReport(obj?: Object) { + return request({ + url: '/school/assessmentTaskUser/statisticsByGradeReport', + method: 'post', + data: obj, + }); +} +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/school/scalePlatform.ts b/src/api/school/scalePlatform.ts new file mode 100644 index 0000000000000000000000000000000000000000..e5048a2b6daa95eaed10c2d1d0522ed22627141c --- /dev/null +++ b/src/api/school/scalePlatform.ts @@ -0,0 +1,105 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/questionTable/page', + method: 'get', + params: query, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/platform/questionTable/details', + method: 'get', + params: obj, + }); +} + +export function getPublisherList(obj?: Object) { + return request({ + url: '/platform/assessmentPublisherInfo/page', + method: 'get', + data: obj, + }); +} + +/** + * 量表下架 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function assessmentDownTable(id?: Object) { + return request({ + url: '/platform/assessmentQuestionTable/assessmentDown/' + id, + method: 'get', + }); +} + +/** + * 获取学校,学级,年级,班级树形 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function schoolUserTree(obj?: Object) { + return request({ + url: '/school/schoolUser/getUserTree', + method: 'get', + params: obj, + }); +} + +/** + * 获取学校,学级,年级,班级树形 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function schoolTree(obj?: Object) { + return request({ + url: '/school/schoolUser/tree', + method: 'get', + params: obj, + }); +} + +/** + * 获取当前学校相关数据,(实际上是从当前所在部门获取学校id) + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function getUserSchoolInfo(id?: Object) { + return request({ + url: '/school/schoolInfo/getUserSchoolInfo', + method: 'get', + }); +} + +/** + * 发布测评任务 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function publishToUser(obj?: Object) { + return request({ + url: '/school/assessmentTask/publishToUser', + method: 'post', + data: obj, + }); +} + +/** + * 发布测评任务 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function updatePublish(obj?: Object) { + return request({ + url: '/school/assessmentTask/updatePublish', + method: 'post', + data: obj, + }); +} diff --git a/src/api/school/schoolAdmin.ts b/src/api/school/schoolAdmin.ts new file mode 100644 index 0000000000000000000000000000000000000000..16a0b22b00480192988788dcff84d97c60e2ac94 --- /dev/null +++ b/src/api/school/schoolAdmin.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolAdmin/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolAdmin', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolAdmin/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolAdmin', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolAdmin', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolAnomalousFeedback.ts b/src/api/school/schoolAnomalousFeedback.ts new file mode 100644 index 0000000000000000000000000000000000000000..7c7bf3c9111e352bb9489494c4a9699b719059be --- /dev/null +++ b/src/api/school/schoolAnomalousFeedback.ts @@ -0,0 +1,267 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback/getList', + method: 'get', + params: query, + }); +} + +/** + * 根据分页查询参数获取列表数据。学校学生信息 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchListSchoolUser(query?: Object) { + return request({ + url: '/school/schoolUser/page', + method: 'get', + params: query, + }); +} + +/** + * 筛选统计接口 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function statusStatistics(query?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback/statusStatistics', + method: 'get', + params: query, + }); +} + +/** + * 新增跟进记录 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolAnomalousFeedbackRecord(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord', + method: 'post', + data: obj, + }); +} + +/** + * 新增访情记录 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolInterview(obj?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'post', + data: obj, + }); +} + +/** + * 修改关联ID--访情 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolInterviewUpdateFeedbackId(obj?: Object) { + return request({ + url: '/school/schoolInterview/updateFeedbackId', + method: 'post', + data: obj, + }); +} + +/** + * 根据 ID 删除对象。访谈记录 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function viewDelObjs(ids?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。访谈记录 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function viewPutObj(obj?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'put', + data: obj, + }); +} + +/** + * 访情分页查询 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolInterviewGetList(query?: Object) { + return request({ + url: '/school/schoolInterview/getList', + method: 'get', + params: query, + }); +} + +/** + * 归档接口 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolAnomalousFeedbackComplete(query?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback/complete', + method: 'get', + params: query, + }); +} + +/** + * 根据 ID 删除对象。跟进记录 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjsRecord(ids?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。跟进记录 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObjRecord(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord', + method: 'put', + data: obj, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function handleError(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback/handleError', + method: 'post', + data: obj, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function updateError(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback/updateError', + method: 'post', + data: obj, + }); +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback/details', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedback', + method: 'put', + data: obj, + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/school/schoolAnomalousFeedbackRecord.ts b/src/api/school/schoolAnomalousFeedbackRecord.ts new file mode 100644 index 0000000000000000000000000000000000000000..78246747fbedd4dfadfd3e74bb9bf25144280a82 --- /dev/null +++ b/src/api/school/schoolAnomalousFeedbackRecord.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolAnomalousFeedbackRecord', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolClass.ts b/src/api/school/schoolClass.ts new file mode 100644 index 0000000000000000000000000000000000000000..000d24f05586ad78e554b407850cddbedb6bf56f --- /dev/null +++ b/src/api/school/schoolClass.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolClass/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolClass', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolClass/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolClass', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolClass', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolClassAdmin.ts b/src/api/school/schoolClassAdmin.ts new file mode 100644 index 0000000000000000000000000000000000000000..08fb091e102213901b3b4302dd707f4e503885fe --- /dev/null +++ b/src/api/school/schoolClassAdmin.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolClassAdmin/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolClassAdmin', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolClassAdmin/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolClassAdmin', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolClassAdmin', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolClassInfo.ts b/src/api/school/schoolClassInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..3677cc04e404c12d8c4e0edb2ca6ecb13c7e72b3 --- /dev/null +++ b/src/api/school/schoolClassInfo.ts @@ -0,0 +1,99 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolClassInfo/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolClassInfo/saveBatch', + method: 'post', + data: obj + }) +} +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolClassInfo/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolClassInfo', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolClassInfo', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolCounseling.ts b/src/api/school/schoolCounseling.ts new file mode 100644 index 0000000000000000000000000000000000000000..2caf2b987f6ec56772b3689cbea98d532a93fa90 --- /dev/null +++ b/src/api/school/schoolCounseling.ts @@ -0,0 +1,98 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/platformArticle/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolCounseling', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/weixin/article/details/' + obj.id, + method: 'get' + }) +} +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolCounseling', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolCounseling', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolFollow.ts b/src/api/school/schoolFollow.ts new file mode 100644 index 0000000000000000000000000000000000000000..7a3e6a859cc0cd33b23402168f719710fad164f6 --- /dev/null +++ b/src/api/school/schoolFollow.ts @@ -0,0 +1,164 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。我的关注 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchListHot(query?: Object) { + return request({ + url: '/school/schoolFollow/myList', + method: 'get', + params: query + }) +} + +/** + * 根据分页查询参数获取列表数据。危机干预 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchListIntervene(query?: Object) { + return request({ + url: '/school/schoolFollow/dangerList', + method: 'get', + params: query + }) +} + +/** + * 添加关注 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolFollowStar(query?: Object) { + return request({ + url: '/school/schoolFollow/star/' + query.id, + method: 'get', + }) +} + +/** + * 文件上传 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function uploadSys(data) { + return request({ + url: '/admin/sys-file/upload', + headers: { + 'Content-Type': 'multipart/form-data' + }, + method: 'post', + data + }) +} + +/** + * 取消关注 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function schoolFollowDelete(query?: Object) { + return request({ + url: '/school/schoolFollow/delete/' + query.id, + method: 'get', + }) +} +/** + * 新增关注列表查询 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchListAddList(query?: Object) { + return request({ + url: '/school/schoolFollow/addList', + method: 'get', + params: query + }) +} +/** + * 添加一个新对象。新增访情 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolFollow/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolFollow', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolFollow', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolGradeAdmin.ts b/src/api/school/schoolGradeAdmin.ts new file mode 100644 index 0000000000000000000000000000000000000000..c2e48dcda4a3e0a617748e0c1cde95fa6a43c71e --- /dev/null +++ b/src/api/school/schoolGradeAdmin.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolGradeAdmin/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolGradeAdmin', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolGradeAdmin/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolGradeAdmin', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolGradeAdmin', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolGradeInfo.ts b/src/api/school/schoolGradeInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..9dcdc6a97e45a76ea93af576b6ab72ec3c5057b0 --- /dev/null +++ b/src/api/school/schoolGradeInfo.ts @@ -0,0 +1,126 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolGradeInfo/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolGradeInfo', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolGradeInfo/details', + method: 'get', + params: obj + }) +} + +/** + * 学校专业/学级(小中高)列表获取 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function schoolMajorInfoList(obj?: Object) { + return request({ + url: '/school/schoolMajorInfo/getList', + method: 'get', + params: obj + }) +} + +/** + * 学校专业/学级(小中高)列表获取 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function schoolGradeInfoList(obj?: Object) { + return request({ + url: '/school/schoolGradeInfo/list', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolGradeInfo', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolGradeInfo', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolInfo.ts b/src/api/school/schoolInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..21b473cfb768e2f46ccffb2b4e2cc5a9985ae435 --- /dev/null +++ b/src/api/school/schoolInfo.ts @@ -0,0 +1,127 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolInfo/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolInfo', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolInfo/details', + method: 'get', + params: obj + }) +} + +/** + * 合作机构(所属教育局)获取下拉框 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getSelectList(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducation/getSelectList', + method: 'get', + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolInfo', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolInfo', + method: 'put', + data: obj + }) +} + +/** + * 根据 ID 启用禁用对象。 + * @param {Object} [obj] - 包含 ID 和状态的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function changeStatus(data?: Object) { + return request({ + url: '/school/schoolInfo/changeStatus', + method: 'post', + data + }) +} + + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + + + diff --git a/src/api/school/schoolInterview.ts b/src/api/school/schoolInterview.ts new file mode 100644 index 0000000000000000000000000000000000000000..18ca2d946a8ed4acd48b5c4d011daa8585691ebe --- /dev/null +++ b/src/api/school/schoolInterview.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolInterview/getList', + method: 'get', + params: query + }) +} +// http://192.168.110.170:8888/api +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolInterview/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolInterview', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolMajorAdmin.ts b/src/api/school/schoolMajorAdmin.ts new file mode 100644 index 0000000000000000000000000000000000000000..2f06775cafa0f1463ebaab3d2157e3ee36b166dd --- /dev/null +++ b/src/api/school/schoolMajorAdmin.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolMajorAdmin/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolMajorAdmin', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolMajorAdmin/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolMajorAdmin', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolMajorAdmin', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolMajorInfo.ts b/src/api/school/schoolMajorInfo.ts new file mode 100644 index 0000000000000000000000000000000000000000..f6192dd2de9737b835e60b92a59c74bd676b1d68 --- /dev/null +++ b/src/api/school/schoolMajorInfo.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolMajorInfo/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolMajorInfo', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolMajorInfo/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolMajorInfo', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolMajorInfo', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolMinistryEducation.ts b/src/api/school/schoolMinistryEducation.ts new file mode 100644 index 0000000000000000000000000000000000000000..f0e9e99fa47d0364ab5e54b1a20e59d099c1893d --- /dev/null +++ b/src/api/school/schoolMinistryEducation.ts @@ -0,0 +1,113 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolMinistryEducation/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducation', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducation/details', + method: 'get', + params: obj + }) +} + +/** + * 状态修改 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function updateStatus(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducation/updateStatus', + method: 'post', + data: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolMinistryEducation', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducation', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolMinistryEducationCooperation.ts b/src/api/school/schoolMinistryEducationCooperation.ts new file mode 100644 index 0000000000000000000000000000000000000000..0d7ee74b7b9d929ff5c3f78d47d6a18f0d9f8486 --- /dev/null +++ b/src/api/school/schoolMinistryEducationCooperation.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolMinistryEducationCooperation/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducationCooperation', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducationCooperation/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolMinistryEducationCooperation', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolMinistryEducationCooperation', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolPsychologicalTag.ts b/src/api/school/schoolPsychologicalTag.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb1891c9b7d3e0d51214aabd47918fffc3688d7e --- /dev/null +++ b/src/api/school/schoolPsychologicalTag.ts @@ -0,0 +1,157 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getTagLevelColor() { + return request({ + url: '/school/schoolPsychologicalTag/getTagLevelColor', + method: 'get', + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function tree() { + return request({ + url: '/school/schoolPsychologicalTag/tree', + method: 'get', + }); +} + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/getPageData', + method: 'get', + params: query, + }); +} +/** + * 添加一个新对象---up。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/saveData', + method: 'post', + data: obj, + }); +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/details', + method: 'get', + params: obj, + }); +} + +/** + * 学生心理标签 获取分类下拉框数据 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getTypeList(obj?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/getTypeList', + method: 'get', + params: obj, + }); +} + +/** + * 学生心理标签 获取分组.分组下拉框数据 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getGroupList(obj?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/getGroupList', + method: 'get', + params: obj, + }); +} + +/** + * 学生心理标签 获取列表数据 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getTagList(obj?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/getTagList', + method: 'get', + params: obj, + }); +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolPsychologicalTag', + method: 'delete', + data: ids, + }); +} + +/** + * 更新一个已存在的对象---up。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolPsychologicalTag/saveData', + method: 'post', + data: obj, + }); +} +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/api/school/schoolReferralGency.ts b/src/api/school/schoolReferralGency.ts new file mode 100644 index 0000000000000000000000000000000000000000..64bddccf3fbff73ffe96d33b4eed5725f52044d7 --- /dev/null +++ b/src/api/school/schoolReferralGency.ts @@ -0,0 +1,113 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolReferralAgency/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolReferralAgency', + method: 'post', + data: obj + }) +} + +/** + * 转介机构状态修改 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function updateStatus(obj?: Object) { + return request({ + url: '/school/schoolReferralAgency/updateStatus', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolReferralAgency/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolReferralAgency', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolReferralAgency', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolReferralRecord.ts b/src/api/school/schoolReferralRecord.ts new file mode 100644 index 0000000000000000000000000000000000000000..852d9928440f975ad1a89f34e777faa0accd6f67 --- /dev/null +++ b/src/api/school/schoolReferralRecord.ts @@ -0,0 +1,141 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolReferralRecord/page', + method: 'get', + params: query + }) +} + + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function pageList(query?: Object) { + return request({ + url: '/school/schoolReferralAgency/page', + method: 'get', + params: query + }) +} + + +/** + * 获取学生 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getSchoolObj(obj?: Object) { + return request({ + url: '/school/schoolUser/details', + method: 'get', + params: obj + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolReferralRecord', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolReferralRecord/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolReferralRecord', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolReferralRecord', + method: 'put', + data: obj + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function terminate(obj?: Object) { + return request({ + url: '/school/schoolReferralRecord/terminate', + method: 'post', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolReferralRecordDetail.ts b/src/api/school/schoolReferralRecordDetail.ts new file mode 100644 index 0000000000000000000000000000000000000000..84687581cafad4f9110c52fede4181050f83ab4a --- /dev/null +++ b/src/api/school/schoolReferralRecordDetail.ts @@ -0,0 +1,100 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolReferralRecordDetail/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolReferralRecordDetail', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolReferralRecordDetail/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolReferralRecordDetail', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolReferralRecordDetail', + method: 'put', + data: obj + }) +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/school/schoolUser.ts b/src/api/school/schoolUser.ts new file mode 100644 index 0000000000000000000000000000000000000000..4a2688ec4fe05be20eec73be858b1a2faaaf9431 --- /dev/null +++ b/src/api/school/schoolUser.ts @@ -0,0 +1,138 @@ +import request from "/@/utils/request" + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/school/schoolUser/page', + method: 'get', + params: query + }) +} + +/** + * 添加一个新对象。 + * @param {Object} [obj] - 要添加的对象。 + * @returns {Promise} 请求的 Promise 对象 (true/false)。 + */ +export function addObj(obj?: Object) { + return request({ + url: '/school/schoolUser', + method: 'post', + data: obj + }) +} + +/** + * 根据查询参数获取对象详情。 + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 对象数组。 + */ +export function getObj(obj?: Object) { + return request({ + url: '/school/schoolUser/details', + method: 'get', + params: obj + }) +} + +/** + * 根据 ID 删除对象。 + * @param {Object} [ids] - 要删除的对象 ID。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function delObjs(ids?: Object) { + return request({ + url: '/school/schoolUser', + method: 'delete', + data: ids + }) +} + +/** + * 更新一个已存在的对象。 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function putObj(obj?: Object) { + return request({ + url: '/school/schoolUser', + method: 'put', + data: obj + }) +} + +/** + * 获取学校,学级,年级,班级树形 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function schoolUserTree(obj?: Object) { + return request({ + url: '/school/schoolUser/tree', + method: 'get', + params: obj + }) +} + +/** + * 批量编辑学生班级 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function schoolUserChangeUsers(obj?: Object) { + return request({ + url: '/school/schoolUser/changeUsers', + method: 'post', + data: obj + }) +} + +/** + * 编辑学生就学状态 + * @param {Object} [obj] - 要更新的对象。 + * @returns {Promise} 请求的 Promise 对象。 + */ +export function changeUserStatus(obj?: Object) { + return request({ + url: '/school/schoolUser/changeUserStatus', + method: 'post', + data: obj + }) +} +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} + + diff --git a/src/api/studentLogin/index.ts b/src/api/studentLogin/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..776b40408af370e67092c0dfab78830d952ec11b --- /dev/null +++ b/src/api/studentLogin/index.ts @@ -0,0 +1,64 @@ +import request from '/@/utils/request'; + +/** + * 根据姓名和身份证号,获取用户是否有量表 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getDataByNameAndIdNumber(query?: Object) { + return request({ + url: '/school/assessmentTaskUser/getDataByNameAndIdNumber', + method: 'get', + params: query, + }); +} + +/** + * 根据学籍号获取数据 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getDataByStudentNumber(query?: Object) { + return request({ + url: '/school/assessmentTaskUser/getDataByStudentNumber', + method: 'get', + params: query, + }); +} + + +/** + * 获取详情 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function getTableDetails(query?: Object) { + return request({ + url: '/weixin/assessmentQuestionTable/getTableDetailsByOriginalTableId/' + query, + method: 'get', + }); +} + +/** + * 开始答题 (学校学生用户id使用) + * @param {Object} [obj] - 参数。 + */ +export function startAnswerBySchoolUserId(obj?: Object) { + return request({ + url: '/weixin/AssessmentQuestionOption/startAnswerBySchoolUserId', + method: 'post', + data:obj + }); +} + +/** + * 量表答题完成 (学校用户专用) + * @param {Object} [obj] - 参数。 + */ +export function completeAnswerBySchoolUserId(obj?: Object) { + return request({ + url: '/weixin/AssessmentQuestionOption/completeAnswerBySchoolUserId', + method: 'post', + data:obj + }); +} diff --git a/src/api/user/user.ts b/src/api/user/user.ts new file mode 100644 index 0000000000000000000000000000000000000000..6c0dc65aa8ee078fd09196f81862df5bc2a3addf --- /dev/null +++ b/src/api/user/user.ts @@ -0,0 +1,126 @@ +import request from '/@/utils/request'; + +/** + * 根据分页查询参数获取列表数据。 + * @param {Object} [query] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function fetchList(query?: Object) { + return request({ + url: '/platform/plUser/page', + method: 'get', + params: query, + }); +} + +/** + * updateUser + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function updateUser(obj?: Object) { + return request({ + url: '/admin/myInfo/updateUser', + method: 'post', + data: obj, + }); +} + +/** + * addOrder + * @param {Object} [obj] - 查询参数。 + * @returns {Promise} 请求的 Promise 分页对象。 + */ +export function addOrder(obj?: Object) { + return request({ + url: '/platform/plUser/addOrder', + method: 'post', + data: obj, + }); +} + +/** + * 新增跟进记录 + */ +export function addFollow(obj?: Object) { + return request({ + url: '/platform/userFollow', + method: 'post', + data: obj, + }); +} + +/** + * 为指定用户生成一个无身份认证使用的二维码code + */ +export function createQrCode(userId: string) { + return request({ + url: '/admin/myInfo/createQrCode', + method: 'get', + params: { userId }, + }); +} + +/** + * 录入新用户 + */ +export function createUser(obj: any) { + return request({ + url: '/admin/myInfo/createUser', + method: 'post', + data: obj, + }); +} + +/** + * 为指定用户生成一个无身份认证使用的二维码code + */ +export function createWxQr(obj: any) { + return request({ + url: '/weixin/wxUser/createWxQr', + method: 'get', + params: obj, + }); +} + +/** + * 访情详情 + */ +export function visitingSituationDetail(params: any) { + return request({ + url: `/weixin/visitingSituation/detailByOrderId/${params}`, + method: 'get', + }); +} + +/** + * 验证某个字段的值是否已经存在。 + * @param {Object} rule - 验证规则对象。 + * @param {*} value - 要验证的值。 + * @param {Function} callback - 验证完成后的回调函数。 + * @param {boolean} isEdit - 当前操作是否为编辑。 + * + * 示例用法: + * 字段名: [ + * { + * validator: (rule, value, callback) => { + * validateExist(rule, value, callback, form.id !== ''); + * }, + * trigger: 'blur', + * }, + * ] + */ +export function validateExist(rule: any, value: any, callback: any, isEdit: boolean) { + if (isEdit) { + return callback(); + } + + getObj({ [rule.field]: value }).then((response) => { + const result = response.data; + if (result !== null && result.length > 0) { + callback(new Error('数据已经存在')); + } else { + callback(); + } + }); +} diff --git a/src/assets/icons/man.svg b/src/assets/icons/man.svg new file mode 100644 index 0000000000000000000000000000000000000000..d5b183f80fc9b3d7bdbd0d51f8a8b4050093b043 --- /dev/null +++ b/src/assets/icons/man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/phone.svg b/src/assets/icons/phone.svg new file mode 100644 index 0000000000000000000000000000000000000000..2fff5a7c2981f8b152f316eb7a88db4affc1bb4d --- /dev/null +++ b/src/assets/icons/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/rollback.png b/src/assets/icons/rollback.png new file mode 100644 index 0000000000000000000000000000000000000000..298bca2cd7c34d48c21afd47ed094c8d49a053b4 Binary files /dev/null and b/src/assets/icons/rollback.png differ diff --git a/src/assets/icons/wechat2.svg b/src/assets/icons/wechat2.svg new file mode 100644 index 0000000000000000000000000000000000000000..59019c3fc547daa88d6903d3b473e53eb8717536 --- /dev/null +++ b/src/assets/icons/wechat2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/woman.svg b/src/assets/icons/woman.svg new file mode 100644 index 0000000000000000000000000000000000000000..b39fdb25c7bf3dbc111e81c84b3106487cbe3ffe --- /dev/null +++ b/src/assets/icons/woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/report/assessment.svg b/src/assets/report/assessment.svg new file mode 100644 index 0000000000000000000000000000000000000000..0ec5aaae2362317242745b4a2a99ba7fee9a4f07 --- /dev/null +++ b/src/assets/report/assessment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/report/report.svg b/src/assets/report/report.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f1bd0dc8bb258d9e1fa69e455c717f5b3fc3aac --- /dev/null +++ b/src/assets/report/report.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/report/score.svg b/src/assets/report/score.svg new file mode 100644 index 0000000000000000000000000000000000000000..37b3620457bc16d3c721ec997481bbf5eae4f047 --- /dev/null +++ b/src/assets/report/score.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/report/user_info.svg b/src/assets/report/user_info.svg new file mode 100644 index 0000000000000000000000000000000000000000..157de3493b4f45971468498cdec4169c6e472bee --- /dev/null +++ b/src/assets/report/user_info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/report/woman.svg b/src/assets/report/woman.svg new file mode 100644 index 0000000000000000000000000000000000000000..b39fdb25c7bf3dbc111e81c84b3106487cbe3ffe --- /dev/null +++ b/src/assets/report/woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/AddPublisher/index.vue b/src/components/AddPublisher/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..4487fd118c101ec7bc1c5863b354115ae0f12182 --- /dev/null +++ b/src/components/AddPublisher/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/components/CanvasGenerator/CanvasGenerator.vue b/src/components/CanvasGenerator/CanvasGenerator.vue new file mode 100644 index 0000000000000000000000000000000000000000..eea00827fc3b9f4c8dda403fc6fd46c970cc6666 --- /dev/null +++ b/src/components/CanvasGenerator/CanvasGenerator.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/components/DictSelect/index.vue b/src/components/DictSelect/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..877bbf106bae2e7c864930472c15c205c23c8dbd --- /dev/null +++ b/src/components/DictSelect/index.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index d17d41303c6e4c1f201cf33cf4bd049f42ccd564..4808a8c93ea6ee972a4a37918d8b8ff9a2f8a851 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -1,14 +1,8 @@ @@ -77,7 +71,10 @@ const uploadAttr = reactive({ server: proxy.baseURL + props.uploadFileUrl, headers: headers, customInsert(res, insertFn) { - insertFn(proxy.baseURL + res.data.url); + console.log(res); + + // insertFn(proxy.baseURL + res.data.url); + insertFn(res.data.url); //因为使用了阿里云oss,调整成这样 }, }); @@ -139,3 +136,13 @@ watch( } ); + + diff --git a/src/components/GetStudentTree/index.vue b/src/components/GetStudentTree/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..c495f0dbbc6e4f5683800b86f84dbf46047707e7 --- /dev/null +++ b/src/components/GetStudentTree/index.vue @@ -0,0 +1,266 @@ + + + + diff --git a/src/components/GradeTree/index.vue b/src/components/GradeTree/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..51d162b471a30c32034ebadea63a1c1eda18870d --- /dev/null +++ b/src/components/GradeTree/index.vue @@ -0,0 +1,162 @@ + + + + diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..12c20e799b30f0cf4963d2ee9c6a8963ce72661a --- /dev/null +++ b/src/components/ImageUpload/index.vue @@ -0,0 +1,364 @@ + + + + + diff --git a/src/components/PsychologyTag/index.vue b/src/components/PsychologyTag/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..b233c02157d405784b14f56a9722f62b63c23ca7 --- /dev/null +++ b/src/components/PsychologyTag/index.vue @@ -0,0 +1,334 @@ + + + + + \ No newline at end of file diff --git a/src/components/Upload/Excel.vue b/src/components/Upload/Excel.vue index 1f37796ac6effb89c13e7e2d4feb69f39d270a9c..ed2b846506408823d11ff175adbed86682680650 100644 --- a/src/components/Upload/Excel.vue +++ b/src/components/Upload/Excel.vue @@ -1,19 +1,10 @@ + \ No newline at end of file diff --git a/src/views/admin/role/form.vue b/src/views/admin/role/form.vue index 7df8b3d4be7f2ab36c784826951a37ecc00114aa..1d32cabc28e99353637bd40d70d89b27dc8c52d6 100644 --- a/src/views/admin/role/form.vue +++ b/src/views/admin/role/form.vue @@ -1,48 +1,42 @@ diff --git a/src/views/admin/role/index.vue b/src/views/admin/role/index.vue index 5709c80e17526ab0bbc938b75c7ecd6d91bcc4d7..3f135136cfccadbaba327bdccc9e09f190eda98c 100644 --- a/src/views/admin/role/index.vue +++ b/src/views/admin/role/index.vue @@ -6,6 +6,22 @@ + + + +
+ + + +
+
{{ role.label }} {{ role.value }} +
+
{{ role.description }}
+
+
+
+
+
{{ $t('common.queryBtn') }} @@ -16,34 +32,25 @@
- + {{ $t('common.addBtn') }} - + {{ $t('common.importBtn') }} - + {{ $t('common.delBtn') }} - +
- + @@ -52,24 +59,20 @@