<template>
|
<el-dialog
|
custom-class="sy-modal"
|
|
title="设备状态变更"
|
:close-on-click-modal="false"
|
width="600px"
|
:before-close="onClose"
|
>
|
<div class="statistics-of-equipments-change-status-modal" v-loading="loading">
|
<el-form ref="form" :model="form" :rules="rules" label-width="90px" size="small">
|
<el-form-item label="设备名称">{{row.EquipmentName}}</el-form-item>
|
<el-form-item label="设备状态" prop="equipmentStatus">
|
<el-select v-model="form.equipmentStatus" placeholder="请选择..." class="full-width" clearable>
|
<el-option v-for="item in selectList.status" :key="'status-sel-'+item.id" :label="item.name" :value="item.id" />
|
</el-select>
|
</el-form-item>
|
</el-form>
|
</div>
|
<template #footer>
|
<span class="dialog-footer">
|
<el-button @click="onClose">取 消</el-button>
|
<el-button type="primary" @click="onSubmit">确 定</el-button>
|
</span>
|
</template>
|
</el-dialog>
|
</template>
|
|
<script>
|
const defaultForm = {
|
id:null,
|
equipmentStatus:null
|
}
|
export default {
|
name:'statisticsOfEquipmentsChangeStatusModal',
|
emits:['submitCallback','update:visible'],
|
props:{
|
visible:{
|
type:Boolean,
|
default:false
|
},
|
row:{
|
type:Object,
|
default:function(){
|
return {}
|
}
|
}
|
},
|
data(){
|
return {
|
title:'',
|
loading:false,
|
selectList:{
|
status:[]
|
},
|
selectLoaded:false,
|
form:{...defaultForm},
|
rules:{
|
equipmentStatus:[
|
{ required: true, message: '请选择设备状态!', trigger: 'change' }
|
]
|
}
|
}
|
},
|
watch:{
|
visible(newVal,oldVal){
|
if (newVal!==oldVal) {
|
if (newVal) {
|
this.initForm();
|
} else {
|
this.clearForm();
|
}
|
}
|
}
|
},
|
methods:{
|
initForm(){
|
console.log(this.row)
|
this.form.id = this.row.Id;
|
this.form.equipmentStatus = this.row.EquipmentStatus;
|
console.log(this.form)
|
this.getSelectList((f)=>{
|
if (!f) {
|
this.close();
|
}
|
})
|
},
|
clearForm(){
|
this.form = {...defaultForm}
|
},
|
close(){
|
this.$emit('update:visible',false)
|
},
|
onClose(){
|
this.close();
|
},
|
getSelectList(callback){
|
if (this.selectLoaded) {
|
callback && callback(true)
|
} else {
|
this.loading = true
|
this.$api.get('GetEnumberList',{category:'EquipmentStatusEnum'},{block:'common'}).then((d)=>{
|
this.selectList.status = d || []
|
this.selectLoaded = true;
|
this.loading = false
|
callback && callback(true)
|
}).catch((err)=>{
|
this.loading = false
|
callback && callback(false)
|
})
|
}
|
},
|
onSubmit(){
|
this.$refs.form.validate((valid) => {
|
if (valid) {
|
this.dealSubmit((f)=>{
|
if (f) {
|
this.$message.success('变更状态成功!')
|
this.close();
|
this.$emit('submitCallback')
|
}
|
})
|
}
|
})
|
},
|
dealSubmit(callback){
|
let params = {...this.form};
|
this.loading = true
|
this.$api.put('UpdateEquipmentStatus',params,{block:'eqp'}).then((d)=>{
|
this.loading = false
|
callback && callback(true)
|
}).catch((err)=>{
|
this.loading = false
|
callback && callback(false)
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped lang="scss">
|
.statistics-of-equipments-change-status-modal{
|
padding: 8px 16px 0 0;
|
}
|
</style>
|