Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
11 files modified
14 files added
| New file |
| | |
| | | #接口地址 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/drone-command |
| | | |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN=e110584a27d506da2740edca951683f4 |
| | | |
| | | #cesium token |
| | | VITE_APP_CESIUM_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS=gzip |
| | |
| | | ### |
| | | # @Author : yuan |
| | | # @Date : 2026-01-06 09:47:05 |
| | | # @LastEditors : yuan |
| | | # @LastEditTime : 2026-01-07 10:54:42 |
| | | # @FilePath : \applications\drone-command\env\.env.development |
| | | # @Description : |
| | | # Copyright 2026 OBKoro1, All Rights Reserved. |
| | | # 2026-01-06 09:47:05 |
| | | ### |
| | | NODE_ENV = 'development' |
| | | |
| | | #开发环境配置 |
| | | VITE_APP_ENV = 'development' |
| | | |
| | | #接口地址 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/drone-command |
| | | |
| | | # 服务地址 |
| | | #开发环境代理地址(推荐本地新建文件 .env.development.local 来进行覆盖) |
| | | # VITE_APP_URL = https://wrj.shuixiongit.com/api |
| | | #VITE_APP_URL= http://192.168.1.168 |
| | | VITE_APP_URL= http://192.168.1.33:81 |
| | | # VITE_APP_URL= http://192.168.1.204 |
| | | |
| | | #新大屏地址 |
| | | VITE_APP_DASHBOARD_URL = 'https://wrj.shuixiongit.com/command-center-dashboard/' |
| | | |
| | |
| | | VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region |
| | | # 算法仓库图片地址 |
| | | VITE_APP_PICTURE_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket |
| | | |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS = gzip |
| | | |
| | | #页面基础路径 |
| | | # VITE_APP_BASE_COMMAND = /drone-command/ |
| | | |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4 |
| | | VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 设备ip地址 |
| | | VITE_APP_DEVICE_IP = '139.196.74.78:1883' |
| | |
| | | #生产环境配置 |
| | | VITE_APP_ENV = 'production' |
| | | |
| | | #接口地址 |
| | | #填写前缀 [/api] 需要用nginx进行反向代理 |
| | | #填写地址 [https://api.bladex.cn] 只需要保证接口支持跨域即可, 无需再做代理 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/drone-command |
| | | |
| | | # 服务地址 |
| | | VITE_APP_URL = https://aisky.org.cn/api |
| | | |
| | |
| | | |
| | | # 行政区划存放地址 |
| | | VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS = gzip |
| | | |
| | | #页面基础路径 |
| | | # VITE_APP_BASE_COMMAND = /drone-command/ |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4 |
| | | VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 设备ip地址 |
| | | VITE_APP_DEVICE_IP = '101.132.85.201:1883' |
| | |
| | | #开发环境配置 |
| | | VITE_APP_ENV = 'test' |
| | | |
| | | #接口地址 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/drone-command |
| | | |
| | | # 服务地址 |
| | | VITE_APP_URL = https://wrj.shuixiongit.com/api |
| | | #VITE_APP_URL= http://192.168.1.168 rjg |
| | | #VITE_APP_URL= http://192.168.1.33 |
| | | |
| | | #新大屏地址 |
| | | VITE_APP_DASHBOARD_URL = 'https://wrj.shuixiongit.com/command-center-dashboard/' |
| | | |
| | |
| | | |
| | | # 行政区划存放地址 |
| | | VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS = gzip |
| | | |
| | | #页面基础路径 |
| | | # VITE_APP_BASE_COMMAND = /drone-command/ |
| | | |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4 |
| | | VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 设备ip地址 |
| | | VITE_APP_DEVICE_IP = '139.196.74.78:1883' |
| New file |
| | |
| | | #接口地址 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/task-work-order |
| | | |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN=e110584a27d506da2740edca951683f4 |
| | | |
| | | #cesium token |
| | | VITE_APP_CESIUM_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS=gzip |
| | |
| | | #开发环境配置 |
| | | VITE_APP_ENV = 'development' |
| | | |
| | | #接口地址 |
| | | VITE_APP_API=/api |
| | | #开发环境代理地址(推荐本地新建文件 .env.development.local 来进行覆盖) |
| | | # VITE_APP_URL = https://wrj.shuixiongit.com/api |
| | | VITE_APP_URL= http://192.168.1.33:81 |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/task-work-order |
| | | |
| | | # 服务地址 |
| | | VITE_APP_URL = https://wrj.shuixiongit.com/api |
| | | #VITE_APP_URL= http://192.168.1.168 |
| | | # VITE_APP_URL= http://192.168.1.33 |
| | | #VITE_APP_URL= http://192.168.1.204 |
| | | #新大屏地址 |
| | | VITE_APP_DASHBOARD_URL = 'https://wrj.shuixiongit.com/command-center-dashboard/' |
| | | |
| | |
| | | VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region |
| | | # 算法仓库图片地址 |
| | | VITE_APP_PICTURE_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket |
| | | |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS = gzip |
| | | |
| | | #页面基础路径 |
| | | # VITE_APP_BASE_COMMAND = /drone-web-manage/ |
| | | |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4 |
| | | VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 设备ip地址 |
| | | VITE_APP_DEVICE_IP = '139.196.74.78:1883' |
| | |
| | | #生产环境配置 |
| | | VITE_APP_ENV = 'production' |
| | | |
| | | #接口地址 |
| | | #填写前缀 [/api] 需要用nginx进行反向代理 |
| | | #填写地址 [https://api.bladex.cn] 只需要保证接口支持跨域即可, 无需再做代理 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/task-work-order |
| | | |
| | | # 服务地址 |
| | | VITE_APP_URL = https://aisky.org.cn/api |
| | | |
| | |
| | | |
| | | # 行政区划存放地址 |
| | | VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS = gzip |
| | | |
| | | #页面基础路径 |
| | | # VITE_APP_BASE_COMMAND = /drone-web-manage/ |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4 |
| | | VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 设备ip地址 |
| | | VITE_APP_DEVICE_IP = '101.132.85.201:1883' |
| | |
| | | #开发环境配置 |
| | | VITE_APP_ENV = 'test' |
| | | |
| | | #接口地址 |
| | | VITE_APP_API=/api |
| | | |
| | | #页面基础路径 |
| | | VITE_APP_BASE=/task-work-order |
| | | |
| | | # 服务地址 |
| | | VITE_APP_URL = https://wrj.shuixiongit.com/api |
| | | #VITE_APP_URL= http://192.168.1.168 rjg |
| | | #VITE_APP_URL= http://192.168.1.33 |
| | | |
| | | #新大屏地址 |
| | | VITE_APP_DASHBOARD_URL = 'https://wrj.shuixiongit.com/command-center-dashboard/' |
| | | |
| | |
| | | |
| | | # 行政区划存放地址 |
| | | VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region |
| | | # 是否在打包时开启压缩,支持 gzip 和 brotli |
| | | VITE_BUILD_COMPRESS = gzip |
| | | |
| | | #页面基础路径 |
| | | # VITE_APP_BASE_COMMAND = /drone-web-manage/ |
| | | |
| | | #天地图token 浏览器端口 |
| | | VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4 |
| | | VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M |
| | | |
| | | # 设备ip地址 |
| | | VITE_APP_DEVICE_IP = '139.196.74.78:1883' |
| | |
| | | } |
| | | |
| | | |
| | | watch(access_token, initWS, {immediate: true}) |
| | | // watch(access_token, initWS, {immediate: true}) |
| | | } |
| | |
| | | "dev:mp-weixin": "uni -p mp-weixin", |
| | | "dev:mp-weixin-test": "uni -p mp-weixin --mode test", |
| | | "dev:mp-weixin-prod": "uni -p mp-weixin --mode production", |
| | | "dev:app": "uni -p app", |
| | | ",dev:app": "uni -p app", |
| | | "dev:app-android": "uni -p app-android", |
| | | "dev:app-ios": "uni -p app-ios", |
| | | "build:h5": "uni build", |
| | |
| | | } |
| | | |
| | | |
| | | watch(access_token, initWS, {immediate: true}) |
| | | // watch(access_token, initWS, {immediate: true}) |
| | | } |
| | |
| | | }, |
| | | "pages": [ |
| | | { |
| | | "path": "pages/work/index", |
| | | "path": "pages/page/index", |
| | | "style": { |
| | | "navigationBarTitleText": "事件工单", |
| | | "navigationBarTitleText": "首页", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/voiceCall/index", |
| | | "path": "pages/equipmentManagement/index", |
| | | "style": { |
| | | "navigationBarTitleText": "通话", |
| | | "navigationBarTitleText": "设备管理", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/map/index", |
| | | "path": "pages/legalPolicy/index", |
| | | "style": { |
| | | "navigationBarTitleText": "地图", |
| | | "navigationBarTitleText": "法律政策", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "workDetail/index", |
| | | "path": "airspaceInformation/index", |
| | | "style": { |
| | | "navigationBarTitleText": "工单详情" |
| | | "navigationBarTitleText": "空域信息" |
| | | } |
| | | }, |
| | | { |
| | | "path": "workDetail/addWork/index", |
| | | "path": "flightApplication/index", |
| | | "style": { |
| | | "navigationBarTitleText": "新建工单" |
| | | "navigationBarTitleText": "飞行申请" |
| | | } |
| | | }, |
| | | { |
| | |
| | | { |
| | | "iconPath": "static/images/tabbar/icon_order.png", |
| | | "selectedIconPath": "static/images/tabbar/icon_order_selected.png", |
| | | "pagePath": "pages/work/index", |
| | | "text": "工单" |
| | | "pagePath": "pages/page/index", |
| | | "text": "首页" |
| | | }, |
| | | { |
| | | "iconPath": "static/images/tabbar/icon_order.png", |
| | | "selectedIconPath": "static/images/tabbar/icon_order_selected.png", |
| | | "pagePath": "pages/voiceCall/index", |
| | | "text": "通话" |
| | | "pagePath": "pages/equipmentManagement/index", |
| | | "text": "设备管理" |
| | | }, |
| | | { |
| | | "iconPath": "static/images/tabbar/icon_home1.png", |
| | | "selectedIconPath": "static/images/tabbar/icon_home_selected.png", |
| | | "pagePath": "pages/map/index", |
| | | "text": "地图" |
| | | "pagePath": "pages/legalPolicy/index", |
| | | "text": "法律政策" |
| | | }, |
| | | { |
| | | "iconPath": "static/images/tabbar/icon_me.png", |
| New file |
| | |
| | | <template> |
| | | <view class="equipmentManagement"> |
| | | <u-search :show-action="true" actionText="搜索" :animation="true"></u-search> |
| | | <view class="card" v-for="(item, index) in list" :key="index"> |
| | | <view class="left"> |
| | | <u-image :src="item.src" mode="aspectFill" :width="100" :height="100"></u-image> |
| | | </view> |
| | | <view class="right"> |
| | | <view class="grid-text">设备名称:{{ item.name }}</view> |
| | | <view class="grid-text">设备类型:{{ item.type }}</view> |
| | | <view class="grid-text">设备型号:{{ item.xh }}</view> |
| | | <view class="grid-text">设备sn:{{ item.sn }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { reactive, ref } from 'vue' |
| | | import lbPng from '@/static/images/lb.png' |
| | | const list = reactive([ |
| | | { |
| | | src: lbPng, |
| | | name: '设备1', |
| | | type: '类型1', |
| | | xh: '型号1', |
| | | sn: 'SN123456', |
| | | }, |
| | | { |
| | | src: lbPng, |
| | | name: '设备2', |
| | | type: '类型2', |
| | | xh: '型号2', |
| | | sn: 'SN654321', |
| | | }, |
| | | ]) |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .equipmentManagement { |
| | | width: 100%; |
| | | height: 100%; |
| | | .card { |
| | | display: flex; |
| | | margin-top: 20rpx; |
| | | background-color: #f5f5f5; |
| | | padding: 20rpx; |
| | | border-radius: 10rpx; |
| | | .left { |
| | | width: 100px; |
| | | height: 100px; |
| | | } |
| | | .right { |
| | | flex: 1; |
| | | height: 100px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | <view class="legalPolicy"> |
| | | <u-search :show-action="true" actionText="搜索" :animation="true"></u-search> |
| | | <u-tabs :list="list1" @click="click"></u-tabs> |
| | | <view class="content"> |
| | | <view v-for="(item, index) in list2" :key="index"> |
| | | <view>{{ item.name }}</view> |
| | | <view>{{ item.item }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from 'vue' |
| | | |
| | | const list1 = ref([ |
| | | { |
| | | name: '法律法规', |
| | | }, |
| | | { |
| | | name: '政策制度', |
| | | }, |
| | | ]) |
| | | |
| | | const click = (index) => { |
| | | console.log(index) |
| | | } |
| | | |
| | | const list2 = ref([ |
| | | { |
| | | name: '法律法规1', |
| | | item: '法律法规1的内容', |
| | | }, |
| | | { |
| | | name: '法律法规2', |
| | | item: '法律法规2的内容', |
| | | }, |
| | | ]) |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .legalPolicy { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <view class="login-form-wrap"> |
| | | <image class="logo" :src="logoSvg" /> |
| | | <div class="title">掌控智飞</div> |
| | | <div class="title">低空经济服务一体化平台系统</div> |
| | | <div class="user-name"> |
| | | <image :src="usernameSvg" /> |
| | | <!-- <image :src="usernameSvg" /> --> |
| | | <input v-model="loginForm.username" placeholder="请输入用户名" /> |
| | | </div> |
| | | <div class="pass-word"> |
| | | <image :src="passwordSvg" /> |
| | | <!-- <image :src="passwordSvg" /> --> |
| | | <input |
| | | v-model="loginForm.password" |
| | | type="password" |
| | | placeholder="请输入密码" |
| | | /> |
| | | <image :src="showPasswordSvg" /> |
| | | </div> |
| | | <div class="remember-password"> |
| | | <label> |
| | |
| | | import { HOME_PATH, LOGIN_PATH, removeQueryString } from "@/router"; |
| | | import { onMounted } from "vue"; |
| | | |
| | | import logoSvg from "@/static/images/logo.svg"; |
| | | import showPasswordSvg from "@/static/images/show-password.svg"; |
| | | |
| | | const droneSvg = getAssetsImage("/images/login/droneSvg.svg"); |
| | | const usernameSvg = getAssetsImage("/images/login/username.svg"); |
| | | const passwordSvg = getAssetsImage("/images/login/password.svg"); |
| | | const logoSvg = getAssetsImage("/images/login/logo.svg"); |
| | | // const logoSvg = getAssetsImage("/images/login/logo.svg"); |
| | | |
| | | const userStore = useUserStore(); |
| | | const loginForm = ref({ |
| | |
| | | .title { |
| | | font-family: YouSheBiaoTiHei, YouSheBiaoTiHei; |
| | | font-weight: 400; |
| | | font-size: 84rpx; |
| | | font-size: 52rpx; |
| | | line-height: 82rpx; |
| | | letter-spacing: 1px; |
| | | text-shadow: 0px 8px 8px rgba(0, 0, 0, 0.18); |
| | | text-align: center; |
| | | font-style: normal; |
| | | text-transform: none; |
| | | color: #1452d3; |
| | | color: #161B2C; |
| | | text-align: center; |
| | | margin-bottom: 168rpx; |
| | | } |
| New file |
| | |
| | | <template> |
| | | <view class="page"> |
| | | <u-swiper |
| | | :list="lbList" |
| | | :keyName="'image'" |
| | | :height="200" |
| | | :indicator="true" |
| | | @change="change" |
| | | ></u-swiper> |
| | | <u-grid :col="4" :border="false" class="grid" @click="gridClick"> |
| | | <u-grid-item v-for="(baseListItem,baseListIndex) in baseList" :key="baseListIndex"> |
| | | <u-image :src="baseListItem.src" :width="26" :height="26"></u-image> |
| | | <text class="grid-text">{{baseListItem.title}}</text> |
| | | </u-grid-item> |
| | | </u-grid> |
| | | <u-tabs :list="list3" class="tabs"> |
| | | <template #right> |
| | | <view |
| | | style="padding-left: 4px;" |
| | | @tap="$u.toast('插槽被点击')" |
| | | > |
| | | 更多 |
| | | </view> |
| | | </template> |
| | | </u-tabs> |
| | | <view class="card" v-for="(item,index) in list4" :key="index"> |
| | | <view class="left"> |
| | | <u-image :src="lbPng" :width="20" :height="20"></u-image> |
| | | </view> |
| | | <view class="right"> |
| | | <view class="c-top">{{ item.title }}</view> |
| | | <view class="c-middle">{{ item.content }}</view> |
| | | <view class="c-bottom"> |
| | | <view>{{ item.time }}</view> |
| | | <view>{{ item.num }}</view> |
| | | <view>{{ item.like }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { reactive, ref } from 'vue' |
| | | import lbPng from '@/static/images/lb.png' |
| | | import kyxxPng from '@/static/images/kyxx.svg' |
| | | import fxsqPng from '@/static/images/fxsq.svg' |
| | | import flfgPng from '@/static/images/flfg.svg' |
| | | import zczdPng from '@/static/images/zczd.svg' |
| | | const lbList = reactive([]); |
| | | // lbPng 轮播图 5次 |
| | | for (let i = 0; i < 5; i++) { |
| | | lbList.push({ |
| | | image: lbPng, |
| | | title: '法律政策', |
| | | link: '/pages/legalPolicy/index', |
| | | }) |
| | | } |
| | | |
| | | const change = (index) => { |
| | | console.log('轮播图切换到第', index + 1, '张'); |
| | | } |
| | | |
| | | const click = (...args) => { |
| | | // 处理轮播图点击事件 |
| | | if (args.length >= 2) { |
| | | const [item, index] = args; |
| | | console.log('点击了轮播图第', index + 1, '张', item); |
| | | // 轮播图点击跳转,使用switchTab因为目标页面是tabBar页面 |
| | | uni.switchTab({ |
| | | url: item.link, |
| | | }) |
| | | } |
| | | // 处理网格组件点击事件 |
| | | else if (args.length === 1 && typeof args[0] === 'object') { |
| | | const { index, item } = args[0]; |
| | | console.log('点击了网格第', index + 1, '项', item); |
| | | } |
| | | } |
| | | |
| | | const baseList = ref([ |
| | | { |
| | | src: kyxxPng, |
| | | title: '空域信息' |
| | | }, |
| | | { |
| | | src: fxsqPng, |
| | | title: '飞行申请' |
| | | }, |
| | | { |
| | | src: flfgPng, |
| | | title: '法律法规' |
| | | }, |
| | | { |
| | | src: zczdPng, |
| | | title: '政策制度' |
| | | }, |
| | | ]); |
| | | |
| | | const list3 = reactive([ |
| | | { name: '空域信息' }, |
| | | { name: '法律法规' }, |
| | | { name: '政策制度' }, |
| | | ]); |
| | | |
| | | const list4 = reactive([ |
| | | { title: '关于征求', content: '关于征求', time: '2025-10-23', num: '1660', like: '126' }, |
| | | { title: '解决燃气', content: '解决燃气', time: '2025-10-23', num: '126', like: '126' }, |
| | | ]); |
| | | function gridClick(index) { |
| | | if (index === 0) { |
| | | uni.navigateTo({ |
| | | url: '/subPackages/airspaceInformation/index', |
| | | }) |
| | | } else if (index === 1) { |
| | | uni.navigateTo({ |
| | | url: '/subPackages/flightApplication/index', |
| | | }) |
| | | } else if (index === 2) { |
| | | uni.switchTab({ |
| | | url: '/pages/legalPolicy/index', |
| | | }) |
| | | } else if (index === 3) { |
| | | uni.switchTab({ |
| | | url: '/pages/legalPolicy/index', |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .page { |
| | | width: 100%; |
| | | height: 100%; |
| | | .u-grid { |
| | | margin-top: 20px; |
| | | .grid-text { |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: 500; |
| | | font-size: 14px; |
| | | color: #222324; |
| | | } |
| | | } |
| | | .tabs { |
| | | background-color: white; |
| | | border-radius: 10px; |
| | | padding: 0 10px; |
| | | margin-top: 20px; |
| | | } |
| | | .card { |
| | | background-color: white; |
| | | padding: 0 10px; |
| | | padding-top: 10px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .left { |
| | | width: 20px; |
| | | height: 20px; |
| | | } |
| | | .right { |
| | | flex: 1; |
| | | margin-left: 10px; |
| | | .c-bottom { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| New file |
| | |
| | | <svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| | | <g id="Frame" clip-path="url(#clip0_77_1168)"> |
| | | <path id="Vector" d="M0.934694 12.1004C0.934694 12.597 1.36889 13 1.90319 13H3.79989C4.33419 13 4.76839 12.597 4.76839 12.1004C4.76839 11.6038 4.33419 11.2008 3.79989 11.2008H1.90319C1.36759 11.2008 0.934694 11.6038 0.934694 12.1004ZM1.86289 5.80579H3.79989C4.33419 5.80579 4.76839 5.40279 4.76839 4.90619C4.76839 4.40959 4.33419 4.00659 3.79989 4.00659H1.86289C1.32859 4.00659 0.894394 4.40959 0.894394 4.90619C0.894394 5.40279 1.32729 5.80579 1.86289 5.80579ZM4.76839 19.2946C4.76839 18.798 4.33419 18.395 3.79989 18.395H1.86289C1.32859 18.395 0.894394 18.798 0.894394 19.2946C0.894394 19.7912 1.32859 20.1942 1.86289 20.1942H3.79989C4.33419 20.1942 4.76839 19.7912 4.76839 19.2946Z" fill="#2EB28E"/> |
| | | <path id="Vector_2" d="M24.1371 1.36492L22.2001 1.30902C22.2001 0.812424 21.7659 0.409424 21.2316 0.409424H3.84021C3.30591 0.409424 2.87171 0.812424 2.87171 1.30902V3.05102H3.84021C3.84021 3.05102 5.76811 3.22002 5.76811 4.85022C5.76811 4.85022 5.78891 6.65202 3.79081 6.65202L2.87171 6.70402L2.89121 10.2452H3.79471C3.79471 10.2452 5.78761 10.2452 5.78761 12.1562C5.78761 12.1562 5.60171 13.8995 3.78561 13.8995H2.87431L2.85741 17.4394H3.82201C3.82201 17.4394 5.75511 17.4953 5.75511 19.2945C5.75511 19.2945 5.75121 21.1496 3.75441 21.1496L2.88211 21.0937L2.87041 22.8929C2.87041 22.8929 3.98061 25.5904 5.67451 25.5904H24.1969C24.1969 25.5904 25.1043 25.4214 25.1043 24.7467V2.26452C25.1056 2.26452 24.9249 1.36492 24.1371 1.36492ZM7.67391 6.70402H20.2644V13.8982H7.67391V6.70402ZM22.2001 23.7912H5.73691C5.73691 23.7912 4.73851 23.4818 4.73851 22.8643L21.2329 22.8552C21.7685 22.8552 22.2014 22.4522 22.2014 21.9556V2.12412L23.1998 2.43352V22.9488C23.1998 22.9488 23.2297 23.7912 22.2001 23.7912Z" fill="url(#paint0_linear_77_1168)"/> |
| | | <path id="Vector_3" d="M17.8425 8.50342H10.0945C9.8267 8.50342 9.6109 8.70492 9.6109 8.95322C9.6109 9.20152 9.828 9.40302 10.0945 9.40302H17.8425C18.1103 9.40302 18.3261 9.20152 18.3261 8.95322C18.3261 8.70492 18.1103 8.50342 17.8425 8.50342ZM17.8425 11.2009H10.0945C9.8267 11.2009 9.6109 11.4024 9.6109 11.6507C9.6109 11.899 9.828 12.1005 10.0945 12.1005H17.8425C18.1103 12.1005 18.3261 11.899 18.3261 11.6507C18.3261 11.4024 18.1103 11.2009 17.8425 11.2009Z" fill="#2EB28E"/> |
| | | </g> |
| | | <defs> |
| | | <linearGradient id="paint0_linear_77_1168" x1="13.9809" y1="0.409424" x2="13.9809" y2="25.5904" gradientUnits="userSpaceOnUse"> |
| | | <stop stop-color="#226BEA"/> |
| | | <stop offset="1" stop-color="#58AFF9"/> |
| | | </linearGradient> |
| | | <clipPath id="clip0_77_1168"> |
| | | <rect width="26" height="26" fill="white"/> |
| | | </clipPath> |
| | | </defs> |
| | | </svg> |
| New file |
| | |
| | | <svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| | | <g id="Frame" clip-path="url(#clip0_77_1180)"> |
| | | <path id="Vector" d="M21.1866 1H2.8134C2.33493 1 2 1.37879 2 1.80492V25.1951C2 25.6212 2.38277 26 2.8134 26H15.1579C14.2488 24.8636 13.6746 23.4432 13.6746 21.8333C13.6746 18.0928 16.7368 15.0625 20.5167 15.0625C21.0431 15.0625 21.5215 15.1098 22 15.2045V1.80492C22 1.37879 21.6651 1 21.1866 1ZM11.5215 14.3049H6.25837C5.82775 14.3049 5.49282 13.9735 5.49282 13.5473C5.49282 13.1212 5.82775 12.7898 6.25837 12.7898H11.5215C11.9522 12.7898 12.2871 13.1212 12.2871 13.5473C12.2871 13.9735 11.9043 14.3049 11.5215 14.3049ZM16.7368 9.09659H6.21053C5.7799 9.09659 5.44498 8.76515 5.44498 8.33902C5.44498 7.91288 5.7799 7.58144 6.21053 7.58144H16.7368C17.1675 7.58144 17.5024 7.91288 17.5024 8.33902C17.5024 8.76515 17.1675 9.09659 16.7368 9.09659Z" fill="url(#paint0_linear_77_1180)"/> |
| | | <g id="Frame_2" clip-path="url(#clip1_77_1180)"> |
| | | <path id="Vector_2" d="M19.6849 21.3826L19.9017 21.6248L20.2112 21.5251L22.6458 20.741L22.6448 20.74C22.6671 20.733 22.6926 20.734 22.7278 20.7585C22.7672 20.786 22.8199 20.8482 22.8441 20.9568C22.9001 21.2096 22.7536 21.3612 22.6927 21.3806H22.6907L20.261 22.1707L18.2718 22.8113L15.8362 23.5955L15.513 23.698L15.3499 23.3591L14.9407 22.5085L15.2855 22.8328L15.5003 23.0349L15.7806 22.9451L18.0579 22.2156L18.6048 22.0408L18.3558 21.5232L16.7073 18.0935L16.7376 18.0847L19.6849 21.3826Z" fill="#2EB28E" stroke="#2EB28E"/> |
| | | </g> |
| | | </g> |
| | | <defs> |
| | | <linearGradient id="paint0_linear_77_1180" x1="12" y1="1" x2="12" y2="26" gradientUnits="userSpaceOnUse"> |
| | | <stop stop-color="#1E66E9"/> |
| | | <stop offset="1" stop-color="#5BB3FA"/> |
| | | </linearGradient> |
| | | <clipPath id="clip0_77_1180"> |
| | | <rect width="26" height="26" fill="white"/> |
| | | </clipPath> |
| | | <clipPath id="clip1_77_1180"> |
| | | <rect width="9.28571" height="11.1429" fill="white" transform="translate(14.0648 15.7952)"/> |
| | | </clipPath> |
| | | </defs> |
| | | </svg> |
| New file |
| | |
| | | <svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| | | <g id="Frame" clip-path="url(#clip0_77_1162)"> |
| | | <path id="Vector" d="M2.59999 1.30005H22.1C22.4448 1.30005 22.7754 1.43701 23.0192 1.68081C23.263 1.92461 23.4 2.25527 23.4 2.60005V24.7C23.3998 24.9126 23.3475 25.1219 23.2477 25.3095C23.1479 25.4971 23.0036 25.6575 22.8274 25.7764C22.6513 25.8953 22.4486 25.9692 22.2373 25.9917C22.0259 26.0141 21.8123 25.9844 21.6151 25.9051L12.35 22.1754L3.08489 25.9064C2.88758 25.9858 2.67383 26.0155 2.46237 25.993C2.25091 25.9705 2.0482 25.8964 1.87201 25.7773C1.69583 25.6582 1.55154 25.4978 1.45181 25.3099C1.35208 25.1221 1.29995 24.9127 1.29999 24.7V2.60005C1.29999 2.25527 1.43695 1.92461 1.68075 1.68081C1.92455 1.43701 2.25521 1.30005 2.59999 1.30005ZM12.35 16.601L15.7885 18.4119L15.132 14.5769L17.914 11.8599L14.0699 11.3009L12.35 7.81175L10.6301 11.3009L6.78599 11.8599L9.56799 14.5769L8.91149 18.4119L12.35 16.601ZM1.29999 3.90395V5.20655H23.4V3.90395H1.29999Z" fill="url(#paint0_linear_77_1162)"/> |
| | | <path id="Star 1" d="M12.3 10L13.3327 12.0786L15.6287 12.4184L13.971 14.0429L14.3572 16.3316L12.3 15.257L10.2427 16.3316L10.629 14.0429L8.97129 12.4184L11.2672 12.0786L12.3 10Z" fill="#2EB28E"/> |
| | | </g> |
| | | <defs> |
| | | <linearGradient id="paint0_linear_77_1162" x1="12.35" y1="1.30005" x2="12.35" y2="26.0003" gradientUnits="userSpaceOnUse"> |
| | | <stop stop-color="#256DE2"/> |
| | | <stop offset="1" stop-color="#56ACF9"/> |
| | | </linearGradient> |
| | | <clipPath id="clip0_77_1162"> |
| | | <rect width="26" height="26" fill="white"/> |
| | | </clipPath> |
| | | </defs> |
| | | </svg> |
| New file |
| | |
| | | <svg width="67" height="67" viewBox="0 0 67 67" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| | | <g id="Group 1321317860"> |
| | | <path id="Rectangle 346240814" d="M0 16.2424C0 7.27198 7.27198 0 16.2424 0H50.7576C59.728 0 67 7.27198 67 16.2424V50.7576C67 59.728 59.728 67 50.7576 67H16.2424C7.27198 67 0 59.728 0 50.7576V16.2424Z" fill="#477EFF"/> |
| | | <path id="Subtract" d="M55.5284 21.8262C51.7386 23.112 44.1583 27.1857 44.1583 33.1953C44.1584 39.2049 51.7386 43.5495 55.5284 44.9707L49.8439 50.25C48.2197 47.0693 42.697 40.7072 33.6017 40.707C24.506 40.707 19.1182 47.0692 17.5616 50.25L12.2833 44.9707C16.0732 43.2111 23.5719 38.3928 23.2472 33.1953C22.9224 27.9979 15.8025 23.4505 12.2833 21.8262L17.5616 16.75C19.4566 19.8631 24.2624 26.0889 33.6017 26.0889C42.9407 26.0887 48.2874 19.863 49.8439 16.75L55.5284 21.8262ZM33.5636 29.0342C26.8109 29.0342 23.9063 32.4504 23.298 34.1582C24.4389 35.9318 27.8606 39.0839 33.5636 39.084C39.9511 39.084 43.1198 35.8004 44.1085 34.1582C43.272 32.4504 40.3164 29.0342 33.5636 29.0342Z" fill="white"/> |
| | | </g> |
| | | </svg> |
| New file |
| | |
| | | <svg width="22" height="10" viewBox="0 0 22 10" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| | | <g id="Group 1142814567"> |
| | | <path id="Vector" d="M0.578552 0C0.945931 0.705736 1.50259 1.36042 2.21238 1.94212C4.20244 3.57313 7.39628 4.63043 10.997 4.63043C14.5978 4.63043 17.7916 3.57313 19.7816 1.94212C20.4914 1.36042 21.0481 0.705736 21.4155 0" stroke="#1D2129" stroke-width="2"/> |
| | | <path id="Vector_2" d="M13.8779 4.63086L15.0763 9.10351" stroke="#1D2129" stroke-width="2"/> |
| | | <path id="Vector_3" d="M18.7256 3.09961L21.9998 6.37379" stroke="#1D2129" stroke-width="2"/> |
| | | <path id="Vector_4" d="M0 6.37385L3.27421 3.09961" stroke="#1D2129" stroke-width="2"/> |
| | | <path id="Vector_5" d="M6.90381 9.10357L8.10222 4.63086" stroke="#1D2129" stroke-width="2"/> |
| | | </g> |
| | | </svg> |
| New file |
| | |
| | | <svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| | | <g id="Frame" clip-path="url(#clip0_77_1174)"> |
| | | <path id="Vector" d="M23.2143 4.30487V4.86201C23.1581 4.98582 23.1019 5.04773 23.0457 5.17154C22.8772 5.35725 22.6524 5.41915 22.4277 5.41915H6.47043C5.96474 5.41915 5.57143 4.98582 5.57143 4.49058C5.57143 4.24296 5.6838 3.99534 5.85236 3.80963C6.02093 3.62392 6.24568 3.56201 6.47043 3.56201H22.3715C22.7648 3.56201 23.0457 3.80963 23.2143 4.11915V4.30487Z" fill="url(#paint0_linear_77_1174)"/> |
| | | <path id="Vector_2" d="M23.2143 2.14918V1.23381V1.06218C23.2143 0.890544 23.0457 0.776123 22.8771 0.776123H6.18477C3.88045 0.776123 1.96955 2.49244 1.85714 4.60923V21.3147C2.13815 23.3171 3.93665 24.919 6.12857 24.919H22.8209C22.9895 24.919 23.1581 24.7473 23.1581 24.5757V7.64139C23.1581 7.41255 22.9895 7.24092 22.7647 7.29813H13.3788V12.9048C13.3788 13.3052 13.2101 13.7057 12.8729 13.9346C12.7043 14.049 12.4795 14.1062 12.2547 14.1062C12.0861 14.1062 11.9175 14.049 11.8051 13.9918L9.27594 12.6759L6.803 13.9346C6.46579 14.1062 6.07236 14.1062 5.73515 13.8773C5.45413 13.6485 5.22932 13.248 5.22932 12.8476V7.46976C5.22932 7.35534 5.22932 7.24092 5.28552 7.1265C4.33007 6.78323 3.65564 5.92507 3.65564 4.89528C3.65564 3.57944 4.7797 2.49244 6.18477 2.49244H22.7647C22.9895 2.49244 23.2143 2.32081 23.2143 2.14918Z" fill="url(#paint1_linear_77_1174)"/> |
| | | <path id="Vector_3" d="M7.06031 11.5785V7.91968H11.6485H11.7032V11.634L11.6485 11.6055L11.6485 11.634L9.73678 10.6361C9.63366 10.5838 9.48187 10.5315 9.32735 10.5258C9.17813 10.5315 9.07213 10.5838 8.91745 10.6361L7.06031 11.5785Z" fill="#2EB28E"/> |
| | | </g> |
| | | <defs> |
| | | <linearGradient id="paint0_linear_77_1174" x1="14.3929" y1="3.56201" x2="14.3929" y2="5.41915" gradientUnits="userSpaceOnUse"> |
| | | <stop stop-color="#1E66E9"/> |
| | | <stop offset="1" stop-color="#5AB3FA"/> |
| | | </linearGradient> |
| | | <linearGradient id="paint1_linear_77_1174" x1="12.5357" y1="0.776123" x2="12.5357" y2="24.919" gradientUnits="userSpaceOnUse"> |
| | | <stop stop-color="#1E66E9"/> |
| | | <stop offset="1" stop-color="#5AB3FA"/> |
| | | </linearGradient> |
| | | <clipPath id="clip0_77_1174"> |
| | | <rect width="26" height="26" fill="white"/> |
| | | </clipPath> |
| | | </defs> |
| | | </svg> |
| New file |
| | |
| | | <template> |
| | | <view class="airspaceInformation"> |
| | | <view class="title"> |
| | | 空域信息 |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script setup> |
| | | import { ref } from 'vue' |
| | | </script> |
| New file |
| | |
| | | <template> |
| | | <view class="flightApplication"> |
| | | <u-grid :col="2" :border="true" class="grid" @click="gridClick"> |
| | | <u-grid-item v-for="(baseListItem,baseListIndex) in baseList" :key="baseListIndex"> |
| | | <u-image :src="baseListItem.src" :width="26" :height="26"></u-image> |
| | | <text class="grid-text">{{baseListItem.title}}</text> |
| | | </u-grid-item> |
| | | </u-grid> |
| | | <u-search :show-action="true" actionText="搜索" :animation="true"></u-search> |
| | | <view class="title"> |
| | | 审批记录 |
| | | </view> |
| | | <view class="approvalRecord" v-for="(approvalRecord,approvalRecordIndex) in approvalRecords" :key="approvalRecordIndex"> |
| | | <view class="name-status"> |
| | | <view>{{approvalRecord.name}}</view> |
| | | <view>{{approvalRecord.status}}</view> |
| | | </view> |
| | | <view>飞行设备:{{approvalRecord.device}}</view> |
| | | <view>行政区划:{{approvalRecord.area}}</view> |
| | | <view>飞行时间:{{approvalRecord.time}}</view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script setup> |
| | | import lbPng from '@/static/images/lb.png' |
| | | import { ref } from 'vue' |
| | | |
| | | const baseList = ref([ |
| | | { |
| | | src: lbPng, |
| | | title: '飞行申请', |
| | | }, |
| | | { |
| | | src: lbPng, |
| | | title: '我的设备', |
| | | }, |
| | | ]) |
| | | |
| | | function gridClick(index) { |
| | | // 跳转设备管理 /pages/equipmentManagement/index |
| | | if (index === 1) { // '我的设备'是第二个网格项,索引为1 |
| | | uni.switchTab({ |
| | | url: '/pages/equipmentManagement/index', |
| | | }) |
| | | return |
| | | } |
| | | } |
| | | |
| | | // 审批记录是很多条 |
| | | const approvalRecords = ref([ |
| | | { |
| | | name: '飞行需求名称', |
| | | status: '申请中', |
| | | device: '大疆无人机', |
| | | area: '吉州区', |
| | | time: '2026/01/07至2026/01/08', |
| | | }, |
| | | { |
| | | name: '飞行需求名称', |
| | | status: '申请中', |
| | | device: '大疆无人机', |
| | | area: '吉州区', |
| | | time: '2026/01/07至2026/01/08', |
| | | }, |
| | | { |
| | | name: '飞行需求名称', |
| | | status: '申请中', |
| | | device: '大疆无人机', |
| | | area: '吉州区', |
| | | time: '2026/01/07至2026/01/08', |
| | | }, |
| | | { |
| | | name: '飞行需求名称', |
| | | status: '申请中', |
| | | device: '大疆无人机', |
| | | area: '吉州区', |
| | | time: '2026/01/07至2026/01/08', |
| | | }, |
| | | ]) |
| | | </script> |
| | | <style scoped> |
| | | .title { |
| | | font-size: 32rpx; |
| | | font-weight: bold; |
| | | color: #1D6FE9; |
| | | margin: 32rpx 0 24rpx 0; |
| | | } |
| | | .approvalRecord { |
| | | font-size: 28rpx; |
| | | color: #333333; |
| | | margin-bottom: 24rpx; |
| | | } |
| | | .name-status { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | </style> |