Commit 9343c6da by pangchong

feat: 工程分析收尾

parent c21f7a41
import { http } from 'mocp/utils/http'
export const getPaDataList2Api = (data, config) => {
return http({
method: 'POST',
url: '/repaircontrol/getPaDataList2',
data,
config
})
}
export const getPaData2Api = (data, config) => {
return http({
method: 'POST',
url: '/repaircontrol/getPaData2',
data,
config
})
}
// 建议以文件名首字母作为前缀ee_
export const ee_isOpen = [
{ label: 'OPEN', value: 1 },
{ label: 'CLOSE', value: 0 },
{ label: '跟踪', value: 2 }
]
export const ee_teamTop = [
{ label: '是', value: 1 },
{ label: '否', value: 0 }
]
export const ee_isTrace = [
{ label: '是', value: 1 },
{ label: '否', value: 0 }
]
export const ee_completeStatus = [
{ label: '未完成', value: 0 },
{ label: '完成', value: 1 }
]
...@@ -13,3 +13,4 @@ export * from './mechanicalAbnormalEvents' ...@@ -13,3 +13,4 @@ export * from './mechanicalAbnormalEvents'
export * from './operationalSurvey' export * from './operationalSurvey'
export * from './qualityAnalysis' export * from './qualityAnalysis'
export * from './technicalAnalysis' export * from './technicalAnalysis'
export * from './engineeringEvaluation'
import { getPaData2Api } from 'mocp/api/engineeringEvaluation'
import { defineStore } from 'pinia'
const useEngineeringEvaluationStore = defineStore('engineeringEvaluation', {
state: () => {
return {
searchData: {
isOpen: 1,
acTerminal: '',
acOwn: '',
acType: '',
ac: '',
majorClass: null,
ataChapter: ''
},
workbenchId: '',
details: undefined
}
},
getters: {},
actions: {
async getPaData2() {
const res = await getPaData2Api({ workbenchId: this.workbenchId }, { loading: true })
if (res.code == 200) {
this.details = res.data
} else {
uni.$mocpMessage.error(res.message)
}
},
resetForm() {
this.searchData = {
isOpen: 1,
acTerminal: '',
acOwn: '',
acType: '',
ac: '',
majorClass: null,
ataChapter: ''
}
},
setState(...args) {
this.$patch({ [args[0]]: args[1] })
}
},
// 配置持久化
persist: false
})
export default useEngineeringEvaluationStore
...@@ -27,7 +27,7 @@ const menuList = ref([ ...@@ -27,7 +27,7 @@ const menuList = ref([
// 运行品质 // 运行品质
{ id: 'pzfx', name: '品质分析', icon: 'pzfx', group: '运行品质', default: false, count: 0, url: '/panel/qualityAnalysis/list' }, { id: 'pzfx', name: '品质分析', icon: 'pzfx', group: '运行品质', default: false, count: 0, url: '/panel/qualityAnalysis/list' },
{ id: 'khjl', name: '考核记录', icon: 'khjl', group: '运行品质', default: false, count: 0, url: '/panel/appraisal-record/list' }, { id: 'khjl', name: '考核记录', icon: 'khjl', group: '运行品质', default: false, count: 0, url: '/panel/appraisal-record/list' },
{ id: 'gcfx', name: '工程分析', icon: 'gcfx', group: '运行品质', default: false, count: 0 }, { id: 'gcfx', name: '工程分析', icon: 'gcfx', group: '运行品质', default: false, count: 0, url: '/panel/engineeringEvaluation/list' },
// 航站管理 // 航站管理
{ id: 'hzgl', name: '航站管理', icon: 'hzgl', group: '航站管理', default: false, count: 0 }, { id: 'hzgl', name: '航站管理', icon: 'hzgl', group: '航站管理', default: false, count: 0 },
{ id: 'xydw', name: '协议单位', icon: 'xydw', group: '航站管理', default: false, count: 0, url: '/panel/workSupervision/list' } { id: 'xydw', name: '协议单位', icon: 'xydw', group: '航站管理', default: false, count: 0, url: '/panel/workSupervision/list' }
......
...@@ -680,6 +680,42 @@ ...@@ -680,6 +680,42 @@
"style": { "style": {
"navigationBarTitleText": "同类事件详情" "navigationBarTitleText": "同类事件详情"
} }
},
{
"path": "pages/modules/mocp/panel/engineeringEvaluation/list",
"style": {
"navigationBarTitleText": "工程分析"
}
},
{
"path": "pages/modules/mocp/panel/engineeringEvaluation/search",
"style": {
"navigationBarTitleText": "筛选"
}
},
{
"path": "pages/modules/mocp/panel/engineeringEvaluation/details",
"style": {
"navigationBarTitleText": "工程分析详情"
}
},
{
"path": "pages/modules/mocp/panel/engineeringEvaluation/historicalFault",
"style": {
"navigationBarTitleText": "故障历史详情"
}
},
{
"path": "pages/modules/mocp/panel/engineeringEvaluation/partList",
"style": {
"navigationBarTitleText": "部件信息详情"
}
},
{
"path": "pages/modules/mocp/panel/engineeringEvaluation/similarEvents",
"style": {
"navigationBarTitleText": "同类事件详情"
}
} }
], ],
"globalStyle": { "globalStyle": {
......
<template>
<global-page :padding="24" title="工程分析详情">
<template v-if="details">
<view class="mocp-cell">
<up-cell-group>
<up-cell title="发起时间" :value="timeStampFormat(details.proposedTime, { format: 'YYYY/MM/DD HH:mm' }) || '-'" />
<up-cell title="发起席位" :value="baseStore.getSeat(details.seat)" />
<up-cell title="机号" :value="details.ac || '-'" />
<up-cell title="机型" :value="details.acType || '-'" />
<up-cell title="航司" :value="details.acOwn || '-'" />
<up-cell title="航站" :value="baseStore.getTerminalObject[details.acTerminal] || '-'" />
<up-cell title="专业" :value="getParamNameByValue('MajorCategory', details.majorClass)" />
<up-cell title="ATA章节" :value="details.ataChapter || '-'" />
<up-cell title="故障标签" :value="details.faultTag || '-'" />
<up-cell title="故障代码" :value="details.faultCode || '-'" />
<up-cell title="是否机队TOP故障" :value="useGetDictByValue('ee_teamTop', details.teamTop) || '-'" />
<up-cell title="前两年同类延误次数" :value="details.delayB2 || '-'" />
<up-cell title="前一年同类延误次数" :value="details.delayB1 || '-'" />
</up-cell-group>
</view>
<view class="mocp-cell">
<up-cell-group>
<up-cell title="左发件号" :value="details.leftEngPartNo || '-'" />
<up-cell title="左发序号" :value="details.leftEngSerialNo || '-'" />
<up-cell title="左发装机时间" :value="timeStampFormat(details.leftEngInstallTime, { format: 'YYYY/MM/DD HH:mm' }) || '-'" />
<up-cell title="左发飞行小时" :value="details.leftEngFlyTime || '-'" />
<up-cell title="左发飞行循环" :value="details.leftEngFlyLoop || '-'" />
<up-cell title="右发件号" :value="details.rightEngPartNo || '-'" />
<up-cell title="右发序号" :value="details.rightEngSerialNo || '-'" />
<up-cell title="右发装机时间" :value="timeStampFormat(details.rightEngInstallTime, { format: 'YYYY/MM/DD HH:mm' }) || '-'" />
<up-cell title="右发飞行小时" :value="details.rightEngFlyTime || '-'" />
<up-cell title="右发飞行循环" :value="details.rightEngFlyLoop || '-'" />
</up-cell-group>
</view>
<view class="mocp-cell">
<up-collapse :value="['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']">
<up-collapse-item title="事件简述" name="1">
<view class="mocp-cell">
<up-cell-group>
<up-cell title="内容" :label="details.eventMsg || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="details.eventFiles" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</up-cell-group>
</view>
</up-collapse-item>
<view class="mocp-title">
故障历史
<global-button type="text" @tap="navigateTo('/panel/engineeringEvaluation/historicalFault')">点击查看</global-button>
</view>
<up-collapse-item title="处置经过" name="2">
<view class="mocp-cell">
<up-cell-group>
<up-cell title="内容" :label="details.dispose || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="details.disposeFiles" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</up-cell-group>
</view>
</up-collapse-item>
<view class="mocp-title">
部件信息
<global-button type="text" @tap="navigateTo('/panel/engineeringEvaluation/partList')">点击查看</global-button>
</view>
<view class="mocp-title">
同类事件
<global-button type="text" @tap="navigateTo('/panel/engineeringEvaluation/similarEvents')">点击查看</global-button>
</view>
<up-collapse-item title="系统原理" name="3" v-if="details.systemPrincipleList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.systemPrincipleList" :key="index">
<up-cell title="标题" :value="item.title || '-'" />
<up-cell title="ATA章节" :value="item.ataChapter || '-'" />
<up-cell title="故障标签" :value="item.faultTag || '-'" />
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="故障原因分析" name="4" v-if="details.failAnalysisList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.failAnalysisList" :key="index">
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="机队可靠性情况" name="5" v-if="details.fleetSituationList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.fleetSituationList" :key="index">
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="全球机队可靠性情况" name="6" v-if="details.globalSituationList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.globalSituationList" :key="index">
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="部件可靠性情况" name="7" v-if="details.partSituationList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.partSituationList" :key="index">
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="厂家技术文件及改进措施" name="8" v-if="details.factoryImproveList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.factoryImproveList" :key="index">
<up-cell title="标题" :value="item.title || '-'" />
<up-cell title="ATA章节" :value="item.ataChapter || '-'" />
<up-cell title="故障标签" :value="item.faultTag || '-'" />
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="当前管控措施和进展" name="9" v-if="details.currentProgressList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.currentProgressList" :key="index">
<up-cell title="标题" :value="item.title || '-'" />
<up-cell title="ATA章节" :value="item.ataChapter || '-'" />
<up-cell title="故障标签" :value="item.faultTag || '-'" />
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="实时监控与DAR监控" name="10" v-if="details.darMonitorList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.darMonitorList" :key="index">
<up-cell title="标题" :value="item.title || '-'" />
<up-cell title="ATA章节" :value="item.ataChapter || '-'" />
<up-cell title="故障标签" :value="item.faultTag || '-'" />
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="其他航司相关经验" name="11" v-if="details.airlineExperienceList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.airlineExperienceList" :key="index">
<up-cell title="标题" :value="item.title || '-'" />
<up-cell title="ATA章节" :value="item.ataChapter || '-'" />
<up-cell title="故障标签" :value="item.faultTag || '-'" />
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</template>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="工程分析评估和可提升措施" name="12" v-if="details.assessMeasureList?.length">
<view class="mocp-cell">
<up-cell-group>
<template v-for="(item, index) in details.assessMeasureList" :key="index">
<up-cell title="标题" :value="item.title || '-'" />
<up-cell title="内容" :label="item.content || '-'" />
<up-cell title="相关附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="item.files" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
<up-cell title="是否需要生成跟踪" :value="useGetDictByValue('ee_isTrace', item.isTrace) || '-'" />
<template v-if="item.isTrace == 1">
<up-cell title="完成时限" :value="timeStampFormat(item.limitTime) || '-'" />
<up-cell title="完成情况" :value="useGetDictByValue('ee_completeStatus', item.completeStatus) || '-'" />
<up-cell title="填报人" :value="item.uname || '-'" />
<up-cell title="备注" :label="item.remark || '-'" />
</template>
</template>
</up-cell-group>
</view>
</up-collapse-item>
</up-collapse>
</view>
<view class="mocp-cell">
<up-cell-group>
<up-cell title="填报人" :value="details.openUsernameL || '-'" />
<up-cell title="填报时间" :value="timeStampFormat(details.openTimeL) || '-'" />
<up-cell title="关闭人" :value="details.closeUsername || '-'" />
<up-cell title="关闭时间" :value="timeStampFormat(details.closeTime) || '-'" />
</up-cell-group>
</view>
</template>
</global-page>
</template>
<script setup>
import { storeToRefs } from 'pinia'
import useBaseStore from 'mocp/store/base'
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { onLoad } from '@dcloudio/uni-app'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { navigateTo } from 'mocp/utils/jump'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
import { computed } from 'vue'
const query = defineProps(['workbenchId'])
const baseStore = useBaseStore()
const engineeringEvaluationStore = useEngineeringEvaluationStore()
onLoad(() => {
engineeringEvaluationStore.setState('workbenchId', query.workbenchId)
engineeringEvaluationStore.getPaData2()
})
const { details } = storeToRefs(engineeringEvaluationStore)
</script>
<style lang="scss" scoped>
.mocp-cell {
background: #fff;
margin-bottom: 16rpx;
}
.mocp-title {
padding: 12rpx 32rpx 12rpx 32rpx;
background-color: #f7f8fa;
display: flex;
justify-content: space-between;
align-items: center;
}
.mocp-subTitle {
padding: 24rpx 32rpx 0 32rpx;
color: $mocp-text-5;
font-size: 28rpx;
}
:deep(.u-collapse-item) {
.u-cell {
background: #f7f8fa;
}
.u-collapse-item__content {
.u-cell {
background: #fff;
}
}
.u-collapse-item__content__text {
padding: 0;
}
.u-cell__title {
color: $mocp-text-5;
}
}
</style>
<template>
<global-page title="故障历史详情">
<global-table :columns="columns" :data="details?.historicalFault">
<template #sendingTime="{ row }">
{{ timeStampFormat(row.sendingTime) }}
</template>
</global-table>
</global-page>
</template>
<script setup>
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
const engineeringEvaluationStore = useEngineeringEvaluationStore()
const { details } = storeToRefs(engineeringEvaluationStore)
const columns = ref([
{ title: '机号', dataIndex: 'machineNumber' },
{ title: '故障描述', dataIndex: 'faultDescribe' },
{ title: '处理措施', dataIndex: 'handle' },
{ title: 'ATA章节', dataIndex: 'ata' },
{ title: '发生时间', dataIndex: 'sendingTime' }
])
</script>
<style lang="scss" scoped></style>
<template>
<global-page
ref="paging"
:api="getPaDataList2Api"
:padding="24"
:params="searchData"
auto
isDataList
loadingMoreEnabled
navRightIcon="saixuan-01"
navRightType="icon"
refresherEnabled
showNavRight
title="工程分析"
@handleRightClick="handleRightClick"
>
<template #default="{ item }">
<view class="item" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('ee_isOpen', item.isOpen)"></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.acType">{{ item.acType }}</text>
<text class="txt u-line-1" v-if="item.acOwn">{{ item.acOwn }}</text>
<text class="txt u-line-1" v-if="item.acTerminal">{{ item.acTerminal }}</text>
</view>
</view>
<view class="item-content u-line-3">
{{ item.eventMsg || '无' }}
</view>
</view>
</template>
</global-page>
</template>
<script setup>
import { storeToRefs } from 'pinia'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { onUnload } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { getPaDataList2Api } from 'mocp/api/engineeringEvaluation'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
//跳转
const goDetails = (data) => {
uni.$mocpJump.navigateTo('/panel/engineeringEvaluation/details', {
workbenchId: data.workbenchId
})
}
//加载下拉框数据
const engineeringEvaluationStore = useEngineeringEvaluationStore()
const { searchData } = storeToRefs(engineeringEvaluationStore)
//筛选
const handleRightClick = () => {
uni.$mocpJump.navigateTo('/panel/engineeringEvaluation/search')
}
const paging = ref()
uni.$on('engineeringEvaluationReload', () => {
paging.value?.reload()
})
onUnload(() => {
uni.$off('engineeringEvaluationReload')
})
</script>
<style lang="scss" scoped>
@import 'mocpStatic/css/list.scss';
</style>
<template>
<global-page title="部件信息详情">
<global-table :columns="columns" :data="details?.partList" :width="120">
<template #installTime="{ row }">
{{ timeStampFormat(row.installTime, { format: 'YYYY/MM/DD' }) }}
</template>
<template #localMaterials="{ row }">
{{ useGetDictByValue('ta_localMaterials', row.localMaterials) }}
</template>
</global-table>
</global-page>
</template>
<script setup>
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
const engineeringEvaluationStore = useEngineeringEvaluationStore()
const { details } = storeToRefs(engineeringEvaluationStore)
const columns = ref([
{ title: '件号', dataIndex: 'partNo', minWidth: 100 },
{ title: '序号', dataIndex: 'serialNo' },
{ title: '部件名称', dataIndex: 'partName' },
{ title: '部件性质', dataIndex: 'partNature' },
{ title: '部件情况', dataIndex: 'partSituation' },
{ title: '装机时间', dataIndex: 'installTime' },
{ title: 'CSN', dataIndex: 'csn' },
{ title: 'TSN', dataIndex: 'tsn' },
{ title: 'CSR', dataIndex: 'csr' },
{ title: 'TSR', dataIndex: 'tsr' },
{ title: '当地航材', dataIndex: 'localMaterials' },
{ title: '当地配置标准', dataIndex: 'localConf' },
{ title: '软时限', dataIndex: 'companyReliability' },
{ title: '航空集团平均使用时间', dataIndex: 'useAverageTime' },
{ title: '世界机队平均使用时间', dataIndex: 'worldFleet' }
])
</script>
<style lang="scss" scoped></style>
<template>
<global-page title="筛选">
<view class="search-form">
<up-form labelPosition="left" labelWidth="auto">
<up-form-item label="状态" prop="isOpen" :borderBottom="true">
<global-picker v-model="formData.isOpen" pickAlign="right" clearable dictkey="ta_isOpen"></global-picker>
</up-form-item>
<up-form-item label="机号" prop="ac" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
</up-form-item>
<up-form-item label="航站" prop="acTerminal" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.acTerminal"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
</up-form-item>
<up-form-item label="专业类别" prop="majorClass" :borderBottom="true">
<global-picker
v-model="formData.majorClass"
pickAlign="right"
:options="getParamsByType('MajorCategory')"
clearable
></global-picker>
</up-form-item>
<up-form-item label="ATA章节" prop="ataChapter" :borderBottom="true">
<global-picker v-model="formData.ataChapter" pickAlign="right" :options="baseStore.getATAChecked()" clearable filter />
</up-form-item>
</up-form>
</view>
<template #bottom>
<view class="footer-btn">
<up-row gutter="10">
<up-col span="6">
<global-button type="primary" plain size="large" :radius="5" @tap="handleReset">重置</global-button>
</up-col>
<up-col span="6"><global-button type="primary" size="large" :radius="5" @tap="handleConfirm">确定</global-button></up-col>
</up-row>
</view>
</template>
</global-page>
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
const engineeringEvaluationStore = useEngineeringEvaluationStore()
//获取查询表单数据
const { searchData } = storeToRefs(engineeringEvaluationStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
engineeringEvaluationStore.resetForm()
uni.$mocpJump.navigateBack()
uni.$emit('engineeringEvaluationReload')
}
const handleConfirm = () => {
engineeringEvaluationStore.setState('searchData', formData.value)
uni.$mocpJump.navigateBack()
uni.$emit('engineeringEvaluationReload')
}
</script>
<style lang="scss" scoped>
.search-form {
padding: 24rpx 24rpx 0 24rpx;
background: #fff;
}
.footer-btn {
padding: 24rpx 32rpx;
background-color: #fff;
}
</style>
<template>
<global-page title="同类事件详情">
<global-table :columns="columns" :data="details?.similarEvents">
<template #sendingTime="{ row }">
{{ timeStampFormat(row.sendingTime) }}
</template>
</global-table>
</global-page>
</template>
<script setup>
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
const engineeringEvaluationStore = useEngineeringEvaluationStore()
const { details } = storeToRefs(engineeringEvaluationStore)
const columns = ref([
{ title: '机号', dataIndex: 'machineNumber' },
{ title: '故障描述', dataIndex: 'faultDescribe' },
{ title: '处理措施', dataIndex: 'handle' },
{ title: 'ATA章节', dataIndex: 'ata' },
{ title: '发生时间', dataIndex: 'sendingTime' }
])
</script>
<style lang="scss" scoped></style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<up-cell title="航司" :value="details.acOwn || '-'" /> <up-cell title="航司" :value="details.acOwn || '-'" />
<up-cell title="航站" :value="baseStore.getTerminalObject[details.acTerminal] || '-'" /> <up-cell title="航站" :value="baseStore.getTerminalObject[details.acTerminal] || '-'" />
<up-cell title="专业" :value="getParamNameByValue('MajorCategory', details.majorClass)" /> <up-cell title="专业" :value="getParamNameByValue('MajorCategory', details.majorClass)" />
<up-cell title="TA章节" :value="details.ataChapter || '-'" /> <up-cell title="ATA章节" :value="details.ataChapter || '-'" />
<up-cell title="故障标签" :value="details.faultTag || '-'" /> <up-cell title="故障标签" :value="details.faultTag || '-'" />
<up-cell title="故障代码" :value="details.faultCode || '-'" /> <up-cell title="故障代码" :value="details.faultCode || '-'" />
<up-cell title="是否机队TOP故障" :value="useGetDictByValue('ta_teamTop', details.teamTop) || '-'" /> <up-cell title="是否机队TOP故障" :value="useGetDictByValue('ta_teamTop', details.teamTop) || '-'" />
...@@ -162,7 +162,6 @@ import useBaseStore from 'mocp/store/base' ...@@ -162,7 +162,6 @@ import useBaseStore from 'mocp/store/base'
import { timeStampFormat } from 'mocp/utils/tool' import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict' import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { onLoad } from '@dcloudio/uni-app' import { onLoad } from '@dcloudio/uni-app'
import { computed } from 'vue'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams' import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { navigateTo } from 'mocp/utils/jump' import { navigateTo } from 'mocp/utils/jump'
import useTechnicalAnalysisStore from 'mocp/store/technicalAnalysis' import useTechnicalAnalysisStore from 'mocp/store/technicalAnalysis'
......
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