<route lang="json5" type="page">
|
{
|
needLogin: true,
|
style: {
|
navigationBarTitleText: '工单明细',
|
navigationStyle: 'custom',
|
navigationBarBackgroundColor: '#4D80F0',
|
},
|
}
|
</route>
|
<template>
|
<view class="bg-base h-[100vh]">
|
<wd-navbar
|
title="工单明细"
|
left-arrow
|
@click-left="goBack"
|
right-text="提交"
|
@click-right="handleClickRight"
|
custom-style="background: #4D80F0;"
|
safeAreaInsetTop
|
></wd-navbar>
|
|
<wd-form ref="form" :model="order" :rules="rules">
|
<wd-cell-group custom-class="group" title="设备信息" border>
|
<wd-cell title="设备名称" title-width="200rpx" is-link>
|
<text>{{ order?.equName }}</text>
|
</wd-cell>
|
<wd-cell title="资产编号" title-width="200rpx" is-link>
|
<text>{{ order?.assetNo }}</text>
|
</wd-cell>
|
</wd-cell-group>
|
|
<wd-cell-group custom-class="mt-2" title="保养信息" border>
|
<wd-cell title="保养单号" title-width="200rpx" is-link>
|
<text>{{ order?.maintCode }}</text>
|
</wd-cell>
|
<wd-cell title="保养项" title-width="200rpx" is-link>
|
<text>{{ order?.maintName }}</text>
|
</wd-cell>
|
<wd-cell title="计划保养日期" title-width="200rpx" is-link>
|
<text>{{ order?.planTime }}</text>
|
</wd-cell>
|
<wd-datetime-picker
|
label="保养开始时间"
|
label-width="200rpx"
|
placeholder="请选择时间"
|
prop="startTime"
|
v-model="startTime"
|
@open="openStartTime"
|
@confirm="handleStartTime"
|
/>
|
<wd-datetime-picker
|
label="保养结束时间"
|
label-width="200rpx"
|
placeholder="请选择时间"
|
prop="endTime"
|
v-model="endTime"
|
@open="openEndTime"
|
@confirm="handleEndTime"
|
/>
|
|
<wd-textarea
|
label="工作描述"
|
label-width="200rpx"
|
type="textarea"
|
v-model="order.maintDesc"
|
auto-height
|
:maxlength="200"
|
show-word-limit
|
placeholder="请输入工作描述"
|
clearable
|
/>
|
<wd-cell title="保养图片" title-width="200rpx" prop="fileList">
|
<wd-upload
|
:auto-upload="false"
|
:file-list="fileList"
|
@change="handleFileChange"
|
></wd-upload>
|
</wd-cell>
|
<wd-textarea
|
label="备注"
|
label-width="200rpx"
|
type="textarea"
|
v-model="order.remark"
|
auto-height
|
:maxlength="200"
|
show-word-limit
|
placeholder="请输入备注"
|
clearable
|
/>
|
</wd-cell-group>
|
</wd-form>
|
</view>
|
</template>
|
|
<script setup lang="ts">
|
import { getMaintOrder, updateMaintOrder } from '@/service/maint'
|
import { formatDate } from '@/utils/DateUtils'
|
import { reactive } from 'vue'
|
import { FormRules } from 'wot-design-uni/components/wd-form/types'
|
import { useToast, useMessage } from 'wot-design-uni'
|
const message = useMessage()
|
|
const fileList = ref<[]>()
|
const startTime = ref<number>(0)
|
const endTime = ref<number>(0)
|
|
interface MaintOrder {
|
id: string
|
equName: string
|
maintCode: string
|
maintName: string
|
planTime: string
|
startTime: string
|
endTime?: string
|
maintDesc: string
|
remark: string
|
}
|
|
const order = reactive<MaintOrder>({
|
id: '',
|
equName: '',
|
maintCode: '',
|
maintName: '',
|
planTime: '',
|
startTime: '',
|
endTime: '',
|
maintDesc: '',
|
remark: '',
|
})
|
|
const rules: FormRules = {
|
startTime: [
|
{
|
required: true,
|
message: '请选择保养开始时间',
|
},
|
],
|
endTime: [
|
{
|
required: true,
|
message: '请选择保养结束时间',
|
},
|
],
|
maintDesc: [
|
{
|
required: true,
|
message: '请输入工作描述',
|
},
|
],
|
}
|
function openStartTime() {
|
if (startTime.value === 0) {
|
startTime.value = Date.now()
|
}
|
}
|
function openEndTime() {
|
if (endTime.value === 0) {
|
endTime.value = Date.now()
|
}
|
}
|
|
function handleStartTime(value) {
|
order.startTime = formatDate(new Date(value.value))
|
}
|
function handleEndTime(value) {
|
order.endTime = formatDate(new Date(value.value))
|
}
|
|
function handleFileChange({ fileList }) {}
|
|
function initMaintOrder(id: any) {
|
getMaintOrder(id)
|
.then((res: any) => {
|
Object.assign(order, res)
|
startTime.value = new Date(order.startTime).getTime()
|
endTime.value = new Date(order.endTime).getTime()
|
})
|
.catch((res) => {})
|
}
|
|
function updateOrder(resolve: any) {
|
updateMaintOrder(order)
|
.then((res: any) => {
|
resolve(true)
|
})
|
.catch((res) => {
|
console.error(res)
|
})
|
}
|
|
const goBack = () => {
|
uni.navigateBack()
|
}
|
|
function handleClickRight() {
|
message
|
.confirm({
|
msg: '确定提交?',
|
title: '提示',
|
beforeConfirm: ({ resolve }) => {
|
updateOrder(resolve)
|
},
|
})
|
.then(() => {})
|
.catch((error) => {
|
console.log(error)
|
})
|
}
|
|
onLoad((options) => {
|
initMaintOrder(options.id)
|
})
|
</script>
|
|
<style scoped lang="scss">
|
:deep(.wd-navbar__text) {
|
font-size: 26rpx;
|
color: white;
|
}
|
|
:deep(.wd-icon-arrow-left:before),
|
:deep(.wd-navbar__title) {
|
color: white;
|
font-weight: bold !important;
|
font-size: 32rpx;
|
}
|
</style>
|