|
@@ -14,60 +14,60 @@
|
|
|
:rules="rules"
|
|
|
>
|
|
|
<el-form-item label="设备编号:" prop="deviceCode">
|
|
|
- <el-input v-model="form.watchCode"></el-input>
|
|
|
+ <el-input v-model="form.deviceCode"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="变量名:" prop="variableName">
|
|
|
- <el-input v-model="form.ratedVoltage"></el-input>
|
|
|
+ <el-input v-model="form.variableName"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="变量编码:" prop="variableCoding">
|
|
|
- <el-input v-model="form.ratedCurrent"></el-input>
|
|
|
+ <el-input v-model="form.variableCoding"></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="监控设备:" prop="routeAddress">
|
|
|
+ <el-form-item label="监控设备:" prop="monitoringEquipment">
|
|
|
<el-select
|
|
|
- v-model="form.routeAddress"
|
|
|
+ v-model="form.monitoringEquipment"
|
|
|
filterable
|
|
|
collapse-tags
|
|
|
placeholder="请选择"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in options"
|
|
|
+ v-for="item in deviceNewsListBoxData"
|
|
|
:key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ :label="item.monitorDeviceName"
|
|
|
+ :value="item.id"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="通信设备:" prop="routeAddress">
|
|
|
+ <el-form-item label="通信设备:" prop="communicationEquipment">
|
|
|
<el-select
|
|
|
- v-model="form.routeAddress"
|
|
|
+ v-model="form.communicationEquipment"
|
|
|
filterable
|
|
|
collapse-tags
|
|
|
placeholder="请选择"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ v-for="item in deviceListData"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.deviceName"
|
|
|
+ :value="item.id"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="数据地址:" prop="fzlMx">
|
|
|
+ <el-form-item label="数据地址:" prop="dataAddress">
|
|
|
<el-input v-model="form.dataAddress"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="数据类型:" prop="ability">
|
|
|
+ <el-form-item label="数据类型:" prop="dataType">
|
|
|
<el-input v-model="form.dataType"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="系数:" prop="ability">
|
|
|
+ <el-form-item label="系数:" prop="coefficient">
|
|
|
<el-input v-model="form.coefficient"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="存盘周期(分钟):" prop="ability">
|
|
|
+ <el-form-item label="存盘周期(分钟):" prop="saveCycle">
|
|
|
<el-input v-model="form.saveCycle"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="状态:" prop="ability">
|
|
|
+ <el-form-item label="状态:" prop="dataArea">
|
|
|
<el-radio-group v-model="form.dataArea">
|
|
|
<el-radio label="1">模拟量</el-radio>
|
|
|
<el-radio label="2">状态量</el-radio>
|
|
@@ -88,8 +88,8 @@
|
|
|
|
|
|
<script>
|
|
|
// import { useStore } from 'vuex'
|
|
|
-import { defineComponent, ref, watchEffect } from 'vue'
|
|
|
-import * as api from '@/api/siteManage/watchDog.js' //待修改
|
|
|
+import { defineComponent, ref, watchEffect,onMounted } from 'vue'
|
|
|
+import * as api from '@/api/siteManage/variableList'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
|
|
|
export default defineComponent({
|
|
@@ -99,13 +99,15 @@ export default defineComponent({
|
|
|
flag: Boolean,
|
|
|
dialogTitle: String,
|
|
|
itemInfo: Object,
|
|
|
+ siteId: Number,
|
|
|
},
|
|
|
setup(props, context) {
|
|
|
context
|
|
|
// const store = useStore()
|
|
|
const dialogVisible = ref(false)
|
|
|
const formInfo = ref(null)
|
|
|
-
|
|
|
+ const deviceListData = ref([])
|
|
|
+ const deviceNewsListBoxData = ref([])
|
|
|
const form = ref([])
|
|
|
|
|
|
const siteList = ref([])
|
|
@@ -113,34 +115,12 @@ export default defineComponent({
|
|
|
// open(): Dialog弹窗打开之前做的事
|
|
|
const open = () => {
|
|
|
form.value = props.itemInfo.value
|
|
|
- // siteList.value = store.state.siteList
|
|
|
- console.log('props.itemInfo.value')
|
|
|
- console.log(props.itemInfo.value)
|
|
|
+ console.log('open时传过来的详情值form.value')
|
|
|
+ console.log(form.value)
|
|
|
+ deviceList()
|
|
|
+ deviceNewsListBox()
|
|
|
}
|
|
|
|
|
|
- const options = [
|
|
|
- {
|
|
|
- value: '选项1',
|
|
|
- label: '站点一',
|
|
|
- },
|
|
|
- {
|
|
|
- value: '选项2',
|
|
|
- label: '站点二',
|
|
|
- },
|
|
|
- {
|
|
|
- value: '选项3',
|
|
|
- label: '站点三',
|
|
|
- },
|
|
|
- {
|
|
|
- value: '选项4',
|
|
|
- label: '站点四',
|
|
|
- },
|
|
|
- {
|
|
|
- value: '选项5',
|
|
|
- label: '站点五',
|
|
|
- },
|
|
|
- ]
|
|
|
-
|
|
|
// 关闭弹框
|
|
|
const closeDialog = () => {
|
|
|
context.emit('closeDialog', false)
|
|
@@ -161,17 +141,47 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //通信设备下拉
|
|
|
+ function deviceList() {
|
|
|
+ api
|
|
|
+ .deviceList({
|
|
|
+ siteId: props.siteId,
|
|
|
+ })
|
|
|
+ .then((requset) => {
|
|
|
+ if (requset.status === 'SUCCESS') {
|
|
|
+ deviceListData.value = requset.data
|
|
|
+ console.log('请求接口下拉时的 通信设备下拉deviceListData.value')
|
|
|
+ console.log(deviceListData.value)
|
|
|
+ } else {
|
|
|
+ ElMessage.error(requset.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ //监控设备下拉
|
|
|
+ function deviceNewsListBox() {
|
|
|
+ api
|
|
|
+ .deviceNewsListBox({
|
|
|
+ siteId: props.siteId,
|
|
|
+ })
|
|
|
+ .then((requset) => {
|
|
|
+ if (requset.status === 'SUCCESS') {
|
|
|
+ deviceNewsListBoxData.value = requset.data
|
|
|
+ // console.log('deviceNewsListBoxData.value')
|
|
|
+ // console.log(deviceNewsListBoxData.value)
|
|
|
+ } else {
|
|
|
+ ElMessage.error(requset.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
// 保存-修改操作
|
|
|
const submitForm = () => {
|
|
|
formInfo.value.validate((valid) => {
|
|
|
if (valid) {
|
|
|
- form.value.qualityAnalysis =
|
|
|
- form.value.qualityAnalysis == true
|
|
|
- ? (form.value.qualityAnalysis = '是')
|
|
|
- : (form.value.qualityAnalysis = '否')
|
|
|
-
|
|
|
+
|
|
|
if (props.dialogTitle === '新增') {
|
|
|
- api.deviceNewsAdd(form.value).then((requset) => {
|
|
|
+ api.variableAdd(form.value).then((requset) => {
|
|
|
if (requset.status === 'SUCCESS') {
|
|
|
ElMessage.success({
|
|
|
message: '新增成功',
|
|
@@ -183,7 +193,7 @@ export default defineComponent({
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
- api.deviceNewsUpdate(form.value).then((requset) => {
|
|
|
+ api.variableListUpdate(form.value).then((requset) => {
|
|
|
if (requset.status === 'SUCCESS') {
|
|
|
ElMessage.success({
|
|
|
message: '修改成功',
|
|
@@ -201,50 +211,86 @@ export default defineComponent({
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+ onMounted(() => {
|
|
|
+ // deviceList()
|
|
|
+ // deviceNewsListBox()
|
|
|
+ })
|
|
|
|
|
|
return {
|
|
|
closeDialog,
|
|
|
dialogVisible,
|
|
|
- options,
|
|
|
roleValid,
|
|
|
formInfo,
|
|
|
siteList,
|
|
|
+ deviceList,
|
|
|
+ deviceNewsListBox,
|
|
|
+
|
|
|
form,
|
|
|
open,
|
|
|
+
|
|
|
+ deviceListData,
|
|
|
+ deviceNewsListBoxData,
|
|
|
submitForm,
|
|
|
rules: {
|
|
|
- watchName: [
|
|
|
- // required 是否为必填项, trigger:表单验证的触发时机,失去焦点进行验证
|
|
|
- { required: true, message: '请输入设备名称', trigger: 'blur' },
|
|
|
+ deviceCode: [
|
|
|
+ { required: true, message: '请输入设备编号', trigger: 'blur' },
|
|
|
{
|
|
|
- min: 3,
|
|
|
- max: 6,
|
|
|
- message: '用户名长度在 3 到 6 个字符',
|
|
|
+ min: 1,
|
|
|
+ max: 20,
|
|
|
+ message: '设备编号长度在 1 到 20 个字符',
|
|
|
trigger: 'blur',
|
|
|
},
|
|
|
],
|
|
|
- watchCode: [
|
|
|
- { required: true, message: '请输入设备编号', trigger: 'blur' },
|
|
|
+ variableName: [
|
|
|
+ { required: true, message: '请输入变量名', trigger: 'blur' },
|
|
|
{
|
|
|
- min: 3,
|
|
|
- max: 6,
|
|
|
- message: '用户名长度在 3 到 6 个字符',
|
|
|
+ min: 1,
|
|
|
+ max: 20,
|
|
|
+ message: '变量名长度在 1 到 20 个字符',
|
|
|
trigger: 'blur',
|
|
|
},
|
|
|
],
|
|
|
- routeAddress: [
|
|
|
- { required: true, message: '请选则回路表记地址', trigger: 'change' },
|
|
|
+ variableCoding: [
|
|
|
+ { required: true, message: '请输入变量编码', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ min: 1,
|
|
|
+ max: 20,
|
|
|
+ message: '变量编码长度在 1 到 20 个字符',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ monitoringEquipment: [
|
|
|
+ { required: true, message: '请选择监控设备', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ communicationEquipment: [
|
|
|
+ { required: true, message: '请选择通信设备', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ dataAddress: [
|
|
|
+ { required: true, message: '请输入数据地址', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ min: 1,
|
|
|
+ max: 20,
|
|
|
+ message: '数据地址长度在 1 到 20 个字符',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ dataType: [
|
|
|
+ { required: true, message: '请输入数据类型', trigger: 'blur' },
|
|
|
+ {
|
|
|
+ min: 1,
|
|
|
+ max: 20,
|
|
|
+ message: '数据类型长度在 1 到 20 个字符',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
],
|
|
|
- ratedVoltage: [
|
|
|
- { required: true, message: '请选择站点列表', trigger: 'change' },
|
|
|
+ coefficient: [
|
|
|
+ { required: true, message: '请输入系数', trigger: 'blur' },
|
|
|
],
|
|
|
- ratedCurrent: [
|
|
|
- { required: true, message: '请输入已选站点个数', trigger: 'blur' },
|
|
|
- { trigger: 'blur' },
|
|
|
+ saveCycle: [
|
|
|
+ { required: true, message: '请输入存盘周期', trigger: 'blur' },
|
|
|
],
|
|
|
- fzlMx: [
|
|
|
- { required: true, message: '请输入挂载设备个数', trigger: 'blur' },
|
|
|
- { trigger: 'blur' },
|
|
|
+ dataArea: [
|
|
|
+ { required: true, message: '请选中状态', trigger: 'change' },
|
|
|
],
|
|
|
},
|
|
|
}
|