bug修改
This commit is contained in:
parent
0d66d41f15
commit
f5e3e96be8
|
|
@ -76,6 +76,7 @@
|
|||
},
|
||||
/* ios打包配置 */
|
||||
"ios" : {
|
||||
"UIRequiresFullScreen" : false, // 允许非全屏模式
|
||||
"urlschemewhitelist" : [ "iosmap" ],
|
||||
"dSYMs" : false,
|
||||
"plistcmds" : [
|
||||
|
|
|
|||
|
|
@ -599,6 +599,8 @@
|
|||
{
|
||||
"path": "pages/shop/photoAlbum/videoplayer",
|
||||
"style": {
|
||||
"navigationBarTitleText": "全屏视频播放",
|
||||
"pageOrientation": "auto",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
|
@ -969,7 +971,8 @@
|
|||
"selectedIconPath": "/static/images/tabbar/home_icon_active.png",
|
||||
"pagePath": "pages/home/home"
|
||||
},
|
||||
{ "iconPath": "/static/images/tabbar/new_message_gray.png",
|
||||
{
|
||||
"iconPath": "/static/images/tabbar/new_message_gray.png",
|
||||
"text": "消息",
|
||||
"selectedIconPath": "/static/images/tabbar/new_message.png",
|
||||
"pagePath": "pages/message/message"
|
||||
|
|
|
|||
|
|
@ -6,37 +6,22 @@
|
|||
<!-- 城市选择-->
|
||||
<view class="search-container" v-if="isSelectCity">
|
||||
<text class="search-container-text" @click="goSelectCity">{{ city.name }}</text>
|
||||
<image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/wxstaic/images/Fill.jpg" mode="aspectFit" class="text-img"></image>
|
||||
<image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/wxstaic/images/Fill.jpg" mode="aspectFit"
|
||||
class="text-img"></image>
|
||||
</view>
|
||||
|
||||
<!-- 地图容器 -->
|
||||
<view class="map-container" :style="{ height: mapHeight + 'rpx' }">
|
||||
<map
|
||||
v-if="mapVisible"
|
||||
:key="mapRenderKey"
|
||||
id="map"
|
||||
class="map"
|
||||
:latitude="latitude"
|
||||
:longitude="longitude"
|
||||
scale="19"
|
||||
@tap="onMapTap"
|
||||
@regionchange="changeMap"
|
||||
></map>
|
||||
<map v-if="mapVisible" :key="mapRenderKey" id="map" class="map" :latitude="latitude" :longitude="longitude"
|
||||
scale="19" @tap="onMapTap" @regionchange="changeMap"></map>
|
||||
|
||||
<image
|
||||
v-if="showMapSnapshot"
|
||||
class="map-snapshot"
|
||||
:src="mapSnapshotUrl"
|
||||
mode="aspectFill"
|
||||
@load="onSnapshotLoad"
|
||||
@error="onSnapshotError"
|
||||
></image>
|
||||
<image v-if="showMapSnapshot" class="map-snapshot" :src="mapSnapshotUrl" mode="aspectFill"
|
||||
@load="onSnapshotLoad" @error="onSnapshotError"></image>
|
||||
|
||||
<cover-view v-if="mapVisible" class="center-marker">
|
||||
<cover-image
|
||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/04007cab-3047-42b0-baab-44df344a92d2"
|
||||
class="center-marker-img"
|
||||
></cover-image>
|
||||
class="center-marker-img"></cover-image>
|
||||
</cover-view>
|
||||
</view>
|
||||
|
||||
|
|
@ -44,13 +29,16 @@
|
|||
<view class="bottom-edit-section">
|
||||
<!-- 地址识别输入行 -->
|
||||
<view class="address-input-row">
|
||||
<textarea class="raw-address-input" v-model="rawAddress" placeholder="粘贴文本到此处,将自动识别地址信息。" placeholder-style="color: #C6C9CC; font-size: 14px;" :maxlength="200" :adjust-position="true" />
|
||||
<textarea class="raw-address-input" v-model="rawAddress" placeholder="粘贴文本到此处,将自动识别地址信息。"
|
||||
placeholder-style="color: #C6C9CC; font-size: 14px;" :maxlength="200" :adjust-position="true" />
|
||||
<view class="action-buttons">
|
||||
<view class="action-btn paste-btn" @click="hasRawContent ? clearRawAddress() : onPaste()">
|
||||
<text class="btn-text" :style="{ color: '#333333' }">{{ hasRawContent ? '一键清空' : '粘贴' }}</text>
|
||||
</view>
|
||||
<view class="action-btn smart-btn" :class="{ 'smart-btn-active': hasRawContent }" @click="onSmartRecognize">
|
||||
<text class="btn-text" :style="{ color: hasRawContent ? '#E8101E' : '#999999' }">{{ smartBtnText }}</text>
|
||||
<view class="action-btn smart-btn" :class="{ 'smart-btn-active': hasRawContent }"
|
||||
@click="onSmartRecognize">
|
||||
<text class="btn-text"
|
||||
:style="{ color: hasRawContent ? '#E8101E' : '#999999' }">{{ smartBtnText }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -61,13 +49,17 @@
|
|||
<text class="row-label">所在地区</text>
|
||||
<view class="row-content">
|
||||
<text :class="currentRegion ? 'content-text' : 'placeholder'">{{ currentRegion || "请选择"}}</text>
|
||||
<image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/71c63001-a104-49ad-a90d-30d2ade73f4d.png" mode="aspectFit" class="arrow-icon"></image>
|
||||
<image
|
||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/71c63001-a104-49ad-a90d-30d2ade73f4d.png"
|
||||
mode="aspectFit" class="arrow-icon"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
<view class="info-row">
|
||||
<text class="row-label">详细地址</text>
|
||||
<input type="text" class="detail-input" v-model="detailAddress" @input="onDetailInput" placeholder="请填写详细地址" placeholder-style="color: #999999; font-size: 14px;" :adjust-position="true" />
|
||||
<input type="text" class="detail-input" v-model="detailAddress" @input="onDetailInput"
|
||||
placeholder="请填写详细地址" placeholder-style="color: #999999; font-size: 14px;"
|
||||
:adjust-position="true" />
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
|
|
@ -89,32 +81,19 @@
|
|||
<text class="popup-close" @click="closeRegionPicker">×</text>
|
||||
</view>
|
||||
<view class="region-body">
|
||||
<picker-view
|
||||
@change="onRegionChange"
|
||||
class="picker-scroll"
|
||||
:indicator-style="indicatorStyle"
|
||||
:value="regionPickerValue"
|
||||
>
|
||||
<picker-view @change="onRegionChange" class="picker-scroll" :indicator-style="indicatorStyle"
|
||||
:value="regionPickerValue">
|
||||
<picker-view-column>
|
||||
<view
|
||||
class="picker-item"
|
||||
v-for="(item, index) in regionProvinceList"
|
||||
:key="index"
|
||||
>{{ item.province }}</view>
|
||||
<view class="picker-item" v-for="(item, index) in regionProvinceList" :key="index">
|
||||
{{ item.province }}</view>
|
||||
</picker-view-column>
|
||||
<picker-view-column>
|
||||
<view
|
||||
class="picker-item"
|
||||
v-for="(item, index) in regionCityList"
|
||||
:key="index"
|
||||
>{{ item.city }}</view>
|
||||
<view class="picker-item" v-for="(item, index) in regionCityList" :key="index">
|
||||
{{ item.city }}</view>
|
||||
</picker-view-column>
|
||||
<picker-view-column>
|
||||
<view
|
||||
class="picker-item"
|
||||
v-for="(item, index) in regionDistrictList"
|
||||
:key="index"
|
||||
>{{ item.area }}</view>
|
||||
<view class="picker-item" v-for="(item, index) in regionDistrictList" :key="index">
|
||||
{{ item.area }}</view>
|
||||
</picker-view-column>
|
||||
</picker-view>
|
||||
</view>
|
||||
|
|
@ -135,7 +114,9 @@
|
|||
import request from '@/utils/request'
|
||||
import ChinaCitys from './data/ChinaCitys.json'
|
||||
import store from '@/store'
|
||||
import { setVersion } from '@/utils/version.js'
|
||||
import {
|
||||
setVersion
|
||||
} from '@/utils/version.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
|
|
@ -263,15 +244,16 @@
|
|||
}
|
||||
|
||||
this.startDependencyInitLock()
|
||||
|
||||
if (hasLocation) {
|
||||
this.applyMapLocation(options.longitude, options.latitude, true)
|
||||
|
||||
this.applyMapLocation(options.longitude, options.latitude, false)
|
||||
return
|
||||
}
|
||||
|
||||
const dependencyCode = options.dependency_code
|
||||
|
||||
;(async () => {
|
||||
;
|
||||
(async () => {
|
||||
let center = null
|
||||
|
||||
if (dependencyCode && regions[2]) {
|
||||
|
|
@ -294,7 +276,7 @@
|
|||
this.updateMapCenter(
|
||||
parseFloat(locationRes[0]),
|
||||
parseFloat(locationRes[1]),
|
||||
true
|
||||
false
|
||||
)
|
||||
}
|
||||
} else if (!skipAutoLocate) {
|
||||
|
|
@ -326,6 +308,7 @@
|
|||
this.suppressInitDetailFill = true
|
||||
}
|
||||
|
||||
|
||||
this.reverseGeocode(parseFloat(options.longitude), parseFloat(options.latitude))
|
||||
return
|
||||
}
|
||||
|
|
@ -504,6 +487,7 @@
|
|||
this.mapReverseTimer = null
|
||||
}
|
||||
|
||||
|
||||
if (!noReverse) {
|
||||
this.mapReverseTimer = setTimeout(() => {
|
||||
this.reverseGeocode(lng, lat)
|
||||
|
|
@ -556,7 +540,11 @@
|
|||
},
|
||||
|
||||
findRegionIndexByCode(baseData, provinceCode, cityCode, areaCode) {
|
||||
const result = { provinceIndex: -1, cityIndex: -1, areaIndex: -1 }
|
||||
const result = {
|
||||
provinceIndex: -1,
|
||||
cityIndex: -1,
|
||||
areaIndex: -1
|
||||
}
|
||||
const targetProvinceCode = (provinceCode || '').slice(0, 6)
|
||||
const targetCityCode = (cityCode || '').slice(0, 6)
|
||||
const targetAreaCode = (areaCode || '').slice(0, 6)
|
||||
|
|
@ -613,7 +601,10 @@
|
|||
return new Promise((resolve, reject) => {
|
||||
const handleFail = (err) => {
|
||||
if (!silent) {
|
||||
uni.showToast({ title: '获取位置失败', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '获取位置失败',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
reject(err)
|
||||
}
|
||||
|
|
@ -966,7 +957,10 @@
|
|||
|
||||
clearRawAddress() {
|
||||
this.rawAddress = ''
|
||||
uni.showToast({ title: '已清空', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '已清空',
|
||||
icon: 'none'
|
||||
})
|
||||
},
|
||||
|
||||
onDetailInput(e) {
|
||||
|
|
@ -982,7 +976,10 @@
|
|||
success: (res) => {
|
||||
if (res.data) {
|
||||
this.rawAddress = res.data
|
||||
uni.showToast({ title: '已粘贴', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '已粘贴',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -1125,15 +1122,27 @@
|
|||
validateRecognizedDetail(detailText, geo, hit = {}) {
|
||||
const cleaned = String(detailText || '').trim()
|
||||
if (!cleaned) {
|
||||
return { valid: false, cleaned: '', reason: 'empty' }
|
||||
return {
|
||||
valid: false,
|
||||
cleaned: '',
|
||||
reason: 'empty'
|
||||
}
|
||||
}
|
||||
|
||||
if (this.isLikelyInvalidRecognizedDetail(cleaned)) {
|
||||
return { valid: false, cleaned: '', reason: 'invalid_detail' }
|
||||
return {
|
||||
valid: false,
|
||||
cleaned: '',
|
||||
reason: 'invalid_detail'
|
||||
}
|
||||
}
|
||||
|
||||
if (!geo) {
|
||||
return { valid: false, cleaned: '', reason: 'geocode_failed' }
|
||||
return {
|
||||
valid: false,
|
||||
cleaned: '',
|
||||
reason: 'geocode_failed'
|
||||
}
|
||||
}
|
||||
|
||||
const geoLevel = String(geo?.level || '').trim()
|
||||
|
|
@ -1156,14 +1165,26 @@
|
|||
!/[A-Za-z]{6,}/.test(cleaned)
|
||||
|
||||
if (hasAddressFeature || preciseLevel) {
|
||||
return { valid: true, cleaned, reason: '' }
|
||||
return {
|
||||
valid: true,
|
||||
cleaned,
|
||||
reason: ''
|
||||
}
|
||||
}
|
||||
|
||||
if (sameDistrict && purePoiLike) {
|
||||
return { valid: true, cleaned, reason: 'district_geo_verified' }
|
||||
return {
|
||||
valid: true,
|
||||
cleaned,
|
||||
reason: 'district_geo_verified'
|
||||
}
|
||||
}
|
||||
|
||||
return { valid: false, cleaned: '', reason: 'detail_not_precise' }
|
||||
return {
|
||||
valid: false,
|
||||
cleaned: '',
|
||||
reason: 'detail_not_precise'
|
||||
}
|
||||
},
|
||||
|
||||
cleanRecognizedDetail(detail, province, city, district) {
|
||||
|
|
@ -1425,10 +1446,14 @@
|
|||
const lonlatParsed = this.parseLonlatInfo(res?.data?.lonlat || {})
|
||||
|
||||
return {
|
||||
province_name: (street.province_name || street.province || stdParsed.province_name || divisionParsed.province_name || '').trim(),
|
||||
city_name: (street.city_name || street.city || stdParsed.city_name || divisionParsed.city_name || '').trim(),
|
||||
county_name: (street.county_name || street.district || street.county || stdParsed.county_name || divisionParsed.county_name || '').trim(),
|
||||
town_name: (street.town_name || street.town || street.street_name || stdParsed.town_name || divisionParsed.town_name || '').trim(),
|
||||
province_name: (street.province_name || street.province || stdParsed.province_name ||
|
||||
divisionParsed.province_name || '').trim(),
|
||||
city_name: (street.city_name || street.city || stdParsed.city_name || divisionParsed.city_name ||
|
||||
'').trim(),
|
||||
county_name: (street.county_name || street.district || street.county || stdParsed.county_name ||
|
||||
divisionParsed.county_name || '').trim(),
|
||||
town_name: (street.town_name || street.town || street.street_name || stdParsed.town_name ||
|
||||
divisionParsed.town_name || '').trim(),
|
||||
road_name: (street.road_name || street.road || stdParsed.road_name || '').trim(),
|
||||
road_no: (street.road_no || street.roadno || stdParsed.road_no || '').trim(),
|
||||
poi_name: (street.poi_name || street.poi || stdParsed.poi_name || '').trim(),
|
||||
|
|
@ -1440,9 +1465,11 @@
|
|||
block_no: (street.block_no || street.block || stdParsed.block_no || '').trim(),
|
||||
detail: (street.detail || street.address || stdParsed.detail || stdParsed.address || '').trim(),
|
||||
address: (street.address || street.detail || stdParsed.address || stdParsed.detail || '').trim(),
|
||||
province_code: (street.province_code || stdParsed.province_code || divisionParsed.province_code || '').trim(),
|
||||
province_code: (street.province_code || stdParsed.province_code || divisionParsed.province_code ||
|
||||
'').trim(),
|
||||
city_code: (street.city_code || stdParsed.city_code || divisionParsed.city_code || '').trim(),
|
||||
county_code: (street.county_code || street.district_code || stdParsed.county_code || divisionParsed.county_code || '').trim(),
|
||||
county_code: (street.county_code || street.district_code || stdParsed.county_code || divisionParsed
|
||||
.county_code || '').trim(),
|
||||
backend_gcj02: lonlatParsed.gcj02,
|
||||
backend_wgs84: lonlatParsed.wgs84,
|
||||
backend_level: lonlatParsed.level,
|
||||
|
|
@ -1680,13 +1707,19 @@
|
|||
this.suppressInitDetailFill = false
|
||||
|
||||
if (!this.hasRawContent) {
|
||||
uni.showToast({ title: '请先粘贴或输入地址', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '请先粘贴或输入地址',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const originalRawText = (this.rawAddress || '').trim()
|
||||
if (!originalRawText) {
|
||||
uni.showToast({ title: '请先粘贴或输入地址', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '请先粘贴或输入地址',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -1697,11 +1730,16 @@
|
|||
const removedNoise = sanitizedText !== originalRawText
|
||||
|
||||
if (!sanitizedText) {
|
||||
uni.showToast({ title: '未提取到有效地址', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '未提取到有效地址',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
uni.showLoading({ title: '识别中...' })
|
||||
uni.showLoading({
|
||||
title: '识别中...'
|
||||
})
|
||||
|
||||
try {
|
||||
const res = await this.requestRecognizeAddress(sanitizedText)
|
||||
|
|
@ -1851,7 +1889,8 @@
|
|||
showCancel: false
|
||||
})
|
||||
} else {
|
||||
const tip = this.getRecognizeToast(level, removedNoise, geocodeOk, hit, detailText, detailRejected)
|
||||
const tip = this.getRecognizeToast(level, removedNoise, geocodeOk, hit, detailText,
|
||||
detailRejected)
|
||||
if (tip.type === 'modal') {
|
||||
uni.showModal({
|
||||
title: tip.title,
|
||||
|
|
@ -1868,7 +1907,8 @@
|
|||
return
|
||||
}
|
||||
|
||||
this.commitRecognizedResult(province, city, district, regionText, detailText, geo, level, removedNoise, geocodeOk, hit, detailRejected)
|
||||
this.commitRecognizedResult(province, city, district, regionText, detailText, geo, level,
|
||||
removedNoise, geocodeOk, hit, detailRejected)
|
||||
} catch (error) {
|
||||
console.error('智能识别失败:', error)
|
||||
uni.hideLoading()
|
||||
|
|
@ -2015,7 +2055,8 @@
|
|||
}
|
||||
},
|
||||
|
||||
commitRecognizedResult(province, city, district, regionText, detailText, geo, level, removedNoise, geocodeOk, hit, detailRejected) {
|
||||
commitRecognizedResult(province, city, district, regionText, detailText, geo, level, removedNoise, geocodeOk,
|
||||
hit, detailRejected) {
|
||||
this.currentProvince = province
|
||||
this.currentCity = city
|
||||
this.currentDistrict = district
|
||||
|
|
@ -2165,7 +2206,10 @@
|
|||
const districtItem = this.regionDistrictList[districtIdx]
|
||||
|
||||
if (!provinceItem || !cityItem || !districtItem) {
|
||||
uni.showToast({ title: '选择无效', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '选择无效',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -2195,7 +2239,10 @@
|
|||
const [lng, lat] = center.split(',')
|
||||
this.updateMapCenter(parseFloat(lng), parseFloat(lat), true)
|
||||
} else {
|
||||
uni.showToast({ title: '无法定位该地区,请手动拖动地图', icon: 'none' })
|
||||
uni.showToast({
|
||||
title: '无法定位该地区,请手动拖动地图',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
|
||||
this.closeRegionPicker()
|
||||
|
|
@ -2221,7 +2268,8 @@
|
|||
keywords: adcode.slice(0, 6)
|
||||
},
|
||||
success: (res) => {
|
||||
if (res.data.status === '1' && res.data.districts && res.data.districts.length > 0) {
|
||||
if (res.data.status === '1' && res.data.districts &&
|
||||
res.data.districts.length > 0) {
|
||||
const district = res.data.districts[0]
|
||||
if (district.center) {
|
||||
resolveInner(district.center)
|
||||
|
|
@ -2245,7 +2293,8 @@
|
|||
keywords: keyword
|
||||
},
|
||||
success: (res) => {
|
||||
if (res.data.status === '1' && res.data.districts && res.data.districts.length > 0) {
|
||||
if (res.data.status === '1' && res.data.districts &&
|
||||
res.data.districts.length > 0) {
|
||||
const district = res.data.districts[0]
|
||||
if (district.center) {
|
||||
resolveInner(district.center)
|
||||
|
|
@ -2418,7 +2467,8 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
background-color: #FFFFFF;
|
||||
padding: 20rpx 20rpx env(safe-area-inset-bottom) 20rpx; /* 适配刘海屏 */
|
||||
padding: 20rpx 20rpx env(safe-area-inset-bottom) 20rpx;
|
||||
/* 适配刘海屏 */
|
||||
box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);
|
||||
z-index: 10;
|
||||
}
|
||||
|
|
@ -2583,10 +2633,12 @@
|
|||
opacity: 0;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.popup.show {
|
||||
visibility: visible !important;
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
.popup-mask {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
|
|
@ -2595,6 +2647,7 @@
|
|||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.popup-content {
|
||||
position: relative;
|
||||
background-color: #ffffff;
|
||||
|
|
@ -2604,9 +2657,11 @@
|
|||
transition: transform 0.3s ease;
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.popup.show .popup-content {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.popup-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -2615,23 +2670,28 @@
|
|||
padding: 0 0 20rpx 0;
|
||||
border-bottom: 1rpx solid #F0F0F0;
|
||||
}
|
||||
|
||||
.popup-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.popup-close {
|
||||
font-size: 40rpx;
|
||||
color: #999;
|
||||
padding: 10rpx;
|
||||
}
|
||||
|
||||
.region-body {
|
||||
height: 400rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.picker-scroll {
|
||||
height: 400rpx;
|
||||
}
|
||||
|
||||
.picker-item {
|
||||
height: 68rpx;
|
||||
line-height: 68rpx;
|
||||
|
|
@ -2639,12 +2699,14 @@
|
|||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.popup-footer {
|
||||
display: flex;
|
||||
margin-top: 30rpx;
|
||||
padding-top: 20rpx;
|
||||
border-top: 1rpx solid #F0F0F0;
|
||||
}
|
||||
|
||||
.popup-btn {
|
||||
flex: 1;
|
||||
height: 88rpx;
|
||||
|
|
@ -2654,22 +2716,28 @@
|
|||
justify-content: center;
|
||||
margin: 0 16rpx;
|
||||
}
|
||||
|
||||
.popup-btn.cancel {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.popup-btn.confirm {
|
||||
background: #e8101e;
|
||||
}
|
||||
|
||||
.popup-btn .btn-text {
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.popup-btn.cancel .btn-text {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.popup-btn.confirm .btn-text {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* 指示器样式(沿用原有) */
|
||||
.indicatorStyle {
|
||||
height: 68rpx;
|
||||
|
|
|
|||
|
|
@ -134,9 +134,9 @@
|
|||
</view>
|
||||
|
||||
<view class="detail-row">
|
||||
<text class="form-label required">服务功效</text>
|
||||
<text class="form-label required">服务内容</text>
|
||||
<view class="detail-textarea-wrap">
|
||||
<textarea class="detail-textarea" v-model="detailForm.effect" placeholder="请输入服务功效"
|
||||
<textarea class="detail-textarea" v-model="detailForm.effect" placeholder="请输入服务内容"
|
||||
placeholder-class="placeholder" maxlength="200"></textarea>
|
||||
<text class="detail-count">{{(detailForm.effect || '').length}}/200</text>
|
||||
</view>
|
||||
|
|
@ -442,7 +442,7 @@
|
|||
// 如果新字段都为空,则尝试从旧的 detail 数组中提取(兼容旧数据)
|
||||
if (!this.formData.efficacy && !this.formData.crowd && !this.formData.product) {
|
||||
(detail || []).forEach((item) => {
|
||||
if (item.title === "服务功效") {
|
||||
if (item.title === "服务内容" || item.title === "服务功效") {
|
||||
this.detailForm.effect = item.text || "";
|
||||
} else if (item.title === "适用人群") {
|
||||
this.detailForm.crowd = item.text || "";
|
||||
|
|
@ -475,7 +475,7 @@
|
|||
checkDetailForm() {
|
||||
if (!this.detailForm.effect || !this.detailForm.effect.trim()) {
|
||||
uni.showToast({
|
||||
title: "请输入服务功效",
|
||||
title: "请输入服务内容",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -166,8 +166,8 @@
|
|||
obj.name = item.name || item.auth_name
|
||||
}
|
||||
if (item.id == 0) {
|
||||
obj.url = item.url
|
||||
obj.name = item.name
|
||||
obj.url = item.url || item.auth_url
|
||||
obj.name = item.name || item.name
|
||||
}
|
||||
if (item.type == 2) {
|
||||
obj.url = obj.url + `?x-oss-process=video/snapshot,t_1000,m_fast,f_jpg,w_600,ar_auto`
|
||||
|
|
|
|||
Loading…
Reference in New Issue