doum
3 天以前 078a5c4ced367fdbd5a16c27c8bada6e44e632d5
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<template>
  <GlobalWindow :title="title" width="50%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="月台名称:">
        <span>{{ form.name }}</span>
      </el-form-item>
      <el-form-item label="月台编码:" prop="code">
        <el-input v-model="form.code" placeholder="请输入月台编码" v-trim />
        <span class="tip-warn"><i class="el-icon-warning"></i>说明:对应WMS系统中的编码</span>
      </el-form-item>
      <el-form-item label="所属月台分组:" prop="groupId">
        <el-select v-model="form.groupId">
          <el-option v-for="item in groupList" :key="item.id" :label="item.name" :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="月台类型" prop="type" >
        <el-radio-group v-model="form.type" >
          <el-radio :label="0">整托盘</el-radio>
          <el-radio :label="1">散件</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="广播设备:" prop="broadcastIds">
        <el-select v-model="form.broadcastIds" multiple>
          <el-option v-for="item in broadcastList" :key="item.id" :label="item.name" :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="LED设备:" prop="ledIds">
        <el-select v-model="form.ledIds" multiple>
          <el-option v-for="item in ledList" :key="item.id" :label="item.name" :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="LED空闲文案:" prop="ledContent">
        <el-input type="text" v-model="form.ledContent" placeholder="请输入LED空闲文案" v-trim />
      </el-form-item>
      <el-form-item label="同时叫号数量:" prop="workingNum">
        <el-input type="number" v-model="form.workingNum" placeholder="请输入同时叫号数量" v-trim />
      </el-form-item>
      <el-form-item label="同时准备数量:" prop="callReadyNum">
        <el-input type="number" v-model="form.callReadyNum" placeholder="请输入同时准备数量" v-trim />
      </el-form-item>
      <el-form-item label="月台作业效率(万支/小时):" prop="workRate">
        <el-input type="number" v-model="form.workRate" placeholder="请输入月台作业效率(万支/小时)" v-trim />
      </el-form-item>
      <el-form-item label="作业超时报警时间(分钟):" prop="workTimeoutAlarmTime">
        <el-input type="number" v-model="form.workTimeoutAlarmTime" placeholder="请输入作业超时报警时间(分钟)" v-trim />
      </el-form-item>
      <el-form-item label="停留超时报警时间(分钟):" prop="stayTimeoutAlarmTime">
        <el-input type="number" v-model="form.stayTimeoutAlarmTime" placeholder="请输入停留超时报警时间(分钟)" v-trim />
      </el-form-item>
      <el-form-item label="排序码" prop="sortnum">
        <el-input type="number" v-model="form.sortnum" placeholder="请输入排序码" v-trim />
      </el-form-item>
    </el-form>
  </GlobalWindow>
</template>
 
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { numRuleGtZero } from '@/utils/form'
import { allList } from '@/api/platform/platformGroup'
import { getList as deviceList } from '@/api/business/device'
export default {
  name: 'OperaPlatformWindow',
  extends: BaseOpera,
  components: { GlobalWindow },
  data() {
    return {
      // 表单数据
      groupList: [],
      broadcastList: [],
      ledList: [],
      form: {
        id: null,
        ledIds: null,
        type:0,
        broadcastIds: null,
        name: '',
        code: '',
        groupId: '',
        startTime: '',
        endTime: '',
        workingNum: 1,
        同时作业数量: 0,
        ledContent: '',
        workRate: '',
        stayTimeoutAlarmTime: '',
        workTimeoutAlarmTime: '',
        sortnum: ''
      },
      // 验证规则
      rules: {
        workingNum: [{ required: true, validator: numRuleGtZero, message: '请输入同时叫号数量,必须大于0! ', trigger: 'blur' }],
        type: [{ required: true, message: '月台类型不能为空!', trigger: 'blur' }],
        sortnum: [{ required: true, message: '排序码不能为空!', trigger: 'blur' }]
      }
    }
  },
  created() {
    this.config({
      api: '/platform/platform',
      'field.id': 'id'
    })
  },
  methods: {
    /**
     * 打开窗口
     * @title 窗口标题
     * @target 编辑的对象
     */
    open(title, target) {
      this.title = title
      this.visible = true
      this.loadGroupList()
      this.loadLedList()
      this.loadBroadcastList()
      // 新建
      if (target == null) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
          this.form.company = []
        })
        return
      }
      // 编辑
      this.$nextTick(() => {
        for (const key in this.form) {
          this.form[key] = target[key]
        }
        this.form.workingNum = this.form.workingNum || 1
      })
    },
    loadGroupList() {
      allList({})
        .then(res => {
          this.groupList = res || []
        })
    },
    loadLedList() {
      deviceList({ type: 2, isdeleted: 0 })
        .then(res => {
          this.ledList = res || []
        })
    },
    loadBroadcastList() {
      deviceList({ type: 3, isdeleted: 0 })
        .then(res => {
          this.broadcastList = res || []
        })
    }
  }
}
</script>
<style scoped>
.labelTip {
  font-size: 12px;
  color: #666666;
}
</style>