Compare commits

...

44 Commits

Author SHA1 Message Date
zhouhaibin 7a15a8efb5 优化jyj合同 1 day ago
zhouhaibin af29a66f05 新增jyj合同审批 2 days ago
zhouhaibin fd11715900 新增在线编辑组件 1 week ago
zhouhaibin 6d6a814d09 优化内容 1 week ago
zhouhaibin f69c670932 删除登录默认用户与密码 1 week ago
zhouhaibin 9c80a001b6 新增任务 2 months ago
zhouhaibin c157a1c07e 修复加密多写字段 3 months ago
zhouhaibin 806736de1a 修改菜单配置 3 months ago
zhouhaibin f3d9ffb25c 修改首页菜单页面路径 3 months ago
zhouhaibin bbe234f6cd 隐藏翻译按钮 3 months ago
zhouhaibin e94375a587 前端加密修改为sm2和sm4 3 months ago
zhouhaibin 20e585479d 修复依赖冲突 3 months ago
zhouhaibin 59bf04245d Merge branch 'master' into ai_dev 3 months ago
zhouhaibin 5e78fd2d42 新增依赖 3 months ago
zhouhaibin 93375a734a 修改前端路由与登录页 3 months ago
zhouhaibin 7f2c6c53b8 修改在线聊天配置 3 months ago
zhouhaibin eef34e02b4 修改默认登录页面base_home 3 months ago
zhouhaibin 945a6e897f 新增logo图片 3 months ago
zhouhaibin 38fc9e10f2 修改上传文件模板系统组件 3 months ago
zhouhaibin 207253d451 新增提示词与用户配对 3 months ago
zhouhaibin 5f5fa34e55 新增提示词 3 months ago
zhouhaibin 2383835852 新增提示词修改历史记录 3 months ago
zhouhaibin 53fb9bac0a 新增任务权限设置 3 months ago
zhouhaibin 87945012e0 新增任务权限详情 3 months ago
zhouhaibin be345e5fa3 新增离线任务结果 3 months ago
zhouhaibin b373bb5987 新增离线任务 3 months ago
zhouhaibin 02fe1b664f 新增合同审批 3 months ago
zhouhaibin 7d75959f40 es2015 改成es2022 3 months ago
zhouhaibin 16f1704e3d 隐藏账号绑定设置 3 months ago
zhouhaibin 3f9c2cac65 隐藏文档按钮 3 months ago
zhouhaibin 32c1e837d7 置灰——隐藏表情--增加监控开关 6 months ago
zhouhaibin 28ee8f43fd 增加监控窗口弹窗 6 months ago
zhouhaibin 7f10afb665 隐藏路由 6 months ago
zhouhaibin ba31962e68 修改登录后路由位置 6 months ago
zhouhaibin f86a357dde 修改名称和logo 6 months ago
zhouhaibin 8873bcacd3 新增依赖 6 months ago
zhouhaibin dffc546122 取消前端代码校验 6 months ago
zhouhaibin 566dedb61e 修改logo 6 months ago
zhouhaibin 371d7b6bca 第一次提交代码 6 months ago
zhouhaibin d39e5900a0 Merge branch 'master' into dev 6 months ago
zhouhaibin db4b34582a 新增chat页面组件 6 months ago
zhouhaibin c27bb2d285 造价管理第一次文件上传 8 months ago
zhouhaibin d8bd714404 系统文件修改 8 months ago
zhouhaibin 43fd28452e 开启前端加密,修改报错信息 9 months ago
  1. 2
      .env
  2. 10
      .env.development
  3. 6
      .env.production
  4. 0
      .husky/commit-msg000
  5. 0
      .husky/pre-commit000
  6. 8
      internal/vite-config/src/config/application.ts
  7. 36
      package.json
  8. BIN
      public/favicon.ico
  9. BIN
      public/favicon.ico.bak
  10. BIN
      public/logo.png
  11. BIN
      public/logo1.png
  12. 57
      src/api/contractReview/ContractualInfo/index.ts
  13. 90
      src/api/contractReview/ContractualInfo/model.ts
  14. 57
      src/api/contractReview/ContractualTasks/index.ts
  15. 115
      src/api/contractReview/ContractualTasks/model.ts
  16. 103
      src/api/contractReview/JyjcontractualTaskBatch/index.ts
  17. 160
      src/api/contractReview/JyjcontractualTaskBatch/model.ts
  18. 167
      src/api/documentReview/DocumentTaskResults/index.ts
  19. 34
      src/api/documentReview/DocumentTaskResults/model.ts
  20. 94
      src/api/documentReview/DocumentTasks/index.ts
  21. 76
      src/api/documentReview/DocumentTasks/model.ts
  22. 57
      src/api/modelConfiguration/ModelPrompts/index.ts
  23. 188
      src/api/modelConfiguration/ModelPrompts/model.ts
  24. 60
      src/api/modelConfiguration/ModelPromptsHistory/index.ts
  25. 160
      src/api/modelConfiguration/ModelPromptsHistory/model.ts
  26. 65
      src/api/modelConfiguration/ModelUserPromptssetting/index.ts
  27. 85
      src/api/modelConfiguration/ModelUserPromptssetting/model.ts
  28. 57
      src/api/schemEvaluation/SchemEvaluation/index.ts
  29. 105
      src/api/schemEvaluation/SchemEvaluation/model.ts
  30. 4
      src/api/system/user/index.ts
  31. 67
      src/api/taskPermissions/DocumentTasksPermissions/index.ts
  32. 115
      src/api/taskPermissions/DocumentTasksPermissions/model.ts
  33. 57
      src/api/taskPermissions/DocumentTasksPermissionsDetail/index.ts
  34. 70
      src/api/taskPermissions/DocumentTasksPermissionsDetail/model.ts
  35. 57
      src/api/tenderReview/TenderTask/index.ts
  36. 108
      src/api/tenderReview/TenderTask/model.ts
  37. 1
      src/api/upload/index.ts
  38. 68
      src/api/zaojiaManagement/productManagement/companyProductModel/companyProductModelDetails/index.ts
  39. 97
      src/api/zaojiaManagement/productManagement/companyProductModel/companyProductModelDetails/model.ts
  40. 90
      src/api/zaojiaManagement/productManagement/companyProductModel/index.ts
  41. 67
      src/api/zaojiaManagement/productManagement/companyProductModel/model.ts
  42. 59
      src/api/zaojiaManagement/productManagement/companyProducts/index.ts
  43. 227
      src/api/zaojiaManagement/productManagement/companyProducts/model.ts
  44. 63
      src/api/zaojiaManagement/productManagement/costTable/costItemDetail/index.ts
  45. 225
      src/api/zaojiaManagement/productManagement/costTable/costItemDetail/model.ts
  46. 90
      src/api/zaojiaManagement/productManagement/costTable/index.ts
  47. 70
      src/api/zaojiaManagement/productManagement/costTable/model.ts
  48. 87
      src/api/zaojiaManagement/productManagement/personProductModel/index.ts
  49. 67
      src/api/zaojiaManagement/productManagement/personProductModel/model.ts
  50. 66
      src/api/zaojiaManagement/productManagement/personProductModel/personProductModelDetails/index.ts
  51. 97
      src/api/zaojiaManagement/productManagement/personProductModel/personProductModelDetails/model.ts
  52. 87
      src/api/zaojiaManagement/productManagement/personProducts/index.ts
  53. 226
      src/api/zaojiaManagement/productManagement/personProducts/model.ts
  54. 89
      src/api/zaojiaManagement/productManagement/supplierProductModel/index.ts
  55. 67
      src/api/zaojiaManagement/productManagement/supplierProductModel/model.ts
  56. 68
      src/api/zaojiaManagement/productManagement/supplierProductModel/supplierProductModelDetails/index.ts
  57. 97
      src/api/zaojiaManagement/productManagement/supplierProductModel/supplierProductModelDetails/model.ts
  58. 60
      src/api/zaojiaManagement/productManagement/supplierProducts/index.ts
  59. 222
      src/api/zaojiaManagement/productManagement/supplierProducts/model.ts
  60. 62
      src/api/zaojiaManagement/supplierManagement/index.ts
  61. 97
      src/api/zaojiaManagement/supplierManagement/model.ts
  62. BIN
      src/assets/images/logo.png
  63. BIN
      src/assets/images/logo1.png
  64. BIN
      src/assets/images/logomini.png
  65. BIN
      src/assets/logo.png
  66. BIN
      src/assets/svg/login-bg.png
  67. BIN
      src/assets/svg/login-bg1.png
  68. BIN
      src/assets/svg/login-box-bg.png
  69. 2
      src/components/Modal/src/BasicModal.vue
  70. 234
      src/components/Upload/src/components/ImageUploadBefore.vue.bak
  71. 51
      src/components/Upload/src/components/UploadModal.vue
  72. 5
      src/components/Upload/src/props.ts
  73. 2
      src/enums/pageEnum.ts
  74. 115
      src/enums/taskEnum.ts
  75. 4
      src/layouts/default/header/components/user-dropdown/index.vue
  76. 4
      src/layouts/default/header/index.vue
  77. 8
      src/layouts/default/sider/index.vue
  78. 1
      src/locales/setupI18n.ts
  79. 10
      src/settings/projectSetting.ts
  80. 5
      src/store/modules/permission.ts
  81. 91
      src/utils/encryption/crypto.ts
  82. 66
      src/utils/encryption/jsencrypt.ts
  83. 14
      src/utils/http/axios/index.ts
  84. 1
      src/views/CanvasEditor/assets/images/alignment.svg
  85. 1
      src/views/CanvasEditor/assets/images/arrow-left.svg
  86. 1
      src/views/CanvasEditor/assets/images/arrow-right.svg
  87. 1
      src/views/CanvasEditor/assets/images/block.svg
  88. 1
      src/views/CanvasEditor/assets/images/bold.svg
  89. 1
      src/views/CanvasEditor/assets/images/catalog.svg
  90. 1
      src/views/CanvasEditor/assets/images/center.svg
  91. 1
      src/views/CanvasEditor/assets/images/checkbox.svg
  92. 1
      src/views/CanvasEditor/assets/images/close.svg
  93. 1
      src/views/CanvasEditor/assets/images/codeblock.svg
  94. 1
      src/views/CanvasEditor/assets/images/color.svg
  95. 1
      src/views/CanvasEditor/assets/images/control.svg
  96. 1
      src/views/CanvasEditor/assets/images/date.svg
  97. 1
      src/views/CanvasEditor/assets/images/exit-fullscreen.svg
  98. 1
      src/views/CanvasEditor/assets/images/format.svg
  99. 1
      src/views/CanvasEditor/assets/images/highlight.svg
  100. 1
      src/views/CanvasEditor/assets/images/hyperlink.svg

2
.env

@ -1,2 +1,2 @@
# spa-title
VITE_GLOB_APP_TITLE = Plus Admin
VITE_GLOB_APP_TITLE = 国研信息

10
.env.development

@ -6,10 +6,16 @@ VITE_GLOB_API_URL=/basic-api
# 全局加密开关(即开启了加解密功能才会生效 不是全部接口加密 需要和后端对应)
VITE_GLOB_ENABLE_ENCRYPT=true
# VITE_APP_ENCRYPT=true
# RSA公钥 请求加密使用 注意这两个是两对RSA公私钥 请求加密-后端解密是一对 响应解密-后端加密是一对
VITE_GLOB_RSA_PUBLIC_KEY=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==
# VITE_GLOB_RSA_PUBLIC_KEY=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==
VITE_GLOB_RSA_PUBLIC_KEY=04236db2b9ce493053523b486590c435da3a957a7b25adde32f1bb42a5e7c4675c28ca3cf556b4e9014e220cb5faaf5f309950c9e172f0886674df23cc70bd4d76
# RSA私钥 响应解密使用 注意这两个是两对RSA公私钥 请求加密-后端解密是一对 响应解密-后端加密是一对
VITE_GLOB_RSA_PRIVATE_KEY=MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=
# VITE_GLOB_RSA_PRIVATE_KEY=MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=
VITE_GLOB_RSA_PRIVATE_KEY=00ac220685ceb41f06153a459c43248695f9f81188f5835c1e6f40abb1a748ab2c
# 客户端id
VITE_GLOB_APP_CLIENT_ID=e5cd7e4891bf95d1d19206ce24a7b32e

6
.env.production

@ -15,10 +15,12 @@ VITE_GLOB_API_URL=/prod-api
VITE_GLOB_ENABLE_ENCRYPT=true
# RSA公钥 请求加密使用 注意这两个是两对RSA公私钥 请求加密-后端解密是一对 响应解密-后端加密是一对
VITE_GLOB_RSA_PUBLIC_KEY=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==
# VITE_GLOB_RSA_PUBLIC_KEY=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==
VITE_GLOB_RSA_PUBLIC_KEY=04236db2b9ce493053523b486590c435da3a957a7b25adde32f1bb42a5e7c4675c28ca3cf556b4e9014e220cb5faaf5f309950c9e172f0886674df23cc70bd4d76
# RSA私钥 响应解密使用 注意这两个是两对RSA公私钥 请求加密-后端解密是一对 响应解密-后端加密是一对
VITE_GLOB_RSA_PRIVATE_KEY=MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=
# VITE_GLOB_RSA_PRIVATE_KEY=MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=
VITE_GLOB_RSA_PRIVATE_KEY=00ac220685ceb41f06153a459c43248695f9f81188f5835c1e6f40abb1a748ab2c
# 客户端id
VITE_GLOB_APP_CLIENT_ID=e5cd7e4891bf95d1d19206ce24a7b32e

0
.husky/commit-msg → .husky/commit-msg000

0
.husky/pre-commit → .husky/pre-commit000

8
internal/vite-config/src/config/application.ts

@ -55,7 +55,7 @@ function defineApplicationConfig(defineOptions: DefineOptions = {}) {
},
define: defineData,
build: {
target: 'es2015',
target: 'es2022',
cssTarget: 'chrome80',
rollupOptions: {
output: {
@ -66,6 +66,12 @@ function defineApplicationConfig(defineOptions: DefineOptions = {}) {
antd: ['ant-design-vue', '@ant-design/icons-vue'],
},
},
// external: [
// // 在这里添加你想要排除的自定义元素
// 'vue-advanced-chat',
// 'emoji-picker',
// // 其他自定义元素
// ],
},
},
css: {

36
package.json

@ -118,7 +118,28 @@
"vxe-table": "4.6.17",
"vxe-table-plugin-export-xlsx": "4.0.1",
"xe-utils": "3.5.25",
"xlsx": "0.18.5"
"xlsx": "0.18.5",
"sm-crypto":"0.3.13",
"@hufe921/canvas-editor":"v0.9.101",
"@hufe921/canvas-editor-plugin-docx": "0.0.5",
"@rollup/plugin-typescript": "^10.0.1",
"@types/node": "16.18.96",
"prismjs": "1.29.0",
"@types/prismjs": "^1.26.0",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"@vitejs/plugin-vue": "^2.0.4",
"vite-plugin-vue-setup-extend": "^0.4.0",
"cypress": "13.6.0",
"cypress-file-upload": "^5.0.8",
"eslint": "7.32.0",
"simple-git-hooks": "^2.8.1",
"vite-plugin-css-injected-by-js": "^2.1.1",
"vitepress": "1.0.0-beta.6",
"canvas-editor": "^1.0.0",
"mammoth-plus":"^2.0.2",
"mammoth":"1.9.0"
},
"devDependencies": {
"@commitlint/cli": "19.3.0",
@ -140,13 +161,17 @@
"@vben/vite-config": "workspace:*",
"@vue/compiler-sfc": "3.5.13",
"@vue/test-utils": "2.4.6",
"@microsoft/fetch-event-source":"2.0.1",
"conventional-changelog-cli": "4.1.0",
"cross-env": "7.0.3",
"cz-git": "1.9.1",
"czg": "1.9.1",
"husky": "9.0.11",
"lint-staged": "15.2.2",
"micromark": "^3.1.0",
"micromark-extension-gfm": "^2.0.1",
"prettier": "3.3.3",
"emoji-picker-element": "1.12.1",
"prettier-plugin-packagejson": "2.5.0",
"rimraf": "5.0.5",
"sass": "1.77.6",
@ -155,7 +180,14 @@
"unbuild": "2.0.0",
"vite": "5.4.0",
"vite-plugin-vue-devtools": "7.6.5",
"vue-tsc": "2.1.10"
"vue-tsc": "2.1.10",
"layer-vue":"2.0.0-alpha.0",
"vite-plugin-top-level-await":"1.4.4",
"md-editor-v3": "^4.9.0",
"markdown-it": "^13.0.2",
"markdown-it-anchor": "^8.6.7",
"markdown-it-toc-done-right": "^4.2.0",
"@vue-office/pdf": "^2.0.10"
},
"engines": {
"node": ">=18.12.0",

BIN
public/favicon.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

After

Width:  |  Height:  |  Size: 44 KiB

BIN
public/favicon.ico.bak

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

BIN
public/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 44 KiB

BIN
public/logo1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

57
src/api/contractReview/ContractualInfo/index.ts

@ -0,0 +1,57 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { ContractualInfoVO, ContractualInfoForm, ContractualInfoQuery } from './model';
/**
*
* @param params
* @returns
*/
export function ContractualInfoList(params?: ContractualInfoQuery) {
return defHttp.get<ContractualInfoVO[]>({ url: '/productManagement/ContractualInfo/list', params });
}
/**
*
* @param params
* @returns
*/
export function ContractualInfoExport(params?: ContractualInfoQuery) {
return commonExport('/productManagement/ContractualInfo/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function ContractualInfoInfo(id: ID) {
return defHttp.get<ContractualInfoVO>({ url: '/productManagement/ContractualInfo/' + id });
}
/**
*
* @param data
* @returns
*/
export function ContractualInfoAdd(data: ContractualInfoForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/ContractualInfo', data });
}
/**
*
* @param data
* @returns
*/
export function ContractualInfoUpdate(data: ContractualInfoForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/ContractualInfo', data });
}
/**
*
* @param id id
* @returns
*/
export function ContractualInfoRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/ContractualInfo/' + id },);
}

90
src/api/contractReview/ContractualInfo/model.ts

@ -0,0 +1,90 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface ContractualInfoVO {
/**
*
*/
fileName: string;
/**
*
*/
purchaserName: string;
/**
*
*/
supplierName: string;
/**
*
*/
signDate: string;
/**
*
*/
contractAmount: string;
}
export interface ContractualInfoForm extends BaseEntity {
/**
*
*/
fileName?: string;
/**
*
*/
purchaserName?: string;
/**
*
*/
supplierName?: string;
/**
*
*/
signDate?: string;
/**
*
*/
contractAmount?: string;
}
export interface ContractualInfoQuery extends PageQuery {
/**
*
*/
fileName?: string;
/**
*
*/
purchaserName?: string;
/**
*
*/
supplierName?: string;
/**
*
*/
signDate?: string;
/**
*
*/
contractAmount?: string;
/**
*
*/
params?: any;
}

57
src/api/contractReview/ContractualTasks/index.ts

@ -0,0 +1,57 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { ContractualTasksVO, ContractualTasksForm, ContractualTasksQuery } from './model';
/**
*
* @param params
* @returns
*/
export function ContractualTasksList(params?: ContractualTasksQuery) {
return defHttp.get<ContractualTasksVO[]>({ url: '/productManagement/ContractualTasks/list', params });
}
/**
*
* @param params
* @returns
*/
export function ContractualTasksExport(params?: ContractualTasksQuery) {
return commonExport('/productManagement/ContractualTasks/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function ContractualTasksInfo(id: ID) {
return defHttp.get<ContractualTasksVO>({ url: '/productManagement/ContractualTasks/' + id });
}
/**
*
* @param data
* @returns
*/
export function ContractualTasksAdd(data: ContractualTasksForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/ContractualTasks', data });
}
/**
*
* @param data
* @returns
*/
export function ContractualTasksUpdate(data: ContractualTasksForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/ContractualTasks', data });
}
/**
*
* @param id id
* @returns
*/
export function ContractualTasksRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/ContractualTasks/' + id },);
}

115
src/api/contractReview/ContractualTasks/model.ts

@ -0,0 +1,115 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface ContractualTasksVO {
/**
*
*/
id: string | number;
/**
*
*/
taskIndustry: string;
/**
*
*/
taskRegion: string;
/**
*
*/
contractTaskName: string;
/**
*
*/
documentName: string;
/**
*
*/
ossId: string | number;
/**
*
*/
progressStatus: string;
}
export interface ContractualTasksForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
contractTaskName?: string;
/**
*
*/
documentName?: string;
/**
*
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
}
export interface ContractualTasksQuery extends PageQuery {
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
contractTaskName?: string;
/**
*
*/
documentName?: string;
/**
*
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
/**
*
*/
params?: any;
}

103
src/api/contractReview/JyjcontractualTaskBatch/index.ts

@ -0,0 +1,103 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { JyjcontractualTaskBatchVO, JyjcontractualTaskBatchForm, JyjcontractualTaskBatchQuery } from './model';
/**
*
* @param params
* @returns
*/
export function JyjcontractualTaskBatchList(params?: JyjcontractualTaskBatchQuery) {
return defHttp.get<JyjcontractualTaskBatchVO[]>({ url: '/productManagement/JyjcontractualTaskBatch/list', params });
}
/**
*
* @param params
* @returns
*/
export function JyjcontractualTaskBatchExport(params?: JyjcontractualTaskBatchQuery) {
return commonExport('/productManagement/JyjcontractualTaskBatch/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function JyjcontractualTaskBatchInfo(id: ID) {
return defHttp.get<JyjcontractualTaskBatchVO>({ url: '/productManagement/JyjcontractualTaskBatch/' + id });
}
/**
*
* @param data
* @returns
*/
export function JyjcontractualTaskBatchAdd(data: JyjcontractualTaskBatchForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/JyjcontractualTaskBatch', data ,timeout:1000 * 60 * 10});
}
/**
*
* @param data
* @returns
*/
export function JyjcontractualTaskBatchUpdate(data: JyjcontractualTaskBatchForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/JyjcontractualTaskBatch', data });
}
/**
*
* @param id id
* @returns
*/
export function JyjcontractualTaskBatchRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/JyjcontractualTaskBatch/' + id },);
}
import { UploadFileParams } from '#/axios';
import { AxiosProgressEvent } from 'axios';
/**
* @description: Upload interface
*/
export function uploadContractual(
params: UploadFileParams,
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,
) {
return defHttp.uploadFile<any>(
{
// 固定url地址
url: '/productManagement/JyjcontractualTaskBatch/back/upload',
onUploadProgress,
timeout: 1000 * 60 * 10,
},
params,
);
}
/**
* id获取合同的审查结果
* @param id id
* @returns
*/
export function getContractualResultById(id: ID) {
return defHttp.get({ url: '/productManagement/JyjcontractualTaskBatch/getContractulResultById/' + id });
}
/**
* PDF文件流
* @param fileName - PDF文件名
* @returns Blob
*/
export function getPdfFile(id:Number) {
return defHttp.get(
{
url: `/productManagement/JyjcontractualTaskBatch/getContractulPdf/${id}`,
responseType: 'blob',
headers: {
Accept: 'application/pdf',
}
},
{ isReturnNativeResponse: true }
);
}

160
src/api/contractReview/JyjcontractualTaskBatch/model.ts

@ -0,0 +1,160 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface JyjcontractualTaskBatchVO {
/**
*
*/
taskName: string;
/**
*
*/
taskType: string;
/**
*
*/
documentName: string;
/**
* OSS文件ID
*/
ossId: string | number;
/**
*
*/
progressStatus: string;
/**
* id
*/
groupId: string | number;
/**
*
*/
totalContracts: number;
/**
*
*/
approvedCount: number;
/**
*
*/
passCount: number;
/**
*
*/
rejectCount: number;
/**
*
*/
irrelevantCount: number;
/**
* ()
*/
progress: number;
}
export interface JyjcontractualTaskBatchForm extends BaseEntity {
/**
*
*/
taskName?: string;
/**
*
*/
taskType?: string;
/**
*
*/
documentName?: string;
/**
* OSS文件ID
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
}
export interface JyjcontractualTaskBatchQuery extends PageQuery {
/**
*
*/
taskName?: string;
/**
*
*/
taskType?: string;
/**
*
*/
documentName?: string;
/**
* OSS文件ID
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
/**
* id
*/
groupId?: string | number;
/**
*
*/
totalContracts?: number;
/**
*
*/
approvedCount?: number;
/**
*
*/
passCount?: number;
/**
*
*/
rejectCount?: number;
/**
*
*/
irrelevantCount?: number;
/**
* ()
*/
progress?: number;
/**
*
*/
params?: any;
}

167
src/api/documentReview/DocumentTaskResults/index.ts

@ -0,0 +1,167 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { DocumentTaskResultsVO, DocumentTaskResultsForm, DocumentTaskResultsQuery } from './model';
import { message } from 'ant-design-vue';
interface DownloadOptions {
filename?: string;
mimeType?: string;
}
/**
*
* @param url
* @param onError
* @returns Promise<boolean>
*/
export async function useDownload(
url: string,
onError?: (error: any) => void
): Promise<boolean> {
try {
const response = await defHttp.get(
{
url,
responseType: 'blob',
timeout: 60000, // 设置较长的超时时间
},
{
isReturnNativeResponse: true,
// 自定义错误处理
errorMessageMode: 'none',
}
);
// 检查响应类型
const contentType = response.headers['content-type'];
if (contentType && contentType.includes('application/json')) {
// 如果返回的是JSON(通常是错误信息),转换并抛出
const reader = new FileReader();
reader.onload = () => {
const error = JSON.parse(reader.result as string);
message.error(error.message || '下载失败');
onError?.(error);
};
reader.readAsText(response.data);
return false;
}
// 获取文件名
const contentDisposition = response.headers['content-disposition'];
let fileName = '';
if (contentDisposition) {
const matches = contentDisposition.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/);
if (matches && matches[1]) {
fileName = decodeURIComponent(matches[1].replace(/['"]/g, ''));
}
}
// 创建Blob对象
const blob = new Blob([response.data], {
type: contentType || 'application/octet-stream'
});
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
// 针对IE的处理
window.navigator.msSaveOrOpenBlob(blob, fileName);
} else {
// 现代浏览器的处理
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = fileName;
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
}
return true;
} catch (error: any) {
console.error('下载失败:', error);
message.error(error.message || '下载失败,请稍后重试');
onError?.(error);
return false;
}
}
/**
*
* @param params
* @returns
*/
export function DocumentTaskResultsList(params?: DocumentTaskResultsQuery) {
return defHttp.get<DocumentTaskResultsVO[]>({ url: '/productManagement/DocumentTaskResults/list', params });
}
/**
*
* @param params
* @returns
*/
export function DocumentTaskResultsExport(params?: DocumentTaskResultsQuery) {
return commonExport('/productManagement/DocumentTaskResults/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function DocumentTaskResultsInfo(id: ID) {
return defHttp.get<DocumentTaskResultsVO>({ url: '/productManagement/DocumentTaskResults/' + id });
}
/**
* id查询文档任务结果详细
* @param id id
* @returns
*/
export function DocumentTaskResultsInfoByTaskId(id: ID) {
return defHttp.get<DocumentTaskResultsVO>({ url: '/productManagement/DocumentTaskResults/task/' + id });
}
/**
*
* @param data
* @returns
*/
export function DocumentTaskResultsAdd(data: DocumentTaskResultsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/DocumentTaskResults', data });
}
/**
*
* @param data
* @returns
*/
export function DocumentTaskResultsUpdate(data: DocumentTaskResultsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/DocumentTaskResults', data });
}
/**
*
* @param id id
* @returns
*/
export function DocumentTaskResultsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/DocumentTaskResults/' + id },);
}
/**
*
* @param id id
* @returns
*/
export function DocumentTaskResultDownload(id: ID | IDS) {
return useDownload(`/productManagement/DocumentTaskResults/downloadResult/${id}`);
// return defHttp.get<void>({ url: '/productManagement/DocumentTaskResults/downloadResult/' + id ,responseType: 'blob',headers: { 'Content-Type': ContentTypeEnum.FORM_URLENCODED }},);
}
/**
*
* @param data
* @returns
*/
export function modifyContractReview(documentTaskId: ID, contractualRes) {
return defHttp.putWithMsg<void>({ url: '/productManagement/DocumentTaskResults/modifyContractReview/'+documentTaskId, data: contractualRes });
}

34
src/api/documentReview/DocumentTaskResults/model.ts

@ -0,0 +1,34 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface DocumentTaskResultsVO {
/**
*
*/
result?: string;
}
export interface DocumentTaskResultsForm extends BaseEntity {
}
export interface DocumentTaskResultsQuery extends PageQuery {
/**
* id
*/
id?: string | number;
/**
* id
*/
documentTaskId?: string | number;
/**
*
*/
result?: string;
/**
*
*/
params?: any;
}

94
src/api/documentReview/DocumentTasks/index.ts

@ -0,0 +1,94 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { DocumentTasksVO, DocumentTasksForm, DocumentTasksQuery } from './model';
import { ContentTypeEnum } from '@/enums/httpEnum';
/**
*
* @param params
* @returns
*/
export function DocumentTasksList(params?: DocumentTasksQuery) {
return defHttp.get<DocumentTasksVO[]>({ url: '/productManagement/DocumentTasks/list', params });
}
/**
*
* @param params
* @returns
*/
export function DocumentTasksExport(params?: DocumentTasksQuery) {
return commonExport('/productManagement/DocumentTasks/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function DocumentTasksInfo(id: ID) {
return defHttp.get<DocumentTasksVO>({ url: '/productManagement/DocumentTasks/' + id });
}
/**
*
* @param data
* @returns
*/
export function DocumentTasksAdd(data: DocumentTasksForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/DocumentTasks', data,timeout:1000*60*10 });
}
/**
*
* @param data
* @returns
*/
export function DocumentTasksUpdate(data: DocumentTasksForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/DocumentTasks', data });
}
/**
*
* @param id id
* @returns
*/
export function DocumentTasksRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/DocumentTasks/' + id },);
}
/**
*
*/
export function DocumentTasksStop(id: ID | IDS) {
return defHttp.putWithMsg<void>({ url: '/productManagement/DocumentTasks/stopTask/' + id });
}
// export function uploadDocument(formData) {
// return defHttp.post({
// url: '/productManagement/docAi/sse/upload',
// data: formData,
// headers: {
// 'Content-Type': ContentTypeEnum.FORM_DATA,
// },
// timeout: 10 * 60 * 1000,
// });
// }
import { UploadFileParams } from '#/axios';
import { AxiosProgressEvent } from 'axios';
/**
* @description: Upload interface
*/
export function uploadDocument(
params: UploadFileParams,
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void,
) {
return defHttp.uploadFile<any>(
{
// 固定url地址
url: '/productManagement/DocumentTasks/back/upload',
onUploadProgress,
timeout: 1000 * 60 * 10,
},
params,
);
}

76
src/api/documentReview/DocumentTasks/model.ts

@ -0,0 +1,76 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface DocumentTasksVO {
id: string | number;
/**
*
*/
taskName: string;
/**
*
*/
documentName: string;
/**
*
*/
estimatedCompletionTime: string;
/**
*
*/
progressStatus: string;
}
export interface DocumentTasksForm extends BaseEntity {
/**
*
*/
taskName?: string;
/**
*
*/
documentName?: string;
/**
*
*/
estimatedCompletionTime?: string;
/**
*
*/
progressStatus?: string;
}
export interface DocumentTasksQuery extends PageQuery {
/**
*
*/
taskName?: string;
/**
*
*/
documentName?: string;
/**
*
*/
estimatedCompletionTime?: string;
/**
*
*/
progressStatus?: string;
/**
*
*/
params?: any;
}

57
src/api/modelConfiguration/ModelPrompts/index.ts

@ -0,0 +1,57 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { ModelPromptsVO, ModelPromptsForm, ModelPromptsQuery } from './model';
/**
*
* @param params
* @returns
*/
export function ModelPromptsList(params?: ModelPromptsQuery) {
return defHttp.get<ModelPromptsVO[]>({ url: '/productManagement/ModelPrompts/list', params });
}
/**
*
* @param params
* @returns
*/
export function ModelPromptsExport(params?: ModelPromptsQuery) {
return commonExport('/productManagement/ModelPrompts/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function ModelPromptsInfo(id: ID) {
return defHttp.get<ModelPromptsVO>({ url: '/productManagement/ModelPrompts/' + id });
}
/**
*
* @param data
* @returns
*/
export function ModelPromptsAdd(data: ModelPromptsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/ModelPrompts', data });
}
/**
*
* @param data
* @returns
*/
export function ModelPromptsUpdate(data: ModelPromptsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/ModelPrompts', data });
}
/**
*
* @param id id
* @returns
*/
export function ModelPromptsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/ModelPrompts/' + id },);
}

188
src/api/modelConfiguration/ModelPrompts/model.ts

@ -0,0 +1,188 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface ModelPromptsVO {
/**
* id
*/
id: string | number;
/**
*
*/
taskRoleDesc: string;
/**
*
*/
taskName: string;
/**
*
*/
taskRegion: string;
/**
*
*/
taskIndustry: string;
/**
*
*/
context: string;
/**
*
*/
description: string;
/**
*
*/
workflow: string;
/**
*
*/
outputDesc: string;
/**
*
*/
cautions: string;
/**
*
*/
modelVersion: string;
/**
*
*/
note: string;
}
export interface ModelPromptsForm extends BaseEntity {
/**
*
*/
taskRoleDesc?: string;
/**
*
*/
taskName?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskIndustry?: string;
/**
*
*/
context?: string;
/**
*
*/
description?: string;
/**
*
*/
workflow?: string;
/**
*
*/
outputDesc?: string;
/**
*
*/
cautions?: string;
/**
*
*/
modelVersion?: string;
/**
*
*/
note?: string;
}
export interface ModelPromptsQuery extends PageQuery {
/**
* id
*/
id?: string | number;
/**
*
*/
taskRoleDesc?: string;
/**
*
*/
taskName?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskIndustry?: string;
/**
*
*/
context?: string;
/**
*
*/
description?: string;
/**
*
*/
workflow?: string;
/**
*
*/
outputDesc?: string;
/**
*
*/
cautions?: string;
/**
*
*/
modelVersion?: string;
/**
*
*/
note?: string;
}

60
src/api/modelConfiguration/ModelPromptsHistory/index.ts

@ -0,0 +1,60 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { ModelPromptsHistoryVO, ModelPromptsHistoryForm, ModelPromptsHistoryQuery } from './model';
/**
*
* @param params
* @returns
*/
export function ModelPromptsHistoryList(params?: ModelPromptsHistoryQuery) {
return defHttp.get<ModelPromptsHistoryVO[]>({ url: '/productManagement/ModelPromptsHistory/list', params });
}
/**
*
* @param params
* @returns
*/
export function ModelPromptsHistoryExport(params?: ModelPromptsHistoryQuery) {
return commonExport('/productManagement/ModelPromptsHistory/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function ModelPromptsHistoryInfo(id: ID) {
return defHttp.get<ModelPromptsHistoryVO>({ url: '/productManagement/ModelPromptsHistory/' + id });
}
/**
*
* @param data
* @returns
*/
export function ModelPromptsHistoryAdd(data: ModelPromptsHistoryForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/ModelPromptsHistory', data });
}
/**
*
* @param data
* @returns
*/
export function ModelPromptsHistoryUpdate(data: ModelPromptsHistoryForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/ModelPromptsHistory', data });
}
/**
*
* @param id id
* @returns
*/
export function ModelPromptsHistoryRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/ModelPromptsHistory/' + id },);
}
export function ModelPromptsHistoryRestore(id: ID) {
return defHttp.postWithMsg<void>({ url: '/productManagement/ModelPromptsHistory/restore/'+id});
}

160
src/api/modelConfiguration/ModelPromptsHistory/model.ts

@ -0,0 +1,160 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface ModelPromptsHistoryVO {
/**
* id
*/
id: string | number;
/**
* id
*/
promptId: string | number;
/**
*
*/
taskRoleDesc: string;
/**
*
*/
taskName: string;
/**
*
*/
taskRegion: string;
/**
*
*/
taskIndustry: string;
/**
*
*/
context: string;
/**
*
*/
description: string;
/**
*
*/
workflow: string;
/**
*
*/
outputDesc: string;
/**
*
*/
cautions: string;
/**
*
*/
modelVersion: string;
/**
*
*/
note: string;
}
export interface ModelPromptsHistoryForm extends BaseEntity {
/**
* id
*/
id?: string | number;
/**
* id
*/
promptId?: string | number;
/**
*
*/
taskRoleDesc?: string;
/**
*
*/
taskName?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskIndustry?: string;
/**
*
*/
context?: string;
/**
*
*/
description?: string;
/**
*
*/
workflow?: string;
/**
*
*/
outputDesc?: string;
/**
*
*/
cautions?: string;
/**
*
*/
modelVersion?: string;
/**
*
*/
note?: string;
}
export interface ModelPromptsHistoryQuery extends PageQuery {
/**
*
*/
taskName?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskIndustry?: string;
/**
*
*/
params?: any;
}

65
src/api/modelConfiguration/ModelUserPromptssetting/index.ts

@ -0,0 +1,65 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { ModelUserPromptssettingVO, ModelUserPromptssettingForm, ModelUserPromptssettingQuery } from './model';
/**
*
* @param params
* @returns
*/
export function ModelUserPromptssettingList(params?: ModelUserPromptssettingQuery) {
return defHttp.get<ModelUserPromptssettingVO[]>({ url: '/productManagement/ModelUserPromptssetting/list', params });
}
/**
*
* @param params
* @returns
*/
export function ModelUserPromptssettingExport(params?: ModelUserPromptssettingQuery) {
return commonExport('/productManagement/ModelUserPromptssetting/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function ModelUserPromptssettingInfo(id: ID) {
return defHttp.get<ModelUserPromptssettingVO>({ url: '/productManagement/ModelUserPromptssetting/' + id });
}
/**
*
* @param data
* @returns
*/
export function ModelUserPromptssettingAdd(data: ModelUserPromptssettingForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/ModelUserPromptssetting', data });
}
/**
*
* @param data
* @returns
*/
export function ModelUserPromptssettingUpdate(data: ModelUserPromptssettingForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/ModelUserPromptssetting', data });
}
/**
*
* @param id id
* @returns
*/
export function ModelUserPromptssettingRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/ModelUserPromptssetting/' + id },);
}
/**
* id
* @param userId userId
* @returns
*/
export function ModelUserPromptssettingInfoByUserId(params:{taskType:string}) {
return defHttp.get<ModelUserPromptssettingVO>({ url: '/productManagement/ModelUserPromptssetting/getInfoByuserId', params });
}

85
src/api/modelConfiguration/ModelUserPromptssetting/model.ts

@ -0,0 +1,85 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface ModelUserPromptssettingVO {
/**
* id
*/
id: string | number;
/**
*
*/
taskIndustry: string;
/**
*
*/
taskRegion: string;
/**
*
*/
taskName: string;
/**
* id
*/
userId: string | number;
}
export interface ModelUserPromptssettingForm extends BaseEntity {
/**
* id
*/
id?: string | number;
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskName?: string;
/**
* id
*/
userId?: string | number;
}
export interface ModelUserPromptssettingQuery extends PageQuery {
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskName?: string;
/**
* id
*/
userId?: string | number;
/**
*
*/
params?: any;
}

57
src/api/schemEvaluation/SchemEvaluation/index.ts

@ -0,0 +1,57 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { SchemEvaluationVO, SchemEvaluationForm, SchemEvaluationQuery } from './model';
/**
*
* @param params
* @returns
*/
export function SchemEvaluationList(params?: SchemEvaluationQuery) {
return defHttp.get<SchemEvaluationVO[]>({ url: '/productManagement/SchemEvaluation/list', params });
}
/**
*
* @param params
* @returns
*/
export function SchemEvaluationExport(params?: SchemEvaluationQuery) {
return commonExport('/productManagement/SchemEvaluation/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function SchemEvaluationInfo(id: ID) {
return defHttp.get<SchemEvaluationVO>({ url: '/productManagement/SchemEvaluation/' + id });
}
/**
*
* @param data
* @returns
*/
export function SchemEvaluationAdd(data: SchemEvaluationForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/SchemEvaluation', data });
}
/**
*
* @param data
* @returns
*/
export function SchemEvaluationUpdate(data: SchemEvaluationForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/SchemEvaluation', data });
}
/**
*
* @param id id
* @returns
*/
export function SchemEvaluationRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/SchemEvaluation/' + id },);
}

105
src/api/schemEvaluation/SchemEvaluation/model.ts

@ -0,0 +1,105 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface SchemEvaluationVO {
/**
*
*/
taskIndustry: string;
/**
*
*/
taskRegion: string;
/**
*
*/
taskName: string;
/**
*
*/
documentName: string;
/**
* ossid
*/
ossId: string | number;
/**
*
*/
progressStatus: string;
}
export interface SchemEvaluationForm extends BaseEntity {
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskName?: string;
/**
*
*/
documentName?: string;
/**
* ossid
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
}
export interface SchemEvaluationQuery extends PageQuery {
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskName?: string;
/**
*
*/
documentName?: string;
/**
* ossid
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
/**
*
*/
params?: any;
}

4
src/api/system/user/index.ts

@ -74,7 +74,9 @@ export function userAdd(data: any) {
}
export function userUpdate(data: any) {
return defHttp.putWithMsg<void>({ url: Api.root, data });
return defHttp.putWithMsg<void>({ url: Api.root, data },{
encrypt: true,
},);
}
export function userStatusChange(data: any) {

67
src/api/taskPermissions/DocumentTasksPermissions/index.ts

@ -0,0 +1,67 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { DocumentTasksPermissionsVO, DocumentTasksPermissionsForm, DocumentTasksPermissionsQuery } from './model';
/**
*
* @param params
* @returns
*/
export function DocumentTasksPermissionsList(params?: DocumentTasksPermissionsQuery) {
return defHttp.get<DocumentTasksPermissionsVO[]>({ url: '/productManagement/DocumentTasksPermissions/list', params });
}
/**
*
* @param params
* @returns
*/
export function DocumentTasksPermissionsExport(params?: DocumentTasksPermissionsQuery) {
return commonExport('/productManagement/DocumentTasksPermissions/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function DocumentTasksPermissionsInfo(id: ID) {
return defHttp.get<DocumentTasksPermissionsVO>({ url: '/productManagement/DocumentTasksPermissions/' + id });
}
/**
*
* @param data
* @returns
*/
export function DocumentTasksPermissionsAdd(data: DocumentTasksPermissionsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/DocumentTasksPermissions', data });
}
/**
*
* @param data
* @returns
*/
export function DocumentTasksPermissionsUpdate(data: DocumentTasksPermissionsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/DocumentTasksPermissions', data });
}
/**
*
* @param id id
* @returns
*/
export function DocumentTasksPermissionsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/DocumentTasksPermissions/' + id },);
}
/**
*
* @returns
*/
export const getUsersAll = () => {
return defHttp.get<any>({ url: '/productManagement/DocumentTasksPermissions/getUsersAll' });
}
export const getTasksPermissionsByUserId = () => {
return defHttp.get<DocumentTasksPermissionsVO>({ url: '/productManagement/DocumentTasksPermissions/getTasksPermissionsByUserId' });
}

115
src/api/taskPermissions/DocumentTasksPermissions/model.ts

@ -0,0 +1,115 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface DocumentTasksPermissionsVO {
/**
* ID
*/
id: string | number;
/**
* ID
*/
userId: string | number;
/**
* ID
*/
roleId: string | number;
/**
*
*/
dailyDocumentCount: number;
/**
*
*/
priority: number;
/**
*
*/
taskType: string;
/**
*
*/
remainingTasksToday: number;
}
export interface DocumentTasksPermissionsForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
* ID
*/
userId?: string | number;
/**
* ID
*/
roleId?: string | number;
/**
*
*/
dailyDocumentCount?: number;
/**
*
*/
priority?: number;
/**
*
*/
taskType?: string;
/**
*
*/
remainingTasksToday?: number;
}
export interface DocumentTasksPermissionsQuery extends PageQuery {
/**
* ID
*/
userId?: string | number;
/**
* ID
*/
roleId?: string | number;
/**
*
*/
dailyDocumentCount?: number;
/**
*
*/
priority?: number;
/**
*
*/
taskType?: string;
/**
*
*/
remainingTasksToday?: number;
/**
*
*/
params?: any;
}

57
src/api/taskPermissions/DocumentTasksPermissionsDetail/index.ts

@ -0,0 +1,57 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { DocumentTasksPermissionsDetailVO, DocumentTasksPermissionsDetailForm, DocumentTasksPermissionsDetailQuery } from './model';
/**
*
* @param params
* @returns
*/
export function DocumentTasksPermissionsDetailList(params?: DocumentTasksPermissionsDetailQuery) {
return defHttp.get<DocumentTasksPermissionsDetailVO[]>({ url: '/productManagement/DocumentTasksPermissionsDetail/list', params });
}
/**
*
* @param params
* @returns
*/
export function DocumentTasksPermissionsDetailExport(params?: DocumentTasksPermissionsDetailQuery) {
return commonExport('/productManagement/DocumentTasksPermissionsDetail/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function DocumentTasksPermissionsDetailInfo(id: ID) {
return defHttp.get<DocumentTasksPermissionsDetailVO>({ url: '/productManagement/DocumentTasksPermissionsDetail/' + id });
}
/**
*
* @param data
* @returns
*/
export function DocumentTasksPermissionsDetailAdd(data: DocumentTasksPermissionsDetailForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/DocumentTasksPermissionsDetail', data });
}
/**
*
* @param data
* @returns
*/
export function DocumentTasksPermissionsDetailUpdate(data: DocumentTasksPermissionsDetailForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/DocumentTasksPermissionsDetail', data });
}
/**
*
* @param id id
* @returns
*/
export function DocumentTasksPermissionsDetailRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/DocumentTasksPermissionsDetail/' + id },);
}

70
src/api/taskPermissions/DocumentTasksPermissionsDetail/model.ts

@ -0,0 +1,70 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface DocumentTasksPermissionsDetailVO {
/**
* ID
*/
id: string | number;
/**
* ID
*/
userId: string | number;
/**
*
*/
remainingDocumentCount: number;
/**
*
*/
taskType: string;
}
export interface DocumentTasksPermissionsDetailForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
* ID
*/
userId?: string | number;
/**
*
*/
remainingDocumentCount?: number;
/**
*
*/
taskType?: string;
}
export interface DocumentTasksPermissionsDetailQuery extends PageQuery {
/**
* ID
*/
userId?: string | number;
/**
*
*/
remainingDocumentCount?: number;
/**
*
*/
taskType?: string;
/**
*
*/
params?: any;
}

57
src/api/tenderReview/TenderTask/index.ts

@ -0,0 +1,57 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { TenderTaskVO, TenderTaskForm, TenderTaskQuery } from './model';
/**
*
* @param params
* @returns
*/
export function TenderTaskList(params?: TenderTaskQuery) {
return defHttp.get<TenderTaskVO[]>({ url: '/productManagement/TenderTask/list', params });
}
/**
*
* @param params
* @returns
*/
export function TenderTaskExport(params?: TenderTaskQuery) {
return commonExport('/productManagement/TenderTask/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function TenderTaskInfo(id: ID) {
return defHttp.get<TenderTaskVO>({ url: '/productManagement/TenderTask/' + id });
}
/**
*
* @param data
* @returns
*/
export function TenderTaskAdd(data: TenderTaskForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/TenderTask', data });
}
/**
*
* @param data
* @returns
*/
export function TenderTaskUpdate(data: TenderTaskForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/TenderTask', data });
}
/**
*
* @param id id
* @returns
*/
export function TenderTaskRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/TenderTask/' + id },);
}

108
src/api/tenderReview/TenderTask/model.ts

@ -0,0 +1,108 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface TenderTaskVO {
/**
*
*/
taskIndustry: string;
/**
*
*/
taskRegion: string;
/**
*
*/
taskName: string;
/**
*
*/
documentName: string;
/**
* ossid
*/
ossId: string | number;
/**
*
*/
progressStatus: string;
}
export interface TenderTaskForm extends BaseEntity {
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskName?: string;
/**
*
*/
documentName?: string;
/**
* ossid
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
}
export interface TenderTaskQuery extends PageQuery {
/**
*
*/
taskIndustry?: string;
/**
*
*/
taskRegion?: string;
/**
*
*/
taskName?: string;
/**
*
*/
documentName?: string;
/**
* ossid
*/
ossId?: string | number;
/**
*
*/
progressStatus?: string;
/**
*
*/
params?: any;
}

1
src/api/upload/index.ts

@ -15,6 +15,7 @@ export function uploadApi(
// 固定url地址
url: '/resource/oss/upload',
onUploadProgress,
timeout: 1000 * 60 * 10,
},
params,
);

68
src/api/zaojiaManagement/productManagement/companyProductModel/companyProductModelDetails/index.ts

@ -0,0 +1,68 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import {
CompanyProductModelDetailsVO,
CompanyProductModelDetailsForm,
CompanyProductModelDetailsQuery,
} from './model';
/**
*
* @param params
* @returns
*/
export function companyProductModelDetailsList(params?: CompanyProductModelDetailsQuery) {
return defHttp.get<CompanyProductModelDetailsVO[]>({
url: '/productManagement/companyProductModelDetails/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function companyProductModelDetailsExport(params?: CompanyProductModelDetailsQuery) {
return commonExport('/productManagement/companyProductModelDetails/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function companyProductModelDetailsInfo(id: ID) {
return defHttp.get<CompanyProductModelDetailsVO>({
url: '/productManagement/companyProductModelDetails/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function companyProductModelDetailsAdd(data: CompanyProductModelDetailsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/companyProductModelDetails', data });
}
/**
*
* @param data
* @returns
*/
export function companyProductModelDetailsUpdate(data: CompanyProductModelDetailsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/companyProductModelDetails', data });
}
/**
*
* @param id id
* @returns
*/
export function companyProductModelDetailsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({
url: '/productManagement/companyProductModelDetails/' + id,
});
}

97
src/api/zaojiaManagement/productManagement/companyProductModel/companyProductModelDetails/model.ts

@ -0,0 +1,97 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface CompanyProductModelDetailsVO {
/**
*
*/
id: string | number;
/**
* id
*/
modelId: string | number;
/**
*
*/
paramName: string;
/**
*
*/
parameterValue: string;
/**
*
*/
isKeyParameter: string;
/**
*
*/
isTemporary: string;
}
export interface CompanyProductModelDetailsForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
modelId?: string | number;
/**
*
*/
paramName?: string;
/**
*
*/
parameterValue?: string;
/**
*
*/
isKeyParameter?: string;
/**
*
*/
isTemporary?: string;
}
export interface CompanyProductModelDetailsQuery extends PageQuery {
/**
* id
*/
modelId?: string | number;
/**
*
*/
paramName?: string;
/**
*
*/
parameterValue?: string;
/**
*
*/
isKeyParameter?: string;
/**
*
*/
isTemporary?: string;
/**
*
*/
params?: any;
}

90
src/api/zaojiaManagement/productManagement/companyProductModel/index.ts

@ -0,0 +1,90 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { CompanyProductModelVO, CompanyProductModelForm, CompanyProductModelQuery } from './model';
import { CompanyProductModelDetailsVO } from './companyProductModelDetails/model';
/**
*
* @param id
* @returns
*/
export function companyProductGetModelDetails(id: ID) {
return defHttp.get<CompanyProductModelDetailsVO[]>({
url: '/productManagement/companyProductModel/getModelDetails/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function addCompanyProductModel(data: CompanyProductModelForm) {
return defHttp.post<string>({ url: '/productManagement/companyProductModel/addModel', data });
}
/**
*
* @param data
* @returns
*/
export function updateCompanyProductModel(data: CompanyProductModelForm) {
return defHttp.put<string>({ url: '/productManagement/companyProductModel/editModel', data });
}
/**
*
* @param params
* @returns
*/
export function companyProductModelList(params?: CompanyProductModelQuery) {
return defHttp.get<CompanyProductModelVO[]>({
url: '/productManagement/companyProductModel/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function companyProductModelExport(params?: CompanyProductModelQuery) {
return commonExport('/productManagement/companyProductModel/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function companyProductModelInfo(id: ID) {
return defHttp.get<CompanyProductModelVO>({
url: '/productManagement/companyProductModel/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function companyProductModelAdd(data: CompanyProductModelForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/companyProductModel', data });
}
/**
*
* @param data
* @returns
*/
export function companyProductModelUpdate(data: CompanyProductModelForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/companyProductModel', data });
}
/**
*
* @param id id
* @returns
*/
export function companyProductModelRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/companyProductModel/' + id });
}

67
src/api/zaojiaManagement/productManagement/companyProductModel/model.ts

@ -0,0 +1,67 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface CompanyProductModelVO {
/**
*
*/
id: string | number;
/**
*
*/
description: string;
/**
* id
*/
productModelTemplateId: string | number;
/**
*
*/
isTemporary: string;
}
export interface CompanyProductModelForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
description?: string;
/**
* id
*/
productModelTemplateId?: string | number;
/**
*
*/
isTemporary?: string;
}
export interface CompanyProductModelQuery extends PageQuery {
/**
*
*/
description?: string;
/**
* id
*/
productModelTemplateId?: string | number;
/**
*
*/
isTemporary?: string;
/**
*
*/
params?: any;
}

59
src/api/zaojiaManagement/productManagement/companyProducts/index.ts

@ -0,0 +1,59 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { CompanyProductsVO, CompanyProductsForm, CompanyProductsQuery } from './model';
/**
*
* @param params
* @returns
*/
export function companyProductsList(params?: CompanyProductsQuery) {
return defHttp.get<CompanyProductsVO[]>({
url: '/productManagement/companyProducts/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function companyProductsExport(params?: CompanyProductsQuery) {
return commonExport('/productManagement/companyProducts/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function companyProductsInfo(id: ID) {
return defHttp.get<CompanyProductsVO>({ url: '/productManagement/companyProducts/' + id });
}
/**
*
* @param data
* @returns
*/
export function companyProductsAdd(data: CompanyProductsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/companyProducts', data });
}
/**
*
* @param data
* @returns
*/
export function companyProductsUpdate(data: CompanyProductsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/companyProducts', data });
}
/**
*
* @param id id
* @returns
*/
export function companyProductsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/companyProducts/' + id });
}

227
src/api/zaojiaManagement/productManagement/companyProducts/model.ts

@ -0,0 +1,227 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface CompanyProductsVO {
/**
* id
*/
supplierProductsId: string | number;
/**
* id
*/
supplierInformationId: string | number;
/**
*
*/
productSpecifications: string;
/**
*
*/
productName: string;
/**
*
*/
productIdentity: string | number;
/**
*
*/
productPrice: number;
/**
*
*/
sourceInformation: string;
/**
*
*/
remarks: string;
/**
*
*/
image: string;
/**
*
*/
brand: string;
/**
*
*/
unit: string;
/**
*
*/
exTaxPrice: number;
/**
*
*/
taxrate: number;
/**
* id
*/
categoryId: string | number;
/**
* id
*/
modelId: string | number;
}
export interface CompanyProductsForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
supplierProductsId?: string | number;
/**
* id
*/
supplierInformationId?: string | number;
/**
*
*/
productSpecifications?: string;
/**
*
*/
productName?: string;
/**
*
*/
productIdentity?: string | number;
/**
*
*/
productPrice?: number;
/**
*
*/
sourceInformation?: string;
/**
*
*/
remarks?: string;
/**
*
*/
image?: string;
/**
*
*/
brand?: string;
/**
*
*/
unit?: string;
/**
*
*/
exTaxPrice?: number;
/**
*
*/
taxrate?: number;
/**
* id
*/
categoryId?: string | number;
/**
* id
*/
modelId?: string | number;
}
export interface CompanyProductsQuery extends PageQuery {
/**
* id
*/
supplierProductsId?: string | number;
/**
* id
*/
supplierInformationId?: string | number;
/**
*
*/
productSpecifications?: string;
/**
*
*/
productName?: string;
/**
*
*/
productIdentity?: string | number;
/**
*
*/
productPrice?: number;
/**
*
*/
sourceInformation?: string;
/**
*
*/
remarks?: string;
/**
*
*/
brand?: string;
/**
*
*/
unit?: string;
/**
*
*/
exTaxPrice?: number;
/**
*
*/
taxrate?: number;
/**
*
*/
params?: any;
}

63
src/api/zaojiaManagement/productManagement/costTable/costItemDetail/index.ts

@ -0,0 +1,63 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { CostItemDetailVO, CostItemDetailForm, CostItemDetailQuery, ProductsVO } from './model';
export function getProductsPageByType(params?: ProductsVO) {
return defHttp.get<ProductsVO[]>({
url: '/productManagement/costItemDetail/getProductsPageByType',
params,
});
}
/**
*
* @param params
* @returns
*/
export function costItemDetailList(params?: CostItemDetailQuery) {
return defHttp.get<CostItemDetailVO[]>({ url: '/productManagement/costItemDetail/list', params });
}
/**
*
* @param params
* @returns
*/
export function costItemDetailExport(params?: CostItemDetailQuery) {
return commonExport('/productManagement/costItemDetail/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function costItemDetailInfo(id: ID) {
return defHttp.get<CostItemDetailVO>({ url: '/productManagement/costItemDetail/' + id });
}
/**
*
* @param data
* @returns
*/
export function costItemDetailAdd(data: CostItemDetailForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/costItemDetail', data });
}
/**
*
* @param data
* @returns
*/
export function costItemDetailUpdate(data: CostItemDetailForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/costItemDetail', data });
}
/**
*
* @param id id
* @returns
*/
export function costItemDetailRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/costItemDetail/' + id });
}

225
src/api/zaojiaManagement/productManagement/costTable/costItemDetail/model.ts

@ -0,0 +1,225 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface CostItemDetailVO {
/**
*
*/
id: string | number;
/**
* id
*/
costTableId: string | number;
/**
* id
*/
parentId: string | number;
/**
*
*/
costType: string;
/**
*
*/
constructContent: string;
/**
*
*/
costName: string;
/**
*
*/
costDescribe: string;
/**
*
*/
unit: string;
/**
*
*/
quantity: number;
/**
*
*/
unitPrice: number;
/**
*
*/
totalPrice: number;
/**
*
*/
isDetail: string;
/**
*
*/
remarks: string;
/**
*
*/
orderNo: string;
}
export interface CostItemDetailForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
costTableId?: string | number;
/**
* id
*/
parentId?: string | number;
/**
*
*/
costType?: string;
/**
*
*/
constructContent?: string;
/**
*
*/
costName?: string;
/**
*
*/
costDescribe?: string;
/**
*
*/
unit?: string;
/**
*
*/
quantity?: number;
/**
*
*/
unitPrice?: number;
/**
*
*/
totalPrice?: number;
/**
*
*/
isDetail?: string;
/**
*
*/
remarks?: string;
/**
*
*/
orderNo?: string;
}
export interface CostItemDetailQuery extends PageQuery {
/**
*
*/
params?: any;
}
export interface ProductsVO {
/**
*
*/
id: string | number;
/**
* id
*/
supplierInformationId: string | number;
/**
*
*/
productName: string;
/**
*
*/
productIdentity: string | number;
/**
*
*/
productPrice: number;
/**
*
*/
sourceInformation: string;
/**
*
*/
productSpecifications: string;
/**
* id
*/
supplierProductsId: string | number;
/**
*
*/
remarks: string;
/**
*
*/
image: string;
/**
*
*/
brand: string;
/**
*
*/
unit: string;
/**
*
*/
exTaxPrice: number;
/**
*
*/
taxrate: number;
productType: string;
}

90
src/api/zaojiaManagement/productManagement/costTable/index.ts

@ -0,0 +1,90 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { CostTableVO, CostTableForm, CostTableQuery, CostDetailViewVo } from './model';
/**
*
* @param data
* @returns
*/
export function addCostTable(data: CostTableForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/costTable/addCostTable', data });
}
/**
*
* @param data
* @returns
*/
export function modifyCostTable(data: CostTableForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/costTable/modifyCostTable', data });
}
/**
*
* @param params
* @returns
*/
export function costTableList(params?: CostTableQuery) {
return defHttp.get<CostTableVO[]>({ url: '/productManagement/costTable/list', params });
}
/**
*
* @param params
* @returns
*/
export function exportDataDetail(params?) {
return commonExport('/productManagement/costTable/exportData', params ?? {});
}
/**
*
* @param params
* @returns
*/
export function costTableExport(params?: CostTableQuery) {
return commonExport('/productManagement/costTable/export', params ?? {});
}
// /**
// * 查询造价编制信息详细
// * @param id id
// * @returns
// */
// export function costTableInfo(id: ID) {
// return defHttp.get<CostTableVO>({ url: '/productManagement/costTable/' + id });
// }
/**
*
* @param id id
* @returns
*/
export function costTableInfo(id: ID) {
return defHttp.get<CostDetailViewVo>({
url: '/productManagement/costTable/getCostTableDetail/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function costTableAdd(data: CostTableForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/costTable', data });
}
/**
*
* @param data
* @returns
*/
export function costTableUpdate(data: CostTableForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/costTable', data });
}
/**
*
* @param id id
* @returns
*/
export function costTableRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/costTable/' + id });
}

70
src/api/zaojiaManagement/productManagement/costTable/model.ts

@ -0,0 +1,70 @@
import { BaseEntity, PageQuery } from '@/api/base';
import { CostItemDetailVO } from '../costItemDetail/model';
export interface CostTableVO {
/**
*
*/
id: string | number;
/**
*
*/
projectName: string;
/**
*
*/
costDate: string;
/**
*
*/
totalInvestment: number;
}
export interface CostTableForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
projectName?: string;
/**
*
*/
costDate?: string;
/**
*
*/
totalInvestment?: number;
}
export interface CostTableQuery extends PageQuery {
/**
*
*/
projectName?: string;
/**
*
*/
costDate?: string;
/**
*
*/
totalInvestment?: number;
/**
*
*/
params?: any;
}
export interface CostDetailViewVo extends CostTableVO {
costItemDetailList?: CostItemDetailVO[];
}

87
src/api/zaojiaManagement/productManagement/personProductModel/index.ts

@ -0,0 +1,87 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { PersonProductModelVO, PersonProductModelForm, PersonProductModelQuery } from './model';
import { PersonProductModelDetailsVO } from './personProductModelDetails/model';
/**
* id查询个人产品模型详情
* @param id
* @returns
*/
export function personProductGetModelDetails(id: ID) {
return defHttp.get<PersonProductModelDetailsVO[]>({
url: '/productManagement/personProductModel/getModelDetails/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function addPersonProductModel(data: PersonProductModelForm) {
return defHttp.post<string>({ url: '/productManagement/personProductModel/addModel', data });
}
/**
*
* @param data
* @returns
*/
export function updatePersonProductModel(data: PersonProductModelForm) {
return defHttp.put<string>({ url: '/productManagement/personProductModel/editModel', data });
}
/**
*
* @param params
* @returns
*/
export function personProductModelList(params?: PersonProductModelQuery) {
return defHttp.get<PersonProductModelVO[]>({
url: '/productManagement/personProductModel/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function personProductModelExport(params?: PersonProductModelQuery) {
return commonExport('/productManagement/personProductModel/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function personProductModelInfo(id: ID) {
return defHttp.get<PersonProductModelVO>({ url: '/productManagement/personProductModel/' + id });
}
/**
*
* @param data
* @returns
*/
export function personProductModelAdd(data: PersonProductModelForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/personProductModel', data });
}
/**
*
* @param data
* @returns
*/
export function personProductModelUpdate(data: PersonProductModelForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/personProductModel', data });
}
/**
*
* @param id id
* @returns
*/
export function personProductModelRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/personProductModel/' + id });
}

67
src/api/zaojiaManagement/productManagement/personProductModel/model.ts

@ -0,0 +1,67 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface PersonProductModelVO {
/**
*
*/
id: string | number;
/**
*
*/
description: string;
/**
* id
*/
productModelTemplateId: string | number;
/**
*
*/
isTemporary: string;
}
export interface PersonProductModelForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
description?: string;
/**
* id
*/
productModelTemplateId?: string | number;
/**
*
*/
isTemporary?: string;
}
export interface PersonProductModelQuery extends PageQuery {
/**
*
*/
description?: string;
/**
* id
*/
productModelTemplateId?: string | number;
/**
*
*/
isTemporary?: string;
/**
*
*/
params?: any;
}

66
src/api/zaojiaManagement/productManagement/personProductModel/personProductModelDetails/index.ts

@ -0,0 +1,66 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import {
PersonProductModelDetailsVO,
PersonProductModelDetailsForm,
PersonProductModelDetailsQuery,
} from './model';
/**
*
* @param params
* @returns
*/
export function personProductModelDetailsList(params?: PersonProductModelDetailsQuery) {
return defHttp.get<PersonProductModelDetailsVO[]>({
url: '/productManagement/personProductModelDetails/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function personProductModelDetailsExport(params?: PersonProductModelDetailsQuery) {
return commonExport('/productManagement/personProductModelDetails/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function personProductModelDetailsInfo(id: ID) {
return defHttp.get<PersonProductModelDetailsVO>({
url: '/productManagement/personProductModelDetails/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function personProductModelDetailsAdd(data: PersonProductModelDetailsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/personProductModelDetails', data });
}
/**
*
* @param data
* @returns
*/
export function personProductModelDetailsUpdate(data: PersonProductModelDetailsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/personProductModelDetails', data });
}
/**
*
* @param id id
* @returns
*/
export function personProductModelDetailsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/personProductModelDetails/' + id });
}

97
src/api/zaojiaManagement/productManagement/personProductModel/personProductModelDetails/model.ts

@ -0,0 +1,97 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface PersonProductModelDetailsVO {
/**
*
*/
id: string | number;
/**
* id
*/
modelId: string | number;
/**
*
*/
paramName: string;
/**
*
*/
parameterValue: string;
/**
*
*/
isKeyParameter: string;
/**
*
*/
isTemporary: string;
}
export interface PersonProductModelDetailsForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
modelId?: string | number;
/**
*
*/
paramName?: string;
/**
*
*/
parameterValue?: string;
/**
*
*/
isKeyParameter?: string;
/**
*
*/
isTemporary?: string;
}
export interface PersonProductModelDetailsQuery extends PageQuery {
/**
* id
*/
modelId?: string | number;
/**
*
*/
paramName?: string;
/**
*
*/
parameterValue?: string;
/**
*
*/
isKeyParameter?: string;
/**
*
*/
isTemporary?: string;
/**
*
*/
params?: any;
}

87
src/api/zaojiaManagement/productManagement/personProducts/index.ts

@ -0,0 +1,87 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import {
PersonProductsVO,
PersonProductsForm,
PersonProductsQuery,
PersonProductsImportParam,
} from './model';
import { ContentTypeEnum } from '@/enums/httpEnum';
enum Api {
personProductsImport = '/productManagement/personProducts/personProductsImportData',
}
/**
* excel导入用户
* @param data
* @returns
*/
export function personProductsImport(data: PersonProductsImportParam) {
return defHttp.post(
{
url: Api.personProductsImport,
data,
headers: {
'Content-Type': ContentTypeEnum.FORM_DATA,
},
},
{
// 返回的msg包含<br> 用modal显示
successMessageMode: 'modal',
errorMessageMode: 'modal',
},
);
}
/**
*
* @param params
* @returns
*/
export function personProductsList(params?: PersonProductsQuery) {
return defHttp.get<PersonProductsVO[]>({ url: '/productManagement/personProducts/list', params });
}
/**
*
* @param params
* @returns
*/
export function personProductsExport(params?: PersonProductsQuery) {
return commonExport('/productManagement/personProducts/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function personProductsInfo(id: ID) {
return defHttp.get<PersonProductsVO>({ url: '/productManagement/personProducts/' + id });
}
/**
*
* @param data
* @returns
*/
export function personProductsAdd(data: PersonProductsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/personProducts', data });
}
/**
*
* @param data
* @returns
*/
export function personProductsUpdate(data: PersonProductsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/personProducts', data });
}
/**
*
* @param id id
* @returns
*/
export function personProductsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/personProducts/' + id });
}

226
src/api/zaojiaManagement/productManagement/personProducts/model.ts

@ -0,0 +1,226 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface PersonProductsImportParam {
updateSupport: boolean;
file: File | Blob;
}
export interface PersonProductsVO {
/**
*
*/
id: string | number;
/**
* id
*/
supplierInformationId: string | number;
/**
*
*/
productName: string;
/**
*
*/
productIdentity: string | number;
/**
*
*/
productPrice: number;
/**
*
*/
sourceInformation: string;
/**
*
*/
productSpecifications: string;
/**
* id
*/
supplierProductsId: string | number;
/**
*
*/
remarks: string;
/**
*
*/
image: string;
/**
*
*/
brand: string;
/**
*
*/
unit: string;
/**
*
*/
exTaxPrice: number;
/**
*
*/
taxrate: number;
}
export interface PersonProductsForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
supplierInformationId?: string | number;
/**
*
*/
productName?: string;
/**
*
*/
productIdentity?: string | number;
/**
*
*/
productPrice?: number;
/**
*
*/
sourceInformation?: string;
/**
*
*/
productSpecifications?: string;
/**
* id
*/
supplierProductsId?: string | number;
/**
*
*/
remarks?: string;
/**
*
*/
image?: string;
/**
*
*/
brand?: string;
/**
*
*/
unit?: string;
/**
*
*/
exTaxPrice?: number;
/**
*
*/
taxrate?: number;
/**
* id
*/
categoryId?: string | number;
/**
* id
*/
modelId?: string | number;
}
export interface PersonProductsQuery extends PageQuery {
/**
* id
*/
supplierInformationId?: string | number;
/**
*
*/
productName?: string;
/**
*
*/
productIdentity?: string | number;
/**
*
*/
productPrice?: number;
/**
*
*/
sourceInformation?: string;
/**
*
*/
productSpecifications?: string;
/**
* id
*/
supplierProductsId?: string | number;
/**
*
*/
remarks?: string;
/**
*
*/
brand?: string;
/**
*
*/
unit?: string;
/**
*
*/
exTaxPrice?: number;
/**
*
*/
taxrate?: number;
/**
*
*/
params?: any;
}

89
src/api/zaojiaManagement/productManagement/supplierProductModel/index.ts

@ -0,0 +1,89 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import {
SupplierProductModelVO,
SupplierProductModelForm,
SupplierProductModelQuery,
} from './model';
import { SupplierProductModelDetailsVO } from './supplierProductModelDetails/model';
export function supplierProductGetModelDetails(id: ID) {
return defHttp.get<SupplierProductModelDetailsVO[]>({
url: '/productManagement/supplierProductModel/getModelDetails/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function addSupplierProductModel(data: SupplierProductModelForm) {
return defHttp.post<string>({ url: '/productManagement/supplierProductModel/addModel', data });
}
/**
*
* @param data
* @returns
*/
export function updateSupplierProductModel(data: SupplierProductModelForm) {
return defHttp.put<string>({ url: '/productManagement/supplierProductModel/editModel', data });
}
/**
*
* @param params
* @returns
*/
export function supplierProductModelList(params?: SupplierProductModelQuery) {
return defHttp.get<SupplierProductModelVO[]>({
url: '/productManagement/supplierProductModel/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function supplierProductModelExport(params?: SupplierProductModelQuery) {
return commonExport('/productManagement/supplierProductModel/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function supplierProductModelInfo(id: ID) {
return defHttp.get<SupplierProductModelVO>({
url: '/productManagement/supplierProductModel/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function supplierProductModelAdd(data: SupplierProductModelForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/supplierProductModel', data });
}
/**
*
* @param data
* @returns
*/
export function supplierProductModelUpdate(data: SupplierProductModelForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/supplierProductModel', data });
}
/**
*
* @param id id
* @returns
*/
export function supplierProductModelRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/supplierProductModel/' + id });
}

67
src/api/zaojiaManagement/productManagement/supplierProductModel/model.ts

@ -0,0 +1,67 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface SupplierProductModelVO {
/**
*
*/
id: string | number;
/**
*
*/
description: string;
/**
* id
*/
productModelTemplateId: string | number;
/**
*
*/
isTemporary: string;
}
export interface SupplierProductModelForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
description?: string;
/**
* id
*/
productModelTemplateId?: string | number;
/**
*
*/
isTemporary?: string;
}
export interface SupplierProductModelQuery extends PageQuery {
/**
*
*/
description?: string;
/**
* id
*/
productModelTemplateId?: string | number;
/**
*
*/
isTemporary?: string;
/**
*
*/
params?: any;
}

68
src/api/zaojiaManagement/productManagement/supplierProductModel/supplierProductModelDetails/index.ts

@ -0,0 +1,68 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import {
SupplierProductModelDetailsVO,
SupplierProductModelDetailsForm,
SupplierProductModelDetailsQuery,
} from './model';
/**
*
* @param params
* @returns
*/
export function supplierProductModelDetailsList(params?: SupplierProductModelDetailsQuery) {
return defHttp.get<SupplierProductModelDetailsVO[]>({
url: '/productManagement/supplierProductModelDetails/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function supplierProductModelDetailsExport(params?: SupplierProductModelDetailsQuery) {
return commonExport('/productManagement/supplierProductModelDetails/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function supplierProductModelDetailsInfo(id: ID) {
return defHttp.get<SupplierProductModelDetailsVO>({
url: '/productManagement/supplierProductModelDetails/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function supplierProductModelDetailsAdd(data: SupplierProductModelDetailsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/supplierProductModelDetails', data });
}
/**
*
* @param data
* @returns
*/
export function supplierProductModelDetailsUpdate(data: SupplierProductModelDetailsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/supplierProductModelDetails', data });
}
/**
*
* @param id id
* @returns
*/
export function supplierProductModelDetailsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({
url: '/productManagement/supplierProductModelDetails/' + id,
});
}

97
src/api/zaojiaManagement/productManagement/supplierProductModel/supplierProductModelDetails/model.ts

@ -0,0 +1,97 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface SupplierProductModelDetailsVO {
/**
*
*/
id: string | number;
/**
* id
*/
modelId: string | number;
/**
*
*/
paramName: string;
/**
*
*/
parameterValue: string;
/**
*
*/
isKeyParameter: string;
/**
*
*/
isTemporary: string;
}
export interface SupplierProductModelDetailsForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
modelId?: string | number;
/**
*
*/
paramName?: string;
/**
*
*/
parameterValue?: string;
/**
*
*/
isKeyParameter?: string;
/**
*
*/
isTemporary?: string;
}
export interface SupplierProductModelDetailsQuery extends PageQuery {
/**
* id
*/
modelId?: string | number;
/**
*
*/
paramName?: string;
/**
*
*/
parameterValue?: string;
/**
*
*/
isKeyParameter?: string;
/**
*
*/
isTemporary?: string;
/**
*
*/
params?: any;
}

60
src/api/zaojiaManagement/productManagement/supplierProducts/index.ts

@ -0,0 +1,60 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { SupplierProductsVO, SupplierProductsForm, SupplierProductsQuery } from './model';
/**
*
* @param params
* @returns
*/
export function supplierProductsList(params?: SupplierProductsQuery) {
return defHttp.get<SupplierProductsVO[]>({
url: '/productManagement/supplierProducts/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function supplierProductsExport(params?: SupplierProductsQuery) {
return commonExport('/productManagement/supplierProducts/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function supplierProductsInfo(id: ID) {
return defHttp.get<SupplierProductsVO>({ url: '/productManagement/supplierProducts/' + id });
}
/**
*
* @param data
* @returns
*/
export function supplierProductsAdd(data: SupplierProductsForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/supplierProducts', data });
}
/**
*
* @param data
* @returns
*/
export function supplierProductsUpdate(data: SupplierProductsForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/supplierProducts', data });
}
/**
*
* @param id id
* @returns
*/
export function supplierProductsRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/supplierProducts/' + id });
}

222
src/api/zaojiaManagement/productManagement/supplierProducts/model.ts

@ -0,0 +1,222 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface SupplierProductsVO {
/**
* id
*/
supplierInformationId: string | number;
/**
*
*/
productSpecifications: string;
/**
*
*/
productName: string;
/**
*
*/
productIdentity: string | number;
/**
*
*/
productPrice: number;
/**
*
*/
sourceInformation: string;
/**
*
*/
remarks: string;
/**
*
*/
image: string;
/**
*
*/
brand: string;
/**
*
*/
unit: string;
/**
*
*/
exTaxPrice: number;
/**
*
*/
taxrate: number;
/**
* id
*/
categoryId: string | number;
/**
* id
*/
modelId: string | number;
}
export interface SupplierProductsForm extends BaseEntity {
/**
* id
*/
supplierInformationId?: string | number;
/**
*
*/
productSpecifications?: string;
/**
*
*/
productName?: string;
/**
*
*/
productIdentity?: string | number;
/**
*
*/
productPrice?: number;
/**
*
*/
sourceInformation?: string;
/**
*
*/
remarks?: string;
/**
*
*/
image?: string;
/**
*
*/
brand?: string;
/**
*
*/
unit?: string;
/**
*
*/
exTaxPrice?: number;
/**
*
*/
taxrate?: number;
/**
* id
*/
categoryId?: string | number;
/**
* id
*/
modelId?: string | number;
}
export interface SupplierProductsQuery extends PageQuery {
/**
* id
*/
supplierInformationId?: string | number;
/**
*
*/
productSpecifications?: string;
/**
*
*/
productName?: string;
/**
*
*/
productIdentity?: string | number;
/**
*
*/
productPrice?: number;
/**
*
*/
sourceInformation?: string;
/**
*
*/
remarks?: string;
/**
*
*/
image?: string;
/**
*
*/
brand?: string;
/**
*
*/
unit?: string;
/**
*
*/
exTaxPrice?: number;
/**
*
*/
taxrate?: number;
/**
* id
*/
categoryId?: string | number;
/**
* id
*/
modelId?: string | number;
/**
*
*/
params?: any;
}

62
src/api/zaojiaManagement/supplierManagement/index.ts

@ -0,0 +1,62 @@
import { defHttp } from '@/utils/http/axios';
import { ID, IDS, commonExport } from '@/api/base';
import { SupplierInformationVO, SupplierInformationForm, SupplierInformationQuery } from './model';
/**
*
* @param params
* @returns
*/
export function supplierInformationList(params?: SupplierInformationQuery) {
return defHttp.get<SupplierInformationVO[]>({
url: '/productManagement/supplierInformation/list',
params,
});
}
/**
*
* @param params
* @returns
*/
export function supplierInformationExport(params?: SupplierInformationQuery) {
return commonExport('/productManagement/supplierInformation/export', params ?? {});
}
/**
*
* @param id id
* @returns
*/
export function supplierInformationInfo(id: ID) {
return defHttp.get<SupplierInformationVO>({
url: '/productManagement/supplierInformation/' + id,
});
}
/**
*
* @param data
* @returns
*/
export function supplierInformationAdd(data: SupplierInformationForm) {
return defHttp.postWithMsg<void>({ url: '/productManagement/supplierInformation', data });
}
/**
*
* @param data
* @returns
*/
export function supplierInformationUpdate(data: SupplierInformationForm) {
return defHttp.putWithMsg<void>({ url: '/productManagement/supplierInformation', data });
}
/**
*
* @param id id
* @returns
*/
export function supplierInformationRemove(id: ID | IDS) {
return defHttp.deleteWithMsg<void>({ url: '/productManagement/supplierInformation/' + id });
}

97
src/api/zaojiaManagement/supplierManagement/model.ts

@ -0,0 +1,97 @@
import { BaseEntity, PageQuery } from '@/api/base';
export interface SupplierInformationVO {
/**
*
*/
id: string | number;
/**
*
*/
supplierName: string;
/**
*
*/
supplierContacts: string;
/**
*
*/
position: string;
/**
*
*/
supplierContactsPhone: string;
/**
*
*/
supplierType: string;
}
export interface SupplierInformationForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
supplierName?: string;
/**
*
*/
supplierContacts?: string;
/**
*
*/
position?: string;
/**
*
*/
supplierContactsPhone?: string;
/**
*
*/
supplierType?: string;
}
export interface SupplierInformationQuery extends PageQuery {
/**
*
*/
supplierName?: string;
/**
*
*/
supplierContacts?: string;
/**
*
*/
position?: string;
/**
*
*/
supplierContactsPhone?: string;
/**
*
*/
supplierType?: string;
/**
*
*/
params?: any;
}

BIN
src/assets/images/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 44 KiB

BIN
src/assets/images/logo1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
src/assets/images/logomini.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
src/assets/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
src/assets/svg/login-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

BIN
src/assets/svg/login-bg1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

BIN
src/assets/svg/login-box-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

2
src/components/Modal/src/BasicModal.vue

@ -1,5 +1,5 @@
<template>
<Modal v-bind="getBindValue" @cancel="handleCancel">
<Modal v-bind="getBindValue" @cancel="handleCancel" v-if="openRef">
<template #closeIcon v-if="!$slots.closeIcon">
<ModalClose
:canFullscreen="getProps.canFullscreen"

234
src/components/Upload/src/components/ImageUploadBefore.vue.bak

@ -0,0 +1,234 @@
<template>
<div>
<Upload
v-bind="$attrs"
v-model:file-list="fileList"
:list-type="listType"
:accept="getStringAccept"
:multiple="multiple"
:maxCount="maxNumber"
:before-upload="beforeUpload"
:custom-request="request"
:disabled="disabled"
@preview="handlePreview"
@remove="handleRemove"
>
<div v-if="fileList && fileList.length < maxNumber">
<plus-outlined />
<div style="margin-top: 8px">{{ t('component.upload.upload') }}</div>
</div>
</Upload>
<Modal :open="previewOpen" :title="previewTitle" :footer="null" @cancel="handleCancel">
<img alt="" style="width: 100%" :src="previewImage" />
</Modal>
</div>
</template>
<script lang="ts" setup>
import { ref, toRefs, watch } from 'vue';
import { PlusOutlined } from '@ant-design/icons-vue';
import type { UploadFile, UploadProps } from 'ant-design-vue';
import { Modal, Upload } from 'ant-design-vue';
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
import { useMessage } from '@/hooks/web/useMessage';
import { isArray, isFunction, isObject, isString } from '@/utils/is';
import { warn } from '@/utils/log';
import { useI18n } from '@/hooks/web/useI18n';
import { useUploadType } from '../hooks/useUpload';
import { uploadContainerProps } from '../props';
import { checkFileType } from '../helper';
import { UploadResultStatus } from '@/components/Upload/src/types/typing';
import { get, omit } from 'lodash-es';
defineOptions({ name: 'ImageUpload' });
const emit = defineEmits(['change', 'update:value', 'delete']);
const props = defineProps({
...omit(uploadContainerProps, ['previewColumns', 'beforePreviewData']),
});
const { t } = useI18n();
const { createMessage } = useMessage();
const { accept, helpText, maxNumber, maxSize } = toRefs(props);
const isInnerOperate = ref<boolean>(false);
const { getStringAccept } = useUploadType({
acceptRef: accept,
helpTextRef: helpText,
maxNumberRef: maxNumber,
maxSizeRef: maxSize,
});
const previewOpen = ref<boolean>(false);
const previewImage = ref<string>('');
const previewTitle = ref<string>('');
const fileList = ref<UploadProps['fileList']>([]);
const isLtMsg = ref<boolean>(true);
const isActMsg = ref<boolean>(true);
const isFirstRender = ref<boolean>(true);
let fileData = ref()
watch(
() => props.value,
(v) => {
if (isInnerOperate.value) {
isInnerOperate.value = false;
return;
}
let value: string[] = [];
if (v) {
if (isArray(v)) {
value = v;
} else {
value.push(v);
}
fileList.value = value.map((item, i) => {
if (item && isString(item)) {
return {
uid: -i + '',
name: item.substring(item.lastIndexOf('/') + 1),
status: 'done',
url: item,
};
} else if (item && isObject(item)) {
return item;
} else {
return;
}
}) as UploadProps['fileList'];
}
emit('update:value', value);
if (!isFirstRender.value) {
emit('change', value);
isFirstRender.value = false;
}
},
{
immediate: true,
deep: true,
},
);
function getBase64<T extends string | ArrayBuffer | null>(file: File) {
return new Promise<T>((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
resolve(reader.result as T);
};
reader.onerror = (error) => reject(error);
});
}
const handlePreview = async (file: UploadFile) => {
if (!file.url && !file.preview) {
file.preview = await getBase64<string>(file.originFileObj!);
}
previewImage.value = file.url || file.preview || '';
previewOpen.value = true;
previewTitle.value =
file.name || previewImage.value.substring(previewImage.value.lastIndexOf('/') + 1);
};
const handleRemove = async (file: UploadFile) => {
if (fileList.value) {
const index = fileList.value.findIndex((item) => item.uid === file.uid);
index !== -1 && fileList.value.splice(index, 1);
const value = getValue();
isInnerOperate.value = true;
emit('update:value', value);
emit('change', value);
emit('delete', file);
}
};
const handleCancel = () => {
previewOpen.value = false;
previewTitle.value = '';
};
const beforeUpload = (file: File) => {
const { maxSize, accept } = props;
const isAct = checkFileType(file, accept);
if (!isAct) {
createMessage.error(t('component.upload.acceptUpload', [accept]));
isActMsg.value = false;
//
setTimeout(() => (isActMsg.value = true), 1000);
}
const isLt = file.size / 1024 / 1024 > maxSize;
if (isLt) {
createMessage.error(t('component.upload.maxSizeMultiple', [maxSize]));
isLtMsg.value = false;
//
setTimeout(() => (isLtMsg.value = true), 1000);
}
return (isAct && !isLt) || Upload.LIST_IGNORE;
};
async function request(info: UploadRequestOption<any>) {
fileData.value=info
isInnerOperate.value = true;
const value = getValue();
let a= fileList.value
emit('update:value', a);
emit('change', value);
}
function submit(){
customRequest(fileData.value)
}
async function customRequest(info: UploadRequestOption<any>) {
const { api, uploadParams = {}, name, filename, resultField } = props;
if (!api || !isFunction(api)) {
return warn('upload api must exist and be a function');
}
try {
const res = await api?.({
data: {
...uploadParams,
},
file: info.file,
name: name,
filename: filename,
});
if (props.resultField) {
let result = get(res, resultField);
info.onSuccess!(result);
} else {
// resultField
info.onSuccess!(res);
}
const value = getValue();
isInnerOperate.value = true;
emit('update:value', value);
emit('change', value);
} catch (e: any) {
console.log(e);
info.onError!(e);
}
}
function getValue() {
const list = (fileList.value || [])
.filter((item) => item?.status === UploadResultStatus.DONE)
.map((item: any) => {
if (item?.response && props?.resultField) {
return item?.response;
}
//key url
return item?.url || item?.response?.url;
});
return list;
}
defineExpose({
submit
});
</script>
<style lang="less">
.ant-upload-select-picture-card i {
color: #999;
font-size: 32px;
}
.ant-upload-select-picture-card .ant-upload-text {
margin-top: 8px;
color: #666;
}
</style>

51
src/components/Upload/src/components/UploadModal.vue

@ -67,6 +67,8 @@
import FileList from './FileList.vue';
import { useI18n } from '@/hooks/web/useI18n';
import { get } from 'lodash-es';
import { Modal } from 'ant-design-vue';
import { createVNode } from 'vue';
const props = defineProps({
...basicProps,
@ -74,6 +76,10 @@
type: Array as PropType<string[] | any[]>,
default: () => [],
},
beforeUploadPrompt: {
type: String as PropType<string>,
default: null,
},
});
const emit = defineEmits(['change', 'register', 'delete']);
@ -124,9 +130,34 @@
});
//
function beforeUpload(file: File) {
async function beforeUpload(file: File) {
const { size, name } = file;
const { maxSize } = props;
const { maxSize, beforeUploadPrompt } = props;
if (beforeUploadPrompt) {
//
try {
await new Promise((resolve, reject) => {
Modal.confirm({
title: '提醒',
content: createVNode(
'div',
{ style: 'color:red;font-weight: bold;font-size: 22px' },
beforeUploadPrompt,
),
onOk() {
resolve(true);
},
onCancel() {
reject(false);
},
});
});
//
} catch (error) {
//
return false;
}
}
//
if (maxSize && file.size / 1024 / 1024 >= maxSize) {
createMessage.error(t('component.upload.maxSizeMultiple', [maxSize]));
@ -195,6 +226,7 @@
item.status = UploadResultStatus.SUCCESS;
// retcode msg datadata!!!
item.response = ret;
console.log('item', item, ret);
if (props.resultField) {
//
item.response = {
@ -203,6 +235,21 @@
url: get(ret, props.resultField),
};
}
console.log(ret.validFileCount);
console.log(ret.invalidFileCount);
console.log(ret.invalidFileNames);
await new Promise((resolve, reject) => {
Modal.confirm({
title: '提醒',
content: `符合文件格式要求的文件数量:${ret.validFileCount}\n不符合文件格式要求的文件数量:${ret.invalidFileCount}\n不符合要求的文件名称:${ret.invalidFileNames}`,
onOk() {
resolve(true);
},
onCancel() {
reject(false);
},
});
});
return {
success: true,
error: null,

5
src/components/Upload/src/props.ts

@ -8,6 +8,7 @@ import { propTypes } from '@/utils/propTypes';
import { BasicColumn } from '@/components/Table';
import { IconEnum } from '@/enums/appEnum';
import { uploadApi } from '@/api/upload';
import { s } from 'node_modules/vite/dist/node/types.d-aGj9QkWt';
type SortableOptions = Merge<
Omit<Options, 'onEnd'>,
@ -127,6 +128,10 @@ export const uploadContainerProps = {
type: Boolean as PropType<boolean>,
default: false,
},
beforeUploadPrompt:{
type:String as PropType<string>,
default:null,
},
...previewType,
};

2
src/enums/pageEnum.ts

@ -2,7 +2,7 @@ export enum PageEnum {
// basic login path
BASE_LOGIN = '/login',
// 默认/dashboard 在登录时会带上redirect 然后死循环 原因未知 暂时写死地址
BASE_HOME = '/dashboard',
BASE_HOME = '/contractReview/JyjcontractualTaskBatch',
// error page path
ERROR_PAGE = '/exception',
// error log page path

115
src/enums/taskEnum.ts

@ -0,0 +1,115 @@
// 任务类型枚举
export const TaskType = {
SCHEME_REVIEW: {
value: 'scheme_review',
label: '方案审核',
icon: 'mdi:file-document-check-outline',
color: '#2F54EB',
path:"/documentReview/DocumentTasks"
},
CONTRACT_REVIEW: {
value: 'contract_review',
label: '合同审核',
icon: 'fluent-mdl2:document-approval',
color: '#722ED1',
path:"/contractReview/ContractualTasks"
},
TENDER_REVIEW: {
value: 'tender_review',
label: '招投标审核',
icon: 'heroicons:clipboard-document-check-20-solid',
color: '#13C2C2',
path:"/tenderReview/TenderSummaryTask"
},
SCHEME_EVALUATION: { // 新增方案评价
value: 'scheme_evaluation',
label: '方案评价',
icon: 'mdi:file-document-edit-outline', // 使用文档编辑图标
color: '#FA8C16', // 使用橙色系
path:"/schemEvaluation/SchemeEvaluation"
},
PROJECT_DOCUMENT_REVIEW: { // 新增项目文档审核
value: 'project_document_review',
label: '项目文档审核',
icon: 'mdi:folder-text-outline', // 使用文件夹文档图标
color: '#1890FF', // 使用蓝色系
path:"/projectDocumentReview/ProjectDocumentReview"
}
} as const;
// 方案审核子任务
export const SchemeTask = {
DOCUMENT_SIMILARITY: {
value: 'checkRepeatText',
label: '文档相似性检查',
icon: 'arcticons:onlyoffice-documents',
color: '#1890FF'
},
DOCUMENT_ERROR: {
value: 'checkDocumentError',
label: '文档纠错',
icon: 'solar:document-medicine-bold-duotone',
color: '#F5222D'
},
PLACE_CHECK: {
value: 'checkPlaceName',
label: '地名检查',
icon: 'solar:map-point-search-bold-duotone',
color: '#52C41A'
},
COMPANY_CHECK: {
value: 'checkCompanyName',
label: '公司名称检查',
icon: 'mdi:company',
color: '#2F54EB'
},
TITLE_CHECK: {
value: 'checkTitleName',
label: '文档结构检查',
icon: 'mdi:file-tree-outline',
color: '#722ED1'
}
} as const;
// 合同审核子任务
export const ContractTask = {
CONTRACT_REVIEW: {
value: 'contractReview',
label: '合同审核',
icon: 'fluent-mdl2:document-approval',
color: '#722ED1'
}
} as const;
// 招标审核子任务
export const TenderTask = {
TENDER_SUMMARY: {
value: 'tenderSummary',
label: '招标摘要',
icon: 'mdi:text-box-outline',
color: '#2B7DE9'
}
} as const;
// 招标审核子任务
export const SchemeEvaluation = {
SCHEME_EVALUATION: {
value: 'schemEvaluation',
label: '方案评价',
icon: 'iconoir:doc-star',
color: '#13C2C2'
},
} as const;
/**
*
* @param obj
* @param key
* @returns any[]
*/
export const extractValues = <T extends Record<string, { [key: string]: any }>>(
obj: T,
key: string
): any[] => {
return Object.values(obj).map(item => item[key]);
};

4
src/layouts/default/header/components/user-dropdown/index.vue

@ -20,12 +20,12 @@
icon="ph:user-light"
v-if="!tenantChecked"
/>
<MenuItem
<!-- <MenuItem
key="doc"
:text="t('layout.header.dropdownItemDoc')"
icon="ion:document-text-outline"
v-if="getShowDoc"
/>
/> -->
<!-- <Menu.Divider v-if="getShowDoc" /> -->
<MenuItem
v-if="getShowApi"

4
src/layouts/default/header/index.vue

@ -43,12 +43,12 @@
<FullScreen v-if="getShowFullScreen" :class="`${prefixCls}-action__item fullscreen-item`" />
<AppLocalePicker
<!-- <AppLocalePicker
v-if="getShowLocalePicker"
:reload="true"
:showText="false"
:class="`${prefixCls}-action__item`"
/>
/> -->
<UserDropDown :theme="getHeaderTheme" />

8
src/layouts/default/sider/index.vue

@ -1,5 +1,6 @@
<template>
<Drawer
<div >
<Drawer
v-if="getIsMobile"
placement="left"
:class="prefixCls"
@ -12,6 +13,8 @@
</Drawer>
<MixSider v-else-if="getIsMixSidebar" />
<Sider v-else />
</div>
</template>
<script lang="ts" setup>
@ -23,10 +26,13 @@
import { useMenuSetting } from '@/hooks/setting/useMenuSetting';
import { useDesign } from '@/hooks/web/useDesign';
import { usePermission } from '/@/hooks/web/usePermission';
import { RoleEnum } from '/@/enums/roleEnum';
defineOptions({ name: 'SiderWrapper' });
const { prefixCls } = useDesign('layout-sider-wrapper');
const { getIsMobile } = useAppInject();
const { hasPermission } = usePermission();
const { setMenuSetting, getCollapsed, getMenuWidth, getIsMixSidebar } = useMenuSetting();
function handleClose() {

1
src/locales/setupI18n.ts

@ -14,6 +14,7 @@ async function createI18nOptions(): Promise<I18nOptions> {
const localeStore = useLocaleStoreWithOut();
const locale = localeStore.getLocale;
const defaultLocal = await import(`./lang/${locale}.ts`);
// const defaultLocal = await import(localeModuleMap[locale]);
const message = defaultLocal.default?.message ?? {};
setHtmlPageLang(locale);

10
src/settings/projectSetting.ts

@ -59,13 +59,13 @@ const setting: ProjectConfig = {
// Header configuration
headerSetting: {
// header bg color
bgColor: HEADER_PRESET_BG_COLOR_LIST[0],
bgColor: HEADER_PRESET_BG_COLOR_LIST[8],
// Fixed at the top
fixed: true,
// Whether to show top
show: true,
// theme
theme: ThemeEnum.LIGHT,
theme: ThemeEnum.DARK,
// Whether to enable the lock screen function
useLockPage: true,
// Whether to show the full screen button
@ -101,15 +101,15 @@ const setting: ProjectConfig = {
// Menu width
menuWidth: 210,
// Menu mode
mode: MenuModeEnum.INLINE,
mode: MenuModeEnum.HORIZONTAL,
// Menu type
type: MenuTypeEnum.SIDEBAR,
type: MenuTypeEnum.TOP_MENU,
// Menu theme
theme: ThemeEnum.DARK,
// Split menu
split: false,
// Top menu layout
topMenuAlign: 'center',
topMenuAlign: 'start',
// Fold trigger position
trigger: TriggerEnum.HEADER,
// Turn on accordion mode, only show a menu

5
src/store/modules/permission.ts

@ -257,9 +257,10 @@ export const usePermissionStore = defineStore({
// 后台路由到菜单结构
// 这里是本地路由 需要在这里添加 或者直接在route/routes/index里添加
const customRoutes = [dashboard, about];
// const customRoutes = [dashboard, about];
const customRoutes=[]
// 根据顺序排序 即 仪表盘 后台路由 关于
const backMenuList = transformRouteToMenu([dashboard, ...routeList, about]);
const backMenuList = transformRouteToMenu([...routeList]);
this.setBackMenuList(backMenuList);
// remove meta.ignoreRoute item

91
src/utils/encryption/crypto.ts

@ -1,8 +1,9 @@
import CryptoJS from 'crypto-js';
import {sm4} from 'sm-crypto'
function randomUUID() {
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
const uuid = new Array(36);
const uuid = new Array(32);
let rnd = 0;
let r: number;
for (let i = 0; i < 36; i++) {
@ -20,12 +21,68 @@ function randomUUID() {
return uuid.join('').replace(/-/gm, '').toLowerCase();
}
// /**
// * 随机生成aes 密钥
// * @returns
// */
// export function generateAesKey() {
// return CryptoJS.enc.Utf8.parse(randomUUID());
// }
// /**
// * base64编码
// * @param str
// * @returns
// */
// export function encryptBase64(str: CryptoJS.lib.WordArray) {
// return CryptoJS.enc.Base64.stringify(str);
// }
// /**
// * 使用公钥加密
// * @param message 加密内容
// * @param aesKey aesKey
// * @returns
// */
// export function encryptWithAes(message: string, aesKey: CryptoJS.lib.WordArray) {
// const encrypted = CryptoJS.AES.encrypt(message, aesKey, {
// mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7,
// });
// return encrypted.toString();
// }
// /**
// * 解密base64
// */
// export function decryptBase64(str: string) {
// return CryptoJS.enc.Base64.parse(str);
// }
// /**
// * 使用密钥对数据进行解密
// */
// export function decryptWithAes(message: string, aesKey: CryptoJS.lib.WordArray) {
// const decrypted = CryptoJS.AES.decrypt(message, aesKey, {
// mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7,
// });
// return decrypted.toString(CryptoJS.enc.Utf8);
// }
/**
* aes
* @returns
*/
export function generateAesKey() {
return CryptoJS.enc.Utf8.parse(randomUUID());
export function generateSM4Key() {
// return CryptoJS.enc.Utf8.parse(randomUUID());
//获取前16位作为密钥
return randomUUID();
}
/**
@ -33,7 +90,7 @@ export function generateAesKey() {
* @param str
* @returns
*/
export function encryptBase64(str: CryptoJS.lib.WordArray) {
export function encryptBase64(str) {
return CryptoJS.enc.Base64.stringify(str);
}
@ -43,12 +100,13 @@ export function encryptBase64(str: CryptoJS.lib.WordArray) {
* @param aesKey aesKey
* @returns
*/
export function encryptWithAes(message: string, aesKey: CryptoJS.lib.WordArray) {
const encrypted = CryptoJS.AES.encrypt(message, aesKey, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString();
export function encryptWithAes(message: string, aesKey) {
// const encrypted = CryptoJS.AES.encrypt(message, aesKey, {
// mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7,
// });
// return encrypted.toString();
return sm4.encrypt(message, aesKey)
}
/**
@ -61,10 +119,11 @@ export function decryptBase64(str: string) {
/**
* 使
*/
export function decryptWithAes(message: string, aesKey: CryptoJS.lib.WordArray) {
const decrypted = CryptoJS.AES.decrypt(message, aesKey, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
return decrypted.toString(CryptoJS.enc.Utf8);
export function decryptWithAes(message: string, aesKey) {
// const decrypted = CryptoJS.AES.decrypt(message, aesKey, {
// mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7,
// });
// return decrypted.toString(CryptoJS.enc.Utf8);
return sm4.decrypt(message, aesKey)
}

66
src/utils/encryption/jsencrypt.ts

@ -2,6 +2,7 @@ import JSEncrypt from 'jsencrypt';
// 密钥对生成 http://web.chacuo.net/netrsakeypair
import { useGlobSetting } from '@/hooks/setting';
import {sm2} from 'sm-crypto'
const globSetting = useGlobSetting();
const publicKey = globSetting.rsaPublicKey;
@ -9,24 +10,59 @@ const publicKey = globSetting.rsaPublicKey;
/** ??? 意义何在 */
const privateKey = globSetting.rsaPrivateKey;
// /**
// * RSA加密
// * @param txt 需要加密的数据
// * @returns
// */
// export function encrypt(txt: string) {
// const instance = new JSEncrypt();
// instance.setPublicKey(publicKey);
// return instance.encrypt(txt);
// }
// /**
// * RSA解密
// * @param txt 需要解密的数据
// * @returns
// */
// export function decrypt(txt: string) {
// const instance = new JSEncrypt();
// instance.setPrivateKey(privateKey);
// return instance.decrypt(txt);
// }
/**
*
* @param txt
* @returns
* SM2公钥加密
* @param message
* @param publicKey (04)
* @returns
*/
export function encrypt(txt: string) {
const instance = new JSEncrypt();
instance.setPublicKey(publicKey);
return instance.encrypt(txt);
export function encrypt(message: string) {
try {
const cipherData = sm2.doEncrypt(message, publicKey,1);
return cipherData;
} catch (error) {
throw new Error('SM2加密失败: ' + error.message);
}
}
/**
*
* @param txt
* @returns
* SM2私钥解密
* @param ciphertext
* @param privateKey
* @returns
*/
export function decrypt(txt: string) {
const instance = new JSEncrypt();
instance.setPrivateKey(privateKey);
return instance.decrypt(txt);
}
export function decrypt(ciphertext: string) {
try {
//去掉密文的开头的04
const ciphertextHex = ciphertext.slice(2);
const decrypted = sm2.doDecrypt(ciphertextHex, privateKey,1);
return decrypted;
} catch (error) {
throw new Error('SM2解密失败: ' + error.message);
}
}

14
src/utils/http/axios/index.ts

@ -20,7 +20,7 @@ import { useUserStoreWithOut } from '@/store/modules/user';
import { AxiosRetry } from '@/utils/http/axios/axiosRetry';
import axios from 'axios';
import {
generateAesKey,
generateSM4Key,
encryptBase64,
encryptWithAes,
decryptBase64,
@ -29,6 +29,7 @@ import {
import * as encryptUtil from '@/utils/encryption/jsencrypt';
import { axiosCanceler } from './axiosCancel';
import { useLocaleStoreWithOut } from '@/store/modules/locale';
import CryptoJS from 'crypto-js';
const globSetting = useGlobSetting();
const localeStore = useLocaleStoreWithOut();
@ -50,8 +51,10 @@ const transform: AxiosTransform = {
const base64Str = encryptUtil.decrypt(encryptKey);
/** base64 解码 得到请求头的 AES 秘钥 */
const aesSecret = decryptBase64(base64Str.toString());
// aesSecret此时为数组,需要变成字符串
const asciiStr=CryptoJS.enc.Utf8.stringify(aesSecret)
/** 使用aesKey解密 responseData */
const decryptData = decryptWithAes(res.data as unknown as string, aesSecret);
const decryptData = decryptWithAes(res.data as unknown as string, asciiStr);
/** 赋值 需要转为对象 */
res.data = JSON.parse(decryptData);
}
@ -206,8 +209,11 @@ const transform: AxiosTransform = {
encrypt &&
['POST', 'PUT'].includes(config.method?.toUpperCase() || '')
) {
const aesKey = generateAesKey();
config.headers['encrypt-key'] = encryptUtil.encrypt(encryptBase64(aesKey));
const aesKey = generateSM4Key();
// askey此时为字符串需要变成数组,去base64编码。与后端对应
const asciiStr=CryptoJS.enc.Utf8.parse(aesKey)
// config.headers['encrypt-key'] = encryptUtil.encrypt(encryptBase64(aesKey));
config.headers['encrypt-key'] = encryptUtil.encrypt(encryptBase64(asciiStr));
if (typeof config.data === 'object') {
config.data = encryptWithAes(JSON.stringify(config.data), aesKey);

1
src/views/CanvasEditor/assets/images/alignment.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M2 13h12v1H2v-1zm0-3h12v1H2v-1zm0-3h12v1H2V7zm0-6h12v1H2V1zm0 3h12v1H2V4z" fill="#3D4757" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 209 B

1
src/views/CanvasEditor/assets/images/arrow-left.svg

@ -0,0 +1 @@
<svg width="4" height="7" xmlns="http://www.w3.org/2000/svg"><path fill="#6F6F6F" d="M0 3.5L4 0v7z" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 127 B

1
src/views/CanvasEditor/assets/images/arrow-right.svg

@ -0,0 +1 @@
<svg width="4" height="7" xmlns="http://www.w3.org/2000/svg"><path fill="#6F6F6F" d="M4 3.5L0 0v7z" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 127 B

1
src/views/CanvasEditor/assets/images/block.svg

@ -0,0 +1 @@
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757"><path d="M8.923 11v1h-2A2 2 0 015 10.55c.328-.15.638-.335.923-.55a1 1 0 001 1h2zm0-6h-2a1 1 0 00-1 1A4.997 4.997 0 005 5.45 2 2 0 016.923 4h2v1z"/><path d="M4 10a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 110-6 3 3 0 010 6zm6-9a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1V3a1 1 0 00-1-1h-3zm0-1h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V3a2 2 0 012-2zm0 10a1 1 0 00-1 1v1a1 1 0 001 1h3a1 1 0 001-1v-1a1 1 0 00-1-1h-3zm0-1h3a2 2 0 012 2v1a2 2 0 01-2 2h-3a2 2 0 01-2-2v-1a2 2 0 012-2z"/></g></svg>

After

Width:  |  Height:  |  Size: 568 B

1
src/views/CanvasEditor/assets/images/bold.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8.131 6.9c2.035 0 2.569-.9 2.569-1.869 0-.968-.64-1.831-2.623-1.831H5.2v3.7h2.931zm.524 5.9c2.045 0 2.545-1.305 2.545-2.3 0-.985-.506-2.4-2.81-2.4H5.2v4.7h3.455zM4 2h4.71c2.367 0 3.19 1.583 3.19 3s-.325 1.852-1.1 2.5c1.2.5 1.569 1.379 1.6 3 .03 1.606-.586 3.5-3.769 3.5H4V2z" fill="#3D4757" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 411 B

1
src/views/CanvasEditor/assets/images/catalog.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757"><path d="M13 0c.552 0 1 .48 1 1.071V13.93c0 .59-.448 1.07-1 1.07H3c-.552 0-1-.48-1-1.071V1.07C2 .48 2.448 0 3 0h10zm0 1H3v13h10V1z"/><path d="M5 10v1H4v-1h1zm6 0v1H6v-1h5zM5 7v1H4V7h1zm6 0v1H6V7h5zM5 4v1H4V4h1zm6 0v1H6V4h5z"/></g></svg>

After

Width:  |  Height:  |  Size: 337 B

1
src/views/CanvasEditor/assets/images/center.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M2 13h12v1H2v-1zm2-3h8v1H4v-1zM2 7h12v1H2V7zm0-6h12v1H2V1zm2 3h8v1H4V4z" fill="#3D4757" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 207 B

1
src/views/CanvasEditor/assets/images/checkbox.svg

@ -0,0 +1 @@
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 16 16" xml:space="preserve"><style>.st0{fill:#3d4757}</style><g id="_x30_1-文字_x2F_01开始_x2F_任务列表-16px"><path id="合并形状" class="st0" d="M10.1 2H2v11h11V8.7l1-1V13c0 .6-.4 1-1 1H2c-.6 0-1-.4-1-1V2c0-.6.4-1 1-1h9.1l-1 1z"/><path id="路径" class="st0" d="M7.7 8.5l5.7-5.8.9.8-6.1 5.9-.5.5-3.9-3.4.8-.7z"/></g></svg>

After

Width:  |  Height:  |  Size: 428 B

1
src/views/CanvasEditor/assets/images/close.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8.9 8.192l4.242 4.243-.707.707L8.192 8.9 3.95 13.142l-.707-.707 4.242-4.243L3.243 3.95l.707-.707 4.242 4.242 4.243-4.242.707.707L8.9 8.192z" fill="#6A6A6A" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 276 B

1
src/views/CanvasEditor/assets/images/codeblock.svg

@ -0,0 +1 @@
<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path stroke="#525C6F" stroke-linejoin="round" d="M4 4.5L1.5 7 4 9.5M10 4.5L12.5 7 10 9.5"></path><rect fill="#525C6F" transform="scale(1 -1) rotate(70 16.711 0)" x="2.671" y="6.53" width="8" height="1" rx=".2"></rect></g></svg>

After

Width:  |  Height:  |  Size: 326 B

1
src/views/CanvasEditor/assets/images/color.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M7.997 3.429L6.398 8h3.2L7.997 3.429zM8.497 2L12 12h-1L9.949 9h-3.9L5 12H4L7.496 2h1z" fill="#3D4757" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 221 B

1
src/views/CanvasEditor/assets/images/control.svg

@ -0,0 +1 @@
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M9.793 1.5H3a.5.5 0 00-.5.5v12a.5.5 0 00.5.5h9a.5.5 0 00.5-.5V4.207L9.793 1.5z" stroke="#3D4757"/><g fill="#3D4757"><path d="M7 7h1v5H7z"/><path d="M5 7h5v1H5z"/></g><path fill="#3D4757" fill-rule="nonzero" d="M9 2h1v3H9z"/><path fill="#3D4757" fill-rule="nonzero" d="M9 4h3v1H9z"/></g></svg>

After

Width:  |  Height:  |  Size: 399 B

1
src/views/CanvasEditor/assets/images/date.svg

@ -0,0 +1 @@
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M7.5 14.154a5.654 5.654 0 100-11.308 5.654 5.654 0 000 11.308zm0 .846a6.5 6.5 0 110-13 6.5 6.5 0 010 13z" fill-rule="nonzero"/><path d="M8 8h4v1H7V4h1v4z"/></g></svg>

After

Width:  |  Height:  |  Size: 276 B

1
src/views/CanvasEditor/assets/images/exit-fullscreen.svg

@ -0,0 +1 @@
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M9 9h1v4H9z"/><path d="M9 9h4v1H9zM7 7H6V3h1z"/><path d="M7 7H3V6h4z"/></g></svg>

After

Width:  |  Height:  |  Size: 191 B

1
src/views/CanvasEditor/assets/images/format.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M8.213 13H6.8l6.636-6.636-4.243-4.243-7.07 7.071L5.928 13H4.515L1.06 9.546a.5.5 0 010-.707L8.839 1.06a.5.5 0 01.707 0l4.95 4.95a.5.5 0 010 .707L8.213 13z" fill-rule="nonzero"/><path d="M4.536 6.364l4.95 4.95-.707.707-4.95-4.95zM4.521 13h10.03v1H5.496z"/></g></svg>

After

Width:  |  Height:  |  Size: 394 B

1
src/views/CanvasEditor/assets/images/highlight.svg

@ -0,0 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#3D4757" fill-rule="evenodd"><path d="M13.31 5h-1.92a2.203 2.203 0 00-.39-.034c-.135 0-.27.012-.402.034H10v.18c-.578.256-1 .714-1 1.214v1.928c0 .196.117.43.3.658v1.23a3.543 3.543 0 01-.3-.4V11H8V1h1v4.265C9 4.763 10 4 10.942 4c1.19 0 1.92.422 2.367 1zM2 6c-.03-.498-.175-2 2.5-2C7.11 4 7 5 7 6.902V11H5.984v-.993c.38.662-.115.993-1.484.993C2.708 11 2 9.931 2 9c0-1.428.447-2 2.5-2h1.484c0-1 .031-2-1.484-2-1.533 0-1.577.485-1.577 1H2zm2.5 2C3.601 8 3 7.768 3 9c0 1.31.438 1 1.5 1 .617 0 1.484-.665 1.484-1.847V8H4.5z"/><path d="M13.085 6.316l-2.814 3a1 1 0 101.458 1.368l2.815-3a1 1 0 00-1.459-1.368z" fill-rule="nonzero"/></g></svg>

After

Width:  |  Height:  |  Size: 725 B

1
src/views/CanvasEditor/assets/images/hyperlink.svg

@ -0,0 +1 @@
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><g transform="rotate(45 5.5 13.328)" fill="#3D4757" fill-rule="evenodd"><path d="M7 6H6V3.515a2.5 2.5 0 10-5 0V6H0V3.515a3.5 3.5 0 117 0V6zm0 4v2.5a3.5 3.5 0 01-7 0V10h1v2.5a2.5 2.5 0 105 0V10h1z" fill-rule="nonzero"/><rect x="3.062" y="5.209" width="1" height="5.5" rx=".5"/></g></svg>

After

Width:  |  Height:  |  Size: 349 B

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save