init
12
.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
dist
|
||||||
|
*.local
|
||||||
|
.idea
|
||||||
|
.history
|
||||||
|
.vscode
|
||||||
|
.husky/
|
||||||
|
dist.zip
|
||||||
|
*.zip
|
||||||
|
build
|
||||||
|
package-lock.json
|
||||||
16
.hbuilderx/launch.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
|
||||||
|
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
|
||||||
|
"version": "0.0",
|
||||||
|
"configurations": [{
|
||||||
|
"default" :
|
||||||
|
{
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"mp-weixin" :
|
||||||
|
{
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"type" : "uniCloud"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
20
index.html
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<script>
|
||||||
|
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||||
|
CSS.supports('top: constant(a)'))
|
||||||
|
document.write(
|
||||||
|
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||||
|
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||||
|
</script>
|
||||||
|
<title></title>
|
||||||
|
<!--preload-links-->
|
||||||
|
<!--app-context-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"><!--app-html--></div>
|
||||||
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
96
package.json
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
"name": "uni-preset-vue",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"scripts": {
|
||||||
|
"dev:app": "uni -p app",
|
||||||
|
"dev:custom": "uni -p",
|
||||||
|
"dev:h5": "uni",
|
||||||
|
"dev:h5:ssr": "uni --ssr",
|
||||||
|
"dev:mp-alipay": "uni -p mp-alipay",
|
||||||
|
"dev:mp-baidu": "uni -p mp-baidu",
|
||||||
|
"dev:mp-kuaishou": "uni -p mp-kuaishou",
|
||||||
|
"dev:mp-lark": "uni -p mp-lark",
|
||||||
|
"dev:mp-qq": "uni -p mp-qq",
|
||||||
|
"dev:mp-toutiao": "uni -p mp-toutiao",
|
||||||
|
"dev:mp-weixin": "uni -p mp-weixin",
|
||||||
|
"dev:quickapp-webview": "uni -p quickapp-webview",
|
||||||
|
"dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
|
||||||
|
"dev:quickapp-webview-union": "uni -p quickapp-webview-union",
|
||||||
|
"build:app": "uni build -p app",
|
||||||
|
"build:custom": "uni build -p",
|
||||||
|
"build:h5": "uni build",
|
||||||
|
"build:h5:ssr": "uni build --ssr",
|
||||||
|
"build:mp-alipay": "uni build -p mp-alipay",
|
||||||
|
"build:mp-baidu": "uni build -p mp-baidu",
|
||||||
|
"build:mp-kuaishou": "uni build -p mp-kuaishou",
|
||||||
|
"build:mp-lark": "uni build -p mp-lark",
|
||||||
|
"build:mp-qq": "uni build -p mp-qq",
|
||||||
|
"build:mp-toutiao": "uni build -p mp-toutiao",
|
||||||
|
"build:mp-weixin": "uni build -p mp-weixin",
|
||||||
|
"build:quickapp-webview": "uni build -p quickapp-webview",
|
||||||
|
"build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
|
||||||
|
"build:quickapp-webview-union": "uni build -p quickapp-webview-union"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@dcloudio/uni-app": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-app-plus": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-components": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-h5": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-alipay": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-baidu": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-kuaishou": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-lark": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-qq": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-toutiao": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-mp-weixin": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-quickapp-webview": "3.0.0-alpha-3040720220422002",
|
||||||
|
"vue": "^3.2.33",
|
||||||
|
"vue-i18n": "^9.1.9",
|
||||||
|
"vuex": "^4.0.2",
|
||||||
|
"@vueuse/head": "^0.6.0",
|
||||||
|
"ahooks-vue": "^0.11.2",
|
||||||
|
"amfe-flexible": "^2.2.1",
|
||||||
|
"axios": "^0.21.4",
|
||||||
|
"crypto-js": "^4.1.1",
|
||||||
|
"easy-player": "^2.2.7",
|
||||||
|
"html2canvas": "^1.0.0",
|
||||||
|
"install": "^0.13.0",
|
||||||
|
"nprogress": "^0.2.0",
|
||||||
|
"pdfjs-dist": "^2.5.207",
|
||||||
|
"qrcode": "^1.4.4",
|
||||||
|
"sass": "^1.35.1",
|
||||||
|
"vconsole": "^3.11.0",
|
||||||
|
"video.js": "^7.18.1",
|
||||||
|
"vivus": "^0.4.6",
|
||||||
|
"vue-pdf": "^4.3.0",
|
||||||
|
"vue-router": "^4.0.6",
|
||||||
|
"vue-video-player": "^5.0.2",
|
||||||
|
"vue3-clipboard": "^1.0.0",
|
||||||
|
"vue3-video-play": "^1.3.1-beta.6"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@dcloudio/types": "^2.5.17",
|
||||||
|
"@dcloudio/uni-automator": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/uni-cli-shared": "3.0.0-alpha-3040720220422002",
|
||||||
|
"@dcloudio/vite-plugin-uni": "3.0.0-alpha-3040720220422002",
|
||||||
|
"autoprefixer": "^10.4.2",
|
||||||
|
"vite": "^2.9.5",
|
||||||
|
"@commitlint/cli": "^12.1.4",
|
||||||
|
"@commitlint/config-conventional": "^12.1.4",
|
||||||
|
"@vitejs/plugin-vue": "^1.2.4",
|
||||||
|
"@vitejs/plugin-vue-jsx": "^1.1.6",
|
||||||
|
"@vue/compiler-sfc": "^3.1.4",
|
||||||
|
"eslint-config-airbnb-base": "^14.2.1",
|
||||||
|
"eslint-plugin-import": "^2.23.4",
|
||||||
|
"eslint-plugin-vue": "^7.12.1",
|
||||||
|
"husky": "^6.0.0",
|
||||||
|
"less": "^4.1.1",
|
||||||
|
"lint-staged": "^11.0.0",
|
||||||
|
"postcss-pxtorem": "^6.0.0",
|
||||||
|
"stylelint": "^13.13.1",
|
||||||
|
"stylelint-config-standard": "^22.0.0",
|
||||||
|
"svg-sprite-loader": "^6.0.11",
|
||||||
|
"vite-plugin-compression": "^0.2.5",
|
||||||
|
"vite-plugin-style-import": "^1.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
18
src/App.vue
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
onLaunch: function () {
|
||||||
|
console.log('App Launch')
|
||||||
|
},
|
||||||
|
onShow: function () {
|
||||||
|
console.log('App Show')
|
||||||
|
},
|
||||||
|
onHide: function () {
|
||||||
|
console.log('App Hide')
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* @import "wxcomponents/weapp/common/index.wxss"; */
|
||||||
|
/*每个页面公共css */
|
||||||
|
</style>
|
||||||
62
src/api/app.js
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 系统字典
|
||||||
|
export async function comboboxlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/combobox/data/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 区域
|
||||||
|
export async function region(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/administrative/region',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 区域
|
||||||
|
export async function industrylist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/combobox/enterprise/industry/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function industrytype(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/combobox/enterprise/industry/type',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function courselist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/combobox/course/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function accountlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/permissions/account/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传
|
||||||
|
export async function filesupload(data) {
|
||||||
|
return request({
|
||||||
|
baseURL: `${import.meta.env.VITE_APP_WEB_API_URL}/ssp/v2/system/files/upload`,
|
||||||
|
path: '/system/files/upload',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
25
src/api/certificate.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
export async function credentialCourseList(data) {
|
||||||
|
return request({
|
||||||
|
path: '/train/credential/course/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function credentialPersonQuery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/train/credential/person/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function credentialPersonCourseList(data) {
|
||||||
|
return request({
|
||||||
|
path: '/train/credential/person/course/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
210
src/api/danger.js
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 系统字典
|
||||||
|
export async function checkTablelist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/checkTable/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function checkTablequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/checkTable/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddenentlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/ent/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddenentquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/ent/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function examinelist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/examine/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function examinequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/examine/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function examinedelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/examine/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function correctivecheck(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/corrective/check',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function correctivesubmit(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/corrective/submit',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function examinecreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/examine/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function examineupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/examine/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function sheetlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/sheet/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function sheetquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/sheet/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddentasklist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/task/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddentaskdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/task/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function sheetcheck(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/sheet/check',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function sheetsubmit(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/sheet/submit',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function sheetclose(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/sheet/close',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function taskExamineCombobox(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/examine/combobox',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddenTaskBatch(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/task/batch',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddenTaskDelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/hidden/task/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function taskExamineQuery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/examine/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function taskExamineExist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/examine/exist',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddenlibraryex(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/combobox/hidden/library/ex',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function taskPerson(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/person',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function taskSheetUpdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/task/sheet/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
11
src/api/dicts.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
const agentBaseUrl = import.meta.env.VITE_APP_AGENT_API_URL;
|
||||||
|
|
||||||
|
export function contactTypeList(data) {
|
||||||
|
return request({
|
||||||
|
method: 'get',
|
||||||
|
url: `${agentBaseUrl}/contact_type_list`,
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
9
src/api/gridding.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 获取网格树
|
||||||
|
export async function griddingTree() {
|
||||||
|
return request({
|
||||||
|
path: '/permissions/grid/management/tree',
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
842
src/api/index.js
Normal file
@ -0,0 +1,842 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 推文列表
|
||||||
|
export async function appTweets(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/tweets/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 推文列表
|
||||||
|
export async function appTweetsquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/tweets/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取企业列表
|
||||||
|
export async function enterpriselist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/enterprise/management/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业移除
|
||||||
|
export async function enterpriseRemove(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/enterprise/supervise/remove',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业删除
|
||||||
|
export async function enterpriseDelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/enterprise/management/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业认领
|
||||||
|
export async function enterpriseBind(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/enterprise/supervise/bind',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业信息
|
||||||
|
export async function enterprisecreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/enterprise/management/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据区域编号查询网格数
|
||||||
|
export async function griddingOptions(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/gridding/options',
|
||||||
|
type: 'get',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业信息
|
||||||
|
export async function enterprisequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/enterprise/management/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function basequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/base/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全
|
||||||
|
export async function safetyhome(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/home',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全基础信息
|
||||||
|
export async function safetyupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全特性
|
||||||
|
export async function featurehome(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/home',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全特性
|
||||||
|
export async function regulatoryhome(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/home',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 服务机构
|
||||||
|
export async function orglist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/combobox/service/org/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全特性
|
||||||
|
export async function baseupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/base/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全特性
|
||||||
|
export async function safetyinputlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/input/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业安全特性
|
||||||
|
export async function safetyinputdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/input/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function safetydrilllist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/drill/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function safetydrilldelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/drill/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function safetyevaluationlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/evaluation/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function safetyevaluationdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/evaluation/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function safetyplanlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/plan/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function safetyplandelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/plan/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function ammoniaquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/enterprise/ammonia/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function ammoniaupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/enterprise/ammonia/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function metalquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/enterprise/metal/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function metalupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/enterprise/metal/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function shipupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/enterprise/ship/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function shipquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/enterprise/ship/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function facilityupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function storagelist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/storage/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function storagedelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/storage/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function storagequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/storage/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function storageupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/storage/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function storagecreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/storage/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function environmentallist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/environmental/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function environmentalupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/environmental/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function environmentalcreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/environmental/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function environmentalquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/environmental/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function environmentaldelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/environmental/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function buildlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/build/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function buildupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/build/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function buildcreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/build/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function buildquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/build/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function builddelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/facility/build/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function featureother(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/other/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function featureotherupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/other/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function personallist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/personal/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function personalquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/personal/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function personaldelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/personal/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function personalupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/personal/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function personalcreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/personal/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 周边环境
|
||||||
|
export async function surroundingslist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/surroundings/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function surroundingsquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/surroundings/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function surroundingsdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/surroundings/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function surroundingsupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/surroundings/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function surroundingscreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/surroundings/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 应用物资
|
||||||
|
export async function supplieslist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/supplies/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function suppliesquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/supplies/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function suppliesdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/supplies/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function suppliesupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/supplies/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function suppliescreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/supplies/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设备
|
||||||
|
export async function equipmenthome(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/equipment/hone',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function equipmentlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/equipment/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function equipmentquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/equipment/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function equipmentdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/equipment/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function equipmentupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/equipment/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function equipmentcreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/equipment/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 营业执照
|
||||||
|
export async function businessquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/business/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function businessupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/business/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 危化品
|
||||||
|
export async function chemicalslist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/chemicals/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function chemicalsquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/chemicals/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function chemicalscreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/chemicals/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function chemicalsupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/chemicals/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function chemicalsdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/chemicals/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function libraryquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/system/combobox/chemicals/library',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placelabelquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/label/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placelabelupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/label/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placelabellist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placedelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placecreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function placeupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/place/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 锂电池
|
||||||
|
export async function lithiumquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/lithium/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function lithiumlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/lithium/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function lithiumcreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/lithium/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function lithiumdelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/lithium/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function lithiumupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/feature/lithium/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 安全监管
|
||||||
|
export async function regulatoryquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function regulatoryupdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function accidentquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/accident/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function accidentlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/accident/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function eventquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/event/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function eventlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/event/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function checkquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/check/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function checklist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/regulatory/check/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyInputCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/input/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyPlanCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/plan/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyEvaluationCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/evaluation/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyDrillCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/drill/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyTeachList(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/teach/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyTeachDelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/teach/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyTeachCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/teach/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyTrainList(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/train/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyTrainDelete(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/train/delete',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function entSafetyTrainCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/safety/train/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function riskSelfCheckCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/risk/risk/self/check/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据企业名称获取营业执照
|
||||||
|
export async function checkEnterprise(data) {
|
||||||
|
return request({
|
||||||
|
path: '/enterprise/check/enterprise',
|
||||||
|
type: 'get',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
115
src/api/injury.js
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 工伤企业列表
|
||||||
|
export async function injuryenterpriselist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/enterprise/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function injuryenterprisequery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/enterprise/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function injuryHospitalList(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/hospital/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function injuryEnterpriseEarlyWarningChange(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/enterprise/early/warning/change',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function declarationlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/declaration/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function declarationstatistics(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/declaration/statistics',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function declarationquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/declaration/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function declarationUpdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/declaration/update',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function declarationCreate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/declaration/create',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function notificationlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/notification/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function notificationstatistics(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/notification/statistics',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function notificationquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/notification/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function notificationcorrective(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/notification/corrective',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function notificationsubmit(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/notification/submit',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function notificationcheck(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/notification/check',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function revocationapply(data) {
|
||||||
|
return request({
|
||||||
|
path: '/injury/declaration/revocation/apply',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
37
src/api/iot.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
export async function devicelist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/iot/device/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function deviceunbind(data) {
|
||||||
|
return request({
|
||||||
|
path: '/iot/device/unbind',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function alarmlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/iot/device/alarm/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function hikcamera(data) {
|
||||||
|
return request({
|
||||||
|
path: '/iot/hik/cameras',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export async function refugedetail(data) {
|
||||||
|
return request({
|
||||||
|
path: '/emergency/refuge/detail',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
42
src/api/knowledge.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 推文列表
|
||||||
|
export async function lawlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/law/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function hiddenlist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/hidden/type/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function librarylist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/hidden/libaray/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function libraryquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/hidden/libaray/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function chemicaleslist(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/chemical/list',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
33
src/api/question.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
export async function answerquery(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/answer/today/query',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getquestion(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/answer/get/question',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function submitquestion(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/answer/submit/answer',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getdate(data) {
|
||||||
|
return request({
|
||||||
|
path: '/knowledge/answer/get/date',
|
||||||
|
data,
|
||||||
|
type: 'get',
|
||||||
|
});
|
||||||
|
}
|
||||||
19
src/api/user.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 账号登录
|
||||||
|
export async function login(data) {
|
||||||
|
return request({
|
||||||
|
path: '/permissions/login',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 账号登录
|
||||||
|
export async function switchaccount(data) {
|
||||||
|
return request({
|
||||||
|
path: '/permissions/switch/account',
|
||||||
|
data,
|
||||||
|
type: 'post',
|
||||||
|
});
|
||||||
|
}
|
||||||
10
src/main.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import {
|
||||||
|
createSSRApp
|
||||||
|
} from "vue";
|
||||||
|
import App from "./App.vue";
|
||||||
|
export function createApp() {
|
||||||
|
const app = createSSRApp(App);
|
||||||
|
return {
|
||||||
|
app,
|
||||||
|
};
|
||||||
|
}
|
||||||
72
src/manifest.json
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"name" : "",
|
||||||
|
"appid" : "",
|
||||||
|
"description" : "",
|
||||||
|
"versionName" : "1.0.0",
|
||||||
|
"versionCode" : "100",
|
||||||
|
"transformPx" : false,
|
||||||
|
/* 5+App特有相关 */
|
||||||
|
"app-plus" : {
|
||||||
|
"usingComponents" : true,
|
||||||
|
"nvueStyleCompiler" : "uni-app",
|
||||||
|
"compilerVersion" : 3,
|
||||||
|
"splashscreen" : {
|
||||||
|
"alwaysShowBeforeRender" : true,
|
||||||
|
"waiting" : true,
|
||||||
|
"autoclose" : true,
|
||||||
|
"delay" : 0
|
||||||
|
},
|
||||||
|
/* 模块配置 */
|
||||||
|
"modules" : {},
|
||||||
|
/* 应用发布信息 */
|
||||||
|
"distribute" : {
|
||||||
|
/* android打包配置 */
|
||||||
|
"android" : {
|
||||||
|
"permissions" : [
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
/* ios打包配置 */
|
||||||
|
"ios" : {},
|
||||||
|
/* SDK配置 */
|
||||||
|
"sdkConfigs" : {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/* 快应用特有相关 */
|
||||||
|
"quickapp" : {},
|
||||||
|
/* 小程序特有相关 */
|
||||||
|
"mp-weixin" : {
|
||||||
|
"appid" : "wx7b5a3c884f21e6ae",
|
||||||
|
"setting" : {
|
||||||
|
"urlCheck" : false
|
||||||
|
},
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-alipay" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-baidu" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-toutiao" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"uniStatistics" : {
|
||||||
|
"enable" : false
|
||||||
|
},
|
||||||
|
"vueVersion" : "3"
|
||||||
|
}
|
||||||
56
src/pages.json
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||||
|
{
|
||||||
|
"path": "pages/index/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "uni-app"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"globalStyle": {
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarTitleText": "uni-app",
|
||||||
|
"navigationBarBackgroundColor": "#F8F8F8",
|
||||||
|
"backgroundColor": "#F8F8F8",
|
||||||
|
"usingComponents": {
|
||||||
|
"van-button": "wxcomponents/weapp/button/index",
|
||||||
|
"van-field": "wxcomponents/weapp/field/index",
|
||||||
|
"van-switch": "wxcomponents/weapp/switch/index",
|
||||||
|
"van-search": "wxcomponents/weapp/search/index",
|
||||||
|
"van-cell-group": "wxcomponents/weapp/cell-group/index",
|
||||||
|
"van-cell": "wxcomponents/weapp/cell/index",
|
||||||
|
"van-radio": "wxcomponents/weapp/radio/index",
|
||||||
|
"van-radio-group": "wxcomponents/weapp/radio-group/index",
|
||||||
|
"van-checkbox": "wxcomponents/weapp/checkbox/index",
|
||||||
|
"van-checkbox-group": "wxcomponents/weapp/checkbox-group/index",
|
||||||
|
"van-picker": "wxcomponents/weapp/picker/index",
|
||||||
|
"van-popup": "wxcomponents/weapp/popup/index",
|
||||||
|
"van-grid": "wxcomponents/weapp/grid/index",
|
||||||
|
"van-grid-item": "wxcomponents/weapp/grid-item/index",
|
||||||
|
"van-row": "wxcomponents/weapp/row/index",
|
||||||
|
"van-col": "wxcomponents/weapp/col/index",
|
||||||
|
"van-count-down": "wxcomponents/weapp/count-down/index",
|
||||||
|
"van-icon": "wxcomponents/weapp/icon/index",
|
||||||
|
"van-tab": "wxcomponents/weapp/tab/index",
|
||||||
|
"van-tabs": "wxcomponents/weapp/tabs/index",
|
||||||
|
"van-divider": "wxcomponents/weapp/divider/index",
|
||||||
|
"van-dialog": "wxcomponents/weapp/dialog/index",
|
||||||
|
"van-toast": "wxcomponents/weapp/toast/index",
|
||||||
|
"van-stepper": "wxcomponents/weapp/stepper/index",
|
||||||
|
"van-slider": "wxcomponents/weapp/slider/index",
|
||||||
|
"van-tag": "wxcomponents/weapp/tag/index",
|
||||||
|
"van-loading": "wxcomponents/weapp/loading/index",
|
||||||
|
"van-overlay": "wxcomponents/weapp/overlay/index",
|
||||||
|
"van-collapse": "wxcomponents/weapp/collapse/index",
|
||||||
|
"van-collapse-item": "wxcomponents/weapp/collapse-item/index",
|
||||||
|
"van-dropdown-item": "wxcomponents/weapp/dropdown-item/index",
|
||||||
|
"van-dropdown-menu": "wxcomponents/weapp/dropdown-menu/index",
|
||||||
|
"van-empty": "wxcomponents/weapp/empty/index",
|
||||||
|
"van-notice-bar": "wxcomponents/weapp/notice-bar/index",
|
||||||
|
"van-image": "wxcomponents/weapp/image/index",
|
||||||
|
"van-datetime-picker": "wxcomponents/weapp/datetime-picker/index",
|
||||||
|
"van-uploader": "wxcomponents/weapp/uploader/index"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uniIdRouter": {}
|
||||||
|
}
|
||||||
136
src/pages/index/index.vue
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
<template>
|
||||||
|
<view class="index-wrap">
|
||||||
|
<van-button round block type="primary" native-type="submit">提交</van-button>
|
||||||
|
<div class="index-wrap-block">
|
||||||
|
<div style="padding: 20px 0 40px 0; font-size: 15px; text-align:center;">
|
||||||
|
<span>本服务由浙江政务网、永康市应急管理局提供</span><br />
|
||||||
|
<span>服务咨询热线:</span><span style="color: #1492FF">0579-87101962</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
inject, reactive, ref, onMounted,
|
||||||
|
} from 'vue';
|
||||||
|
import { useRequest } from 'ahooks-vue';
|
||||||
|
import { appTweets } from '@/api/index';
|
||||||
|
import { answerquery } from '@/api/question'
|
||||||
|
|
||||||
|
// answerquery().then(res=>{
|
||||||
|
// console.log(res)
|
||||||
|
// })
|
||||||
|
|
||||||
|
// const global = inject('global');
|
||||||
|
// const $store = inject('store');
|
||||||
|
// const { user } = $store.state;
|
||||||
|
// const router = useRouter()
|
||||||
|
|
||||||
|
// function toPath(name) {
|
||||||
|
// if (name == "danger-company" && user?.userInfo?.tag == 'enterprise') {
|
||||||
|
// router.push({ name: 'danger-company-hidden', query: { entId: user?.userInfo?.enterpriseCode } });
|
||||||
|
// return;
|
||||||
|
// } else if (name == "injury-company" && user?.userInfo?.tag == 'enterprise') {
|
||||||
|
// router.push({ name: 'injury-company-view', query: { entId: user?.userInfo?.enterpriseCode } });
|
||||||
|
// return;
|
||||||
|
// } else if (name == "notification-list" && user?.userInfo?.tag == 'enterprise') {
|
||||||
|
// router.push({ name: 'notification-list', query: { entId: user?.userInfo?.enterpriseCode } });
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// router.push({ name });
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function goDetail(path) {
|
||||||
|
// router.push({ name: path })
|
||||||
|
// }
|
||||||
|
|
||||||
|
// const { data: noticeList, loading: noticeLoading } = useRequest(() => appTweets({
|
||||||
|
// type: "notice",
|
||||||
|
// pageNumber: 1,
|
||||||
|
// pageSize: 5
|
||||||
|
// }), {
|
||||||
|
// formatResult: (res) => res.contentList,
|
||||||
|
// });
|
||||||
|
|
||||||
|
const { run: getRun, data: quesInfo } = useRequest(answerquery);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.index-wrap {
|
||||||
|
/* background-color: var(--bg-color-f5f5f5); */
|
||||||
|
|
||||||
|
.van-grid {
|
||||||
|
background-color: #fff;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-grid-item {
|
||||||
|
.van-image {
|
||||||
|
width: 102px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.van-card__thumb) {
|
||||||
|
width: 240px;
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.van-card__header) {
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.van-card__content) {
|
||||||
|
min-height: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-card {
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 30px 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-block {
|
||||||
|
padding: 0 20px;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 28px;
|
||||||
|
color: #333;
|
||||||
|
padding: 20px 20px 20px 36px;
|
||||||
|
/* border-bottom: 1px solid var(--border-color); */
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 20px;
|
||||||
|
height: 28px;
|
||||||
|
top: 50%;
|
||||||
|
width: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-top: -14px;
|
||||||
|
/* background-color: var(--theme-color); */
|
||||||
|
}
|
||||||
|
|
||||||
|
text:first-child {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
text:last-child {
|
||||||
|
color: #999;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
BIN
src/static/battery.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/static/bg-3x.png
Normal file
|
After Width: | Height: | Size: 205 KiB |
BIN
src/static/calendar.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
src/static/danger.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
src/static/date.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
src/static/device/broadcast.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/static/device/cd.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/static/device/fire.png
Normal file
|
After Width: | Height: | Size: 846 B |
BIN
src/static/device/gaota.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/static/device/loading.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
src/static/device/more.png
Normal file
|
After Width: | Height: | Size: 312 B |
BIN
src/static/device/more1.png
Normal file
|
After Width: | Height: | Size: 730 B |
BIN
src/static/device/one.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/static/device/run.png
Normal file
|
After Width: | Height: | Size: 869 B |
BIN
src/static/device/smoke.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/static/device/wind.png
Normal file
|
After Width: | Height: | Size: 670 B |
BIN
src/static/doc.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/static/file.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
src/static/gas.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
src/static/hiddenType.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/static/index/b.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
src/static/index/banner.png
Normal file
|
After Width: | Height: | Size: 582 KiB |
BIN
src/static/index/checktable.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
src/static/index/icon01.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
src/static/index/icon02.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
src/static/index/icon03.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
src/static/index/icon04.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
src/static/index/icon05.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
src/static/index/icon06.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
src/static/index/icon07.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
src/static/index/icon08.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
src/static/index/icon09.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
src/static/index/icon10.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
src/static/index/px.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
src/static/k.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
src/static/law.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/static/logo.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
src/static/mh3.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
src/static/space.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
src/static/spray.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
src/static/tabBar/icon01-norm.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
src/static/tabBar/icon01.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/static/tabBar/icon02-norm.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/static/tabBar/icon02.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/static/tabBar/icon03-norm.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
src/static/tabBar/icon03.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
src/static/tabBar/icon04-norm.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/static/tabBar/icon04.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/static/tabBar/knowledge-norm.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
src/static/tabBar/knowledge.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/static/tabBar/net-norm.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/static/tabBar/net.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/static/yinhuan.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
12
src/store/index.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { createStore } from 'vuex';
|
||||||
|
import app from './modules/app';
|
||||||
|
import user from './modules/user';
|
||||||
|
|
||||||
|
export default createStore({
|
||||||
|
modules: {
|
||||||
|
app,
|
||||||
|
user,
|
||||||
|
},
|
||||||
|
// 启用严格模式,非mutation改变值都会报错
|
||||||
|
strict: true,
|
||||||
|
});
|
||||||
28
src/store/modules/app.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import * as dictsApi from '@/api/dicts';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
namespaced: true,
|
||||||
|
state: {
|
||||||
|
dicts: {},
|
||||||
|
caches: {},
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
getDict({ state, commit }, type) {
|
||||||
|
const fetchDict = (name) => {
|
||||||
|
if (state.dicts[name]?.length || state.dicts[`${name}Loading`]) return Promise.resolve();
|
||||||
|
commit('SET_CONSTANT', { key: `${name}Loading`, val: true });
|
||||||
|
return dictsApi[name]?.().then((res) => {
|
||||||
|
commit('SET_CONSTANT', { key: name, val: res });
|
||||||
|
commit('SET_CONSTANT', { key: `${name}Loading`, val: false });
|
||||||
|
});
|
||||||
|
};
|
||||||
|
if (Array.isArray(type)) {
|
||||||
|
return Promise.all(type.map(fetchDict));
|
||||||
|
}
|
||||||
|
return fetchDict(type);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
149
src/store/modules/user.js
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
/* eslint-disable no-unused-vars */
|
||||||
|
import {
|
||||||
|
login,
|
||||||
|
} from '@/api/user';
|
||||||
|
import router from '@/router';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
namespaced: true,
|
||||||
|
state: {
|
||||||
|
isLogin: false,
|
||||||
|
// userInfo: sessionStorage.getItem('userInfo') ?? {},
|
||||||
|
userInfo: sessionStorage.getItem('userInfo') ? JSON.parse(sessionStorage.getItem('userInfo')) : {},
|
||||||
|
walletInfo: {},
|
||||||
|
checkLoginDialog: false,
|
||||||
|
loginDialog: false,
|
||||||
|
loginLoading: false,
|
||||||
|
registerDialog: false,
|
||||||
|
registerLoading: false,
|
||||||
|
updateLoading: false,
|
||||||
|
walletLoading: false,
|
||||||
|
uploadWalletLoading: false,
|
||||||
|
bindMobile: false,
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
SET_REGISTER_DIALOG(state, val) {
|
||||||
|
state.registerDialog = val;
|
||||||
|
},
|
||||||
|
SET_CHECK_LOGIN_DIALOG(state, val) {
|
||||||
|
state.checkLoginDialog = val;
|
||||||
|
},
|
||||||
|
SET_LOGIN_DIALOG(state, val) {
|
||||||
|
state.loginDialog = val;
|
||||||
|
},
|
||||||
|
SET_USER_INFO(state, val) {
|
||||||
|
state.isLogin = !!Object.keys(val).length;
|
||||||
|
state.userInfo = JSON.parse(sessionStorage.getItem('userInfo'));
|
||||||
|
},
|
||||||
|
SET_WALLET_INFO(state, val) {
|
||||||
|
state.walletInfo = val;
|
||||||
|
},
|
||||||
|
SET_LOADING(state, { key, val }) {
|
||||||
|
state[key] = val;
|
||||||
|
},
|
||||||
|
SET_BINDMOBILE_DIALOG(state, val) {
|
||||||
|
state.bindMobile = val;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
async register({ commit, dispatch }, data) {
|
||||||
|
const {
|
||||||
|
name,
|
||||||
|
data: { clause, ...registerInfo },
|
||||||
|
} = data;
|
||||||
|
commit('SET_LOADING', { key: 'registerLoading', val: true });
|
||||||
|
|
||||||
|
const fn = { account: register, quick: quickregister };
|
||||||
|
|
||||||
|
const res = await fn[name]({ ...registerInfo, domain: document.domain });
|
||||||
|
const { repassword, ...loginInfo } = registerInfo;
|
||||||
|
const { username, password } = res;
|
||||||
|
const loginParams = password ? { username, password } : loginInfo;
|
||||||
|
commit('SET_LOADING', { key: 'registerLoading', val: false });
|
||||||
|
dispatch('login', { ...loginParams, action: name }).then(() => {
|
||||||
|
sessionStorage.setItem('pwd', loginParams.password);
|
||||||
|
return Promise.resolve('success');
|
||||||
|
});
|
||||||
|
router.push({
|
||||||
|
name: 'registerSuccess',
|
||||||
|
query: {
|
||||||
|
...res,
|
||||||
|
name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return res;
|
||||||
|
},
|
||||||
|
async login({ commit, dispatch }, { name, ...data }) {
|
||||||
|
commit('SET_LOADING', { key: 'loginLoading', val: true });
|
||||||
|
try {
|
||||||
|
const res = await login(data);
|
||||||
|
console.log('121312', res);
|
||||||
|
const { token } = res;
|
||||||
|
sessionStorage.setItem('token', token);
|
||||||
|
sessionStorage.setItem('userInfo', JSON.stringify(res));
|
||||||
|
commit('SET_USER_INFO', res);
|
||||||
|
return true;
|
||||||
|
} catch (err) {
|
||||||
|
commit('SET_LOADING', { key: 'loginLoading', val: false });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async mobileLogin({ commit, dispatch }, data) {
|
||||||
|
commit('SET_LOADING', { key: 'loginLoading', val: true });
|
||||||
|
try {
|
||||||
|
const res = await mobileLogin(data);
|
||||||
|
const { token } = res;
|
||||||
|
localStorage.setItem('token', token);
|
||||||
|
dispatch('getWalletInfo');
|
||||||
|
dispatch('getUserInfo');
|
||||||
|
return true;
|
||||||
|
} catch (err) {
|
||||||
|
commit('SET_LOADING', { key: 'loginLoading', val: false });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getUserInfo({ commit }, fn) {
|
||||||
|
if (!fn) commit('SET_LOADING', { key: 'loginLoading', val: true });
|
||||||
|
commit('SET_USER_INFO');
|
||||||
|
commit('SET_LOGIN_DIALOG', false);
|
||||||
|
fn?.();
|
||||||
|
if (!fn) commit('SET_LOADING', { key: 'loginLoading', val: false });
|
||||||
|
return Promise.resolve('success');
|
||||||
|
},
|
||||||
|
updateUserInfo({ commit }, data) {
|
||||||
|
console.log(data)
|
||||||
|
sessionStorage.setItem('token', data.token);
|
||||||
|
sessionStorage.setItem('userInfo', JSON.stringify(data));
|
||||||
|
commit('SET_USER_INFO', data);
|
||||||
|
},
|
||||||
|
getWalletInfo({ state, commit }) {
|
||||||
|
if (state.walletLoading) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const isRefresh = !!Object.keys(state.walletInfo).length;
|
||||||
|
commit('SET_LOADING', {
|
||||||
|
key: 'walletLoading',
|
||||||
|
val: true,
|
||||||
|
});
|
||||||
|
wallet()
|
||||||
|
.then((res) => {
|
||||||
|
commit('SET_WALLET_INFO', res);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
commit('SET_LOADING', {
|
||||||
|
key: 'walletLoading',
|
||||||
|
val: false,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
logout({ commit }) {
|
||||||
|
localStorage.clear();
|
||||||
|
sessionStorage.clear();
|
||||||
|
commit('SET_USER_INFO', {});
|
||||||
|
commit('SET_LOGIN_DIALOG', false);
|
||||||
|
commit('SET_LOADING', { key: 'loginLoading', val: false });
|
||||||
|
return Promise.resolve();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
76
src/uni.scss
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
/**
|
||||||
|
* 这里是uni-app内置的常用样式变量
|
||||||
|
*
|
||||||
|
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||||
|
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||||
|
*
|
||||||
|
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 颜色变量 */
|
||||||
|
|
||||||
|
/* 行为相关颜色 */
|
||||||
|
$uni-color-primary: #007aff;
|
||||||
|
$uni-color-success: #4cd964;
|
||||||
|
$uni-color-warning: #f0ad4e;
|
||||||
|
$uni-color-error: #dd524d;
|
||||||
|
|
||||||
|
/* 文字基本颜色 */
|
||||||
|
$uni-text-color:#333;//基本色
|
||||||
|
$uni-text-color-inverse:#fff;//反色
|
||||||
|
$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
|
||||||
|
$uni-text-color-placeholder: #808080;
|
||||||
|
$uni-text-color-disable:#c0c0c0;
|
||||||
|
|
||||||
|
/* 背景颜色 */
|
||||||
|
$uni-bg-color:#ffffff;
|
||||||
|
$uni-bg-color-grey:#f8f8f8;
|
||||||
|
$uni-bg-color-hover:#f1f1f1;//点击状态颜色
|
||||||
|
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
|
||||||
|
|
||||||
|
/* 边框颜色 */
|
||||||
|
$uni-border-color:#c8c7cc;
|
||||||
|
|
||||||
|
/* 尺寸变量 */
|
||||||
|
|
||||||
|
/* 文字尺寸 */
|
||||||
|
$uni-font-size-sm:24rpx;
|
||||||
|
$uni-font-size-base:28rpx;
|
||||||
|
$uni-font-size-lg:32rpx;
|
||||||
|
|
||||||
|
/* 图片尺寸 */
|
||||||
|
$uni-img-size-sm:40rpx;
|
||||||
|
$uni-img-size-base:52rpx;
|
||||||
|
$uni-img-size-lg:80rpx;
|
||||||
|
|
||||||
|
/* Border Radius */
|
||||||
|
$uni-border-radius-sm: 4rpx;
|
||||||
|
$uni-border-radius-base: 6rpx;
|
||||||
|
$uni-border-radius-lg: 12rpx;
|
||||||
|
$uni-border-radius-circle: 50%;
|
||||||
|
|
||||||
|
/* 水平间距 */
|
||||||
|
$uni-spacing-row-sm: 10px;
|
||||||
|
$uni-spacing-row-base: 20rpx;
|
||||||
|
$uni-spacing-row-lg: 30rpx;
|
||||||
|
|
||||||
|
/* 垂直间距 */
|
||||||
|
$uni-spacing-col-sm: 8rpx;
|
||||||
|
$uni-spacing-col-base: 16rpx;
|
||||||
|
$uni-spacing-col-lg: 24rpx;
|
||||||
|
|
||||||
|
/* 透明度 */
|
||||||
|
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
|
||||||
|
|
||||||
|
/* 文章场景相关 */
|
||||||
|
$uni-color-title: #2C405A; // 文章标题颜色
|
||||||
|
$uni-font-size-title:40rpx;
|
||||||
|
$uni-color-subtitle: #555555; // 二级标题颜色
|
||||||
|
$uni-font-size-subtitle:36rpx;
|
||||||
|
$uni-color-paragraph: #3F536E; // 文章段落颜色
|
||||||
|
$uni-font-size-paragraph:30rpx;
|
||||||
45
src/utils/MessageQueue.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import { Toast } from 'vant';
|
||||||
|
|
||||||
|
export default class MessageQueue {
|
||||||
|
constructor(queue = [], duration = 2000) {
|
||||||
|
this.queue = queue;
|
||||||
|
this.duration = duration;
|
||||||
|
this.queueing = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
pushQueue(data) {
|
||||||
|
this.queue.push(data);
|
||||||
|
this.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
update() {
|
||||||
|
console.log('update');
|
||||||
|
if (!this.queueing) {
|
||||||
|
this.next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clear() {
|
||||||
|
this.queue = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
next() {
|
||||||
|
if (this.queue.length) {
|
||||||
|
this.queueing = true;
|
||||||
|
const data = this.queue.shift();
|
||||||
|
Toast.fail({
|
||||||
|
duration: this.duration,
|
||||||
|
message: data.msg,
|
||||||
|
onClose: () => {
|
||||||
|
if (data.code === -999 || data.code === -998) {
|
||||||
|
this.clear();
|
||||||
|
} else {
|
||||||
|
this.next();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.queueing = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
src/utils/expCommon.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export const idCardPattern = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/
|
||||||
|
|
||||||
|
export const regPhone = /^1[3456789]{1}\d{9}$/;
|
||||||
46
src/utils/formatDate.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
const englishMonthList = [
|
||||||
|
'一月',
|
||||||
|
'二月',
|
||||||
|
'三月',
|
||||||
|
'四月',
|
||||||
|
'五月',
|
||||||
|
'六月',
|
||||||
|
'七月',
|
||||||
|
'八月',
|
||||||
|
'九月',
|
||||||
|
'十月',
|
||||||
|
'十一月',
|
||||||
|
'十二月'
|
||||||
|
];
|
||||||
|
|
||||||
|
const getNewDate = (date) => {
|
||||||
|
let year = date.getFullYear();
|
||||||
|
let month = date.getMonth();
|
||||||
|
let day = date.getDate();
|
||||||
|
return { year, month, day };
|
||||||
|
}
|
||||||
|
|
||||||
|
const getDate = (year, month, day) => {
|
||||||
|
return new Date(year, month, day);
|
||||||
|
}
|
||||||
|
|
||||||
|
const englishMonth = (month) => {
|
||||||
|
let engMonth;
|
||||||
|
|
||||||
|
englishMonthList.map(() => {
|
||||||
|
engMonth = englishMonthList[month]
|
||||||
|
});
|
||||||
|
|
||||||
|
return engMonth
|
||||||
|
}
|
||||||
|
|
||||||
|
const formatDate = (date) => {
|
||||||
|
date = Number(date);
|
||||||
|
return date < 10 ? `0${date}` : date;
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
getNewDate,
|
||||||
|
getDate,
|
||||||
|
englishMonth,
|
||||||
|
formatDate
|
||||||
|
}
|
||||||
56
src/utils/getSrc.js
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import { reactive } from 'vue';
|
||||||
|
|
||||||
|
const ImageMap = reactive({});
|
||||||
|
const allImages = import.meta.glob(`/src/assets/{images,dark}/**/*.{png,jpg,svg,gif,webp}`);
|
||||||
|
|
||||||
|
const findSrc = (path, defaultPath) => {
|
||||||
|
if (!defaultPath.includes('/')) {
|
||||||
|
let [start, end] = path?.split('.') ?? [];
|
||||||
|
start = start?.split('/') ?? [];
|
||||||
|
start.pop();
|
||||||
|
defaultPath = `${start.join('/')}/${defaultPath}.${end}`;
|
||||||
|
} else if (path.includes('/dark/')) {
|
||||||
|
defaultPath = defaultPath.replace('/images/', '/dark/');
|
||||||
|
}
|
||||||
|
// console.log('~~~~~~~~~~~ path', path);
|
||||||
|
const targetPath = allImages[path] ? path : defaultPath;
|
||||||
|
|
||||||
|
if (allImages[targetPath]) {
|
||||||
|
if (!ImageMap[targetPath]) {
|
||||||
|
ImageMap[targetPath] = '';
|
||||||
|
allImages[targetPath]()
|
||||||
|
.then((result) => {
|
||||||
|
ImageMap[targetPath] = result.default;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// if (!ImageMap[targetPath]) {
|
||||||
|
// ImageMap[targetPath] = '';
|
||||||
|
//
|
||||||
|
// if (allImages[path]) {
|
||||||
|
// allImages[path]()
|
||||||
|
// .then((result) => {
|
||||||
|
// ImageMap[path] = result.default;
|
||||||
|
// });
|
||||||
|
// } else if (allImages[defaultPath]) {
|
||||||
|
// console.log('defaultPath', defaultPath);
|
||||||
|
// allImages[defaultPath]()
|
||||||
|
// .then((result) => {
|
||||||
|
// ImageMap[path] = result.default;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
return ImageMap[path] || ImageMap[defaultPath];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const $getSrc = ($store, path, defaultPath = '') => {
|
||||||
|
const { darkTheme } = $store.state.app;
|
||||||
|
if (darkTheme === 'dark') {
|
||||||
|
const target = findSrc(path.replace('/images/', '/dark/'), defaultPath);
|
||||||
|
if (target !== null) return target;
|
||||||
|
}
|
||||||
|
return findSrc(path, defaultPath);
|
||||||
|
};
|
||||||
18
src/utils/globalFunc.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// /* eslint-disable no-param-reassign */
|
||||||
|
import store from '@/store';
|
||||||
|
// import router from '@/router';
|
||||||
|
// import { openGame } from '@/api/app';
|
||||||
|
// import { Toast } from 'vant';
|
||||||
|
// import { ref } from 'vue';
|
||||||
|
|
||||||
|
export default (app) => {
|
||||||
|
app.config.globalProperties.$getPermission = (val) => {
|
||||||
|
// console.log('55555', val);
|
||||||
|
// console.log('124564', store.state.user.userInfo);
|
||||||
|
if (store.state.user.userInfo.resources.includes(val)) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
82
src/utils/hooks.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
/* eslint-disable import/prefer-default-export */
|
||||||
|
import {
|
||||||
|
reactive,
|
||||||
|
getCurrentInstance,
|
||||||
|
nextTick,
|
||||||
|
inject,
|
||||||
|
watch,
|
||||||
|
onBeforeMount,
|
||||||
|
} from 'vue'; // expose public api
|
||||||
|
|
||||||
|
export function useExpose(apis) {
|
||||||
|
const instance = getCurrentInstance();
|
||||||
|
|
||||||
|
if (instance) {
|
||||||
|
Object.assign(instance.proxy, apis);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description: timeout定时器
|
||||||
|
* @param {Function} fn 回调方法
|
||||||
|
* @param {Number} time 执行间隔
|
||||||
|
* @param {Object} options 配置项
|
||||||
|
* @param {Boolean} options.manual 是否手动执行,默认false
|
||||||
|
* @return {Function} 返回可终止定时器方法
|
||||||
|
*/
|
||||||
|
export const useTimeout = (fn, time, options = { manual: false }) => {
|
||||||
|
let timer = null;
|
||||||
|
const run = (...args) => {
|
||||||
|
timer = setTimeout(() => fn.call(null, ...args), time);
|
||||||
|
};
|
||||||
|
if (!options.manual) run();
|
||||||
|
const stop = () => clearTimeout(timer);
|
||||||
|
onBeforeMount(stop);
|
||||||
|
return {
|
||||||
|
run,
|
||||||
|
stop,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export function usePopupState() {
|
||||||
|
const state = reactive({
|
||||||
|
show: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
const toggle = (show) => {
|
||||||
|
state.show = show;
|
||||||
|
};
|
||||||
|
|
||||||
|
const open = (props) => {
|
||||||
|
Object.assign(state, props);
|
||||||
|
nextTick(() => toggle(true));
|
||||||
|
};
|
||||||
|
|
||||||
|
const close = () => toggle(false);
|
||||||
|
|
||||||
|
useExpose({
|
||||||
|
open,
|
||||||
|
close,
|
||||||
|
toggle,
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
open,
|
||||||
|
close,
|
||||||
|
state,
|
||||||
|
toggle,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function useDicts(type, callback) {
|
||||||
|
console.log('useDicts', type);
|
||||||
|
const $store = inject('store');
|
||||||
|
const { dicts } = $store.state.app;
|
||||||
|
if (!dicts[type]?.length && !dicts[`${type}Loading`]) {
|
||||||
|
$store.dispatch('app/getDict', [type]);
|
||||||
|
}
|
||||||
|
|
||||||
|
watch(dicts, () => {
|
||||||
|
if (callback && dicts[type]) {
|
||||||
|
callback(dicts[type]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
170
src/utils/index.js
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
// const images = import.meta.globEager(`/src/assets/*/**/*.{png,svg,jpg,gif}`);
|
||||||
|
const allDialog = import.meta.glob('/src/components/{Dialog,Popup}/*.vue');
|
||||||
|
export const loadModule = async (modulePath) => {
|
||||||
|
try {
|
||||||
|
return await allDialog[modulePath]();
|
||||||
|
} catch (e) {
|
||||||
|
throw new ImportError(`找不到模块路径 ${modulePath}`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export function isFunction(functionToCheck) {
|
||||||
|
return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理密码校验
|
||||||
|
export function testPassword(value, maxLength = 20) {
|
||||||
|
const reg = new RegExp(`^[0-9a-zA-Z]{6,${maxLength}}$`);
|
||||||
|
return reg.test(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function shuffle(array) {
|
||||||
|
let currentIndex = array.length;
|
||||||
|
let randomIndex;
|
||||||
|
|
||||||
|
// While there remain elements to shuffle...
|
||||||
|
while (currentIndex !== 0) {
|
||||||
|
// Pick a remaining element...
|
||||||
|
randomIndex = Math.floor(Math.random() * currentIndex);
|
||||||
|
currentIndex -= 1;
|
||||||
|
|
||||||
|
// And swap it with the current element.
|
||||||
|
// eslint-disable-next-line no-unexpected-multiline
|
||||||
|
const current = array[currentIndex];
|
||||||
|
array[currentIndex] = array[randomIndex];
|
||||||
|
array[randomIndex] = current;
|
||||||
|
// [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function validateEmail(email) {
|
||||||
|
const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||||
|
return re.test(String(email).toLowerCase());
|
||||||
|
}
|
||||||
|
|
||||||
|
export const priceFormat = (price) => (price.toString().indexOf('.') !== -1
|
||||||
|
? `${price
|
||||||
|
.toString()
|
||||||
|
.split('.')[0]
|
||||||
|
.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}.00`
|
||||||
|
: `${price.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}.00`);
|
||||||
|
|
||||||
|
export const timeFilter = (str) => str.substr(0, 10);
|
||||||
|
|
||||||
|
export function dateFormat(formatString, dateValue) {
|
||||||
|
const date = new Date(dateValue);
|
||||||
|
let fmt = formatString;
|
||||||
|
let ret;
|
||||||
|
const opt = {
|
||||||
|
'Y+': date.getFullYear().toString(), // 年
|
||||||
|
'm+': (date.getMonth() + 1).toString(), // 月
|
||||||
|
'd+': date.getDate().toString(), // 日
|
||||||
|
'H+': date.getHours().toString(), // 时
|
||||||
|
'M+': date.getMinutes().toString(), // 分
|
||||||
|
'S+': date.getSeconds().toString(), // 秒
|
||||||
|
// 有其他格式化字符需求可以继续添加,必须转化成字符串
|
||||||
|
};
|
||||||
|
Object.keys(opt).forEach((k) => {
|
||||||
|
ret = new RegExp(`(${k})`).exec(fmt);
|
||||||
|
if (ret) {
|
||||||
|
fmt = fmt.replace(
|
||||||
|
ret[1],
|
||||||
|
ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return fmt;
|
||||||
|
}
|
||||||
|
export const download = (url, name) => {
|
||||||
|
const a = document.createElement('a');
|
||||||
|
const event = new MouseEvent('click');
|
||||||
|
a.download = `${name || new Date().getTime()}.png`;
|
||||||
|
a.href = url;
|
||||||
|
a.dispatchEvent(event);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export function getDate(dates) {
|
||||||
|
const dd = new Date();
|
||||||
|
const n = dates || 0;
|
||||||
|
dd.setDate(dd.getDate() + n);
|
||||||
|
const y = dd.getFullYear();
|
||||||
|
let m = dd.getMonth() + 1;
|
||||||
|
let d = dd.getDate();
|
||||||
|
m = m < 10 ? `0${m}` : m;
|
||||||
|
d = d < 10 ? `0${d}` : d;
|
||||||
|
const day = `${y}-${m}-${d}`;
|
||||||
|
return day;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*getMonth(type,months) //type为字符串类型,有两种选择,"s"代表开始,"e"代表结束,months为数字类型,不传或0代表本月,-1代表上月,1代表下月
|
||||||
|
*getMonth("s",1) //得到下月第一天的yyyy-mm-dd格式日期
|
||||||
|
*getMonth("e",1) //得到下月最后一天的yyyy-mm-dd格式日期
|
||||||
|
*/
|
||||||
|
|
||||||
|
export function getMonth(type, monthArg) {
|
||||||
|
const d = new Date();
|
||||||
|
let year = d.getFullYear();
|
||||||
|
let months = monthArg;
|
||||||
|
let month = d.getMonth() + 1;
|
||||||
|
if (Math.abs(months) > 12) {
|
||||||
|
months %= 12;
|
||||||
|
}
|
||||||
|
if (months !== 0) {
|
||||||
|
if (month + months > 12) {
|
||||||
|
year += 1;
|
||||||
|
month = (month + months) % 12;
|
||||||
|
} else if (month + months < 1) {
|
||||||
|
year -= 1;
|
||||||
|
month = 12 + month + months;
|
||||||
|
} else {
|
||||||
|
month += months;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
month = month < 10 ? `0${month}` : month;
|
||||||
|
const firstDay = `${year}-${month}-01`;
|
||||||
|
let lastDay = '';
|
||||||
|
if (
|
||||||
|
month === '01'
|
||||||
|
|| month === '03'
|
||||||
|
|| month === '05'
|
||||||
|
|| month === '07'
|
||||||
|
|| month === '08'
|
||||||
|
|| month === '10'
|
||||||
|
|| month === '12'
|
||||||
|
) {
|
||||||
|
lastDay = `${year}-${month}-${31}`;
|
||||||
|
} else if (month === '02') {
|
||||||
|
if (
|
||||||
|
(year % 4 === 0 && year % 100 !== 0)
|
||||||
|
|| (year % 100 === 0 && year % 400 === 0)
|
||||||
|
) {
|
||||||
|
lastDay = `${year}-${month}-${29}`;
|
||||||
|
} else {
|
||||||
|
lastDay = `${year}-${month}-${28}`;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
lastDay = `${year}-${month}-${30}`;
|
||||||
|
}
|
||||||
|
let day = '';
|
||||||
|
if (type === 's') {
|
||||||
|
day = firstDay;
|
||||||
|
} else {
|
||||||
|
day = lastDay;
|
||||||
|
}
|
||||||
|
return day;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 密码校验
|
||||||
|
export function formatMobile(value) {
|
||||||
|
return value?.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")
|
||||||
|
}
|
||||||
|
|
||||||
|
export function formatIdCard(value) {
|
||||||
|
return value?.replace(/^(.{6})(?:\d+)(.{4})$/, "$1********$2")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
17
src/utils/mount-component.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* eslint-disable import/prefer-default-export */
|
||||||
|
import { createApp } from 'vue';
|
||||||
|
|
||||||
|
export function mountComponent(RootComponent) {
|
||||||
|
const app = createApp(RootComponent);
|
||||||
|
const root = document.createElement('div');
|
||||||
|
document.body.appendChild(root);
|
||||||
|
return {
|
||||||
|
instance: app.mount(root),
|
||||||
|
|
||||||
|
unmount() {
|
||||||
|
app.unmount();
|
||||||
|
document.body.removeChild(root);
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
60
src/utils/request.js
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
import axios from 'axios'
|
||||||
|
import settle from 'axios/lib/core/settle'
|
||||||
|
let baseURL = 'http://apiv2.yksafety.net/ssp/v2'
|
||||||
|
const instance = axios.create({
|
||||||
|
baseURL,
|
||||||
|
timeout : 6000,
|
||||||
|
responseType: 'json',
|
||||||
|
})
|
||||||
|
|
||||||
|
// 请求拦截
|
||||||
|
instance.interceptors.request.use(
|
||||||
|
config => {
|
||||||
|
// return config
|
||||||
|
return new Promise( ( resolve , reject ) => {
|
||||||
|
// let settle = require('/axios/lib/core/settle')
|
||||||
|
uni.request({
|
||||||
|
method : config.type.toUpperCase(),
|
||||||
|
url : config.baseURL + config.path,
|
||||||
|
header : config.headers,
|
||||||
|
data : config.data,
|
||||||
|
dataType : config.dataType,
|
||||||
|
responseType : config.responseType,
|
||||||
|
complete : function complete( response ) {
|
||||||
|
response = {
|
||||||
|
data : response.data,
|
||||||
|
status : response.statusCode,
|
||||||
|
errMsg : response.errMsg,
|
||||||
|
header : response.header,
|
||||||
|
config : config
|
||||||
|
};
|
||||||
|
settle( resolve , reject , response );
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
return Promise.reject( error );
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// 响应拦截
|
||||||
|
instance.interceptors.response.use( res => {
|
||||||
|
console.log('res',res)
|
||||||
|
if ( res.status == 200 ){
|
||||||
|
return res;
|
||||||
|
} else {
|
||||||
|
return Promise.reject( res.data.msg );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 自定义适配器 , 适配uniapp语法
|
||||||
|
// axios.defaults.adapter = function( config ) {
|
||||||
|
// console.log('config',config)
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
export default function request(url, params) {
|
||||||
|
console.log('url', url);
|
||||||
|
return instance(url, params);
|
||||||
|
}
|
||||||
1
src/wxcomponents/weapp/action-sheet/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
export {};
|
||||||
70
src/wxcomponents/weapp/action-sheet/index.js
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
import { VantComponent } from '../common/component';
|
||||||
|
import { button } from '../mixins/button';
|
||||||
|
VantComponent({
|
||||||
|
mixins: [button],
|
||||||
|
props: {
|
||||||
|
show: Boolean,
|
||||||
|
title: String,
|
||||||
|
cancelText: String,
|
||||||
|
description: String,
|
||||||
|
round: {
|
||||||
|
type: Boolean,
|
||||||
|
value: true,
|
||||||
|
},
|
||||||
|
zIndex: {
|
||||||
|
type: Number,
|
||||||
|
value: 100,
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
type: Array,
|
||||||
|
value: [],
|
||||||
|
},
|
||||||
|
overlay: {
|
||||||
|
type: Boolean,
|
||||||
|
value: true,
|
||||||
|
},
|
||||||
|
closeOnClickOverlay: {
|
||||||
|
type: Boolean,
|
||||||
|
value: true,
|
||||||
|
},
|
||||||
|
closeOnClickAction: {
|
||||||
|
type: Boolean,
|
||||||
|
value: true,
|
||||||
|
},
|
||||||
|
safeAreaInsetBottom: {
|
||||||
|
type: Boolean,
|
||||||
|
value: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onSelect(event) {
|
||||||
|
const { index } = event.currentTarget.dataset;
|
||||||
|
const { actions, closeOnClickAction, canIUseGetUserProfile } = this.data;
|
||||||
|
const item = actions[index];
|
||||||
|
if (item) {
|
||||||
|
this.$emit('select', item);
|
||||||
|
if (closeOnClickAction) {
|
||||||
|
this.onClose();
|
||||||
|
}
|
||||||
|
if (item.openType === 'getUserInfo' && canIUseGetUserProfile) {
|
||||||
|
wx.getUserProfile({
|
||||||
|
desc: item.getUserProfileDesc || ' ',
|
||||||
|
complete: (userProfile) => {
|
||||||
|
this.$emit('getuserinfo', userProfile);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
this.$emit('cancel');
|
||||||
|
},
|
||||||
|
onClose() {
|
||||||
|
this.$emit('close');
|
||||||
|
},
|
||||||
|
onClickOverlay() {
|
||||||
|
this.$emit('click-overlay');
|
||||||
|
this.onClose();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
8
src/wxcomponents/weapp/action-sheet/index.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"van-icon": "../icon/index",
|
||||||
|
"van-popup": "../popup/index",
|
||||||
|
"van-loading": "../loading/index"
|
||||||
|
}
|
||||||
|
}
|
||||||
69
src/wxcomponents/weapp/action-sheet/index.wxml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<wxs src="../wxs/utils.wxs" module="utils" />
|
||||||
|
|
||||||
|
<van-popup
|
||||||
|
show="{{ show }}"
|
||||||
|
position="bottom"
|
||||||
|
round="{{ round }}"
|
||||||
|
z-index="{{ zIndex }}"
|
||||||
|
overlay="{{ overlay }}"
|
||||||
|
custom-class="van-action-sheet"
|
||||||
|
safe-area-inset-bottom="{{ safeAreaInsetBottom }}"
|
||||||
|
close-on-click-overlay="{{ closeOnClickOverlay }}"
|
||||||
|
bind:close="onClickOverlay"
|
||||||
|
>
|
||||||
|
<view wx:if="{{ title }}" class="van-action-sheet__header">
|
||||||
|
{{ title }}
|
||||||
|
<van-icon
|
||||||
|
name="cross"
|
||||||
|
custom-class="van-action-sheet__close"
|
||||||
|
bind:click="onClose"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{ description }}" class="van-action-sheet__description van-hairline--bottom">
|
||||||
|
{{ description }}
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{ actions && actions.length }}">
|
||||||
|
<!-- button外包一层view,防止actions动态变化,导致渲染时button被打散 -->
|
||||||
|
<button
|
||||||
|
wx:for="{{ actions }}"
|
||||||
|
wx:key="index"
|
||||||
|
open-type="{{ item.disabled || item.loading || (canIUseGetUserProfile && item.openType === 'getUserInfo') ? '' : item.openType }}"
|
||||||
|
style="{{ item.color ? 'color: ' + item.color : '' }}"
|
||||||
|
class="{{ utils.bem('action-sheet__item', { disabled: item.disabled || item.loading }) }} {{ item.className || '' }}"
|
||||||
|
hover-class="van-action-sheet__item--hover"
|
||||||
|
data-index="{{ index }}"
|
||||||
|
bindtap="{{ item.disabled || item.loading ? '' : 'onSelect' }}"
|
||||||
|
bindgetuserinfo="onGetUserInfo"
|
||||||
|
bindcontact="onContact"
|
||||||
|
bindgetphonenumber="onGetPhoneNumber"
|
||||||
|
binderror="onError"
|
||||||
|
bindlaunchapp="onLaunchApp"
|
||||||
|
bindopensetting="onOpenSetting"
|
||||||
|
lang="{{ lang }}"
|
||||||
|
session-from="{{ sessionFrom }}"
|
||||||
|
send-message-title="{{ sendMessageTitle }}"
|
||||||
|
send-message-path="{{ sendMessagePath }}"
|
||||||
|
send-message-img="{{ sendMessageImg }}"
|
||||||
|
show-message-card="{{ showMessageCard }}"
|
||||||
|
app-parameter="{{ appParameter }}"
|
||||||
|
>
|
||||||
|
<block wx:if="{{ !item.loading }}">
|
||||||
|
{{ item.name }}
|
||||||
|
<view wx:if="{{ item.subname }}" class="van-action-sheet__subname" >{{ item.subname }}</view>
|
||||||
|
</block>
|
||||||
|
<van-loading wx:else custom-class="van-action-sheet__loading" size="22px" />
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<slot />
|
||||||
|
<block wx:if="{{ cancelText }}">
|
||||||
|
<view class="van-action-sheet__gap" />
|
||||||
|
<view
|
||||||
|
class="van-action-sheet__cancel"
|
||||||
|
hover-class="van-action-sheet__cancel--hover"
|
||||||
|
hover-stay-time="70"
|
||||||
|
bind:tap="onCancel"
|
||||||
|
>
|
||||||
|
{{ cancelText }}
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</van-popup>
|
||||||
1
src/wxcomponents/weapp/action-sheet/index.wxss
Normal file
@ -0,0 +1 @@
|
|||||||
|
@import '../common/index.wxss';.van-action-sheet{color:var(--action-sheet-item-text-color,#323233);max-height:var(--action-sheet-max-height,90%)!important}.van-action-sheet__cancel,.van-action-sheet__item{background-color:var(--action-sheet-item-background,#fff);font-size:var(--action-sheet-item-font-size,16px);line-height:var(--action-sheet-item-line-height,22px);padding:14px 16px;text-align:center}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel:after,.van-action-sheet__item:after{border-width:0}.van-action-sheet__cancel{color:var(--action-sheet-cancel-text-color,#646566)}.van-action-sheet__gap{background-color:var(--action-sheet-cancel-padding-color,#f7f8fa);display:block;height:var(--action-sheet-cancel-padding-top,8px)}.van-action-sheet__item--disabled{color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{color:var(--action-sheet-subname-color,#969799);font-size:var(--action-sheet-subname-font-size,12px);line-height:var(--action-sheet-subname-line-height,20px);margin-top:var(--padding-xs,8px)}.van-action-sheet__header{font-size:var(--action-sheet-header-font-size,16px);font-weight:var(--font-weight-bold,500);line-height:var(--action-sheet-header-height,48px);text-align:center}.van-action-sheet__description{color:var(--action-sheet-description-color,#969799);font-size:var(--action-sheet-description-font-size,14px);line-height:var(--action-sheet-description-line-height,20px);padding:20px var(--padding-md,16px);text-align:center}.van-action-sheet__close{color:var(--action-sheet-close-icon-color,#c8c9cc);font-size:var(--action-sheet-close-icon-size,22px)!important;line-height:inherit!important;padding:var(--action-sheet-close-icon-padding,0 16px);position:absolute!important;right:0;top:0}.van-action-sheet__loading{display:flex!important}
|
||||||
1
src/wxcomponents/weapp/area/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
export {};
|
||||||
220
src/wxcomponents/weapp/area/index.js
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
import { VantComponent } from '../common/component';
|
||||||
|
import { pickerProps } from '../picker/shared';
|
||||||
|
import { requestAnimationFrame } from '../common/utils';
|
||||||
|
const EMPTY_CODE = '000000';
|
||||||
|
VantComponent({
|
||||||
|
classes: ['active-class', 'toolbar-class', 'column-class'],
|
||||||
|
props: Object.assign(Object.assign({}, pickerProps), { showToolbar: {
|
||||||
|
type: Boolean,
|
||||||
|
value: true,
|
||||||
|
}, value: {
|
||||||
|
type: String,
|
||||||
|
observer(value) {
|
||||||
|
this.code = value;
|
||||||
|
this.setValues();
|
||||||
|
},
|
||||||
|
}, areaList: {
|
||||||
|
type: Object,
|
||||||
|
value: {},
|
||||||
|
observer: 'setValues',
|
||||||
|
}, columnsNum: {
|
||||||
|
type: null,
|
||||||
|
value: 3,
|
||||||
|
}, columnsPlaceholder: {
|
||||||
|
type: Array,
|
||||||
|
observer(val) {
|
||||||
|
this.setData({
|
||||||
|
typeToColumnsPlaceholder: {
|
||||||
|
province: val[0] || '',
|
||||||
|
city: val[1] || '',
|
||||||
|
county: val[2] || '',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
} }),
|
||||||
|
data: {
|
||||||
|
columns: [{ values: [] }, { values: [] }, { values: [] }],
|
||||||
|
typeToColumnsPlaceholder: {},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
this.setValues();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getPicker() {
|
||||||
|
if (this.picker == null) {
|
||||||
|
this.picker = this.selectComponent('.van-area__picker');
|
||||||
|
}
|
||||||
|
return this.picker;
|
||||||
|
},
|
||||||
|
onCancel(event) {
|
||||||
|
this.emit('cancel', event.detail);
|
||||||
|
},
|
||||||
|
onConfirm(event) {
|
||||||
|
const { index } = event.detail;
|
||||||
|
let { value } = event.detail;
|
||||||
|
value = this.parseValues(value);
|
||||||
|
this.emit('confirm', { value, index });
|
||||||
|
},
|
||||||
|
emit(type, detail) {
|
||||||
|
detail.values = detail.value;
|
||||||
|
delete detail.value;
|
||||||
|
this.$emit(type, detail);
|
||||||
|
},
|
||||||
|
parseValues(values) {
|
||||||
|
const { columnsPlaceholder } = this.data;
|
||||||
|
return values.map((value, index) => {
|
||||||
|
if (value &&
|
||||||
|
(!value.code || value.name === columnsPlaceholder[index])) {
|
||||||
|
return Object.assign(Object.assign({}, value), { code: '', name: '' });
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onChange(event) {
|
||||||
|
var _a;
|
||||||
|
const { index, picker, value } = event.detail;
|
||||||
|
this.code = value[index].code;
|
||||||
|
(_a = this.setValues()) === null || _a === void 0 ? void 0 : _a.then(() => {
|
||||||
|
this.$emit('change', {
|
||||||
|
picker,
|
||||||
|
values: this.parseValues(picker.getValues()),
|
||||||
|
index,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getConfig(type) {
|
||||||
|
const { areaList } = this.data;
|
||||||
|
return (areaList && areaList[`${type}_list`]) || {};
|
||||||
|
},
|
||||||
|
getList(type, code) {
|
||||||
|
if (type !== 'province' && !code) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const { typeToColumnsPlaceholder } = this.data;
|
||||||
|
const list = this.getConfig(type);
|
||||||
|
let result = Object.keys(list).map((code) => ({
|
||||||
|
code,
|
||||||
|
name: list[code],
|
||||||
|
}));
|
||||||
|
if (code != null) {
|
||||||
|
// oversea code
|
||||||
|
if (code[0] === '9' && type === 'city') {
|
||||||
|
code = '9';
|
||||||
|
}
|
||||||
|
result = result.filter((item) => item.code.indexOf(code) === 0);
|
||||||
|
}
|
||||||
|
if (typeToColumnsPlaceholder[type] && result.length) {
|
||||||
|
// set columns placeholder
|
||||||
|
const codeFill = type === 'province'
|
||||||
|
? ''
|
||||||
|
: type === 'city'
|
||||||
|
? EMPTY_CODE.slice(2, 4)
|
||||||
|
: EMPTY_CODE.slice(4, 6);
|
||||||
|
result.unshift({
|
||||||
|
code: `${code}${codeFill}`,
|
||||||
|
name: typeToColumnsPlaceholder[type],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
getIndex(type, code) {
|
||||||
|
let compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;
|
||||||
|
const list = this.getList(type, code.slice(0, compareNum - 2));
|
||||||
|
// oversea code
|
||||||
|
if (code[0] === '9' && type === 'province') {
|
||||||
|
compareNum = 1;
|
||||||
|
}
|
||||||
|
code = code.slice(0, compareNum);
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
if (list[i].code.slice(0, compareNum) === code) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
setValues() {
|
||||||
|
const picker = this.getPicker();
|
||||||
|
if (!picker) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let code = this.code || this.getDefaultCode();
|
||||||
|
const provinceList = this.getList('province');
|
||||||
|
const cityList = this.getList('city', code.slice(0, 2));
|
||||||
|
const stack = [];
|
||||||
|
const indexes = [];
|
||||||
|
const { columnsNum } = this.data;
|
||||||
|
if (columnsNum >= 1) {
|
||||||
|
stack.push(picker.setColumnValues(0, provinceList, false));
|
||||||
|
indexes.push(this.getIndex('province', code));
|
||||||
|
}
|
||||||
|
if (columnsNum >= 2) {
|
||||||
|
stack.push(picker.setColumnValues(1, cityList, false));
|
||||||
|
indexes.push(this.getIndex('city', code));
|
||||||
|
if (cityList.length && code.slice(2, 4) === '00') {
|
||||||
|
[{ code }] = cityList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (columnsNum === 3) {
|
||||||
|
stack.push(picker.setColumnValues(2, this.getList('county', code.slice(0, 4)), false));
|
||||||
|
indexes.push(this.getIndex('county', code));
|
||||||
|
}
|
||||||
|
return Promise.all(stack)
|
||||||
|
.catch(() => { })
|
||||||
|
.then(() => picker.setIndexes(indexes))
|
||||||
|
.catch(() => { });
|
||||||
|
},
|
||||||
|
getDefaultCode() {
|
||||||
|
const { columnsPlaceholder } = this.data;
|
||||||
|
if (columnsPlaceholder.length) {
|
||||||
|
return EMPTY_CODE;
|
||||||
|
}
|
||||||
|
const countyCodes = Object.keys(this.getConfig('county'));
|
||||||
|
if (countyCodes[0]) {
|
||||||
|
return countyCodes[0];
|
||||||
|
}
|
||||||
|
const cityCodes = Object.keys(this.getConfig('city'));
|
||||||
|
if (cityCodes[0]) {
|
||||||
|
return cityCodes[0];
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
getValues() {
|
||||||
|
const picker = this.getPicker();
|
||||||
|
if (!picker) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
return this.parseValues(picker.getValues().filter((value) => !!value));
|
||||||
|
},
|
||||||
|
getDetail() {
|
||||||
|
const values = this.getValues();
|
||||||
|
const area = {
|
||||||
|
code: '',
|
||||||
|
country: '',
|
||||||
|
province: '',
|
||||||
|
city: '',
|
||||||
|
county: '',
|
||||||
|
};
|
||||||
|
if (!values.length) {
|
||||||
|
return area;
|
||||||
|
}
|
||||||
|
const names = values.map((item) => item.name);
|
||||||
|
area.code = values[values.length - 1].code;
|
||||||
|
if (area.code[0] === '9') {
|
||||||
|
area.country = names[1] || '';
|
||||||
|
area.province = names[2] || '';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
area.province = names[0] || '';
|
||||||
|
area.city = names[1] || '';
|
||||||
|
area.county = names[2] || '';
|
||||||
|
}
|
||||||
|
return area;
|
||||||
|
},
|
||||||
|
reset(code) {
|
||||||
|
this.code = code || '';
|
||||||
|
return this.setValues();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
6
src/wxcomponents/weapp/area/index.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"van-picker": "../picker/index"
|
||||||
|
}
|
||||||
|
}
|
||||||
20
src/wxcomponents/weapp/area/index.wxml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<wxs src="./index.wxs" module="computed" />
|
||||||
|
|
||||||
|
<van-picker
|
||||||
|
class="van-area__picker"
|
||||||
|
active-class="active-class"
|
||||||
|
toolbar-class="toolbar-class"
|
||||||
|
column-class="column-class"
|
||||||
|
show-toolbar="{{ showToolbar }}"
|
||||||
|
value-key="name"
|
||||||
|
title="{{ title }}"
|
||||||
|
loading="{{ loading }}"
|
||||||
|
columns="{{ computed.displayColumns(columns, columnsNum) }}"
|
||||||
|
item-height="{{ itemHeight }}"
|
||||||
|
visible-item-count="{{ visibleItemCount }}"
|
||||||
|
cancel-button-text="{{ cancelButtonText }}"
|
||||||
|
confirm-button-text="{{ confirmButtonText }}"
|
||||||
|
bind:change="onChange"
|
||||||
|
bind:confirm="onConfirm"
|
||||||
|
bind:cancel="onCancel"
|
||||||
|
/>
|
||||||
8
src/wxcomponents/weapp/area/index.wxs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
function displayColumns(columns, columnsNum) {
|
||||||
|
return columns.slice(0, +columnsNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
displayColumns: displayColumns,
|
||||||
|
};
|
||||||
1
src/wxcomponents/weapp/area/index.wxss
Normal file
@ -0,0 +1 @@
|
|||||||
|
@import '../common/index.wxss';
|
||||||
1
src/wxcomponents/weapp/button/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
export {};
|
||||||
64
src/wxcomponents/weapp/button/index.js
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import { VantComponent } from '../common/component';
|
||||||
|
import { button } from '../mixins/button';
|
||||||
|
import { canIUseFormFieldButton } from '../common/version';
|
||||||
|
const mixins = [button];
|
||||||
|
if (canIUseFormFieldButton()) {
|
||||||
|
mixins.push('wx://form-field-button');
|
||||||
|
}
|
||||||
|
VantComponent({
|
||||||
|
mixins,
|
||||||
|
classes: ['hover-class', 'loading-class'],
|
||||||
|
data: {
|
||||||
|
baseStyle: '',
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
formType: String,
|
||||||
|
icon: String,
|
||||||
|
classPrefix: {
|
||||||
|
type: String,
|
||||||
|
value: 'van-icon',
|
||||||
|
},
|
||||||
|
plain: Boolean,
|
||||||
|
block: Boolean,
|
||||||
|
round: Boolean,
|
||||||
|
square: Boolean,
|
||||||
|
loading: Boolean,
|
||||||
|
hairline: Boolean,
|
||||||
|
disabled: Boolean,
|
||||||
|
loadingText: String,
|
||||||
|
customStyle: String,
|
||||||
|
loadingType: {
|
||||||
|
type: String,
|
||||||
|
value: 'circular',
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
value: 'default',
|
||||||
|
},
|
||||||
|
dataset: null,
|
||||||
|
size: {
|
||||||
|
type: String,
|
||||||
|
value: 'normal',
|
||||||
|
},
|
||||||
|
loadingSize: {
|
||||||
|
type: String,
|
||||||
|
value: '20px',
|
||||||
|
},
|
||||||
|
color: String,
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onClick(event) {
|
||||||
|
this.$emit('click', event);
|
||||||
|
const { canIUseGetUserProfile, openType, getUserProfileDesc, lang, } = this.data;
|
||||||
|
if (openType === 'getUserInfo' && canIUseGetUserProfile) {
|
||||||
|
wx.getUserProfile({
|
||||||
|
desc: getUserProfileDesc || ' ',
|
||||||
|
lang: lang || 'en',
|
||||||
|
complete: (userProfile) => {
|
||||||
|
this.$emit('getuserinfo', userProfile);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
7
src/wxcomponents/weapp/button/index.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"van-icon": "../icon/index",
|
||||||
|
"van-loading": "../loading/index"
|
||||||
|
}
|
||||||
|
}
|
||||||