Commit 1c0686af by pangchong

feat: 海技值班

parent ef00b30b
import { post, http } from 'mocp/utils/http' import { http } from 'mocp/utils/http'
export const unplanApplyListApi = (data, config) => { export const getDutyLogDetailApi = (data, config) => {
return http({ return http({
method: 'POST', method: 'POST',
url: '/workbench/unplanApply/unplanApplyList', url: '/system/dutyLog/detail',
data, data,
config config
}) })
} }
export const addUnplanApplyApi = (data, config) => { export const getDutyLogListApi = (data, config) => {
return post({
method: 'POST',
url: '/workbench/unplanApply/addUnplanApply',
data,
config
})
}
export const checkPakgeNoApi = (data, config) => {
return http({ return http({
method: 'POST', method: 'POST',
url: '/workbench/unplanApply/checkPakgeNo', url: '/system/dutyLog/list',
data, data,
config config
}) })
} }
export const getUnplanApplyApi = (data, config) => {
return http({ export const updateDutyLogApi = (data, config) => {
method: 'POST',
url: '/workbench/unplanApply/getUnplanApply',
data,
config
})
}
export const changeStatusApi = (data, config) => {
return http({
method: 'POST',
url: '/workbench/unplanApply/changeStatus',
data,
config
})
}
export const changeExemptStatusApi = (data, config) => {
return http({ return http({
method: 'POST', method: 'POST',
url: '/workbench/unplanApply/changeExemptStatus', url: '/system/dutyLog/update',
data, data,
config config
}) })
......
// 建议以文件名首字母作为前缀dl_
export const dl_status = [
{ label: '已交班', value: 'JIAO_BAN' },
{ label: '已接班', value: 'JIE_BAN' },
{ label: '未交班', value: 'NO_JIAO_BAN' }
]
export const dl_statusColor = [
{ label: 'primary', value: 'JIAO_BAN' },
{ label: 'info', value: 'JIE_BAN' },
{ label: 'success', value: 'NO_JIAO_BAN' }
]
...@@ -17,3 +17,4 @@ export * from './engineeringEvaluation' ...@@ -17,3 +17,4 @@ export * from './engineeringEvaluation'
export * from './windDamageManagement' export * from './windDamageManagement'
export * from './inforDisclosure' export * from './inforDisclosure'
export * from './noPlan' export * from './noPlan'
export * from './dutyLog'
import { getUnplanApplyApi } from 'mocp/api/dutyLog' import { getDutyLogDetailApi } from 'mocp/api/dutyLog'
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
const useDutyLogStore = defineStore('dutyLog', { const useDutyLogStore = defineStore('dutyLog', {
state: () => { state: () => {
return { return {
searchData: { searchData: {
applyStatus: '', dutyManagerUname: '',
packageNo: '', monitorLeaderUname: '',
exemptStatus: null, statusStr: '',
sourceType: '', dutyDateE: null,
checkLevel: null, dutyDateS: null
acType: '',
airline: '',
startTime: null,
startTimeEnd: null,
applyTimeStart: null,
applyTimeEnd: null
}, },
id: '', id: '',
details: undefined details: undefined
...@@ -25,7 +19,7 @@ const useDutyLogStore = defineStore('dutyLog', { ...@@ -25,7 +19,7 @@ const useDutyLogStore = defineStore('dutyLog', {
actions: { actions: {
async getDetails() { async getDetails() {
this.details = undefined this.details = undefined
const res = await getUnplanApplyApi({ id: this.id }, { loading: true }) const res = await getDutyLogDetailApi({ id: this.id }, { loading: true })
if (res.code == 200) { if (res.code == 200) {
this.details = res.data this.details = res.data
} else { } else {
...@@ -34,17 +28,11 @@ const useDutyLogStore = defineStore('dutyLog', { ...@@ -34,17 +28,11 @@ const useDutyLogStore = defineStore('dutyLog', {
}, },
resetForm() { resetForm() {
this.searchData = { this.searchData = {
applyStatus: '', dutyManagerUname: '',
packageNo: '', monitorLeaderUname: '',
exemptStatus: null, statusStr: '',
sourceType: '', dutyDateE: null,
checkLevel: null, dutyDateS: null
acType: '',
airline: '',
startTime: null,
startTimeEnd: null,
applyTimeStart: null,
applyTimeEnd: null
} }
}, },
setState(...args) { setState(...args) {
......
import useUserStore from 'mocp/store/user' import useUserStore from 'mocp/store/user'
// const baseURL = 'https://hna-platform.anyremote.cn' //测试 const baseURL = 'https://hna-platform.anyremote.cn' //测试
// const baseURL = 'https://moc.hnatechnic.com/api' //生产 // const baseURL = 'https://moc.hnatechnic.com/api' //生产
// const baseURL = 'http://10.123.48.67/api' //Amms内网 // const baseURL = 'http://10.123.48.67/api' //Amms内网
const baseURL = 'https://hnaelbtest.hnatechnic.com/mocptest/api' //内网 // const baseURL = 'https://hnaelbtest.hnatechnic.com/mocptest/api' //内网
class ServiceLoading { class ServiceLoading {
open(loading) { open(loading) {
......
...@@ -3,8 +3,8 @@ import Day from './dayjs' ...@@ -3,8 +3,8 @@ import Day from './dayjs'
/** /**
* 时间戳格式化 * 时间戳格式化
* 1715072168340 => 2024-05-07 16:56:08 * 1715072168340 => 2024-05-07 16:56:08 星期二
* format=YYYY/MM/DD HH:mm:ss * format=YYYY/MM/DD HH:mm:ss dddd
*/ */
export const timeStampFormat = (timeStamp, opt) => { export const timeStampFormat = (timeStamp, opt) => {
if (!timeStamp || timeStamp == -1 || timeStamp == '-1' || timeStamp == 0 || timeStamp == '0') { if (!timeStamp || timeStamp == -1 || timeStamp == '-1' || timeStamp == 0 || timeStamp == '0') {
......
...@@ -3,7 +3,7 @@ export const loginFormRef = ref() ...@@ -3,7 +3,7 @@ export const loginFormRef = ref()
//表单数据 //表单数据
export const loginForm = reactive({ export const loginForm = reactive({
username: 'devzj3', //devzj3 username: 'devzj3', //devzj3
password: 'Ifar_9527008', //Ifar_9527008 / Ifar2016_0525 password: 'Ifar2016_0525', //Ifar_9527008 / Ifar2016_0525
verifyCode: '' verifyCode: ''
}) })
export const showLoad = ref(false) export const showLoad = ref(false)
......
...@@ -76,13 +76,13 @@ const handleLogin = async () => { ...@@ -76,13 +76,13 @@ const handleLogin = async () => {
loading.value = true loading.value = true
await login() await login()
if (userStore.token) { if (userStore.token) {
// //加入席位权限 //加入席位权限
// await getUserSeatList() await getUserSeatList()
// if (userStore.seatId) { if (userStore.seatId) {
// await Promise.all([getSeatPermission(), getConfigData()]) await Promise.all([getSeatPermission(), getConfigData()])
// } else { } else {
// userStore.setState('seatPermission', []) userStore.setState('seatPermission', [])
// } }
//跳转工作台 //跳转工作台
uni.$mocpJump.redirectTo('/tab/index') uni.$mocpJump.redirectTo('/tab/index')
} }
......
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
export const showAction = ref(false)
export const formRef = ref() export const formRef = ref()
//验证 //验证
export const rules = reactive({ export const rules = reactive({
packageNo: [ dutyManagerUid: [
{ {
required: true, required: true,
message: '请输入工作包号', message: '请选择值班经理',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
warningReason: [ monitorLeaderUid: [
{ {
required: true, required: true,
message: '请输入申请原因', message: '请选择监察领导',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
reason: [ successorManagerUid: [
{ {
required: true, required: true,
message: '请输入具体原因', message: '请选择接班经理',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
],
delayDay: [
{
required: true,
type: 'number',
message: '请输入延期天数',
trigger: ['blur', 'change']
}
],
approver: [
{
required: true,
message: '请选择审核人',
trigger: ['blur']
}
] ]
}) })
// 表单数据 // 表单数据
export const formData = reactive({ export const formData = reactive({
packageNo: '', id: '',
delayDay: '', dutyManagerUname: '',
approver: '', dutyManagerUid: '',
warningReason: '', successorManagerUname: '',
materialDelay: '0', successorManagerUid: '',
materialPns: '', monitorLeaderUname: '',
reason: '', monitorLeaderUid: '',
delayDay: null reportWork: '',
importantFlight: '',
meetingArrangementWork: '',
handoverWork: '',
dutyDate: undefined,
dutyArea: ''
}) })
import { addUnplanApplyApi, checkPakgeNoApi } from 'mocp/api/unplanApply' import { updateDutyLogApi } from 'mocp/api/dutyLog'
import { formData, formRef } from './edit.compositions' import { formData, formRef, showAction } from './edit.compositions'
export const resetData = () => { export const resetData = () => {
Object.assign(formData, { Object.assign(formData, {
packageNo: '', id: '',
delayDay: '', dutyManagerUname: '',
approver: '', dutyManagerUid: '',
warningReason: '', successorManagerUname: '',
materialDelay: '0', successorManagerUid: '',
materialPns: '', monitorLeaderUname: '',
reason: '', monitorLeaderUid: '',
delayDay: null reportWork: '',
importantFlight: '',
meetingArrangementWork: '',
handoverWork: '',
dutyDate: undefined,
dutyArea: ''
}) })
} }
//验证包号 export const handleRightClick = async () => {
export const checkPakgeNo = async (packageNo) => { await formRef.value?.validate()
if (!packageNo) return showAction.value = true
const res = await checkPakgeNoApi({ packageNo }, { loading: '验证包号中...' })
if (res.code == 200) {
} else {
formData.packageNo = ''
uni.$mocpMessage.error(res.message)
}
}
export const addMaterialPns = () => {
if (materialPns.value.length >= 10) return uni.$mocpMessage.warning('缺件航材最多填写10个')
materialPns.value.push('')
} }
//提交表单 //提交表单
export const handleSubmit = async () => { export const handleSubmit = async (statusStr) => {
await formRef.value?.validate() await formRef.value?.validate()
if (formData.materialDelay == '0') { const res = await updateDutyLogApi({ ...formData, statusStr }, { loading: true })
formData.materialPns = ''
} else {
const materialPnsStr = materialPns.value.join(',')
if (materialPnsStr) {
formData.materialPns = materialPnsStr
} else {
return uni.$mocpMessage.error('请输入缺件航材')
}
}
const res = await addUnplanApplyApi(formData, { loading: true })
if (res.code == 200) { if (res.code == 200) {
uni.$mocpJump.navigateBack() uni.$mocpJump.navigateBack()
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
uni.$emit('unplanApplyReload') uni.$emit('dutyLogReload')
uni.$emit('updateDutyLog')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
} }
......
...@@ -2,44 +2,46 @@ ...@@ -2,44 +2,46 @@
<global-page title="海技值班详情" showNavRight navRightType="button" @handleRightClick="navigateTo('/panel/dutyLog/edit')"> <global-page title="海技值班详情" showNavRight navRightType="button" @handleRightClick="navigateTo('/panel/dutyLog/edit')">
<template v-if="details"> <template v-if="details">
<view class="mocp-title"> <view class="mocp-title">
<view class="mocp-color-text-5 time">2024-12-11 星期三</view> <view class="mocp-color-text-5 time">{{ timeStampFormat(details.dutyDate, { format: 'YYYY/MM/DD dddd' }) }}</view>
<global-tag type="success">未交班</global-tag> <global-tag :type="useGetDictByValue('dl_statusColor', details.status)">
{{ useGetDictByValue('dl_status', details.status) }}
</global-tag>
</view> </view>
<view class="mocp-cell"> <view class="mocp-cell">
<up-cell-group> <up-cell-group>
<up-cell title="值班经理" :value="useGetDictByValue('np_sourceType', details.sourceType)"></up-cell> <up-cell title="值班经理" :value="details.dutyManagerUname + details.dutyManagerPhone || '-'"></up-cell>
<up-cell title="监察领导" :value="details.packageNo || '-'"></up-cell> <up-cell title="监察领导" :value="details.monitorLeaderUname + details.monitorLeaderPhone || '-'"></up-cell>
<up-cell title="接班经理" :value="details.packageName || '-'"></up-cell> <up-cell title="接班经理" :value="details.successorManagerUname + details.successorManagerPhone || '-'"></up-cell>
</up-cell-group> </up-cell-group>
</view> </view>
<view class="mocp-cell"> <view class="mocp-cell">
<up-cell-group> <up-cell-group>
<up-cell title="汇报工作"> <up-cell title="汇报工作">
<template #label> <template #label>
{{ getParamNameByValue('WarningReason', details.warningReason, { isArray: true }) || '-' }} <text>{{ details.reportWork || '-' }}</text>
</template> </template>
</up-cell> </up-cell>
<up-cell title="重要航班"> <up-cell title="重要航班">
<template #label> <template #label>
{{ getParamNameByValue('WarningReason', details.warningReason, { isArray: true }) || '-' }} <text>{{ details.importantFlight || '-' }}</text>
</template> </template>
</up-cell> </up-cell>
<up-cell title="会议布置工作"> <up-cell title="会议布置工作">
<template #label> <template #label>
{{ getParamNameByValue('WarningReason', details.warningReason, { isArray: true }) || '-' }} <text>{{ details.meetingArrangementWork || '-' }}</text>
</template> </template>
</up-cell> </up-cell>
<up-cell title="交接工作内容"> <up-cell title="交接工作内容">
<template #label> <template #label>
{{ getParamNameByValue('WarningReason', details.warningReason, { isArray: true }) || '-' }} <text>{{ details.handoverWork || '-' }}</text>
</template> </template>
</up-cell> </up-cell>
</up-cell-group> </up-cell-group>
</view> </view>
<view class="mocp-cell"> <view class="mocp-cell">
<up-cell-group> <up-cell-group>
<up-cell title="交接操作时间" :value="timeStampFormat(details.createTime) || '-'"></up-cell> <up-cell title="交班操作时间" :value="timeStampFormat(details.jiaoBanTime) || '-'"></up-cell>
<up-cell title="接班操作时间" :value="timeStampFormat(details.createTime) || '-'"></up-cell> <up-cell title="接班操作时间" :value="timeStampFormat(details.jieBanTime) || '-'"></up-cell>
</up-cell-group> </up-cell-group>
</view> </view>
</template> </template>
...@@ -49,8 +51,7 @@ ...@@ -49,8 +51,7 @@
<script setup> <script setup>
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict' import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams' import { onLoad, onUnload } from '@dcloudio/uni-app'
import { onLoad } from '@dcloudio/uni-app'
import { timeStampFormat } from 'mocp/utils/tool' import { timeStampFormat } from 'mocp/utils/tool'
import useDutyLogStore from 'mocp/store/dutyLog' import useDutyLogStore from 'mocp/store/dutyLog'
import { navigateTo } from 'mocp/utils/jump' import { navigateTo } from 'mocp/utils/jump'
...@@ -63,6 +64,12 @@ onLoad(() => { ...@@ -63,6 +64,12 @@ onLoad(() => {
dutyLogStore.setState('id', query.id) dutyLogStore.setState('id', query.id)
dutyLogStore.getDetails() dutyLogStore.getDetails()
}) })
uni.$on('updateDutyLog', () => {
dutyLogStore.getDetails()
})
onUnload(() => {
uni.$off('updateDutyLog')
})
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.mocp-title { .mocp-title {
......
<template> <template>
<global-page title="海技值班详情" showNavRight navRightType="button" navRightText="保存" @handleRightClick="handleSubmit"> <global-page
title="海技值班详情"
:showNavRight="checkPermi('/dutyLog/edit')"
navRightType="button"
navRightText="保存"
@handleRightClick="handleRightClick"
>
<view class="mocp-title"> <view class="mocp-title">
<view class="mocp-color-text-5 time">2024-12-11 星期三</view> <view class="mocp-color-text-5 time">{{ timeStampFormat(formData.dutyDate, { format: 'YYYY/MM/DD dddd' }) }}</view>
<global-tag type="success">未交班</global-tag> <global-tag :type="useGetDictByValue('dl_statusColor', formData.status)">
{{ useGetDictByValue('dl_status', formData.status) }}
</global-tag>
</view> </view>
<up-form labelPosition="left" labelWidth="auto" :model="formData" :rules="rules" ref="formRef"> <up-form labelPosition="left" labelWidth="auto" :model="formData" :rules="rules" ref="formRef">
<view class="mocp-form"> <view class="mocp-form">
<up-form-item label="值班经理" prop="approver" :borderBottom="true" required> <up-form-item label="值班经理" prop="dutyManagerUid" :borderBottom="true" required>
<custom-admin-picker pickAlign="right" clearable v-model="formData.approver"></custom-admin-picker> <custom-admin-picker
pickAlign="right"
clearable
v-model="formData.dutyManagerUid"
:search-value="formData.dutyManagerUname"
></custom-admin-picker>
</up-form-item> </up-form-item>
<up-form-item label="监察领导" prop="approver" :borderBottom="true" required> <up-form-item label="监察领导" prop="monitorLeaderUid" :borderBottom="true" required>
<custom-admin-picker pickAlign="right" clearable v-model="formData.approver"></custom-admin-picker> <custom-admin-picker
pickAlign="right"
clearable
v-model="formData.monitorLeaderUid"
:search-value="formData.monitorLeaderUname"
></custom-admin-picker>
</up-form-item> </up-form-item>
<up-form-item label="接班经理" prop="approver" :borderBottom="true" required> <up-form-item label="接班经理" prop="successorManagerUid" :borderBottom="true" required>
<custom-admin-picker pickAlign="right" clearable v-model="formData.approver"></custom-admin-picker> <custom-admin-picker
pickAlign="right"
clearable
v-model="formData.successorManagerUid"
:search-value="formData.successorManagerUname"
></custom-admin-picker>
</up-form-item> </up-form-item>
</view> </view>
<view class="mocp-form"> <view class="mocp-form">
<up-form-item label="汇报工作" prop="reason" :borderBottom="true" labelPosition="top" required> <up-form-item label="汇报工作" prop="reportWork" :borderBottom="true" labelPosition="top">
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.reason" count :maxlength="1000"></up-textarea> <up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.reportWork" count :maxlength="1000"></up-textarea>
</up-form-item> </up-form-item>
</view> </view>
<view class="mocp-form"> <view class="mocp-form">
<up-form-item label="重要航班" prop="reason" :borderBottom="true" labelPosition="top" required> <up-form-item label="重要航班" prop="importantFlight" :borderBottom="true" labelPosition="top">
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.reason" count :maxlength="1000"></up-textarea> <up-textarea
placeholder="请输入"
:height="40"
border="none"
v-model="formData.importantFlight"
count
:maxlength="1000"
></up-textarea>
</up-form-item> </up-form-item>
</view> </view>
<view class="mocp-form"> <view class="mocp-form">
<up-form-item label="会议布置工作" prop="reason" :borderBottom="true" labelPosition="top" required> <up-form-item label="会议布置工作" prop="meetingArrangementWork" :borderBottom="true" labelPosition="top">
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.reason" count :maxlength="1000"></up-textarea> <up-textarea
placeholder="请输入"
:height="40"
border="none"
v-model="formData.meetingArrangementWork"
count
:maxlength="1000"
></up-textarea>
</up-form-item> </up-form-item>
</view> </view>
<view class="mocp-form"> <view class="mocp-form">
<up-form-item label="交接工作内容" prop="reason" :borderBottom="true" labelPosition="top" required> <up-form-item label="交接工作内容" prop="handoverWork" :borderBottom="true" labelPosition="top">
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.reason" count :maxlength="1000"></up-textarea> <up-textarea
placeholder="请输入"
:height="40"
border="none"
v-model="formData.handoverWork"
count
:maxlength="1000"
></up-textarea>
</up-form-item> </up-form-item>
</view> </view>
</up-form> </up-form>
<global-action-sheet
v-model="showAction"
:options="[
{ label: '未交班并保存', value: 'NO_JIAO_BAN' },
{ label: '已交班并保存', value: 'JIAO_BAN' },
{ label: '已接班保存', value: 'JIE_BAN' }
]"
@select="handleSubmit"
></global-action-sheet>
</global-page> </global-page>
</template> </template>
<script setup> <script setup>
import { onLoad } from '@dcloudio/uni-app' import { onLoad } from '@dcloudio/uni-app'
import { formData, formRef, rules } from './constants/edit.compositions' import { storeToRefs } from 'pinia'
import { handleSubmit, resetData } from './constants/edit.functionals' import { formData, formRef, rules, showAction } from './constants/edit.compositions'
import { handleSubmit, resetData, handleRightClick } from './constants/edit.functionals'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { timeStampFormat } from 'mocp/utils/tool'
import useDutyLogStore from 'mocp/store/dutyLog'
import { checkPermi } from 'mocp/utils/permission'
const dutyLogStore = useDutyLogStore()
const { details } = storeToRefs(dutyLogStore)
onLoad(() => { onLoad(() => {
resetData() resetData()
Object.assign(formData, details.value)
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -11,51 +11,53 @@ ...@@ -11,51 +11,53 @@
navRightType="icon" navRightType="icon"
navRightIcon="saixuan-01" navRightIcon="saixuan-01"
@handleRightClick="handleRightClick" @handleRightClick="handleRightClick"
:api="unplanApplyListApi" :api="getDutyLogListApi"
:padding="24" :padding="24"
> >
<template #default="{ item }"> <template #default="{ item }">
<view class="item" :class="{ 'wrong-class': item.applyStatus == '0' }" @tap="goDetails(item)"> <view class="item" :class="{ 'wrong-class': item.applyStatus == '0' }" @tap="goDetails(item)">
<view class="item-title"> <view class="item-title">
<view class="left">2024-12-11</view> <view class="left">{{ timeStampFormat(item.dutyDate, { format: 'YYYY/MM/DD' }) }}</view>
<view class="right"> <view class="right">
<global-tag type="success">未交班</global-tag> <global-tag :type="useGetDictByValue('dl_statusColor', item.status)">
{{ useGetDictByValue('dl_status', item.status) }}
</global-tag>
</view> </view>
</view> </view>
<view class="item-content"> <view class="item-content">
<view class="mocp-flex"> <view class="mocp-flex">
<view class="mocp-color-text-3 flex-1"> <view class="mocp-color-text-3 flex-1">
<view>值班经理:</view> <view>值班经理:</view>
<view class="u-line-1 mocp-color-text-5">周琎</view> <view class="u-line-1 mocp-color-text-5">{{ item.dutyManagerUname || '-' }}</view>
</view> </view>
<view class="mocp-color-text-3 flex-1"> <view class="mocp-color-text-3 flex-1">
<view>联系电话:</view> <view>联系电话:</view>
<view class="u-line-1 mocp-color-text-5">15108535283</view> <view class="u-line-1 mocp-color-text-5">{{ item.dutyManagerPhone || '-' }}</view>
</view> </view>
<view class="mocp-color-text-3 flex-1"> <view class="mocp-color-text-3 flex-1">
<view>监察领导:</view> <view>监察领导:</view>
<view class="u-line-1 mocp-color-text-5">赵萸艳</view> <view class="u-line-1 mocp-color-text-5">{{ item.monitorLeaderUname || '-' }}</view>
</view> </view>
</view> </view>
<view class="mocp-list"> <view class="mocp-list">
<view class="mocp-color-text-3 mocp-item"> <view class="mocp-color-text-3 mocp-item">
汇报工作: 汇报工作:
<view class="u-line-1 mocp-color-text-5">2024年09月04日执行JD5705(海口-武汉)航班,在海口过站</view> <view class="u-line-1 mocp-color-text-5">{{ item.reportWork }}</view>
</view> </view>
<view class="mocp-color-text-3 mocp-item"> <view class="mocp-color-text-3 mocp-item">
重要航班: 重要航班:
<view class="u-line-1 mocp-color-text-5">滑出后机组反馈1号刹车温度高,无警告信息</view> <view class="u-line-1 mocp-color-text-5">{{ item.importantFlight }}</view>
</view> </view>
<view class="mocp-color-text-3 mocp-item"> <view class="mocp-color-text-3 mocp-item">
会议布置工作: 会议布置工作:
<view class="u-line-1 mocp-color-text-5"> <view class="u-line-1 mocp-color-text-5">
机组决定滑回处理,滑回后机组反映左起落架1号轮开刹车风扇基本不降温,核实一号刹车风扇不工作,处理中 {{ item.meetingArrangementWork }}
</view> </view>
</view> </view>
<view class="mocp-color-text-3 mocp-item"> <view class="mocp-color-text-3 mocp-item">
交接工作内容: 交接工作内容:
<view class="u-line-1 mocp-color-text-5"> <view class="u-line-1 mocp-color-text-5">
对飞机有安全隐患梯架、设备在指定位置并与地面固定物系留,其中外单位梯架需通报机场和相关单位处理,并在未得到处理前安排人员进行监护 {{ item.handoverWork }}
</view> </view>
</view> </view>
</view> </view>
...@@ -69,10 +71,10 @@ ...@@ -69,10 +71,10 @@
import { ref } from 'vue' import { ref } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { onUnload } from '@dcloudio/uni-app' import { onUnload } from '@dcloudio/uni-app'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { timeStampFormat } from 'mocp/utils/tool' import { timeStampFormat } from 'mocp/utils/tool'
import { unplanApplyListApi } from 'mocp/api/dutyLog'
import useDutyLogStore from 'mocp/store/dutyLog' import useDutyLogStore from 'mocp/store/dutyLog'
import { getDutyLogListApi } from 'mocp/api/dutyLog'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
//跳转 //跳转
const dutyLogStore = useDutyLogStore() const dutyLogStore = useDutyLogStore()
......
<template> <template>
<global-page-search @reset="handleReset" @confirm="handleConfirm"> <global-page-search @reset="handleReset" @confirm="handleConfirm">
<up-form labelPosition="left" labelWidth="auto"> <up-form labelPosition="left" labelWidth="auto">
<up-form-item label="值班经理" prop="packageNo" :borderBottom="true"> <up-form-item label="值班经理" prop="dutyManagerUname" :borderBottom="true">
<up-input v-model="formData.packageNo" inputAlign="right" border="none" placeholder="请输入" clearable></up-input> <up-input v-model="formData.dutyManagerUname" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item> </up-form-item>
<up-form-item label="监察领导" prop="packageNo" :borderBottom="true"> <up-form-item label="监察领导" prop="monitorLeaderUname" :borderBottom="true">
<up-input v-model="formData.packageNo" inputAlign="right" border="none" placeholder="请输入" clearable></up-input> <up-input v-model="formData.monitorLeaderUname" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item> </up-form-item>
<up-form-item label="状态" prop="applyStatus" :borderBottom="true"> <up-form-item label="状态" prop="statusStr" :borderBottom="true">
<global-picker v-model="formData.applyStatus" pickAlign="right" clearable dictkey="np_applyStatus"></global-picker> <global-picker v-model="formData.statusStr" pickAlign="right" clearable dictkey="dl_status"></global-picker>
</up-form-item> </up-form-item>
<up-form-item label="值班日期" :borderBottom="true"> <up-form-item label="值班日期" :borderBottom="true">
<global-calendar <global-calendar
pickAlign="right" pickAlign="right"
v-model:startTime="formData.startTime" v-model:startTime="formData.dutyDateS"
v-model:endTime="formData.startTimeEnd" v-model:endTime="formData.dutyDateE"
clearable clearable
></global-calendar> ></global-calendar>
</up-form-item> </up-form-item>
......
...@@ -246,6 +246,7 @@ export const menuList = ref([ ...@@ -246,6 +246,7 @@ export const menuList = ref([
group: '定检管理', group: '定检管理',
default: false, default: false,
count: 0, count: 0,
url: '/panel/dutyLog/list' url: '/panel/dutyLog/list',
apiPath: '/dutyLog'
} }
]) ])
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