diff --git a/package-lock.json b/package-lock.json index c960254..dfa1b25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,8 @@ "version": "0.0.7", "license": "MIT", "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@amap/amap-jsapi-types": "^0.0.13", "@element-plus/icons-vue": "^2.0.10", "@vueuse/core": "^9.12.0", "@wangeditor/editor": "^5.1.12", @@ -77,6 +79,16 @@ "vue-tsc": "^1.0.24" } }, + "node_modules/@amap/amap-jsapi-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", + "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==" + }, + "node_modules/@amap/amap-jsapi-types": { + "version": "0.0.13", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-types/-/amap-jsapi-types-0.0.13.tgz", + "integrity": "sha512-hwp36URjQT9vDTmoUPYph3SEAiOvoUB+PGK0jZeZamgvaxew7rgc1XZWL/HphyMfRAqKwIYsAvXm9v8DTSjjzA==" + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -12454,6 +12466,16 @@ } }, "dependencies": { + "@amap/amap-jsapi-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", + "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==" + }, + "@amap/amap-jsapi-types": { + "version": "0.0.13", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-types/-/amap-jsapi-types-0.0.13.tgz", + "integrity": "sha512-hwp36URjQT9vDTmoUPYph3SEAiOvoUB+PGK0jZeZamgvaxew7rgc1XZWL/HphyMfRAqKwIYsAvXm9v8DTSjjzA==" + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz", diff --git a/package.json b/package.json index 7616ecd..e21cd46 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,8 @@ "commit": "git pull && git add -A && git-cz && git push" }, "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@amap/amap-jsapi-types": "^0.0.13", "@element-plus/icons-vue": "^2.0.10", "@vueuse/core": "^9.12.0", "@wangeditor/editor": "^5.1.12", diff --git a/src/App.vue b/src/App.vue index 903fcfe..7a2ca46 100644 --- a/src/App.vue +++ b/src/App.vue @@ -33,3 +33,14 @@ const i18nLocale = computed(() => { // 配置全局组件大小 const assemblySize = computed(() => globalStore.assemblySize); + diff --git a/src/api/index.ts b/src/api/index.ts index 192725f..1e54327 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -52,9 +52,6 @@ class RequestHttp { this.service.interceptors.response.use( (response: AxiosResponse) => { const { data } = response; - // console.log("111", data.code); - // debugger; - const globalStore = GlobalStore(); // * 在请求结束后,并关闭请求 loading tryHideFullScreenLoading(); diff --git a/src/api/modules/jxjview.ts b/src/api/modules/jxjview.ts index cbe0901..e732a36 100644 --- a/src/api/modules/jxjview.ts +++ b/src/api/modules/jxjview.ts @@ -34,6 +34,11 @@ export const deleteUser = (params: { configId: string }) => { export const getGovermentList = (params: User.ReqUserParams) => { return http.post>(BASEURL + `/xmgl/government/page`, params); }; + +// 项目注册和企业注册需要的住建局 +export const goverMentlist = () => { + return http.post>(BASEURL + `/xmgl/government/list`, { headers: { noLoading: true } }); +}; // * 新增用户 export const addGovernment = (params: FormData) => { return http.post(BASEURL + `/xmgl/government/add`, params); @@ -166,3 +171,8 @@ export const editAction = (params: { actionId: number }) => { export const deleteAction = (params: { actionId: number }) => { return http.post(BASEURL + `/xmgl/action/delete`, params); }; + +// 项目注册 +export const addProject = (params: FormData) => { + return http.post(BASEURL + `/project/project/add`, params); +}; diff --git a/src/api/modules/login.ts b/src/api/modules/login.ts index 2c6f023..982bb85 100644 --- a/src/api/modules/login.ts +++ b/src/api/modules/login.ts @@ -14,10 +14,10 @@ const BASEURL = import.meta.env.VITE_API_URL; export const loginApi = (params: Login.ReqLoginForm) => { return http.post(BASEURL + `/xmgl/systemUser/login`, params, { headers: { noLoading: true } }); // 正常 post json 请求 ==> application/json - return http.post(BASEURL + `/xmgl/systemUser/login`, params, { headers: { noLoading: true } }); // 控制当前请求不显示 loading - return http.post(BASEURL + `/xmgl/systemUser/login`, {}, { params }); // post 请求携带 query 参数 ==> ?username=admin&password=123456 - return http.post(BASEURL + `/xmgl/systemUser/login`, qs.stringify(params)); // post 请求携带表单参数 ==> application/x-www-form-urlencoded - return http.get(BASEURL + `/xmgl/systemUser/login?${qs.stringify(params, { arrayFormat: "repeat" })}`); // 如果是 get 请求可以携带数组等复杂参数 + // return http.post(BASEURL + `/xmgl/systemUser/login`, params, { headers: { noLoading: true } }); // 控制当前请求不显示 loading + // return http.post(BASEURL + `/xmgl/systemUser/login`, {}, { params }); // post 请求携带 query 参数 ==> ?username=admin&password=123456 + // return http.post(BASEURL + `/xmgl/systemUser/login`, qs.stringify(params)); // post 请求携带表单参数 ==> application/x-www-form-urlencoded + // return http.get(BASEURL + `/xmgl/systemUser/login?${qs.stringify(params, { arrayFormat: "repeat" })}`); // 如果是 get 请求可以携带数组等复杂参数 }; // * 获取按钮权限 diff --git a/src/assets/images/login/Group 2585.jpg b/src/assets/images/login/Group 2585.jpg new file mode 100644 index 0000000..3bbfba7 Binary files /dev/null and b/src/assets/images/login/Group 2585.jpg differ diff --git a/src/assets/images/login/china.png b/src/assets/images/login/china.png new file mode 100644 index 0000000..f9644d0 Binary files /dev/null and b/src/assets/images/login/china.png differ diff --git a/src/assets/images/login/mail11.png b/src/assets/images/login/mail11.png new file mode 100644 index 0000000..02ae941 Binary files /dev/null and b/src/assets/images/login/mail11.png differ diff --git a/src/assets/images/login/mailliekai.png b/src/assets/images/login/mailliekai.png new file mode 100644 index 0000000..8cd596e Binary files /dev/null and b/src/assets/images/login/mailliekai.png differ diff --git a/src/components/AMap/AMap.scss b/src/components/AMap/AMap.scss new file mode 100644 index 0000000..fbe3a92 --- /dev/null +++ b/src/components/AMap/AMap.scss @@ -0,0 +1,61 @@ +$primary: #409eff; + +.map-dialog { + .header { + h4 { + font-size: 1em; + font-weight: 600; + } + + .search-container { + display: flex; + align-items: center; + justify-content: space-between; + + .search-item { + display: flex; + + &:not(:first-child) { + margin-left: 20px; + } + + .search, + .address, + .lon, + .lat { + display: flex; + align-items: center; + margin-left: 5px; + + > span { + flex-shrink: 0; + font-size: 13px; + color: #666; + } + } + } + + .btn-search, + .btn-submit { + margin-left: 10px; + } + } + + @media screen and (max-width: 720px) { + .search-container { + display: block; + + .search-item { + &:not(:first-child) { + margin-top: 15px; + margin-left: 0; + } + } + } + } + } + + .map { + height: 60vh; + } +} diff --git a/src/components/AMap/AMap.ts b/src/components/AMap/AMap.ts new file mode 100644 index 0000000..1691c42 --- /dev/null +++ b/src/components/AMap/AMap.ts @@ -0,0 +1,34 @@ +import AMapLoader from "@amap/amap-jsapi-loader"; +import "@amap/amap-jsapi-types"; +import { ElMessage } from "element-plus"; +import { AMAP_MAP_KEY } from "@/config/config"; + +// FIXME: 插件需要配合密钥使用,官方推荐 key 搭配代理服务器并携带安全密钥转发使用 +// see: https://lbs.amap.com/api/jsapi-v2/guide/abc/prepare +window._AMapSecurityConfig = { + securityJsCode: "df19aa4c9f83a52f7ef66843449f438e" // 密钥 +}; + +const amap = (async function (Loader, AMAP_MAP_KEY) { + return Loader.load({ + key: AMAP_MAP_KEY, + version: "2.0", + plugins: ["AMap.PlaceSearch", "AMap.AutoComplete", "AMap.Geocoder"] + }); +})(AMapLoader, AMAP_MAP_KEY); + +/** + * @description: 初始化 AMap,等待地图加载完成 + * @param {InitCallback} callback 初始化回调 + */ +async function initAMap() { + try { + const AMap = await amap; + return AMap; + } catch (err) { + console.log(err); + ElMessage.error("加载高德地图失败, 请检查网络或需求客服帮助。"); + } +} + +export default initAMap; diff --git a/src/components/AMap/AMap.vue b/src/components/AMap/AMap.vue new file mode 100644 index 0000000..1afc426 --- /dev/null +++ b/src/components/AMap/AMap.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/src/components/Steps/setps-item.scss b/src/components/Steps/setps-item.scss new file mode 100644 index 0000000..1131443 --- /dev/null +++ b/src/components/Steps/setps-item.scss @@ -0,0 +1,52 @@ +$gray: #ccc; +$complete: #409EFF; + +.setps-item { + display: flex; + flex-basis: 50%; + flex-shrink: 1; + + &:nth-last-child(1) { + flex-basis: auto; + flex-shrink: 0; + flex-grow: 0; + .icon { + display: none; + } + } + + .title { + display: flex; + align-items: center; + flex-basis: auto; + color: #ccc; + + .el-icon { + color: #ccc; + } + } + + .title span { + margin-left: 8px; + } + + .icon { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + + .el-icon { + color: $gray; + } + } +} + +.setps-item.complete { + .title { + color: $complete; + } + .el-icon { + color: $complete; + } +} diff --git a/src/components/Steps/setps-item.vue b/src/components/Steps/setps-item.vue new file mode 100644 index 0000000..75db8a8 --- /dev/null +++ b/src/components/Steps/setps-item.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/components/Steps/setps.scss b/src/components/Steps/setps.scss new file mode 100644 index 0000000..8a7f60f --- /dev/null +++ b/src/components/Steps/setps.scss @@ -0,0 +1,4 @@ +.setps { + user-select: none; + padding: 15px 0; +} diff --git a/src/components/Steps/setps.vue b/src/components/Steps/setps.vue new file mode 100644 index 0000000..9b5864b --- /dev/null +++ b/src/components/Steps/setps.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/config/config.ts b/src/config/config.ts index 185a3f0..bd1513b 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -12,7 +12,7 @@ export const LOGIN_URL: string = "/login"; export const DEFAULT_PRIMARY: string = "#008BFF"; // * 路由白名单地址(必须是本地存在的路由 staticRouter.ts) -export const ROUTER_WHITE_LIST: string[] = ["/500", "/projectlogon"]; +export const ROUTER_WHITE_LIST: string[] = ["/500", "/projectlogon", "/compLogon"]; // * 高德地图 key export const AMAP_MAP_KEY: string = "142e51d55274a0140e838245345cf9ad"; diff --git a/src/enums/company/SetpsEnum.ts b/src/enums/company/SetpsEnum.ts new file mode 100644 index 0000000..bf0a235 --- /dev/null +++ b/src/enums/company/SetpsEnum.ts @@ -0,0 +1,14 @@ +export const datas = [ + { + id: 0, + title: "企业基本信息" + }, + { + id: 1, + title: "选择企业主体" + }, + { + id: 2, + title: "注册申请成功" + } +]; diff --git a/src/layouts/LayoutClassic/index.vue b/src/layouts/LayoutClassic/index.vue index a156218..30f3d06 100644 --- a/src/layouts/LayoutClassic/index.vue +++ b/src/layouts/LayoutClassic/index.vue @@ -4,7 +4,8 @@
diff --git a/src/routers/modules/staticRouter.ts b/src/routers/modules/staticRouter.ts index 1c4aedb..83eabd4 100644 --- a/src/routers/modules/staticRouter.ts +++ b/src/routers/modules/staticRouter.ts @@ -25,6 +25,11 @@ export const staticRouter: RouteRecordRaw[] = [ // title: "登录" // } }, + { + path: "/compLogon", + name: "compLogon", + component: () => import("@/views/login/CompanyLogon/index.vue") + }, { path: "/layout", name: "layout", diff --git a/src/styles/element.scss b/src/styles/element.scss index 6a2b91f..8855b9c 100644 --- a/src/styles/element.scss +++ b/src/styles/element.scss @@ -160,6 +160,7 @@ left: 50%; transform: translate(-50%, -50%); .table-empty { + margin-top: 20px; line-height: 30px; } } diff --git a/src/views/jxjview/appmanage/index.vue b/src/views/jxjview/appmanage/index.vue index bb30de4..09650a5 100644 --- a/src/views/jxjview/appmanage/index.vue +++ b/src/views/jxjview/appmanage/index.vue @@ -19,9 +19,10 @@ > diff --git a/src/views/jxjview/government/index.vue b/src/views/jxjview/government/index.vue index 2302190..e7b1ec3 100644 --- a/src/views/jxjview/government/index.vue +++ b/src/views/jxjview/government/index.vue @@ -16,7 +16,11 @@