Commit d5f365dc by pangchong

feat: 我的待办优化

parent 193082a1
<template> <template>
<global-page <global-page
title="考核记录"
isDataList
refresherEnabled
loadingMoreEnabled
:params="searchData"
:api="getRqmListApi"
auto
ref="paging" ref="paging"
:api="getRqmListApi"
:padding="24" :padding="24"
showNavRight :params="searchData"
navRightType="icon" auto
isDataList
loadingMoreEnabled
navRightIcon="saixuan-01" navRightIcon="saixuan-01"
navRightType="icon"
refresherEnabled
showNavRight
title="考核记录"
@handleRightClick="handleRightClick" @handleRightClick="handleRightClick"
> >
<template #="{ dataList }"> <template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)"> <view v-for="item in dataList" :key="item.id" class="item" @tap="goDetails(item)">
<view class="item-title"> <view class="item-title">
<view class="desc"> <view class="desc">
<custom-state :value="item.status == 1 ? 'OPEN' : 'CLOSE'"></custom-state> <custom-state :value="item.status == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt">{{ item.appraisee != '-1' ? item.appraisee : '' }}</view> <view class="txt">{{ item.appraisee != '-1' ? item.appraisee : '' }}</view>
<view class="place">{{ item.department != '-1' ? item.department : '' }}</view> <view class="place">{{ item.department != '-1' ? item.department : '' }}</view>
</view> </view>
<custom-score v-if="item.score != -1" :type="item.eventType == 1 ? 'success' : 'warning'" :count="item.score"></custom-score> <custom-score v-if="item.score != -1" :count="item.score" :type="item.eventType == 1 ? 'success' : 'warning'"></custom-score>
</view> </view>
<view class="item-content u-line-3"> <view class="item-content u-line-3">
{{ item.eventMsg || '无' }} {{ item.eventMsg || '无' }}
......
<template>
<up-collapse-item title="考核记录(2)">
<global-page
:fixed="false"
:height="height"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getRqmListApi"
auto
>
<template #="{ dataList }">
<view v-for="item in dataList" :key="item.id" class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="desc">
<custom-state :value="item.status == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt">{{ item.appraisee != '-1' ? item.appraisee : '' }}</view>
<view class="place">{{ item.department != '-1' ? item.department : '' }}</view>
</view>
<custom-score v-if="item.score != -1" :count="item.score" :type="item.eventType == 1 ? 'success' : 'warning'"></custom-score>
</view>
<view class="item-content u-line-3">
{{ item.eventMsg || '无' }}
</view>
</view>
</template>
</global-page>
</up-collapse-item>
</template>
<script setup>
import { getRqmListApi } from 'mocp/api/appraisal-record'
const ps = defineProps({
height: {
type: String,
default: ''
}
})
</script>
<style lang="scss" scoped></style>
<template>
<up-collapse-item title="布置工作(2)">
<global-page
:fixed="false"
:height="height"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getArrangeWorkListApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="left">
<custom-state :value="item.state == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt u-line-1">{{ item.seat }}</view>
</view>
<view class="right u-line-1">{{ baseStore.getParamNameByValue('LayoutWorkType', item.workType) }}</view>
</view>
<view class="item-content u-line-3">
{{ item.taskDescribe }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ timeStampFormat(item.startTime, { format: 'YYYY/MM/DD' }) }}
-
{{ timeStampFormat(item.feedbackTime, { format: 'YYYY/MM/DD' }) }}
</text>
</view>
<view class="label">
<global-icon icon="idcard"></global-icon>
<text class="txt">提出人:{{ item.presenter || '-' }}</text>
</view>
</view>
</view>
</template>
</global-page>
</up-collapse-item>
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { timeStampFormat } from 'mocp/utils/tool'
import { getArrangeWorkListApi } from 'mocp/api/assign-work'
const baseStore = useBaseStore()
const ps = defineProps({
height: {
type: String,
default: ''
}
})
</script>
<style lang="scss" scoped></style>
<template>
<up-collapse-item title="运行决策(2)">
<global-page
:fixed="false"
:height="height"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getDecisionApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('md_state', item.state)"></custom-state>
</view>
<view class="right">
<text class="txt u-line-1" v-if="item.machineNumber">{{ item.machineNumber }}</text>
<text class="txt u-line-1" v-if="item.aviation">{{ item.aviation }}</text>
</view>
</view>
<view class="item-content u-line-3">
{{ item.faultDescription || '无' }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ timeStampFormat(item.filledTime, { format: 'YYYY/MM/DD HH:mm' }) }}
</text>
</view>
</view>
</view>
</template>
</global-page>
</up-collapse-item>
</template>
<script setup>
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { getDecisionApi } from 'mocp/api/move-decision'
const ps = defineProps({
height: {
type: String,
default: ''
}
})
</script>
<style lang="scss" scoped></style>
<template>
<up-collapse-item title="技术评估(2)">
<global-page
:fixed="false"
:height="height"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getTechnicalEvaluationApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('te_state', item.state)"></custom-state>
</view>
<view class="right">
<text class="txt u-line-1" v-if="item.ac">{{ item.ac }}</text>
<text class="txt u-line-1" v-if="item.model">{{ item.model }}</text>
<text class="txt u-line-1" v-if="item.aviation">
{{ useGetDictByValue('', item.aviation, { data: baseStore.getAirlineSelect }) }}
</text>
</view>
</view>
<view class="item-content u-line-3">
{{ item.description || '无' }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ Day(item.dateTime).format('YYYY/MM/DD') }}
</text>
</view>
</view>
</view>
</template>
</global-page>
</up-collapse-item>
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import Day from 'mocp/utils/dayjs'
import { getTechnicalEvaluationApi } from 'mocp/api/technology-evaluation'
const baseStore = useBaseStore()
const ps = defineProps({
height: {
type: String,
default: ''
}
})
</script>
<style lang="scss" scoped></style>
<template> <template>
<global-page title="我的待办"> <global-page title="我的待办">
<up-collapse :border="false" accordion> <up-collapse :border="false" accordion>
<up-collapse-item title="布置工作(2)"> <assign-work-list :height="getHeight"></assign-work-list>
<global-page <appraisal-record-list :height="getHeight"></appraisal-record-list>
:fixed="false" <move-decision-list :height="getHeight"></move-decision-list>
height="800rpx" <technology-evaluation-list :height="getHeight"></technology-evaluation-list>
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getArrangeWorkListApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="left">
<custom-state :value="item.state == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt u-line-1">{{ item.seat }}</view>
</view>
<view class="right u-line-1">{{ baseStore.getParamNameByValue('LayoutWorkType', item.workType) }}</view>
</view>
<view class="item-content u-line-3">
{{ item.taskDescribe }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ timeStampFormat(item.startTime, { format: 'YYYY/MM/DD' }) }}
-
{{ timeStampFormat(item.feedbackTime, { format: 'YYYY/MM/DD' }) }}
</text>
</view>
<view class="label">
<global-icon icon="idcard"></global-icon>
<text class="txt">提出人:{{ item.presenter || '-' }}</text>
</view>
</view>
</view>
</template>
</global-page>
</up-collapse-item>
<up-collapse-item title="考核记录(2)">
<global-page
:fixed="false"
height="800rpx"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getRqmListApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="desc">
<custom-state :value="item.status == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt">{{ item.appraisee != '-1' ? item.appraisee : '' }}</view>
<view class="place">{{ item.department != '-1' ? item.department : '' }}</view>
</view>
<custom-score
v-if="item.score != -1"
:type="item.eventType == 1 ? 'success' : 'warning'"
:count="item.score"
></custom-score>
</view>
<view class="item-content u-line-3">
{{ item.eventMsg || '无' }}
</view>
</view>
</template>
</global-page>
</up-collapse-item>
<up-collapse-item title="运行决策(2)">
<global-page
:fixed="false"
height="800rpx"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getDecisionApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('md_state', item.state)"></custom-state>
</view>
<view class="right">
<text class="txt u-line-1" v-if="item.machineNumber">{{ item.machineNumber }}</text>
<text class="txt u-line-1" v-if="item.aviation">{{ item.aviation }}</text>
</view>
</view>
<view class="item-content u-line-3">
{{ item.faultDescription || '无' }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ timeStampFormat(item.filledTime, { format: 'YYYY/MM/DD HH:mm' }) }}
</text>
</view>
</view>
</view>
</template>
</global-page>
</up-collapse-item>
<up-collapse-item title="技术评估(2)">
<global-page
:fixed="false"
height="800rpx"
:showNavbar="false"
:custom="false"
isDataList
refresherEnabled
loadingMoreEnabled
:api="getTechnicalEvaluationApi"
auto
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('te_state', item.state)"></custom-state>
</view>
<view class="right">
<text class="txt u-line-1" v-if="item.ac">{{ item.ac }}</text>
<text class="txt u-line-1" v-if="item.model">{{ item.model }}</text>
<text class="txt u-line-1" v-if="item.aviation">
{{ useGetDictByValue('', item.aviation, { data: baseStore.getAirlineSelect }) }}
</text>
</view>
</view>
<view class="item-content u-line-3">
{{ item.description || '无' }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ Day(item.dateTime).format('YYYY/MM/DD') }}
</text>
</view>
</view>
</view>
</template>
</global-page>
</up-collapse-item>
</up-collapse> </up-collapse>
</global-page> </global-page>
</template> </template>
<script setup> <script setup>
import useBaseStore from 'mocp/store/base' import { computed } from 'vue'
import { timeStampFormat } from 'mocp/utils/tool' import AssignWorkList from './components/assign-work-list.vue'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict' import AppraisalRecordList from './components/appraisal-record-list.vue'
import Day from 'mocp/utils/dayjs' import MoveDecisionList from './components/move-decision-list.vue'
import { getRqmListApi } from 'mocp/api/appraisal-record' import TechnologyEvaluationList from './components/technology-evaluation-list.vue'
import { getArrangeWorkListApi } from 'mocp/api/assign-work'
import { getTechnicalEvaluationApi } from 'mocp/api/technology-evaluation'
import { getDecisionApi } from 'mocp/api/move-decision'
const baseStore = useBaseStore() const { windowHeight } = uni.getSystemInfoSync()
const getHeight = computed(() => {
return windowHeight - 85 * 4 + 'px'
})
</script> </script>
<style lang="scss" scoped> <style lang="scss">
@import 'mocpStatic/css/list.scss'; @import 'mocpStatic/css/list.scss';
</style>
<style lang="scss" scoped>
.item:last-child { .item:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
......
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