Commit 767fc66f by pangchong

feat: 防除冰

parent bba0285f
......@@ -84,8 +84,8 @@
<slot v-else></slot>
</view>
<!-- 底部 -->
<template #bottom>
<view class="footer-btn" v-if="showFooterBtn">
<template #bottom v-if="showBottom">
<view class="footer-btn" v-if="showFooterBtn" :style="{ visibility: showBottom ? 'visible' : 'hidden' }">
<global-button type="primary" size="large" @tap="handleFooterClick">{{ footerBtnText }}</global-button>
</view>
<slot name="bottom"></slot>
......@@ -476,6 +476,14 @@ defineExpose({
},
element: paging
})
//处理ios底部兼容问题
const showBottom = ref(true)
uni.$on('changeShowBottom', (boolean) => {
const systemInfo = uni.getSystemInfoSync()
if (systemInfo.platform === 'ios') {
showBottom.value = !boolean
}
})
</script>
<script>
export default {
......
......@@ -287,6 +287,9 @@ watch(
},
{ immediate: true }
)
watch(show, (value) => {
uni.$emit('changeShowBottom', value)
})
//点击确定按钮
const confirm = (e) => {
show.value = false
......
......@@ -120,6 +120,7 @@ watch(
scrollTop.value = ps.distance > 0 ? ps.distance : oldScrollTop.value
})
}
uni.$emit('changeShowBottom', value)
}
)
const close = () => {
......
// 建议以文件名首字母作为前缀eb_
export const eb_deicingType = [
{ label: 'cleansurface I-BIO', value: 'cleansurface I-BIO' },
{ label: 'FCY-1A', value: 'FCY-1A' },
{ label: 'Cleanwing I', value: 'Cleanwing I' },
{ label: 'FCY-9311', value: 'FCY-9311' },
{ label: 'FCY-1Bio', value: 'FCY-1Bio' }
]
export const eb_antiicingMix = [
{ label: '25:75', value: '25:75' },
{ label: '30:70', value: '30:70' },
......@@ -22,14 +15,6 @@ export const eb_antiicingUnit = [
{ label: 'USG', value: 'USG' },
{ label: 'KG', value: 'KG' }
]
export const eb_antiicingType = [
{ label: 'Cleansurface1-B10', value: 'Cleansurface1-B10' },
{ label: 'FCY-1A', value: 'FCY-1A' },
{ label: 'Cleanwing II', value: 'Cleanwing II' },
{ label: 'FCY-9311', value: 'FCY-9311' },
{ label: 'FCY-2', value: 'FCY-2' },
{ label: 'FCY-4', value: 'FCY-4' }
]
export const eb_guaranteeUnit = [
{ label: '海技保障', value: '1' },
{ label: '非海技保障', value: '2' }
......
......@@ -60,7 +60,10 @@ const useAssignWorkStore = defineStore('assignWork', {
//是否领导
isPresenterUser(state) {
const userStore = useUserStore()
return state.details.presenterId == userStore.userInfo.id
if (state.details.presenterId) {
return state.details.presenterId.split(',').includes(userStore.userInfo.id)
}
return false
},
//获取分解计划
getDecompose(state) {
......
......@@ -3,6 +3,7 @@ import useUserStore from 'mocp/store/user'
// const baseURL = 'https://hna-platform.anyremote.cn' //测试
// const baseURL = 'https://moc.hnatechnic.com/api' //生产
// const baseURL = 'http://10.123.48.67/api' //Amms内网
// const baseURL = 'http://10.121.48.157/gky_mocp_bs/api' //北数高可用测试环境
const baseURL = 'https://hnaelbtest.hnatechnic.com/mocptest/api' //内网
class ServiceLoading {
......
......@@ -3,7 +3,7 @@ export const loginFormRef = ref()
//表单数据
export const loginForm = reactive({
username: '', //devzj3
password: '', //Ifar_9527008 / Ifar2016_0525
password: '', //Ifar_SAFE_202506_13
verifyCode: ''
})
export const showLoad = ref(false)
......
......@@ -78,7 +78,7 @@
<view class="mocp-title">除冰记录</view>
<view class="mocp-form">
<up-form-item label="除冰液型号" prop="deicingType" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.deicingType" dictkey="eb_deicingType" clearable></global-picker>
<global-picker pickAlign="right" v-model="formData.deicingType" paramsType="DeicingType" clearable></global-picker>
</up-form-item>
<up-form-item label="混合比" prop="deicingMix" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.deicingMix" dictkey="eb_antiicingMix" clearable></global-picker>
......@@ -244,11 +244,11 @@
></global-date>
</up-form-item>
</view>
<!-- 防冰记录 -->
<view class="mocp-title">防冰记录</view>
<!-- 防冰记录1 -->
<view class="mocp-title">防冰记录1</view>
<view class="mocp-form">
<up-form-item label="防冰液型号" prop="antiicingType" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.antiicingType" dictkey="eb_antiicingType" clearable></global-picker>
<global-picker pickAlign="right" v-model="formData.antiicingType" paramsType="AntiicingType" clearable></global-picker>
</up-form-item>
<up-form-item label="混合比" prop="antiicingMix" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.antiicingMix" dictkey="eb_antiicingMix" clearable></global-picker>
......@@ -417,6 +417,179 @@
></global-date>
</up-form-item>
</view>
<!-- 防冰记录2 -->
<view class="mocp-title">防冰记录2</view>
<view class="mocp-form">
<up-form-item label="防冰液型号" prop="antiicing2Type" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.antiicing2Type" paramsType="AntiicingType" clearable></global-picker>
</up-form-item>
<up-form-item label="混合比" prop="antiicing2Mix" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.antiicing2Mix" dictkey="eb_antiicingMix" clearable></global-picker>
</up-form-item>
<up-form-item label="自定义混合比" prop="antiicingMix" :borderBottom="true" v-if="formData.antiicingMix == 'Other'">
<view style="display: flex; align-items: center">
<global-number-input
v-model="formData.antiicing2Mix1"
placeholder="请输入"
inputAlign="left"
border="surround"
></global-number-input>
<text style="margin: 0 20rpx">:</text>
<global-number-input
v-model="formData.antiicing2Mix2"
placeholder="请输入"
inputAlign="left"
border="surround"
></global-number-input>
</view>
</up-form-item>
<view class="sample-table">
<view class="sample-thead">
<view class="sample-thead-th">
<view class="sample-thead-td">除冰车号</view>
<view class="spacer"></view>
<view class="sample-thead-td">防冰人员</view>
<view class="spacer"></view>
<view class="sample-thead-td">用量</view>
<view class="spacer"></view>
<view class="sample-thead-td">单位</view>
</view>
</view>
<view class="sample-tbody">
<view class="sample-tbody-tr">
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2CartNo1" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2Persion1" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-number-input
v-model="formData.antiicing2Quantity1"
:greater="0"
:precision="2"
inputAlign="left"
border="surround"
></global-number-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-picker v-model="formData.antiicing2Unit1" dictkey="eb_antiicingUnit" clearable border></global-picker>
</view>
</view>
<view class="sample-tbody-tr">
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2CartNo2" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2Persion2" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-number-input
v-model="formData.antiicing2Quantity2"
:greater="0"
:precision="2"
inputAlign="left"
border="surround"
></global-number-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-picker v-model="formData.antiicing2Unit2" dictkey="eb_antiicingUnit" clearable border></global-picker>
</view>
</view>
<view class="sample-tbody-tr">
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2CartNo3" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2Persion3" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-number-input
v-model="formData.antiicing2Quantity3"
:greater="0"
:precision="2"
inputAlign="left"
border="surround"
></global-number-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-picker v-model="formData.antiicing2Unit3" dictkey="eb_antiicingUnit" clearable border></global-picker>
</view>
</view>
<view class="sample-tbody-tr">
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2CartNo4" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.antiicing2Persion4" placeholder="请输入" clearable></up-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-number-input
v-model="formData.antiicing2Quantity4"
:greater="0"
:precision="2"
inputAlign="left"
border="surround"
></global-number-input>
</view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<global-picker v-model="formData.antiicing2Unit4" dictkey="eb_antiicingUnit" clearable border></global-picker>
</view>
</view>
</view>
</view>
<view class="mocp-button">
<global-button type="primary" :radius="0" border @tap="submitAntiicing2">提交</global-button>
</view>
<up-form-item label="用量合计" prop="antiicing2QuantityTotal" :borderBottom="true">
<up-input
type="number"
v-model="formData.antiicing2QuantityTotal"
inputAlign="right"
border="none"
placeholder="填写混合比后自动计算"
readonly
clearable
></up-input>
</up-form-item>
<up-form-item label="保持时间" prop="antiicing2Duration" :borderBottom="true">
<up-input v-model="formData.antiicing2Duration" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item>
<up-form-item label="开始时间" prop="antiicing2StartTime" :borderBottom="true">
<global-date
mode="time"
pickAlign="right"
clearable
v-model="formData.antiicing2StartTime"
:timestamp="false"
valueFormat="HH:mm"
placeholder="请选择时间"
></global-date>
</up-form-item>
<up-form-item label="结束时间" prop="antiicing2EndTime" :borderBottom="true">
<global-date
mode="time"
pickAlign="right"
clearable
v-model="formData.antiicing2EndTime"
:timestamp="false"
valueFormat="HH:mm"
placeholder="请选择时间"
></global-date>
</up-form-item>
</view>
<view class="mocp-form">
<up-form-item label="备注" prop="remark" :borderBottom="true">
<up-input v-model="formData.remark" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
......@@ -441,7 +614,7 @@
</view>
</view>
</up-modal>
<!-- 防冰超量警告 -->
<!-- 防冰超量警告1 -->
<up-modal :show="showAntiicing" title="超量使用" @confirm="confirmAntiicing" closeOnClickOverlay @close="showAntiicing = false">
<view class="warn-modal">
<view class="warn-title">请填写超量使用原因</view>
......@@ -458,6 +631,23 @@
</view>
</view>
</up-modal>
<!-- 防冰超量警告2 -->
<up-modal :show="showAntiicing2" title="超量使用" @confirm="confirmAntiicing2" closeOnClickOverlay @close="showAntiicing2 = false">
<view class="warn-modal">
<view class="warn-title">请填写超量使用原因</view>
<up-input v-model="formData.antiicing2Remark" border="bottom" placeholder="请输入" clearable></up-input>
<view class="warn-upload">
<global-upload-image
v-model="formData.antiicing2File"
map-field-name="id"
:width="165"
:height="165"
:file-list="antiicing2File"
@getFileList="getAntiicing2File"
></global-upload-image>
</view>
</view>
</up-modal>
</template>
<script setup>
......@@ -471,7 +661,10 @@ import {
deicingFlag,
antiicingFlag,
deicingFile,
antiicingFile
antiicingFile,
showAntiicing2,
antiicing2File,
antiicing2Flag
} from './constants/add.compositions'
import { navigateTo } from 'mocp/utils/jump'
import {
......@@ -483,7 +676,10 @@ import {
submitDeicing,
submitAntiicing,
getDeicingFile,
getAntiicingFile
getAntiicingFile,
confirmAntiicing2,
getAntiicing2File,
submitAntiicing2
} from './constants/add.functionals'
import { onUnmounted, watch, watchEffect } from 'vue'
import { getTerminalSelect } from 'mocp/utils/permission'
......@@ -515,7 +711,7 @@ watchEffect(() => {
} else {
formData.deicingQuantityTotal = undefined
}
//防冰用量合计
//防冰用量1合计
const antiicingQuantityTotal =
getOneTotal(formData.antiicingQuantity1, formData.antiicingUnit1) +
getOneTotal(formData.antiicingQuantity2, formData.antiicingUnit2) +
......@@ -535,16 +731,50 @@ watchEffect(() => {
} else {
formData.antiicingQuantityTotal = undefined
}
//防冰用量2合计
const antiicing2QuantityTotal =
getOneTotal(formData.antiicing2Quantity1, formData.antiicing2Unit1) +
getOneTotal(formData.antiicing2Quantity2, formData.antiicing2Unit2) +
getOneTotal(formData.antiicing2Quantity3, formData.antiicing2Unit3) +
getOneTotal(formData.antiicing2Quantity4, formData.antiicing2Unit4)
if (formData.antiicing2Mix) {
if (formData.antiicing2Mix == 'Other') {
if (formData.antiicing2Mix1 && formData.antiicing2Mix2) {
const percent = parseFloat(formData.antiicing2Mix1) / (parseFloat(formData.antiicing2Mix1) + parseFloat(formData.antiicing2Mix2))
formData.antiicing2QuantityTotal = parseFloat((antiicing2QuantityTotal * percent).toFixed(4)) || undefined
}
} else {
const percentArr = formData.antiicing2Mix.split(':')
const percent = parseFloat(percentArr[0]) / (parseFloat(percentArr[0]) + parseFloat(percentArr[1]))
formData.antiicing2QuantityTotal = parseFloat((antiicing2QuantityTotal * percent).toFixed(4)) || undefined
}
} else {
formData.antiicing2QuantityTotal = undefined
}
})
watch([() => formData.deicingQuantityTotal, () => formData.weatherToday, () => formData.modelType], () => {
if (deicingFlag.value) {
deicingFlag.value = false
formData.deicingRemark = ''
formData.deicingFile = ''
deicingFile.value = []
}
})
watch([() => formData.antiicingQuantityTotal, () => formData.weatherToday, () => formData.modelType], () => {
if (antiicingFlag.value) {
antiicingFlag.value = false
formData.antiicingRemark = ''
formData.antiicingFile = ''
antiicingFile.value = []
}
})
watch([() => formData.antiicing2QuantityTotal, () => formData.weatherToday, () => formData.modelType], () => {
if (antiicing2Flag.value) {
antiicing2Flag.value = false
formData.antiicing2Remark = ''
formData.antiicing2File = ''
antiicing2File.value = []
}
})
// 海航集团内部的宽体机——A330-,787-,747-,777-,A350-,其余为窄体,集团外部机型-机型类别无对应数据需要手动选择
const prefixes = ['A330-', '787-', '747-', '777-', 'A350-']
......
......@@ -27,6 +27,32 @@ export const formData = reactive({
antiicingUnit2: '',
antiicingUnit3: '',
antiicingUnit4: '',
antiicing2CartNo1: '',
antiicing2CartNo2: '',
antiicing2CartNo3: '',
antiicing2CartNo4: '',
antiicing2Duration: '',
antiicing2EndTime: '',
antiicing2Mix: '100:0',
antiicing2Mix1: undefined,
antiicing2Mix2: undefined,
antiicing2Persion1: '',
antiicing2Persion2: '',
antiicing2Persion3: '',
antiicing2Persion4: '',
antiicing2Quantity1: undefined,
antiicing2Quantity2: undefined,
antiicing2Quantity3: undefined,
antiicing2Quantity4: undefined,
antiicing2QuantityTotal: undefined,
antiicing2StartTime: '',
antiicing2Type: '',
antiicing2Unit1: '',
antiicing2Unit2: '',
antiicing2Unit3: '',
antiicing2Unit4: '',
customerSignImg: '',
date: '',
deicingCartNo1: '',
......@@ -70,7 +96,9 @@ export const formData = reactive({
deicingFile: '',
deicingRemark: '',
antiicingFile: '',
antiicingRemark: ''
antiicingRemark: '',
antiicing2File: '',
antiicing2Remark: ''
})
export const rules = reactive({
......@@ -151,7 +179,11 @@ export const formRef = ref()
export const deicingFlag = ref(false)
export const showDeicing = ref(false)
export const deicingFile = ref([])
//防冰弹框
//防冰弹框1
export const antiicingFlag = ref(false)
export const showAntiicing = ref(false)
export const antiicingFile = ref([])
//防冰弹框2
export const antiicing2Flag = ref(false)
export const showAntiicing2 = ref(false)
export const antiicing2File = ref([])
import { getAirlineAcregApi } from 'mocp/api/electronicBill'
import { antiicingFile, antiicingFlag, deicingFile, deicingFlag, formData, formRef, showAntiicing, showDeicing } from './add.compositions'
import {
antiicing2File,
antiicing2Flag,
antiicingFile,
antiicingFlag,
deicingFile,
deicingFlag,
formData,
formRef,
showAntiicing,
showAntiicing2,
showDeicing
} from './add.compositions'
import { validateParameters } from 'mocp/utils/tool'
import { showToast } from 'mocp/utils/message'
......@@ -27,6 +39,9 @@ export const getDeicingFile = (value) => {
export const getAntiicingFile = (value) => {
antiicingFile.value = value
}
export const getAntiicing2File = (value) => {
antiicing2File.value = value
}
export const deicingValidate = () => {
if (!formData.modelType) {
return uni.$mocpMessage.warning('请选择机型类别')
......@@ -60,22 +75,50 @@ export const antiicingValidate = () => {
if (!formData.weatherToday) {
return uni.$mocpMessage.warning('请选择当日天气')
}
/******************防冰记录1******************/
//验证防冰混合比(Other)
if (formData.antiicingMix == 'Other' && (!formData.antiicingMix1 || !formData.antiicingMix2)) {
return uni.$mocpMessage.warning('请填写防冰自定义混合比')
return uni.$mocpMessage.warning('请填写防冰记录1-防冰自定义混合比')
}
//验证防冰记录完整性
if (!validateParameters(formData.antiicingCartNo1, formData.antiicingPersion1, formData.antiicingQuantity1, formData.antiicingUnit1)) {
return uni.$mocpMessage.warning('请完整填写第1条防冰记录')
return uni.$mocpMessage.warning('请完整填写防冰记录1-第1条防冰记录')
}
if (!validateParameters(formData.antiicingCartNo2, formData.antiicingPersion2, formData.antiicingQuantity2, formData.antiicingUnit2)) {
return uni.$mocpMessage.warning('请完整填写第2条防冰记录')
return uni.$mocpMessage.warning('请完整填写防冰记录1-第2条防冰记录')
}
if (!validateParameters(formData.antiicingCartNo3, formData.antiicingPersion3, formData.antiicingQuantity3, formData.antiicingUnit3)) {
return uni.$mocpMessage.warning('请完整填写第3条防冰记录')
return uni.$mocpMessage.warning('请完整填写防冰记录1-第3条防冰记录')
}
if (!validateParameters(formData.antiicingCartNo4, formData.antiicingPersion4, formData.antiicingQuantity4, formData.antiicingUnit4)) {
return uni.$mocpMessage.warning('请完整填写第4条防冰记录')
return uni.$mocpMessage.warning('请完整填写防冰记录1-第4条防冰记录')
}
return true
}
export const antiicing2Validate = () => {
if (!formData.modelType) {
return uni.$mocpMessage.warning('请选择机型类别')
}
if (!formData.weatherToday) {
return uni.$mocpMessage.warning('请选择当日天气')
}
/******************防冰记录2******************/
//验证防冰混合比(Other)
if (formData.antiicing2Mix == 'Other' && (!formData.antiicing2Mix1 || !formData.antiicing2Mix2)) {
return uni.$mocpMessage.warning('请填写防冰记录2-防冰自定义混合比')
}
//验证防冰记录完整性
if (!validateParameters(formData.antiicing2CartNo1, formData.antiicing2Persion1, formData.antiicing2Quantity1, formData.antiicing2Unit1)) {
return uni.$mocpMessage.warning('请完整填写防冰记录2-第1条防冰记录')
}
if (!validateParameters(formData.antiicing2CartNo2, formData.antiicing2Persion2, formData.antiicing2Quantity2, formData.antiicing2Unit2)) {
return uni.$mocpMessage.warning('请完整填写防冰记录2-第2条防冰记录')
}
if (!validateParameters(formData.antiicing2CartNo3, formData.antiicing2Persion3, formData.antiicing2Quantity3, formData.antiicing2Unit3)) {
return uni.$mocpMessage.warning('请完整填写防冰记录2-第3条防冰记录')
}
if (!validateParameters(formData.antiicing2CartNo4, formData.antiicing2Persion4, formData.antiicing2Quantity4, formData.antiicing2Unit4)) {
return uni.$mocpMessage.warning('请完整填写防冰记录2-第4条防冰记录')
}
return true
}
......@@ -87,12 +130,18 @@ export const handleFooterClick = async () => {
if (!antiicingValidate()) {
return
}
if (!antiicing2Validate()) {
return
}
//是否点击提交验证除冰/防冰用量
if (!deicingFlag.value && formData.deicingQuantityTotal > 0) {
return uni.$mocpMessage.warning('请提交除冰记录')
}
if (!antiicingFlag.value && formData.antiicingQuantityTotal > 0) {
return uni.$mocpMessage.warning('请提交防冰记录')
return uni.$mocpMessage.warning('请提交防冰记录1')
}
if (!antiicing2Flag.value && formData.antiicing2QuantityTotal > 0) {
return uni.$mocpMessage.warning('请提交防冰记录2')
}
uni.$mocpJump.navigateTo('/panel/electronicBill/deicing/sign')
}
......@@ -179,6 +228,20 @@ export const submitAntiicing = () => {
}
}
}
export const submitAntiicing2 = () => {
if (!antiicing2Validate()) {
return
}
const limit = getLimit()
if (formData.antiicing2QuantityTotal && formData.antiicing2QuantityTotal > 0) {
if (formData.antiicing2QuantityTotal > limit[1]) {
showAntiicing2.value = true
} else {
antiicing2Flag.value = true
showToast('提交成功')
}
}
}
export const confirmAntiicing = () => {
if (!formData.antiicingRemark) {
return showToast('请填写超量使用原因')
......@@ -190,3 +253,14 @@ export const confirmAntiicing = () => {
antiicingFlag.value = true
showAntiicing.value = false
}
export const confirmAntiicing2 = () => {
if (!formData.antiicing2Remark) {
return showToast('请填写超量使用原因')
}
if (!formData.antiicing2File) {
return showToast('至少上传一张图片')
}
showToast('提交成功')
antiicing2Flag.value = true
showAntiicing2.value = false
}
......@@ -100,6 +100,32 @@ export const resetData = () => {
antiicingUnit2: '',
antiicingUnit3: '',
antiicingUnit4: '',
antiicing2CartNo1: '',
antiicing2CartNo2: '',
antiicing2CartNo3: '',
antiicing2CartNo4: '',
antiicing2Duration: '',
antiicing2EndTime: '',
antiicing2Mix: '100:0',
antiicing2Mix1: undefined,
antiicing2Mix2: undefined,
antiicing2Persion1: '',
antiicing2Persion2: '',
antiicing2Persion3: '',
antiicing2Persion4: '',
antiicing2Quantity1: undefined,
antiicing2Quantity2: undefined,
antiicing2Quantity3: undefined,
antiicing2Quantity4: undefined,
antiicing2QuantityTotal: undefined,
antiicing2StartTime: '',
antiicing2Type: '',
antiicing2Unit1: '',
antiicing2Unit2: '',
antiicing2Unit3: '',
antiicing2Unit4: '',
customerSignImg: '',
date: Day().valueOf(),
deicingCartNo1: '',
......@@ -143,7 +169,9 @@ export const resetData = () => {
deicingFile: '',
deicingRemark: '',
antiicingFile: '',
antiicingRemark: ''
antiicingRemark: '',
antiicing2File: '',
antiicing2Remark: ''
})
showDeicing.value = false
showAntiicing.value = false
......
......@@ -47,12 +47,14 @@ import useBaseStore from 'mocp/store/base'
import useUserStore from 'mocp/store/user'
import { ref } from 'vue'
import { onUnload } from '@dcloudio/uni-app'
import { formData } from './constants/add.compositions'
import { antiicingFile, deicingFile, formData } from './constants/add.compositions'
const baseStore = useBaseStore()
const userStore = useUserStore()
const goDetails = (data) => {
Object.assign(formData, data)
deicingFile.value = data.deicingFileList
antiicingFile.value = data.antiicingFileList
uni.$mocpJump.navigateTo('/panel/electronicBill/deicing/add')
}
//刷新
......
......@@ -34,7 +34,6 @@ import { useDrawSignature } from 'mocp/hooks/use-sign/useSign'
import { canvasImage } from './constants/sign.compositions'
import { handleSubmit } from './constants/sign.functionals'
import { formData } from './constants/add.compositions'
import { onBeforeUnmount } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
const { isSigned, touchStart, touchMove, touchEnd, clear, getPath } = useDrawSignature('canvas', {
......@@ -59,10 +58,7 @@ const handleClear = () => {
canvasImage.value = ''
clear()
}
onBeforeUnmount(() => {
handleClear()
formData.customerSignImg = ''
})
</script>
<style lang="scss" scoped>
.mocp-sign,
......
......@@ -150,13 +150,13 @@
<view class="mocp-title">特种车辆、设备、工具租用记录</view>
<view class="mocp-form">
<up-form-item label="金工人员工时" prop="jgrygs" :borderBottom="true">
<global-number-input v-model="formData.jgrygs" placeholder="请输入(单位/小时)" :precision="2"></global-number-input>
<up-input v-model="formData.jgrygs" placeholder="请输入(人数*小时)" inputAlign="right" border="none" clearable></up-input>
</up-form-item>
<up-form-item label="普通工作梯(2米以下)" prop="ptgzt" :borderBottom="true">
<global-number-input v-model="formData.ptgzt" placeholder="请输入(单位/次)"></global-number-input>
</up-form-item>
<up-form-item label="高空工作梯(2米以上)" prop="gkgzt" :borderBottom="true">
<global-number-input v-model="formData.lkgzt" placeholder="请输入(单位/次)"></global-number-input>
<global-number-input v-model="formData.gkgzt" placeholder="请输入(单位/次)"></global-number-input>
</up-form-item>
<up-form-item label="机身千斤顶" prop="jsqjd" :borderBottom="true">
<global-number-input v-model="formData.jsqjd" placeholder="请输入(单位/次)"></global-number-input>
......@@ -211,7 +211,7 @@
<global-number-input v-model="formData.cydlgjcs" placeholder="请输入(单位/次)"></global-number-input>
</up-form-item>
<up-form-item label="NDT人员工时" prop="ndtrygs" :borderBottom="true">
<global-number-input v-model="formData.ndtrygs" placeholder="请输入(单位/小时)" :precision="2"></global-number-input>
<up-input v-model="formData.ndtrygs" placeholder="请输入(人数*小时)" inputAlign="right" border="none" clearable></up-input>
</up-form-item>
<!-- NDT/孔探设备 -->
<up-form-item label="NDT/孔探设备" :borderBottom="true"></up-form-item>
......
......@@ -8,6 +8,13 @@
<up-cell title="创建时间" :value="timeStampFormat(getStepDetails.creationTime)"></up-cell>
<up-cell title="计划工时" :value="getStepDetails.plannedWork"></up-cell>
<up-cell title="步骤描述" :label="getStepDetails.stepContent || '无'"></up-cell>
<up-cell title="附件">
<template #label>
<view style="margin-top: 16rpx">
<global-upload :fileList="getStepDetails.stepFile" :showUpload="false"></global-upload>
</view>
</template>
</up-cell>
</up-cell-group>
</view>
<view class="mocp-cell">
......
......@@ -66,6 +66,15 @@
<up-collapse-item title="工作内容" name="2">
<view class="mocp-cell">
<up-cell-group>
<up-cell>
<template #title>
<view>
注:1-10、12条适用于航后及停场飞机(
<text class="mocp-color-primary-7">含长过站停场</text>
)。11、12适用于过站运行的飞机。
</view>
</template>
</up-cell>
<up-cell title="开始时间">
<template #value>
<global-date-picker v-model="formData.startTime" :disabled="getDisabled"></global-date-picker>
......
......@@ -226,7 +226,7 @@ export const menuList = ref([
default: false,
count: 0,
url: '/panel/workSupervision/list',
apiPath: '/terminalQualityManagement'
apiPath: ''
},
// 定检管理
{
......
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