合并
Showing
29 changed files
with
1539 additions
and
85 deletions
| ... | @@ -13,6 +13,7 @@ VITE_APP_AUTH_URL = 'ms-daop-auth-service' | ... | @@ -13,6 +13,7 @@ VITE_APP_AUTH_URL = 'ms-daop-auth-service' |
| 13 | 13 | ||
| 14 | # 系统管理 接口地址 | 14 | # 系统管理 接口地址 |
| 15 | VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service | 15 | VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service |
| 16 | |||
| 16 | # 文件上传请求地址 | 17 | # 文件上传请求地址 |
| 17 | VITE_APP_ADD_FILE = ms-daop-import-data-service | 18 | VITE_APP_ADD_FILE = ms-daop-import-data-service |
| 18 | # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 | 19 | # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 |
| ... | @@ -32,6 +33,10 @@ VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service | ... | @@ -32,6 +33,10 @@ VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service |
| 32 | # VITE_APP_CHECK_BASEURL = /mock | 33 | # VITE_APP_CHECK_BASEURL = /mock |
| 33 | VITE_APP_CHECK_BASEURL = ms-daop-zcgl-data-inventory | 34 | VITE_APP_CHECK_BASEURL = ms-daop-zcgl-data-inventory |
| 34 | 35 | ||
| 36 | # 数据字典接口地址 | ||
| 37 | VITE_APP_CONFIG_URL = 'ms-daop-configure-service' | ||
| 38 | |||
| 39 | |||
| 35 | #门户接口 | 40 | #门户接口 |
| 36 | VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal | 41 | VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal |
| 37 | 42 | ... | ... |
| 1 | # 页面标题 | 1 | # 页面标题 |
| 2 | VITE_APP_TITLE = 数据资产管理系统 | 2 | VITE_APP_TITLE = 数据资产管理系统 |
| 3 | # 接口域名 | 3 | # 接口域名 |
| 4 | VITE_API_BASEURL = https://www.zgsjzc.com/api | 4 | VITE_API_BASEURL = http://192.168.6.20:28052/ |
| 5 | # VITE_API_BASEURL = http://49.4.26.201:31709/ | 5 | # VITE_API_BASEURL = http://49.4.26.201:31709/ |
| 6 | # # 平台用户 接口请地址 | ||
| 7 | # VITE_APP_USER_API_BASEURL = gateway-server | ||
| 8 | # # 系统管理 接口地址 | ||
| 9 | # VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service | ||
| 10 | # # 文件上传请求地址 | ||
| 11 | # VITE_APP_ADD_FILE = ms-daop-import-data-service | ||
| 12 | # # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 | ||
| 13 | # VITE_APP_DEBUG_TOOL = | ||
| 14 | # # 是否开启代理 | ||
| 15 | # VITE_OPEN_PROXY = true | ||
| 16 | # # vite serve base | ||
| 17 | # VITE_SERVE_BASE = / | ||
| 18 | # # 流程设计访问地址 | ||
| 19 | # VITE_BPMN_URL = https://workflow.zgsjzc.com | ||
| 20 | # # 数据标准、元数据、数据目录 接口地址 | ||
| 21 | # VITE_APP_PLAN_BASEURL = ms-daop-jgjf-data-plan-service | ||
| 22 | # #数据质量接口地址 | ||
| 23 | # VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service | ||
| 24 | |||
| 25 | # #门户接口 | ||
| 26 | # VITE_API_PORTALURL = https://www.zgsjzc.com/portal | ||
| 27 | |||
| 28 | # #数据资产接口地址 | ||
| 29 | # VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service | ||
| 30 | # #数据同步接口地址 | ||
| 31 | # VITE_API_DATA_SYNC = ms-swzl-data-sync-service | ||
| 32 | # #消息接口 | ||
| 33 | # VITE_API_MESSAGE = ms-swzl-message-notification-service | ||
| 6 | # 平台用户 接口请地址 | 34 | # 平台用户 接口请地址 |
| 7 | VITE_APP_USER_API_BASEURL = gateway-server | 35 | VITE_APP_USER_API_BASEURL = gateway-server |
| 36 | |||
| 37 | #AUTH服务 | ||
| 38 | VITE_APP_AUTH_URL = 'ms-daop-auth-service' | ||
| 39 | |||
| 8 | # 系统管理 接口地址 | 40 | # 系统管理 接口地址 |
| 9 | VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service | 41 | VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service |
| 42 | |||
| 10 | # 文件上传请求地址 | 43 | # 文件上传请求地址 |
| 11 | VITE_APP_ADD_FILE = ms-daop-import-data-service | 44 | VITE_APP_ADD_FILE = ms-daop-import-data-service |
| 12 | # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 | 45 | # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 |
| ... | @@ -16,14 +49,22 @@ VITE_OPEN_PROXY = true | ... | @@ -16,14 +49,22 @@ VITE_OPEN_PROXY = true |
| 16 | # vite serve base | 49 | # vite serve base |
| 17 | VITE_SERVE_BASE = / | 50 | VITE_SERVE_BASE = / |
| 18 | # 流程设计访问地址 | 51 | # 流程设计访问地址 |
| 19 | VITE_BPMN_URL = https://workflow.zgsjzc.com | 52 | VITE_BPMN_URL = https://workflow-swzl-test.csbr.cn |
| 20 | # 数据标准、元数据、数据目录 接口地址 | 53 | # 数据标准、元数据、数据目录 接口地址 |
| 21 | VITE_APP_PLAN_BASEURL = ms-daop-jgjf-data-plan-service | 54 | VITE_APP_PLAN_BASEURL = ms-daop-jgjf-data-plan-service |
| 22 | #数据质量接口地址 | 55 | #数据质量接口地址 |
| 23 | VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service | 56 | VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service |
| 24 | 57 | ||
| 58 | #数据盘点接口地址ms-daop-zcgl-data-inventory | ||
| 59 | # VITE_APP_CHECK_BASEURL = /mock | ||
| 60 | VITE_APP_CHECK_BASEURL = ms-daop-zcgl-data-inventory | ||
| 61 | |||
| 62 | # 数据字典接口地址 | ||
| 63 | VITE_APP_CONFIG_URL = 'ms-daop-configure-service' | ||
| 64 | |||
| 65 | |||
| 25 | #门户接口 | 66 | #门户接口 |
| 26 | VITE_API_PORTALURL = https://www.zgsjzc.com/portal | 67 | VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal |
| 27 | 68 | ||
| 28 | #数据资产接口地址 | 69 | #数据资产接口地址 |
| 29 | VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service | 70 | VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service | ... | ... |
| 1 | FROM 192.168.5.4:82/csbr/nginx:stable-alpine | 1 | |
| 2 | |||
| 3 | FROM 192.168.6.22:8081/csbr/nginx:stable-alpine | ||
| 2 | VOLUME /tmp | 4 | VOLUME /tmp |
| 3 | #将当前文件夹的dist文件复制到容器的/usr/share/nginx/html目录 | 5 | #将当前文件夹的dist文件复制到容器的/usr/share/nginx/html目录 |
| 4 | COPY ./dist/* /usr/share/nginx/html/ | 6 | COPY ./dist/* /usr/share/nginx/html/ |
| 5 | COPY ./dist/assets /usr/share/nginx/html/assets | 7 | COPY ./dist/assets /usr/share/nginx/html/assets |
| 6 | #COPY ./dist/importTemplate /usr/share/nginx/html/importTemplate | ||
| 7 | COPY default.conf /etc/nginx/conf.d/ | 8 | COPY default.conf /etc/nginx/conf.d/ |
| 8 | #声明运行时容器暴露的端口(容器提供的服务端口) | 9 | #声明运行时容器暴露的端口(容器提供的服务端口) |
| 9 | EXPOSE 8911 | 10 | RUN chown -R nginx:nginx /usr/share/nginx/html |
| 11 | EXPOSE 29900 | ||
| 10 | #CMD:指定容器启动时要运行的命令 | 12 | #CMD:指定容器启动时要运行的命令 |
| 11 | CMD ["nginx", "-g", "daemon off;"] | 13 | CMD ["nginx", "-g", "daemon off;"] | ... | ... |
| ... | @@ -3,21 +3,22 @@ pipeline { | ... | @@ -3,21 +3,22 @@ pipeline { |
| 3 | //环境定义 | 3 | //环境定义 |
| 4 | environment{ | 4 | environment{ |
| 5 | //服务名称 | 5 | //服务名称 |
| 6 | SVN_FOLD = "fe-swzl-asset-temp" | 6 | SVN_FOLD = "fe-data-asset-management" |
| 7 | //部署远程服务器 | 7 | //部署远程服务器 |
| 8 | //192.168.4.4服务器 | 8 | //192.168.4.4服务器 |
| 9 | //SSH_PATH = "csbr4.4" | 9 | //SSH_PATH = "csbr4.4" |
| 10 | //192.168.5.4 | 10 | //192.168.5.4 |
| 11 | SSH_PATH = "csbr5.2" | 11 | SSH_PATH = "csbr20" |
| 12 | SVN_TYPE = "dev" | ||
| 12 | //139.9.190.186 | 13 | //139.9.190.186 |
| 13 | //SSH_PATH = "csbr190.186" | 14 | //SSH_PATH = "csbr190.186" |
| 14 | //SVN_TYPE = "master" | 15 | //SVN_TYPE = "master" |
| 15 | //镜像版本号 | 16 | //镜像版本号 |
| 16 | image_tag = "1.0.0" | 17 | image_tag = "1.0.0" |
| 17 | //docker私服ip | 18 | //docker私服ip |
| 18 | ip = "192.168.5.4:82" | 19 | ip = "192.168.6.22:8081" |
| 19 | //前端端口号 | 20 | //前端端口号 |
| 20 | port = "8911" | 21 | port = "29900" |
| 21 | //映射端口号 | 22 | //映射端口号 |
| 22 | vport = "80" | 23 | vport = "80" |
| 23 | 24 | ||
| ... | @@ -49,8 +50,10 @@ pipeline { | ... | @@ -49,8 +50,10 @@ pipeline { |
| 49 | steps { | 50 | steps { |
| 50 | nodejs('node 16.20.2'){} | 51 | nodejs('node 16.20.2'){} |
| 51 | //配置私有npm仓库 | 52 | //配置私有npm仓库 |
| 52 | sh 'npm config set registry http://192.168.5.4:8001/repository/csbr-npm/' | 53 | // sh 'npm config set registry http://192.168.5.4:8001/repository/csbr-npm/' |
| 53 | sh 'yarn config set registry http://192.168.5.4:8001/repository/csbr-npm/' | 54 | // sh 'yarn config set registry http://192.168.5.4:8001/repository/csbr-npm/' |
| 55 | sh 'npm config set registry http://49.4.23.228:8001/repository/csbr-npm/' | ||
| 56 | sh 'yarn config set registry http://49.4.23.228:8001/repository/csbr-npm/' | ||
| 54 | // 配置后可通过下面方式来验证是否成功 | 57 | // 配置后可通过下面方式来验证是否成功 |
| 55 | sh 'npm config get registry' | 58 | sh 'npm config get registry' |
| 56 | sh 'npm install -g pnpm' | 59 | sh 'npm install -g pnpm' |
| ... | @@ -63,9 +66,9 @@ pipeline { | ... | @@ -63,9 +66,9 @@ pipeline { |
| 63 | steps { | 66 | steps { |
| 64 | //分分支构建 | 67 | //分分支构建 |
| 65 | script{ | 68 | script{ |
| 66 | if(env.BRANCH_NAME=='master-asset'){ | 69 | if(env.BRANCH_NAME=='develop'){ |
| 67 | //master-asset分支环境 | 70 | //master-asset分支环境 |
| 68 | echo 'start to deploy ${SVN_FOLD} on master-asset ...' | 71 | echo 'start to deploy ${SVN_FOLD} on develop ...' |
| 69 | sh ''' | 72 | sh ''' |
| 70 | #docker rmi -f $(docker images | grep "none" | awk '{print $3}') | 73 | #docker rmi -f $(docker images | grep "none" | awk '{print $3}') |
| 71 | CID=$(docker ps -a | grep "${SVN_FOLD}" | awk '{print $1}') | 74 | CID=$(docker ps -a | grep "${SVN_FOLD}" | awk '{print $1}') |
| ... | @@ -77,15 +80,15 @@ pipeline { | ... | @@ -77,15 +80,15 @@ pipeline { |
| 77 | ##构建镜像到远程仓库 | 80 | ##构建镜像到远程仓库 |
| 78 | docker login "${ip}" -u admin -p E6w611g864wQ2 | 81 | docker login "${ip}" -u admin -p E6w611g864wQ2 |
| 79 | #docker tag "${SVN_FOLD}":"${image_tag}" "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" | 82 | #docker tag "${SVN_FOLD}":"${image_tag}" "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" |
| 80 | docker build -t "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" . | 83 | docker build -t "${ip}"/csbr/"${SVN_FOLD}""-${SVN_TYPE}":"${image_tag}" . |
| 81 | docker push "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" | 84 | docker push "${ip}"/csbr/"${SVN_FOLD}""-${SVN_TYPE}":"${image_tag}" |
| 82 | else | 85 | else |
| 83 | echo "不存在'${SVN_FOLD}'镜像,开始构建镜像" | 86 | echo "不存在'${SVN_FOLD}'镜像,开始构建镜像" |
| 84 | ##构建镜像到远程仓库 | 87 | ##构建镜像到远程仓库 |
| 85 | docker login "${ip}" -u admin -p E6w611g864wQ2 | 88 | docker login "${ip}" -u admin -p E6w611g864wQ2 |
| 86 | #docker tag "${SVN_FOLD}":"${image_tag}" "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" | 89 | #docker tag "${SVN_FOLD}":"${image_tag}" "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" |
| 87 | docker build -t "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" . | 90 | docker build -t "${ip}"/csbr/"${SVN_FOLD}""-${SVN_TYPE}":"${image_tag}" . |
| 88 | docker push "${ip}"/csbr/"${SVN_FOLD}":"${image_tag}" | 91 | docker push "${ip}"/csbr/"${SVN_FOLD}""-${SVN_TYPE}":"${image_tag}" |
| 89 | fi | 92 | fi |
| 90 | ''' | 93 | ''' |
| 91 | echo 'Depoly ${SVN_FOLD} success ...' | 94 | echo 'Depoly ${SVN_FOLD} success ...' |
| ... | @@ -107,14 +110,14 @@ pipeline { | ... | @@ -107,14 +110,14 @@ pipeline { |
| 107 | echo 'Deploying' | 110 | echo 'Deploying' |
| 108 | //分分支部署 | 111 | //分分支部署 |
| 109 | script{ | 112 | script{ |
| 110 | if(env.BRANCH_NAME=='master-asset'){ | 113 | if(env.BRANCH_NAME=='develop'){ |
| 111 | //master-asset分支环境 | 114 | //master-asset分支环境 |
| 112 | echo 'start to deploy ${SVN_FOLD} on master-asset ...' | 115 | echo 'start to deploy ${SVN_FOLD} on develop ...' |
| 113 | //调用Publish Over SSH插件,上传docker-compose.yaml文件并且执行deploy脚本 | 116 | //调用Publish Over SSH插件,上传docker-compose.yaml文件并且执行deploy脚本 |
| 114 | sshPublisher(publishers: [sshPublisherDesc(configName: "csbr5.3", transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: """ | 117 | sshPublisher(publishers: [sshPublisherDesc(configName: "csbr20", transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: """ |
| 115 | #使用k8s构建 | 118 | #使用k8s构建 |
| 116 | kubectl delete -f /mnt/k8s/production/fe-swzl-asset.yaml | 119 | kubectl delete -f /mnt/k8s/develop/daop-jgjf/fe-data-asset-management.yaml |
| 117 | kubectl apply -f /mnt/k8s/production/fe-swzl-asset.yaml | 120 | kubectl apply -f /mnt/k8s/develop/daop-jgjf/fe-data-asset-management.yaml |
| 118 | """, execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/mnt/csbr/data', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'output/*.*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)]) | 121 | """, execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/mnt/csbr/data', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'output/*.*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)]) |
| 119 | 122 | ||
| 120 | echo 'Depoly ${SVN_FOLD} success ...' | 123 | echo 'Depoly ${SVN_FOLD} success ...' | ... | ... |
| ... | @@ -2,48 +2,53 @@ server { | ... | @@ -2,48 +2,53 @@ server { |
| 2 | listen 80; | 2 | listen 80; |
| 3 | listen [::]:80; | 3 | listen [::]:80; |
| 4 | server_name localhost; | 4 | server_name localhost; |
| 5 | # server_name http://192.168.6.20:8052; | ||
| 5 | 6 | ||
| 6 | #charset koi8-r; | 7 | |
| 7 | #access_log /var/log/nginx/host.access.log main; | 8 | # 设置允许跨域的域名,可以使用通配符 '*' 允许所有域访问 |
| 9 | add_header 'Access-Control-Allow-Origin' * always; | ||
| 10 | # 设置允许的 HTTP 方法 | ||
| 11 | add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; | ||
| 12 | # 设置允许的请求头 | ||
| 13 | add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, X-Requested-With'; | ||
| 14 | # 如果需要支持 cookie,可以设置以下 header | ||
| 15 | add_header 'Access-Control-Allow-Credentials' 'true'; | ||
| 16 | # 缓存设置 | ||
| 17 | add_header Cache-Control no-cache; | ||
| 18 | add_header Cache-Control private; | ||
| 19 | # # 预检请求处理 | ||
| 20 | # if ($request_method = OPTIONS) { | ||
| 21 | # return 204; | ||
| 22 | # } | ||
| 8 | 23 | ||
| 9 | location / { | 24 | location / { |
| 10 | root /usr/share/nginx/html; | 25 | root /usr/share/nginx/html; |
| 11 | index index.html index.htm; | 26 | index index.html index.htm; |
| 12 | try_files $uri $uri/ /index.html; | 27 | try_files $uri $uri/ /index.html; |
| 28 | expires -1s; | ||
| 29 | } | ||
| 30 | |||
| 31 | location /api { | ||
| 32 | # 设置允许跨域的域名,可以使用通配符 '*' 允许所有域访问 | ||
| 33 | add_header 'Access-Control-Allow-Origin' * always; | ||
| 34 | # 设置允许的 HTTP 方法 | ||
| 35 | add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; | ||
| 36 | # 设置允许的请求头 | ||
| 37 | add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, X-Requested-With'; | ||
| 38 | # 如果需要支持 cookie,可以设置以下 header | ||
| 39 | add_header 'Access-Control-Allow-Credentials' 'true'; | ||
| 40 | # 缓存设置 | ||
| 13 | add_header Cache-Control no-cache; | 41 | add_header Cache-Control no-cache; |
| 14 | add_header Cache-Control private; | 42 | add_header Cache-Control private; |
| 15 | expires -1s; | 43 | |
| 44 | # 使用 rewrite 将 /api 替换为 /new-api | ||
| 45 | rewrite ^/api/(.*)$ /$1 break; | ||
| 46 | proxy_pass http://192.168.6.20:28052; | ||
| 16 | } | 47 | } |
| 17 | 48 | ||
| 18 | #error_page 404 /404.html; | ||
| 19 | 49 | ||
| 20 | # redirect server error pages to the static page /50x.html | ||
| 21 | # | ||
| 22 | error_page 500 502 503 504 /50x.html; | 50 | error_page 500 502 503 504 /50x.html; |
| 23 | location = /50x.html { | 51 | location = /50x.html { |
| 24 | root /usr/share/nginx/html; | 52 | root /usr/share/nginx/html; |
| 25 | } | 53 | } |
| 26 | |||
| 27 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80 | ||
| 28 | # | ||
| 29 | #location ~ \.php$ { | ||
| 30 | # proxy_pass http://127.0.0.1; | ||
| 31 | #} | ||
| 32 | |||
| 33 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 | ||
| 34 | # | ||
| 35 | #location ~ \.php$ { | ||
| 36 | # root html; | ||
| 37 | # fastcgi_pass 127.0.0.1:9000; | ||
| 38 | # fastcgi_index index.php; | ||
| 39 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; | ||
| 40 | # include fastcgi_params; | ||
| 41 | #} | ||
| 42 | |||
| 43 | # deny access to .htaccess files, if Apache's document root | ||
| 44 | # concurs with nginx's one | ||
| 45 | # | ||
| 46 | #location ~ /\.ht { | ||
| 47 | # deny all; | ||
| 48 | #} | ||
| 49 | } | 54 | } | ... | ... |
src/api/modules/dataAssetQuality.ts
0 → 100644
| 1 | /** --------------------- 质量评估模型 ------------------------------- */ | ||
| 2 | |||
| 3 | import request from "@/utils/request"; | ||
| 4 | |||
| 5 | /** 获取质量评估方案资产名称列表 */ | ||
| 6 | export const getQualityDamList = () => request({ | ||
| 7 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/dam-name-list`, | ||
| 8 | method: 'get' | ||
| 9 | }) | ||
| 10 | |||
| 11 | /** 获取质量评估列表 */ | ||
| 12 | export const getQualityList = (params) => request({ | ||
| 13 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/dam-list`, | ||
| 14 | method: 'post', | ||
| 15 | data: params | ||
| 16 | }) | ||
| 17 | |||
| 18 | /** 获取可选择的资产目录列表 */ | ||
| 19 | export const getDamList = () => request({ | ||
| 20 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/dam-name-list`, | ||
| 21 | method: 'post', | ||
| 22 | data: {} | ||
| 23 | }) | ||
| 24 | |||
| 25 | /** 获取资产目录的表列表 */ | ||
| 26 | export const getDamTableList = (damGuid) => request({ | ||
| 27 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-list?damGuid=${damGuid}`, | ||
| 28 | method: 'get' | ||
| 29 | }) | ||
| 30 | |||
| 31 | /** 获取资产目录表的详情 */ | ||
| 32 | export const getTableFields = (subjectGuid) => request({ | ||
| 33 | url:`${import.meta.env.VITE_API_ASSET_BASEURL}/dam-catalog-table/get-table-detail?subjectGuid=${subjectGuid}`, | ||
| 34 | method: 'get' | ||
| 35 | }); | ||
| 36 | |||
| 37 | /** 获取资产表的规则列表 */ | ||
| 38 | export const getDamTableRulesList = (params) => request({ | ||
| 39 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/list/rule-by-dam-guid`, | ||
| 40 | method: 'post', | ||
| 41 | data: params | ||
| 42 | }) | ||
| 43 | |||
| 44 | /** 批量新增资产表的规则 */ | ||
| 45 | export const saveDamTableRules = (params) => request({ | ||
| 46 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/add`, | ||
| 47 | method: 'post', | ||
| 48 | data: params | ||
| 49 | }) | ||
| 50 | |||
| 51 | /** 获取资产表的单个规则 */ | ||
| 52 | export const getRuleConfDetail = (param) => request({ | ||
| 53 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/detail?ruleConfGuid=${param}`, | ||
| 54 | method: 'get' | ||
| 55 | }) | ||
| 56 | |||
| 57 | /** 获取对应执行方案的规则详情 */ | ||
| 58 | export const getRecordRuleConfDetail = (param) => request({ | ||
| 59 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model-record/conf/detail?ruleConfGuid=${param.ruleConfGuid}&planExecGuid=${param.planExecGuid}`, | ||
| 60 | method: 'get' | ||
| 61 | }); | ||
| 62 | |||
| 63 | /** 编辑资产表的单个规则 */ | ||
| 64 | export const updateDamTableRule = (params) => request({ | ||
| 65 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/update`, | ||
| 66 | method: 'post', | ||
| 67 | data: params | ||
| 68 | }) | ||
| 69 | |||
| 70 | /** 删除资产表的单个规则 */ | ||
| 71 | export const deleteDamTableRule = (ruleConfGuid, planGuid: any = null) => request({ | ||
| 72 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/del?ruleConfGuid=${ruleConfGuid}&planGuid=${planGuid}`, | ||
| 73 | method: 'delete' | ||
| 74 | }) | ||
| 75 | |||
| 76 | // 获取规则类型的接口 | ||
| 77 | export const getRuleTypeList = () => request({ | ||
| 78 | url:`${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-rule/list`, | ||
| 79 | method: 'post', | ||
| 80 | data: {} | ||
| 81 | }) | ||
| 82 | |||
| 83 | // 获取规则大类的接口 | ||
| 84 | export const getLargeCategoryList = () => request({ | ||
| 85 | url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, | ||
| 86 | method: 'post', | ||
| 87 | data: { paramCode: "LARGE-CATEGORY" } | ||
| 88 | }) | ||
| 89 | |||
| 90 | // 获取规则小类的接口 | ||
| 91 | export const getSmallCategoryList = () => request({ | ||
| 92 | url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, | ||
| 93 | method: 'post', | ||
| 94 | data: { paramCode: "SMALL-CATEGORY" } | ||
| 95 | }) | ||
| 96 | |||
| 97 | /** 表的逻辑条件和sql检验。 */ | ||
| 98 | export const validateSubjectTableRule = (params) => request({ | ||
| 99 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/sql-operate/check-sql`, | ||
| 100 | method: 'post', | ||
| 101 | data: params | ||
| 102 | }) | ||
| 103 | |||
| 104 | /** 自定义sql检验 */ | ||
| 105 | export const validateCustomSql = (params) => request({ | ||
| 106 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/conf/check-custom-sql`, | ||
| 107 | method: 'post', | ||
| 108 | data: params | ||
| 109 | }) | ||
| 110 | |||
| 111 | /** 批量验证过滤条件 */ | ||
| 112 | export const batchValidateSubjectTableRule = (params) => request({ | ||
| 113 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/sql-operate/batch-check-sql`, | ||
| 114 | method: 'post', | ||
| 115 | data: params | ||
| 116 | }) | ||
| 117 | |||
| 118 | /** ---------- 第二步,规则权重设置接口 ------ - */ | ||
| 119 | |||
| 120 | /** 获取规则大类统计 */ | ||
| 121 | export const getModelRuleCount = (params) => request({ | ||
| 122 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-model/list/model-rule-category-count`, | ||
| 123 | method: 'post', | ||
| 124 | data: params | ||
| 125 | }) | ||
| 126 | |||
| 127 | /** 保存质量评估方案 */ | ||
| 128 | export const saveQualityPlan = (params) => request({ | ||
| 129 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/add`, | ||
| 130 | method: 'post', | ||
| 131 | data: params | ||
| 132 | }) | ||
| 133 | |||
| 134 | /** 更新质量方案 */ | ||
| 135 | export const updateQualityPlan = (params) => request({ | ||
| 136 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/update`, | ||
| 137 | method: 'put', | ||
| 138 | data: params | ||
| 139 | }) | ||
| 140 | |||
| 141 | /** 删除质量方案 */ | ||
| 142 | export const deleteQualityPlan = (guids) => request({ | ||
| 143 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/del`, | ||
| 144 | method: 'delete', | ||
| 145 | data: guids | ||
| 146 | }) | ||
| 147 | |||
| 148 | /** 获取方案详情,用于编辑 */ | ||
| 149 | export const getPlanDetail = (params) => request({ | ||
| 150 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/detail/${params}`, | ||
| 151 | method: 'get' | ||
| 152 | }) | ||
| 153 | |||
| 154 | /** 获取方案详情中的过滤条件,用于编辑 */ | ||
| 155 | export const getPlanFilterDetail = (params) => request({ | ||
| 156 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/query-plan-filter?planGuid=${params}`, | ||
| 157 | method: 'get' | ||
| 158 | }) | ||
| 159 | |||
| 160 | /** 手动执行方案 */ | ||
| 161 | export const executePlan = (params) => request({ | ||
| 162 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/dam-exec-plan?planGuid=${params.planGuid}&reportGuid=${params.reportGuid}`, | ||
| 163 | method: 'post' | ||
| 164 | }) | ||
| 165 | |||
| 166 | /** 获取方案查看详情列表数据。 */ | ||
| 167 | export const getAssessDetailTableData = (params) => request({ | ||
| 168 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/page-exec-log-list`, | ||
| 169 | method: 'post', | ||
| 170 | data: params | ||
| 171 | }) | ||
| 172 | |||
| 173 | /** 根据执行guid,获取方案执行详情。 */ | ||
| 174 | export const getExecPlanDetailTableData = (params) => request({ | ||
| 175 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/query-exec-detail?&planExecGuid=${params.planExecGuid}`, | ||
| 176 | method: 'get' | ||
| 177 | }) | ||
| 178 | |||
| 179 | /** 获取方案详情中每个表的规则详细执行列表数据。 */ | ||
| 180 | export const getAssessTableRulesData = (params) => request({ | ||
| 181 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/query-exec-table-detail?planExecGuid=${params.planExecGuid}&qualityModelGuid=${params.qualityModelGuid}`, | ||
| 182 | method: 'get' | ||
| 183 | }) | ||
| 184 | |||
| 185 | /** 下载脏数据 */ | ||
| 186 | export const downloadDirtyData = (params) => request({ | ||
| 187 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/down-dirty-data`, | ||
| 188 | method: 'post', | ||
| 189 | data: params, | ||
| 190 | responseType: 'blob' | ||
| 191 | }) | ||
| 192 | |||
| 193 | /** html转word接口 */ | ||
| 194 | export const htmlToWord = (params) => request({ | ||
| 195 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/download/html-to-word`, | ||
| 196 | method: 'postJsonD', | ||
| 197 | data: params, | ||
| 198 | responseType: 'blob' | ||
| 199 | }); | ||
| 200 | |||
| 201 | /** 获取方案执行表规则查看 */ | ||
| 202 | export const getTableRuleDetail= (params) => request({ | ||
| 203 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/query-exec-table-rule-detail?reportExecGuid=${params}`, | ||
| 204 | method: 'get' | ||
| 205 | }); | ||
| 206 | |||
| 207 | /** 获取数据质量一级指标得分统计 */ | ||
| 208 | export const getLargeCategoryScore = (params) => request({ | ||
| 209 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/get-largeCategory-score?reportExecGuid=${params}`, | ||
| 210 | method: 'get' | ||
| 211 | }); | ||
| 212 | |||
| 213 | /** 获取质量分析报告的详细内容,根绝报告guid。 */ | ||
| 214 | export const getReportDetail = (params) => request({ | ||
| 215 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/get-report-data`, | ||
| 216 | method: 'post', | ||
| 217 | data: params | ||
| 218 | }); | ||
| 219 | |||
| 220 | /** 获取方案执行明细 */ | ||
| 221 | export const getPlanReportDetail= (params) => request({ | ||
| 222 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-analysis-report/query-exec-table-detail?reportExecGuid=${params.reportExecGuid}&planGuid=${params.planGuid}`, | ||
| 223 | method: 'get' | ||
| 224 | }); | ||
| 225 | |||
| 226 | /** 下载sql语句执行 */ | ||
| 227 | export const downPlanSql = (planGuid) => request({ | ||
| 228 | url: `${import.meta.env.VITE_APP_QUALITY_BASEURL}/quality-plan/down-plan-sql?planGuid=${planGuid}`, | ||
| 229 | method: 'post', | ||
| 230 | responseType: 'blob' | ||
| 231 | }) |
src/api/modules/dataFinance.ts
0 → 100644
| 1 | import request from "@/utils/request"; | ||
| 2 | |||
| 3 | /** | ||
| 4 | * 流通撮合 | ||
| 5 | **/ | ||
| 6 | |||
| 7 | /** 获取已添加的数据产品列表 */ | ||
| 8 | export const getMatchList = (params) => request({ | ||
| 9 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/page-list`, | ||
| 10 | method: 'post', | ||
| 11 | data: params | ||
| 12 | }) | ||
| 13 | |||
| 14 | /** 获取撮合详情 */ | ||
| 15 | export const getMatchDetail = (params) => request({ | ||
| 16 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/detail`, | ||
| 17 | method: 'get', | ||
| 18 | params | ||
| 19 | }) | ||
| 20 | |||
| 21 | /** 新增撮合信息 */ | ||
| 22 | export const matchSave = (params) => request({ | ||
| 23 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/save`, | ||
| 24 | method: 'post', | ||
| 25 | data: params | ||
| 26 | }); | ||
| 27 | |||
| 28 | /** 更新撮合信息 */ | ||
| 29 | export const matchUpdate = (params) => request({ | ||
| 30 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/update`, | ||
| 31 | method: 'post', | ||
| 32 | data: params | ||
| 33 | }); | ||
| 34 | |||
| 35 | /** 删除撮合信息 */ | ||
| 36 | export const matchDelete = (params) => request({ | ||
| 37 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/delete`, | ||
| 38 | method: 'delete', | ||
| 39 | data: params | ||
| 40 | }); | ||
| 41 | |||
| 42 | /** 获取撮合日志 */ | ||
| 43 | export const getMatchLog = (params) => request({ | ||
| 44 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/circulation-matching/state-change-log-list`, | ||
| 45 | method: 'get', | ||
| 46 | params | ||
| 47 | }); | ||
| 48 | |||
| 49 | /** | ||
| 50 | * 金融产品 | ||
| 51 | **/ | ||
| 52 | /** 获取金融产品列表。 */ | ||
| 53 | export const getFinancialList = (params) => request({ | ||
| 54 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/page-list`, | ||
| 55 | method: 'post', | ||
| 56 | data: params | ||
| 57 | }) | ||
| 58 | |||
| 59 | /** 获取金融产品详情 */ | ||
| 60 | export const getFinancialDetail = (params) => request({ | ||
| 61 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/detail`, | ||
| 62 | method: 'get', | ||
| 63 | params | ||
| 64 | }) | ||
| 65 | |||
| 66 | /** 新增金融产品信息 */ | ||
| 67 | export const financialSave = (params) => request({ | ||
| 68 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/save`, | ||
| 69 | method: 'post', | ||
| 70 | data: params | ||
| 71 | }); | ||
| 72 | |||
| 73 | /** 更新金融产品信息 */ | ||
| 74 | export const financialUpdate = (params) => request({ | ||
| 75 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/update`, | ||
| 76 | method: 'post', | ||
| 77 | data: params | ||
| 78 | }); | ||
| 79 | |||
| 80 | /** 删除金融产品信息 */ | ||
| 81 | export const financialDelete = (params) => request({ | ||
| 82 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/delete`, | ||
| 83 | method: 'delete', | ||
| 84 | data: params | ||
| 85 | }); | ||
| 86 | |||
| 87 | /** 更新金融产品上架状态 */ | ||
| 88 | export const financialUpdateStatus = (params) => request({ | ||
| 89 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/update-listing-Status`, | ||
| 90 | method: 'post', | ||
| 91 | data: params | ||
| 92 | }); | ||
| 93 | |||
| 94 | /** 验证金融产品名称唯一性 */ | ||
| 95 | export const checkFinancialName = (params) => request({ | ||
| 96 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/financial-products/verify-data-name`, | ||
| 97 | method: 'get', | ||
| 98 | params | ||
| 99 | }) | ||
| 100 | |||
| 101 | // 数据要素乘 | ||
| 102 | export const orderStates = [{ | ||
| 103 | value: 'N', | ||
| 104 | label: '待沟通' | ||
| 105 | }, { | ||
| 106 | value: 'I', | ||
| 107 | label: '沟通中' | ||
| 108 | }, { | ||
| 109 | value: 'R', | ||
| 110 | label: '达成意向' | ||
| 111 | }, { | ||
| 112 | value: 'C', | ||
| 113 | label: '合同拟定' | ||
| 114 | }, { | ||
| 115 | value: 'S', | ||
| 116 | label: '合同签署' | ||
| 117 | }, { | ||
| 118 | value: 'P', | ||
| 119 | label: '合同执行中' | ||
| 120 | }, { | ||
| 121 | value: 'Y', | ||
| 122 | label: '合同执行完' | ||
| 123 | }, { | ||
| 124 | value: 'D', | ||
| 125 | label: '撮合关闭' | ||
| 126 | }] | ||
| 127 | |||
| 128 | export const filterVal = (val, type) => { | ||
| 129 | if(type == 'orderState'){ | ||
| 130 | const row = orderStates.filter(d => d.value == val); | ||
| 131 | return row.length?row[0].label:'--'; | ||
| 132 | } else if(type == 'tenantNature'){ | ||
| 133 | let approval = '--'; | ||
| 134 | switch (val) { | ||
| 135 | case 1: | ||
| 136 | approval = '数据字典数据治理'; | ||
| 137 | break; | ||
| 138 | case 2: | ||
| 139 | approval = '律师事务所'; | ||
| 140 | break; | ||
| 141 | case 3: | ||
| 142 | approval = '会计师事务所'; | ||
| 143 | break; | ||
| 144 | case 4: | ||
| 145 | approval = '金融机构'; | ||
| 146 | break; | ||
| 147 | case 5: | ||
| 148 | approval = '资产评估机构'; | ||
| 149 | break; | ||
| 150 | case 6: | ||
| 151 | approval = '申请数据资产化企业'; | ||
| 152 | break; | ||
| 153 | case 7: | ||
| 154 | approval = '其他'; | ||
| 155 | break; | ||
| 156 | default: | ||
| 157 | approval = '--'; | ||
| 158 | break; | ||
| 159 | } | ||
| 160 | return approval; | ||
| 161 | } | ||
| 162 | } | ||
| 163 | |||
| 164 | export const filterStatus = (row, type) => { | ||
| 165 | let state = 'info' | ||
| 166 | if (type == 'orderState') { | ||
| 167 | switch (row[type]) { | ||
| 168 | case "N": | ||
| 169 | state = 'warning' | ||
| 170 | break; | ||
| 171 | case "I": | ||
| 172 | state = 'warning' | ||
| 173 | break; | ||
| 174 | case "R": | ||
| 175 | state = "warning" | ||
| 176 | break | ||
| 177 | case "C": | ||
| 178 | state = "warning" | ||
| 179 | break | ||
| 180 | case "S": | ||
| 181 | state = "primary" | ||
| 182 | break | ||
| 183 | case "P": | ||
| 184 | state = "primary" | ||
| 185 | break | ||
| 186 | case "Y": | ||
| 187 | state = 'success'; | ||
| 188 | break; | ||
| 189 | case "D": | ||
| 190 | state = "info" | ||
| 191 | break | ||
| 192 | default: | ||
| 193 | state = "info" | ||
| 194 | break | ||
| 195 | } | ||
| 196 | } | ||
| 197 | return state; | ||
| 198 | } |
| ... | @@ -2,16 +2,174 @@ import request from "@/utils/request"; | ... | @@ -2,16 +2,174 @@ import request from "@/utils/request"; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | /** | 4 | /** |
| 5 | * 数据字典 | ||
| 6 | **/ | ||
| 7 | |||
| 8 | // 编码规则流水号 | ||
| 9 | export const getCoderuleList = (params) => request({ | ||
| 10 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/code-rule/list`, | ||
| 11 | method: 'post', | ||
| 12 | data: params | ||
| 13 | }) | ||
| 14 | // 获取数据类型的接口 | ||
| 15 | export const getDataTypeList = (params) => request({ | ||
| 16 | url: `${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, | ||
| 17 | method: 'post', | ||
| 18 | data: params, | ||
| 19 | }) | ||
| 20 | // 获取数据库列表 | ||
| 21 | export const getDataBaseList = (params) => request({ | ||
| 22 | url: `${import.meta.env.VITE_APP_API_BASEURL}/data-source/get-source-list`, | ||
| 23 | method: 'post', | ||
| 24 | data: params, | ||
| 25 | }) | ||
| 26 | |||
| 27 | // 新增 | ||
| 28 | export const addDictionary = (params) => request({ | ||
| 29 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/add`, | ||
| 30 | method: 'post', | ||
| 31 | data: params | ||
| 32 | }) | ||
| 33 | // 删除 | ||
| 34 | export const deleteDictionary = (params) => request({ | ||
| 35 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/del`, | ||
| 36 | method: 'delete', | ||
| 37 | data: params | ||
| 38 | }) | ||
| 39 | // 删除数据字典前的校验 | ||
| 40 | export const checkDeleteDictionary = (params) => request({ | ||
| 41 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/check-del`, | ||
| 42 | method: 'delete', | ||
| 43 | data: params | ||
| 44 | }) | ||
| 45 | // 编辑校验数据结构删除的条件 | ||
| 46 | export const checkDeleteDictionaryScheme = (params) => request({ | ||
| 47 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/check-del/dictionary-scheme`, | ||
| 48 | method: 'post', | ||
| 49 | data: params | ||
| 50 | }) | ||
| 51 | // 分页查询 | ||
| 52 | // export const getDictionary = (params) => request({ | ||
| 53 | // url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/page-list`, | ||
| 54 | // method: 'post', | ||
| 55 | // data: params | ||
| 56 | // }) | ||
| 57 | // 查询数据字典启用状态的数据 | ||
| 58 | export const getDictionaryAll = (params) => request({ | ||
| 59 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/list-all`, | ||
| 60 | method: 'post', | ||
| 61 | params | ||
| 62 | }) | ||
| 63 | // 修改 | ||
| 64 | export const updateDictionary = (params) => request({ | ||
| 65 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/update`, | ||
| 66 | method: 'put', | ||
| 67 | data: params | ||
| 68 | }) | ||
| 69 | // 详情 | ||
| 70 | export const getDictionaryDetail = (params) => request({ | ||
| 71 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/detail/${params}`, | ||
| 72 | method: 'get' | ||
| 73 | }) | ||
| 74 | // 查看数据字典数据 | ||
| 75 | export const getDictionaryFileds = (params) => request({ | ||
| 76 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/dictionary-data/${params}`, | ||
| 77 | method: 'get' | ||
| 78 | }) | ||
| 79 | // 数据字典启用停用 | ||
| 80 | export const updateDictionaryState = (params) => request({ | ||
| 81 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/change-state`, | ||
| 82 | method: 'get', | ||
| 83 | params | ||
| 84 | }) | ||
| 85 | // 检验是否存在 | ||
| 86 | export const checkDictionary = (params) => request({ | ||
| 87 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/check-exist`, | ||
| 88 | method: 'get', | ||
| 89 | params | ||
| 90 | }) | ||
| 91 | // 数据字典新增数据时生成编码规则 | ||
| 92 | export const getDictionaryRuleData = (params) => request({ | ||
| 93 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/generate/code-rule/byGuid`, | ||
| 94 | method: 'get', | ||
| 95 | params | ||
| 96 | }) | ||
| 97 | // 数据字典树形数据 | ||
| 98 | export const getDictionaryTree = (params) => request({ | ||
| 99 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/tree-list`, | ||
| 100 | method: 'post', | ||
| 101 | params | ||
| 102 | }) | ||
| 103 | // 保存动态数据字典数据 | ||
| 104 | export const saveDictionaryData = (params) => request({ | ||
| 105 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/save/dictionary-data`, | ||
| 106 | method: 'post', | ||
| 107 | data: params | ||
| 108 | }) | ||
| 109 | // 更新数据字典数据 | ||
| 110 | export const updateDictionaryData = (params) => request({ | ||
| 111 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/update/dictionary-data`, | ||
| 112 | method: 'post', | ||
| 113 | data: params | ||
| 114 | }) | ||
| 115 | // 删除数据字典数据 | ||
| 116 | export const deleteDictionaryData = (params) => request({ | ||
| 117 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/del/dictionary-data`, | ||
| 118 | method: 'delete', | ||
| 119 | data: params | ||
| 120 | }) | ||
| 121 | // 导入数据字典 | ||
| 122 | export const importDictionary = (params) => request({ | ||
| 123 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/import/data-dictionary`, | ||
| 124 | method: 'post', | ||
| 125 | data: params | ||
| 126 | }) | ||
| 127 | // 显示导入的数据字典数据 | ||
| 128 | export const showDictionary = (params) => request({ | ||
| 129 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/import/show/data-dictionary`, | ||
| 130 | method: 'post', | ||
| 131 | data: params, | ||
| 132 | headers: { | ||
| 133 | 'Content-Type': 'multipart/form-data' | ||
| 134 | } | ||
| 135 | }) | ||
| 136 | // 导出数据字典模板 | ||
| 137 | export const exportDictionary = (params) => request({ | ||
| 138 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/export/data-dictionary/schema`, | ||
| 139 | method: 'post', | ||
| 140 | data: params, | ||
| 141 | responseType: 'blob' | ||
| 142 | }) | ||
| 143 | // 导出数据字典数据 | ||
| 144 | export const exportDictionaryFileds = (params) => request({ | ||
| 145 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/export/data-dictionary/data`, | ||
| 146 | method: 'post', | ||
| 147 | data: params, | ||
| 148 | responseType: 'blob' | ||
| 149 | }) | ||
| 150 | // 验证数据是否符合标准 | ||
| 151 | export const checkDictionaryData = (params) => request({ | ||
| 152 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-dictionary-general/check/dictionary-data`, | ||
| 153 | method: 'post', | ||
| 154 | data: params | ||
| 155 | }) | ||
| 156 | |||
| 157 | |||
| 158 | /** | ||
| 5 | * 获取数据级别 | 159 | * 获取数据级别 |
| 6 | * @param {Object} | 160 | * @param {Object} |
| 7 | * { paramCode: "DATA-CLASSIFY" } | 161 | * { paramCode: "DATA-CLASSIFY" } |
| 8 | * DATA-CLASSIFY 数据类别 | 162 | * DATA-CLASSIFY 数据类别 |
| 9 | * DATA-GRADE 数据级别 | 163 | * DATA-GRADE 数据级别 |
| 10 | */ | 164 | */ |
| 11 | export const getLargeCategoryList = (data) => request({ | 165 | // export const getLargeCategoryList = (data) => request({ |
| 12 | url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, | 166 | // url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`, |
| 13 | method: 'post', | 167 | // method: 'post', |
| 14 | data | 168 | // data |
| 169 | // }) | ||
| 170 | export const getLargeCategoryList = (params) => request({ | ||
| 171 | url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`, | ||
| 172 | method: 'get', | ||
| 15 | }) | 173 | }) |
| 16 | 174 | ||
| 17 | 175 | ||
| ... | @@ -213,6 +371,18 @@ export const getCgTemplateClassifyTreeList = (data) => request({ | ... | @@ -213,6 +371,18 @@ export const getCgTemplateClassifyTreeList = (data) => request({ |
| 213 | 371 | ||
| 214 | 372 | ||
| 215 | /**-------------------------分类分级目录--------------------------------- */ | 373 | /**-------------------------分类分级目录--------------------------------- */ |
| 374 | /** | ||
| 375 | * 查询执行guid和目录名称 | ||
| 376 | * @param {no params} | ||
| 377 | * @path /cg-dir/get-exec-guid-and-name | ||
| 378 | */ | ||
| 379 | export const getExecGuidAndName = () => request({ | ||
| 380 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-dir/get-exec-guid-and-name`, | ||
| 381 | method: 'post', | ||
| 382 | }) | ||
| 383 | |||
| 384 | |||
| 385 | |||
| 216 | 386 | ||
| 217 | /** | 387 | /** |
| 218 | * 分类分级目录树形列表 | 388 | * 分类分级目录树形列表 |
| ... | @@ -390,3 +560,152 @@ export const filterVal = (val, type) => { | ... | @@ -390,3 +560,152 @@ export const filterVal = (val, type) => { |
| 390 | } | 560 | } |
| 391 | return status; | 561 | return status; |
| 392 | } | 562 | } |
| 563 | |||
| 564 | /** 获取字典列表 | ||
| 565 | * VITE_APP_PLAN_BASEURL 为环境变量 现在只是mock数据 | ||
| 566 | */ | ||
| 567 | export const getDictionary = (params) => request({ | ||
| 568 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/data-dictionary-general/list-all?state=1`, | ||
| 569 | method: 'post' | ||
| 570 | }) | ||
| 571 | |||
| 572 | |||
| 573 | |||
| 574 | /** 业务规则配置-新增 | ||
| 575 | * @param {Object} | ||
| 576 | * @path /biz-rule-config/save | ||
| 577 | */ | ||
| 578 | export const saveBizRuleConfig = (data) => request({ | ||
| 579 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/biz-rule-config/save`, | ||
| 580 | method: 'post', | ||
| 581 | data | ||
| 582 | }) | ||
| 583 | |||
| 584 | |||
| 585 | /**树形目录 | ||
| 586 | * @param {Object} | ||
| 587 | * @path /db-dir/tree-list | ||
| 588 | */ | ||
| 589 | export const getDbDirTreeList = (data) => request({ | ||
| 590 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/tree-list`, | ||
| 591 | method: 'post', | ||
| 592 | data | ||
| 593 | }) | ||
| 594 | |||
| 595 | /** | ||
| 596 | * 数据库目录-表数据列表查询 | ||
| 597 | * @param {Object} | ||
| 598 | * @path /db-dir/table/page-list | ||
| 599 | */ | ||
| 600 | export const getDbDirTablePageList = (data) => request({ | ||
| 601 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/table/page-list`, | ||
| 602 | method: 'post', | ||
| 603 | data | ||
| 604 | }) | ||
| 605 | |||
| 606 | /** | ||
| 607 | * 数据库目录-已有数据库列表 | ||
| 608 | * @param {no params} | ||
| 609 | * @path /db-dir/data-source/list | ||
| 610 | */ | ||
| 611 | export const getDbDirDataSourceList = (params) => request({ | ||
| 612 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/data-source/list?execGuid=${params.execGuid}`, | ||
| 613 | method: 'post', | ||
| 614 | }) | ||
| 615 | |||
| 616 | /** | ||
| 617 | * 获取列表 | ||
| 618 | * @param {Object} | ||
| 619 | * @path /db-dir/field/page-list | ||
| 620 | * @returns | ||
| 621 | */ | ||
| 622 | export const getDbDirFieldPageList = (data) => request({ | ||
| 623 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/field/page-list`, | ||
| 624 | method: 'post', | ||
| 625 | data | ||
| 626 | }) | ||
| 627 | |||
| 628 | |||
| 629 | |||
| 630 | /** 获取已有字段信息 */ | ||
| 631 | export const getDsTableStructure= (data) => request({ | ||
| 632 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/field/list-by-table-guid`, | ||
| 633 | method: 'post', | ||
| 634 | data | ||
| 635 | }); | ||
| 636 | |||
| 637 | /** 根据选择的连接池获取表列表 */ | ||
| 638 | export const getDsTableByDs = (params) => request({ | ||
| 639 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/table/list-by-datasource-guid`, | ||
| 640 | method: 'post', | ||
| 641 | data: params | ||
| 642 | }) | ||
| 643 | |||
| 644 | /** 根据数据表获取表结构 */ | ||
| 645 | export const getDsData= (params) => request({ | ||
| 646 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/data-catalog-subject/table-column-list`, | ||
| 647 | method: 'post', | ||
| 648 | data: params | ||
| 649 | }); | ||
| 650 | |||
| 651 | |||
| 652 | /** | ||
| 653 | * 数据库新建目录表 | ||
| 654 | * @param {Object} | ||
| 655 | * @path /db-dir/table/save | ||
| 656 | */ | ||
| 657 | export const saveDbDirTable = (data) => request({ | ||
| 658 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/table/save`, | ||
| 659 | method: 'post', | ||
| 660 | data | ||
| 661 | }) | ||
| 662 | |||
| 663 | /** | ||
| 664 | * 数据库目录修改表 | ||
| 665 | * @param {Object} | ||
| 666 | * @path /db-dir/table/update | ||
| 667 | */ | ||
| 668 | export const updateDbDirTable = (data) => request({ | ||
| 669 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/table/update`, | ||
| 670 | method: 'post', | ||
| 671 | data | ||
| 672 | }) | ||
| 673 | |||
| 674 | /** | ||
| 675 | * 生成建表sql语句 | ||
| 676 | * @param {Object} | ||
| 677 | * @path /db-dir/table/create-table-sql | ||
| 678 | */ | ||
| 679 | export const createTableSql = (data) => request({ | ||
| 680 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/table/create-table-sql`, | ||
| 681 | method: 'post', | ||
| 682 | data | ||
| 683 | }) | ||
| 684 | |||
| 685 | |||
| 686 | |||
| 687 | |||
| 688 | /*********************业务规则配置 ************数据库目录************************* */ | ||
| 689 | |||
| 690 | /** | ||
| 691 | * 业务规则配置-详情 | ||
| 692 | * @param {Object} | ||
| 693 | * @path /biz-rule-config/detail | ||
| 694 | * @returns | ||
| 695 | */ | ||
| 696 | export const getBizRuleConfigDetail = (params) => request({ | ||
| 697 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/biz-rule-config/detail?tableGuid=${params.tableGuid}&execGuid=${params.execGuid}`, | ||
| 698 | method: 'get', | ||
| 699 | }) | ||
| 700 | |||
| 701 | /** | ||
| 702 | * 业务规则配置-修改 | ||
| 703 | * @param {Object} | ||
| 704 | * @path /biz-rule-config/update | ||
| 705 | * @returns | ||
| 706 | */ | ||
| 707 | export const updateBizRuleConfig = (data) => request({ | ||
| 708 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/biz-rule-config/update`, | ||
| 709 | method: 'post', | ||
| 710 | data | ||
| 711 | }) | ... | ... |
| ... | @@ -17,10 +17,11 @@ export const deleteMetaDataTask = (params) => request({ | ... | @@ -17,10 +17,11 @@ export const deleteMetaDataTask = (params) => request({ |
| 17 | }) | 17 | }) |
| 18 | // 分页查询 | 18 | // 分页查询 |
| 19 | export const getMetaDataTask = (params) => request({ | 19 | export const getMetaDataTask = (params) => request({ |
| 20 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/meta-collect-task/page-list`, | 20 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/meta-collect-task/page-list`, |
| 21 | method: 'post', | 21 | method: 'post', |
| 22 | data: params | 22 | data: params |
| 23 | }) | 23 | }) |
| 24 | |||
| 24 | // 修改 | 25 | // 修改 |
| 25 | export const updateMetaDataTask = (params) => request({ | 26 | export const updateMetaDataTask = (params) => request({ |
| 26 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/meta-collect-task/update`, | 27 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/meta-collect-task/update`, |
| ... | @@ -92,7 +93,7 @@ export const getMetaDataSheet = (params) => request({ | ... | @@ -92,7 +93,7 @@ export const getMetaDataSheet = (params) => request({ |
| 92 | }) | 93 | }) |
| 93 | // 表字段查询 | 94 | // 表字段查询 |
| 94 | export const getMetaSheetField = (params) => request({ | 95 | export const getMetaSheetField = (params) => request({ |
| 95 | url: `${import.meta.env.VITE_APP_PLAN_BASEURL}/meta-table/meta-table-field-list`, | 96 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/meta-table/meta-table-field-list`, |
| 96 | method: 'post', | 97 | method: 'post', |
| 97 | params | 98 | params |
| 98 | }) | 99 | }) | ... | ... |
src/api/modules/dataPartners.ts
0 → 100644
| 1 | import request from "@/utils/request"; | ||
| 2 | |||
| 3 | /** 校验公司名称是否重复 */ | ||
| 4 | export const checkCompanyName = (params) => request({ | ||
| 5 | url: `${import.meta.env.VITE_API_PORTALURL}/portal/cooperate-register/verify-company-name`, | ||
| 6 | method: 'get', | ||
| 7 | params | ||
| 8 | }) | ||
| 9 | |||
| 10 | /** 获取短信验证码 */ | ||
| 11 | export const getRegisterCode = (params) => request({ | ||
| 12 | url: `${import.meta.env.VITE_API_PORTALURL}/portal/sms/get-verify-code`, | ||
| 13 | method: 'post', | ||
| 14 | params | ||
| 15 | }) | ||
| 16 | |||
| 17 | /** 校验短信验证码 */ | ||
| 18 | export const checkRegisterCode = (params) => request({ | ||
| 19 | url: `${import.meta.env.VITE_API_PORTALURL}/portal/sms/get-verify-code-validation`, | ||
| 20 | method: 'post', | ||
| 21 | params | ||
| 22 | }) | ||
| 23 | |||
| 24 | /** 注册信息申请 */ | ||
| 25 | export const registerInfoSave = (params) => request({ | ||
| 26 | url: `${import.meta.env.VITE_API_PORTALURL}/portal/cooperate/save`, | ||
| 27 | method: 'post', | ||
| 28 | data: params | ||
| 29 | }); | ||
| 30 | |||
| 31 | /** 获取注册信息列表。 */ | ||
| 32 | export const getRegisterInfoList = (params) => request({ | ||
| 33 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/page-list`, | ||
| 34 | method: 'post', | ||
| 35 | data: params | ||
| 36 | }) | ||
| 37 | |||
| 38 | /** 获取注册信息详情 */ | ||
| 39 | export const getRegiaterInfoDetail = (params) => request({ | ||
| 40 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/detail`, | ||
| 41 | method: 'get', | ||
| 42 | params | ||
| 43 | }) | ||
| 44 | |||
| 45 | /** 更新注册信息 */ | ||
| 46 | export const registerInfoUpdate = (params) => request({ | ||
| 47 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/update`, | ||
| 48 | method: 'post', | ||
| 49 | data: params | ||
| 50 | }); | ||
| 51 | |||
| 52 | /** 删除注册信息 */ | ||
| 53 | export const registerInfoDelete = (params) => request({ | ||
| 54 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/delete`, | ||
| 55 | method: 'delete', | ||
| 56 | data: params | ||
| 57 | }); | ||
| 58 | |||
| 59 | /** 验证管理员账号是否重复 */ | ||
| 60 | export const checkAccount = (params) => request({ | ||
| 61 | url: `${import.meta.env.VITE_API_ASSET_BASEURL}/cooperate-register/verify-admin-account`, | ||
| 62 | method: 'get', | ||
| 63 | params | ||
| 64 | }) | ||
| 65 | |||
| 66 | /** 获取登录日志 */ | ||
| 67 | export const getAccountLog = (params) => request({ | ||
| 68 | url: `${import.meta.env.VITE_APP_API_BASEURL}/user/user-login-record`, | ||
| 69 | method: 'post', | ||
| 70 | data: params | ||
| 71 | }) | ||
| 72 | |||
| 73 | |||
| 74 | /** 获取图形验证码 **/ | ||
| 75 | export const getImgCodeSrc = (params={}) => request({ | ||
| 76 | url: `${import.meta.env.VITE_API_PORTALURL}/portal/get-captcha`, | ||
| 77 | method: 'get', | ||
| 78 | params | ||
| 79 | }) | ||
| 80 | |||
| 81 | /** 校验图形验证码 **/ | ||
| 82 | export const checkImgCode = (params={}) => request({ | ||
| 83 | url: `${import.meta.env.VITE_API_PORTALURL}/portal/check`, | ||
| 84 | method: 'post', | ||
| 85 | params | ||
| 86 | }) |
This diff is collapsed.
Click to expand it.
| ... | @@ -209,8 +209,76 @@ const routes: RouteRecordRaw[] = [ | ... | @@ -209,8 +209,76 @@ const routes: RouteRecordRaw[] = [ |
| 209 | cache: true | 209 | cache: true |
| 210 | }, | 210 | }, |
| 211 | }, | 211 | }, |
| 212 | ], | 212 | { |
| 213 | path: 'configure-rules', | ||
| 214 | name: 'configureRules', | ||
| 215 | component: () => import('@/views/data_inventory/configureRules.vue'), | ||
| 216 | meta: { | ||
| 217 | title: '配置业务规则', | ||
| 218 | sidebar: false, | ||
| 219 | breadcrumb: false, | ||
| 220 | cache: true, | ||
| 221 | reuse: true, | ||
| 222 | editPage: true, | ||
| 223 | activeMenu: '/data-inventory/classify-grade-catalogue', | ||
| 224 | }, | ||
| 225 | }, | ||
| 226 | { | ||
| 227 | path: 'table-create-existing', | ||
| 228 | name: 'tableCreateExisting', | ||
| 229 | component: () => import('@/views/data_inventory/tableCreateExisting.vue'), | ||
| 230 | meta: { | ||
| 231 | title: '已有表新建', | ||
| 232 | sidebar: false, | ||
| 233 | breadcrumb: false, | ||
| 234 | cache: true, | ||
| 235 | reuse: true | ||
| 236 | }, | ||
| 237 | beforeEnter: (to, from) => { | ||
| 238 | if (to.query.domainName) { | ||
| 239 | to.meta.title = `已有表新建(${to.query.domainName})`; | ||
| 240 | to.meta.editPage = true; | ||
| 241 | } | ||
| 242 | } | ||
| 243 | }, | ||
| 244 | { | ||
| 245 | path: 'table-create-file', | ||
| 246 | name: 'tableCreateFile', | ||
| 247 | component: () => import('@/views/data_inventory/tableCreateFile.vue'), | ||
| 248 | meta: { | ||
| 249 | title: '根据文件新建', | ||
| 250 | sidebar: false, | ||
| 251 | breadcrumb: false, | ||
| 252 | cache: true, | ||
| 253 | reuse: true | ||
| 254 | }, | ||
| 255 | beforeEnter: (to, from) => { | ||
| 256 | |||
| 213 | } | 257 | } |
| 258 | }, | ||
| 259 | ], | ||
| 260 | }, | ||
| 261 | { | ||
| 262 | path: '/data-inventory/data-dictionary', | ||
| 263 | component: Layout, | ||
| 264 | meta: { | ||
| 265 | title: '数据字典', | ||
| 266 | icon: 'sidebar-cooperation', | ||
| 267 | }, | ||
| 268 | children: [ | ||
| 269 | { | ||
| 270 | path: '', | ||
| 271 | name: 'dictionary', | ||
| 272 | component: () => import('@/views/data_inventory/dictionary.vue'), | ||
| 273 | meta: { | ||
| 274 | title: '数据字典', | ||
| 275 | sidebar: false, | ||
| 276 | breadcrumb: false, | ||
| 277 | cache: true | ||
| 278 | }, | ||
| 279 | }, | ||
| 280 | ], | ||
| 281 | }, | ||
| 214 | ] | 282 | ] |
| 215 | 283 | ||
| 216 | export default routes | 284 | export default routes | ... | ... |
| ... | @@ -101,6 +101,13 @@ const systemRoutes: RouteRecordRaw[] = [ | ... | @@ -101,6 +101,13 @@ const systemRoutes: RouteRecordRaw[] = [ |
| 101 | // 动态路由(异步路由、导航栏路由) | 101 | // 动态路由(异步路由、导航栏路由) |
| 102 | const asyncRoutes: Route.recordMainRaw[] = [ | 102 | const asyncRoutes: Route.recordMainRaw[] = [ |
| 103 | { | 103 | { |
| 104 | meta:{ | ||
| 105 | title: '首页', | ||
| 106 | }, | ||
| 107 | children: [ | ||
| 108 | ], | ||
| 109 | }, | ||
| 110 | { | ||
| 104 | meta: { | 111 | meta: { |
| 105 | title: '数据资产管理', | 112 | title: '数据资产管理', |
| 106 | }, | 113 | }, | ... | ... |
| ... | @@ -218,7 +218,7 @@ const rulesDetailTableInfo: any = ref({ | ... | @@ -218,7 +218,7 @@ const rulesDetailTableInfo: any = ref({ |
| 218 | oneRulesDetailDialogVisible.value = true; | 218 | oneRulesDetailDialogVisible.value = true; |
| 219 | } else { | 219 | } else { |
| 220 | detailJson.value[row.ruleConfGuid] = { isRequest: true }; | 220 | detailJson.value[row.ruleConfGuid] = { isRequest: true }; |
| 221 | getRecordRuleConfDetail({ruleConfGuid: row.ruleConfGuid, planExecGuid: planExecGuid }).then((res: any) => { | 221 | getRecordRuleConfDetail({ ruleConfGuid: row.ruleConfGuid, planExecGuid: planExecGuid }).then((res: any) => { |
| 222 | detailLoading.value = false; | 222 | detailLoading.value = false; |
| 223 | oneRulesDetailDialogVisible.value = true; | 223 | oneRulesDetailDialogVisible.value = true; |
| 224 | if (res.code == proxy.$passCode) { | 224 | if (res.code == proxy.$passCode) { | ... | ... |
| ... | @@ -72,9 +72,12 @@ const tableInfo = ref({ | ... | @@ -72,9 +72,12 @@ const tableInfo = ref({ |
| 72 | return status == 'Y' ? '有效' : '停用'; | 72 | return status == 'Y' ? '有效' : '停用'; |
| 73 | } | 73 | } |
| 74 | }, | 74 | }, |
| 75 | { label: "定义说明", width: 360, field: "description", }, | 75 | { label: "定义说明", width: 140, field: "description", }, |
| 76 | { | 76 | { |
| 77 | label: "最低安全级别参考", field: "name", width: 140, | 77 | label: "最低安全级别参考", field: "name", width: 140, getName: (scope) => { |
| 78 | let dataGrade = scope.row.dataGrade; | ||
| 79 | return dataGrade + '级'; | ||
| 80 | } | ||
| 78 | }, | 81 | }, |
| 79 | { label: "修改人", field: "updateUserName", width: 140 }, | 82 | { label: "修改人", field: "updateUserName", width: 140 }, |
| 80 | { label: "更新时间", field: "updateTime", width: 180 }, | 83 | { label: "更新时间", field: "updateTime", width: 180 }, |
| ... | @@ -386,6 +389,7 @@ const getGradeListData = async () => { | ... | @@ -386,6 +389,7 @@ const getGradeListData = async () => { |
| 386 | 389 | ||
| 387 | const newCreateClass = () => { | 390 | const newCreateClass = () => { |
| 388 | drawerInfo.value.visible = true; | 391 | drawerInfo.value.visible = true; |
| 392 | classEditFormItems.value[2].options = treeListData.value; | ||
| 389 | drawerInfo.value.header.title = '添加分类'; | 393 | drawerInfo.value.header.title = '添加分类'; |
| 390 | classEditFormItems.value.forEach(item => { | 394 | classEditFormItems.value.forEach(item => { |
| 391 | if (item.field == 'status') { | 395 | if (item.field == 'status') { |
| ... | @@ -702,7 +706,7 @@ onMounted(() => { | ... | @@ -702,7 +706,7 @@ onMounted(() => { |
| 702 | style="margin-top:16px; height: calc(100% - 161px)"> | 706 | style="margin-top:16px; height: calc(100% - 161px)"> |
| 703 | <div class="tools_btns"> | 707 | <div class="tools_btns"> |
| 704 | <el-button v-show="dataShowMethod == 'table'" type="primary" @click="newCreateClass">添加分类</el-button> | 708 | <el-button v-show="dataShowMethod == 'table'" type="primary" @click="newCreateClass">添加分类</el-button> |
| 705 | <el-button v-show="dataShowMethod == 'table'" @click="importClass">导入分类</el-button> | 709 | <!-- <el-button v-show="dataShowMethod == 'table'" @click="importClass">导入分类</el-button> --> |
| 706 | <el-button class="show-change-btn" @click="changeShowMethod">{{ '图形展示' }}</el-button> | 710 | <el-button class="show-change-btn" @click="changeShowMethod">{{ '图形展示' }}</el-button> |
| 707 | </div> | 711 | </div> |
| 708 | <Table v-show="dataShowMethod == 'table'" :tableInfo="tableInfo" /> | 712 | <Table v-show="dataShowMethod == 'table'" :tableInfo="tableInfo" /> | ... | ... |
| ... | @@ -31,14 +31,14 @@ const getGradeListData = async () => { | ... | @@ -31,14 +31,14 @@ const getGradeListData = async () => { |
| 31 | // 获取数据类别 | 31 | // 获取数据类别 |
| 32 | const getDataGrade = async () => { | 32 | const getDataGrade = async () => { |
| 33 | const params = { | 33 | const params = { |
| 34 | paramCode: "DATA-CLASSIFY" | 34 | dictType: "数据类别" |
| 35 | } | 35 | } |
| 36 | const res: any = await getLargeCategoryList(params); | 36 | const res: any = await getLargeCategoryList(params); |
| 37 | if (res.code == proxy.$passCode) { | 37 | if (res.code == proxy.$passCode) { |
| 38 | // 提出value和label 作为select的options | 38 | // 提出value和label 作为select的options |
| 39 | const options = res.data.map((item: any) => ({ | 39 | const options = res.data.map((item: any) => ({ |
| 40 | label: item.paramName, | 40 | label: item.label, |
| 41 | value: item.paramValue | 41 | value: item.value |
| 42 | })); | 42 | })); |
| 43 | newCreateGradeFormItems.value[1].options = options; | 43 | newCreateGradeFormItems.value[1].options = options; |
| 44 | classDataRef.value = options; | 44 | classDataRef.value = options; |
| ... | @@ -50,14 +50,14 @@ const getDataGrade = async () => { | ... | @@ -50,14 +50,14 @@ const getDataGrade = async () => { |
| 50 | // 获取数据级别 | 50 | // 获取数据级别 |
| 51 | const getDataClassify = async () => { | 51 | const getDataClassify = async () => { |
| 52 | const params = { | 52 | const params = { |
| 53 | paramCode: "DATA-GRADE" | 53 | dictType: "数据级别" |
| 54 | } | 54 | } |
| 55 | const res: any = await getLargeCategoryList(params); | 55 | const res: any = await getLargeCategoryList(params); |
| 56 | if (res.code == proxy.$passCode) { | 56 | if (res.code == proxy.$passCode) { |
| 57 | // 提出value和label 作为select的options | 57 | // 提出value和label 作为select的options |
| 58 | const options = res.data.map((item: any) => ({ | 58 | const options = res.data.map((item: any) => ({ |
| 59 | label: item.paramName, | 59 | label: item.label, |
| 60 | value: item.paramValue | 60 | value: item.value |
| 61 | })); | 61 | })); |
| 62 | newCreateGradeFormItems.value[0].options = options; | 62 | newCreateGradeFormItems.value[0].options = options; |
| 63 | // 这里需要过滤已经在表格中数据级别 | 63 | // 这里需要过滤已经在表格中数据级别 | ... | ... |
This diff is collapsed.
Click to expand it.
| 1 | <template> | ||
| 2 | <el-select v-if="!readonly && isEdit && isSelectType(dbType, scope)" v-model="scope.row['defaultValue']" placeholder="请选择" collapse-tags-tooltip | ||
| 3 | filterable allow-create default-first-option :reserve-keyword="false"> | ||
| 4 | <el-option v-for="opt in optionsConfig[dataType]" :key="opt['value']" :label="opt['label']" :value="opt['value']" /> | ||
| 5 | </el-select> | ||
| 6 | <el-date-picker v-else-if="!readonly && isEdit && dataType === 'date'" v-model="scope.row['defaultValue']" type="date" | ||
| 7 | format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择" /> | ||
| 8 | <el-date-picker v-else-if="!readonly && isEdit && dbType === 'mysql' && dataType === 'datetime'" | ||
| 9 | v-model="scope.row['defaultValue']" placeholder="请选择" type="datetime" format="YYYY-MM-DD HH:mm:ss" | ||
| 10 | value-format="YYYY-MM-DD HH:mm:ss" /> | ||
| 11 | <el-input v-else-if="!readonly && isEdit" v-model.trim="scope.row['defaultValue']" placeholder="请填写" | ||
| 12 | @input="(val) => inputChange(val, scope.row.dataType, scope)" /> | ||
| 13 | <span v-else>{{ scope.row["defaultValue"] == null ? '--' : (isSelectType(dbType, scope) ? | ||
| 14 | (optionsConfig[dataType].find(s => s.value == scope.row["defaultValue"])?.label ?? | ||
| 15 | scope.row["defaultValue"]) : scope.row["defaultValue"]) }}</span> | ||
| 16 | </template> | ||
| 17 | |||
| 18 | <script lang="ts" setup name="tableDefaultValue"> | ||
| 19 | import { ref } from "vue"; | ||
| 20 | import { useDefault } from "@/hooks/useDefault"; | ||
| 21 | const { optionsConfig, inputChange, isSelectType } = useDefault() | ||
| 22 | |||
| 23 | const props = defineProps({ | ||
| 24 | dbType: { | ||
| 25 | type: String, | ||
| 26 | default: '' | ||
| 27 | }, | ||
| 28 | scope: { | ||
| 29 | type: Object, | ||
| 30 | default: {} | ||
| 31 | }, | ||
| 32 | readonly: { | ||
| 33 | type: Boolean, | ||
| 34 | default: false | ||
| 35 | } | ||
| 36 | }) | ||
| 37 | |||
| 38 | const isEdit = computed(() => { | ||
| 39 | return props.scope.row['isEdit']; | ||
| 40 | }); | ||
| 41 | |||
| 42 | const dataType = computed(() => { | ||
| 43 | return props.scope.row['dataType']; | ||
| 44 | }); | ||
| 45 | |||
| 46 | </script> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
This diff is collapsed.
Click to expand it.
src/views/data_inventory/configureRules.vue
0 → 100644
This diff is collapsed.
Click to expand it.
| ... | @@ -7,7 +7,7 @@ import TableTools from '@/components/Tools/table_tools.vue'; | ... | @@ -7,7 +7,7 @@ import TableTools from '@/components/Tools/table_tools.vue'; |
| 7 | import { getGradeList } from "@/api/modules/dataInventory"; | 7 | import { getGradeList } from "@/api/modules/dataInventory"; |
| 8 | import { getLabelList, getClassifyGradeTreeList, saveLabel, getLabelPageList, deleteLabel, updateLabel } from "@/api/modules/dataLabel"; | 8 | import { getLabelList, getClassifyGradeTreeList, saveLabel, getLabelPageList, deleteLabel, updateLabel } from "@/api/modules/dataLabel"; |
| 9 | import { CirclePlus, Delete } from "@element-plus/icons-vue"; | 9 | import { CirclePlus, Delete } from "@element-plus/icons-vue"; |
| 10 | import { el, tr } from 'element-plus/es/locale'; | 10 | |
| 11 | 11 | ||
| 12 | const { proxy } = getCurrentInstance() as any; | 12 | const { proxy } = getCurrentInstance() as any; |
| 13 | const dialogLabelFormRef = ref(); | 13 | const dialogLabelFormRef = ref(); |
| ... | @@ -123,7 +123,7 @@ const treeInfo = ref<any>({ | ... | @@ -123,7 +123,7 @@ const treeInfo = ref<any>({ |
| 123 | filter: true, | 123 | filter: true, |
| 124 | queryValue: "", | 124 | queryValue: "", |
| 125 | className: 'tree-list', | 125 | className: 'tree-list', |
| 126 | queryPlaceholder: "输入标准集名称搜索", | 126 | queryPlaceholder: "输入目录名称搜索", |
| 127 | props: { | 127 | props: { |
| 128 | label: "classifyName", | 128 | label: "classifyName", |
| 129 | value: "guid", | 129 | value: "guid", |
| ... | @@ -560,7 +560,6 @@ const searchClass = async (val: any, clear: boolean = false) => { | ... | @@ -560,7 +560,6 @@ const searchClass = async (val: any, clear: boolean = false) => { |
| 560 | return; | 560 | return; |
| 561 | } | 561 | } |
| 562 | if (val?.labelName?.length !== 0) { | 562 | if (val?.labelName?.length !== 0) { |
| 563 | console.log('调用了吗'); | ||
| 564 | tableInfo.value.loading = true; | 563 | tableInfo.value.loading = true; |
| 565 | const params = { | 564 | const params = { |
| 566 | pageIndex: page.value.curr, | 565 | pageIndex: page.value.curr, | ... | ... |
src/views/data_inventory/dictFileds.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/data_inventory/dictionary.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/views/data_inventory/tableCreateFile.vue
0 → 100644
| 1 | <route lang="yaml"> | ||
| 2 | name: tableCreateFile | ||
| 3 | </route> | ||
| 4 | |||
| 5 | <script lang="ts" setup name="tableCreateFile"> | ||
| 6 | |||
| 7 | import { ref } from "vue"; | ||
| 8 | import { ElMessage, ElMessageBox, ElTable } from "element-plus"; | ||
| 9 | import useUserStore from "@/store/modules/user"; | ||
| 10 | import useDataCatalogStore from "@/store/modules/dataCatalog"; | ||
| 11 | import expandPropertyDialog from "./expandPropertyDialog.vue"; | ||
| 12 | import tableDefaultValue from "./components/tableDefaultValue.vue"; | ||
| 13 | // import { | ||
| 14 | // getDatabase, | ||
| 15 | // getFileStandards, | ||
| 16 | // getDictionary, | ||
| 17 | // getSubjectFieldByFile, | ||
| 18 | // tableCategoryList, | ||
| 19 | // syncPolicys, | ||
| 20 | // getDataTypeList, | ||
| 21 | // tableModels, | ||
| 22 | // aggMethodList, | ||
| 23 | // getCharacterList, | ||
| 24 | // saveSubjectTable, | ||
| 25 | // updateSubjectTable, | ||
| 26 | // getTableStandardDetail, | ||
| 27 | // getSubjectDomainDetail, | ||
| 28 | // saveSubjectTableDraft, | ||
| 29 | // updateSubjectTableDraft, | ||
| 30 | // getFieldStandardTree, | ||
| 31 | // dimTypeList, | ||
| 32 | // getDimList, | ||
| 33 | // getSubjectTableDetail, | ||
| 34 | // checkSubjectTableData | ||
| 35 | // } from "@/api/modules/dataCatalogService"; | ||
| 36 | import { useDefault } from "@/hooks/useDefault"; | ||
| 37 | import uploadExcelFile from "./components/uploadExcelFile.vue"; | ||
| 38 | |||
| 39 | const userStore = useUserStore(); | ||
| 40 | const dataCatalogStore = useDataCatalogStore(); | ||
| 41 | const { checkDefault } = useDefault(); | ||
| 42 | const userData = JSON.parse(userStore.userData); | ||
| 43 | const { proxy } = getCurrentInstance() as any; | ||
| 44 | const router = useRouter(); | ||
| 45 | const route = useRoute(); | ||
| 46 | const isDimTable = route.query.isDim; | ||
| 47 | const subjectDomainGuid: any = ref(route.query.domainGuid); | ||
| 48 | const fullPath = route.fullPath; | ||
| 49 | const standardSetGuids = ref([]); | ||
| 50 | //记录已入库的表创建信息。 | ||
| 51 | const originTableCreateInfo = ref({}); | ||
| 52 | |||
| 53 | //记录当前正在编辑的表创建信息。 | ||
| 54 | const tableCreateInfo: Ref<any> = ref({ | ||
| 55 | guid: "", | ||
| 56 | isCreate: false, | ||
| 57 | inputNameValue: '', | ||
| 58 | isSync: 'Y', //是否默认同步数据。 | ||
| 59 | sheetName: '', //所选择的sheet页。 | ||
| 60 | tableData: [ | ||
| 61 | { | ||
| 62 | //数据库表信息。 | ||
| 63 | dataSourceGuid: '', | ||
| 64 | dataServerName: "", | ||
| 65 | dataServerChName: "", | ||
| 66 | enName: "", | ||
| 67 | chName: "", | ||
| 68 | subjectDomain: route.query.domainName, | ||
| 69 | subjectDomainGuid: subjectDomainGuid.value, | ||
| 70 | tableCategory: route.query.layereAttribute == '3' ? 6 : 1, | ||
| 71 | dimType: isDimTable ? 1 : null, | ||
| 72 | codeColumn: '', | ||
| 73 | codeName: '', | ||
| 74 | syncPolicy: 3, | ||
| 75 | characterSet: 'utf8mb3', | ||
| 76 | tableModel: 1, //若是聚合模型,下方出现一列聚合方式选择。处了主键列,其余列都需要选择。每个表里都要有主键。 | ||
| 77 | description: "", | ||
| 78 | }, | ||
| 79 | ], | ||
| 80 | partitionAttribute: {}, | ||
| 81 | tableFields: [], // 字段标准数组。 | ||
| 82 | }); | ||
| 83 | |||
| 84 | const stepsInfo = ref({ | ||
| 85 | step: 0, | ||
| 86 | list: [ | ||
| 87 | { title: "上传文件", value: 1 }, | ||
| 88 | { title: "设置属性字段", value: 2 }, | ||
| 89 | ], | ||
| 90 | }); | ||
| 91 | |||
| 92 | /** 上传的文件字段信息。 */ | ||
| 93 | const fileTableFields: any = ref([]); | ||
| 94 | /** 上传的文件数据信息 */ | ||
| 95 | const fileTableData: any = ref([]); | ||
| 96 | /** 上传的文件信息。 */ | ||
| 97 | const uploadDataFileInfo: any = ref([]); | ||
| 98 | |||
| 99 | const handleFileDataChange = (fileFields, files, sheetName, data) => { | ||
| 100 | if (fileTableFields.value != fileFields) {//文件字段改变,下一步时需要清空。 | ||
| 101 | fileTableFields.value = fileFields.slice(0); | ||
| 102 | tableCreateInfo.value.tableFields = []; | ||
| 103 | } | ||
| 104 | fileTableData.value = data; | ||
| 105 | uploadDataFileInfo.value = files; | ||
| 106 | tableCreateInfo.value.sheetName = sheetName; | ||
| 107 | console.log(files); | ||
| 108 | } | ||
| 109 | |||
| 110 | const uploadFileRef = ref(); | ||
| 111 | |||
| 112 | // const getSubjectField = () => { | ||
| 113 | // tableFieldsLoading.value = true; | ||
| 114 | // getSubjectFieldByFile(fileTableFields.value.map(f => f.chName), tableCreateInfo.value.tableData[0].subjectDomainGuid).then((res: any) => { | ||
| 115 | // tableFieldsLoading.value = false; | ||
| 116 | // if (res.code == proxy.$passCode) { | ||
| 117 | // tableCreateInfo.value.tableFields = res.data?.map((field, i) => { | ||
| 118 | // field.dimOrdictionaryGuid = field.dictionaryGuid; | ||
| 119 | // field.fileFieldName = fileTableFields.value[i].chName; | ||
| 120 | // field.isEdit = true; | ||
| 121 | // !field.notNull && (field.notNull = 'N'); | ||
| 122 | // return field; | ||
| 123 | // }) || []; | ||
| 124 | // } else { | ||
| 125 | // ElMessage.error(res.msg); | ||
| 126 | // } | ||
| 127 | // }); | ||
| 128 | // } | ||
| 129 | |||
| 130 | const nextStep = () => { | ||
| 131 | uploadFileRef.value.fileFormRef.ruleFormRef.validate((valid) => { | ||
| 132 | if (valid) { | ||
| 133 | if (!fileTableFields.value.length) { | ||
| 134 | ElMessage({ | ||
| 135 | type: "error", | ||
| 136 | message: "上传文件字段不能为空!", | ||
| 137 | }); | ||
| 138 | return; | ||
| 139 | } | ||
| 140 | if (!fileTableData.value.length) { | ||
| 141 | tableCreateInfo.value.isSync = 'N'; | ||
| 142 | } else { | ||
| 143 | tableCreateInfo.value.isSync = 'Y'; | ||
| 144 | } | ||
| 145 | stepsInfo.value.step = 1; | ||
| 146 | // getDictionaryList(); | ||
| 147 | // getDimListData(); | ||
| 148 | // if (!fieldTypes.value.length) { | ||
| 149 | // getFieldTypeList(); | ||
| 150 | // getCharacterListData(); | ||
| 151 | // } | ||
| 152 | // if (!databaseList.value.length) { | ||
| 153 | // getDatabaseList(); | ||
| 154 | // } | ||
| 155 | // getDomainDetail(subjectDomainGuid.value); | ||
| 156 | // if (!tableCreateInfo.value.tableFields.length) { | ||
| 157 | // getSubjectField(); | ||
| 158 | // } | ||
| 159 | } | ||
| 160 | }); | ||
| 161 | }; | ||
| 162 | |||
| 163 | const isPrevious = ref(false); | ||
| 164 | |||
| 165 | /** 上一步 */ | ||
| 166 | const previousStep = () => { | ||
| 167 | stepsInfo.value.step = 0; | ||
| 168 | isPrevious.value = true; | ||
| 169 | }; | ||
| 170 | |||
| 171 | /** 记录是否开启字段标准,根据主题域相关信息获取 */ | ||
| 172 | const isOpenStandard = ref(true); | ||
| 173 | |||
| 174 | const selectTableFieldRows = ref([]); | ||
| 175 | |||
| 176 | const tableStandardGuid = ref(''); | ||
| 177 | const tableStandardDetail: any = ref({}); | ||
| 178 | const fieldStandardSetGuids = ref([]); | ||
| 179 | |||
| 180 | // 实际显示的字段标准列表 | ||
| 181 | const standardListOptions: any = ref([]); | ||
| 182 | |||
| 183 | const databaseList: any = ref([]); | ||
| 184 | |||
| 185 | //字段类型 | ||
| 186 | const fieldTypes: any = ref([]); | ||
| 187 | |||
| 188 | //字符集 | ||
| 189 | const characterList: any = ref([]); | ||
| 190 | |||
| 191 | //是否列表 | ||
| 192 | const isNotList = ref([ | ||
| 193 | { | ||
| 194 | label: "Y", | ||
| 195 | value: "Y", | ||
| 196 | }, | ||
| 197 | { | ||
| 198 | label: "N", | ||
| 199 | value: "N", | ||
| 200 | }, | ||
| 201 | ]); | ||
| 202 | |||
| 203 | const batchAddFieldStandardPage = ref({ | ||
| 204 | pageSize: 50, | ||
| 205 | pageIndex: 1, | ||
| 206 | standardSetGuids: [], | ||
| 207 | approveState: 'Y', | ||
| 208 | name: '', | ||
| 209 | standardSetLevelCode: "" | ||
| 210 | }); | ||
| 211 | |||
| 212 | const init = ref(true); | ||
| 213 | |||
| 214 | const fullscreenLoading = ref(false); | ||
| 215 | |||
| 216 | /** 表里有数据时不能修改字段类型,长度,精度 */ | ||
| 217 | const hasSubjectData = ref(false); | ||
| 218 | |||
| 219 | |||
| 220 | |||
| 221 | /** 保存表 */ | ||
| 222 | const saveTable = () => { | ||
| 223 | } | ||
| 224 | </script> | ||
| 225 | |||
| 226 | <template> | ||
| 227 | <div class="container_wrap full" v-loading.fullscreen.lock="fullscreenLoading"> | ||
| 228 | <div class="content_main"> | ||
| 229 | <div class="top_tool_wrap"> | ||
| 230 | <StepBar :steps-info="stepsInfo" /> | ||
| 231 | </div> | ||
| 232 | <uploadExcelFile ref="uploadFileRef" v-show="stepsInfo.step === 0" @fileDataChange="handleFileDataChange"> | ||
| 233 | </uploadExcelFile> | ||
| 234 | <div class="second-step-content" v-show="stepsInfo.step === 1"> | ||
| 235 | aaa | ||
| 236 | </div> | ||
| 237 | </div> | ||
| 238 | <div class="bottom_tool_wrap"> | ||
| 239 | <template v-if="stepsInfo.step == 0"> | ||
| 240 | <el-button type="primary" @click="nextStep">下一步</el-button> | ||
| 241 | </template> | ||
| 242 | <template v-else> | ||
| 243 | <el-checkbox v-model="tableCreateInfo.isSync" true-label="Y" :disabled="!fileTableData?.length" | ||
| 244 | false-label="N">同步数据(说明:勾选代表建表同时写入表格数据。)</el-checkbox> | ||
| 245 | <el-button @click="previousStep">上一步</el-button> | ||
| 246 | <el-button type="primary">保存为草稿</el-button> | ||
| 247 | <el-button type="primary" @click="saveTable">提交</el-button> | ||
| 248 | </template> | ||
| 249 | </div> | ||
| 250 | |||
| 251 | </div> | ||
| 252 | </template> | ||
| 253 | |||
| 254 | <style lang="scss" scoped> | ||
| 255 | .top_tool_wrap { | ||
| 256 | width: 100%; | ||
| 257 | height: 80px; | ||
| 258 | display: flex; | ||
| 259 | justify-content: center; | ||
| 260 | align-items: center; | ||
| 261 | border-bottom: 1px solid #d9d9d9; | ||
| 262 | |||
| 263 | :deep(.el-steps) { | ||
| 264 | width: 30%; | ||
| 265 | } | ||
| 266 | } | ||
| 267 | |||
| 268 | .content_main { | ||
| 269 | height: calc(100% - 40px); | ||
| 270 | |||
| 271 | .header-bg-title { | ||
| 272 | margin: 16px 16px 0px; | ||
| 273 | background: #F5F5F5; | ||
| 274 | padding-left: 16px; | ||
| 275 | height: 48px; | ||
| 276 | font-size: 14px; | ||
| 277 | color: #212121; | ||
| 278 | letter-spacing: 0; | ||
| 279 | line-height: 21px; | ||
| 280 | font-weight: 600; | ||
| 281 | display: flex; | ||
| 282 | align-items: center; | ||
| 283 | position: relative; | ||
| 284 | |||
| 285 | .preview-data-totals { | ||
| 286 | position: absolute; | ||
| 287 | right: 16px; | ||
| 288 | line-height: 32px; | ||
| 289 | font-size: 14px; | ||
| 290 | color: #666666; | ||
| 291 | font-weight: 400; | ||
| 292 | } | ||
| 293 | |||
| 294 | .fontC-4fa1a4 { | ||
| 295 | color: var(--el-color-primary); | ||
| 296 | } | ||
| 297 | } | ||
| 298 | |||
| 299 | .form-main { | ||
| 300 | border: 1px solid #d9d9d9; | ||
| 301 | margin: 0px 16px; | ||
| 302 | padding: 16px 16px 0px 16px; | ||
| 303 | height: 125px; | ||
| 304 | |||
| 305 | .dialog-form-inline { | ||
| 306 | align-items: flex-start; | ||
| 307 | } | ||
| 308 | |||
| 309 | :deep(.el-form) { | ||
| 310 | .item-label { | ||
| 311 | width: 100%; | ||
| 312 | } | ||
| 313 | |||
| 314 | .el-select { | ||
| 315 | max-width: 300px; | ||
| 316 | } | ||
| 317 | } | ||
| 318 | } | ||
| 319 | |||
| 320 | .table-main { | ||
| 321 | height: calc(100% - 350px); | ||
| 322 | border: 1px solid #d9d9d9; | ||
| 323 | margin: 0px 16px 16px 16px; | ||
| 324 | padding: 16px; | ||
| 325 | } | ||
| 326 | |||
| 327 | .empty-content { | ||
| 328 | display: flex; | ||
| 329 | align-items: center; | ||
| 330 | justify-content: center; | ||
| 331 | height: 100%; | ||
| 332 | width: 100%; | ||
| 333 | flex-direction: column; | ||
| 334 | |||
| 335 | .empty-text { | ||
| 336 | font-size: 14px; | ||
| 337 | color: #b2b2b2; | ||
| 338 | } | ||
| 339 | } | ||
| 340 | |||
| 341 | .second-step-content { | ||
| 342 | height: calc(100% - 80px); | ||
| 343 | width: 100%; | ||
| 344 | padding: 16px; | ||
| 345 | |||
| 346 | .tools_btns { | ||
| 347 | padding: 8px 0; | ||
| 348 | } | ||
| 349 | |||
| 350 | :deep(.el-table) { | ||
| 351 | .cell { | ||
| 352 | |||
| 353 | .prefix-or-suffix-cell { | ||
| 354 | display: inline-flex; | ||
| 355 | align-items: center; | ||
| 356 | } | ||
| 357 | } | ||
| 358 | } | ||
| 359 | |||
| 360 | .table_panel { | ||
| 361 | height: calc(100% - 114px); | ||
| 362 | } | ||
| 363 | |||
| 364 | :deep(.el-table) { | ||
| 365 | & td.el-table__cell { | ||
| 366 | padding: 3px 0; | ||
| 367 | height: 36px; | ||
| 368 | } | ||
| 369 | } | ||
| 370 | } | ||
| 371 | } | ||
| 372 | |||
| 373 | :deep(.el-dialog) { | ||
| 374 | .dialog-form-inline { | ||
| 375 | .checkbox_input { | ||
| 376 | display: flex; | ||
| 377 | flex-direction: column; | ||
| 378 | |||
| 379 | .input_panel { | ||
| 380 | margin: 0; | ||
| 381 | } | ||
| 382 | } | ||
| 383 | |||
| 384 | .select_group { | ||
| 385 | .el-form-item__content>.el-input { | ||
| 386 | margin-top: 21px; | ||
| 387 | } | ||
| 388 | } | ||
| 389 | |||
| 390 | .radio_panel { | ||
| 391 | .panel_content { | ||
| 392 | display: none; | ||
| 393 | } | ||
| 394 | } | ||
| 395 | } | ||
| 396 | } | ||
| 397 | |||
| 398 | :deep(.batchDialog) { | ||
| 399 | .el-tree-node__content { | ||
| 400 | padding-left: 8px !important; | ||
| 401 | |||
| 402 | .el-icon { | ||
| 403 | display: none; | ||
| 404 | } | ||
| 405 | } | ||
| 406 | } | ||
| 407 | |||
| 408 | .bottom_tool_wrap { | ||
| 409 | height: 40px; | ||
| 410 | padding: 0 16px; | ||
| 411 | border-top: 1px solid #d9d9d9; | ||
| 412 | display: flex; | ||
| 413 | justify-content: flex-end; | ||
| 414 | align-items: center; | ||
| 415 | |||
| 416 | .el-checkbox { | ||
| 417 | margin-right: 20px; | ||
| 418 | } | ||
| 419 | |||
| 420 | :deep(.el-checkbox__input.is-checked + .el-checkbox__label) { | ||
| 421 | color: var(--el-color-regular); | ||
| 422 | } | ||
| 423 | } | ||
| 424 | </style> |
| ... | @@ -137,6 +137,9 @@ const handleClassDataEdit = (params) => { | ... | @@ -137,6 +137,9 @@ const handleClassDataEdit = (params) => { |
| 137 | if (item.field === 'classStandardName') { | 137 | if (item.field === 'classStandardName') { |
| 138 | item.default = params.name | 138 | item.default = params.name |
| 139 | } | 139 | } |
| 140 | if (item.field === 'description') { | ||
| 141 | item.default = params.description | ||
| 142 | } | ||
| 140 | }) | 143 | }) |
| 141 | } | 144 | } |
| 142 | 145 | ||
| ... | @@ -209,6 +212,15 @@ const classStandardFormItems = ref([{ | ... | @@ -209,6 +212,15 @@ const classStandardFormItems = ref([{ |
| 209 | default: '', | 212 | default: '', |
| 210 | required: true, | 213 | required: true, |
| 211 | block: true, | 214 | block: true, |
| 215 | }, { | ||
| 216 | label: '分类描述', | ||
| 217 | type: 'textarea', | ||
| 218 | placeholder: '请输入', | ||
| 219 | field: 'description', | ||
| 220 | default: '', | ||
| 221 | clearable: true, | ||
| 222 | required: false, | ||
| 223 | block: true | ||
| 212 | }]); | 224 | }]); |
| 213 | 225 | ||
| 214 | const classStandardFormRules = ref({ | 226 | const classStandardFormRules = ref({ |
| ... | @@ -235,6 +247,7 @@ const newCreateClassStandardDialogInfo = ref({ | ... | @@ -235,6 +247,7 @@ const newCreateClassStandardDialogInfo = ref({ |
| 235 | if (newCreateClassStandardDialogInfo.value.title === '新增分类') { | 247 | if (newCreateClassStandardDialogInfo.value.title === '新增分类') { |
| 236 | newCreateClassStandardDialogInfo.value.submitBtnLoading = true; | 248 | newCreateClassStandardDialogInfo.value.submitBtnLoading = true; |
| 237 | const params = { | 249 | const params = { |
| 250 | description: info.description, | ||
| 238 | name: info.classStandardName, | 251 | name: info.classStandardName, |
| 239 | refGradeGuid: info.refGradeGuid, | 252 | refGradeGuid: info.refGradeGuid, |
| 240 | type: 'C' | 253 | type: 'C' | ... | ... |
src/views/home.vue
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
| ... | @@ -4,14 +4,14 @@ | ... | @@ -4,14 +4,14 @@ |
| 4 | 4 | ||
| 5 | <script lang="ts" setup name="importFile"> | 5 | <script lang="ts" setup name="importFile"> |
| 6 | import { ref } from "vue"; | 6 | import { ref } from "vue"; |
| 7 | import { useRoute,useRouter } from "vue-router" | 7 | import { useRoute, useRouter } from "vue-router" |
| 8 | import useUserStore from "@/store/modules/user"; | 8 | import useUserStore from "@/store/modules/user"; |
| 9 | import { ElMessage, ElMessageBox } from "element-plus"; | 9 | import { ElMessage, ElMessageBox } from "element-plus"; |
| 10 | import Tabs from '@/components/Tabs/index.vue' | 10 | import Tabs from '@/components/Tabs/index.vue' |
| 11 | import Table from '@/components/Table/index.vue' | 11 | import Table from '@/components/Table/index.vue' |
| 12 | import Dialog from '@/components/Dialog/index.vue' | 12 | import Dialog from '@/components/Dialog/index.vue' |
| 13 | import useCatchStore from "@/store/modules/catch"; | 13 | import useCatchStore from "@/store/modules/catch"; |
| 14 | import { download, downFile,getDownloadUrl } from '@/utils/common' | 14 | import { download, downFile, getDownloadUrl } from '@/utils/common' |
| 15 | import { | 15 | import { |
| 16 | addImportData, | 16 | addImportData, |
| 17 | deleteImportData, | 17 | deleteImportData, |
| ... | @@ -45,15 +45,15 @@ const defaulttabs = [ | ... | @@ -45,15 +45,15 @@ const defaulttabs = [ |
| 45 | { label: '数据字典导入', name: 'dictionary' }, | 45 | { label: '数据字典导入', name: 'dictionary' }, |
| 46 | // { label: '质量模型导入', name: 'qualityModelGroup' }, | 46 | // { label: '质量模型导入', name: 'qualityModelGroup' }, |
| 47 | // { label: '质量规则导入', name: 'qualityRule' }, | 47 | // { label: '质量规则导入', name: 'qualityRule' }, |
| 48 | ] | 48 | ] |
| 49 | const importTabs = [ | 49 | const importTabs = [ |
| 50 | { label: '导入文件数据', name: 'importFile' }, | 50 | { label: '导入文件数据', name: 'importFile' }, |
| 51 | // { label: '质量模型导入', name: 'qualityModelGroup' }, | 51 | // { label: '质量模型导入', name: 'qualityModelGroup' }, |
| 52 | // { label: '质量规则导入', name: 'qualityRule' }, | 52 | // { label: '质量规则导入', name: 'qualityRule' }, |
| 53 | ] | 53 | ] |
| 54 | const tabsInfo = ref({ | 54 | const tabsInfo = ref({ |
| 55 | activeName: '', | 55 | activeName: '', |
| 56 | tabs: isfileImport?importTabs:defaulttabs | 56 | tabs: isfileImport ? importTabs : defaulttabs |
| 57 | }) | 57 | }) |
| 58 | 58 | ||
| 59 | const currTableData: any = ref<Object>({}); | 59 | const currTableData: any = ref<Object>({}); |
| ... | @@ -232,7 +232,7 @@ const tableBtnClick = async (scope, btn) => { | ... | @@ -232,7 +232,7 @@ const tableBtnClick = async (scope, btn) => { |
| 232 | if (res && !res.msg) { | 232 | if (res && !res.msg) { |
| 233 | let name = row.errorFilePath; | 233 | let name = row.errorFilePath; |
| 234 | var fileSuffix = name ? name.substring(name.lastIndexOf('.') + 1) : ''; | 234 | var fileSuffix = name ? name.substring(name.lastIndexOf('.') + 1) : ''; |
| 235 | let fileName = name ? name.substring(name.lastIndexOf('/') + 1) :'' | 235 | let fileName = name ? name.substring(name.lastIndexOf('/') + 1) : '' |
| 236 | download(res, fileName, fileSuffix); | 236 | download(res, fileName, fileSuffix); |
| 237 | } else { | 237 | } else { |
| 238 | res?.msg && ElMessage.error(res?.msg); | 238 | res?.msg && ElMessage.error(res?.msg); |
| ... | @@ -267,7 +267,7 @@ const batching = (type) => { | ... | @@ -267,7 +267,7 @@ const batching = (type) => { |
| 267 | return | 267 | return |
| 268 | } | 268 | } |
| 269 | open("此操作将永久删除, 是否继续?", "warning", true); | 269 | open("此操作将永久删除, 是否继续?", "warning", true); |
| 270 | } else if(type === 'importFile') { | 270 | } else if (type === 'importFile') { |
| 271 | if (isfileImport == '2' || isfileImport == '4') { | 271 | if (isfileImport == '2' || isfileImport == '4') { |
| 272 | dialogInfo.value.header.title = '导入数据' | 272 | dialogInfo.value.header.title = '导入数据' |
| 273 | dialogInfo.value.type = 'upload' | 273 | dialogInfo.value.type = 'upload' |
| ... | @@ -279,8 +279,8 @@ const batching = (type) => { | ... | @@ -279,8 +279,8 @@ const batching = (type) => { |
| 279 | dialogInfo.value.visible = true | 279 | dialogInfo.value.visible = true |
| 280 | } else { | 280 | } else { |
| 281 | router.push({ | 281 | router.push({ |
| 282 | name:"importData", | 282 | name: "importData", |
| 283 | query:route.query | 283 | query: route.query |
| 284 | }) | 284 | }) |
| 285 | } | 285 | } |
| 286 | } | 286 | } |
| ... | @@ -391,7 +391,7 @@ const importData = (info) => { | ... | @@ -391,7 +391,7 @@ const importData = (info) => { |
| 391 | uploadFiles.value.forEach((item: any, index: number) => { | 391 | uploadFiles.value.forEach((item: any, index: number) => { |
| 392 | params.append("uploadFile", item.raw); | 392 | params.append("uploadFile", item.raw); |
| 393 | }); | 393 | }); |
| 394 | paramUrl = `${import.meta.env.VITE_APP_PLAN_BASEURL}/meta-collect-task/meta-collect-import?staffGuid=${userData.staffGuid}&databaseNameZh=${info.databaseNameZh}&databaseNameEn=${info.databaseNameEn}&isCover=${info.isCover}` | 394 | paramUrl = `${import.meta.env.VITE_APP_CHECK_BASEURL}/meta-collect-task/meta-collect-import?staffGuid=${userData.staffGuid}&databaseNameZh=${info.databaseNameZh}&databaseNameEn=${info.databaseNameEn}&isCover=${info.isCover}` |
| 395 | } else { | 395 | } else { |
| 396 | uploadFiles.value.forEach((item: any, index: number) => { | 396 | uploadFiles.value.forEach((item: any, index: number) => { |
| 397 | params.append("file", item.raw); | 397 | params.append("file", item.raw); |
| ... | @@ -643,7 +643,7 @@ const setUploadInfo = () => { | ... | @@ -643,7 +643,7 @@ const setUploadInfo = () => { |
| 643 | 643 | ||
| 644 | onActivated(() => { | 644 | onActivated(() => { |
| 645 | uploadSetting.value = cacheStore.getCatch('uploadSetting') ?? {} | 645 | uploadSetting.value = cacheStore.getCatch('uploadSetting') ?? {} |
| 646 | if(isfileImport) { | 646 | if (isfileImport) { |
| 647 | tabsActiveName.value = 'importFile' | 647 | tabsActiveName.value = 'importFile' |
| 648 | } else { | 648 | } else { |
| 649 | tabsActiveName.value = uploadSetting.value?.type || 'standard' | 649 | tabsActiveName.value = uploadSetting.value?.type || 'standard' |
| ... | @@ -660,8 +660,10 @@ onActivated(() => { | ... | @@ -660,8 +660,10 @@ onActivated(() => { |
| 660 | <Tabs v-if="!isfileImport" :tabs-info="tabsInfo" @tabChange="tabsChange" /> | 660 | <Tabs v-if="!isfileImport" :tabs-info="tabsInfo" @tabChange="tabsChange" /> |
| 661 | <div class="table_tool_wrap"> | 661 | <div class="table_tool_wrap"> |
| 662 | <div class="tools_btns"> | 662 | <div class="tools_btns"> |
| 663 | <el-button type="primary" @click="batching('import')" v-if="tabsActiveName !== 'importFile'" v-preReClick>批量导入</el-button> | 663 | <el-button type="primary" @click="batching('import')" v-if="tabsActiveName !== 'importFile'" |
| 664 | <el-button type="primary" @click="batching('importFile')" v-if="tabsActiveName == 'importFile'" v-preReClick>文件导入</el-button> | 664 | v-preReClick>批量导入</el-button> |
| 665 | <el-button type="primary" @click="batching('importFile')" v-if="tabsActiveName == 'importFile'" | ||
| 666 | v-preReClick>文件导入</el-button> | ||
| 665 | <el-button @click="batching('delete')" v-preReClick>批量删除</el-button> | 667 | <el-button @click="batching('delete')" v-preReClick>批量删除</el-button> |
| 666 | <el-button @click="getFirstPageData" v-preReClick>刷新结果</el-button> | 668 | <el-button @click="getFirstPageData" v-preReClick>刷新结果</el-button> |
| 667 | </div> | 669 | </div> | ... | ... |
-
Please register or sign in to post a comment