feat:地图

master
张林 2024-06-19 10:24:04 +08:00
parent 25b81fe812
commit bc98aca1a2
13 changed files with 507 additions and 642 deletions

View File

@ -2,12 +2,17 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script> <script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || var coverSupport =
CSS.supports('top: constant(a)')) 'CSS' in window &&
typeof CSS.supports === 'function' &&
(CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write( document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + '<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' : '') + '" />') (coverSupport ? ', viewport-fit=cover' : '') +
'" />'
)
</script> </script>
<title></title> <title></title>
<!--preload-links--> <!--preload-links-->

View File

@ -70,6 +70,15 @@
}, },
"vueVersion" : "2", "vueVersion" : "2",
"h5" : { "h5" : {
"template" : "template.html" "template" : "template.html",
"sdkConfigs" : {
"maps" : {
"amap" : {
"key" : "4799ff37874e604a22b910b44ca948e5",
"securityJsCode" : "",
"serviceHost" : ""
}
}
}
} }
} }

11
package-lock.json generated
View File

@ -6,6 +6,7 @@
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"@escook/request-miniprogram": "^0.2.1", "@escook/request-miniprogram": "^0.2.1",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"echarts": "^4.9.0", "echarts": "^4.9.0",
@ -14,6 +15,11 @@
"moment": "^2.30.1" "moment": "^2.30.1"
} }
}, },
"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/@escook/request-miniprogram": { "node_modules/@escook/request-miniprogram": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz", "resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz",
@ -66,6 +72,11 @@
} }
}, },
"dependencies": { "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=="
},
"@escook/request-miniprogram": { "@escook/request-miniprogram": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz", "resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz",

View File

@ -1,5 +1,6 @@
{ {
"dependencies": { "dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"@escook/request-miniprogram": "^0.2.1", "@escook/request-miniprogram": "^0.2.1",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"echarts": "^4.9.0", "echarts": "^4.9.0",

View File

@ -172,60 +172,52 @@
} }
}, },
{ {
"path" : "pages/gqzq/gqxx/gqxx", "path": "pages/gqzq/gqxx/gqxx",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/gqxx/qk", "path": "pages/gqzq/gqxx/qk",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/gqxx/xq", "path": "pages/gqzq/gqxx/xq",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/gqxx/qkForm", "path": "pages/gqzq/gqxx/qkForm",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/gqxx/xqForm", "path": "pages/gqzq/gqxx/xqForm",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/zqxx/zqxx", "path": "pages/gqzq/zqxx/zqxx",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/zqxx/table", "path": "pages/gqzq/zqxx/table",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
}, },
{ {
"path" : "pages/gqzq/zqxx/form", "path": "pages/gqzq/zqxx/form",
"style" : "style": {
{ "navigationBarTitleText": ""
"navigationBarTitleText" : "" }
}
} }
], ],
"usingComponents": { "usingComponents": {

View File

@ -477,10 +477,9 @@ export default {
methods: { methods: {
async getImgs () { async getImgs () {
uni.request({ uni.request({
url: 'http://223.75.53.124:8005/grb/rainimglist?tm=2024061308', url: 'http://223.75.53.124:8005/grb/rainimglist',
data: { data: {
tm: `${this.imgtm}08` tm: `${this.imgtm}08`
// tm: `2024061308`
}, },
success: res => { success: res => {
console.log(res.data.data) console.log(res.data.data)

View File

@ -1,335 +1,346 @@
<template> <template>
<view class="u-page"> <view class="u-page">
<u-navbar <view v-if="!isMap">
title="实时灾情上报" <u-navbar
@leftClick="navigateBack" title="实时灾情上报"
safeAreaInsetTop @leftClick="navigateBack"
fixed safeAreaInsetTop
placeholder fixed
></u-navbar> placeholder
<view class="info"> ></u-navbar>
<view class="u-demo-block__content"> <view class="info">
<!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 --> <view class="u-demo-block__content">
<!-- 工程详情上报 --> <!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 -->
<u--form <!-- 工程详情上报 -->
labelPosition="left" <u--form
:model="formList" labelPosition="left"
ref="form2" :model="formList"
labelWidth="100" ref="form2"
v-if="key == 3" labelWidth="100"
> v-if="key == 3"
<u-form-item
label="灾害发生时间"
prop="projectName"
@click="
isTime2 = true
hideKeyboard()
"
:borderBottom="false"
ref="item1"
> >
<u--input <u-form-item
placeholder="请选择" label="灾害发生时间"
v-model="formList.otime" prop="otime"
suffixIcon="arrow-right" @click="
suffixIconStyle="color: #909399" isTime2 = true
></u--input> hideKeyboard()
</u-form-item> "
<u-form-item :borderBottom="false"
label="严重程度" ref="item1"
prop="severityList" >
:borderBottom="false" <u--input
@click=" placeholder="请选择"
isseverity = true v-model="formList.otime"
hideKeyboard() suffixIcon="arrow-right"
" suffixIconStyle="color: #909399"
ref="item1" ></u--input>
> </u-form-item>
<u--input <u-form-item
placeholder="请选择" label="严重程度"
v-model="formList.severity" prop="severity"
suffixIcon="arrow-right" :borderBottom="false"
suffixIconStyle="color: #909399" @click="
></u--input> isseverity = true
</u-form-item> hideKeyboard()
<!-- @click="toMap" --> "
<u-form-item ref="item1"
label="灾害发生地点" >
prop="address" <u--input
:borderBottom="false" placeholder="请选择"
ref="item1" v-model="formList.severity"
> suffixIcon="arrow-right"
<u--input suffixIconStyle="color: #909399"
placeholder="请输入" ></u--input>
v-model="formList.address" </u-form-item>
suffixIconStyle="color: #909399" <!-- @click="toMap" -->
></u--input> <u-form-item
</u-form-item> label="灾害发生地点"
<u-form-item label="经度:" :borderBottom="false" ref="item1"> prop="address"
<u--input @click="toMap"
placeholder="请选择" :borderBottom="false"
v-model="formList.lgtd" ref="item1"
suffixIconStyle="color: #909399" >
></u--input> <u--input
</u-form-item> placeholder="请输入"
<u-form-item label="纬度" :borderBottom="false" ref="item1"> v-model="formList.address"
<u--input suffixIconStyle="color: #909399"
placeholder="请选择" ></u--input>
v-model="formList.lttd" </u-form-item>
suffixIconStyle="color: #909399" <u-form-item label="经度:" :borderBottom="false" ref="item1">
></u--input> <u--input
</u-form-item> placeholder="请选择"
v-model="formList.lgtd"
suffixIconStyle="color: #909399"
></u--input>
</u-form-item>
<u-form-item label="纬度" :borderBottom="false" ref="item1">
<u--input
placeholder="请选择"
v-model="formList.lttd"
suffixIconStyle="color: #909399"
></u--input>
</u-form-item>
<!-- 水位(m) --> <!-- 水位(m) -->
<u-form-item <u-form-item
label="灾情描述" label="灾情描述"
prop="ddscrib" prop="ddscrib"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--textarea <u--textarea
placeholder="请输入" placeholder="请输入"
v-model="formList.ddscrib" v-model="formList.ddscrib"
count count
></u--textarea> ></u--textarea>
</u-form-item> </u-form-item>
<!-- 管控责任人 --> <!-- 管控责任人 -->
<u-form-item label="伤亡人数" prop="dpcount" ref="item3"> <u-form-item label="伤亡人数" prop="dpcount" ref="item3">
<u--input <u--input
v-model="formList.dpcount" v-model="formList.dpcount"
placeholder="请输入" placeholder="请输入"
border="surround" border="surround"
clearable clearable
></u--input> ></u--input>
</u-form-item> </u-form-item>
<!-- 出库流量 (/s) --> <!-- 出库流量 (/s) -->
<u-form-item <u-form-item
label="失踪人数" label="失踪人数"
prop="mpcount" prop="mpcount"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--input <u--input
v-model="formList.mpcount" v-model="formList.mpcount"
placeholder="请输入" placeholder="请输入"
type="number" type="number"
clearable clearable
border="surround" border="surround"
></u--input> ></u--input>
</u-form-item> </u-form-item>
<u-form-item <u-form-item
label="转移人数" label="转移人数"
prop="spcount" prop="spcount"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--input <u--input
v-model="formList.spcount" v-model="formList.spcount"
placeholder="请输入" placeholder="请输入"
type="number" type="number"
clearable clearable
border="surround" border="surround"
></u--input> ></u--input>
</u-form-item> </u-form-item>
<u-form-item <u-form-item
label="损毁房屋(间)" label="损毁房屋(间)"
prop="chcount" prop="chcount"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--input <u--input
v-model="formList.chcount" v-model="formList.chcount"
placeholder="请输入" placeholder="请输入"
type="number" type="number"
clearable clearable
border="surround" border="surround"
@blur="BlurText($event)" @blur="BlurText($event)"
></u--input> ></u--input>
</u-form-item> </u-form-item>
<u-form-item <u-form-item
label="直接经济损失 (万元)" label="直接经济损失 (万元)"
prop="elose" prop="elose"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--input <u--input
v-model="formList.elose" v-model="formList.elose"
placeholder="请输入" placeholder="请输入"
type="number" type="number"
clearable clearable
border="surround" border="surround"
@blur="BlurText($event)" @blur="BlurText($event)"
></u--input> ></u--input>
</u-form-item> </u-form-item>
<u-form-item <u-form-item
label="过程降雨量(mm)" label="过程降雨量(mm)"
prop="pfrain" prop="pfrain"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--input <u--input
v-model="formList.pfrain" v-model="formList.pfrain"
placeholder="请输入" placeholder="请输入"
type="number" type="number"
clearable clearable
border="surround" border="surround"
@blur="BlurText($event)" @blur="BlurText($event)"
></u--input> ></u--input>
</u-form-item> </u-form-item>
<!-- 其他运行情况 --> <!-- 其他运行情况 -->
<u-form-item <u-form-item
label="其他情况说明" label="其他情况说明"
prop="remark" prop="remark"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u--textarea <u--textarea
placeholder="请输入" placeholder="请输入"
v-model="formList.remark" v-model="formList.remark"
count count
></u--textarea> ></u--textarea>
</u-form-item> </u-form-item>
<u-form-item <u-form-item
label="附件" label="附件"
prop="fileList" prop="fileList"
:borderBottom="false" :borderBottom="false"
ref="item3" ref="item3"
> >
<u-upload <u-upload
:fileList="fileList1" :fileList="fileList1"
@afterRead="afterRead" @afterRead="afterRead"
@delete="deletePic" @delete="deletePic"
name="1" name="1"
multiple multiple
:maxCount="10" :maxCount="10"
:previewFullImage="true" :previewFullImage="true"
></u-upload> ></u-upload>
</u-form-item> </u-form-item>
</u--form> </u--form>
<u-button <u-button
type="primary" type="primary"
text="提交" text="提交"
customStyle="margin-top: 50px" customStyle="margin-top: 50px"
@click="submit" @click="submit"
></u-button> ></u-button>
<!-- 下拉选择 --> <!-- 下拉选择 -->
<u-datetime-picker <u-datetime-picker
:show="isTime2" :show="isTime2"
v-model="valueTime2" v-model="valueTime2"
mode="date" mode="datetime"
@confirm="confirm2" @confirm="confirm2"
@cancel="cancel2" @cancel="cancel2"
></u-datetime-picker> ></u-datetime-picker>
<!-- mode="top" --> <!-- mode="top" -->
<view v-if="isName"> <view v-if="isName">
<u-popup <u-popup
:show="isName" :show="isName"
@close="isName = false" @close="isName = false"
mode="right" mode="right"
@open="open" @open="open"
> >
<view style="padding: 30px 20px"> <view style="padding: 30px 20px">
<view class="tabs_h"> <view class="tabs_h">
<div <div
class="leftTab" class="leftTab"
:class="{ activetextTypeTab: showTextTypeTab == 1 }" :class="{ activetextTypeTab: showTextTypeTab == 1 }"
@click="tabChange(1)" @click="tabChange(1)"
> >
{{ namelabel }} {{ namelabel }}
</div> </div>
<div <div
class="rightTab" class="rightTab"
:class="{ activetextTypeTab: showTextTypeTab == 2 }" :class="{ activetextTypeTab: showTextTypeTab == 2 }"
@click="tabChange(2)" @click="tabChange(2)"
> >
{{ gclabel }} {{ gclabel }}
</div> </div>
</view> </view>
<!-- 水电站和水库 --> <!-- 水电站和水库 -->
<view class="" v-if="isSk"> <view class="" v-if="isSk">
<div
class="ul_list"
:class="{ activeTypeClass: activeType == 1 }"
@click="todetail(1, '水库')"
>
<div class="left">水库</div>
<u-icon
v-if="activeType == 1"
name="checkmark"
color="#2286f6"
size="20"
></u-icon>
</div>
<div
class="ul_list"
:class="{ activeTypeClass: activeType == 2 }"
@click="todetail(2, '水电站')"
>
<div class="left">水电站</div>
<u-icon
v-if="activeType == 2"
name="checkmark"
color="#2286f6"
size="20"
></u-icon>
</div>
</view>
<!-- 具体水库或者水电站 -->
<view v-else style="height: 300px; overflow-y: auto">
<div v-for="(item, index) in resList" :key="index">
<div <div
class="ul_list" class="ul_list"
:class="{ activeTypeClass: item.isShow }" :class="{ activeTypeClass: activeType == 1 }"
@click="infoClick(item)" @click="todetail(1, '水库')"
> >
<div class="left">{{ item.resName }}</div> <div class="left">水库</div>
<u-icon <u-icon
v-if="item.isShow" v-if="activeType == 1"
name="checkmark" name="checkmark"
color="#2286f6" color="#2286f6"
size="20" size="20"
></u-icon> ></u-icon>
</div> </div>
</div>
<div
class="ul_list"
:class="{ activeTypeClass: activeType == 2 }"
@click="todetail(2, '水电站')"
>
<div class="left">水电站</div>
<u-icon
v-if="activeType == 2"
name="checkmark"
color="#2286f6"
size="20"
></u-icon>
</div>
</view>
<!-- 具体水库或者水电站 -->
<view v-else style="height: 300px; overflow-y: auto">
<div v-for="(item, index) in resList" :key="index">
<div
class="ul_list"
:class="{ activeTypeClass: item.isShow }"
@click="infoClick(item)"
>
<div class="left">{{ item.resName }}</div>
<u-icon
v-if="item.isShow"
name="checkmark"
color="#2286f6"
size="20"
></u-icon>
</div>
</div>
</view>
</view> </view>
</view> </u-popup>
</u-popup> </view>
</view>
<!-- 严重程度 --> <!-- 严重程度 -->
<u-action-sheet <u-action-sheet
:show="isseverity" :show="isseverity"
:actions="severityList" :actions="severityList"
title="请选择" title="请选择"
@close="isseverity = false" @close="isseverity = false"
@select="severitySelect" @select="severitySelect"
> >
</u-action-sheet> </u-action-sheet>
<!-- 是否已管控 --> <!-- 是否已管控 -->
<u-action-sheet <u-action-sheet
:show="isControlled" :show="isControlled"
:actions="actions" :actions="actions"
title="请选择" title="请选择"
@close="isControlled = false" @close="isControlled = false"
@select="controlledSelect" @select="controlledSelect"
> >
</u-action-sheet> </u-action-sheet>
</view> </view> </view
></view>
<view v-if="isMap">
<newmap @back="back"></newmap>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import moment from 'moment' import moment from 'moment'
import newmap from './map.vue'
export default { export default {
name: 'dsfrom',
components: {
newmap
},
data () { data () {
return { return {
isMap: false,
showTextTypeTab: 1, showTextTypeTab: 1,
activeType: '', activeType: '',
valueTime2: Number(moment()), valueTime2: Number(moment()),
@ -403,6 +414,22 @@ export default {
message: '请选择时间', message: '请选择时间',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
],
severity: [
{
type: 'string',
required: true,
message: '请选择严重程度',
trigger: ['blur', 'change']
}
],
address: [
{
type: 'string',
required: true,
message: '请选择灾害发生点',
trigger: ['blur', 'change']
}
] ]
}, },
projectType: 1 projectType: 1
@ -420,6 +447,19 @@ export default {
this.$refs.form2.setRules(this.rules) this.$refs.form2.setRules(this.rules)
}, },
methods: { methods: {
back (lnglat, address) {
console.log('搜索框22key', lnglat, address)
this.isMap = false
this.formList.lgtd = lnglat[0]
this.formList.lttd = lnglat[1]
this.formList.address = address
},
toMap () {
// uni.navigateTo({
// url: `./map`
// })
this.isMap = true
},
async getresList () { async getresList () {
let res = null let res = null
this.resList = [] this.resList = []
@ -621,11 +661,7 @@ export default {
console.log('取消') console.log('取消')
this.isTime2 = false this.isTime2 = false
}, },
toMap () {
uni.navigateTo({
url: `./map`
})
},
// //
BlurText (e) { BlurText (e) {
console.log('e', e) console.log('e', e)

View File

@ -1,271 +0,0 @@
<template>
<view class="container">
<view class="nav_bar">
<u-icon name="arrow-left" @click="rightClick" size="28"></u-icon>
<view class="nav_bar_tit"> {{ title[key] }}</view>
<view></view>
</view>
<!-- form__info -->
<view class="info">
<u-form
labelPosition="left"
:model="infoForm"
ref="infoForm"
labelWidth="100"
>
<template v-if="key == 1">
<!-- 工程名称 -->
<u-form-item
label="工程名称"
prop="projectName"
borderBottom
ref="item3"
>
<u--input
v-model="infoForm.projectName"
placeholder="请输入内容"
border="surround"
disabled
></u--input>
</u-form-item>
<!-- 是否发电 -->
<u-form-item
label="是否发电"
prop="isPowerGeneration"
borderBottom
ref="item3"
>
<u--input
v-model="infoForm.isPowerGeneration"
placeholder="请输入内容"
border="surround"
disabled
></u--input>
</u-form-item>
<!-- 是否泄洪 -->
<u-form-item
label="是否泄洪"
prop="isFloodRelease"
borderBottom
ref="item3"
>
<u--input
v-model="infoForm.isFloodRelease"
placeholder="请输入内容"
border="surround"
disabled
></u--input>
</u-form-item>
<!-- 水位(m) -->
<u-form-item
label="水位(m)"
prop="waterLevel"
borderBottom
ref="item3"
>
<u--input
v-model="infoForm.waterLevel"
placeholder="请输入内容"
border="surround"
disabled
></u--input>
</u-form-item>
<!-- 入库流量 (/s) -->
<u-form-item
label="入库流量(m³/s)"
prop="inflowVolume"
borderBottom
ref="item3"
>
<u--input
v-model="infoForm.inflowVolume"
placeholder="请输入内容"
border="surround"
disabled
></u--input>
</u-form-item>
<!-- 出库流量 (/s) -->
<u-form-item
label="出库流量(m³/s)"
prop="outflowVolume"
borderBottom
ref="item3"
>
<u--input
v-model="infoForm.outflowVolume"
placeholder="请输入内容"
border="surround"
disabled
></u--input>
</u-form-item>
<!-- 其他运行情况 -->
<u-form-item
label="其他运行情况"
prop="remark"
borderBottom
ref="item3"
>
<u--textarea
v-model="infoForm.remark"
placeholder="请输入内容"
disabled
></u--textarea>
</u-form-item>
<!-- 附件 -->
<u-form-item
label="附件"
prop="checkboxValue1"
borderBottom
ref="item3"
>
</u-form-item>
</template>
<template v-if="key == 2"></template>
<template v-if="key == 3"></template>
</u-form>
<view>
<u-button
type="primary"
text="上报"
customStyle="margin: 10px"
@click="submit"
></u-button>
</view>
</view>
</view>
</template>
<script>
import moment from 'moment'
export default {
props: ['info'],
data () {
return {
infoForm: {
projectName: '',
isPowerGeneration: '',
isFloodRelease: '',
waterLevel: '',
inflowVolume: '',
outflowVolume: '',
remark: '',
reportUnit: '',
reportTime: '',
projectType: '',
checkboxValue1: '水库',
reporter: '' //
},
key: '',
title: {
1: '运行情况上报',
2: '工程险情上报',
3: '实时灾情上报'
}
}
},
onLoad (options) {
this.key = options.key
console.log('搜索框', options.key)
},
mounted () {
console.log('info', this.info)
},
methods: {
submit () {},
reset () {
const validateList = [
'userInfo.start',
'userInfo.end',
'userInfo.checkboxValue1'
]
this.$refs.uForm.resetFields()
this.$refs.uForm.clearValidate()
setTimeout(() => {
this.$refs.uForm.clearValidate(validateList)
// 使 this.$refs.uForm.clearValidate()
}, 10)
},
//
rightClick () {
console.log('rightClick')
uni.navigateTo({
url: '/pages/xxsb/index'
})
}
}
}
</script>
<style lang="scss" scoped>
.container {
font-size: 14px;
background-color: #f3f5f8;
}
.tabs_h {
display: flex;
justify-content: center;
align-items: center;
height: 56rpx;
line-height: 88rpx;
background-color: #fff;
margin-bottom: 12rpx;
text-align: center;
}
.leftTab {
width: 80px;
}
.rightTab {
width: 80px;
}
.activetextTypeTab,
.activetextTypeTab:hover {
// border-bottom: 3rpx solid #2286f6;
color: #026be0;
}
.nav_bar {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-top: 30px;
padding-top: 20px;
padding-bottom: 10px;
border-bottom: 1px solid #dfdfdf;
box-shadow: 0 5px 10px -8px #dfdfdf inset;
background-color: #fff;
margin-bottom: 12rpx;
}
.nav_bar_tit {
text-align: center;
}
.info {
background-color: #fff;
margin-bottom: 12rpx;
// text-align: right;
padding: 20px;
}
.fl {
display: flex;
justify-content: start;
align-items: left;
}
.flsb {
display: flex;
justify-content: space-between;
align-items: center;
}
.bottom {
display: flex;
justify-content: space-between;
align-items: center;
}
.u-image {
width: 100%; /* 或者其他尺寸 */
transition: transform 0.3s; /* 平滑的放大效果 */
}
</style>

View File

@ -171,7 +171,7 @@
<u-popup <u-popup
:show="isName" :show="isName"
@close="isName = false" @close="isName = false"
mode="right" mode="bottom"
@open="open" @open="open"
> >
<view style="padding: 30px 20px"> <view style="padding: 30px 20px">

View File

@ -464,7 +464,9 @@ export default {
// console.log('radioChange', n); // console.log('radioChange', n);
}, },
navigateBack () { navigateBack () {
uni.navigateBack() uni.reLaunch({
url: '/pages/xxsb/index'
})
}, },
severitySelect (e) { severitySelect (e) {

View File

@ -1,30 +1,111 @@
<template> <template>
<view class="mapBox"> <view>
<div>fdfdfd</div> <!-- <map id="container" latitude="39.9" longitude="116.4"></map> -->
<map id="myMap"></map> <map
<button text="确定"></button> id="container"
:latitude="lnglat[1]"
:longitude="lnglat[0]"
enable-scroll
enable-rotate
></map>
<view class="text">
<text class="tit">当前位置</text>
<view id="adds">{{ address }}</view>
</view>
<view class="text">
<p class="tit">/纬度</p>
<view
><span id="lng">{{ lnglat[0] }} {{ lnglat[1] }}</span></view
>
</view>
<u-button
type="primary"
text="确定"
customStyle="margin-top: 50px"
@click="backclick"
></u-button>
</view> </view>
</template> </template>
<script> <script>
// import AMapLoader from '@amap/amap-jsapi-loader'
export default { export default {
name: 'map-view',
data () { data () {
return { return {
lng: 120.12345, lnglat: [109.139726, 29.665203],
lat: 30.6789, geocoder: null,
scale: 16 marker: null,
geocoder: null,
address: null,
markers: [
{
latitude: 29.665203,
longitude: 109.139726,
iconPath: '../../static/tabs/add.png'
}
]
}
},
mounted () {},
onShow () {},
onLoad () {
this.initAMap()
},
methods: {
backclick () {
this.$emit('back', this.lnglat, this.address)
},
mapClick (val) {
console.log('val', val)
},
initAMap () {
const self = this
console.log('erreee')
uni.getLocation({
type: 'gcj02',
isHighAccuracy: 'true',
geocode: 'true',
success: function (res) {
console.log('res', res)
const latitude = res.latitude
const longitude = res.longitude
// this.lnglat = [109.139726, 29.665203]
self.lnglat = [longitude, latitude]
// this.lnglat = [res.longitude, res.latitude]
console.log('lnglatlnglat', self.lnglat, res)
console.log('地址', res.address)
if (res.address) {
console.log('地址', res.address.province)
self.address =
res.address.province +
res.address.city +
res.address.district +
res.address.street +
res.address.poiName
console.log('地址', self.address)
}
}
})
} }
} }
} }
</script> </script>
<style scoped>
<style lang="scss" scoped> #container {
.mapBox {
width: 100%; width: 100%;
height: 100%; height: 450px;
padding: 10px;
} }
#id { .text {
height: 300px; margin: 10px;
background-color: pink; padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
.text .tit {
font-size: 14px;
font-weight: bold;
} }
</style> </style>

BIN
static/tabs/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
static/tabs/dw-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B