Commit 59481380 by pangchong

feat(风害管理): 新增问题状态字典和巡场检查单模板功能

- 在风害管理模块中添加问题状态字典项
- 实现根据航站获取巡场检查单模板明细的功能
- 重构巡场检查单页面,使用动态模板数据
- 优化电子工单的航班号和航段输入验证
- 调整基础URL配置为内网生产环境
parent f4f22903
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -40,6 +40,14 @@ export const getAllTaskInfoByWeatherApi = (data, config) => { ...@@ -40,6 +40,14 @@ export const getAllTaskInfoByWeatherApi = (data, config) => {
config config
}) })
} }
export const getPwdWorkTemplateItemsByStnApi = (data, config) => {
return http({
method: 'POST',
url: '/terminal/getPwdWorkTemplateItemsByStn',
data,
config
})
}
export const savePwdCommonTaskApi = (data, config) => { export const savePwdCommonTaskApi = (data, config) => {
return post({ return post({
method: 'POST', method: 'POST',
......
...@@ -32,3 +32,8 @@ export const wdm_situation = [ ...@@ -32,3 +32,8 @@ export const wdm_situation = [
{ label: '可以实施系留', value: '0' }, { label: '可以实施系留', value: '0' },
{ label: '不能系留', value: '1' } { label: '不能系留', value: '1' }
] ]
export const wdm_issueStatus = [
{ label: '过站', value: '1' },
{ label: '停场', value: '2' },
{ label: '封存', value: '3' }
]
...@@ -3,7 +3,9 @@ import useUserStore from 'mocp/store/user' ...@@ -3,7 +3,9 @@ import useUserStore from 'mocp/store/user'
// const baseURL = 'https://hna-platform.anyremote.cn' //测试 // const baseURL = 'https://hna-platform.anyremote.cn' //测试
// const baseURL = 'https://moc.hnatechnic.com/api' //生产 // const baseURL = 'https://moc.hnatechnic.com/api' //生产
// const baseURL = 'http://10.123.48.67/api' //Amms内网 // const baseURL = 'http://10.123.48.67/api' //Amms内网
const baseURL = 'https://hnaelbtest.hnatechnic.com/mocptest/api' //内网 // const baseURL = 'http://10.70.62.129/api' //北数高可用测试环境
// const baseURL = 'https://hnaelbtest.hnatechnic.com/mocptest/api' //内网
const baseURL = 'http://10.121.48.157/mocptest/api' //内网生产
class ServiceLoading { class ServiceLoading {
open(loading) { open(loading) {
......
...@@ -148,9 +148,6 @@ const loginAmms = () => { ...@@ -148,9 +148,6 @@ const loginAmms = () => {
.catch(function (reason) { .catch(function (reason) {
console.log('AMMS跳转登录出现错误', reason) console.log('AMMS跳转登录出现错误', reason)
}) })
.finally(() => {
showLoad.value = false
})
} }
} }
</script> </script>
......
...@@ -138,13 +138,6 @@ export const rules = reactive({ ...@@ -138,13 +138,6 @@ export const rules = reactive({
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
flightNo: [
{
required: true,
message: '请选择航班号',
trigger: ['blur', 'change']
}
],
guaranteeUnit: [ guaranteeUnit: [
{ {
required: true, required: true,
...@@ -166,11 +159,27 @@ export const rules = reactive({ ...@@ -166,11 +159,27 @@ export const rules = reactive({
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
flightNoIn: [
{
validator: (rule, value, callback) => {
return value && /^[A-Z0-9]{2}\d{1,4}[A-Z]?$/.test(value)
},
message: '进港航班号格式错误',
trigger: ['blur', 'change']
}
],
flightNoOut: [ flightNoOut: [
{ {
required: true, required: true,
message: '请选择出港航班号', message: '请选择出港航班号',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
},
{
validator: (rule, value, callback) => {
return /^[A-Z0-9]{2}\d{1,4}[A-Z]?$/.test(value)
},
message: '出港航班号格式错误',
trigger: ['blur', 'change']
} }
] ]
}) })
......
...@@ -41,8 +41,41 @@ ...@@ -41,8 +41,41 @@
<up-form-item label="机型" prop="model" :borderBottom="true" required> <up-form-item label="机型" prop="model" :borderBottom="true" required>
<global-picker v-model="formData.model" pickAlign="right" :options="allAcType" clearable filter customize></global-picker> <global-picker v-model="formData.model" pickAlign="right" :options="allAcType" clearable filter customize></global-picker>
</up-form-item> </up-form-item>
<up-form-item label="航班号" prop="flightNo" :borderBottom="true" required> <up-form-item label="进港航班号" prop="flightNoIn" :borderBottom="true" required>
<up-input v-model="formData.flightNo" inputAlign="right" border="none" placeholder="请输入" clearable></up-input> <up-input v-model="formData.flightNoIn" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item>
<up-form-item label="出港航班号" prop="flightNoOut" :borderBottom="true">
<up-input v-model="formData.flightNoOut" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item>
<up-form-item label="航段" prop="legs1" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.legs1"
clearable
:options="getTerminalSelect()"
filter
placeholder="请选择起飞航站"
></global-picker>
</up-form-item>
<up-form-item prop="legs2" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.legs2"
clearable
:options="getTerminalSelect()"
filter
placeholder="请选择过站航站"
></global-picker>
</up-form-item>
<up-form-item prop="legs3" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.legs3"
clearable
:options="getTerminalSelect()"
filter
placeholder="请选择落地航站"
></global-picker>
</up-form-item> </up-form-item>
</view> </view>
<view class="mocp-title">非例行工作</view> <view class="mocp-title">非例行工作</view>
...@@ -55,8 +88,6 @@ ...@@ -55,8 +88,6 @@
<view class="sample-thead-td">人数</view> <view class="sample-thead-td">人数</view>
<view class="spacer"></view> <view class="spacer"></view>
<view class="sample-thead-td">工时</view> <view class="sample-thead-td">工时</view>
<view class="spacer"></view>
<view class="sample-thead-td">材料</view>
</view> </view>
</view> </view>
<view class="sample-tbody"> <view class="sample-tbody">
...@@ -83,10 +114,6 @@ ...@@ -83,10 +114,6 @@
border="surround" border="surround"
></global-number-input> ></global-number-input>
</view> </view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.material1" placeholder="请输入" clearable></up-input>
</view>
</view> </view>
<view class="sample-tbody-tr"> <view class="sample-tbody-tr">
<view class="sample-tbody-td"> <view class="sample-tbody-td">
...@@ -111,10 +138,6 @@ ...@@ -111,10 +138,6 @@
border="surround" border="surround"
></global-number-input> ></global-number-input>
</view> </view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.material2" placeholder="请输入" clearable></up-input>
</view>
</view> </view>
<view class="sample-tbody-tr"> <view class="sample-tbody-tr">
<view class="sample-tbody-td"> <view class="sample-tbody-td">
...@@ -139,18 +162,17 @@ ...@@ -139,18 +162,17 @@
border="surround" border="surround"
></global-number-input> ></global-number-input>
</view> </view>
<view class="spacer"></view>
<view class="sample-tbody-td">
<up-input v-model="formData.material3" placeholder="请输入" clearable></up-input>
</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="mocp-title">特种车辆、设备、工具租用记录</view> <view class="mocp-title">特种车辆、设备、工具租用记录</view>
<view class="mocp-form"> <view class="mocp-form">
<up-form-item label="金工人员工时" prop="jgrygs" :borderBottom="true"> <up-form-item label="金工人员工时(人数*小时)" prop="jgrygs" :borderBottom="true">
<up-input v-model="formData.jgrygs" placeholder="请输入(人数*小时)" inputAlign="right" border="none" clearable></up-input> <global-number-input v-model="formData.jgrygs" placeholder="人数" :precision="2"></global-number-input>
</up-form-item>
<up-form-item prop="jgrygsHuors" :borderBottom="true">
<global-number-input v-model="formData.jgrygsHuors" placeholder="小时" :precision="2"></global-number-input>
</up-form-item> </up-form-item>
<up-form-item label="普通工作梯(2米以下)" prop="ptgzt" :borderBottom="true"> <up-form-item label="普通工作梯(2米以下)" prop="ptgzt" :borderBottom="true">
<global-number-input v-model="formData.ptgzt" placeholder="请输入(单位/次)"></global-number-input> <global-number-input v-model="formData.ptgzt" placeholder="请输入(单位/次)"></global-number-input>
...@@ -303,7 +325,7 @@ ...@@ -303,7 +325,7 @@
import useElectronicBillStore from 'mocp/store/electronicBill' import useElectronicBillStore from 'mocp/store/electronicBill'
import { formData, rules } from './constants/add.compositions' import { formData, rules } from './constants/add.compositions'
import { navigateTo } from 'mocp/utils/jump' import { navigateTo } from 'mocp/utils/jump'
import { onUnmounted, ref } from 'vue' import { onUnmounted, ref, watchEffect } from 'vue'
import { addQtgj, delQtgj, changeAcreg } from './constants/add.functionals' import { addQtgj, delQtgj, changeAcreg } from './constants/add.functionals'
import { validateParameters } from 'mocp/utils/tool' import { validateParameters } from 'mocp/utils/tool'
import { getTerminalSelect } from 'mocp/utils/permission' import { getTerminalSelect } from 'mocp/utils/permission'
...@@ -328,6 +350,9 @@ const handleFooterClick = async () => { ...@@ -328,6 +350,9 @@ const handleFooterClick = async () => {
} }
navigateTo('/panel/electronicBill/nonRoutineWork/sign') navigateTo('/panel/electronicBill/nonRoutineWork/sign')
} }
watchEffect(() => {
formData.legs = formData.legs1 + '-' + formData.legs2 + '-' + formData.legs3
})
onUnmounted(() => { onUnmounted(() => {
resetData() resetData()
}) })
......
...@@ -39,10 +39,14 @@ export const formData = reactive({ ...@@ -39,10 +39,14 @@ export const formData = reactive({
isDel: '', isDel: '',
jackscrew: undefined, jackscrew: undefined,
jgrygs: undefined, jgrygs: undefined,
jgrygsHuors: undefined,
jsjd: undefined, jsjd: undefined,
jsqjd: undefined, jsqjd: undefined,
ladder: undefined, ladder: undefined,
legs: '', legs: '',
legs1: '',
legs2: '',
legs3: '',
gkgzt: undefined, gkgzt: undefined,
lzqjd: undefined, lzqjd: undefined,
material1: '', material1: '',
...@@ -123,10 +127,26 @@ export const rules = reactive({ ...@@ -123,10 +127,26 @@ export const rules = reactive({
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
flightNo: [ flightNoIn: [
{ {
required: true, required: true,
message: '请选择航班号', message: '请选择进港航班号',
trigger: ['blur', 'change']
},
{
validator: (rule, value, callback) => {
return /^[A-Z0-9]{2}\d{1,4}[A-Z]?$/.test(value)
},
message: '进港航班号格式错误',
trigger: ['blur', 'change']
}
],
flightNoOut: [
{
validator: (rule, value, callback) => {
return value && /^[A-Z0-9]{2}\d{1,4}[A-Z]?$/.test(value)
},
message: '出港航班号格式错误',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
] ]
......
...@@ -111,10 +111,14 @@ export const resetData = () => { ...@@ -111,10 +111,14 @@ export const resetData = () => {
isDel: '', isDel: '',
jackscrew: undefined, jackscrew: undefined,
jgrygs: undefined, jgrygs: undefined,
jgrygsHuors: undefined,
jsjd: undefined, jsjd: undefined,
jsqjd: undefined, jsqjd: undefined,
ladder: undefined, ladder: undefined,
legs: '', legs: '',
legs1: '',
legs2: '',
legs3: '',
gkgzt: undefined, gkgzt: undefined,
lzqjd: undefined, lzqjd: undefined,
material1: '', material1: '',
......
...@@ -53,6 +53,12 @@ import { getQtgj } from './constants/sign.functionals' ...@@ -53,6 +53,12 @@ import { getQtgj } from './constants/sign.functionals'
const baseStore = useBaseStore() const baseStore = useBaseStore()
const userStore = useUserStore() const userStore = useUserStore()
const goDetails = (data) => { const goDetails = (data) => {
if (data.legs) {
const legs = data.legs.split('-')
formData.legs1 = legs[0]
formData.legs2 = legs[1]
formData.legs3 = legs[2]
}
Object.assign(formData, data) Object.assign(formData, data)
formData.qtgj = getQtgj(formData.qtgj) formData.qtgj = getQtgj(formData.qtgj)
uni.$mocpJump.navigateTo('/panel/electronicBill/nonRoutineWork/add') uni.$mocpJump.navigateTo('/panel/electronicBill/nonRoutineWork/add')
......
...@@ -44,11 +44,44 @@ ...@@ -44,11 +44,44 @@
<up-form-item label="进港航班号" prop="flightNoIn" :borderBottom="true" required> <up-form-item label="进港航班号" prop="flightNoIn" :borderBottom="true" required>
<up-input v-model="formData.flightNoIn" inputAlign="right" border="none" placeholder="请输入" clearable></up-input> <up-input v-model="formData.flightNoIn" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item> </up-form-item>
<up-form-item label="出港航班号" prop="flightNoOut" :borderBottom="true" required> <up-form-item label="出港航班号" prop="flightNoOut" :borderBottom="true">
<up-input v-model="formData.flightNoOut" inputAlign="right" border="none" placeholder="请输入" clearable></up-input> <up-input v-model="formData.flightNoOut" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item> </up-form-item>
<up-form-item label="航段" prop="legs" :borderBottom="true" required> <up-form-item label="航段" prop="legs1" :borderBottom="true">
<up-input v-model="formData.legs" inputAlign="right" border="none" placeholder="请输入" clearable></up-input> <global-picker
pickAlign="right"
v-model="formData.legs1"
clearable
:options="getTerminalSelect()"
filter
placeholder="请选择起飞航站"
></global-picker>
</up-form-item>
<up-form-item prop="legs2" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.legs2"
clearable
:options="getTerminalSelect()"
filter
placeholder="请选择过站航站"
></global-picker>
</up-form-item>
<up-form-item prop="legs3" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.legs3"
clearable
:options="getTerminalSelect()"
filter
placeholder="请选择落地航站"
></global-picker>
</up-form-item>
<up-form-item label="起飞机位" prop="upLocation" :borderBottom="true">
<up-input v-model="formData.upLocation" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item>
<up-form-item label="落地机位" prop="downLocation" :borderBottom="true">
<up-input v-model="formData.downLocation" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item> </up-form-item>
</view> </view>
<view class="mocp-title">过站维护TR</view> <view class="mocp-title">过站维护TR</view>
...@@ -155,6 +188,7 @@ watchEffect(() => { ...@@ -155,6 +188,7 @@ watchEffect(() => {
formData.routineInspection = '0' formData.routineInspection = '0'
formData.fly = '0' formData.fly = '0'
} }
formData.legs = formData.legs1 + '-' + formData.legs2 + '-' + formData.legs3
}) })
onUnmounted(() => { onUnmounted(() => {
resetData() resetData()
......
...@@ -14,6 +14,9 @@ export const formData = reactive({ ...@@ -14,6 +14,9 @@ export const formData = reactive({
groundPower: undefined, groundPower: undefined,
id: 0, id: 0,
legs: '', legs: '',
legs1: '',
legs2: '',
legs3: '',
model: '', model: '',
nickname: '', nickname: '',
onCall: '0', onCall: '0',
...@@ -31,7 +34,9 @@ export const formData = reactive({ ...@@ -31,7 +34,9 @@ export const formData = reactive({
username: '', username: '',
routineInspection: '0', routineInspection: '0',
fly: '0', fly: '0',
overnightAfPf: '0' overnightAfPf: '0',
upLocation: '',
downLocation: ''
}) })
export const rules = reactive({ export const rules = reactive({
...@@ -76,19 +81,39 @@ export const rules = reactive({ ...@@ -76,19 +81,39 @@ export const rules = reactive({
required: true, required: true,
message: '请选择进港航班号', message: '请选择进港航班号',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
},
{
validator: (rule, value, callback) => {
return /^[A-Z0-9]{2}\d{1,4}[A-Z]?$/.test(value)
},
message: '进港航班号格式错误',
trigger: ['blur', 'change']
} }
], ],
flightNoOut: [ flightNoOut: [
{ {
required: true, validator: (rule, value, callback) => {
message: '请输入出港航班号', return value && /^[A-Z0-9]{2}\d{1,4}[A-Z]?$/.test(value)
},
message: '出港航班号格式错误',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
legs: [ upLocation: [
{ {
required: true, validator: (rule, value, callback) => {
message: '请输入航段', return value && /^[A-Z0-9]+$/.test(value)
},
message: '起飞机位只能填写大写字母和数字',
trigger: ['blur', 'change']
}
],
downLocation: [
{
validator: (rule, value, callback) => {
return value && /^[A-Z0-9]+$/.test(value)
},
message: '落地机位只能填写大写字母和数字',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
] ]
......
...@@ -89,6 +89,9 @@ export const resetData = () => { ...@@ -89,6 +89,9 @@ export const resetData = () => {
groundPower: undefined, groundPower: undefined,
id: 0, id: 0,
legs: '', legs: '',
legs1: '',
legs2: '',
legs3: '',
model: '', model: '',
nickname: '', nickname: '',
onCall: '0', onCall: '0',
...@@ -106,6 +109,8 @@ export const resetData = () => { ...@@ -106,6 +109,8 @@ export const resetData = () => {
username: '', username: '',
routineInspection: '0', routineInspection: '0',
fly: '0', fly: '0',
overnightAfPf: '0' overnightAfPf: '0',
upLocation: '',
downLocation: ''
}) })
} }
...@@ -53,6 +53,12 @@ import { onUnload } from '@dcloudio/uni-app' ...@@ -53,6 +53,12 @@ import { onUnload } from '@dcloudio/uni-app'
const baseStore = useBaseStore() const baseStore = useBaseStore()
const userStore = useUserStore() const userStore = useUserStore()
const goDetails = (data) => { const goDetails = (data) => {
if (data.legs) {
const legs = data.legs.split('-')
formData.legs1 = legs[0]
formData.legs2 = legs[1]
formData.legs3 = legs[2]
}
Object.assign(formData, data) Object.assign(formData, data)
uni.$mocpJump.navigateTo('/panel/electronicBill/routineWork/add') uni.$mocpJump.navigateTo('/panel/electronicBill/routineWork/add')
} }
......
...@@ -22,6 +22,9 @@ ...@@ -22,6 +22,9 @@
<global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)"> <global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)">
{{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }} {{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }}
</global-tag> </global-tag>
<global-tag style="margin-left: 16rpx" v-if="getBasicVo.issueStatus">
{{ useGetDictByValue('wdm_issueStatus', getBasicVo.issueStatus) }}
</global-tag>
</view> </view>
</view> </view>
</template> </template>
......
...@@ -22,6 +22,9 @@ ...@@ -22,6 +22,9 @@
<global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)"> <global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)">
{{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }} {{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }}
</global-tag> </global-tag>
<global-tag style="margin-left: 16rpx" v-if="getBasicVo.issueStatus">
{{ useGetDictByValue('wdm_issueStatus', getBasicVo.issueStatus) }}
</global-tag>
</view> </view>
</view> </view>
</template> </template>
......
...@@ -22,6 +22,9 @@ ...@@ -22,6 +22,9 @@
<global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)"> <global-tag :type="useGetDictByValue('wdm_rxStatusType', getBasicVo.rxStatus)">
{{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }} {{ useGetDictByValue('wdm_rxStatus', getBasicVo.rxStatus) }}
</global-tag> </global-tag>
<global-tag style="margin-left: 16rpx" v-if="getBasicVo.issueStatus">
{{ useGetDictByValue('wdm_issueStatus', getBasicVo.issueStatus) }}
</global-tag>
</view> </view>
</view> </view>
</template> </template>
......
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