Просмотр исходного кода

feat:修改实时报警界面弹窗内容

xiayu3 лет назад: 4
Родитель
Сommit
52e813040e
1 измененных файлов с 103 добавлено и 35 удалено
  1. 103 35
      ebc-middle-platform/src/modules/system-management/terminal-management.vue

+ 103 - 35
ebc-middle-platform/src/modules/system-management/terminal-management.vue

@ -97,37 +97,35 @@
97 97
        <t-button class="submit-button" @click="submit">保存</t-button>
98 98
      </div>
99 99
    </t-modal>
100
    <t-modal :visibled.sync="relevance" title="关联用户" >
100
    <t-modal :visibled.sync="relevance" title="关联用户">
101 101
      <div>
102 102
        <t-form ref="relevanceValidate" :model="relevanceValidate" :rules="relevanceRuleValidate" :label-width="80" label-position="left">
103 103
          <t-form-item label="终端编号" prop="number">
104 104
            <div>ZDBH002</div>
105 105
          </t-form-item>
106
          <t-form-item label="关联类型" prop="type">
107
            <t-radio-group v-model="relevanceValidate.type">
108
              <t-radio value="0" label="用户"></t-radio>
109
              <t-radio value="1" label="船舶"></t-radio>
106
          <t-form-item label="关联类型">
107
            <t-radio-group v-model="relevanceValidate.type" @change="userConectChanged()">
108
              <t-radio v-for="(item,index) in radioList" :value="item.value" :key="index" :label="item.label"></t-radio>
110 109
            </t-radio-group>
111 110
          </t-form-item>
112
          <t-form-item label="关联用户" prop="user">
111
          <t-form-item v-for="(item,index) in itemList" v-show="item.isShow" :key="index" :label="connectName" prop="user">
113 112
            <div class="row">
114 113
              <div class="col-9">
115
                <t-form-item>
116
                  <t-select v-model="relevanceValidate.user" placeholder="请选择">
117
                    <t-option>张三</t-option>
118
                    <t-option>李四</t-option>
119
                  </t-select>
120
                </t-form-item>
114
                <t-select v-model="relevanceValidate.user" placeholder="请选择">
115
                  <t-option v-for="(todo,index) in item.goList" :key="index" :value="todo.value">{{ todo.name }}</t-option>
116
                </t-select>
121 117
              </div>
122 118
              <div class="col-3">
123
                <t-form-item>
124
                  <t-button>新增</t-button>
125
                </t-form-item>
119
                <t-button @click="goUserManagement()">新增</t-button>
126 120
              </div>
127 121
            </div>
128 122
          </t-form-item>
129 123
        </t-form>
130 124
      </div>
125
      <div slot="footer">
126
        <t-button @click="cancelUserModal">取消</t-button>
127
        <t-button color="primary" @click="confirmUserModal">确定</t-button>
128
      </div>
131 129
    </t-modal>
132 130
  </div>
133 131
</template>
@ -141,6 +139,44 @@ export default {
141 139
        relevance: false,
142 140
        unrelevance: false
143 141
      },
142
      radioList: [
143
        {value: '1', label: '用户'},
144
        {value: '2', label: '船舶'}
145
      ],
146
      itemList: [
147
        {
148
          isRadio: '1',
149
          isShow: true,
150
          goList: [
151
            {
152
              name: '张三',
153
              value: '0'
154
            },
155
            {
156
              name: '李四',
157
              value: '2'
158
            },
159
            {
160
              name: '用户',
161
              value: '1'
162
            }
163
          ]
164
        },
165
        {
166
          isRadio: '2',
167
          isShow: false,
168
          goList: [
169
            {
170
              name: '张三',
171
              value: '0'
172
            },
173
            {
174
              name: '船舶',
175
              value: '1'
176
            }
177
          ]
178
        }
179
      ],
144 180
      table: {
145 181
        data: [
146 182
          {
@ -175,6 +211,7 @@ export default {
175 211
        type: '',
176 212
        alarmPerson: ''
177 213
      },
214
      connectName: '关联用户',
178 215
      rangeDate: '',
179 216
      modal: false,
180 217
      formValidate: {
@ -212,27 +249,30 @@ export default {
212 249
      },
213 250
      relevanceRuleValidate: {
214 251
        user: [
215
          {
216
            required: true,
217
            message: '编号不能为空',
218
            trigger: 'blur'
219
          },
220
          {
221
            message: '张三已关联终端ZDBH001,点击保存更改关联关系',
222
            trigger: 'blur',
223
            validator: function(rule, value, callback) {
224
              if (!/^[a-zA-Z0-9-_#]+$/.test(value)) {
225
                callback(rule.message)
226
              } else {
227
                // TODO 判断编号重复
228
                if (true) {
229
                  rule.message = '编号重复'
230
                  callback(rule.message)
231
                }
232
              }
233
            }
234
          }
252
          { required: true, message: '请选择读写类型', trigger: 'change' }
235 253
        ]
254
        // user: [
255
        //   {
256
        //     required: true,
257
        //     message: '编号不能为空',
258
        //     trigger: 'blur'
259
        //   },
260
        //   {
261
        //     message: '张三已关联终端ZDBH001,点击保存更改关联关系',
262
        //     trigger: 'blur',
263
        //     validator: function(rule, value, callback) {
264
        //       if (!/^[a-zA-Z0-9-_#]+$/.test(value)) {
265
        //         callback(rule.message)
266
        //       } else {
267
        //         // TODO 判断编号重复
268
        //         if (true) {
269
        //           rule.message = '编号重复'
270
        //           callback(rule.message)
271
        //         }
272
        //       }
273
        //     }
274
        //   }
275
        // ]
236 276
      }
237 277
    }
238 278
  },
@ -241,6 +281,34 @@ export default {
241 281
    this.table.pager.total = this.table.data.length
242 282
  },
243 283
  methods: {
284
    cancelUserModal() {
285
      this.relevance = false
286
      this.$refs['relevanceValidate'].resetFields()
287
    },
288
    confirmUserModal() {
289
      this.$refs['relevanceValidate'].validate(valid => {
290
        if (valid) {
291
          this.relevance = false
292
        }
293
      })
294
    },
295
    goUserManagement () {
296
      this.$router.push({path: '../system-management/user-management'})
297
      this.relevance = false
298
    },
299
    userConectChanged() {
300
      this.itemList.forEach(element => {
301
        if (element.isRadio === this.relevanceValidate.type) {
302
          this.radioList.forEach(todo => {
303
            this.relevanceValidate.user = ''
304
            if (todo.value === this.relevanceValidate.type) {
305
              this.connectName = '关联' + todo.label
306
            }
307
          })
308
          element.isShow = true
309
        } else { element.isShow = false }
310
      })
311
    },
244 312
    changeType(type) {
245 313
      Object.keys(this.relevanceType).forEach((value, key) => {
246 314
        this.relevanceType[value] = value === type