|
@@ -1,18 +1,28 @@
|
|
<template>
|
|
<template>
|
|
<div class="component-container">
|
|
<div class="component-container">
|
|
<div class="filter-container">
|
|
<div class="filter-container">
|
|
|
|
+ <!-- 添加变量列表 -->
|
|
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="openDialog('create')"> 添加变量列表 </el-button>
|
|
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="openDialog('create')"> 添加变量列表 </el-button>
|
|
</div>
|
|
</div>
|
|
<el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row style="width: 100%">
|
|
<el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row style="width: 100%">
|
|
|
|
+ <!-- 序号 -->
|
|
<el-table-column label="序号" type="index" width="60" align="center" />
|
|
<el-table-column label="序号" type="index" width="60" align="center" />
|
|
|
|
+ <!-- 变量名 -->
|
|
<el-table-column label="变量名" prop="title" align="center" show-overflow-tooltip min-width="180" />
|
|
<el-table-column label="变量名" prop="title" align="center" show-overflow-tooltip min-width="180" />
|
|
|
|
+ <!-- 变量编码 -->
|
|
<el-table-column label="变量编码" prop="dataAttribName" align="center" />
|
|
<el-table-column label="变量编码" prop="dataAttribName" align="center" />
|
|
|
|
+ <!-- 数据地址 -->
|
|
<el-table-column label="数据地址" prop="dataAddressTitle" align="center" />
|
|
<el-table-column label="数据地址" prop="dataAddressTitle" align="center" />
|
|
|
|
+ <!-- 系数 -->
|
|
<el-table-column label="系数" prop="dataCoef" align="center" />
|
|
<el-table-column label="系数" prop="dataCoef" align="center" />
|
|
|
|
+ <!-- 存盘周期 -->
|
|
<el-table-column label="存盘周期" prop="saveCycle" align="center" />
|
|
<el-table-column label="存盘周期" prop="saveCycle" align="center" />
|
|
|
|
+ <!-- 操作 -->
|
|
<el-table-column label="操作" align="center" width="180">
|
|
<el-table-column label="操作" align="center" width="180">
|
|
<template #default="{ row, $index }">
|
|
<template #default="{ row, $index }">
|
|
|
|
+ <!-- 修改 -->
|
|
<el-button type="primary" size="small" @click="handleUpdate(row)"> 修改 </el-button>
|
|
<el-button type="primary" size="small" @click="handleUpdate(row)"> 修改 </el-button>
|
|
|
|
+ <!-- 删除 -->
|
|
<el-button v-if="row.status != 'deleted'" size="small" type="danger" @click="handleDelete(row, $index)"> 删除 </el-button>
|
|
<el-button v-if="row.status != 'deleted'" size="small" type="danger" @click="handleDelete(row, $index)"> 删除 </el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -23,78 +33,104 @@
|
|
<el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="95px">
|
|
<el-form ref="dataForm" :rules="rules" :model="temp" label-position="right" label-width="95px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 变量名称 -->
|
|
<el-form-item label="变量名称" prop="title">
|
|
<el-form-item label="变量名称" prop="title">
|
|
|
|
+ <!-- 请输入变量名称 -->
|
|
<el-input v-model="temp.title" placeholder="请输入变量名称" />
|
|
<el-input v-model="temp.title" placeholder="请输入变量名称" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 变量编码 -->
|
|
<el-form-item label="变量编码" prop="dataAttribName">
|
|
<el-form-item label="变量编码" prop="dataAttribName">
|
|
|
|
+ <!-- 请输入变量编码 -->
|
|
<el-input v-model="temp.dataAttribName" placeholder="请输入变量编码" />
|
|
<el-input v-model="temp.dataAttribName" placeholder="请输入变量编码" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 单位 -->
|
|
<el-form-item label="单位" prop="unit">
|
|
<el-form-item label="单位" prop="unit">
|
|
|
|
+ <!-- 请输入单位 -->
|
|
<el-input v-model="temp.unit" placeholder="请输入单位" />
|
|
<el-input v-model="temp.unit" placeholder="请输入单位" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
+ <!-- 数据来源 -->
|
|
<div class="label">数据来源</div>
|
|
<div class="label">数据来源</div>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8" v-if="mode === 1">
|
|
<el-col :span="8" v-if="mode === 1">
|
|
|
|
+ <!-- 数据区 -->
|
|
<el-form-item label="数据区" prop="area">
|
|
<el-form-item label="数据区" prop="area">
|
|
|
|
+ <!-- 请选择数据区 -->
|
|
<el-select v-model="temp.area" placeholder="请选择数据区" filterable @change="handleAreaChange" style="width: 100%">
|
|
<el-select v-model="temp.area" placeholder="请选择数据区" filterable @change="handleAreaChange" style="width: 100%">
|
|
<el-option v-for="(item, index) in dataAreaOptions" :key="index" :label="item.name" :value="item.name" />
|
|
<el-option v-for="(item, index) in dataAreaOptions" :key="index" :label="item.name" :value="item.name" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" v-if="mode === 1">
|
|
<el-col :span="8" v-if="mode === 1">
|
|
|
|
+ <!-- 数据地址 -->
|
|
<el-form-item label="数据地址" prop="dataAddress">
|
|
<el-form-item label="数据地址" prop="dataAddress">
|
|
|
|
+ <!-- 请选择数据地址 -->
|
|
<el-select v-model="temp.dataAddress" placeholder="请选择数据地址" filterable class="filter-item" @change="handleSelectChange" style="width: 100%">
|
|
<el-select v-model="temp.dataAddress" placeholder="请选择数据地址" filterable class="filter-item" @change="handleSelectChange" style="width: 100%">
|
|
<el-option v-for="(item, index) in dataAddressOptions" :key="index" :label="item.title" :value="item.value" />
|
|
<el-option v-for="(item, index) in dataAddressOptions" :key="index" :label="item.title" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" v-if="mode === 0">
|
|
<el-col :span="8" v-if="mode === 0">
|
|
|
|
+ <!-- 数据地址 -->
|
|
<el-form-item label="数据地址" prop="dataAddress">
|
|
<el-form-item label="数据地址" prop="dataAddress">
|
|
|
|
+ <!-- 请输入数据地址 -->
|
|
<el-input v-model="temp.dataAddress" placeholder="请输入数据地址" />
|
|
<el-input v-model="temp.dataAddress" placeholder="请输入数据地址" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 数据类型 -->
|
|
<el-form-item label="数据类型" prop="dataType">
|
|
<el-form-item label="数据类型" prop="dataType">
|
|
|
|
+ <!-- 请选择数据类型 -->
|
|
<el-select v-model="temp.dataType" placeholder="请选择数据类型" filterable style="width: 100%">
|
|
<el-select v-model="temp.dataType" placeholder="请选择数据类型" filterable style="width: 100%">
|
|
<el-option v-for="(item, index) in dataTypeOptions" :key="index" :label="item.title" :value="item.value" />
|
|
<el-option v-for="(item, index) in dataTypeOptions" :key="index" :label="item.title" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
+ <!-- 数据处理 -->
|
|
<div class="label">数据处理</div>
|
|
<div class="label">数据处理</div>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 初始值 -->
|
|
<el-form-item label="初始值" prop="dataInitial">
|
|
<el-form-item label="初始值" prop="dataInitial">
|
|
|
|
+ <!-- 请输入 -->
|
|
<el-input v-model="temp.dataInitial" placeholder="请输入" />
|
|
<el-input v-model="temp.dataInitial" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 基值 -->
|
|
<el-form-item label="基值" prop="dataBaseline">
|
|
<el-form-item label="基值" prop="dataBaseline">
|
|
|
|
+ <!-- 请输入 -->
|
|
<el-input v-model="temp.dataBaseline" placeholder="请输入" />
|
|
<el-input v-model="temp.dataBaseline" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 系数 -->
|
|
<el-form-item label="系数" prop="dataCoef">
|
|
<el-form-item label="系数" prop="dataCoef">
|
|
|
|
+ <!-- 请输入 -->
|
|
<el-input v-model="temp.dataCoef" placeholder="请输入" />
|
|
<el-input v-model="temp.dataCoef" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
|
+ <!-- 存盘周期 -->
|
|
<el-form-item label="存盘周期" prop="saveCycle">
|
|
<el-form-item label="存盘周期" prop="saveCycle">
|
|
|
|
+ <!-- 请输入 -->
|
|
<el-input v-model="temp.saveCycle" placeholder="请输入" />
|
|
<el-input v-model="temp.saveCycle" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer class="dialog-footer">
|
|
<template #footer class="dialog-footer">
|
|
|
|
+ <!-- 取消 -->
|
|
<el-button @click="closeDialog"> 取 消 </el-button>
|
|
<el-button @click="closeDialog"> 取 消 </el-button>
|
|
|
|
+ <!-- 保存 -->
|
|
<el-button type="primary" @click="dialogStatus === 'create' ? createData() : updateData()"> 保 存 </el-button>
|
|
<el-button type="primary" @click="dialogStatus === 'create' ? createData() : updateData()"> 保 存 </el-button>
|
|
</template>
|
|
</template>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
@@ -199,6 +235,7 @@ export default {
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
handleDelete(row: any) {
|
|
handleDelete(row: any) {
|
|
|
|
+ // 是否确认删除变量名称为"' + row.title + '"的数据项?
|
|
this.$confirm('是否确认删除变量名称为"' + row.title + '"的数据项?', '警告', {
|
|
this.$confirm('是否确认删除变量名称为"' + row.title + '"的数据项?', '警告', {
|
|
confirmButtonText: '确定',
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
@@ -209,6 +246,7 @@ export default {
|
|
})
|
|
})
|
|
.then(() => {
|
|
.then(() => {
|
|
this.getList();
|
|
this.getList();
|
|
|
|
+ // 删除成功
|
|
this.msgSuccess('删除成功');
|
|
this.msgSuccess('删除成功');
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -265,6 +303,7 @@ export default {
|
|
api.data.editDeviceTemplate(tempData).then(() => {
|
|
api.data.editDeviceTemplate(tempData).then(() => {
|
|
this.handleFilter();
|
|
this.handleFilter();
|
|
this.closeDialog();
|
|
this.closeDialog();
|
|
|
|
+ // 操作成功!
|
|
ElMessage.success('操作成功!');
|
|
ElMessage.success('操作成功!');
|
|
});
|
|
});
|
|
}
|
|
}
|