feat(dms): 新增派工计划、维修记录和维修工单详情页面
- 创建派工计划详情页,支持单人和团队派工模式 - 实现维修记录详情页,包含故障、维修和验收信息 - 开发维修工单详情页,支持设备选择和工程材料管理 - 添加相关API接口文件,支持完整的CRUD操作 - 集成字典数据和用户选择功能 - 实现表单验证和数据联动逻辑master
parent
ae209ea090
commit
fc5a25ad71
@ -0,0 +1,71 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询派工计划列表
|
||||
export function listDispatchPlan(query) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询派工计划详细
|
||||
export function getDispatchPlan(planId) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan/' + planId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增派工计划
|
||||
export function addDispatchPlan(data) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改派工计划
|
||||
export function updateDispatchPlan(data) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除派工计划
|
||||
export function delDispatchPlan(planId) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan/' + planId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 接收派工
|
||||
export function receiveDispatch(data) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan/receive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 拒绝派工
|
||||
export function rejectDispatch(data) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan/reject',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 导出派工计划
|
||||
export function exportDispatchPlan(query) {
|
||||
return request({
|
||||
url: '/dms/dispatchPlan/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询维修记录列表
|
||||
export function listRepairRecord(query) {
|
||||
return request({
|
||||
url: '/dms/repairRecord/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询维修记录详细
|
||||
export function getRepairRecord(recordId) {
|
||||
return request({
|
||||
url: '/dms/repairRecord/' + recordId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增维修记录
|
||||
export function addRepairRecord(data) {
|
||||
return request({
|
||||
url: '/dms/repairRecord',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改维修记录
|
||||
export function updateRepairRecord(data) {
|
||||
return request({
|
||||
url: '/dms/repairRecord',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除维修记录
|
||||
export function delRepairRecord(recordId) {
|
||||
return request({
|
||||
url: '/dms/repairRecord/' + recordId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 存档维修记录
|
||||
export function archiveRepairRecord(data) {
|
||||
return request({
|
||||
url: '/dms/repairRecord/archive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 导出维修记录
|
||||
export function exportRepairRecord(query) {
|
||||
return request({
|
||||
url: '/dms/repairRecord/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 按设备查询维修历史
|
||||
export function getRepairHistory(deviceId) {
|
||||
return request({
|
||||
url: '/dms/repairRecord/history/' + deviceId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询维修工单列表
|
||||
export function listRepairWorkOrder(query) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询维修工单详细
|
||||
export function getRepairWorkOrder(workOrderId) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/' + workOrderId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增维修工单
|
||||
export function addRepairWorkOrder(data) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改维修工单
|
||||
export function updateRepairWorkOrder(data) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除维修工单
|
||||
export function delRepairWorkOrder(workOrderId) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/' + workOrderId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 派工
|
||||
export function dispatchWorkOrder(data) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/dispatch',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 开始维修
|
||||
export function startWorkOrder(data) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/start',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 完成维修
|
||||
export function completeWorkOrder(data) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/complete',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 审批
|
||||
export function approveWorkOrder(data) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/approve',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 导出维修工单
|
||||
export function exportRepairWorkOrder(query) {
|
||||
return request({
|
||||
url: '/dms/repairWorkOrder/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
@ -0,0 +1,288 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-card shadow="never" style="margin-bottom: 20px;">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>工单信息</span>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工单编号" prop="workOrderCode">
|
||||
<el-input v-model="form.workOrderCode" placeholder="请输入工单编号" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="设备编号" prop="deviceCode">
|
||||
<el-input v-model="form.deviceCode" placeholder="请输入设备编号" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="设备名称" prop="deviceName">
|
||||
<el-input v-model="form.deviceName" placeholder="请输入设备名称" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="维修人员" prop="repairerName">
|
||||
<el-input v-model="form.repairerName" placeholder="请输入维修人员" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" style="margin-bottom: 20px;">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>故障信息</span>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="故障现象" prop="faultPhenomenon">
|
||||
<el-input v-model="form.faultPhenomenon" type="textarea" :rows="3" placeholder="请输入故障现象" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="故障原因" prop="faultCause">
|
||||
<el-input v-model="form.faultCause" type="textarea" :rows="3" placeholder="请输入故障原因分析" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" style="margin-bottom: 20px;">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>维修信息</span>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="维修方法" prop="repairMethod">
|
||||
<el-input v-model="form.repairMethod" type="textarea" :rows="2" placeholder="请输入维修方法" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="维修过程" prop="repairProcess">
|
||||
<el-input v-model="form.repairProcess" type="textarea" :rows="4" placeholder="请输入详细维修过程" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="更换部件" prop="replacedParts">
|
||||
<el-input v-model="form.replacedParts" type="textarea" :rows="2" placeholder="请输入更换的部件清单" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker
|
||||
v-model="form.startTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="选择开始时间"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="完成时间" prop="endTime">
|
||||
<el-date-picker
|
||||
v-model="form.endTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="选择完成时间"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维修工时" prop="repairHours">
|
||||
<el-input-number v-model="form.repairHours" :min="0" :precision="1" style="width: 100%;" placeholder="小时" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维修费用" prop="repairCost">
|
||||
<el-input-number v-model="form.repairCost" :min="0" :precision="2" style="width: 100%;" placeholder="元" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="停机时长" prop="shutdownDuration">
|
||||
<el-input-number v-model="form.shutdownDuration" :min="0" style="width: 100%;" placeholder="分钟" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维修结果" prop="repairResult">
|
||||
<el-select v-model="form.repairResult" placeholder="请选择维修结果" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_repair_result"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" style="margin-bottom: 20px;">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>验收信息</span>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="验收人" prop="acceptor">
|
||||
<el-input v-model="form.acceptor" placeholder="请输入验收人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="验收时间" prop="acceptTime">
|
||||
<el-date-picker
|
||||
v-model="form.acceptTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="选择验收时间"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="验收结果" prop="acceptResult">
|
||||
<el-select v-model="form.acceptResult" placeholder="请选择验收结果" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_accept_result"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="验收意见" prop="acceptOpinion">
|
||||
<el-input v-model="form.acceptOpinion" type="textarea" :rows="3" placeholder="请输入验收意见" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="后续建议" prop="followupSuggestion">
|
||||
<el-input v-model="form.followupSuggestion" type="textarea" :rows="3" placeholder="请输入后续维护建议" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submitForm">保 存</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getRepairRecord, addRepairRecord, updateRepairRecord } from '@/api/dms/repairRecord'
|
||||
|
||||
export default {
|
||||
name: 'RepairRecordDetail',
|
||||
dicts: ['dms_repair_result', 'dms_accept_result'],
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
recordId: null,
|
||||
workOrderId: null,
|
||||
workOrderCode: null,
|
||||
deviceId: null,
|
||||
deviceCode: null,
|
||||
deviceName: null,
|
||||
faultPhenomenon: null,
|
||||
faultCause: null,
|
||||
repairMethod: null,
|
||||
repairProcess: null,
|
||||
replacedParts: null,
|
||||
repairResult: null,
|
||||
repairerId: null,
|
||||
repairerName: null,
|
||||
startTime: null,
|
||||
endTime: null,
|
||||
repairHours: null,
|
||||
repairCost: null,
|
||||
shutdownDuration: null,
|
||||
acceptor: null,
|
||||
acceptTime: null,
|
||||
acceptResult: null,
|
||||
acceptOpinion: null,
|
||||
followupSuggestion: null
|
||||
},
|
||||
rules: {
|
||||
faultPhenomenon: [{ required: true, message: '请输入故障现象', trigger: 'blur' }],
|
||||
repairProcess: [{ required: true, message: '请输入维修过程', trigger: 'blur' }],
|
||||
startTime: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
|
||||
endTime: [{ required: true, message: '请选择完成时间', trigger: 'change' }],
|
||||
repairResult: [{ required: true, message: '请选择维修结果', trigger: 'change' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const recordId = this.$route.params && this.$route.params.recordId
|
||||
if (recordId && recordId !== 'new') {
|
||||
this.loadData(recordId)
|
||||
}
|
||||
// 从路由参数获取工单信息
|
||||
if (this.$route.query.workOrderId) {
|
||||
this.form.workOrderId = this.$route.query.workOrderId
|
||||
this.form.workOrderCode = this.$route.query.workOrderCode
|
||||
this.form.deviceCode = this.$route.query.deviceCode
|
||||
this.form.deviceName = this.$route.query.deviceName
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadData(recordId) {
|
||||
getRepairRecord(recordId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.recordId) {
|
||||
updateRepairRecord(this.form).then(response => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.cancel()
|
||||
})
|
||||
} else {
|
||||
addRepairRecord(this.form).then(response => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.cancel()
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.$router.back()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,284 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
|
||||
<el-form-item label="工单编号" prop="workOrderCode">
|
||||
<el-input
|
||||
v-model="queryParams.workOrderCode"
|
||||
placeholder="请输入工单编号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备名称" prop="deviceName">
|
||||
<el-input
|
||||
v-model="queryParams.deviceName"
|
||||
placeholder="请输入设备名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="维修人员" prop="repairerName">
|
||||
<el-input
|
||||
v-model="queryParams.repairerName"
|
||||
placeholder="请输入维修人员"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="维修结果" prop="repairResult">
|
||||
<el-select v-model="queryParams.repairResult" placeholder="请选择维修结果" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_repair_result"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否存档" prop="isArchived">
|
||||
<el-select v-model="queryParams.isArchived" placeholder="请选择是否存档" clearable>
|
||||
<el-option label="是" value="1" />
|
||||
<el-option label="否" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="维修日期">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['dms:repairRecord:add']"
|
||||
>新增记录</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-folder"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleArchive"
|
||||
v-hasPermi="['dms:repairRecord:archive']"
|
||||
>存档</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['dms:repairRecord:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['dms:repairRecord:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="repairRecordList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="工单编号" align="center" prop="workOrderCode" width="160" />
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName" show-overflow-tooltip />
|
||||
<el-table-column label="故障现象" align="center" prop="faultPhenomenon" show-overflow-tooltip width="200" />
|
||||
<el-table-column label="维修人员" align="center" prop="repairerName" width="100" />
|
||||
<el-table-column label="开始时间" align="center" prop="startTime" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d} {h}:{i}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="结束时间" align="center" prop="endTime" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d} {h}:{i}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工时(h)" align="center" prop="repairHours" width="90" />
|
||||
<el-table-column label="费用(元)" align="center" prop="repairCost" width="100" />
|
||||
<el-table-column label="维修结果" align="center" prop="repairResult" width="100">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.dms_repair_result" :value="scope.row.repairResult"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="验收结果" align="center" prop="acceptResult" width="100">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.dms_accept_result" :value="scope.row.acceptResult"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否存档" align="center" prop="isArchived" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.isArchived === '1'" type="success">已存档</el-tag>
|
||||
<el-tag v-else type="info">未存档</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="handleView(scope.row)"
|
||||
v-hasPermi="['dms:repairRecord:query']"
|
||||
>查看</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['dms:repairRecord:edit']"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.isArchived === '0'"
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleArchive(scope.row)"
|
||||
v-hasPermi="['dms:repairRecord:archive']"
|
||||
>存档</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listRepairRecord, getRepairRecord, delRepairRecord, archiveRepairRecord } from '@/api/dms/repairRecord'
|
||||
|
||||
export default {
|
||||
name: 'RepairRecord',
|
||||
dicts: ['dms_repair_result', 'dms_accept_result'],
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
ids: [],
|
||||
single: true,
|
||||
multiple: true,
|
||||
showSearch: true,
|
||||
total: 0,
|
||||
repairRecordList: [],
|
||||
dateRange: [],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
workOrderCode: null,
|
||||
deviceName: null,
|
||||
repairerName: null,
|
||||
repairResult: null,
|
||||
isArchived: null
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true
|
||||
this.queryParams.params = {}
|
||||
if (this.dateRange != null && this.dateRange !== '') {
|
||||
this.queryParams.params['beginTime'] = this.dateRange[0]
|
||||
this.queryParams.params['endTime'] = this.dateRange[1]
|
||||
}
|
||||
listRepairRecord(this.queryParams).then(response => {
|
||||
this.repairRecordList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = []
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
/** 多选框选中数据 */
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.recordId)
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.$router.push('/dms/repairRecord/detail/new')
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
const recordId = row.recordId || this.ids[0]
|
||||
this.$router.push('/dms/repairRecord/detail/' + recordId)
|
||||
},
|
||||
/** 查看按钮操作 */
|
||||
handleView(row) {
|
||||
this.$router.push({
|
||||
path: '/dms/repairRecord/detail/' + row.recordId,
|
||||
query: { view: 'true' }
|
||||
})
|
||||
},
|
||||
/** 存档 */
|
||||
handleArchive(row) {
|
||||
const recordIds = row.recordId ? [row.recordId] : this.ids
|
||||
this.$modal.confirm('是否确认存档选中的维修记录?').then(() => {
|
||||
return archiveRepairRecord({ recordIds: recordIds })
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('存档成功')
|
||||
}).catch(() => {})
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const recordIds = row.recordId || this.ids
|
||||
this.$modal.confirm('是否确认删除选中的维修记录?').then(() => {
|
||||
return delRepairRecord(recordIds)
|
||||
}).then(() => {
|
||||
this.getList()
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
}).catch(() => {})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('dms/repairRecord/export', {
|
||||
...this.queryParams
|
||||
}, `repairRecord_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,440 @@
|
||||
<template>
|
||||
<div class="app-container repair-work-order-detail">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="card-title">基本信息</span>
|
||||
</div>
|
||||
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工单编号" prop="workOrderCode">
|
||||
<el-input v-model="form.workOrderCode" disabled placeholder="系统自动生成" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联故障报修">
|
||||
<el-input v-model="form.faultInstanceId" placeholder="选择故障报修单" readonly @click.native="selectFaultInstance">
|
||||
<el-button slot="append" icon="el-icon-search" @click="selectFaultInstance"></el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="优先级" prop="priority">
|
||||
<el-select v-model="form.priority" placeholder="请选择优先级" :disabled="isView" style="width: 100%">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_priority"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="设备" prop="deviceId">
|
||||
<el-select v-model="form.deviceId" placeholder="请选择设备" :disabled="isView" filterable style="width: 100%" @change="handleDeviceChange">
|
||||
<el-option
|
||||
v-for="item in deviceList"
|
||||
:key="item.objId || item.deviceId"
|
||||
:label="item.deviceName"
|
||||
:value="item.objId || item.deviceId"
|
||||
>
|
||||
<span style="float: left">{{ item.deviceCode }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.deviceName }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="故障类型" prop="faultType">
|
||||
<el-select v-model="form.faultType" placeholder="请选择故障类型" :disabled="isView" style="width: 100%">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_fault_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="维修类型" prop="repairType">
|
||||
<el-select v-model="form.repairType" placeholder="请选择维修类型" :disabled="isView" style="width: 100%">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_repair_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="故障描述" prop="faultDescription">
|
||||
<el-input v-model="form.faultDescription" type="textarea" :rows="3" :disabled="isView" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="维修说明" prop="repairNotes">
|
||||
<el-input v-model="form.repairNotes" type="textarea" :rows="3" :disabled="isView" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="计划开始时间">
|
||||
<el-date-picker
|
||||
v-model="form.planStartTime"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
:disabled="isView"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="计划完成时间">
|
||||
<el-date-picker
|
||||
v-model="form.planEndTime"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
:disabled="isView"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否需要停机">
|
||||
<el-radio-group v-model="form.needShutdown" :disabled="isView">
|
||||
<el-radio label="1">是</el-radio>
|
||||
<el-radio label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="预算费用(元)">
|
||||
<el-input-number v-model="form.budgetCost" :min="0" :precision="2" :disabled="isView" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="预计工时(h)">
|
||||
<el-input-number v-model="form.repairHours" :min="0" :precision="1" :disabled="isView" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<!-- 维修工程明细 -->
|
||||
<el-card class="box-card" shadow="never" style="margin-top: 15px">
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="card-title">维修工程明细</span>
|
||||
<el-button v-if="!isView" style="float: right; padding: 3px 10px" type="primary" size="mini" @click="handleAddProject">
|
||||
<i class="el-icon-plus"></i> 添加工程
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-table :data="form.repairProjects" border>
|
||||
<el-table-column label="序号" type="index" width="60" align="center" />
|
||||
<el-table-column label="工程名称" align="center" prop="projectName" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.projectName" placeholder="请输入工程名称" />
|
||||
<span v-else>{{ scope.row.projectName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工程类型" align="center" prop="projectType" width="120">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-if="!isView" v-model="scope.row.projectType" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_project_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
<dict-tag v-else :options="dict.type.dms_project_type" :value="scope.row.projectType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工程内容" align="center" prop="projectContent" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.projectContent" type="textarea" :rows="2" />
|
||||
<span v-else>{{ scope.row.projectContent }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="技术要求" align="center" prop="technicalRequirement" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.technicalRequirement" />
|
||||
<span v-else>{{ scope.row.technicalRequirement }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="计划工时(h)" align="center" prop="planHours" width="120">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number v-if="!isView" v-model="scope.row.planHours" :min="0" :precision="1" style="width: 100%" />
|
||||
<span v-else>{{ scope.row.planHours }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="100" v-if="!isView">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" style="color: #F56C6C" @click="handleDeleteProject(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<!-- 维修材料明细 -->
|
||||
<el-card class="box-card" shadow="never" style="margin-top: 15px">
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="card-title">维修材料明细</span>
|
||||
<el-button v-if="!isView" style="float: right; padding: 3px 10px" type="primary" size="mini" @click="handleAddMaterial">
|
||||
<i class="el-icon-plus"></i> 添加材料
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-table :data="form.repairMaterials" border>
|
||||
<el-table-column label="序号" type="index" width="60" align="center" />
|
||||
<el-table-column label="材料编码" align="center" prop="materialCode" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.materialCode" placeholder="请输入材料编码" />
|
||||
<span v-else>{{ scope.row.materialCode }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="材料名称" align="center" prop="materialName" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.materialName" placeholder="请输入材料名称" />
|
||||
<span v-else>{{ scope.row.materialName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格型号" align="center" prop="materialSpec" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.materialSpec" />
|
||||
<span v-else>{{ scope.row.materialSpec }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="材料类型" align="center" prop="materialType" width="110">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-if="!isView" v-model="scope.row.materialType" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dms_material_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
<dict-tag v-else :options="dict.type.dms_material_type" :value="scope.row.materialType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位" align="center" prop="unit" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-if="!isView" v-model="scope.row.unit" />
|
||||
<span v-else>{{ scope.row.unit }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="计划数量" align="center" prop="planQuantity" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number v-if="!isView" v-model="scope.row.planQuantity" :min="0" :precision="2" style="width: 100%" />
|
||||
<span v-else>{{ scope.row.planQuantity }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价(元)" align="center" prop="unitPrice" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number v-if="!isView" v-model="scope.row.unitPrice" :min="0" :precision="2" style="width: 100%" />
|
||||
<span v-else>{{ scope.row.unitPrice }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="总金额(元)" align="center" prop="totalAmount" width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ calculateAmount(scope.row) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="100" v-if="!isView">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" style="color: #F56C6C" @click="handleDeleteMaterial(scope.$index)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<!-- 底部按钮 -->
|
||||
<div class="footer-buttons" style="margin-top: 20px">
|
||||
<el-button @click="goBack">返 回</el-button>
|
||||
<el-button type="primary" @click="handleSubmit" v-if="!isView">保 存</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getRepairWorkOrder, addRepairWorkOrder, updateRepairWorkOrder } from '@/api/dms/repairWorkOrder'
|
||||
import { getDeviceLedgerList } from '@/api/base/deviceLedger'
|
||||
|
||||
export default {
|
||||
name: 'RepairWorkOrderDetail',
|
||||
dicts: ['dms_priority', 'dms_fault_type', 'dms_repair_type', 'dms_project_type', 'dms_material_type'],
|
||||
data() {
|
||||
return {
|
||||
isView: false,
|
||||
workOrderId: null,
|
||||
deviceList: [],
|
||||
form: {
|
||||
workOrderId: null,
|
||||
workOrderCode: null,
|
||||
faultInstanceId: null,
|
||||
deviceId: null,
|
||||
deviceCode: null,
|
||||
deviceName: null,
|
||||
faultType: null,
|
||||
faultDescription: null,
|
||||
repairType: null,
|
||||
priority: '3',
|
||||
planStartTime: null,
|
||||
planEndTime: null,
|
||||
repairNotes: null,
|
||||
needShutdown: '0',
|
||||
budgetCost: 0,
|
||||
repairHours: 0,
|
||||
repairProjects: [],
|
||||
repairMaterials: []
|
||||
},
|
||||
rules: {
|
||||
deviceId: [
|
||||
{ required: true, message: '请选择设备', trigger: 'change' }
|
||||
],
|
||||
faultType: [
|
||||
{ required: true, message: '请选择故障类型', trigger: 'change' }
|
||||
],
|
||||
repairType: [
|
||||
{ required: true, message: '请选择维修类型', trigger: 'change' }
|
||||
],
|
||||
priority: [
|
||||
{ required: true, message: '请选择优先级', trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const workOrderIdParam = this.$route.params && this.$route.params.workOrderId
|
||||
this.workOrderId = workOrderIdParam && workOrderIdParam !== 'new' ? workOrderIdParam : null
|
||||
this.isView = this.$route.query.view === 'true'
|
||||
this.loadDeviceList()
|
||||
if (this.workOrderId) {
|
||||
this.loadData()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/** 加载设备列表 */
|
||||
loadDeviceList() {
|
||||
getDeviceLedgerList({}).then(response => {
|
||||
this.deviceList = response.data || response.rows || []
|
||||
})
|
||||
},
|
||||
/** 加载数据 */
|
||||
loadData() {
|
||||
getRepairWorkOrder(this.workOrderId).then(response => {
|
||||
Object.assign(this.form, response.data)
|
||||
if (!this.form.repairProjects) this.form.repairProjects = []
|
||||
if (!this.form.repairMaterials) this.form.repairMaterials = []
|
||||
})
|
||||
},
|
||||
/** 设备改变 */
|
||||
handleDeviceChange(val) {
|
||||
const device = this.deviceList.find(d => (d.objId || d.deviceId) === val)
|
||||
if (device) {
|
||||
this.form.deviceId = device.objId || device.deviceId
|
||||
this.form.deviceCode = device.deviceCode
|
||||
this.form.deviceName = device.deviceName
|
||||
}
|
||||
},
|
||||
/** 选择故障报修 */
|
||||
selectFaultInstance() {
|
||||
if (this.isView) return
|
||||
this.$message.info('功能开发中...')
|
||||
},
|
||||
/** 添加工程 */
|
||||
handleAddProject() {
|
||||
this.form.repairProjects.push({
|
||||
projectSeq: this.form.repairProjects.length + 1,
|
||||
projectName: null,
|
||||
projectType: null,
|
||||
projectContent: null,
|
||||
technicalRequirement: null,
|
||||
planHours: 0,
|
||||
executionStatus: '0'
|
||||
})
|
||||
},
|
||||
/** 删除工程 */
|
||||
handleDeleteProject(index) {
|
||||
this.form.repairProjects.splice(index, 1)
|
||||
},
|
||||
/** 添加材料 */
|
||||
handleAddMaterial() {
|
||||
this.form.repairMaterials.push({
|
||||
materialCode: null,
|
||||
materialName: null,
|
||||
materialSpec: null,
|
||||
materialType: null,
|
||||
unit: null,
|
||||
planQuantity: 0,
|
||||
unitPrice: 0,
|
||||
totalAmount: 0,
|
||||
receiveStatus: '0'
|
||||
})
|
||||
},
|
||||
/** 删除材料 */
|
||||
handleDeleteMaterial(index) {
|
||||
this.form.repairMaterials.splice(index, 1)
|
||||
},
|
||||
/** 计算金额 */
|
||||
calculateAmount(row) {
|
||||
const amount = (row.planQuantity || 0) * (row.unitPrice || 0)
|
||||
row.totalAmount = amount
|
||||
return amount.toFixed(2)
|
||||
},
|
||||
/** 提交表单 */
|
||||
handleSubmit() {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.workOrderId) {
|
||||
updateRepairWorkOrder(this.form).then(() => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.goBack()
|
||||
})
|
||||
} else {
|
||||
addRepairWorkOrder(this.form).then(() => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.goBack()
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/** 返回 */
|
||||
goBack() {
|
||||
this.$router.back()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.repair-work-order-detail .card-title {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.footer-buttons {
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in New Issue