Compare commits

...

20 Commits

Author SHA1 Message Date
Panwei
66411b4d6a 多余数据删除 2024-12-12 14:41:20 +08:00
Panwei
c649d32668 施工图单页面添加 2024-12-12 14:38:59 +08:00
路 范
c4fb63f03f Merge remote-tracking branch 'origin/master' 2024-12-11 16:51:07 +08:00
3b93161902 feat(views): 添加宁波图纸页面组件
- 新增 NingboDp Index.vue 文件,创建基本模板结构
- 新增 NingboDp.vue 文件,作为路由视图组件
2024-12-11 16:50:52 +08:00
Nikolas
728d31d10f update:添加企业数字证书延期按钮 2022-06-15 11:38:05 +08:00
d2509783a0 update:readme 2022-03-02 15:20:55 +08:00
26c6328512 fix:发送短信错误 2022-03-02 14:59:11 +08:00
25b7dded91 update:修复 2022-02-11 14:59:54 +08:00
588836efd0 update:useForm 2022-02-11 09:20:57 +08:00
5255ae5d97 update:修改router为histroymode 2022-01-19 09:28:15 +08:00
f61688ef8e update:企业法人电子印章申请改为必填项 2022-01-11 10:10:08 +08:00
90b06fb4cd update:更新描述 2021-12-31 15:00:18 +08:00
39a40d26e9 update:修复问题 2021-12-29 14:06:30 +08:00
d6def166a7 update:添加申领证书按钮 2021-12-29 10:37:39 +08:00
b727b76645 update:更新样式 2021-11-30 17:20:41 +08:00
acc041e1be update:修改添加上传申请界面 2021-11-11 15:58:53 +08:00
ea637f1c8b 更新依赖 2021-11-11 10:20:44 +08:00
79d4ad72c1 update:更新提示 2021-11-11 10:19:07 +08:00
6c76462552 update 更新依赖 2021-11-11 09:44:17 +08:00
3309f02d6a update:修改文字描述 2021-11-11 09:39:11 +08:00
15 changed files with 721 additions and 632 deletions

View File

@@ -10,6 +10,7 @@ module.exports = {
rules: { rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off", "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-unused-vars": "warn",
"vue/no-parsing-error": [2, { "x-invalid-end-tag": false }] "vue/no-parsing-error": [2, { "x-invalid-end-tag": false }]
} }
}; };

View File

@@ -1,24 +1,32 @@
# sgt_ca_app # 施工图单页应用前端代码
- 基于vue3 vue-router antdv
- 约定式路由:
`views/xxx.vue`文件对应路由`/xxx/`
`views/xxx/index.vue`对应子路由`/xxx/`默认状态
`views/xxx/yyy.vue`对应子路由`/xxx/yyy`
- 路由采用client history模式
## Project setup - 主要界面功能
个人和企业数字证书申领,电子印章申领,数字证书审核,审图人员申请临时短信锁,数字证书数量证明上传。
临时人员添加,
## 项目初始化
``` ```
npm install npm install
``` ```
### Compiles and hot-reloads for development ### 开发项目
``` ```
npm run serve npm run serve
``` ```
### Compiles and minifies for production ### 发布打包项目
``` ```
npm run build npm run build
``` ```
将项目文件放置到施工图项目/spa目录下
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

498
package-lock.json generated
View File

@@ -7,8 +7,10 @@
"": { "": {
"version": "0.1.0", "version": "0.1.0",
"dependencies": { "dependencies": {
"@ant-design-vue/use": "*",
"ant-design-vue": "^2.1.2", "ant-design-vue": "^2.1.2",
"axios": "^0.21.1", "axios": "^0.21.1",
"chokidar": "^3.5.2",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"vue": "^3.0.11", "vue": "^3.0.11",
"vue-router": "^4.0.6" "vue-router": "^4.0.6"
@@ -2583,11 +2585,9 @@
"dev": true "dev": true
}, },
"node_modules/anymatch": { "node_modules/anymatch": {
"version": "3.1.1", "version": "3.1.2",
"resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
"integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picomatch": "^2.0.4" "picomatch": "^2.0.4"
@@ -3023,22 +3023,10 @@
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299373298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299373298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz",
"integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=",
"dev": true,
"optional": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/bindings": {
"version": "1.5.0",
"resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz",
"integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=",
"dev": true,
"optional": true,
"dependencies": {
"file-uri-to-path": "1.0.0"
}
},
"node_modules/bluebird": { "node_modules/bluebird": {
"version": "3.7.2", "version": "3.7.2",
"resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz",
@@ -3474,10 +3462,14 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001177", "version": "1.0.30001300",
"resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001177.tgz?cache=0&sync_timestamp=1610604244835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001177.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz",
"integrity": "sha1-LDs4STOq/aA+KczKe7PYwzieHs4=", "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==",
"dev": true "dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
}
}, },
"node_modules/case-sensitive-paths-webpack-plugin": { "node_modules/case-sensitive-paths-webpack-plugin": {
"version": "2.3.0", "version": "2.3.0",
@@ -3521,31 +3513,29 @@
"dev": true "dev": true
}, },
"node_modules/chokidar": { "node_modules/chokidar": {
"version": "3.5.0", "version": "3.5.2",
"resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.0.tgz?cache=0&sync_timestamp=1609920494426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.0.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
"integrity": "sha1-RYpIFqQV6dOzyqT67CuWppNanmU=", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"anymatch": "~3.1.1", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.3.1", "glob-parent": "~5.1.2",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
"normalize-path": "~3.0.0", "normalize-path": "~3.0.0",
"readdirp": "~3.5.0" "readdirp": "~3.6.0"
}, },
"engines": { "engines": {
"node": ">= 8.10.0" "node": ">= 8.10.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
} }
}, },
"node_modules/chokidar/node_modules/braces": { "node_modules/chokidar/node_modules/braces": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
"integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"fill-range": "^7.0.1" "fill-range": "^7.0.1"
}, },
@@ -3557,8 +3547,6 @@
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
"integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
}, },
@@ -3570,8 +3558,6 @@
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
"integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
"dev": true,
"optional": true,
"engines": { "engines": {
"node": ">=0.12.0" "node": ">=0.12.0"
} }
@@ -3580,8 +3566,6 @@
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
"integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"is-number": "^7.0.0" "is-number": "^7.0.0"
}, },
@@ -6476,13 +6460,6 @@
"node": ">= 8.9.0" "node": ">= 8.9.0"
} }
}, },
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz",
"integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
"dev": true,
"optional": true
},
"node_modules/filesize": { "node_modules/filesize": {
"version": "3.6.1", "version": "3.6.1",
"resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz", "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
@@ -6745,19 +6722,6 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true "dev": true
}, },
"node_modules/fsevents": {
"version": "2.3.1",
"resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.1.tgz",
"integrity": "sha1-sgmrFMYQEmNsiGNQft9/tozFTp8=",
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": { "node_modules/function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
@@ -6871,10 +6835,9 @@
} }
}, },
"node_modules/glob-parent": { "node_modules/glob-parent": {
"version": "5.1.1", "version": "5.1.2",
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": { "dependencies": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
}, },
@@ -7879,8 +7842,6 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
"integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"binary-extensions": "^2.0.0" "binary-extensions": "^2.0.0"
}, },
@@ -8028,7 +7989,6 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@@ -8046,7 +8006,6 @@
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
"integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
"dev": true,
"dependencies": { "dependencies": {
"is-extglob": "^2.1.1" "is-extglob": "^2.1.1"
}, },
@@ -9905,13 +9864,6 @@
"thenify-all": "^1.0.0" "thenify-all": "^1.0.0"
} }
}, },
"node_modules/nan": {
"version": "2.14.2",
"resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591607196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz",
"integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=",
"dev": true,
"optional": true
},
"node_modules/nanomatch": { "node_modules/nanomatch": {
"version": "1.2.13", "version": "1.2.13",
"resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
@@ -10064,7 +10016,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
"integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
"dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@@ -10724,7 +10675,6 @@
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
"dev": true,
"engines": { "engines": {
"node": ">=8.6" "node": ">=8.6"
} }
@@ -11801,11 +11751,9 @@
} }
}, },
"node_modules/readdirp": { "node_modules/readdirp": {
"version": "3.5.0", "version": "3.6.0",
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
}, },
@@ -12942,11 +12890,6 @@
"safer-buffer": "^2.0.2", "safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0" "tweetnacl": "~0.14.0"
}, },
"bin": {
"sshpk-conv": "bin/sshpk-conv",
"sshpk-sign": "bin/sshpk-sign",
"sshpk-verify": "bin/sshpk-verify"
},
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@@ -14428,141 +14371,6 @@
"watchpack-chokidar2": "^2.0.1" "watchpack-chokidar2": "^2.0.1"
} }
}, },
"node_modules/watchpack-chokidar2": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz",
"integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=",
"dev": true,
"optional": true,
"dependencies": {
"chokidar": "^2.1.8"
}
},
"node_modules/watchpack-chokidar2/node_modules/anymatch": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
"integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
"dev": true,
"optional": true,
"dependencies": {
"micromatch": "^3.1.4",
"normalize-path": "^2.1.1"
}
},
"node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
"optional": true,
"dependencies": {
"remove-trailing-separator": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
"version": "1.13.1",
"resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299373298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz",
"integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
"dev": true,
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/watchpack-chokidar2/node_modules/chokidar": {
"version": "2.1.8",
"resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1609920494426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
"integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
"dev": true,
"optional": true,
"dependencies": {
"anymatch": "^2.0.0",
"async-each": "^1.0.1",
"braces": "^2.3.2",
"fsevents": "^1.2.7",
"glob-parent": "^3.1.0",
"inherits": "^2.0.3",
"is-binary-path": "^1.0.0",
"is-glob": "^4.0.0",
"normalize-path": "^3.0.0",
"path-is-absolute": "^1.0.0",
"readdirp": "^2.2.1",
"upath": "^1.1.1"
}
},
"node_modules/watchpack-chokidar2/node_modules/fsevents": {
"version": "1.2.13",
"resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz",
"integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"dependencies": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
},
"engines": {
"node": ">= 4.0"
}
},
"node_modules/watchpack-chokidar2/node_modules/glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"optional": true,
"dependencies": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
}
},
"node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"optional": true,
"dependencies": {
"is-extglob": "^2.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
"optional": true,
"dependencies": {
"binary-extensions": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/watchpack-chokidar2/node_modules/readdirp": {
"version": "2.2.1",
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz",
"integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
"dev": true,
"optional": true,
"dependencies": {
"graceful-fs": "^4.1.11",
"micromatch": "^3.1.10",
"readable-stream": "^2.0.2"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/wbuf": { "node_modules/wbuf": {
"version": "1.7.3", "version": "1.7.3",
"resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz",
@@ -14854,24 +14662,6 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/webpack-dev-server/node_modules/fsevents": {
"version": "1.2.13",
"resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz",
"integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"dependencies": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
},
"engines": {
"node": ">= 4.0"
}
},
"node_modules/webpack-dev-server/node_modules/glob-parent": { "node_modules/webpack-dev-server/node_modules/glob-parent": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
@@ -17878,11 +17668,9 @@
"dev": true "dev": true
}, },
"anymatch": { "anymatch": {
"version": "3.1.1", "version": "3.1.2",
"resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
"integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
"optional": true,
"requires": { "requires": {
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
"picomatch": "^2.0.4" "picomatch": "^2.0.4"
@@ -18254,19 +18042,7 @@
"binary-extensions": { "binary-extensions": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299373298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299373298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz",
"integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0="
"dev": true,
"optional": true
},
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz",
"integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=",
"dev": true,
"optional": true,
"requires": {
"file-uri-to-path": "1.0.0"
}
}, },
"bluebird": { "bluebird": {
"version": "3.7.2", "version": "3.7.2",
@@ -18669,9 +18445,9 @@
} }
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001177", "version": "1.0.30001300",
"resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001177.tgz?cache=0&sync_timestamp=1610604244835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001177.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz",
"integrity": "sha1-LDs4STOq/aA+KczKe7PYwzieHs4=", "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==",
"dev": true "dev": true
}, },
"case-sensitive-paths-webpack-plugin": { "case-sensitive-paths-webpack-plugin": {
@@ -18710,28 +18486,24 @@
"dev": true "dev": true
}, },
"chokidar": { "chokidar": {
"version": "3.5.0", "version": "3.5.2",
"resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.0.tgz?cache=0&sync_timestamp=1609920494426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.0.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
"integrity": "sha1-RYpIFqQV6dOzyqT67CuWppNanmU=", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
"dev": true,
"optional": true,
"requires": { "requires": {
"anymatch": "~3.1.1", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.3.1", "fsevents": "~2.3.2",
"glob-parent": "~5.1.0", "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
"normalize-path": "~3.0.0", "normalize-path": "~3.0.0",
"readdirp": "~3.5.0" "readdirp": "~3.6.0"
}, },
"dependencies": { "dependencies": {
"braces": { "braces": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
"integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
"dev": true,
"optional": true,
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.0.1"
} }
@@ -18740,8 +18512,6 @@
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
"integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
"dev": true,
"optional": true,
"requires": { "requires": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
} }
@@ -18749,16 +18519,12 @@
"is-number": { "is-number": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
"integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss="
"dev": true,
"optional": true
}, },
"to-regex-range": { "to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
"integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
"dev": true,
"optional": true,
"requires": { "requires": {
"is-number": "^7.0.0" "is-number": "^7.0.0"
} }
@@ -21173,13 +20939,6 @@
"schema-utils": "^2.5.0" "schema-utils": "^2.5.0"
} }
}, },
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz",
"integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
"dev": true,
"optional": true
},
"filesize": { "filesize": {
"version": "3.6.1", "version": "3.6.1",
"resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz", "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
@@ -21397,13 +21156,6 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true "dev": true
}, },
"fsevents": {
"version": "2.3.1",
"resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.1.tgz",
"integrity": "sha1-sgmrFMYQEmNsiGNQft9/tozFTp8=",
"dev": true,
"optional": true
},
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
@@ -21499,10 +21251,9 @@
} }
}, },
"glob-parent": { "glob-parent": {
"version": "5.1.1", "version": "5.1.2",
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": { "requires": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
} }
@@ -22327,8 +22078,6 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
"integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
"dev": true,
"optional": true,
"requires": { "requires": {
"binary-extensions": "^2.0.0" "binary-extensions": "^2.0.0"
} }
@@ -22443,8 +22192,7 @@
"is-extglob": { "is-extglob": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
"dev": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "3.0.0", "version": "3.0.0",
@@ -22456,7 +22204,6 @@
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
"integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
"dev": true,
"requires": { "requires": {
"is-extglob": "^2.1.1" "is-extglob": "^2.1.1"
} }
@@ -23951,13 +23698,6 @@
"thenify-all": "^1.0.0" "thenify-all": "^1.0.0"
} }
}, },
"nan": {
"version": "2.14.2",
"resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591607196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz",
"integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=",
"dev": true,
"optional": true
},
"nanomatch": { "nanomatch": {
"version": "1.2.13", "version": "1.2.13",
"resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
@@ -24099,8 +23839,7 @@
"normalize-path": { "normalize-path": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
"integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU="
"dev": true
}, },
"normalize-range": { "normalize-range": {
"version": "0.1.2", "version": "0.1.2",
@@ -24634,8 +24373,7 @@
"picomatch": { "picomatch": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0="
"dev": true
}, },
"pify": { "pify": {
"version": "4.0.1", "version": "4.0.1",
@@ -25570,11 +25308,9 @@
} }
}, },
"readdirp": { "readdirp": {
"version": "3.5.0", "version": "3.6.0",
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"optional": true,
"requires": { "requires": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
} }
@@ -27822,125 +27558,6 @@
"watchpack-chokidar2": "^2.0.1" "watchpack-chokidar2": "^2.0.1"
} }
}, },
"watchpack-chokidar2": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz",
"integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=",
"dev": true,
"optional": true,
"requires": {
"chokidar": "^2.1.8"
},
"dependencies": {
"anymatch": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
"integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
"dev": true,
"optional": true,
"requires": {
"micromatch": "^3.1.4",
"normalize-path": "^2.1.1"
},
"dependencies": {
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
"optional": true,
"requires": {
"remove-trailing-separator": "^1.0.1"
}
}
}
},
"binary-extensions": {
"version": "1.13.1",
"resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299373298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz",
"integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
"dev": true,
"optional": true
},
"chokidar": {
"version": "2.1.8",
"resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1609920494426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
"integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
"dev": true,
"optional": true,
"requires": {
"anymatch": "^2.0.0",
"async-each": "^1.0.1",
"braces": "^2.3.2",
"fsevents": "^1.2.7",
"glob-parent": "^3.1.0",
"inherits": "^2.0.3",
"is-binary-path": "^1.0.0",
"is-glob": "^4.0.0",
"normalize-path": "^3.0.0",
"path-is-absolute": "^1.0.0",
"readdirp": "^2.2.1",
"upath": "^1.1.1"
}
},
"fsevents": {
"version": "1.2.13",
"resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz",
"integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
"dev": true,
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
}
},
"glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"optional": true,
"requires": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
},
"dependencies": {
"is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"optional": true,
"requires": {
"is-extglob": "^2.1.0"
}
}
}
},
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
"optional": true,
"requires": {
"binary-extensions": "^1.0.0"
}
},
"readdirp": {
"version": "2.2.1",
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz",
"integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "^4.1.11",
"micromatch": "^3.1.10",
"readable-stream": "^2.0.2"
}
}
}
},
"wbuf": { "wbuf": {
"version": "1.7.3", "version": "1.7.3",
"resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz",
@@ -28198,17 +27815,6 @@
"locate-path": "^3.0.0" "locate-path": "^3.0.0"
} }
}, },
"fsevents": {
"version": "1.2.13",
"resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz",
"integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
"dev": true,
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
}
},
"glob-parent": { "glob-parent": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",

View File

@@ -8,8 +8,10 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@ant-design-vue/use": "*",
"ant-design-vue": "^2.1.2", "ant-design-vue": "^2.1.2",
"axios": "^0.21.1", "axios": "^0.21.1",
"chokidar": "^3.5.2",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"vue": "^3.0.11", "vue": "^3.0.11",
"vue-router": "^4.0.6" "vue-router": "^4.0.6"

View File

@@ -0,0 +1,112 @@
import regex from "@/services/regex";
const checkSealList = async (rule, sealList) => {
if (!sealList || sealList.length == 0) {
return Promise.reject("必须上传法人电子印章申请表");
}
if (sealList.some(s => !s.sealName || !s.sealApplyFileId)) {
return Promise.reject("必须填写法人电子印章名称,并上传对应申请表");
}
};
export const rules = {
operatorId: [
{ required: true, message: "请输入18位身份证号码", trigger: "blur" },
{
pattern: regex.IdCardNo,
message: "输入正确的18位身份证号码",
trigger: "blur"
}
],
operatorName: [
{ required: true, message: "请输入经办人姓名", trigger: "blur" }
],
unitName: [{ required: true, message: "请选择企业名称", trigger: "change" }],
unitType: [{ required: true, message: "请选择企业类型", trigger: "change" }],
operatorPhone: [
{ required: true, message: "请输入你的手机号码", trigger: "blur" },
{
pattern: regex.Phone,
message: "请输入正确的11位手机号码",
trigger: "blur"
}
],
tydm: [
{
required: true,
message: "请输入企业统一社会信用代码",
trigger: "blur"
},
{
pattern: regex.Tydm,
message: "请输入正确的18位统一社会信用代码",
trigger: "blur"
}
],
address: [{ required: true, message: "请输入邮寄信息", trigger: "blur" }],
code: [
{
required: true,
message: "请选择省市区信息",
type: "string",
trigger: "blur",
transform: v => v && v.join("-")
},
{
pattern: /\d+-\d+-\d+/,
message: "信息不完整",
trigger: "blur",
transform: v => v && v.join("-")
}
],
loaPicId: [
{
required: true,
message: "请上传授权承诺书照片",
trigger: "change",
type: "number"
}
],
idCardFrontPicId: [
{
required: true,
message: "请上传身份证正面照片",
trigger: "change",
type: "number"
}
],
idCardBackPicId: [
{
required: true,
message: "请上传身份证背面照片",
trigger: "change",
type: "number"
}
],
businessLicensePicId: [
{
required: true,
message: "请上营业执照照片",
trigger: "change",
type: "number"
}
],
sealApplyPicId: [
{
required: true,
message: "请上电子印章申请表",
trigger: "change",
type: "number"
}
],
phoneCode: [
{ required: true, message: "请输入短信验证码", trigger: "change" }
],
sealApplyList: [
{
required: true,
trigger: "change",
validator: checkSealList
}
]
};

View File

@@ -1,4 +1,4 @@
import { createRouter, createWebHashHistory } from "vue-router"; import { createRouter, createWebHistory } from "vue-router";
const files = require.context("@/views", true, /\.vue$/); const files = require.context("@/views", true, /\.vue$/);
let pages = []; let pages = [];
const genRoutes = []; const genRoutes = [];
@@ -54,8 +54,7 @@ pages
const routes = [...genRoutes]; const routes = [...genRoutes];
const router = createRouter({ const router = createRouter({
history: createWebHashHistory(), history: createWebHistory("/spa"),
routes routes
}); });
export default router; export default router;

View File

@@ -0,0 +1,116 @@
<template>
<a-form :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }">
<a-form-item label="姓名" name="name" v-bind="validateInfos.name">
<a-input v-model:value="formModel.name" />
</a-form-item>
<a-form-item label="身份证号码" name="idCard" v-bind="validateInfos.idCard">
<a-input v-model:value="formModel.idCard" />
</a-form-item>
<a-form-item label="手机号码" name="phone" v-bind="validateInfos.phone">
<a-input v-model:value="formModel.phone" />
</a-form-item>
<a-form-item
label="过期时间"
name="expireTime"
v-bind="validateInfos.expireTime"
>
<a-date-picker
v-model:value="formModel.expireTime"
placeholder="请选择过期时间"
valueFormat="YYYY-MM-DD"
/>
</a-form-item>
<a-form-item label="证明文件" name="fileId" v-bind="validateInfos.fileId">
<Upload v-model:fileId="formModel.fileId" name="fileId" />
</a-form-item>
<a-form-item :wrapperCol="{ offset: 10 }">
<a-button type="primary" @click="onSubmit">提交</a-button>
</a-form-item>
</a-form>
</template>
<style></style>
<script>
import Upload from "@/components/Upload";
import regex from "@/services/regex";
import { post } from "@/services/http";
import { reactive, ref, toRaw } from "@vue/reactivity";
import { message } from "ant-design-vue";
import { useForm } from "@ant-design-vue/use";
export default {
components: {
Upload
},
setup() {
let formModel = reactive({
name: "",
idCard: "",
phone: "",
expireTime: "",
fileId: 0
});
let rules = reactive({
name: [
{
required: true,
message: "输入申请人姓名",
trigger: "blur"
}
],
idCard: [
{
required: true,
message: "输入申请人身份证号码",
trigger: "blur"
},
{
pattern: regex.IdCardNo,
message: "输入正确的18位身份证号码",
trigger: "blur"
}
],
phone: [
{
required: true,
message: "输入申请人手机号码",
trigger: "blur"
}
],
expireTime: [
{
required: true,
message: "输入过期时间",
trigger: "blur"
}
],
fileId: [
{
required: true,
type: "number",
message: "上传申请文件",
trigger: "blur"
}
]
});
const { resetFields, validate, validateInfos } = useForm(formModel, rules);
async function onSubmit() {
await validate();
console.log(toRaw(formModel));
var res = await post("/api2/ca/CensorSmsCodeApplyUpload", {
...formModel
});
if (res.errorCode != 0) {
message.error(res.errorMsg);
} else {
message.success("操作成功");
}
}
return {
onSubmit,
validate,
validateInfos,
rules,
formModel
};
}
};
</script>

View File

@@ -14,6 +14,18 @@
<a-button type="primary"> <a-button type="primary">
<router-link to="/ca/sealapply"> 电子印章申请入口 </router-link> <router-link to="/ca/sealapply"> 电子印章申请入口 </router-link>
</a-button> </a-button>
<div>
<a-space :size="size">
<a-button>
<a
class="linka"
target="_blank"
href="https://zsfwpt.icinfo.cn/index"
>企业数字证书延期入口</a
>
</a-button>
</a-space>
</div>
</a-space> </a-space>
</div> </div>
<router-view></router-view> <router-view></router-view>

View File

@@ -145,11 +145,15 @@ import Upload from "@/components/Upload";
import { onMounted, reactive, ref, inject } from "vue"; import { onMounted, reactive, ref, inject } from "vue";
import { get, post } from "@/services/http"; import { get, post } from "@/services/http";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { QuestionCircleOutlined } from "@ant-design/icons-vue"; import {
QuestionCircleOutlined,
DownloadOutlined
} from "@ant-design/icons-vue";
export default { export default {
components: { components: {
Upload, Upload,
QuestionCircleOutlined QuestionCircleOutlined,
DownloadOutlined
}, },
setup() { setup() {
const useReload = inject("reload"); const useReload = inject("reload");

View File

@@ -18,18 +18,14 @@
</a-result> </a-result>
<a-spin v-else :spinning="spining"> <a-spin v-else :spinning="spining">
<div v-if="false" class="mail-tip"> <div v-if="false" class="mail-tip">
<p> <p>请将书面申请材料不包括电子印章申请表邮寄至</p>
请将书面申请材料不包括电子印章申请表邮寄至
</p>
<p>浙江省 杭州市 西湖区 莫干山路18号 蓝天商务中心 9</p> <p>浙江省 杭州市 西湖区 莫干山路18号 蓝天商务中心 9</p>
<p> <p>收件人渠道部 联系电话400-888-4636</p>
收件人渠道部 联系电话400-888-4636
</p>
<p>快递费用由申请单位自理</p> <p>快递费用由申请单位自理</p>
</div> </div>
<a-form :label-col="{ span: 9 }" :wrapper-col="{ span: 15 }"> <a-form :label-col="{ span: 9 }" :wrapper-col="{ span: 15 }">
<a-row> <a-row>
<a-col :span="11"> <a-col :span="12">
<a-form-item label="企业名称" v-bind="validateInfos.unitName"> <a-form-item label="企业名称" v-bind="validateInfos.unitName">
<a-select <a-select
v-model:value="modelRef.unitName" v-model:value="modelRef.unitName"
@@ -48,15 +44,17 @@
<a-form-item label="统一社会信用代码" v-bind="validateInfos.tydm"> <a-form-item label="统一社会信用代码" v-bind="validateInfos.tydm">
<a-input <a-input
v-model:value="modelRef.tydm" v-model:value="modelRef.tydm"
readonly :readonly="readonly"
:disabled="disabledFeild" :disabled="disabledFeild"
placeholder="根据企业名称自动获取" placeholder="根据企业名称自动获取"
/> />
</a-form-item> </a-form-item>
<a-form-item label="申请单位类型" v-bind="validateInfos.unitType"> <a-form-item label="申请单位类型" v-bind="validateInfos.unitType">
<a-radio-group v-model:value="modelRef.unitType"> <a-radio-group v-model:value="modelRef.unitType">
<a-radio value="2">勘察</a-radio>
<a-radio value="1">设计</a-radio> <a-radio value="1">设计</a-radio>
<a-radio value="2">勘察</a-radio>
<a-radio value="3">混凝土</a-radio>
<a-radio value="4">其他</a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
<a-form-item label="经办人姓名" v-bind="validateInfos.operatorName"> <a-form-item label="经办人姓名" v-bind="validateInfos.operatorName">
@@ -107,24 +105,42 @@
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="11"> <a-col :span="12">
<a-form-item label="授权委托书" v-bind="validateInfos.loaPicId"> <div class="relative">
<input v-model="modelRef.loaPicId" hidden /> <a-form-item label="授权委托书" v-bind="validateInfos.loaPicId">
<a-upload <input v-model="modelRef.loaPicId" hidden />
accept="application/pdf" <a-upload
action="/api2/upload/uploadfile" accept="application/pdf"
v-model:fileList="loaPicFileList" action="/api2/upload/uploadfile"
:beforeUpload=" v-model:fileList="loaPicFileList"
(file, fileList) => beforeUpload(file, fileList, true) :beforeUpload="
" (file, fileList) => beforeUpload(file, fileList, true)
@change="info => handleChange(info, 'loaPicId')" "
> @change="info => handleChange(info, 'loaPicId')"
<a-button block :disabled="disabledUpload"> >
<UploadOutlined /> <a-button block :disabled="disabledUpload">
点击{{ modelRef.loaPicId ? "替换" : "上传" }} <UploadOutlined />
</a-button> 点击{{ modelRef.loaPicId ? "替换" : "上传" }}
</a-upload> </a-button>
</a-form-item> </a-upload>
</a-form-item>
<a-form-item class="tip">
<a-popover title="说明">
<template #content>
<p>上传的文件pdf大小不得超过2Mb</p>
</template>
<a-button type="link"
><a
href="http://183.136.157.18:7308/stgl/sources/202102/授权书模板.doc"
download="授权书模板.doc"
target="_blank"
><DownloadOutlined />模板</a
></a-button
>
</a-popover>
</a-form-item>
</div>
<a-form-item <a-form-item
label="身份证正面照" label="身份证正面照"
v-bind="validateInfos.idCardFrontPicId" v-bind="validateInfos.idCardFrontPicId"
@@ -182,22 +198,51 @@
</a-button> </a-button>
</a-upload> </a-upload>
</a-form-item> </a-form-item>
<a-form-item label="电子印章申请"> <div class="relative">
<a-button type="dashed" style="width: 100%" @click="addSealApply"> <a-form-item
<PlusOutlined /> label="电子印章申请"
添加电子印章 v-bind="validateInfos.sealApplyList"
</a-button> >
</a-form-item> <a-button
type="dashed"
style="width: 100%"
@click="addSealApply"
>
<PlusOutlined />
添加电子印章
</a-button>
</a-form-item>
<a-form-item class="tip">
<a-button type="link"
><a
href="http://183.136.157.18:7308/stgl/sources/202102/附件1法人电子印章启用申请表.docx"
download="法人电子印章启用申请表.docx"
target="_blank"
><DownloadOutlined />模板</a
></a-button
>
</a-form-item>
</div>
<template <template
v-for="(sealApply, index) in modelRef.sealApplyList" v-for="(sealApply, index) in modelRef.sealApplyList"
:key="index" :key="index"
> >
<a-form-item :wrapper-col="{ span: 15, offset: 9 }"> <a-form-item
:wrapper-col="{ span: 15, offset: 9 }"
class="relative"
>
<a-input <a-input
v-model:value="modelRef.sealApplyList[index].sealName" v-model:value="modelRef.sealApplyList[index].sealName"
:disabled="disabledFeild" :disabled="disabledFeild"
placeholder="印章名称" placeholder="印章名称"
/> />
<MinusCircleOutlined
v-if="modelRef.sealApplyList.length > 1"
class="dynamic-delete-button"
:disabled="modelRef.sealApplyList.length === 1"
@click="removeApply(sealApply)"
/>
</a-form-item> </a-form-item>
<a-form-item :wrapper-col="{ span: 15, offset: 9 }"> <a-form-item :wrapper-col="{ span: 15, offset: 9 }">
<input <input
@@ -225,35 +270,28 @@
</a-form-item> </a-form-item>
</template> </template>
</a-col> </a-col>
<a-col :span="2">
<a-form-item>
<a-popover title="说明">
<template #content>
<p>上传的文件pdf大小不得超过2Mb</p>
</template>
<a-button type="link"
><a
href="http://183.136.157.18:7308/stgl/sources/202102/授权书模板.doc"
download="授权书模板.doc"
target="_blank"
><DownloadOutlined />模板</a
></a-button
>
</a-popover>
</a-form-item>
</a-col>
</a-row> </a-row>
<a-form-item :wrapper-col="{ span: 12, offset: 10 }"> <a-form-item :wrapper-col="{ span: 12, offset: 10 }">
<a-button <a-popconfirm
v-if="progressingId" title="请确认统一信用代码是否正确"
type="primary" ok-text="已确认"
@click="onSubmit" cancel-text="取消"
:loading="loading" :visible="popvisible"
>查询</a-button @visibleChange="handleVisibleChange"
> @confrim="onSubmit"
<a-button v-else type="primary" @click="onSubmit" :loading="loading" @cancel="cancel"
>提交</a-button
> >
<a-button
v-if="progressingId"
type="primary"
@click="onSubmit"
:loading="loading"
>查询</a-button
>
<a-button v-else type="primary" @click="onSubmit" :loading="loading"
>提交</a-button
>
</a-popconfirm>
<a-button style="margin-left: 10px" @click="toggleDrawer" <a-button style="margin-left: 10px" @click="toggleDrawer"
>历史提交记录</a-button >历史提交记录</a-button
> >
@@ -278,7 +316,7 @@
<template #title> <template #title>
{{ unitApply.unitName {{ unitApply.unitName
}}<a-tag }}<a-tag
style="margin-left:4px;" style="margin-left: 4px"
:color="status[unitApply.status].color" :color="status[unitApply.status].color"
>{{ status[unitApply.status].text }}</a-tag >{{ status[unitApply.status].text }}</a-tag
> >
@@ -322,6 +360,23 @@
font-size: 32px; font-size: 32px;
background-color: rgba(255, 255, 255, 0.7); background-color: rgba(255, 255, 255, 0.7);
} }
.relative {
position: relative;
}
.tip {
position: absolute;
right: -5em;
top: 0;
}
.dynamic-delete-button {
position: absolute;
top: 0;
cursor: pointer;
font-size: 24px;
color: #999;
transition: all 0.3s;
right: -75px;
}
} }
</style> </style>
<script> <script>
@@ -329,14 +384,15 @@ import { message, Modal } from "ant-design-vue";
import { import {
UploadOutlined, UploadOutlined,
DownloadOutlined, DownloadOutlined,
PlusOutlined PlusOutlined,
MinusCircleOutlined
} from "@ant-design/icons-vue"; } from "@ant-design/icons-vue";
import { useForm } from "@ant-design-vue/use"; import { useForm } from "@ant-design-vue/use";
import { computed, onMounted, reactive, ref, toRaw, inject } from "vue"; import { computed, onMounted, reactive, ref, toRaw, inject } from "vue";
import { get, post } from "@/services/http"; import { get, post } from "@/services/http";
import regex from "@/services/regex";
import { toBit } from "@/services/util"; import { toBit } from "@/services/util";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { rules } from "@/components/UnitApply/config";
async function getAreaOptions(code) { async function getAreaOptions(code) {
const res = await get("/api2/CA/AreaOptions", { code }); const res = await get("/api2/CA/AreaOptions", { code });
if (res.errorCode == 0) { if (res.errorCode == 0) {
@@ -354,7 +410,8 @@ export default {
components: { components: {
UploadOutlined, UploadOutlined,
DownloadOutlined, DownloadOutlined,
PlusOutlined PlusOutlined,
MinusCircleOutlined
}, },
setup() { setup() {
const modelRef = reactive({ const modelRef = reactive({
@@ -375,108 +432,14 @@ export default {
businessLicensePicId: null, businessLicensePicId: null,
sealApplyList: [] sealApplyList: []
}); });
const readonly = ref(true);
const popvisible = ref(false);
const loaPicFileList = ref([]); const loaPicFileList = ref([]);
const idCardFrontPicFileList = ref([]); const idCardFrontPicFileList = ref([]);
const idCardBackPicFileList = ref([]); const idCardBackPicFileList = ref([]);
const businessLicenseFileList = ref([]); const businessLicenseFileList = ref([]);
const sealApplyFileList = ref([]); const sealApplyFileList = ref([]);
const rulesRef = reactive({ const rulesRef = reactive(rules);
operatorId: [
{ required: true, message: "请输入18位身份证号码", trigger: "blur" },
{
pattern: regex.IdCardNo,
message: "输入正确的18位身份证号码",
trigger: "blur"
}
],
operatorName: [
{ required: true, message: "请输入经办人姓名", trigger: "blur" }
],
unitName: [
{ required: true, message: "请选择企业名称", trigger: "change" }
],
unitType: [
{ required: true, message: "请选择企业类型", trigger: "change" }
],
operatorPhone: [
{ required: true, message: "请输入你的手机号码", trigger: "blur" },
{
pattern: regex.Phone,
message: "请输入正确的11位手机号码",
trigger: "blur"
}
],
tydm: [
{
required: true,
message: "请输入企业统一社会信用代码",
trigger: "blur"
},
{
pattern: regex.Tydm,
message: "请输入正确的18位统一社会信用代码",
trigger: "blur"
}
],
address: [{ required: true, message: "请输入邮寄信息", trigger: "blur" }],
code: [
{
required: true,
message: "请选择省市区信息",
trigger: "blur",
transform: v => v && v.join("-")
},
{
pattern: /\d+-\d+-\d+/,
message: "信息不完整",
trigger: "blur",
transform: v => v && v.join("-")
}
],
loaPicId: [
{
required: true,
message: "请上传授权承诺书照片",
trigger: "change",
type: "number"
}
],
idCardFrontPicId: [
{
required: true,
message: "请上传身份证正面照片",
trigger: "change",
type: "number"
}
],
idCardBackPicId: [
{
required: true,
message: "请上传身份证背面照片",
trigger: "change",
type: "number"
}
],
businessLicensePicId: [
{
required: true,
message: "请上营业执照照片",
trigger: "change",
type: "number"
}
],
sealApplyPicId: [
{
required: true,
message: "请上电子印章申请表",
trigger: "change",
type: "number"
}
],
phoneCode: [
{ required: true, message: "请输入短信验证码", trigger: "change" }
]
});
const { resetFields, validate, validateInfos } = useForm( const { resetFields, validate, validateInfos } = useForm(
modelRef, modelRef,
rulesRef rulesRef
@@ -506,6 +469,17 @@ export default {
message.success("发起申请成功", 2, useReload); message.success("发起申请成功", 2, useReload);
} }
}; };
const handleVisibleChange = bool => {
if (!bool) {
popvisible.value = false;
return;
}
if (readonly.value) {
onSubmit();
} else {
popvisible.value = true;
}
};
const createUnitApply = async () => { const createUnitApply = async () => {
try { try {
await validate(); await validate();
@@ -626,6 +600,7 @@ export default {
const res = await get("/api2/CA/GetTydm", { unitName }); const res = await get("/api2/CA/GetTydm", { unitName });
if (res.errorCode !== 0) { if (res.errorCode !== 0) {
message.error(res.errorMsg); message.error(res.errorMsg);
readonly.value = false;
} else { } else {
modelRef.tydm = res.data; modelRef.tydm = res.data;
} }
@@ -661,6 +636,9 @@ export default {
const disabledModify = computed( const disabledModify = computed(
() => (editStatus.value & editModifyFlag) == 0 () => (editStatus.value & editModifyFlag) == 0
); );
const cancel = () => {
popvisible.value = false;
};
const initPage = unitApply => { const initPage = unitApply => {
for (const key in toRaw(modelRef)) { for (const key in toRaw(modelRef)) {
if (Object.hasOwnProperty.call(unitApply, key)) { if (Object.hasOwnProperty.call(unitApply, key)) {
@@ -759,6 +737,12 @@ export default {
sealApplyFileId: 0 sealApplyFileId: 0
}); });
}; };
const removeApply = sealApply => {
let index = modelRef.sealApplyList.indexOf(sealApply);
if (index !== -1) {
modelRef.sealApplyList.splice(index, 1);
}
};
return { return {
modelRef, modelRef,
@@ -825,7 +809,12 @@ export default {
color: "red", color: "red",
text: "已失效" text: "已失效"
} }
} },
readonly,
popvisible,
cancel,
handleVisibleChange,
removeApply
}; };
} }
}; };

View File

@@ -48,10 +48,8 @@ export default {
const upload = async () => { const upload = async () => {
console.log(formModel); console.log(formModel);
var res = await post("/api2/ca/UnitApproveUpload", formModel); var res = await post("/api2/ca/UnitApproveUpload", formModel);
if (res.errcode == 0) { if (res.errorCode == 0) {
message.success("提交成功,单位配置已更新", 3, () => { message.success("提交成功,单位配置已更新", 3);
location.reload();
});
} }
}; };
return { formModel, upload, plainOptions }; return { formModel, upload, plainOptions };

View File

@@ -65,8 +65,19 @@
<a-form-item label="收件地址" name="receiverAddress"> <a-form-item label="收件地址" name="receiverAddress">
<a-input v-model:value="form.receiverAddress" :disabled="disableEdit" /> <a-input v-model:value="form.receiverAddress" :disabled="disableEdit" />
</a-form-item> </a-form-item>
<a-form-item label="身份证照片"> <a-form-item name="idCardPicId">
<input v-model="form.idCardPicId" hidden /> <input v-model="form.idCardPicId" hidden />
<template #label>
<a-tooltip>
<template #title
>身份证正反面并加盖公司公章勘察设计类单位还需加盖注册师章</template
>
<span :style="{ whiteSpace: 'normal' }">
身份证正反面
<QuestionCircleOutlined />
</span>
</a-tooltip>
</template>
<a-upload <a-upload
accept="image/*" accept="image/*"
action="/api2/upload/uploadfile" action="/api2/upload/uploadfile"
@@ -118,6 +129,11 @@
<p>身份证号:{{ userApply.idCardNo }}</p> <p>身份证号:{{ userApply.idCardNo }}</p>
<p>手机号码:{{ userApply.phone }}</p> <p>手机号码:{{ userApply.phone }}</p>
<p v-if="userApply.dealReason">拒绝理由:{{ userApply.dealReason }}</p> <p v-if="userApply.dealReason">拒绝理由:{{ userApply.dealReason }}</p>
<a-button
v-if="userApply.status == 0"
@click="sendUserApply(userApply.id)"
>申领证书</a-button
>
</a-card> </a-card>
</a-drawer> </a-drawer>
</template> </template>
@@ -128,7 +144,7 @@
</style> </style>
<script> <script>
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { UploadOutlined } from "@ant-design/icons-vue"; import { UploadOutlined, QuestionCircleOutlined } from "@ant-design/icons-vue";
import { get, post } from "@/services/http"; import { get, post } from "@/services/http";
import regex from "@/services/regex"; import regex from "@/services/regex";
export default { export default {
@@ -185,6 +201,14 @@ export default {
], ],
receiverAddress: [ receiverAddress: [
{ required: true, message: "请输入收件地址", trigger: "blur" } { required: true, message: "请输入收件地址", trigger: "blur" }
],
idCardPicId: [
{
required: true,
message: "上传身份证正反面照片",
type: "number",
trigger: "blur"
}
] ]
}, },
userApplyList: [], userApplyList: [],
@@ -332,7 +356,8 @@ export default {
} }
}, },
components: { components: {
UploadOutlined UploadOutlined,
QuestionCircleOutlined
}, },
created: async function() { created: async function() {
//获取所在组织信息和个人数字认证信息 //获取所在组织信息和个人数字认证信息

4
src/views/ningboDp.vue Normal file
View File

@@ -0,0 +1,4 @@
<template>
<router-view></router-view>
</template>
<script setup></script>

View File

@@ -0,0 +1,204 @@
<template>
<div class="box">
<div class="heard">{{ title }}</div>
<div class="body">
<div class="left">
<a-input-search
v-model:value="input"
placeholder="请输入查询内容"
enter-button
@search="onSearch"
/>
<div class="projectList">
<div
class="projectListItem"
v-for="item in listdata"
:key="item.reCensorID"
@click="onClick(item.id)"
>
<div>{{ item.reCensorID }}</div>
<div :title="item.proHalfNM" class="text-container">
{{ item.proHalfNM }}
</div>
</div>
</div>
</div>
<div class="right">
<a-directory-tree
class="tree"
multiple
:tree-data="data"
:replace-fields="replaceFields"
@select="onSelect"
v-model:expandedKeys="expandedKeys"
v-model:selectedKeys="selectedKeys"
>
</a-directory-tree>
</div>
</div>
</div>
</template>
<script>
import { ref } from "@vue/reactivity";
import { onMounted } from "@vue/runtime-core";
import { get, post } from "@/services/http";
import { message, layout, Input, Tree } from "ant-design-vue";
import axios from "axios"; // 引入 axios
export default {
setup() {
const appKey = ref("");
const sign = ref("");
const time = ref("");
const prjCode = ref("");
const token = ref("");
const replaceFields = {
children: "Children",
title: "Name",
isLeaf: "isLeaf"
};
const title = ref("");
const expandedKeys = ref([]);
const selectedKeys = ref([]);
const data = ref([]);
const listdata = ref([]);
const input = ref("");
const setLeaf = nodes => {
nodes.forEach(node => {
if (node.Children && node.Children.length > 0) {
node.isLeaf = false;
setLeaf(node.Children);
} else {
node.isLeaf = true;
}
});
};
const onSelect = (selected, selectedNodes, node, event) => {
console.log("selected", selectedNodes.node.dataRef);
};
const getlistdata = async () => {
try {
const response = await axios.post(
"/api2/projectinfo/GetProjectByFgCode",
{ projectcode: prjCode.value, searchkey: input.value }
);
console.log(response.data); // 处理返回的数据
listdata.value = response.data.data;
console.log("listdata.value", listdata.value);
// 如果需要更新组件中的数据,可以在这里进行操作
} catch (error) {
console.error("请求失败:", error);
message.error("数据获取失败,请稍后再试");
}
};
const gettoken = async () => {
const response = await axios.post("/api2/JianShu/login", {
appKey: appKey.value,
time: time.value,
sign: sign.value
});
console.log(response.data);
token.value = response.data.data;
console.log("token.value", token.value);
};
const onSearch = () => {
getlistdata();
};
const onClick = async id => {
const response = await axios.get(
"http://10.19.94.51:11684/Platform/COC/Seal.aspx?action=getdata&acceptid=" +
id +
"&Authorization=Brerar%20" +
token.value
);
console.log("response", response.data.tree);
setLeaf(response.data.tree);
data.value = response.data.tree;
selectedKeys.value = [];
expandedKeys.value = [];
};
onMounted(async () => {
const urlParams = new URLSearchParams(window.location.search);
appKey.value = urlParams.get("appKey");
sign.value = urlParams.get("sign");
time.value = urlParams.get("time");
prjCode.value = urlParams.get("prjCode");
console.log(appKey.value, sign.value, time.value, prjCode.value);
await gettoken();
await getlistdata();
title.value = listdata.value[0].proFullNM
? listdata.value[0].proFullNM
: "";
});
return {
input,
listdata,
data,
replaceFields,
appKey,
sign,
time,
prjCode,
title,
getlistdata,
gettoken,
onSearch,
setLeaf,
onSelect,
onClick,
expandedKeys,
selectedKeys
};
}
};
</script>
<style lang="less" scoped>
.box {
height: 100vh;
background-color: aquamarine;
display: flex;
flex-direction: column;
.heard {
height: 60px;
background-color: #00a5e4;
color: #fff;
font-size: 30px;
}
.body {
flex: 1;
display: flex;
background-color: #a3a3a3;
.left {
width: 300px;
background-color: rgb(255, 255, 255);
padding: 10px;
}
.right {
padding: 20px;
flex: 1;
background-color: rgb(241, 241, 241);
overflow: hidden;
box-sizing: border-box;
}
}
}
.tree {
background-color: #fff;
overflow: hidden;
}
.projectList {
display: flex;
flex-direction: column;
margin-top: 10px;
}
.projectListItem {
display: flex;
flex-direction: column;
border-bottom: #a3a3a3 1px solid;
/* margin-bottom: 10px; */
color: #606266;
padding: 3px 10px;
cursor: pointer;
}
</style>

View File

@@ -9,8 +9,17 @@ module.exports = {
} }
} }
}, },
// devServer: {
// proxy: "http://localhost:42127"
// },
devServer: { devServer: {
proxy: "http://localhost:42127" proxy: {
'/api2': {
target: 'http://10.19.94.51:11684',
changeOrigin: true,
pathRewrite: { '^/api2': '' }
}
}
}, },
chainWebpack: config => { chainWebpack: config => {
config.module config.module