|
@@ -78,31 +78,32 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
+ <!-- 克隆 -->
|
|
|
<el-dialog
|
|
|
- v-model="dialogVisible"
|
|
|
+ v-model="cloneDialog"
|
|
|
title="变量克隆"
|
|
|
- width="30%"
|
|
|
- :before-close="handleClose"
|
|
|
+ width="30rem"
|
|
|
+ :before-close="cloneHandleClose"
|
|
|
>
|
|
|
<div class="dialogOne">
|
|
|
<div>克隆设备对象: <span>183</span></div>
|
|
|
<div class="content">
|
|
|
<span>* </span>变量克隆至:
|
|
|
- <el-radio v-model="radio1" label="1">新设备</el-radio>
|
|
|
- <el-radio v-model="radio1" label="2">已有设备</el-radio>
|
|
|
+ <el-radio v-model="cloneRadio" label="1">新设备</el-radio>
|
|
|
+ <el-radio v-model="cloneRadio" label="2">已有设备</el-radio>
|
|
|
</div>
|
|
|
<div class="content">
|
|
|
<span>* </span>设备名:
|
|
|
<el-input
|
|
|
class="inputer"
|
|
|
- v-model="inputName"
|
|
|
+ v-model="cloneInputName"
|
|
|
placeholder="请输入设备名"
|
|
|
clearable
|
|
|
/>
|
|
|
设备编号:
|
|
|
<el-input
|
|
|
class="inputer"
|
|
|
- v-model="inputCode"
|
|
|
+ v-model="cloneInputCode"
|
|
|
placeholder="请输入设备编号"
|
|
|
clearable
|
|
|
/>
|
|
@@ -111,14 +112,14 @@
|
|
|
<span>* </span>模拟量:
|
|
|
<el-input
|
|
|
class="inputer"
|
|
|
- v-model="inputName"
|
|
|
+ v-model="cloneInputModel"
|
|
|
placeholder="请输入模拟量"
|
|
|
clearable
|
|
|
/>
|
|
|
状态量:
|
|
|
<el-input
|
|
|
class="inputer"
|
|
|
- v-model="inputCode"
|
|
|
+ v-model="cloneInputState"
|
|
|
placeholder="请输入状态量"
|
|
|
clearable
|
|
|
/>
|
|
@@ -127,14 +128,46 @@
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
|
<el-checkbox
|
|
|
- v-model="checked1"
|
|
|
+ v-model="cloneChecked"
|
|
|
label="连续克隆模式"
|
|
|
style="margin-right: 10px"
|
|
|
></el-checkbox>
|
|
|
- <el-button @click="dialogVisible = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="dialogVisible = false"
|
|
|
- >确定</el-button
|
|
|
- >
|
|
|
+ <el-button @click="cloneDialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="cloneDialog = false">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 变量列表 -->
|
|
|
+ <el-dialog
|
|
|
+ v-model="listDialog"
|
|
|
+ :title="listTitleDialog + '的变量列表'"
|
|
|
+ width="70rem"
|
|
|
+ :before-close="listHandleClose"
|
|
|
+ >
|
|
|
+ <div class="dialogOne">
|
|
|
+ <el-radio-group
|
|
|
+ v-model="listTabPosition"
|
|
|
+ @change="listTabsChange(listTabPosition)"
|
|
|
+ style="margin-bottom: 30px"
|
|
|
+ >
|
|
|
+ <el-radio-button label="model">模拟量</el-radio-button>
|
|
|
+ <el-radio-button label="state">状态量</el-radio-button>
|
|
|
+ <el-radio-button label="parameter">参数量</el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
+ <el-button
|
|
|
+ class="search-button"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ type="success"
|
|
|
+ @click="addItem()"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+
|
|
|
+ <el-button type="primary" icon="el-icon-delete">删除</el-button>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="listDialog = false">关闭</el-button>
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
@@ -144,15 +177,55 @@
|
|
|
import { defineComponent, ref, Ref } from "vue";
|
|
|
import { ElMessageBox } from "element-plus";
|
|
|
|
|
|
-interface PowerEquipData {
|
|
|
- deviceNumData: Ref;
|
|
|
- dialogVisible: Ref<boolean>;
|
|
|
- checked1: Ref<boolean>;
|
|
|
- handleClose: (done: any) => void;
|
|
|
- radio1: Ref;
|
|
|
- inputName: Ref;
|
|
|
- inputCode: Ref;
|
|
|
-}
|
|
|
+// interface PowerEquipData {
|
|
|
+// cloneDialog: Ref<boolean>; //克隆弹窗控制
|
|
|
+// cloneChecked: Ref<boolean>; //克隆复选框控制
|
|
|
+// cloneRadio: Ref; //克隆单选框控制
|
|
|
+// cloneHandleClose: (done: any) => void; //克隆弹窗控制方法回调
|
|
|
+// cloneInputName: Ref; //克隆input
|
|
|
+// cloneInputCode: Ref; //克隆input
|
|
|
+
|
|
|
+// listDialog: Ref<boolean>; //变量列表弹窗控制
|
|
|
+// listHandleClose: (done: any) => void; //克隆弹窗控制方法回调
|
|
|
+// }
|
|
|
+
|
|
|
+//克隆弹窗基础数据定义
|
|
|
+const cloneData = () => {
|
|
|
+ const cloneDialog = ref(false); //克隆弹窗控制
|
|
|
+ const cloneChecked = ref(false); //克隆复选框控制
|
|
|
+ const cloneRadio = ref("1"); //克隆单选框控制
|
|
|
+ const cloneInputName = ref(""); //克隆input名
|
|
|
+ const cloneInputCode = ref(""); //克隆input编号
|
|
|
+ const cloneInputModel = ref(""); //克隆input模拟量
|
|
|
+ const cloneInputState = ref(""); //克隆input状态量
|
|
|
+
|
|
|
+ //克隆弹窗控制方法回调
|
|
|
+ const cloneHandleClose = (done) => {
|
|
|
+ done();
|
|
|
+ // ElMessageBox.confirm("确定要关闭弹出?").then(() => { done();}).catch(() => {// catch error});
|
|
|
+ };
|
|
|
+ return {
|
|
|
+ cloneDialog,
|
|
|
+ cloneChecked,
|
|
|
+ cloneRadio,
|
|
|
+ cloneInputName,
|
|
|
+ cloneInputCode,
|
|
|
+ cloneHandleClose,
|
|
|
+ cloneInputModel,
|
|
|
+ cloneInputState,
|
|
|
+ };
|
|
|
+};
|
|
|
+//变量列表弹窗基础数据定义
|
|
|
+const listData = () => {
|
|
|
+ const listDialog = ref(false);
|
|
|
+ const listTitleDialog = ref();
|
|
|
+ const listHandleClose = (done) => {
|
|
|
+ done();
|
|
|
+ };
|
|
|
+ const listTabPosition = ref("model");
|
|
|
+
|
|
|
+ return { listDialog, listHandleClose, listTitleDialog, listTabPosition };
|
|
|
+};
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: "powerEquip",
|
|
@@ -164,36 +237,42 @@ export default defineComponent({
|
|
|
data() {
|
|
|
return {};
|
|
|
},
|
|
|
- setup(): PowerEquipData {
|
|
|
- const deviceNumData = ref([]);
|
|
|
- const dialogVisible = ref(false);
|
|
|
- const checked1 = ref(false);
|
|
|
- const radio1 = ref("1");
|
|
|
- const inputName = ref("");
|
|
|
- const inputCode = ref("");
|
|
|
+ setup() {
|
|
|
+ const {
|
|
|
+ cloneDialog,
|
|
|
+ cloneChecked,
|
|
|
+ cloneRadio,
|
|
|
+ cloneInputName,
|
|
|
+ cloneInputCode,
|
|
|
+ cloneHandleClose,
|
|
|
+ cloneInputModel,
|
|
|
+ cloneInputState,
|
|
|
+ } = cloneData();
|
|
|
|
|
|
- const handleClose = (done) => {
|
|
|
- done();
|
|
|
- // ElMessageBox.confirm("确定要关闭弹出?")
|
|
|
- // .then(() => {
|
|
|
- // done();
|
|
|
- // })
|
|
|
- // .catch(() => {
|
|
|
- // // catch error
|
|
|
- // });
|
|
|
- };
|
|
|
+ const { listDialog, listHandleClose, listTitleDialog, listTabPosition } =
|
|
|
+ listData();
|
|
|
|
|
|
return {
|
|
|
- deviceNumData,
|
|
|
- dialogVisible,
|
|
|
- checked1,
|
|
|
- handleClose,
|
|
|
- radio1,
|
|
|
- inputName,
|
|
|
- inputCode,
|
|
|
+ cloneDialog,
|
|
|
+ cloneChecked,
|
|
|
+ cloneHandleClose,
|
|
|
+ cloneRadio,
|
|
|
+ cloneInputName,
|
|
|
+ cloneInputCode,
|
|
|
+ cloneInputModel,
|
|
|
+ cloneInputState,
|
|
|
+
|
|
|
+ listDialog,
|
|
|
+ listHandleClose,
|
|
|
+ listTitleDialog,
|
|
|
+ listTabPosition,
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
+ //变量列表弹窗tabs切换change事件
|
|
|
+ listTabsChange(value) {
|
|
|
+ console.log(value);
|
|
|
+ },
|
|
|
//编辑
|
|
|
editRow(row) {
|
|
|
console.log(row);
|
|
@@ -204,11 +283,13 @@ export default defineComponent({
|
|
|
},
|
|
|
//变量列表
|
|
|
variableList(row) {
|
|
|
+ this.listTitleDialog = 183;
|
|
|
+ this.listDialog = true;
|
|
|
console.log(row);
|
|
|
},
|
|
|
//克隆
|
|
|
clone(index, row) {
|
|
|
- this.dialogVisible = true;
|
|
|
+ this.cloneDialog = true;
|
|
|
console.log(index, row);
|
|
|
},
|
|
|
// 表头样式设置
|