1
HuBingJie
9 天以前 28110912ca4803e5793f181517d7bf2d7a5ea2ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<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>