Commit bd506938 authored by 赵啸非's avatar 赵啸非

修改同步逻辑

parent 654dfb70
...@@ -5,28 +5,21 @@ ...@@ -5,28 +5,21 @@
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="50%"> size="70%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<Field label="设备名称" prop="deviceName" v-model="form.deviceName" placeholder="请输入设备名称"/> <Field :span="20" label="设备名称" prop="deviceName" v-model="form.deviceName" placeholder="请输入设备名称"/>
<Field label="所属房间id" prop="roomId" v-model="form.roomId" placeholder="请输入所属房间id"/> <Field :span="20" label="设备的MAC地址" prop="deviceMac" v-model="form.deviceMac" placeholder="请输入设备的MAC地址"/>
<Field label="所属房间名称" prop="roomName" v-model="form.roomName" placeholder="请输入所属房间名称"/> <Field :span="20" label="分辨率" prop="resolution" v-model="form.resolution" type="select" :enumData="dict.resolution" placeholder="请选择分辨率"/>
<Field label="设备编码,SN码等,默认为MAC地址" prop="deviceCode" v-model="form.deviceCode" type="textarea" placeholder="请输入设备编码,SN码等,默认为MAC地址"/> <Field :span="20" label="所属楼栋" prop="deviceInBuilding" v-model="form.deviceInBuilding" type="select" :enumData="dict.deviceInBuilding" placeholder="请选择所属楼栋"/>
<Field label="设备的MAC地址" prop="deviceMac" v-model="form.deviceMac" placeholder="请输入设备的MAC地址"/> <Field :span="20" label="所属楼层" prop="deviceInFloor" v-model="form.deviceInFloor" type="select" :enumData="dict.deviceInFloor" placeholder="请选择所属楼层"/>
<Field label="设备生产厂商名称" prop="deviceFirmname" v-model="form.deviceFirmname" placeholder="请输入设备生产厂商名称"/> <Field :span="20" label="负责人" prop="leadingOfficial" v-model="form.leadingOfficial" placeholder="请输入负责人"/>
<Field label="分辨率" prop="resolution" v-model="form.resolution" type="select" :enumData="dict.resolution" placeholder="请选择分辨率"/> <Field :span="20" label="设备位置" prop="deviceAddr" v-model="form.deviceAddr" placeholder="请输入设备位置"/>
<Field label="所属楼栋" prop="deviceInBuilding" v-model="form.deviceInBuilding" type="select" :enumData="dict.deviceInBuilding" placeholder="请选择所属楼栋"/> <Field :span="20" label="联系电话" prop="leadingOfficialTelephone" v-model="form.leadingOfficialTelephone" placeholder="请输入联系电话"/>
<Field label="所属楼层" prop="deviceInFloor" v-model="form.deviceInFloor" type="select" :enumData="dict.deviceInFloor" placeholder="请选择所属楼层"/> <Field :span="20" label="设备图片" prop="devicePhotoPath" v-model="form.devicePhotoPath" type="textarea" placeholder="请输入设备图片"/>
<Field label="保修期至" prop="defectsLiabilityPeriod" v-model="form.defectsLiabilityPeriod" type="date" /> <Field :span="20" label="设备状态 " prop="deviceStatus" v-model="form.deviceStatus" type="select" :enumData="dict.deviceStatus" placeholder="请选择设备状态 "/>
<Field label="负责人" prop="leadingOfficial" v-model="form.leadingOfficial" placeholder="请输入负责人"/> <Field :span="20" label="启用状态 " prop="enabled" v-model="form.enabled" type="select" :enumData="dict.enabled" placeholder="请选择启用状态 "/>
<Field label="设备位置" prop="deviceAddr" v-model="form.deviceAddr" placeholder="请输入设备位置"/> <Field :span="20" label="备注" prop="deviceRemark" v-model="form.deviceRemark" type="textarea" placeholder="请输入备注"/>
<Field label="联系电话" prop="leadingOfficialTelephone" v-model="form.leadingOfficialTelephone" placeholder="请输入联系电话"/>
<Field label="设备图片" prop="devicePhotoPath" v-model="form.devicePhotoPath" type="textarea" placeholder="请输入设备图片"/>
<Field label="设备状态 " prop="deviceStatus" v-model="form.deviceStatus" type="select" :enumData="dict.deviceStatus" placeholder="请选择设备状态 "/>
<Field label="启用状态 " prop="enabled" v-model="form.enabled" type="select" :enumData="dict.enabled" placeholder="请选择启用状态 "/>
<Field label="备注" prop="deviceRemark" v-model="form.deviceRemark" type="textarea" placeholder="请输入备注"/>
<Field label="最近上线时间" prop="onlineTime" v-model="form.onlineTime" type="date" />
<Field label="最近离线时间" prop="offlineTime" v-model="form.offlineTime" type="date" />
...@@ -34,7 +27,7 @@ ...@@ -34,7 +27,7 @@
<Field :span="20" label="选择工作人员" prop="roomId" v-model="form.workmanId" :multiple="true" type="select" :enumData="dict.workmanId" placeholder="请选择人员"/> <Field :span="20" label="选择工作人员" prop="roomId" v-model="form.workmanId" :multiple="true" type="select" :enumData="dict.workmanId" placeholder="请选择人员"/>
<Field label="轮播图片"><fileUpload v-model="filePaths" :limit="limit" :fileType="fileType" :fileName="form.fileName" @getFileName="getFileName" prePath="/file/fileupload"/></Field> <Field :span="20" label="轮播图片"><fileUpload v-model="filePaths" :limit="limit" :fileType="fileType" :fileName="form.fileName" @getFileName="getFileName" prePath="/file/fileupload"/></Field>
...@@ -64,7 +57,7 @@ ...@@ -64,7 +57,7 @@
limit:10, limit:10,
deviceFileEntityList: [], deviceFileEntityList: [],
deviceWorkmanEntityList:[], deviceWorkmanEntityList:[],
fileType:['png', 'jpg', 'jpeg', 'mp4', 'avi'], fileType:['png', 'jpg', 'jpeg'],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
...@@ -79,11 +72,7 @@ ...@@ -79,11 +72,7 @@
"deviceStatus", "deviceStatus",
"enabled", "enabled",
], ],
toDate:[ toDate:[],
"defectsLiabilityPeriod",
"onlineTime",
"offlineTime",
],
// 表单校验 // 表单校验
rules: { rules: {
deviceName: [ deviceName: [
...@@ -134,12 +123,16 @@ ...@@ -134,12 +123,16 @@
// 渲染前置处理 // 渲染前置处理
beforeRender(data) { beforeRender(data) {
console.log("data",data)
this.fileNames = "" this.fileNames = ""
this.filePaths = "" this.filePaths = ""
if (data.entity.deviceFileEntityList && data.entity.deviceFileEntityList.length > 0) { if (data.entity.deviceFileEntityList && data.entity.deviceFileEntityList.length > 0) {
this.fileNames=data.entity.deviceFileEntityList.map(i=>i.fileName+",") this.fileNames=data.entity.deviceFileEntityList.map(i=>i.fileName+",")
this.filePaths=data.entity.deviceFileEntityList.map(i=>i.filePaths+",") this.filePaths=data.entity.deviceFileEntityList.map(i=>i.filePaths+",")
} }
console.log("fileNames:"+this.fileNames)
return data;
}, },
/**获取数据后弹框 */ /**获取数据后弹框 */
...@@ -161,6 +154,9 @@ ...@@ -161,6 +154,9 @@
obj.fileName=fileNameList[i] obj.fileName=fileNameList[i]
deviceFileEntityList.push(obj) deviceFileEntityList.push(obj)
} }
/* let deviceFileEntityList=this.filePaths.map(i=>{ /* let deviceFileEntityList=this.filePaths.map(i=>{
let obj={} let obj={}
obj.filePath=i obj.filePath=i
......
...@@ -33,6 +33,35 @@ ...@@ -33,6 +33,35 @@
toView(row) { toView(row) {
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
activeDevice(row) {
this.$post("/device/active", {
deviceCode: row.deviceCode,
})
.then((res) => {
if (res.code == 1) {
this.$message.success("激活设备成功!");
this.getData();
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
// 操作菜单状态
changeStatus(row, column) {
return (
<device-switch
confirm
url="/device/enable"
row={row}
onChange={this.statusChange}
value={this.tableData.data}
onInput={(data) => {
this.tableData.data = data;
}}
/>
);
},
}, },
data() { data() {
...@@ -52,11 +81,7 @@ ...@@ -52,11 +81,7 @@
{label: "设备名称", prop: "deviceName"}, {label: "设备名称", prop: "deviceName"},
{label: "所属房间id", prop: "roomId", formatter: this.formatter}, {label: "设备编码", prop: "deviceCode"},
{label: "所属房间名称", prop: "roomName"},
{label: "设备编码,SN码等,默认为MAC地址", prop: "deviceCode"},
{label: "设备的MAC地址", prop: "deviceMac"}, {label: "设备的MAC地址", prop: "deviceMac"},
...@@ -66,16 +91,39 @@ ...@@ -66,16 +91,39 @@
{label: "设备状态 ", prop: "deviceStatus",formatter: this.formatter}, {label: "设备状态 ", prop: "deviceStatus",formatter: this.formatter},
{label: "启用状态 ", prop: "enabled",formatter: this.formatter}, {
prop: "enabled",
{label: "创建用户", prop: "createUserId", formatter: this.formatter}, align: "center",
label: "启用/停用",
width: 100,
formatter: this.changeStatus,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: row => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <div>
);
{row.deviceStatus === 0 ? (
<el-button
size="mini"
type="text"
icon="el-icon-open"
onClick={() => {
this.activeDevice(row);
}}
>
激活
</el-button>
) : (
""
)}
<span> </span>
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
</div>
);
} }
} }
] ]
...@@ -83,4 +131,4 @@ ...@@ -83,4 +131,4 @@
}; };
} }
}; };
</script> </script>
\ No newline at end of file
...@@ -16,9 +16,9 @@ module.exports = { ...@@ -16,9 +16,9 @@ module.exports = {
port: 8085, port: 8085,
hot: true, //自动保存 hot: true, //自动保存
proxy: { proxy: {
"/office": { "/infopublish": {
target: "http://test.office.com:11078", //target: "http://test.office.com:11078",
// target: 'http://8.136.255.30:11078', target: 'http://8.136.255.30:1061',
changeOrigin: true, changeOrigin: true,
secure: false, secure: false,
cookieDomainRewrite: "localhost", cookieDomainRewrite: "localhost",
......
...@@ -174,8 +174,7 @@ public class DeviceServiceImpl extends AbstractCRUDCacheServiceImpl<DeviceDao, D ...@@ -174,8 +174,7 @@ public class DeviceServiceImpl extends AbstractCRUDCacheServiceImpl<DeviceDao, D
private void saveDeviceFile(DeviceEntity entity, Context context) { private void saveDeviceFile(DeviceEntity entity, Context context) {
List<DeviceFileEntity> deviceFileEntities = entity.getDeviceFileEntityList().stream().map(item -> { List<DeviceFileEntity> deviceFileEntities = entity.getDeviceFileEntityList().stream().map(item -> {
Long deviceId = item.getDeviceId(); DeviceEntity deviceEntity = this.get(entity.getId(), context);
DeviceEntity deviceEntity = this.get(deviceId, context);
item.setDeviceId(deviceEntity.getId()); item.setDeviceId(deviceEntity.getId());
item.setDeviceCode(deviceEntity.getDeviceCode()); item.setDeviceCode(deviceEntity.getDeviceCode());
item.setDeviceName(deviceEntity.getDeviceName()); item.setDeviceName(deviceEntity.getDeviceName());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment