Files
pj_mini_app_cloud/src/pages/human-face/list.vue
T
2026-03-26 11:03:45 +08:00

77 lines
2.4 KiB
Vue

<script setup lang="ts">
import { ref, reactive } from "vue"
import { onShow } from "@dcloudio/uni-app"
import { hooks, router } from "@@/index"
import { faceApi } from "@@/api"
import { SERVICE_IMAGE } from "@@/constant/index"
import { filePath } from "@@/utils/file"
const state = reactive<any>({
pa: {
pagesize: 10,
},
})
const pageRef = ref<any>(null)
const pageHook = hooks.usePage(pageRef, faceApi.page, null, "data.records")
const query = (page: number, pagesize: number) => {
pageHook.startPage(page, pagesize, false, state.pa)
}
onShow(() => {
if (pageRef.value) {
pageRef.value.reload(false)
}
})
const doAdd = () => {
router.jump("/pages/human-face/apply")
}
const doEdit = (id: string) => {
router.jump("/pages/human-face/apply", { type: "edit", id })
}
const doDel = (id: string) => {
faceApi.del({ id }).then(
() => {
uni.showToast({ title: "删除成功", icon: "none" })
pageRef.value.reload(true)
},
() => {
uni.showToast({ title: "删除失败", icon: "none" })
},
)
}
</script>
<template>
<crud-layout title="人脸管理" :bg="filePath(SERVICE_IMAGE.blueBg)">
<z-paging ref="pageRef" height="100%" :fixed="false" v-model="pageHook.list" :default-page-size="10"
safe-area-inset-bottom :loading-more-enabled="true" :show-scrollbar="false" @query="query"
:auto-clean-list-when-reload="false" :auto-scroll-to-top-when-reload="false" @scroll="pageHook.scroll">
<view class="h-20rpx" />
<view class="card flex-col-center p-20rpx mb-20rpx" v-for="(v, i) in pageHook.list" :key="v.id">
<image class="w-300rpx h-300rpx rounded-50rpx mb-16rpx" :src="filePath(v.faceImg)" mode="aspectFill"
@click.stop="hooks.usePreviewImage(filePath(v.faceImg))" />
<view class="sub-text-30 mb-16rpx">{{ v.username }}·{{ v.deptName }}</view>
<view v-if="false" class="flex w-full items-center justify-end gap-16rpx second-text-26">
<text class="botder_btn" @click="doEdit(v.id)">修改</text>
<tm-modal title="确定删除吗?" height="auto" @confirm="doDel(v.id)">
<template v-slot:trigger><text class="botder_btn">删除</text></template>
</tm-modal>
</view>
</view>
<template #bottom>
<view v-if="false"
class="bg-#0094ff py-20rpx text-center rounded-40rpx mx-30rpx my-32rpx sub-text-30 color-white!"
@tap="doAdd">
添加
</view>
</template>
</z-paging>
</crud-layout>
</template>