Commit 0fdd825b by pangchong

feat: 全局组件优化

parent 067824c2
......@@ -15,7 +15,7 @@
@query="queryList"
:fixed="false"
>
<template #empty v-if="!getDataList.length">
<template #empty>
<global-empty></global-empty>
</template>
<slot :dataList="getDataList"></slot>
......@@ -146,6 +146,7 @@ const queryList = (pageIndex, pageSize) => {
paging.value?.complete(data)
}
} else {
paging.value?.complete(false)
uni.$mocpMessage.error(res.message)
}
})
......@@ -160,7 +161,7 @@ const queryList = (pageIndex, pageSize) => {
const getDataList = computed({
get: () => {
if (ps.transformData) {
return ps.transformData(dataList.value)
return ps.transformData(dataList.value) || []
} else {
return dataList.value
}
......
......@@ -65,7 +65,9 @@
:transformData="transformData"
>
<template #="{ dataList }">
<slot :dataList="dataList"></slot>
<template v-for="(item, index) in dataList" :key="index">
<slot :item="item" :index="index"></slot>
</template>
</template>
</global-page-swiper-item>
</swiper-item>
......
......@@ -12,7 +12,6 @@
:loading-more-enabled="loadingMoreEnabled"
:back-to-top-bottom="backToTopBottom"
show-refresher-update-time
:hide-empty-view="!isDataList"
@query="queryList"
@scroll="scroll"
:paging-style="getPagingStyle"
......@@ -48,8 +47,10 @@
</template>
<!-- 滚动内容 -->
<view class="mocp-content" :style="getStyle">
<slot :dataList="getDataList" v-if="isDataList"></slot>
<slot></slot>
<template v-for="(item, index) in getDataList" :key="index" v-if="isDataList || localData">
<slot :item="item" :index="index"></slot>
</template>
<slot v-else></slot>
</view>
<!-- 底部 -->
<template #bottom>
......@@ -290,6 +291,7 @@ const queryList = (pageIndex, pageSize) => {
paging.value?.complete(data)
}
} else {
paging.value?.complete(false)
uni.$mocpMessage.error(res.message)
}
})
......@@ -301,11 +303,7 @@ const queryList = (pageIndex, pageSize) => {
}
} else {
if (ps.localData) {
if (Array.isArray(ps.localData)) {
paging.value?.complete(ps.localData)
} else {
paging.value?.complete([])
}
paging.value?.complete(ps.localData || [])
}
}
es('query', { pageIndex, pageSize })
......@@ -314,7 +312,7 @@ const queryList = (pageIndex, pageSize) => {
const getDataList = computed({
get: () => {
if (ps.transformData) {
return ps.transformData(dataList.value)
return ps.transformData(dataList.value) || []
} else {
return dataList.value
}
......
<template>
<global-page :padding="24" title="AOG施工列表">
<template v-for="(item, index) in bbData" :key="item.id">
<global-page :padding="24" title="AOG施工列表" auto :localData="bbData">
<template #default="{ item, index }">
<global-card :title="`步骤${index + 1}`" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.state" dictkey="bbDetails_status"></global-text-status>
</global-card>
......
......@@ -14,8 +14,8 @@
:api="getAogListApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('aog_state', item.state)"></custom-state>
......
<template>
<global-page :padding="24" :title="getTitle" auto :localData="getMaterialData">
<template v-for="(item, index) in getMaterialData" :key="item.id">
<template #default="{ item, index }">
<global-card :title="item.pn" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.actualArrivalTime ? '1' : '0'" dictkey="aogDetails_status"></global-text-status>
</global-card>
</template>
<!-- <template #="{ dataList }">
<template v-for="(item, index) in dataList" :key="item.id">
<global-card :title="item.pn" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.actualArrivalTime ? '1' : '0'" dictkey="aogDetails_status"></global-text-status>
</global-card>
</template>
</template> -->
</global-page>
</template>
......
<template>
<global-page :padding="24" title="其他特殊保障列表">
<template v-for="(item, index) in oData" :key="item.id">
<global-page :padding="24" title="其他特殊保障列表" auto :localData="oData">
<template #default="{ item, index }">
<global-card :title="oType[item.key]" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.state || '1'" dictkey="otherDetails_status"></global-text-status>
</global-card>
......
<template>
<global-page :padding="24" title="人员保障列表">
<template v-for="(item, index) in pData" :key="item.id">
<global-page :padding="24" title="人员保障列表" auto :localData="pData">
<template #default="{ item, index }">
<global-card :title="item.personnel" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.state" dictkey="aogDetails_status"></global-text-status>
</global-card>
......
......@@ -14,8 +14,8 @@
title="考核记录"
@handleRightClick="handleRightClick"
>
<template #="{ dataList }">
<view v-for="item in dataList" :key="item.id" class="item" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="desc">
<custom-state :value="item.status == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
......
......@@ -14,8 +14,8 @@
navRightIcon="saixuan-01"
@handleRightClick="handleRightClick"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="item.state == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
......@@ -27,7 +27,7 @@
{{ item.taskDescribe }}
</view>
<view class="item-footer">
<view class="label">
<view class="label" style="min-width: 400rpx">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ timeStampFormat(item.startTime, { format: 'YYYY/MM/DD' }) }}
......@@ -35,7 +35,7 @@
{{ timeStampFormat(item.feedbackTime, { format: 'YYYY/MM/DD' }) }}
</text>
</view>
<view class="label">
<view class="label u-line-1">
<global-icon icon="idcard"></global-icon>
<text class="txt">提出人:{{ item.presenter || '-' }}</text>
</view>
......
......@@ -14,8 +14,8 @@
:api="getFleetListApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('fleet_state', item.state)"></custom-state>
......@@ -43,9 +43,9 @@ import { getFleetListApi } from 'mocp/api/fleet'
//跳转
const fleetStore = useFleetStore()
const {searchData} = storeToRefs(fleetStore)
const { searchData } = storeToRefs(fleetStore)
const goDetails = (data) => {
uni.$mocpJump.navigateTo('/panel/fleet/details', {id: data.id}).then(() => {
uni.$mocpJump.navigateTo('/panel/fleet/details', { id: data.id }).then(() => {
fleetStore.setState('details', data)
})
}
......@@ -65,6 +65,4 @@ onUnload(() => {
<style lang="scss" scoped>
@import 'mocpStatic/css/list.scss';
@import './constants/fleet.scss';
</style>
......@@ -16,7 +16,7 @@
:pageSize="20"
:transformData="transformData"
>
<template #="{ dataList }">
<template #default="{ item }">
<view v-for="item in dataList" :key="item.keyValue" class="inforDisclosureItem flex">
<TableTow :itemMsg="item" />
</view>
......
......@@ -14,8 +14,8 @@
:api="getMcoListApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left grade">
{{ getParamNameByValue('WorkGrade', item.workGrade) }}
......
<template>
<global-page :padding="24" title="航材列表">
<template v-for="(item, index) in getMaterialsList" :key="item.id">
<global-page :padding="24" title="航材列表" auto :localData="getMaterialsList">
<template #default="{ item, index }">
<global-card :title="item.name" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.isValid" dictkey="mocMaterial_isValid"></global-text-status>
</global-card>
......
......@@ -71,7 +71,7 @@ const formData = reactive({
contentFile: ''
})
onLoad(() => {
const details = getStepDetails.value.backList || {}
const details = getStepDetails.value?.backList || {}
formData.state = details.state
formData.staff = details.staff
formData.stateP = details.actualWork.split('X')[0]
......
<template>
<global-page :padding="24" title="工具列表">
<template v-for="(item, index) in getToolsList" :key="item.id">
<global-page :padding="24" title="工具列表" auto :localData="getToolsList">
<template #default="{ item, index }">
<global-card :title="item.name" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status :value="item.isValid" dictkey="mocMaterial_isValid"></global-text-status>
</global-card>
......
......@@ -14,8 +14,8 @@
:api="getDecisionApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('md_state', item.state)"></custom-state>
......
......@@ -11,7 +11,7 @@
:api="getRqmListApi"
auto
>
<template #="{ dataList }">
<template #default="{ item }">
<view v-for="item in dataList" :key="item.id" class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="desc">
......
......@@ -11,8 +11,8 @@
:api="getArrangeWorkListApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="item.state == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
......
......@@ -11,8 +11,8 @@
:api="getDecisionApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('md_state', item.state)"></custom-state>
......
......@@ -11,8 +11,8 @@
:api="getTechnicalEvaluationApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('te_state', item.state)"></custom-state>
......
......@@ -17,8 +17,8 @@
footerBtnText="新建"
@handleFooterClick="handleFooterClick"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('sa_state', item.state)"></custom-state>
......
......@@ -14,8 +14,8 @@
:api="getTechnicalEvaluationApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('te_state', item.state)"></custom-state>
......
......@@ -14,8 +14,8 @@
:api="getWorkTaskListApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('wa_state', item.state)"></custom-state>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment