Commit ab339465 by pangchong

feat: 防风害收尾

parent 91a5e79a
import { http } from 'mocp/utils/http' import { http, post } from 'mocp/utils/http'
//获取用户基本信息分页列表 //获取用户基本信息分页列表
export const getAdminListApi = (data, config) => { export const getAdminListApi = (data, config) => {
...@@ -10,6 +10,16 @@ export const getAdminListApi = (data, config) => { ...@@ -10,6 +10,16 @@ export const getAdminListApi = (data, config) => {
}) })
} }
//获取用户基本信息详情
export const getAdminDetailApi = (data, config) => {
return http({
method: 'POST',
url: '/system/getAdminDetail',
data,
config
})
}
//通过机号查询飞机相关数据 //通过机号查询飞机相关数据
export const getAcReduceListApi = (data, config) => { export const getAcReduceListApi = (data, config) => {
return http({ return http({
......
...@@ -112,3 +112,27 @@ export const saveRelieveInfoApi = (data, config) => { ...@@ -112,3 +112,27 @@ export const saveRelieveInfoApi = (data, config) => {
config config
}) })
} }
export const saveSandstormWorkApi = (data, config) => {
return post({
method: 'POST',
url: '/terminal/saveSandstormWork',
data,
config
})
}
export const getPwdTaByAcApi = (data, config) => {
return http({
method: 'POST',
url: '/terminal/getPwdTaByAc',
data,
config
})
}
export const getTerminalWeatherListApi = (data, config) => {
return http({
method: 'POST',
url: '/terminal/getTerminalWeatherList',
data,
config
})
}
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
:cancelColor="cancelColor" :cancelColor="cancelColor"
:confirmColor="confirmColor" :confirmColor="confirmColor"
></up-datetime-picker> ></up-datetime-picker>
<view class="date-content" :class="getPickerClass" @tap="show = true" :style="getStyle"> <view class="date-content" :class="getPickerClass" @tap="open" :style="getStyle">
<text class="date-value">{{ getLabelValue }}</text> <text class="date-value">{{ getLabelValue }}</text>
<view class="date-icon"> <view class="date-icon">
<view class="date-icon-close" v-if="clearable && !showPlaceholder && !disabled" @tap.stop="clear"> <view class="date-icon-close" v-if="clearable && !showPlaceholder && !disabled" @tap.stop="clear">
...@@ -97,6 +97,11 @@ const ps = defineProps({ ...@@ -97,6 +97,11 @@ const ps = defineProps({
default: '#165dff' default: '#165dff'
} }
}) })
const open = () => {
if (!ps.disabled) {
show.value = true
}
}
//获取下拉框样式 //获取下拉框样式
const getStyle = computed(() => { const getStyle = computed(() => {
let pickAlign = 'flex-start' let pickAlign = 'flex-start'
...@@ -201,6 +206,7 @@ const clear = () => { ...@@ -201,6 +206,7 @@ const clear = () => {
&.disabled { &.disabled {
background: #f5f7fa; background: #f5f7fa;
padding: 0 12rpx;
} }
} }
......
...@@ -89,6 +89,11 @@ const getCustomStyle = computed(() => { ...@@ -89,6 +89,11 @@ const getCustomStyle = computed(() => {
height: ps.height ? ps.height + 'rpx' : 'auto', height: ps.height ? ps.height + 'rpx' : 'auto',
background: ps.background background: ps.background
} }
if (ps.mode == 'bottom') {
style.borderTopLeftRadius = ps.round + 'rpx'
style.borderTopRightRadius = ps.round + 'rpx'
style.marginTop = safeAreaInsets?.top + 'px'
}
if (ps.mode == 'right') { if (ps.mode == 'right') {
style.borderTopLeftRadius = ps.round + 'rpx' style.borderTopLeftRadius = ps.round + 'rpx'
style.marginTop = safeAreaInsets?.top + 'px' style.marginTop = safeAreaInsets?.top + 'px'
......
...@@ -23,8 +23,11 @@ ...@@ -23,8 +23,11 @@
</view> </view>
</global-popup> </global-popup>
<view class="picker-content" :class="getPickerClass" @tap="open" :style="getContentStyle"> <view class="picker-content" :class="getPickerClass" @tap="open" :style="getContentStyle">
<text class="picker-value">{{ getLabelValue }}</text> <text class="picker-value">
{{ getLabelValue }}
</text>
<view class="picker-icon"> <view class="picker-icon">
<up-loading-icon :show="loading && !show"></up-loading-icon>
<view class="picker-icon-close" v-if="clearable && !showPlaceholder && !disabled" @tap.stop="clear"> <view class="picker-icon-close" v-if="clearable && !showPlaceholder && !disabled" @tap.stop="clear">
<up-icon name="close-circle-fill" color="#c0c4cc" size="36rpx"></up-icon> <up-icon name="close-circle-fill" color="#c0c4cc" size="36rpx"></up-icon>
</view> </view>
...@@ -36,8 +39,8 @@ ...@@ -36,8 +39,8 @@
<script setup> <script setup>
import { debounce } from 'lodash' import { debounce } from 'lodash'
import { getAdminListApi } from 'mocp/api/system' import { getAdminDetailApi, getAdminListApi } from 'mocp/api/system'
import { computed, ref, watch, watchEffect } from 'vue' import { computed, ref, watch } from 'vue'
const es = defineEmits(['update:modelValue', 'change']) const es = defineEmits(['update:modelValue', 'change'])
const ps = defineProps({ const ps = defineProps({
...@@ -138,7 +141,7 @@ const getContentStyle = computed(() => { ...@@ -138,7 +141,7 @@ const getContentStyle = computed(() => {
const labelValue = ref('') const labelValue = ref('')
const getLabelValue = computed(() => { const getLabelValue = computed(() => {
if (labelValue.value == ps.emptyValue) { if (labelValue.value == ps.emptyValue) {
return ps.placeholder return loading.value ? '' : ps.placeholder
} }
return labelValue.value || ps.placeholder return labelValue.value || ps.placeholder
}) })
...@@ -203,14 +206,30 @@ const onChange = debounce((value) => { ...@@ -203,14 +206,30 @@ const onChange = debounce((value) => {
} }
}, 200) }, 200)
//获取label的内容 //获取label的内容
watchEffect(() => { const loading = ref(false)
const option = columns.value?.find((option) => String(option[ps.valueField]) === String(ps.modelValue)) const getAdminDetail = async (id) => {
if (option) { loading.value = true
labelValue.value = option[ps.labelField] const res = await getAdminDetailApi({ id })
loading.value = false
if (res.code == 200) {
labelValue.value = `${res.data?.nickname}(${(res.data?.enetAccount || '无易网号') + '-' + (res.data?.deptFullName || '无机构')})`
} else {
uni.$mocpMessage.error(res.message)
}
}
watch(
() => ps.modelValue,
(value) => {
if (value) {
getAdminDetail(value)
} else { } else {
labelValue.value = ps.emptyValue labelValue.value = ps.emptyValue
} }
}) },
{
immediate: true
}
)
//弹出层列表点击 //弹出层列表点击
const handleChoose = (row) => { const handleChoose = (row) => {
es('update:modelValue', row[ps.valueField], row) es('update:modelValue', row[ps.valueField], row)
......
...@@ -52,6 +52,8 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', { ...@@ -52,6 +52,8 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', {
return state.details?.operateList.find((item) => item.operateBasicVo.id == String(state.basicId)) || {} return state.details?.operateList.find((item) => item.operateBasicVo.id == String(state.basicId)) || {}
} else if (state.tabIndex == 2) { } else if (state.tabIndex == 2) {
return state.details?.mooringList.find((item) => item.mooringBasicVo.id == String(state.basicId)) || {} return state.details?.mooringList.find((item) => item.mooringBasicVo.id == String(state.basicId)) || {}
} else if (state.tabIndex == 3) {
return state.details?.sandstormList.find((item) => item.sandstormBasicVo.id == String(state.basicId)) || {}
} }
return {} return {}
}, },
...@@ -62,6 +64,8 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', { ...@@ -62,6 +64,8 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', {
return this.getDetails?.operateBasicVo || {} return this.getDetails?.operateBasicVo || {}
} else if (state.tabIndex == 2) { } else if (state.tabIndex == 2) {
return this.getDetails?.mooringBasicVo || {} return this.getDetails?.mooringBasicVo || {}
} else if (state.tabIndex == 3) {
return this.getDetails?.sandstormBasicVo || {}
} }
return {} return {}
}, },
...@@ -72,6 +76,8 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', { ...@@ -72,6 +76,8 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', {
return this.getDetails.operateConclusionVo || {} return this.getDetails.operateConclusionVo || {}
} else if (state.tabIndex == 2) { } else if (state.tabIndex == 2) {
return this.getDetails.mooringConclusionVo || {} return this.getDetails.mooringConclusionVo || {}
} else if (state.tabIndex == 3) {
return this.getDetails.sandstormConclusionVo || {}
} }
return {} return {}
}, },
...@@ -82,8 +88,22 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', { ...@@ -82,8 +88,22 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', {
return this.getDetails.operateWorkVo || {} return this.getDetails.operateWorkVo || {}
} else if (state.tabIndex == 2) { } else if (state.tabIndex == 2) {
return this.getDetails.mooringWorkVo || {} return this.getDetails.mooringWorkVo || {}
} else if (state.tabIndex == 3) {
return this.getDetails.sandstormWorkVo || {}
} }
return {} return {}
},
getDisabled(state) {
if (state.tabIndex == 0) {
return this.getBasicVo.rxStatus == '0' || state.details.patrolIsOpen == '0'
} else if (state.tabIndex == 1) {
return this.getBasicVo.rxStatus == '0' || state.details.operateIsOpen == '0'
} else if (state.tabIndex == 2) {
return this.getBasicVo.rxStatus == '0' || state.details.mooringIsOpen == '0'
} else if (state.tabIndex == 3) {
return this.getBasicVo.rxStatus == '0' || state.details.sandstormIsOpen == '0'
}
return false
} }
}, },
actions: { actions: {
...@@ -112,6 +132,6 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', { ...@@ -112,6 +132,6 @@ const useWindDamageManagementStore = defineStore('windDamageManagement303030', {
} }
}, },
// 配置持久化 // 配置持久化
persist: true persist: false
}) })
export default useWindDamageManagementStore export default useWindDamageManagementStore
...@@ -49,7 +49,7 @@ export const uniqueArray = (arr) => { ...@@ -49,7 +49,7 @@ export const uniqueArray = (arr) => {
*/ */
export const previewFile = (fileUrl) => { export const previewFile = (fileUrl) => {
uni.showLoading({ uni.showLoading({
title: '正在打开文件', title: '正在打开文件...',
mask: true mask: true
}) })
uni.downloadFile({ uni.downloadFile({
...@@ -77,6 +77,48 @@ export const previewFile = (fileUrl) => { ...@@ -77,6 +77,48 @@ export const previewFile = (fileUrl) => {
} }
/** /**
* 文件下载
* @param {*} fileUrl
*/
export const downloadFile = (fileUrl) => {
return new Promise((resolve, reject) => {
uni.showLoading({
mask: true,
title: '保存中...'
})
uni.downloadFile({
url: fileUrl,
success: (res) => {
if (res.statusCode === 200) {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: () => {
uni.$mocpMessage.success('文件下载成功,已保存到相册')
resolve(res.tempFilePath)
},
fail: (err) => {
uni.$mocpMessage.error('保存到相册失败:', err)
reject(err)
},
complete: () => {
uni.hideLoading()
}
})
} else {
uni.$mocpMessage.error('文件下载失败')
reject(new Error('文件下载失败'))
}
},
fail: (err) => {
uni.hideLoading()
uni.$mocpMessage.error('下载文件失败:', err)
reject(err)
}
})
})
}
/**
* 如果至少有一个参数被填写,那么所有参数都必须被填写 * 如果至少有一个参数被填写,那么所有参数都必须被填写
* @param {...any} params * @param {...any} params
* @returns * @returns
......
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
{ {
"path": "pages/modules/mocp/panel/move-decision/edit-mco-director", "path": "pages/modules/mocp/panel/move-decision/edit-mco-director",
"style": { "style": {
"navigationBarTitleText": "MCO主任意见" "navigationBarTitleText": "MOC主任意见"
} }
}, },
{ {
...@@ -770,6 +770,12 @@ ...@@ -770,6 +770,12 @@
"style": { "style": {
"navigationBarTitleText": "防风害系留操作单" "navigationBarTitleText": "防风害系留操作单"
} }
},
{
"path": "pages/modules/mocp/panel/windDamageManagement/sandstormDetails",
"style": {
"navigationBarTitleText": "防沙尘暴签署单"
}
} }
], ],
"globalStyle": { "globalStyle": {
......
...@@ -69,19 +69,19 @@ ...@@ -69,19 +69,19 @@
</view> </view>
</view> </view>
<custom-card-details <custom-card-details
title="MCO主任意见" title="MOC主任意见"
showfooter showfooter
:idcard="details.mcoDirectorUpdateName" :idcard="details.mcoDirectorUpdateName"
:calendar="details.mcoDirectorUpdateTime" :calendar="details.mcoDirectorUpdateTime"
edit edit
@handleAdd="handleAdd('edit-mco-director')" @handleAdd="handleAdd('edit-mco-director')"
> >
<custom-card-details-item label="MCO主任" :value="details.mcoDirectorName || '-'"></custom-card-details-item> <custom-card-details-item label="MOC主任" :value="details.mcoDirectorName || '-'"></custom-card-details-item>
<custom-card-details-item <custom-card-details-item
label="MCO主任意见" label="MOC主任意见"
:value="useGetDictByValue('md_decisionState', details.mcoDirectorDecisionState) || '-'" :value="useGetDictByValue('md_decisionState', details.mcoDirectorDecisionState) || '-'"
></custom-card-details-item> ></custom-card-details-item>
<custom-card-details-item label="MCO主任意见描述" :value="details.mcoDirectorOpinion || '-'"></custom-card-details-item> <custom-card-details-item label="MOC主任意见描述" :value="details.mcoDirectorOpinion || '-'"></custom-card-details-item>
</custom-card-details> </custom-card-details>
<custom-card-details <custom-card-details
title="公司值班经理意见" title="公司值班经理意见"
......
<template> <template>
<global-page title="MCO主任意见" navLeftType="text" showNavRight navRightType="button" navRightText="保存" @handleRightClick="handleRightClick"> <global-page title="MOC主任意见" navLeftType="text" showNavRight navRightType="button" navRightText="保存" @handleRightClick="handleRightClick">
<view class="mocp-form"> <view class="mocp-form">
<up-form labelPosition="left" labelWidth="auto"> <up-form labelPosition="left" labelWidth="auto">
<up-form-item label="MCO主任" :borderBottom="true"> <up-form-item label="MOC主任" :borderBottom="true">
<custom-admin-picker <custom-admin-picker
ref="adminPickerRef" ref="adminPickerRef"
pickAlign="right" pickAlign="right"
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
:searchValue="details.mcoDirectorName" :searchValue="details.mcoDirectorName"
></custom-admin-picker> ></custom-admin-picker>
</up-form-item> </up-form-item>
<up-form-item label="MCP主任意见" :borderBottom="true"> <up-form-item label="MOC主任意见" :borderBottom="true">
<global-radio radioAlign="right" clearable v-model="formData.mcoDirectorDecisionState" dictkey="md_decisionState"></global-radio> <global-radio radioAlign="right" clearable v-model="formData.mcoDirectorDecisionState" dictkey="md_decisionState"></global-radio>
</up-form-item> </up-form-item>
<up-form-item label="MCP主任意见描述" :borderBottom="true" labelPosition="top"> <up-form-item label="MOC主任意见描述" :borderBottom="true" labelPosition="top">
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.mcoDirectorOpinion"></up-textarea> <up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.mcoDirectorOpinion"></up-textarea>
</up-form-item> </up-form-item>
</up-form> </up-form>
......
<template>
<global-popup v-model="show" title="TA文件" background="#F7F8FA" :round="32" closeable>
<up-cell-group v-if="taList.length">
<template v-for="(item, index) in taList" :key="index">
<up-cell :title="item.fileName" @tap="downloadFile(item.fileUrl)" />
</template>
</up-cell-group>
<view class="global-empty" v-else>
<global-empty></global-empty>
</view>
</global-popup>
</template>
<script setup>
import { getPwdTaByAcApi } from 'mocp/api/windDamageManagement'
import { downloadFile } from 'mocp/utils/tool'
import { ref } from 'vue'
const show = ref(false)
const taList = ref([])
const open = (params) => {
taList.value = []
getPwdTaByAc(params)
}
const getPwdTaByAc = async (params) => {
const res = await getPwdTaByAcApi(params, { loading: true })
if (res.code == 200) {
if (res.data?.files) {
taList.value = JSON.parse(res.data?.files)
}
if (taList.value.length == 0) {
uni.$mocpMessage.warning('暂无对应文件')
}
if (taList.value.length == 1) {
downloadFile(taList.value[0].fileUrl)
}
if (taList.value.length > 1) {
show.value = true
}
} else {
uni.$mocpMessage.error(res.message)
}
}
defineExpose({
open
})
</script>
<style lang="scss" scoped>
.global-empty {
padding: 24rpx 0;
}
:deep(.u-cell__title-text) {
word-break: break-all;
}
</style>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<up-form-item label="航站" :borderBottom="true" prop="terminal" required> <up-form-item label="航站" :borderBottom="true" prop="terminal" required>
<up-input border="none" inputAlign="right" clearable v-model="formData.terminal" disabled disabledColor="#fff"></up-input> <up-input border="none" inputAlign="right" clearable v-model="formData.terminal" disabled disabledColor="#fff"></up-input>
</up-form-item> </up-form-item>
<up-form-item label="机号" :borderBottom="true" prop="ac" required> <up-form-item label="机号" :borderBottom="true" prop="ac" required v-if="tabIndex > 0">
<up-input border="none" inputAlign="right" clearable v-model="formData.ac" disabled disabledColor="#fff"></up-input> <up-input border="none" inputAlign="right" clearable v-model="formData.ac" disabled disabledColor="#fff"></up-input>
</up-form-item> </up-form-item>
<up-form-item :label="tabIndex == 0 ? '巡场人员' : '操作人'" :borderBottom="true"> <up-form-item :label="tabIndex == 0 ? '巡场人员' : '操作人'" :borderBottom="true">
......
...@@ -46,9 +46,9 @@ const formData = reactive({ ...@@ -46,9 +46,9 @@ const formData = reactive({
}) })
// 页面初始化 // 页面初始化
onLoad(() => { onLoad(() => {
Object.assign(formData, getConclusionVo.value)
formData.basicId = basicId.value formData.basicId = basicId.value
formData.type = tabIndex.value + 1 formData.type = tabIndex.value + 1
Object.assign(formData, getConclusionVo.value)
}) })
//提交表单 //提交表单
const handleSubmit = async () => { const handleSubmit = async () => {
......
...@@ -101,7 +101,7 @@ const tabList = [ ...@@ -101,7 +101,7 @@ const tabList = [
{ {
name: '防沙尘暴签署单', name: '防沙尘暴签署单',
api: getPwdSandstormListApi, api: getPwdSandstormListApi,
url: '/panel/windDamageManagement/patrolDetails' url: '/panel/windDamageManagement/sandstormDetails'
} }
] ]
const handleTabsChange = (value) => { const handleTabsChange = (value) => {
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<global-page <global-page
:padding="24" :padding="24"
title="防风害系留操作单" title="防风害系留操作单"
:showFooterBtn="getBasicVo.rxStatus == 0" :showFooterBtn="getBasicVo.rxStatus == '0'"
footerBtnText="接收" footerBtnText="接收"
@handleFooterClick="handleFooterClick" @handleFooterClick="handleFooterClick"
showNavRight showNavRight
navRightType="button" navRightType="button"
navRightText="保存" navRightText="保存"
:navRightDisabled="getBasicVo.rxStatus == 0" :navRightDisabled="getDisabled"
@handleRightClick="handleRightClick" @handleRightClick="handleRightClick"
> >
<template v-if="details"> <template v-if="details">
...@@ -27,11 +27,7 @@ ...@@ -27,11 +27,7 @@
</template> </template>
<template #value> <template #value>
<view style="margin-right: 24rpx"> <view style="margin-right: 24rpx">
<global-button <global-button type="text" :disabled="getDisabled" @tap.stop="navigateTo('/panel/windDamageManagement/editBasic')">
type="text"
:disabled="getBasicVo.rxStatus == 0"
@tap.stop="navigateTo('/panel/windDamageManagement/editBasic')"
>
编辑 编辑
</global-button> </global-button>
</view> </view>
...@@ -42,12 +38,7 @@ ...@@ -42,12 +38,7 @@
<up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" /> <up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" />
<up-cell title="预计开始时间" :value="details.startTime || '-'" /> <up-cell title="预计开始时间" :value="details.startTime || '-'" />
<up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" /> <up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" />
<up-cell <up-cell isLink>
title="航站"
:value="baseStore.getTerminalObject[details.terminal] || '-'"
v-if="details.weatherSource == '1'"
/>
<up-cell isLink v-else>
<template #title> <template #title>
<global-field label="航站"></global-field> <global-field label="航站"></global-field>
<global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field> <global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field>
...@@ -84,6 +75,7 @@ ...@@ -84,6 +75,7 @@
v-model="formData.startTime" v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
clearable clearable
:disabled="getDisabled"
></global-date> ></global-date>
</view> </view>
</template> </template>
...@@ -91,7 +83,12 @@ ...@@ -91,7 +83,12 @@
<up-cell title="系留情况"> <up-cell title="系留情况">
<template #label> <template #label>
<view style="margin-top: 12rpx"> <view style="margin-top: 12rpx">
<global-radio v-model="formData.situation" clearable dictkey="wdm_situation"></global-radio> <global-radio
v-model="formData.situation"
clearable
dictkey="wdm_situation"
:disabled="getDisabled"
></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
...@@ -113,18 +110,29 @@ ...@@ -113,18 +110,29 @@
v-model="formData.executeComplete" v-model="formData.executeComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.executeMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.executeMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.executeFiles" :file-list="getWorkVo.executeFiles"></global-upload> <global-upload
v-model="formData.executeFiles"
:file-list="getWorkVo.executeFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 2 --> <!-- 2 -->
...@@ -141,18 +149,29 @@ ...@@ -141,18 +149,29 @@
v-model="formData.syncComplete" v-model="formData.syncComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.syncMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.syncMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.syncFiles" :file-list="getWorkVo.syncFiles"></global-upload> <global-upload
v-model="formData.syncFiles"
:file-list="getWorkVo.syncFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
</up-cell-group> </up-cell-group>
...@@ -173,18 +192,29 @@ ...@@ -173,18 +192,29 @@
v-model="formData.headComplete" v-model="formData.headComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.headMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.headMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.headFiles" :file-list="getWorkVo.headFiles"></global-upload> <global-upload
v-model="formData.headFiles"
:file-list="getWorkVo.headFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 2 --> <!-- 2 -->
...@@ -201,18 +231,29 @@ ...@@ -201,18 +231,29 @@
v-model="formData.wheelComplete" v-model="formData.wheelComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.wheelMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.wheelMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.wheelFiles" :file-list="getWorkVo.wheelFiles"></global-upload> <global-upload
v-model="formData.wheelFiles"
:file-list="getWorkVo.wheelFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 3 --> <!-- 3 -->
...@@ -236,18 +277,29 @@ ...@@ -236,18 +277,29 @@
v-model="formData.ammComplete" v-model="formData.ammComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.ammMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.ammMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.ammFiles" :file-list="getWorkVo.ammFiles"></global-upload> <global-upload
v-model="formData.ammFiles"
:file-list="getWorkVo.ammFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 4 --> <!-- 4 -->
...@@ -269,18 +321,29 @@ ...@@ -269,18 +321,29 @@
v-model="formData.ballastComplete" v-model="formData.ballastComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.ballastMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.ballastMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.ballastFiles" :file-list="getWorkVo.ballastFiles"></global-upload> <global-upload
v-model="formData.ballastFiles"
:file-list="getWorkVo.ballastFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 5 --> <!-- 5 -->
...@@ -302,18 +365,29 @@ ...@@ -302,18 +365,29 @@
v-model="formData.obstacleComplete" v-model="formData.obstacleComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.obstacleMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.obstacleMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.obstacleFiles" :file-list="getWorkVo.obstacleFiles"></global-upload> <global-upload
v-model="formData.obstacleFiles"
:file-list="getWorkVo.obstacleFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
</up-cell-group> </up-cell-group>
...@@ -333,6 +407,7 @@ ...@@ -333,6 +407,7 @@
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime" v-model="formData.endTime"
clearable clearable
:disabled="getDisabled"
></global-date> ></global-date>
</view> </view>
</template> </template>
...@@ -351,7 +426,7 @@ ...@@ -351,7 +426,7 @@
size="medium" size="medium"
type="primary" type="primary"
@tap="saveRelieveInfo" @tap="saveRelieveInfo"
:disabled="getBasicVo.isRelieve == '1' || details.mooringIsOpen == '0' || getBasicVo.rxStatus == 0" :disabled="getBasicVo.isRelieve == '1' || getDisabled"
> >
解除系留 解除系留
</global-button> </global-button>
...@@ -363,7 +438,7 @@ ...@@ -363,7 +438,7 @@
<view style="margin-right: 24rpx"> <view style="margin-right: 24rpx">
<global-button <global-button
type="text" type="text"
:disabled="getBasicVo.rxStatus == 0" :disabled="getDisabled"
@tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')" @tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')"
> >
编辑 编辑
...@@ -425,13 +500,15 @@ import { saveMooringWorkApi, saveReceiveInfoApi, saveRelieveInfoApi } from 'mocp ...@@ -425,13 +500,15 @@ import { saveMooringWorkApi, saveReceiveInfoApi, saveRelieveInfoApi } from 'mocp
const baseStore = useBaseStore() const baseStore = useBaseStore()
const windDamageManagementStore = useWindDamageManagementStore() const windDamageManagementStore = useWindDamageManagementStore()
const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex } = storeToRefs(windDamageManagementStore) const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex, getDisabled } = storeToRefs(windDamageManagementStore)
onLoad(async () => { onLoad(() => {
init()
})
const init = async () => {
await windDamageManagementStore.getAllTaskInfoByWeather() await windDamageManagementStore.getAllTaskInfoByWeather()
formData.basicId = basicId.value
Object.assign(formData, getWorkVo.value) Object.assign(formData, getWorkVo.value)
}) formData.basicId = basicId.value
}
//接收历史 //接收历史
const receiveHistoryListRef = ref() const receiveHistoryListRef = ref()
const openReceiveHistory = () => { const openReceiveHistory = () => {
...@@ -451,7 +528,7 @@ const saveReceiveInfo = async () => { ...@@ -451,7 +528,7 @@ const saveReceiveInfo = async () => {
if (res.code == 200) { if (res.code == 200) {
show.value = false show.value = false
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
...@@ -459,10 +536,10 @@ const saveReceiveInfo = async () => { ...@@ -459,10 +536,10 @@ const saveReceiveInfo = async () => {
} }
//气象信息 //气象信息
const goWeather = () => { const goWeather = () => {
if (details.value?.patrolIsOpen == '0') { if (details.value?.mooringIsOpen == '0') {
return uni.$mocpMessage.warning('气象信息已失效') return uni.$mocpMessage.warning('气象信息已失效')
} }
navigateTo('/panel/windDamageManagement/weather') navigateTo('/panel/windDamageManagement/weather', { terminal: details.value?.terminal })
} }
//保存 //保存
const formData = reactive({ const formData = reactive({
...@@ -508,7 +585,7 @@ const handleRightClick = async () => { ...@@ -508,7 +585,7 @@ const handleRightClick = async () => {
const res = await saveMooringWorkApi(formData, { loading: true }) const res = await saveMooringWorkApi(formData, { loading: true })
if (res.code == 200) { if (res.code == 200) {
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
...@@ -519,7 +596,7 @@ const saveRelieveInfo = async () => { ...@@ -519,7 +596,7 @@ const saveRelieveInfo = async () => {
const res = await saveRelieveInfoApi({ basicId: basicId.value, taskType: tabIndex.value + 1 }, { loading: true }) const res = await saveRelieveInfoApi({ basicId: basicId.value, taskType: tabIndex.value + 1 }, { loading: true })
if (res.code == 200) { if (res.code == 200) {
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<global-page <global-page
:padding="24" :padding="24"
title="防风害巡场检查单" title="防风害巡场检查单"
:showFooterBtn="getBasicVo.rxStatus == 0" :showFooterBtn="getBasicVo.rxStatus == '0'"
footerBtnText="接收" footerBtnText="接收"
@handleFooterClick="handleFooterClick" @handleFooterClick="handleFooterClick"
showNavRight showNavRight
navRightType="button" navRightType="button"
navRightText="保存" navRightText="保存"
:navRightDisabled="getBasicVo.rxStatus == 0" :navRightDisabled="getDisabled"
@handleRightClick="handleRightClick" @handleRightClick="handleRightClick"
> >
<template v-if="details"> <template v-if="details">
...@@ -27,11 +27,7 @@ ...@@ -27,11 +27,7 @@
</template> </template>
<template #value> <template #value>
<view style="margin-right: 24rpx"> <view style="margin-right: 24rpx">
<global-button <global-button type="text" :disabled="getDisabled" @tap.stop="navigateTo('/panel/windDamageManagement/editBasic')">
type="text"
:disabled="getBasicVo.rxStatus == 0"
@tap.stop="navigateTo('/panel/windDamageManagement/editBasic')"
>
编辑 编辑
</global-button> </global-button>
</view> </view>
...@@ -42,12 +38,7 @@ ...@@ -42,12 +38,7 @@
<up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" /> <up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" />
<up-cell title="预计开始时间" :value="details.startTime || '-'" /> <up-cell title="预计开始时间" :value="details.startTime || '-'" />
<up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" /> <up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" />
<up-cell <up-cell isLink>
title="航站"
:value="baseStore.getTerminalObject[details.terminal] || '-'"
v-if="details.weatherSource == '1'"
/>
<up-cell isLink v-else>
<template #title> <template #title>
<global-field label="航站"></global-field> <global-field label="航站"></global-field>
<global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field> <global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field>
...@@ -84,6 +75,7 @@ ...@@ -84,6 +75,7 @@
v-model="formData.startTime" v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
clearable clearable
:disabled="getDisabled"
></global-date> ></global-date>
</view> </view>
</template> </template>
...@@ -106,18 +98,29 @@ ...@@ -106,18 +98,29 @@
v-model="formData.syncComplete" v-model="formData.syncComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.syncMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.syncMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.syncFiles" :file-list="getWorkVo.syncFiles"></global-upload> <global-upload
v-model="formData.syncFiles"
:file-list="getWorkVo.syncFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 2 --> <!-- 2 -->
...@@ -134,18 +137,29 @@ ...@@ -134,18 +137,29 @@
v-model="formData.reportComplete" v-model="formData.reportComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.reportMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.reportMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.reportFiles" :file-list="getWorkVo.reportFiles"></global-upload> <global-upload
v-model="formData.reportFiles"
:file-list="getWorkVo.reportFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 3 --> <!-- 3 -->
...@@ -164,18 +178,29 @@ ...@@ -164,18 +178,29 @@
v-model="formData.stayComplete" v-model="formData.stayComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.stayMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.stayMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.stayFiles" :file-list="getWorkVo.stayFiles"></global-upload> <global-upload
v-model="formData.stayFiles"
:file-list="getWorkVo.stayFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 4 --> <!-- 4 -->
...@@ -192,18 +217,29 @@ ...@@ -192,18 +217,29 @@
v-model="formData.hnarComplete" v-model="formData.hnarComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.hnarMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.hnarMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.hnarFiles" :file-list="getWorkVo.hnarFiles"></global-upload> <global-upload
v-model="formData.hnarFiles"
:file-list="getWorkVo.hnarFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 5 --> <!-- 5 -->
...@@ -220,18 +256,29 @@ ...@@ -220,18 +256,29 @@
v-model="formData.pressureComplete" v-model="formData.pressureComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.pressureMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.pressureMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.pressureFiles" :file-list="getWorkVo.pressureFiles"></global-upload> <global-upload
v-model="formData.pressureFiles"
:file-list="getWorkVo.pressureFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 6 --> <!-- 6 -->
...@@ -248,18 +295,29 @@ ...@@ -248,18 +295,29 @@
v-model="formData.brakeComplete" v-model="formData.brakeComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.brakeMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.brakeMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.brakeFiles" :file-list="getWorkVo.brakeFiles"></global-upload> <global-upload
v-model="formData.brakeFiles"
:file-list="getWorkVo.brakeFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 7 --> <!-- 7 -->
...@@ -276,18 +334,29 @@ ...@@ -276,18 +334,29 @@
v-model="formData.shutComplete" v-model="formData.shutComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.shutMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.shutMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.shutFiles" :file-list="getWorkVo.shutFiles"></global-upload> <global-upload
v-model="formData.shutFiles"
:file-list="getWorkVo.shutFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 8 --> <!-- 8 -->
...@@ -304,18 +373,29 @@ ...@@ -304,18 +373,29 @@
v-model="formData.bridgeComplete" v-model="formData.bridgeComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.bridgeMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.bridgeMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.bridgeFiles" :file-list="getWorkVo.bridgeFiles"></global-upload> <global-upload
v-model="formData.bridgeFiles"
:file-list="getWorkVo.bridgeFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 9 --> <!-- 9 -->
...@@ -332,18 +412,29 @@ ...@@ -332,18 +412,29 @@
v-model="formData.serviceComplete" v-model="formData.serviceComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.serviceMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.serviceMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.serviceFiles" :file-list="getWorkVo.serviceFiles"></global-upload> <global-upload
v-model="formData.serviceFiles"
:file-list="getWorkVo.serviceFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 10 --> <!-- 10 -->
...@@ -360,18 +451,29 @@ ...@@ -360,18 +451,29 @@
v-model="formData.fixComplete" v-model="formData.fixComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.fixMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.fixMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.fixFiles" :file-list="getWorkVo.fixFiles"></global-upload> <global-upload
v-model="formData.fixFiles"
:file-list="getWorkVo.fixFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 11 --> <!-- 11 -->
...@@ -390,18 +492,29 @@ ...@@ -390,18 +492,29 @@
v-model="formData.crossComplete" v-model="formData.crossComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.crossMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.crossMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.crossFiles" :file-list="getWorkVo.crossFiles"></global-upload> <global-upload
v-model="formData.crossFiles"
:file-list="getWorkVo.crossFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 12 --> <!-- 12 -->
...@@ -418,18 +531,29 @@ ...@@ -418,18 +531,29 @@
v-model="formData.relieveComplete" v-model="formData.relieveComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.relieveMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.relieveMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.relieveFiles" :file-list="getWorkVo.relieveFiles"></global-upload> <global-upload
v-model="formData.relieveFiles"
:file-list="getWorkVo.relieveFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
</up-cell-group> </up-cell-group>
...@@ -449,6 +573,7 @@ ...@@ -449,6 +573,7 @@
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime" v-model="formData.endTime"
clearable clearable
:disabled="getDisabled"
></global-date> ></global-date>
</view> </view>
</template> </template>
...@@ -461,7 +586,7 @@ ...@@ -461,7 +586,7 @@
<view style="margin-right: 24rpx"> <view style="margin-right: 24rpx">
<global-button <global-button
type="text" type="text"
:disabled="getBasicVo.rxStatus == 0" :disabled="getDisabled"
@tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')" @tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')"
> >
编辑 编辑
...@@ -523,12 +648,15 @@ import { saveOperateWorkApi, saveReceiveInfoApi } from 'mocp/api/windDamageManag ...@@ -523,12 +648,15 @@ import { saveOperateWorkApi, saveReceiveInfoApi } from 'mocp/api/windDamageManag
const baseStore = useBaseStore() const baseStore = useBaseStore()
const windDamageManagementStore = useWindDamageManagementStore() const windDamageManagementStore = useWindDamageManagementStore()
const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex } = storeToRefs(windDamageManagementStore) const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex, getDisabled } = storeToRefs(windDamageManagementStore)
onLoad(async () => { onLoad(() => {
init()
})
const init = async () => {
await windDamageManagementStore.getAllTaskInfoByWeather() await windDamageManagementStore.getAllTaskInfoByWeather()
Object.assign(formData, getWorkVo.value) Object.assign(formData, getWorkVo.value)
}) formData.basicId = basicId.value
}
//接收历史 //接收历史
const receiveHistoryListRef = ref() const receiveHistoryListRef = ref()
const openReceiveHistory = () => { const openReceiveHistory = () => {
...@@ -548,7 +676,7 @@ const saveReceiveInfo = async () => { ...@@ -548,7 +676,7 @@ const saveReceiveInfo = async () => {
if (res.code == 200) { if (res.code == 200) {
show.value = false show.value = false
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
...@@ -556,10 +684,10 @@ const saveReceiveInfo = async () => { ...@@ -556,10 +684,10 @@ const saveReceiveInfo = async () => {
} }
//气象信息 //气象信息
const goWeather = () => { const goWeather = () => {
if (details.value?.patrolIsOpen == '0') { if (details.value?.operateIsOpen == '0') {
return uni.$mocpMessage.warning('气象信息已失效') return uni.$mocpMessage.warning('气象信息已失效')
} }
navigateTo('/panel/windDamageManagement/weather') navigateTo('/panel/windDamageManagement/weather', { terminal: details.value?.terminal })
} }
//保存 //保存
const formData = reactive({ const formData = reactive({
...@@ -608,7 +736,7 @@ const handleRightClick = async () => { ...@@ -608,7 +736,7 @@ const handleRightClick = async () => {
const res = await saveOperateWorkApi(formData, { loading: true }) const res = await saveOperateWorkApi(formData, { loading: true })
if (res.code == 200) { if (res.code == 200) {
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<global-page <global-page
:padding="24" :padding="24"
title="防风害巡场检查单" title="防风害巡场检查单"
:showFooterBtn="getBasicVo.rxStatus == 0" :showFooterBtn="getBasicVo.rxStatus == '0'"
footerBtnText="接收" footerBtnText="接收"
@handleFooterClick="handleFooterClick" @handleFooterClick="handleFooterClick"
showNavRight showNavRight
navRightType="button" navRightType="button"
navRightText="保存" navRightText="保存"
:navRightDisabled="getBasicVo.rxStatus == 0" :navRightDisabled="getDisabled"
@handleRightClick="handleRightClick" @handleRightClick="handleRightClick"
> >
<template v-if="details"> <template v-if="details">
...@@ -27,11 +27,7 @@ ...@@ -27,11 +27,7 @@
</template> </template>
<template #value> <template #value>
<view style="margin-right: 24rpx"> <view style="margin-right: 24rpx">
<global-button <global-button type="text" :disabled="getDisabled" @tap.stop="navigateTo('/panel/windDamageManagement/editBasic')">
type="text"
:disabled="getBasicVo.rxStatus == 0"
@tap.stop="navigateTo('/panel/windDamageManagement/editBasic')"
>
编辑 编辑
</global-button> </global-button>
</view> </view>
...@@ -42,12 +38,7 @@ ...@@ -42,12 +38,7 @@
<up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" /> <up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" />
<up-cell title="预计开始时间" :value="details.startTime || '-'" /> <up-cell title="预计开始时间" :value="details.startTime || '-'" />
<up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" /> <up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" />
<up-cell <up-cell isLink>
title="航站"
:value="baseStore.getTerminalObject[details.terminal] || '-'"
v-if="details.weatherSource == '1'"
/>
<up-cell isLink v-else>
<template #title> <template #title>
<global-field label="航站"></global-field> <global-field label="航站"></global-field>
<global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field> <global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field>
...@@ -83,6 +74,7 @@ ...@@ -83,6 +74,7 @@
v-model="formData.startTime" v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
clearable clearable
:disabled="getDisabled"
></global-date> ></global-date>
</view> </view>
</template> </template>
...@@ -105,18 +97,29 @@ ...@@ -105,18 +97,29 @@
v-model="formData.startComplete" v-model="formData.startComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.startMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.startMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.startFiles" :file-list="getWorkVo.startFiles"></global-upload> <global-upload
v-model="formData.startFiles"
:file-list="getWorkVo.startFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 2 --> <!-- 2 -->
...@@ -138,18 +141,29 @@ ...@@ -138,18 +141,29 @@
v-model="formData.wheelComplete" v-model="formData.wheelComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.wheelMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.wheelMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.wheelFiles" :file-list="getWorkVo.wheelFiles"></global-upload> <global-upload
v-model="formData.wheelFiles"
:file-list="getWorkVo.wheelFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 3 --> <!-- 3 -->
...@@ -171,18 +185,29 @@ ...@@ -171,18 +185,29 @@
v-model="formData.parkingComplete" v-model="formData.parkingComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.parkingMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.parkingMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.parkingFiles" :file-list="getWorkVo.parkingFiles"></global-upload> <global-upload
v-model="formData.parkingFiles"
:file-list="getWorkVo.parkingFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 4 --> <!-- 4 -->
...@@ -201,6 +226,7 @@ ...@@ -201,6 +226,7 @@
v-model="formData.monitoringComplete" v-model="formData.monitoringComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
...@@ -212,12 +238,17 @@ ...@@ -212,12 +238,17 @@
v-model="formData.monitoringMeasure" v-model="formData.monitoringMeasure"
:height="40" :height="40"
border="none" border="none"
:disabled="getDisabled"
></up-textarea> ></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.monitoringFiles" :file-list="getWorkVo.monitoringFiles"></global-upload> <global-upload
v-model="formData.monitoringFiles"
:file-list="getWorkVo.monitoringFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 5 --> <!-- 5 -->
...@@ -234,18 +265,29 @@ ...@@ -234,18 +265,29 @@
v-model="formData.hazardComplete" v-model="formData.hazardComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.hazardMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.hazardMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.hazardFiles" :file-list="getWorkVo.hazardFiles"></global-upload> <global-upload
v-model="formData.hazardFiles"
:file-list="getWorkVo.hazardFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 6 --> <!-- 6 -->
...@@ -262,18 +304,29 @@ ...@@ -262,18 +304,29 @@
v-model="formData.taComplete" v-model="formData.taComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.taMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.taMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.taFiles" :file-list="getWorkVo.taFiles"></global-upload> <global-upload
v-model="formData.taFiles"
:file-list="getWorkVo.taFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
<!-- 7 --> <!-- 7 -->
...@@ -290,18 +343,29 @@ ...@@ -290,18 +343,29 @@
v-model="formData.endComplete" v-model="formData.endComplete"
clearable clearable
dictkey="wdm_complete" dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio> ></global-radio>
</view> </view>
</template> </template>
</up-cell> </up-cell>
<up-cell title="发现问题及处理措施" :border="false"> <up-cell title="发现问题及处理措施" :border="false">
<template #label> <template #label>
<up-textarea placeholder="请输入" v-model="formData.endMeasure" :height="40" border="none"></up-textarea> <up-textarea
placeholder="请输入"
v-model="formData.endMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template> </template>
</up-cell> </up-cell>
<up-cell> <up-cell>
<template #label> <template #label>
<global-upload v-model="formData.endFiles" :file-list="getWorkVo.endFiles"></global-upload> <global-upload
v-model="formData.endFiles"
:file-list="getWorkVo.endFiles"
:show-upload="!getDisabled"
></global-upload>
</template> </template>
</up-cell> </up-cell>
</up-cell-group> </up-cell-group>
...@@ -321,6 +385,7 @@ ...@@ -321,6 +385,7 @@
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime" v-model="formData.endTime"
clearable clearable
:disabled="getDisabled"
></global-date> ></global-date>
</view> </view>
</template> </template>
...@@ -333,7 +398,7 @@ ...@@ -333,7 +398,7 @@
<view style="margin-right: 24rpx"> <view style="margin-right: 24rpx">
<global-button <global-button
type="text" type="text"
:disabled="getBasicVo.rxStatus == 0" :disabled="getDisabled"
@tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')" @tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')"
> >
编辑 编辑
...@@ -395,12 +460,15 @@ import { savePatrolWorkApi, saveReceiveInfoApi } from 'mocp/api/windDamageManage ...@@ -395,12 +460,15 @@ import { savePatrolWorkApi, saveReceiveInfoApi } from 'mocp/api/windDamageManage
const baseStore = useBaseStore() const baseStore = useBaseStore()
const windDamageManagementStore = useWindDamageManagementStore() const windDamageManagementStore = useWindDamageManagementStore()
const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex } = storeToRefs(windDamageManagementStore) const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex, getDisabled } = storeToRefs(windDamageManagementStore)
onLoad(async () => { onLoad(() => {
init()
})
const init = async () => {
await windDamageManagementStore.getAllTaskInfoByWeather() await windDamageManagementStore.getAllTaskInfoByWeather()
Object.assign(formData, getWorkVo.value) Object.assign(formData, getWorkVo.value)
}) formData.basicId = basicId.value
}
//接收历史 //接收历史
const receiveHistoryListRef = ref() const receiveHistoryListRef = ref()
const openReceiveHistory = () => { const openReceiveHistory = () => {
...@@ -420,7 +488,7 @@ const saveReceiveInfo = async () => { ...@@ -420,7 +488,7 @@ const saveReceiveInfo = async () => {
if (res.code == 200) { if (res.code == 200) {
show.value = false show.value = false
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
...@@ -431,7 +499,7 @@ const goWeather = () => { ...@@ -431,7 +499,7 @@ const goWeather = () => {
if (details.value?.patrolIsOpen == '0') { if (details.value?.patrolIsOpen == '0') {
return uni.$mocpMessage.warning('气象信息已失效') return uni.$mocpMessage.warning('气象信息已失效')
} }
navigateTo('/panel/windDamageManagement/weather') navigateTo('/panel/windDamageManagement/weather', { terminal: details.value?.terminal })
} }
//保存 //保存
const formData = reactive({ const formData = reactive({
...@@ -465,7 +533,7 @@ const handleRightClick = async () => { ...@@ -465,7 +533,7 @@ const handleRightClick = async () => {
const res = await savePatrolWorkApi(formData, { loading: true }) const res = await savePatrolWorkApi(formData, { loading: true })
if (res.code == 200) { if (res.code == 200) {
uni.$mocpMessage.success(res.message) uni.$mocpMessage.success(res.message)
windDamageManagementStore.getAllTaskInfoByWeather() init()
uni.$emit('windDamageManagementReload') uni.$emit('windDamageManagementReload')
} else { } else {
uni.$mocpMessage.error(res.message) uni.$mocpMessage.error(res.message)
......
<template>
<global-page
:padding="24"
title="防沙尘暴签署单"
:showFooterBtn="getBasicVo.rxStatus == '0'"
footerBtnText="接收"
@handleFooterClick="handleFooterClick"
showNavRight
navRightType="button"
navRightText="保存"
:navRightDisabled="getDisabled"
@handleRightClick="handleRightClick"
>
<template v-if="details">
<view class="mocp-cell">
<up-collapse :value="['1', '2', '3']">
<up-collapse-item name="1">
<template #title>
<view class="mocp-title">
<text class="txt">基础信息</text>
<view>
<global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)">
{{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }}
</global-tag>
</view>
</view>
</template>
<template #value>
<view style="margin-right: 24rpx">
<global-button type="text" :disabled="getDisabled" @tap.stop="navigateTo('/panel/windDamageManagement/editBasic')">
编辑
</global-button>
</view>
</template>
<view class="mocp-cell">
<up-cell-group>
<up-cell title="报文生成时间" :value="details.generateTime || '-'" />
<up-cell title="预报风速" :value="getBasicVo.windSpeed || '-'" />
<up-cell title="预计开始时间" :value="details.startTime || '-'" />
<up-cell title="基地值班" :value="getBasicVo.dutyName || '-'" />
<up-cell isLink>
<template #title>
<global-field label="航站"></global-field>
<global-field :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field>
</template>
<template #value>
<text @tap="goWeather">气象信息</text>
</template>
</up-cell>
<up-cell title="机号" :value="getBasicVo.ac || '-'" />
<up-cell title="操作人" :value="getBasicVo.operateName || '-'" />
<up-cell title="发起人" :value="getBasicVo.proposedName || '-'" />
<up-cell title="发起时间" :value="timeStampFormat(getBasicVo.proposedTime) || '-'" />
<up-cell isLink>
<template #title>
<global-field label="填报人:" :value="getBasicVo.fillingName || '-'"></global-field>
<global-field label="填报时间:" :value="timeStampFormat(getBasicVo.fillingTime) || '-'"></global-field>
</template>
<template #value>
<text @tap="openReceiveHistory">接收历史</text>
</template>
</up-cell>
</up-cell-group>
</view>
</up-collapse-item>
<up-collapse-item title="工作内容" name="2">
<view class="mocp-cell">
<up-cell-group>
<up-cell title="开始时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
v-model="formData.startTime"
format="YYYY-MM-DD HH:mm:ss"
clearable
:disabled="getDisabled"
></global-date>
</view>
</template>
</up-cell>
<up-cell title="查看TA文件" :border="false" isLink @tap="openTaByAc" />
</up-cell-group>
</view>
<view class="mocp-cell">
<up-cell-group>
<!-- 1 -->
<up-cell>
<template #title>
<view>
<view>
1、如伴有尘暴、沙暴、扬沙(航后飞机和停场飞机(含长过站停场))等天气,需参考TA《各机型大风条件下稳定性标准及沙尘暴天气条件下的防护措施》执行封堵工作。
</view>
<view>查询路径:工程网-TDMS-文件编制-TA查询。</view>
</view>
</template>
</up-cell>
<up-cell title="是否完成">
<template #value>
<view>
<global-radio
radioAlign="right"
v-model="formData.taComplete"
clearable
dictkey="wdm_complete"
:disabled="getDisabled"
></global-radio>
</view>
</template>
</up-cell>
<up-cell title="发现问题及处理措施" :border="false">
<template #label>
<up-textarea
placeholder="请输入"
v-model="formData.taMeasure"
:height="40"
border="none"
:disabled="getDisabled"
></up-textarea>
</template>
</up-cell>
<up-cell>
<template #label>
<global-upload
v-model="formData.taFiles"
:file-list="getWorkVo.taFiles"
:show-upload="!getDisabled"
></global-upload>
</template>
</up-cell>
</up-cell-group>
</view>
<view class="mocp-cell">
<up-cell-group>
<up-cell>
<template #title>填报人:{{ getWorkVo.fillingName || '-' }}</template>
<template #value>填报时间:{{ timeStampFormat(getWorkVo.fillingTime) || '-' }}</template>
</up-cell>
<up-cell title="结束时间">
<template #value>
<view>
<global-date
mode="datetime"
pickAlign="right"
format="YYYY-MM-DD HH:mm:ss"
v-model="formData.endTime"
clearable
:disabled="getDisabled"
></global-date>
</view>
</template>
</up-cell>
</up-cell-group>
</view>
<view class="mocp-cell">
<up-cell-group>
<up-cell>
<template #title>操作人:{{ getBasicVo.relieveName || '-' }}</template>
<template #value>操作时间:{{ timeStampFormat(getBasicVo.relieveTime) || '-' }}</template>
</up-cell>
</up-cell-group>
<view style="padding: 12rpx">
<global-button
size="medium"
type="primary"
@tap="saveRelieveInfo"
:disabled="getBasicVo.isRelieve == '1' || getDisabled"
>
解除封堵
</global-button>
</view>
</view>
</up-collapse-item>
<up-collapse-item title="结论" name="3">
<template #value>
<view style="margin-right: 24rpx">
<global-button
type="text"
:disabled="getDisabled"
@tap.stop="navigateTo('/panel/windDamageManagement/editConclusion')"
>
编辑
</global-button>
</view>
</template>
<view class="mocp-cell">
<up-cell-group>
<up-cell title="是否有异常" :value="useGetDictByValue('wdm_isAbnormal', getConclusionVo.isAbnormal) || '-'" />
<up-cell>
<template #label>
{{ getConclusionVo.content || '无' }}
</template>
</up-cell>
<up-cell title="附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :file-list="getConclusionVo.files" :show-upload="false"></global-upload>
</view>
</template>
</up-cell>
<up-cell>
<template #title>填报人:{{ getConclusionVo.fillingName || '-' }}</template>
<template #value>填报时间:{{ timeStampFormat(getConclusionVo.fillingTime) || '-' }}</template>
</up-cell>
</up-cell-group>
</view>
</up-collapse-item>
</up-collapse>
</view>
</template>
</global-page>
<ReceiveHistoryList ref="receiveHistoryListRef"></ReceiveHistoryList>
<TaList ref="taListRef"></TaList>
<up-modal
:width="250"
title="提示"
content="填写完成后请及时保存!"
confirmText="知道了"
:show="show"
closeOnClickOverlay
@confirm="saveReceiveInfo"
@cancel="show = false"
@close="show = false"
></up-modal>
</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 { reactive, ref } from 'vue'
import { navigateTo } from 'mocp/utils/jump'
import useWindDamageManagementStore from 'mocp/store/windDamageManagement'
import ReceiveHistoryList from './components/ReceiveHistoryList.vue'
import useUserStore from 'mocp/store/user'
import { saveReceiveInfoApi, saveRelieveInfoApi, saveSandstormWorkApi } from 'mocp/api/windDamageManagement'
import TaList from './components/TaList.vue'
const baseStore = useBaseStore()
const windDamageManagementStore = useWindDamageManagementStore()
const { details, getBasicVo, getConclusionVo, getWorkVo, basicId, tabIndex, getDisabled } = storeToRefs(windDamageManagementStore)
onLoad(() => {
init()
})
const init = async () => {
await windDamageManagementStore.getAllTaskInfoByWeather()
Object.assign(formData, getWorkVo.value)
formData.basicId = basicId.value
}
//接收历史
const receiveHistoryListRef = ref()
const openReceiveHistory = () => {
receiveHistoryListRef.value?.open({ basicId: basicId.value, taskType: tabIndex.value + 1 })
}
//接收
const userStore = useUserStore()
const show = ref(false)
const handleFooterClick = () => {
show.value = true
}
const saveReceiveInfo = async () => {
const res = await saveReceiveInfoApi(
{ basicId: basicId.value, taskType: tabIndex.value + 1, receiveUid: userStore.userInfo?.id },
{ loading: true }
)
if (res.code == 200) {
show.value = false
uni.$mocpMessage.success(res.message)
init()
uni.$emit('windDamageManagementReload')
} else {
uni.$mocpMessage.error(res.message)
}
}
//气象信息
const goWeather = () => {
if (details.value?.sandstormIsOpen == '0') {
return uni.$mocpMessage.warning('气象信息已失效')
}
navigateTo('/panel/windDamageManagement/weather', { terminal: details.value?.terminal })
}
//保存
const formData = reactive({
basicId: '',
endTime: undefined,
id: '',
startTime: undefined,
taComplete: undefined,
taFiles: '',
taMeasure: ''
})
const handleRightClick = async () => {
const res = await saveSandstormWorkApi(formData, { loading: true })
if (res.code == 200) {
uni.$mocpMessage.success(res.message)
init()
uni.$emit('windDamageManagementReload')
} else {
uni.$mocpMessage.error(res.message)
}
}
//解除封堵
const saveRelieveInfo = async () => {
const res = await saveRelieveInfoApi({ basicId: basicId.value, taskType: tabIndex.value + 1 }, { loading: true })
if (res.code == 200) {
uni.$mocpMessage.success(res.message)
init()
uni.$emit('windDamageManagementReload')
} else {
uni.$mocpMessage.error(res.message)
}
}
//TA文件
const taListRef = ref()
const openTaByAc = async () => {
taListRef.value?.open({ ac: getBasicVo.value.ac })
}
</script>
<style lang="scss" scoped>
@import './constants/details.scss';
</style>
<template> <template>
<global-page title="气象信息"> <global-page
title="气象信息"
isDataList
refresherEnabled
loadingMoreEnabled
auto
:params="{ terminal: query.terminal }"
:api="getTerminalWeatherListApi"
:padding="24"
>
<template #default="{ item }">
<template v-for="(option, index) in item.weatherList" :key="index">
<view class="mocp-cell"> <view class="mocp-cell">
<up-cell-group v-if="details"> <view class="mocp-title">报文生成时间:{{ option.generateTime || '-' }}</view>
<up-cell title="报文生成时间" :value="details.generateTime || '-'"></up-cell> <up-cell-group>
<up-cell title="气象类型" :value="useGetDictByValue('wdm_alarmcategory', details.weatherType) || '-'"></up-cell> <up-cell title="气象类型" :value="useGetDictByValue('wdm_alarmcategory', option.weatherType) || '-'"></up-cell>
<up-cell title="气象中文描述" :label="details.weatherDescribe || '-'"></up-cell> <up-cell title="气象中文描述" :label="option.weatherDescribe || '-'"></up-cell>
<up-cell title="平均风速" :value="details.windfs || '-'"></up-cell> <up-cell title="平均风速" :value="option.windfs || '-'"></up-cell>
<up-cell title="最大风速" :value="details.windzf || '-'"></up-cell> <up-cell title="最大风速" :value="option.windzf || '-'"></up-cell>
<up-cell title="预计开始时间" :value="details.startTime || '-'"></up-cell> <up-cell title="预计开始时间" :value="option.startTime || '-'"></up-cell>
<up-cell title="预计解除时间" :value="details.endTime || '-'"></up-cell> <up-cell title="预计解除时间" :value="option.endTime || '-'"></up-cell>
</up-cell-group> </up-cell-group>
</view> </view>
</template>
</template>
</global-page> </global-page>
</template> </template>
<script setup> <script setup>
import { getTerminalWeatherListApi } from 'mocp/api/windDamageManagement'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict' import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { ref } from 'vue'
const details = ref({ const query = defineProps(['id'])
deleted: '0',
endTime: '2024-10-20 08:00:00',
generateTime: '2024-10-06 02:29:02',
id: '1842633935596224514',
issued: '1',
msgType: '预报',
startTime: '2024-10-07 06:00:00',
terminal: 'MEL',
terminalType: '3',
weatherDescribe: 'FT: 07日06:00至07日08:00: 320度 9米/秒,阵风15米/秒',
weatherSource: '0',
weatherType: 'StrongWind',
windfs: '9',
windzf: '15'
})
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.mocp-cell { .mocp-cell {
background: #fff; background: #fff;
} }
.mocp-title {
color: $mocp-text-5;
font-size: 24rpx;
padding: 20rpx 0;
background: #f7f8fa;
}
</style> </style>
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