提交 33f534ec 作者: 吴佳伟

fix: 农机活动页面服务范围地址渲染

上级 8fea4352
......@@ -8,6 +8,7 @@ enum Api {
farmMachineAddFarm = '/farmMachine/machineWork/app/addFarm', // 发布农活服务
farmMachineEdit = '/farmMachine/machineWork/edit', // 编辑农机服务
farmMachineRegister = '/farmMachine/machineWork/app/register', // 参与服务
cascaderHn = '/region/cascader/hn',
}
/**
......@@ -80,3 +81,13 @@ export function farmMachineRegister(params = {}) {
params,
})
}
/**
* 查询湖南省 市/区县/乡镇
* @returns 市/区县/乡镇
*/
export function cascaderHn() {
return otherHttp.get({
url: Api.cascaderHn,
})
}
\ No newline at end of file
<script setup lang="ts">
import { reactive } from 'vue'
import { reactive, ref } from 'vue'
import { onLoad, onReachBottom, onShow } from '@dcloudio/uni-app'
import ApplyDialog from './components/apply-dialog.vue'
......@@ -14,8 +14,10 @@
pageData.search.pageNo = 1
pageData.farmMachineList = []
getFarmMachineList()
getCascader()
})
const options = ref([])
const pageData = reactive({
loading: false,
// 分类标签
......@@ -45,6 +47,12 @@
})
}
function getCascader() {
NongjifuwuAPI.cascaderHn().then((res) => {
options.value = res[0].children;
})
}
// 分类标签点击事件
function onCategoryTabClick(tab: any) {
console.log('点击分类标签:', tab)
......@@ -78,10 +86,41 @@
applyDialogRef.value.open(item)
}
function getScope(scope: any) {
if (!scope || !options.value || options.value.length === 0) {
return []
}
const values = scope.split(',')
const labels = []
// 递归查找label
const findLabel = (nodes, value) => {
for (const node of nodes) {
if (node.value === value) {
return node.label
}
if (node.children && node.children.length > 0) {
const found = findLabel(node.children, value)
if (found) {
return found
}
}
}
return null // 如果没找到,返回原始value
}
for (const value of values) {
const label = findLabel(options.value, value.trim())
labels.push(label)
}
return labels.join(' / ')
}
onReachBottom(() => {
console.log('触底了')
if (pageData.total <= pageData.farmMachineList.length)
return
if (pageData.total <= pageData.farmMachineList.length) return
pageData.search.pageNo++
getFarmMachineList()
})
......@@ -134,7 +173,7 @@ return
>
<text class="font text_6">{{ item.name }}</text>
<text class="font_3 text_7 ellipsis" style="width: 100%; margin: 26rpx 0"
>服务范围:{{ item.scope }}</text
>服务范围:{{ getScope(item.scope) }}</text
>
</view>
<view class="flex justify-between" style="width: 100%">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论