<template>
|
<div>
|
<vol-box
|
v-model="visible"
|
:lazy="true"
|
width="500px"
|
:padding="15"
|
title="任务异常完成"
|
>
|
<el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
|
<el-form-item label="任务号">
|
<el-input v-model="form.taskNum" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="异常站台" prop="station">
|
<el-select v-model="form.station" placeholder="请选择异常站台">
|
<el-option :label="'1001'" :value="'1001'"></el-option>
|
<el-option :label="'1002'" :value="'1002'"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="异常信息" prop="message">
|
<el-input
|
v-model="form.message"
|
type="textarea"
|
:rows="3"
|
placeholder="请输入异常信息"
|
></el-input>
|
</el-form-item>
|
</el-form>
|
<template #footer>
|
<div style="text-align:right">
|
<el-button @click="visible=false">取 消</el-button>
|
<el-button type="primary" @click="submit" :loading="submitting">提 交</el-button>
|
</div>
|
</template>
|
</vol-box>
|
</div>
|
</template>
|
|
<script>
|
import VolBox from '@/components/basic/VolBox.vue'
|
|
export default {
|
name: 'AbnormalFinishDialog',
|
components: { VolBox },
|
data() {
|
return {
|
visible: false,
|
submitting: false,
|
form: {
|
taskNum: '',
|
station: '',
|
message: ''
|
},
|
rules: {
|
station: [{ required: true, message: '请选择异常站台', trigger: 'change' }],
|
message: [{ required: true, message: '请输入异常信息', trigger: 'blur' }]
|
},
|
$parentVue: null
|
}
|
},
|
methods: {
|
// 打开对话框,传入任务号
|
open(taskNum) {
|
this.form.taskNum = taskNum
|
this.form.station = ''
|
this.form.message = ''
|
this.visible = true
|
// 拿到父组件实例,方便提交成功后刷新
|
this.$emit('parentCall', ($vue) => {
|
this.$parentVue = $vue
|
})
|
},
|
submit() {
|
this.$refs.formRef.validate((valid) => {
|
if (!valid) return
|
this.submitting = true
|
// 接口路径先随便写(按用户要求),后续你可替换为真实地址
|
const url = 'api/Task/AbnormalComplete'
|
const payload = {
|
taskNum: this.form.taskNum,
|
station: this.form.station,
|
message: this.form.message
|
}
|
this.http
|
.post(url, payload, '数据处理中...')
|
.then((res) => {
|
if (res && res.status) {
|
this.$message.success(res.message || '提交成功')
|
this.visible = false
|
if (this.$parentVue && this.$parentVue.search) {
|
this.$parentVue.search()
|
}
|
} else {
|
this.$message.error(res.message || '提交失败')
|
}
|
})
|
.catch(() => {
|
this.$message.error('请求失败,请稍后重试')
|
})
|
.finally(() => {
|
this.submitting = false
|
})
|
})
|
}
|
}
|
}
|
</script>
|