diff --git a/src/api/signal/signal.js b/src/api/signal/signal.js index 4bb8b54..5d88dea 100644 --- a/src/api/signal/signal.js +++ b/src/api/signal/signal.js @@ -60,9 +60,10 @@ export function optionDel(id) { } // 获取选项下拉 -export function select() { +export function select(params) { return request({ url: '/system/signal/select', method: 'get', + params }) } \ No newline at end of file diff --git a/src/views/signal/signalList/index.vue b/src/views/signal/signalList/index.vue index 94fcc56..f8d552e 100644 --- a/src/views/signal/signalList/index.vue +++ b/src/views/signal/signalList/index.vue @@ -42,7 +42,8 @@ - + + @@ -50,8 +51,12 @@ + + @@ -70,7 +75,13 @@ - + + + + + + + @@ -82,12 +93,48 @@ + + + + + +
+ + + + + + + + + + + + + + + + + + 移除 + + +
+
+ +
@@ -101,7 +148,7 @@ export default { ids: [], // 表格数据 tableData: [], - // 显示搜索条件 + // 显示搜索条件 showSearch: true, // 总条数 total: 0, @@ -116,6 +163,10 @@ export default { pageNum: 1, pageSize: 10 }, + statusList: [ + { 'label': '无选项', 'value': 1 }, + { 'label': '有选项', 'value': 2 } + ], rules: { signalCode: [ { required: true, message: "信号编码不能为空", trigger: "blur" }, @@ -123,13 +174,22 @@ export default { signalName: [ { required: true, message: "信号名称不能为空", trigger: "blur" }, ], + status: [ + { required: true, message: "信号选项类型不能为空", trigger: "blur" }, + ], signalValue: [ { required: true, message: "信号量不能为空", trigger: "blur" }, ], signalValueRange: [ { required: true, message: "信号量范围不能为空", trigger: "blur" }, - ] + ], }, + optionOpen: false, + optionForm: { + signalName: '', + signalCode: '', + optionList: [], + } } }, created () { @@ -160,6 +220,49 @@ export default { this.open = true; this.title = "添加信号"; }, + handleOptionUpdate (row) { + this.optionOpen = true; + this.resetForm("optionForm"); + this.optionForm.optionList = [{ 'optionName': '', 'optionVal': '', 'signalValueRange': '' }]; + this.optionForm.signalCode = row.signalCode; + this.optionForm.signalName = row.signalName; + select({ signalCode: row.signalCode }).then(res => { + if (200 == res.code) { + this.optionForm.optionList.unshift(...res.select); + } else { + this.msgError(res.msg); + } + }) + }, + removeOption (option) { + let index = this.optionForm.optionList.indexOf(option); + if (index !== -1) { + this.optionForm.optionList.splice(index, 1); + } + }, + addOption () { + this.optionForm.optionList.push({ 'optionName': '', 'optionVal': '', 'signalValueRange': '' }); + }, + submitOption () { + this.$refs.optionForm.validate((valid) => { + if (valid) { + if (this.optionForm.optionList.length == 0) return; + let snap = new Set(this.optionForm.optionList.map(v => v.optionVal)); + if ( this.optionForm.optionList.length != snap.size) { + this.msgError('选项值不能重复'); + return; + } + optionSave(this.optionForm).then(({ code, msg }) => { + if (200 == code) { + this.optionOpen = false; + this.msgSuccess(msg); + } else { + this.msgError(msg) + } + }) + } + }) + }, /** 修改按钮操作 */ handleUpdate (row) { this.reset(); @@ -169,9 +272,13 @@ export default { }, /** 提交按钮 */ submit () { - save(this.form).then(res => { - this.open = false; - this.getList() + this.$refs.form.validate((valid) => { + if (valid) { + save(this.form).then(res => { + this.open = false; + this.getList() + }) + } }) }, /** 删除按钮操作 */