Merge branch 'main' of https://git.jsspisoft.com/ry-das
This commit is contained in:
commit
cd219785b1
@ -6,10 +6,7 @@ import com.das.common.constant.SysAuthorityIds;
|
|||||||
import com.das.common.exceptions.ServiceException;
|
import com.das.common.exceptions.ServiceException;
|
||||||
import com.das.common.result.R;
|
import com.das.common.result.R;
|
||||||
import com.das.common.utils.PageDataInfo;
|
import com.das.common.utils.PageDataInfo;
|
||||||
import com.das.common.utils.StringUtils;
|
|
||||||
import com.das.modules.auth.entity.SysOrg;
|
|
||||||
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
|
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
|
||||||
import com.das.modules.equipment.domain.dto.SysIotModelDto;
|
|
||||||
import com.das.modules.equipment.domain.vo.EquipmentTypeVo;
|
import com.das.modules.equipment.domain.vo.EquipmentTypeVo;
|
||||||
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
|
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
|
||||||
import com.das.modules.equipment.service.SysEquipmentService;
|
import com.das.modules.equipment.service.SysEquipmentService;
|
||||||
|
@ -3,6 +3,7 @@ package com.das.modules.node.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.das.modules.node.domain.dto.SysCommunicationLinkDto;
|
||||||
import com.das.modules.node.domain.vo.SysCommunicationLinkVo;
|
import com.das.modules.node.domain.vo.SysCommunicationLinkVo;
|
||||||
import com.das.modules.node.entity.SysCommunicationLink;
|
import com.das.modules.node.entity.SysCommunicationLink;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@ -10,6 +11,6 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface SysCommunicationLinkMapper extends BaseMapper<SysCommunicationLink> {
|
public interface SysCommunicationLinkMapper extends BaseMapper<SysCommunicationLink> {
|
||||||
IPage<SysCommunicationLinkVo> querySysCommunicationLinkList(IPage<SysCommunicationLinkVo> page, @Param("id")Long id);
|
IPage<SysCommunicationLinkVo> querySysCommunicationLinkList(IPage<SysCommunicationLinkVo> page, @Param("info") SysCommunicationLinkDto sysCommunicationLinkDto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ public class SysNodeServiceImpl implements SysNodeService {
|
|||||||
PageQuery pageQuery = new PageQuery();
|
PageQuery pageQuery = new PageQuery();
|
||||||
pageQuery.setPageNum(sysCommunicationLinkDto.getPageNum());
|
pageQuery.setPageNum(sysCommunicationLinkDto.getPageNum());
|
||||||
pageQuery.setPageSize(sysCommunicationLinkDto.getPageSize());
|
pageQuery.setPageSize(sysCommunicationLinkDto.getPageSize());
|
||||||
IPage<SysCommunicationLinkVo> iPage = sysCommunicationLinkMapper.querySysCommunicationLinkList(pageQuery.build(), sysCommunicationLinkDto.getNodeId());
|
IPage<SysCommunicationLinkVo> iPage = sysCommunicationLinkMapper.querySysCommunicationLinkList(pageQuery.build(), sysCommunicationLinkDto);
|
||||||
return PageDataInfo.build(iPage.getRecords(), iPage.getTotal());
|
return PageDataInfo.build(iPage.getRecords(), iPage.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,14 @@
|
|||||||
|
|
||||||
<select id="querySysCommunicationLinkList" resultMap="SysCommunicationLinkMap">
|
<select id="querySysCommunicationLinkList" resultMap="SysCommunicationLinkMap">
|
||||||
select sc.*, sn.node_name as nodeName from sys_communicationlink sc left join sys_node sn on sc.node_id = sn.id
|
select sc.*, sn.node_name as nodeName from sys_communicationlink sc left join sys_node sn on sc.node_id = sn.id
|
||||||
where sc.node_id = #{id}
|
<where>
|
||||||
|
<if test="info.id != null and info.id != ''">
|
||||||
|
and sc.node_id = #{info.id}
|
||||||
|
</if>
|
||||||
|
<if test="info.linkName != null and info.linkName != ''">
|
||||||
|
and sc.link_name like concat('%',#{info.linkName},'%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,12 +72,15 @@
|
|||||||
<if test="info.code != null and info.code != ''">
|
<if test="info.code != null and info.code != ''">
|
||||||
and t.code like concat('%',#{info.code},'%')
|
and t.code like concat('%',#{info.code},'%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="info.objectType != null and info.objectType != ''">
|
||||||
|
and t.object_type = #{info.objectType}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="queryEquipmentTree" resultMap="SysEquipmentListMap">
|
<select id="queryEquipmentTree" resultMap="SysEquipmentListMap">
|
||||||
select t.* from sys_equipment t WHERE t.parent_equipment_id = 0 order by t.code
|
select t.* from sys_equipment t order by t.code
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryChildrenEquipById" resultMap="SysEquipmentListMap">
|
<select id="queryChildrenEquipById" resultMap="SysEquipmentListMap">
|
||||||
|
@ -237,3 +237,31 @@ export function equipExport(params: object = {}) {
|
|||||||
responseType: 'blob',
|
responseType: 'blob',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设备类型
|
||||||
|
export function equipType(params: object = {}) {
|
||||||
|
return createAxios({
|
||||||
|
url: '/api/equipment/type',
|
||||||
|
method: 'POST',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 设备详情物模型
|
||||||
|
export function equipDetailsModel(params: object = {}) {
|
||||||
|
return createAxios({
|
||||||
|
url: '/api/equipment/model/list',
|
||||||
|
method: 'POST',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设备详情机构
|
||||||
|
export function equipDetailsOrg(params: object = {} ) {
|
||||||
|
return createAxios({
|
||||||
|
url: '/api/org/list',
|
||||||
|
method: 'POST',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
@ -14,6 +14,7 @@
|
|||||||
:load="loadNode"
|
:load="loadNode"
|
||||||
lazy
|
lazy
|
||||||
@node-click="handleNodeClick"
|
@node-click="handleNodeClick"
|
||||||
|
:default-expanded-keys="['1']"
|
||||||
/>
|
/>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
:load="loadNode"
|
:load="loadNode"
|
||||||
lazy
|
lazy
|
||||||
@node-click="handleNodeClick"
|
@node-click="handleNodeClick"
|
||||||
|
:default-expanded-keys="['1']"
|
||||||
/>
|
/>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
@ -231,7 +232,8 @@ const getTree = () => {
|
|||||||
console.log(treeQuery, 'treeQuery')
|
console.log(treeQuery, 'treeQuery')
|
||||||
|
|
||||||
userList(treeQuery).then((res) => {
|
userList(treeQuery).then((res) => {
|
||||||
console.log(res, '树')
|
console.log(res.data[0].id, '树用户111')
|
||||||
|
formQuery.orgId = res.data[0].id
|
||||||
userData.value = res.data
|
userData.value = res.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -51,10 +51,10 @@
|
|||||||
<span style="color: #0064aa; cursor: pointer" @click="viewDeviceDetails(scope)">查看 </span>
|
<span style="color: #0064aa; cursor: pointer" @click="viewDeviceDetails(scope)">查看 </span>
|
||||||
<span style="color: #0064aa"> | </span>
|
<span style="color: #0064aa"> | </span>
|
||||||
<span style="color: #0064aa; cursor: pointer" @click="deviceDeletion(scope)"> 删除 </span>
|
<span style="color: #0064aa; cursor: pointer" @click="deviceDeletion(scope)"> 删除 </span>
|
||||||
<span style="color: #0064aa"> | </span>
|
<!-- <span style="color: #0064aa"> | </span>
|
||||||
<span style="color: #0064aa; cursor: pointer"> 门户 </span>
|
<span style="color: #0064aa; cursor: pointer"> 门户 </span>
|
||||||
<span style="color: #0064aa"> | </span>
|
<span style="color: #0064aa"> | </span>
|
||||||
<span style="color: #0064aa; cursor: pointer"> 密码</span>
|
<span style="color: #0064aa; cursor: pointer"> 密码</span> -->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -74,24 +74,26 @@
|
|||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
<!-- 查看设备详情页面 -->
|
<!-- 查看设备详情页面 -->
|
||||||
<el-dialog v-model="editDeviceDialog" title="编辑设备台账" width="1000" :before-close="handleCloseEditDevice">
|
<el-dialog v-model="editDeviceDialog" title="编辑设备台账" width="720" :before-close="handleCloseEditDevice">
|
||||||
<el-form
|
<el-form
|
||||||
ref="modifyDeviceDetails"
|
ref="modifyDeviceDetails"
|
||||||
:inline="true"
|
:inline="true"
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
:model="editDeviceData"
|
:model="editDeviceData"
|
||||||
:rules="editDeviceRules"
|
:rules="editDeviceRules"
|
||||||
style="padding: 20px 33px; font-size: 14px; line-height: 1.5; word-wrap: break-word; font-size: 20px"
|
style="padding: 5px 15px; font-size: 14px; line-height: 1.5; word-wrap: break-word; font-size: 20px"
|
||||||
>
|
>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="设备类型:">
|
<el-form-item label="设备类型:">
|
||||||
<el-input v-model="editDeviceData.objectType" placeholder="请输入设备类型" clearable />
|
<el-input v-model="editDeviceData.objectType" disabled placeholder="请输入设备类型" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="物模型ID:">
|
<el-form-item label="物模型:">
|
||||||
<el-input v-model="editDeviceData.iotModelId" placeholder="请输入物模型ID" clearable />
|
<el-select v-model="editDeviceData.iotModelId" placeholder="请选择物模型" style="width: 200px">
|
||||||
|
<el-option v-for="item in equipModeData" :key="item.id" :label="item.iotModelName" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -108,43 +110,58 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="管理部门:" prop="madeinFactory">
|
|
||||||
<el-input v-model="editDeviceData.orgId" placeholder="请输入管理部门" clearable />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="生产厂家:">
|
<el-form-item label="生产厂家:">
|
||||||
<el-input v-model="editDeviceData.madeinFactory" placeholder="请输入生产厂家" clearable />
|
<el-input v-model="editDeviceData.madeinFactory" placeholder="请输入生产厂家" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="规格型号:">
|
<el-form-item label="规格型号:">
|
||||||
<el-input v-model="editDeviceData.model" placeholder="请输入规格型号" clearable />
|
<el-input v-model="editDeviceData.model" placeholder="请输入规格型号" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="用户登录管理部门:" prop="madeinFactory">
|
||||||
|
<!-- <el-input v-model="editDeviceData.orgId" placeholder="请输入用户登录管理部门" clearable /> -->
|
||||||
|
<el-tree-select
|
||||||
|
v-model="editDeviceData.orgId"
|
||||||
|
lazy
|
||||||
|
:load="treeSelectLoad"
|
||||||
|
:props="treeSelectProps"
|
||||||
|
check-strictly
|
||||||
|
style="width: 240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="所属设备:">
|
||||||
|
<el-input v-model="editDeviceData.parentEquipmentId" disabled placeholder="请输入所属设备" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="安装位置:">
|
<el-form-item label="安装位置:">
|
||||||
<el-input v-model="editDeviceData.location" placeholder="请输入安装位置" clearable />
|
<el-input v-model="editDeviceData.location" style="width: 540px" placeholder="请输入安装位置" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="安装位置_经度:">
|
<el-form-item label="经度:" prop="longitude">
|
||||||
<el-input v-model="editDeviceData.longitude" placeholder="请输入安装位置_经度" clearable />
|
<el-input v-model="editDeviceData.longitude" placeholder="请输入经度" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="安装位置_纬度:">
|
<el-form-item label="纬度:" prop="latitude">
|
||||||
<el-input v-model="editDeviceData.latitude" placeholder="请输入安装位置_纬度" clearable />
|
<el-input v-model="editDeviceData.latitude" placeholder="请输入纬度" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="8">
|
||||||
<el-form-item label="安装日期:">
|
<el-form-item label="安装日期:">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="editDeviceData.installDate"
|
v-model="editDeviceData.installDate"
|
||||||
@ -157,16 +174,16 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="16">
|
||||||
<el-form-item label="备注:">
|
<el-form-item label="备注:">
|
||||||
<el-input v-model="editDeviceData.remarks" placeholder="请输入备注" clearable />
|
<el-input
|
||||||
</el-form-item>
|
v-model="editDeviceData.remarks"
|
||||||
</el-col>
|
style="width: 295px"
|
||||||
</el-row>
|
:rows="2"
|
||||||
<el-row>
|
type="textarea"
|
||||||
<el-col>
|
placeholder="请输入备注"
|
||||||
<el-form-item label="上级设备ID:">
|
clearable
|
||||||
<el-input v-model="editDeviceData.parentEquipmentId" placeholder="请输入上级设备ID" clearable />
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -180,24 +197,26 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 新增设备详情页面 -->
|
<!-- 新增设备详情页面 -->
|
||||||
<el-dialog v-model="editAddDeviceDialog" title="新增设备台账" width="1000" :before-close="handleCloseAddEditDevice">
|
<el-dialog v-model="editAddDeviceDialog" title="新增设备台账" width="720" :before-close="handleCloseAddEditDevice">
|
||||||
<el-form
|
<el-form
|
||||||
ref="modifyAddDeviceDetails"
|
ref="modifyAddDeviceDetails"
|
||||||
:inline="true"
|
:inline="true"
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
:model="editAddDeviceData"
|
:model="editAddDeviceData"
|
||||||
:rules="editAddDeviceRules"
|
:rules="editAddDeviceRules"
|
||||||
style="padding: 20px 33px; font-size: 14px; line-height: 1.5; word-wrap: break-word; font-size: 20px"
|
style="padding: 5px 15px; font-size: 14px; line-height: 1.5; word-wrap: break-word; font-size: 20px"
|
||||||
>
|
>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="设备类型:">
|
<el-form-item label="设备类型:">
|
||||||
<el-input v-model="editAddDeviceData.objectType" placeholder="请输入设备类型" clearable />
|
<el-input v-model="editAddDeviceData.objectType" disabled placeholder="请输入设备类型" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="物模型ID:">
|
<el-form-item label="物模型:">
|
||||||
<el-input v-model="editAddDeviceData.iotModelId" placeholder="请输入物模型ID" clearable />
|
<el-select v-model="editAddDeviceData.iotModelId" placeholder="请选择物模型" style="width: 200px">
|
||||||
|
<el-option v-for="item in equipModeData" :key="item.id" :label="item.iotModelName" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -214,43 +233,58 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="管理部门:" prop="madeinFactory">
|
|
||||||
<el-input v-model="editAddDeviceData.orgId" placeholder="请输入管理部门" clearable />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="生产厂家:">
|
<el-form-item label="生产厂家:">
|
||||||
<el-input v-model="editAddDeviceData.madeinFactory" placeholder="请输入生产厂家" clearable />
|
<el-input v-model="editAddDeviceData.madeinFactory" placeholder="请输入生产厂家" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="规格型号:">
|
<el-form-item label="规格型号:">
|
||||||
<el-input v-model="editAddDeviceData.model" placeholder="请输入规格型号" clearable />
|
<el-input v-model="editAddDeviceData.model" placeholder="请输入规格型号" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="用户登录管理部门:" prop="madeinFactory">
|
||||||
|
<!-- <el-input v-model="editAddDeviceData.orgId" placeholder="请输入用户登录管理部门" clearable /> -->
|
||||||
|
<el-tree-select
|
||||||
|
v-model="editAddDeviceData.orgId"
|
||||||
|
lazy
|
||||||
|
:load="treeSelectLoad"
|
||||||
|
:props="treeSelectProps"
|
||||||
|
check-strictly
|
||||||
|
style="width: 240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="所属设备:">
|
||||||
|
<el-input v-model="editAddDeviceData.parentEquipmentId" disabled placeholder="请输入所属设备" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="安装位置:">
|
<el-form-item label="安装位置:">
|
||||||
<el-input v-model="editAddDeviceData.location" placeholder="请输入安装位置" clearable />
|
<el-input v-model="editAddDeviceData.location" style="width: 540px" placeholder="请输入安装位置" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="安装位置_经度:">
|
<el-form-item label="经度:" prop="longitude">
|
||||||
<el-input v-model="editAddDeviceData.longitude" placeholder="请输入安装位置_经度" clearable />
|
<el-input v-model="editAddDeviceData.longitude" placeholder="请输入经度" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="安装位置_纬度:">
|
<el-form-item label="纬度:" prop="latitude">
|
||||||
<el-input v-model="editAddDeviceData.latitude" placeholder="请输入安装位置_纬度" clearable />
|
<el-input v-model="editAddDeviceData.latitude" placeholder="请输入纬度" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="8">
|
||||||
<el-form-item label="安装日期:">
|
<el-form-item label="安装日期:">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="editAddDeviceData.installDate"
|
v-model="editAddDeviceData.installDate"
|
||||||
@ -263,16 +297,16 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="16">
|
||||||
<el-form-item label="备注:">
|
<el-form-item label="备注:">
|
||||||
<el-input v-model="editAddDeviceData.remarks" placeholder="请输入备注" clearable />
|
<el-input
|
||||||
</el-form-item>
|
v-model="editAddDeviceData.remarks"
|
||||||
</el-col>
|
style="width: 295px"
|
||||||
</el-row>
|
:rows="2"
|
||||||
<el-row>
|
type="textarea"
|
||||||
<el-col :span="12">
|
placeholder="请输入备注"
|
||||||
<el-form-item label="上级设备ID:">
|
clearable
|
||||||
<el-input v-model="editAddDeviceData.parentEquipmentId" placeholder="请输入上级设备ID" clearable />
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -302,9 +336,19 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { Search, CirclePlusFilled, Upload, Download } from '@element-plus/icons-vue'
|
import { Search, CirclePlusFilled, Upload, Download } from '@element-plus/icons-vue'
|
||||||
import { equipTree, equipQuery, equipAdd, equipDelete, equipUpdate, equipImport, equipExport } from '/@/api/backend'
|
import {
|
||||||
|
equipTree,
|
||||||
|
equipQuery,
|
||||||
|
equipAdd,
|
||||||
|
equipDelete,
|
||||||
|
equipUpdate,
|
||||||
|
equipImport,
|
||||||
|
equipExport,
|
||||||
|
equipType,
|
||||||
|
equipDetailsModel,
|
||||||
|
equipDetailsOrg,
|
||||||
|
} from '/@/api/backend'
|
||||||
import { ElTable, ElMessage, ElMessageBox } from 'element-plus'
|
import { ElTable, ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import type { UploadProps, UploadUserFile } from 'element-plus'
|
|
||||||
import type Node from 'element-plus/es/components/tree/src/model/node'
|
import type Node from 'element-plus/es/components/tree/src/model/node'
|
||||||
import { useAdminInfo } from '/@/stores/adminInfo'
|
import { useAdminInfo } from '/@/stores/adminInfo'
|
||||||
import { encrypt_aes, generateRandomNumber } from '/@/utils/crypto'
|
import { encrypt_aes, generateRandomNumber } from '/@/utils/crypto'
|
||||||
@ -331,24 +375,72 @@ const getTree = () => {
|
|||||||
userData.value = res.data
|
userData.value = res.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 设备类型
|
||||||
|
const deviceTypeList = ref()
|
||||||
|
const equipTypeList = () => {
|
||||||
|
equipType().then((res) => {
|
||||||
|
deviceTypeList.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// const aa = (data: any[]) => {
|
// 设备详情物模型
|
||||||
// data.forEach((item: any) => {
|
const equipModeData = ref()
|
||||||
// if (!item.orgChildren) {
|
const equipModeList = () => {
|
||||||
// item.orgChildren = []
|
equipDetailsModel({
|
||||||
// }
|
objectType: '',
|
||||||
// if (!item.equipChildren) {
|
}).then((res) => {
|
||||||
// item.equipChildren = []
|
equipModeData.value = res.data
|
||||||
// }
|
})
|
||||||
// if (item.orgChildren && item.orgChildren.length) {
|
}
|
||||||
// item.equipChildren = [...item.equipChildren, ...item.orgChildren]
|
|
||||||
// aa(item.orgChildren)
|
// 设备详情机构列表
|
||||||
// }
|
const equipOrgData = ref()
|
||||||
// })
|
const equipOrgList = () => {
|
||||||
// }
|
equipDetailsOrg({
|
||||||
|
parentOrgId: adminInfo.orgid,
|
||||||
|
}).then((res) => {
|
||||||
|
console.log(res, '设备详情机构列表')
|
||||||
|
equipOrgData.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const treeSelectLoad = (node: any, resolve: any) => {
|
||||||
|
console.log(node, 'treeSelectLoad')
|
||||||
|
if (node.level === 0) {
|
||||||
|
equipDetailsOrg({
|
||||||
|
parentOrgId: null,
|
||||||
|
}).then((res: any) => {
|
||||||
|
if (!res.data.length) {
|
||||||
|
node.isLeaf = true
|
||||||
|
}
|
||||||
|
|
||||||
|
return resolve(res.data)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
equipDetailsOrg({ parentOrgId: node.data.id })
|
||||||
|
.then((res: any) => {
|
||||||
|
if (!res.data.length) {
|
||||||
|
node.isLeaf = true
|
||||||
|
}
|
||||||
|
return resolve(res.data)
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const treeSelectProps = {
|
||||||
|
label: 'name',
|
||||||
|
value: 'id',
|
||||||
|
children: 'children',
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTree()
|
getTree()
|
||||||
|
equipTypeList()
|
||||||
|
equipModeList()
|
||||||
|
equipOrgList()
|
||||||
})
|
})
|
||||||
|
|
||||||
const formQuery = reactive({
|
const formQuery = reactive({
|
||||||
@ -403,21 +495,28 @@ const nameQuery2 = reactive({
|
|||||||
code: '',
|
code: '',
|
||||||
})
|
})
|
||||||
const deviceTypeQuery = () => {
|
const deviceTypeQuery = () => {
|
||||||
// 名称查询
|
if (queryParameter.value) {
|
||||||
if (headerForm.resource === '1') {
|
// 名称查询
|
||||||
nameQuery.name = headerForm.searchFor
|
if (headerForm.resource === '1') {
|
||||||
nameQuery.parentEquipmentId = queryParameter.value.id
|
nameQuery.name = headerForm.searchFor
|
||||||
nameQuery.pageSize = currentPageSize.value
|
nameQuery.parentEquipmentId = queryParameter.value.id
|
||||||
nameQuery.pageNum = currentPage.value
|
nameQuery.pageSize = currentPageSize.value
|
||||||
deviceQuery(nameQuery)
|
nameQuery.pageNum = currentPage.value
|
||||||
}
|
deviceQuery(nameQuery)
|
||||||
// 编码查询
|
}
|
||||||
if (headerForm.resource === '2') {
|
// 编码查询
|
||||||
nameQuery2.code = headerForm.searchFor
|
if (headerForm.resource === '2') {
|
||||||
nameQuery2.parentEquipmentId = queryParameter.value.id
|
nameQuery2.code = headerForm.searchFor
|
||||||
nameQuery2.pageSize = currentPageSize.value
|
nameQuery2.parentEquipmentId = queryParameter.value.id
|
||||||
nameQuery2.pageNum = currentPage.value
|
nameQuery2.pageSize = currentPageSize.value
|
||||||
deviceQuery(nameQuery2)
|
nameQuery2.pageNum = currentPage.value
|
||||||
|
deviceQuery(nameQuery2)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ElMessage.error({
|
||||||
|
message: '无设备节点搜索,请选择!',
|
||||||
|
type: 'error',
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -447,20 +546,31 @@ const headerForm = reactive({
|
|||||||
|
|
||||||
// 新增按钮
|
// 新增按钮
|
||||||
const addDeviceList = () => {
|
const addDeviceList = () => {
|
||||||
editAddDeviceDialog.value = true
|
if (queryParameter.value) {
|
||||||
editAddDeviceData.objectType = ''
|
editAddDeviceDialog.value = true
|
||||||
editAddDeviceData.code = ''
|
deviceTypeList.value.forEach((ele: any) => {
|
||||||
editAddDeviceData.name = ''
|
if (String(ele.equipmentTypeId) === queryParameter.value.code) {
|
||||||
editAddDeviceData.madeinFactory = ''
|
editAddDeviceData.objectType = ele.equipmentTypeName
|
||||||
editAddDeviceData.model = ''
|
}
|
||||||
editAddDeviceData.location = ''
|
})
|
||||||
editAddDeviceData.longitude = ''
|
editAddDeviceData.code = ''
|
||||||
editAddDeviceData.latitude = ''
|
editAddDeviceData.name = ''
|
||||||
editAddDeviceData.installDate = ''
|
editAddDeviceData.madeinFactory = ''
|
||||||
editAddDeviceData.remarks = ''
|
editAddDeviceData.model = ''
|
||||||
editAddDeviceData.orgId = ''
|
editAddDeviceData.location = ''
|
||||||
editAddDeviceData.parentEquipmentId = ''
|
editAddDeviceData.longitude = ''
|
||||||
editAddDeviceData.iotModelId = ''
|
editAddDeviceData.latitude = ''
|
||||||
|
editAddDeviceData.installDate = ''
|
||||||
|
editAddDeviceData.remarks = ''
|
||||||
|
editAddDeviceData.orgId = ''
|
||||||
|
editAddDeviceData.parentEquipmentId = queryParameter.value.id
|
||||||
|
editAddDeviceData.iotModelId = ''
|
||||||
|
} else {
|
||||||
|
ElMessage.error({
|
||||||
|
message: '无设备节点添加,请选择!',
|
||||||
|
type: 'error',
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查看设备详情
|
// 查看设备详情
|
||||||
@ -492,10 +602,16 @@ const handleCloseEditDevice = () => {
|
|||||||
// 设备查看按钮
|
// 设备查看按钮
|
||||||
const viewDeviceDetails = (data: any) => {
|
const viewDeviceDetails = (data: any) => {
|
||||||
console.log(data, '查看设备详情')
|
console.log(data, '查看设备详情')
|
||||||
|
modifyDeviceDetails.value?.resetFields()
|
||||||
editDeviceDialog.value = true
|
editDeviceDialog.value = true
|
||||||
editDeviceData.id = data.row.id
|
editDeviceData.id = data.row.id
|
||||||
editDeviceData.objectType = data.row.objectType
|
deviceTypeList.value.forEach((ele: any) => {
|
||||||
|
if (ele.equipmentTypeId === data.row.objectType) {
|
||||||
|
editDeviceData.objectType = ele.equipmentTypeName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// editDeviceData.objectType = data.row.objectType
|
||||||
editDeviceData.code = data.row.code
|
editDeviceData.code = data.row.code
|
||||||
editDeviceData.name = data.row.name
|
editDeviceData.name = data.row.name
|
||||||
editDeviceData.madeinFactory = data.row.madeinFactory
|
editDeviceData.madeinFactory = data.row.madeinFactory
|
||||||
@ -543,36 +659,47 @@ const dialogDeviceDeletion1 = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const longitudePass = (rule: any, value: any, callback: any) => {
|
||||||
|
console.log(value, 6666)
|
||||||
|
if (!value) {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
if (value >= 73.66 && value <= 135.05) {
|
||||||
|
callback()
|
||||||
|
} else {
|
||||||
|
callback(new Error('请输入73.66~135.05之间的数字'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const latitudePass = (rule: any, value: any, callback: any) => {
|
||||||
|
console.log(value, 6666)
|
||||||
|
if (!value) {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
if (value >= 3.86 && value <= 53.55) {
|
||||||
|
callback()
|
||||||
|
} else {
|
||||||
|
callback(new Error('请输入3.86~53.55之间的数字'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const editDeviceRules = reactive({
|
const editDeviceRules = reactive({
|
||||||
// name: [
|
name: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: '设备名称不能为空',
|
message: '设备名称不能为空',
|
||||||
// trigger: 'blur',
|
trigger: 'blur',
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
// code: [
|
code: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: '设备编码不能为空',
|
message: '设备编码不能为空',
|
||||||
// trigger: 'blur',
|
trigger: 'blur',
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
// administrative: [
|
longitude: [{ validator: longitudePass, trigger: 'blur' }],
|
||||||
// {
|
latitude: [{ validator: latitudePass, trigger: 'blur' }],
|
||||||
// required: true,
|
|
||||||
// message: '管理部门不能为空',
|
|
||||||
// trigger: 'blur',
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// statusIdentification: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: '状态标识不能为空',
|
|
||||||
// trigger: 'blur',
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
})
|
})
|
||||||
const modifyDeviceDetails = ref()
|
const modifyDeviceDetails = ref()
|
||||||
const saveData = () => {
|
const saveData = () => {
|
||||||
@ -580,6 +707,11 @@ const saveData = () => {
|
|||||||
|
|
||||||
modifyDeviceDetails.value.validate((valid: any) => {
|
modifyDeviceDetails.value.validate((valid: any) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
deviceTypeList.value.forEach((ele: any) => {
|
||||||
|
if (ele.equipmentTypeName === editDeviceData.objectType) {
|
||||||
|
editDeviceData.objectType = ele.equipmentTypeId
|
||||||
|
}
|
||||||
|
})
|
||||||
equipUpdate(editDeviceData).then((res: any) => {
|
equipUpdate(editDeviceData).then((res: any) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
@ -622,34 +754,22 @@ const editAddDeviceData = reactive({
|
|||||||
|
|
||||||
// 设备新增字段校验
|
// 设备新增字段校验
|
||||||
const editAddDeviceRules = reactive({
|
const editAddDeviceRules = reactive({
|
||||||
// name: [
|
name: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: '设备名称不能为空',
|
message: '设备名称不能为空',
|
||||||
// trigger: 'blur',
|
trigger: 'blur',
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
// code: [
|
code: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: '设备编码不能为空',
|
message: '设备编码不能为空',
|
||||||
// trigger: 'blur',
|
trigger: 'blur',
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
// administrative: [
|
longitude: [{ validator: longitudePass, trigger: 'blur' }],
|
||||||
// {
|
latitude: [{ validator: latitudePass, trigger: 'blur' }],
|
||||||
// required: true,
|
|
||||||
// message: '管理部门不能为空',
|
|
||||||
// trigger: 'blur',
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// statusIdentification: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: '状态标识不能为空',
|
|
||||||
// trigger: 'blur',
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const editAddDeviceDialog = ref(false)
|
const editAddDeviceDialog = ref(false)
|
||||||
@ -657,7 +777,13 @@ const modifyAddDeviceDetails = ref()
|
|||||||
const saveAddData = () => {
|
const saveAddData = () => {
|
||||||
modifyAddDeviceDetails.value.validate((valid: any) => {
|
modifyAddDeviceDetails.value.validate((valid: any) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
deviceTypeList.value.forEach((ele: any) => {
|
||||||
|
if (ele.equipmentTypeName === editAddDeviceData.objectType) {
|
||||||
|
editAddDeviceData.objectType = String(ele.equipmentTypeId)
|
||||||
|
}
|
||||||
|
})
|
||||||
console.log(editAddDeviceData, 'editAddDeviceData')
|
console.log(editAddDeviceData, 'editAddDeviceData')
|
||||||
|
|
||||||
equipAdd(editAddDeviceData).then((res) => {
|
equipAdd(editAddDeviceData).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
|
Loading…
Reference in New Issue
Block a user