Compare commits
20 Commits
9c5b0794b9
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66411b4d6a | ||
|
|
c649d32668 | ||
|
|
c4fb63f03f | ||
| 3b93161902 | |||
|
|
728d31d10f | ||
| d2509783a0 | |||
| 26c6328512 | |||
| 25b7dded91 | |||
| 588836efd0 | |||
| 5255ae5d97 | |||
| f61688ef8e | |||
| 90b06fb4cd | |||
| 39a40d26e9 | |||
| d6def166a7 | |||
| b727b76645 | |||
| acc041e1be | |||
| ea637f1c8b | |||
| 79d4ad72c1 | |||
| 6c76462552 | |||
| 3309f02d6a |
@@ -10,6 +10,7 @@ module.exports = {
|
||||
rules: {
|
||||
"no-console": 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 }]
|
||||
}
|
||||
};
|
||||
|
||||
30
README.md
30
README.md
@@ -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
|
||||
```
|
||||
|
||||
### Compiles and hot-reloads for development
|
||||
### 开发项目
|
||||
```
|
||||
npm run serve
|
||||
```
|
||||
|
||||
### Compiles and minifies for production
|
||||
### 发布打包项目
|
||||
```
|
||||
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
498
package-lock.json
generated
@@ -7,8 +7,10 @@
|
||||
"": {
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@ant-design-vue/use": "*",
|
||||
"ant-design-vue": "^2.1.2",
|
||||
"axios": "^0.21.1",
|
||||
"chokidar": "^3.5.2",
|
||||
"core-js": "^3.6.5",
|
||||
"vue": "^3.0.11",
|
||||
"vue-router": "^4.0.6"
|
||||
@@ -2583,11 +2585,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz",
|
||||
"integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
||||
"dependencies": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
@@ -3023,22 +3023,10 @@
|
||||
"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",
|
||||
"integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"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": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz",
|
||||
@@ -3474,10 +3462,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001177",
|
||||
"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",
|
||||
"integrity": "sha1-LDs4STOq/aA+KczKe7PYwzieHs4=",
|
||||
"dev": true
|
||||
"version": "1.0.30001300",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz",
|
||||
"integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
}
|
||||
},
|
||||
"node_modules/case-sensitive-paths-webpack-plugin": {
|
||||
"version": "2.3.0",
|
||||
@@ -3521,31 +3513,29 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "3.5.0",
|
||||
"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",
|
||||
"integrity": "sha1-RYpIFqQV6dOzyqT67CuWppNanmU=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
|
||||
"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
|
||||
"dependencies": {
|
||||
"anymatch": "~3.1.1",
|
||||
"anymatch": "~3.1.2",
|
||||
"braces": "~3.0.2",
|
||||
"fsevents": "~2.3.1",
|
||||
"glob-parent": "~5.1.0",
|
||||
"glob-parent": "~5.1.2",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
"normalize-path": "~3.0.0",
|
||||
"readdirp": "~3.5.0"
|
||||
"readdirp": "~3.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.10.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar/node_modules/braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
|
||||
"integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"fill-range": "^7.0.1"
|
||||
},
|
||||
@@ -3557,8 +3547,6 @@
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
},
|
||||
@@ -3570,8 +3558,6 @@
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
|
||||
"integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.12.0"
|
||||
}
|
||||
@@ -3580,8 +3566,6 @@
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
|
||||
"integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"is-number": "^7.0.0"
|
||||
},
|
||||
@@ -6476,13 +6460,6 @@
|
||||
"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": {
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
|
||||
@@ -6745,19 +6722,6 @@
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"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": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
|
||||
@@ -6871,10 +6835,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/glob-parent": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz",
|
||||
"integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=",
|
||||
"dev": true,
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
},
|
||||
@@ -7879,8 +7842,6 @@
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
|
||||
"integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"binary-extensions": "^2.0.0"
|
||||
},
|
||||
@@ -8028,7 +7989,6 @@
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
|
||||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -8046,7 +8006,6 @@
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
|
||||
"integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-extglob": "^2.1.1"
|
||||
},
|
||||
@@ -9905,13 +9864,6 @@
|
||||
"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": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
|
||||
@@ -10064,7 +10016,6 @@
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -10724,7 +10675,6 @@
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
|
||||
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.6"
|
||||
}
|
||||
@@ -11801,11 +11751,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz",
|
||||
"integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||
"dependencies": {
|
||||
"picomatch": "^2.2.1"
|
||||
},
|
||||
@@ -12942,11 +12890,6 @@
|
||||
"safer-buffer": "^2.0.2",
|
||||
"tweetnacl": "~0.14.0"
|
||||
},
|
||||
"bin": {
|
||||
"sshpk-conv": "bin/sshpk-conv",
|
||||
"sshpk-sign": "bin/sshpk-sign",
|
||||
"sshpk-verify": "bin/sshpk-verify"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -14428,141 +14371,6 @@
|
||||
"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": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz",
|
||||
@@ -14854,24 +14662,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": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
|
||||
@@ -17878,11 +17668,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz",
|
||||
"integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
||||
"requires": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
@@ -18254,19 +18042,7 @@
|
||||
"binary-extensions": {
|
||||
"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",
|
||||
"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"
|
||||
}
|
||||
"integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0="
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.7.2",
|
||||
@@ -18669,9 +18445,9 @@
|
||||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001177",
|
||||
"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",
|
||||
"integrity": "sha1-LDs4STOq/aA+KczKe7PYwzieHs4=",
|
||||
"version": "1.0.30001300",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz",
|
||||
"integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==",
|
||||
"dev": true
|
||||
},
|
||||
"case-sensitive-paths-webpack-plugin": {
|
||||
@@ -18710,28 +18486,24 @@
|
||||
"dev": true
|
||||
},
|
||||
"chokidar": {
|
||||
"version": "3.5.0",
|
||||
"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",
|
||||
"integrity": "sha1-RYpIFqQV6dOzyqT67CuWppNanmU=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
|
||||
"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
|
||||
"requires": {
|
||||
"anymatch": "~3.1.1",
|
||||
"anymatch": "~3.1.2",
|
||||
"braces": "~3.0.2",
|
||||
"fsevents": "~2.3.1",
|
||||
"glob-parent": "~5.1.0",
|
||||
"fsevents": "~2.3.2",
|
||||
"glob-parent": "~5.1.2",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
"normalize-path": "~3.0.0",
|
||||
"readdirp": "~3.5.0"
|
||||
"readdirp": "~3.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
|
||||
"integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"fill-range": "^7.0.1"
|
||||
}
|
||||
@@ -18740,8 +18512,6 @@
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
}
|
||||
@@ -18749,16 +18519,12 @@
|
||||
"is-number": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
|
||||
"integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss="
|
||||
},
|
||||
"to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
|
||||
"integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"is-number": "^7.0.0"
|
||||
}
|
||||
@@ -21173,13 +20939,6 @@
|
||||
"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": {
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
|
||||
@@ -21397,13 +21156,6 @@
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"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": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
|
||||
@@ -21499,10 +21251,9 @@
|
||||
}
|
||||
},
|
||||
"glob-parent": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz",
|
||||
"integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=",
|
||||
"dev": true,
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"requires": {
|
||||
"is-glob": "^4.0.1"
|
||||
}
|
||||
@@ -22327,8 +22078,6 @@
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
|
||||
"integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"binary-extensions": "^2.0.0"
|
||||
}
|
||||
@@ -22443,8 +22192,7 @@
|
||||
"is-extglob": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
|
||||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
||||
"dev": true
|
||||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
@@ -22456,7 +22204,6 @@
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
|
||||
"integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-extglob": "^2.1.1"
|
||||
}
|
||||
@@ -23951,13 +23698,6 @@
|
||||
"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": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
|
||||
@@ -24099,8 +23839,7 @@
|
||||
"normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
|
||||
"dev": true
|
||||
"integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU="
|
||||
},
|
||||
"normalize-range": {
|
||||
"version": "0.1.2",
|
||||
@@ -24634,8 +24373,7 @@
|
||||
"picomatch": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
|
||||
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
|
||||
"dev": true
|
||||
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0="
|
||||
},
|
||||
"pify": {
|
||||
"version": "4.0.1",
|
||||
@@ -25570,11 +25308,9 @@
|
||||
}
|
||||
},
|
||||
"readdirp": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz",
|
||||
"integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||
"requires": {
|
||||
"picomatch": "^2.2.1"
|
||||
}
|
||||
@@ -27822,125 +27558,6 @@
|
||||
"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": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz",
|
||||
@@ -28198,17 +27815,6 @@
|
||||
"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": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
|
||||
|
||||
@@ -8,8 +8,10 @@
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design-vue/use": "*",
|
||||
"ant-design-vue": "^2.1.2",
|
||||
"axios": "^0.21.1",
|
||||
"chokidar": "^3.5.2",
|
||||
"core-js": "^3.6.5",
|
||||
"vue": "^3.0.11",
|
||||
"vue-router": "^4.0.6"
|
||||
|
||||
112
src/components/UnitApply/config.js
Normal file
112
src/components/UnitApply/config.js
Normal 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
|
||||
}
|
||||
]
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
import { createRouter, createWebHashHistory } from "vue-router";
|
||||
import { createRouter, createWebHistory } from "vue-router";
|
||||
const files = require.context("@/views", true, /\.vue$/);
|
||||
let pages = [];
|
||||
const genRoutes = [];
|
||||
@@ -54,8 +54,7 @@ pages
|
||||
|
||||
const routes = [...genRoutes];
|
||||
const router = createRouter({
|
||||
history: createWebHashHistory(),
|
||||
history: createWebHistory("/spa"),
|
||||
routes
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
||||
116
src/views/CA/CensorSmsApply.vue
Normal file
116
src/views/CA/CensorSmsApply.vue
Normal 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>
|
||||
@@ -14,6 +14,18 @@
|
||||
<a-button type="primary">
|
||||
<router-link to="/ca/sealapply"> 电子印章申请入口 </router-link>
|
||||
</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>
|
||||
</div>
|
||||
<router-view></router-view>
|
||||
|
||||
@@ -145,11 +145,15 @@ import Upload from "@/components/Upload";
|
||||
import { onMounted, reactive, ref, inject } from "vue";
|
||||
import { get, post } from "@/services/http";
|
||||
import { message } from "ant-design-vue";
|
||||
import { QuestionCircleOutlined } from "@ant-design/icons-vue";
|
||||
import {
|
||||
QuestionCircleOutlined,
|
||||
DownloadOutlined
|
||||
} from "@ant-design/icons-vue";
|
||||
export default {
|
||||
components: {
|
||||
Upload,
|
||||
QuestionCircleOutlined
|
||||
QuestionCircleOutlined,
|
||||
DownloadOutlined
|
||||
},
|
||||
setup() {
|
||||
const useReload = inject("reload");
|
||||
|
||||
@@ -18,18 +18,14 @@
|
||||
</a-result>
|
||||
<a-spin v-else :spinning="spining">
|
||||
<div v-if="false" class="mail-tip">
|
||||
<p>
|
||||
请将书面申请材料不包括电子印章申请表邮寄至
|
||||
</p>
|
||||
<p>请将书面申请材料不包括电子印章申请表邮寄至</p>
|
||||
<p>浙江省 杭州市 西湖区 莫干山路18号 蓝天商务中心 9楼</p>
|
||||
<p>
|
||||
收件人:渠道部 联系电话:400-888-4636
|
||||
</p>
|
||||
<p>收件人:渠道部 联系电话:400-888-4636</p>
|
||||
<p>快递费用由申请单位自理</p>
|
||||
</div>
|
||||
<a-form :label-col="{ span: 9 }" :wrapper-col="{ span: 15 }">
|
||||
<a-row>
|
||||
<a-col :span="11">
|
||||
<a-col :span="12">
|
||||
<a-form-item label="企业名称" v-bind="validateInfos.unitName">
|
||||
<a-select
|
||||
v-model:value="modelRef.unitName"
|
||||
@@ -48,15 +44,17 @@
|
||||
<a-form-item label="统一社会信用代码" v-bind="validateInfos.tydm">
|
||||
<a-input
|
||||
v-model:value="modelRef.tydm"
|
||||
readonly
|
||||
:readonly="readonly"
|
||||
:disabled="disabledFeild"
|
||||
placeholder="根据企业名称自动获取"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="申请单位类型" v-bind="validateInfos.unitType">
|
||||
<a-radio-group v-model:value="modelRef.unitType">
|
||||
<a-radio value="2">勘察</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-form-item>
|
||||
<a-form-item label="经办人姓名" v-bind="validateInfos.operatorName">
|
||||
@@ -107,24 +105,42 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="11">
|
||||
<a-form-item label="授权委托书" v-bind="validateInfos.loaPicId">
|
||||
<input v-model="modelRef.loaPicId" hidden />
|
||||
<a-upload
|
||||
accept="application/pdf"
|
||||
action="/api2/upload/uploadfile"
|
||||
v-model:fileList="loaPicFileList"
|
||||
:beforeUpload="
|
||||
(file, fileList) => beforeUpload(file, fileList, true)
|
||||
"
|
||||
@change="info => handleChange(info, 'loaPicId')"
|
||||
>
|
||||
<a-button block :disabled="disabledUpload">
|
||||
<UploadOutlined />
|
||||
点击{{ modelRef.loaPicId ? "替换" : "上传" }}
|
||||
</a-button>
|
||||
</a-upload>
|
||||
</a-form-item>
|
||||
<a-col :span="12">
|
||||
<div class="relative">
|
||||
<a-form-item label="授权委托书" v-bind="validateInfos.loaPicId">
|
||||
<input v-model="modelRef.loaPicId" hidden />
|
||||
<a-upload
|
||||
accept="application/pdf"
|
||||
action="/api2/upload/uploadfile"
|
||||
v-model:fileList="loaPicFileList"
|
||||
:beforeUpload="
|
||||
(file, fileList) => beforeUpload(file, fileList, true)
|
||||
"
|
||||
@change="info => handleChange(info, 'loaPicId')"
|
||||
>
|
||||
<a-button block :disabled="disabledUpload">
|
||||
<UploadOutlined />
|
||||
点击{{ modelRef.loaPicId ? "替换" : "上传" }}
|
||||
</a-button>
|
||||
</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
|
||||
label="身份证正面照"
|
||||
v-bind="validateInfos.idCardFrontPicId"
|
||||
@@ -182,22 +198,51 @@
|
||||
</a-button>
|
||||
</a-upload>
|
||||
</a-form-item>
|
||||
<a-form-item label="电子印章申请">
|
||||
<a-button type="dashed" style="width: 100%" @click="addSealApply">
|
||||
<PlusOutlined />
|
||||
添加电子印章
|
||||
</a-button>
|
||||
</a-form-item>
|
||||
<div class="relative">
|
||||
<a-form-item
|
||||
label="电子印章申请"
|
||||
v-bind="validateInfos.sealApplyList"
|
||||
>
|
||||
<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
|
||||
v-for="(sealApply, index) in modelRef.sealApplyList"
|
||||
:key="index"
|
||||
>
|
||||
<a-form-item :wrapper-col="{ span: 15, offset: 9 }">
|
||||
<a-form-item
|
||||
:wrapper-col="{ span: 15, offset: 9 }"
|
||||
class="relative"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="modelRef.sealApplyList[index].sealName"
|
||||
:disabled="disabledFeild"
|
||||
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 :wrapper-col="{ span: 15, offset: 9 }">
|
||||
<input
|
||||
@@ -225,35 +270,28 @@
|
||||
</a-form-item>
|
||||
</template>
|
||||
</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-form-item :wrapper-col="{ span: 12, offset: 10 }">
|
||||
<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
|
||||
title="请确认统一信用代码是否正确"
|
||||
ok-text="已确认"
|
||||
cancel-text="取消"
|
||||
:visible="popvisible"
|
||||
@visibleChange="handleVisibleChange"
|
||||
@confrim="onSubmit"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<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
|
||||
>
|
||||
@@ -278,7 +316,7 @@
|
||||
<template #title>
|
||||
{{ unitApply.unitName
|
||||
}}<a-tag
|
||||
style="margin-left:4px;"
|
||||
style="margin-left: 4px"
|
||||
:color="status[unitApply.status].color"
|
||||
>{{ status[unitApply.status].text }}</a-tag
|
||||
>
|
||||
@@ -322,6 +360,23 @@
|
||||
font-size: 32px;
|
||||
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>
|
||||
<script>
|
||||
@@ -329,14 +384,15 @@ import { message, Modal } from "ant-design-vue";
|
||||
import {
|
||||
UploadOutlined,
|
||||
DownloadOutlined,
|
||||
PlusOutlined
|
||||
PlusOutlined,
|
||||
MinusCircleOutlined
|
||||
} from "@ant-design/icons-vue";
|
||||
import { useForm } from "@ant-design-vue/use";
|
||||
import { computed, onMounted, reactive, ref, toRaw, inject } from "vue";
|
||||
import { get, post } from "@/services/http";
|
||||
import regex from "@/services/regex";
|
||||
import { toBit } from "@/services/util";
|
||||
import { useRouter } from "vue-router";
|
||||
import { rules } from "@/components/UnitApply/config";
|
||||
async function getAreaOptions(code) {
|
||||
const res = await get("/api2/CA/AreaOptions", { code });
|
||||
if (res.errorCode == 0) {
|
||||
@@ -354,7 +410,8 @@ export default {
|
||||
components: {
|
||||
UploadOutlined,
|
||||
DownloadOutlined,
|
||||
PlusOutlined
|
||||
PlusOutlined,
|
||||
MinusCircleOutlined
|
||||
},
|
||||
setup() {
|
||||
const modelRef = reactive({
|
||||
@@ -375,108 +432,14 @@ export default {
|
||||
businessLicensePicId: null,
|
||||
sealApplyList: []
|
||||
});
|
||||
const readonly = ref(true);
|
||||
const popvisible = ref(false);
|
||||
const loaPicFileList = ref([]);
|
||||
const idCardFrontPicFileList = ref([]);
|
||||
const idCardBackPicFileList = ref([]);
|
||||
const businessLicenseFileList = ref([]);
|
||||
const sealApplyFileList = ref([]);
|
||||
const rulesRef = reactive({
|
||||
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 rulesRef = reactive(rules);
|
||||
const { resetFields, validate, validateInfos } = useForm(
|
||||
modelRef,
|
||||
rulesRef
|
||||
@@ -506,6 +469,17 @@ export default {
|
||||
message.success("发起申请成功", 2, useReload);
|
||||
}
|
||||
};
|
||||
const handleVisibleChange = bool => {
|
||||
if (!bool) {
|
||||
popvisible.value = false;
|
||||
return;
|
||||
}
|
||||
if (readonly.value) {
|
||||
onSubmit();
|
||||
} else {
|
||||
popvisible.value = true;
|
||||
}
|
||||
};
|
||||
const createUnitApply = async () => {
|
||||
try {
|
||||
await validate();
|
||||
@@ -626,6 +600,7 @@ export default {
|
||||
const res = await get("/api2/CA/GetTydm", { unitName });
|
||||
if (res.errorCode !== 0) {
|
||||
message.error(res.errorMsg);
|
||||
readonly.value = false;
|
||||
} else {
|
||||
modelRef.tydm = res.data;
|
||||
}
|
||||
@@ -661,6 +636,9 @@ export default {
|
||||
const disabledModify = computed(
|
||||
() => (editStatus.value & editModifyFlag) == 0
|
||||
);
|
||||
const cancel = () => {
|
||||
popvisible.value = false;
|
||||
};
|
||||
const initPage = unitApply => {
|
||||
for (const key in toRaw(modelRef)) {
|
||||
if (Object.hasOwnProperty.call(unitApply, key)) {
|
||||
@@ -759,6 +737,12 @@ export default {
|
||||
sealApplyFileId: 0
|
||||
});
|
||||
};
|
||||
const removeApply = sealApply => {
|
||||
let index = modelRef.sealApplyList.indexOf(sealApply);
|
||||
if (index !== -1) {
|
||||
modelRef.sealApplyList.splice(index, 1);
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
modelRef,
|
||||
@@ -825,7 +809,12 @@ export default {
|
||||
color: "red",
|
||||
text: "已失效"
|
||||
}
|
||||
}
|
||||
},
|
||||
readonly,
|
||||
popvisible,
|
||||
cancel,
|
||||
handleVisibleChange,
|
||||
removeApply
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@@ -48,10 +48,8 @@ export default {
|
||||
const upload = async () => {
|
||||
console.log(formModel);
|
||||
var res = await post("/api2/ca/UnitApproveUpload", formModel);
|
||||
if (res.errcode == 0) {
|
||||
message.success("提交成功,单位配置已更新", 3, () => {
|
||||
location.reload();
|
||||
});
|
||||
if (res.errorCode == 0) {
|
||||
message.success("提交成功,单位配置已更新", 3);
|
||||
}
|
||||
};
|
||||
return { formModel, upload, plainOptions };
|
||||
|
||||
@@ -65,8 +65,19 @@
|
||||
<a-form-item label="收件地址" name="receiverAddress">
|
||||
<a-input v-model:value="form.receiverAddress" :disabled="disableEdit" />
|
||||
</a-form-item>
|
||||
<a-form-item label="身份证照片">
|
||||
<a-form-item name="idCardPicId">
|
||||
<input v-model="form.idCardPicId" hidden />
|
||||
<template #label>
|
||||
<a-tooltip>
|
||||
<template #title
|
||||
>身份证正反面并加盖公司公章,勘察设计类单位还需加盖注册师章</template
|
||||
>
|
||||
<span :style="{ whiteSpace: 'normal' }">
|
||||
身份证正反面
|
||||
<QuestionCircleOutlined />
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<a-upload
|
||||
accept="image/*"
|
||||
action="/api2/upload/uploadfile"
|
||||
@@ -118,6 +129,11 @@
|
||||
<p>身份证号:{{ userApply.idCardNo }}</p>
|
||||
<p>手机号码:{{ userApply.phone }}</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-drawer>
|
||||
</template>
|
||||
@@ -128,7 +144,7 @@
|
||||
</style>
|
||||
<script>
|
||||
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 regex from "@/services/regex";
|
||||
export default {
|
||||
@@ -185,6 +201,14 @@ export default {
|
||||
],
|
||||
receiverAddress: [
|
||||
{ required: true, message: "请输入收件地址", trigger: "blur" }
|
||||
],
|
||||
idCardPicId: [
|
||||
{
|
||||
required: true,
|
||||
message: "上传身份证正反面照片",
|
||||
type: "number",
|
||||
trigger: "blur"
|
||||
}
|
||||
]
|
||||
},
|
||||
userApplyList: [],
|
||||
@@ -332,7 +356,8 @@ export default {
|
||||
}
|
||||
},
|
||||
components: {
|
||||
UploadOutlined
|
||||
UploadOutlined,
|
||||
QuestionCircleOutlined
|
||||
},
|
||||
created: async function() {
|
||||
//获取所在组织信息和个人数字认证信息
|
||||
|
||||
4
src/views/ningboDp.vue
Normal file
4
src/views/ningboDp.vue
Normal file
@@ -0,0 +1,4 @@
|
||||
<template>
|
||||
<router-view></router-view>
|
||||
</template>
|
||||
<script setup></script>
|
||||
204
src/views/ningboDp/Index.vue
Normal file
204
src/views/ningboDp/Index.vue
Normal 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>
|
||||
@@ -9,8 +9,17 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
},
|
||||
// devServer: {
|
||||
// proxy: "http://localhost:42127"
|
||||
// },
|
||||
devServer: {
|
||||
proxy: "http://localhost:42127"
|
||||
proxy: {
|
||||
'/api2': {
|
||||
target: 'http://10.19.94.51:11684',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/api2': '' }
|
||||
}
|
||||
}
|
||||
},
|
||||
chainWebpack: config => {
|
||||
config.module
|
||||
|
||||
Reference in New Issue
Block a user