设备列表

This commit is contained in:
白菜
2025-07-12 16:18:15 +08:00
parent 893c690e7d
commit 8fc9f975e1
2 changed files with 26 additions and 15 deletions

View File

@ -6,8 +6,8 @@
<el-option :label="item.siteName" :value="item.siteId" v-for="(item,index) in siteList" :key="index+'siteOptions'"></el-option> <el-option :label="item.siteName" :value="item.siteId" v-for="(item,index) in siteList" :key="index+'siteOptions'"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备id" prop="deviceId" v-if="mode !== 'add'"> <el-form-item label="设备id" prop="deviceId" >
<el-input disabled v-model="formData.deviceId" clearable :style="{width: '100%'}"> <el-input v-model="formData.deviceId" maxlength="60" clearable :style="{width: '100%'}">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="设备名称" prop="deviceName"> <el-form-item label="设备名称" prop="deviceName">
@ -105,6 +105,13 @@ export default {
callback(); callback();
} }
} }
const validateDeviceId=(rule, value, callback) =>{
if (value !== '' && !/^[a-zA-Z0-9]+$/.test(value)) {
callback(new Error('只能输入英文和数字!'));
} else {
callback();
}
}
return { return {
loading:0, loading:0,
dccDeviceCategory:'CLUSTER', dccDeviceCategory:'CLUSTER',
@ -133,7 +140,11 @@ export default {
}, },
rules: { rules: {
siteId:[ siteId:[
{ required: true, message: '请选择站点', trigger: 'blur'} { required: true, message: '请选择站点', trigger: ['blur','change']}
],
deviceId:[
{ required: true, message: '请输入设备id', trigger: 'blur'},
{ validator: validateDeviceId, trigger: 'blur' }
], ],
deviceName:[ deviceName:[
{ required: true, message: '请输入设备名称', trigger: 'blur'}, { required: true, message: '请输入设备名称', trigger: 'blur'},
@ -144,13 +155,13 @@ export default {
{ validator: validateText, trigger: 'blur' } { validator: validateText, trigger: 'blur' }
], ],
communicationStatus:[ communicationStatus:[
{ required: true, message: '请选择工作状态', trigger: ['blur']} { required: true, message: '请选择工作状态', trigger: ['blur','change']}
], ],
deviceType:[ deviceType:[
{ required: true, message: '请选择设备类型', trigger: ['blur']} { required: true, message: '请选择设备类型', trigger:['blur','change']}
], ],
deviceCategory:[ deviceCategory:[
{ required: true, message: '请选择设备类别', trigger: ['blur']} { required: true, message: '请选择设备类别', trigger: ['blur','change']}
], ],
ipAddress:[ ipAddress:[
{ validator: validateText, trigger: 'blur' } { validator: validateText, trigger: 'blur' }
@ -173,9 +184,9 @@ export default {
parity:[ parity:[
{ validator: validateText, trigger: 'blur' } { validator: validateText, trigger: 'blur' }
], ],
pictureUrl:[ // pictureUrl:[
{ required: true, message: '请上传图片', trigger: ['blur', 'change']} // { required: true, message: '请上传图片', trigger: ['blur', 'change']}
], // ],
}, },
} }
}, },
@ -281,7 +292,7 @@ export default {
pictureUrl='',//设备图片 pictureUrl='',//设备图片
}= this.formData; }= this.formData;
if(this.mode === 'add'){ if(this.mode === 'add'){
addDevice({siteId,deviceName,description,communicationStatus,deviceType,deviceCategory,parentId,ipAddress,ipPort,serialPort,baudRate,dataBits,stopBits,parity,pictureUrl}).then(response => { addDevice({siteId,deviceId,deviceName,description,communicationStatus,deviceType,deviceCategory,parentId,ipAddress,ipPort,serialPort,baudRate,dataBits,stopBits,parity,pictureUrl}).then(response => {
if(response.code === 200){ if(response.code === 200){
//新增成功 //新增成功
// 关闭弹窗 更新表格 // 关闭弹窗 更新表格
@ -292,7 +303,7 @@ export default {
this.loading-=1 this.loading-=1
}) })
}else{ }else{
updateDevice({id,siteId,deviceName,description,communicationStatus,deviceType,deviceCategory,parentId,ipAddress,ipPort,serialPort,baudRate,dataBits,stopBits,parity,pictureUrl}).then(response => { updateDevice({id,siteId,deviceId,deviceName,description,communicationStatus,deviceType,deviceCategory,parentId,ipAddress,ipPort,serialPort,baudRate,dataBits,stopBits,parity,pictureUrl}).then(response => {
if(response.code === 200){ if(response.code === 200){
//新增成功 //新增成功
// 关闭弹窗 更新表格 // 关闭弹窗 更新表格
@ -328,7 +339,7 @@ export default {
stopBits:'',//停止位 stopBits:'',//停止位
parity:'',//校验位 parity:'',//校验位
pictureUrl:'',//设备图片 pictureUrl:'',//设备图片
}, }
this.dialogTableVisible=false this.dialogTableVisible=false
} }
} }

View File

@ -158,7 +158,7 @@ export default {
this.$refs.addDevice.dialogTableVisible = true; this.$refs.addDevice.dialogTableVisible = true;
}, },
//删除设备 //删除设备
deleteDevice(){ deleteDevice(row){
this.$confirm(`确认要设备${row.deviceName}吗?`, { this.$confirm(`确认要设备${row.deviceName}吗?`, {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@ -168,7 +168,7 @@ export default {
beforeClose: (action, instance, done) => { beforeClose: (action, instance, done) => {
if (action === 'confirm') { if (action === 'confirm') {
instance.confirmButtonLoading = true; instance.confirmButtonLoading = true;
deleteService({id:row.id}).then(response => { deleteService(row.id).then(response => {
response.code === 200 && done(); response.code === 200 && done();
}).finally(() => { }).finally(() => {
instance.confirmButtonLoading = false; instance.confirmButtonLoading = false;
@ -181,7 +181,7 @@ export default {
//只有在废弃成功的情况下会走到这里 //只有在废弃成功的情况下会走到这里
this.$message({ this.$message({
type: 'success', type: 'success',
message: '废弃成功!' message: '删除成功!'
}); });
this.getData() this.getData()
//调用接口 更新表格数据 //调用接口 更新表格数据