Commit 90518a84 authored by zhangjianqian's avatar zhangjianqian

Merge remote-tracking branch 'origin/master'

parents 25821a85 6393b967
...@@ -3,6 +3,7 @@ package com.zehong.web.controller.supervise; ...@@ -3,6 +3,7 @@ package com.zehong.web.controller.supervise;
import java.util.List; import java.util.List;
import com.zehong.system.domain.Listaw; import com.zehong.system.domain.Listaw;
import com.zehong.system.domain.TDetailInfoList;
import com.zehong.system.domain.TDeviceInfoS; import com.zehong.system.domain.TDeviceInfoS;
import com.zehong.system.service.ITEmployedPeopleInfoService; import com.zehong.system.service.ITEmployedPeopleInfoService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -80,7 +81,7 @@ public class TDeviceInfoController extends BaseController ...@@ -80,7 +81,7 @@ public class TDeviceInfoController extends BaseController
tDeviceInfoService.insertTDeviceInfo(listaw.gettDeviceInfo()); tDeviceInfoService.insertTDeviceInfo(listaw.gettDeviceInfo());
if (!"null".equals(listaw.gettDeviceInfoS())){ if (!"null".equals(listaw.gettDeviceInfoS())){
//将关联设备信息与设备进行绑定 //将关联设备信息与设备进行绑定
tDeviceInfoService.updatetRelationDeviceDetailInfo(listaw.gettDeviceInfoS(),listaw.gettDeviceInfo().getDeviceId()); tDeviceInfoService.updatetRelationDeviceDetailInfo(listaw.gettDeviceInfoS(),listaw.gettDeviceInfo().getDeviceId(),listaw.gettDeviceInfo().getRelationDeviceType());
} }
TDeviceInfo tDeviceInfo = new TDeviceInfo(); TDeviceInfo tDeviceInfo = new TDeviceInfo();
//根据企业id查询企业名称 //根据企业id查询企业名称
...@@ -173,12 +174,12 @@ public class TDeviceInfoController extends BaseController ...@@ -173,12 +174,12 @@ public class TDeviceInfoController extends BaseController
/** /**
* 查询设备已经关联的关联设备接口 * 查询设备已经关联的关联设备接口
* @param id * @param tDetailInfoList
* @return * @return
*/ */
@RequestMapping("/selectDetailInfoList") @RequestMapping("/selectDetailInfoList")
public TableDataInfo selectDetailInfoList(@RequestBody int id){ public TableDataInfo selectDetailInfoList(@RequestBody TDetailInfoList tDetailInfoList){
List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoService.selectDetailInfoList(id); List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoService.selectDetailInfoList(tDetailInfoList.getId(),tDetailInfoList.getRelationDeviceType());
return getDataTable(tDeviceInfoS); return getDataTable(tDeviceInfoS);
} }
...@@ -188,9 +189,15 @@ public class TDeviceInfoController extends BaseController ...@@ -188,9 +189,15 @@ public class TDeviceInfoController extends BaseController
*/ */
@RequestMapping("/updateDetailInfoList") @RequestMapping("/updateDetailInfoList")
public void updateDetailInfoList(@RequestBody Listaw listaw){ public void updateDetailInfoList(@RequestBody Listaw listaw){
Long id;
if (null!=listaw.gettDeviceInfo().getDeviceId()){
id=listaw.gettDeviceInfo().getDeviceId();
}else {
id=listaw.gettDeviceInfo().getSiteStationId();
}
if (!"null".equals(listaw.gettDeviceInfoS())){ if (!"null".equals(listaw.gettDeviceInfoS())){
//将关联设备信息与设备进行绑定 //将关联设备信息与设备进行绑定
tDeviceInfoService.updatetRelationDeviceDetailInfo(listaw.gettDeviceInfoS(),listaw.gettDeviceInfo().getDeviceId()); tDeviceInfoService.updatetRelationDeviceDetailInfo(listaw.gettDeviceInfoS(),id,listaw.gettDeviceInfo().getRelationDeviceType());
} }
} }
......
package com.zehong.web.controller.supervise; package com.zehong.web.controller.supervise;
import java.util.List; import java.util.List;
import com.zehong.system.domain.TTSiteStationInfoList;
import com.zehong.system.service.ITDeviceInfoService;
import com.zehong.system.service.ITEmployedPeopleInfoService; import com.zehong.system.service.ITEmployedPeopleInfoService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -35,6 +38,9 @@ public class TSiteStationInfoController extends BaseController { ...@@ -35,6 +38,9 @@ public class TSiteStationInfoController extends BaseController {
@Autowired @Autowired
private ITEmployedPeopleInfoService tEmployedPeopleInfoService; private ITEmployedPeopleInfoService tEmployedPeopleInfoService;
@Autowired
private ITDeviceInfoService tDeviceInfoService;
/** /**
* 查询场站信息列表 * 查询场站信息列表
*/ */
...@@ -76,12 +82,16 @@ public class TSiteStationInfoController extends BaseController { ...@@ -76,12 +82,16 @@ public class TSiteStationInfoController extends BaseController {
@PreAuthorize("@ss.hasPermi('supervise:station:add')") @PreAuthorize("@ss.hasPermi('supervise:station:add')")
@Log(title = "场站信息", businessType = BusinessType.INSERT) @Log(title = "场站信息", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody TSiteStationInfo tSiteStationInfo) public void add(@RequestBody TTSiteStationInfoList tSiteStationInfos)
{ {
//根据企业id查询企业名称 //根据企业id查询企业名称
String EnterpriseName = tEmployedPeopleInfoService.selectEnterpriseName(tSiteStationInfo.getBeyondEnterpriseId()); String EnterpriseName = tEmployedPeopleInfoService.selectEnterpriseName(tSiteStationInfos.gettDeviceInfo().getBeyondEnterpriseId());
tSiteStationInfo.setBeyondEnterpriseName(EnterpriseName); tSiteStationInfos.gettDeviceInfo().setBeyondEnterpriseName(EnterpriseName);
return toAjax(tSiteStationInfoService.insertTSiteStationInfo(tSiteStationInfo)); tSiteStationInfoService.insertTSiteStationInfo(tSiteStationInfos.gettDeviceInfo());
if (!"null".equals(tSiteStationInfos.gettDeviceInfoS())){
//将关联设备信息与设备进行绑定
tDeviceInfoService.updatetRelationDeviceDetailInfo(tSiteStationInfos.gettDeviceInfoS(),tSiteStationInfos.gettDeviceInfo().getSiteStationId(),tSiteStationInfos.gettDeviceInfo().getRelationDeviceType());
}
} }
/** /**
......
package com.zehong.system.domain;
public class TDetailInfoList {
private int id;
private String relationDeviceType;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getRelationDeviceType() {
return relationDeviceType;
}
public void setRelationDeviceType(String relationDeviceType) {
this.relationDeviceType = relationDeviceType;
}
@Override
public String toString() {
return "TDetailInfoList{" +
"id=" + id +
", relationDeviceType='" + relationDeviceType + '\'' +
'}';
}
}
...@@ -21,6 +21,9 @@ public class TDeviceInfo extends BaseEntity ...@@ -21,6 +21,9 @@ public class TDeviceInfo extends BaseEntity
/** 设备id */ /** 设备id */
private Long deviceId; private Long deviceId;
/** 场站id*/
private Long siteStationId;
/** 设备名称 */ /** 设备名称 */
@Excel(name = "设备名称") @Excel(name = "设备名称")
private String deviceName; private String deviceName;
...@@ -81,6 +84,26 @@ public class TDeviceInfo extends BaseEntity ...@@ -81,6 +84,26 @@ public class TDeviceInfo extends BaseEntity
/** 备注 */ /** 备注 */
private String remarks; private String remarks;
/** 关联设备类型 1设备 2场站*/
private String relationDeviceType;
public Long getSiteStationId() {
return siteStationId;
}
public void setSiteStationId(Long siteStationId) {
this.siteStationId = siteStationId;
}
public String getRelationDeviceType() {
return relationDeviceType;
}
public void setRelationDeviceType(String relationDeviceType) {
this.relationDeviceType = relationDeviceType;
}
public void setDeviceId(Long deviceId) public void setDeviceId(Long deviceId)
{ {
this.deviceId = deviceId; this.deviceId = deviceId;
...@@ -240,28 +263,26 @@ public class TDeviceInfo extends BaseEntity ...@@ -240,28 +263,26 @@ public class TDeviceInfo extends BaseEntity
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return "TDeviceInfo{" +
.append("deviceId", getDeviceId()) "deviceId=" + deviceId +
.append("deviceName", getDeviceName()) ", siteStationId=" + siteStationId +
.append("deviceCode", getDeviceCode()) ", deviceName='" + deviceName + '\'' +
.append("deviceAddr", getDeviceAddr()) ", deviceCode='" + deviceCode + '\'' +
.append("deviceModel", getDeviceModel()) ", deviceAddr='" + deviceAddr + '\'' +
.append("deviceType", getDeviceType()) ", deviceModel='" + deviceModel + '\'' +
.append("beyondEnterpriseId", getBeyondEnterpriseId()) ", deviceType='" + deviceType + '\'' +
.append("beyondEnterpriseName", getBeyondEnterpriseName()) ", beyondEnterpriseId=" + beyondEnterpriseId +
.append("longitude", getLongitude()) ", beyondEnterpriseName='" + beyondEnterpriseName + '\'' +
.append("latitude", getLatitude()) ", longitude='" + longitude + '\'' +
.append("iconUrl", getIconUrl()) ", latitude='" + latitude + '\'' +
.append("linkman", getLinkman()) ", iconUrl='" + iconUrl + '\'' +
.append("phone", getPhone()) ", linkman='" + linkman + '\'' +
.append("installationTime", getInstallationTime()) ", phone='" + phone + '\'' +
.append("inspectionTime", getInspectionTime()) ", installationTime=" + installationTime +
.append("createBy", getCreateBy()) ", inspectionTime=" + inspectionTime +
.append("createTime", getCreateTime()) ", isDel='" + isDel + '\'' +
.append("updateBy", getUpdateBy()) ", remarks='" + remarks + '\'' +
.append("updateTime", getUpdateTime()) ", relationDeviceType='" + relationDeviceType + '\'' +
.append("isDel", getIsDel()) '}';
.append("remarks", getRemarks())
.toString();
} }
} }
...@@ -57,6 +57,21 @@ public class TSiteStationInfo extends BaseEntity ...@@ -57,6 +57,21 @@ public class TSiteStationInfo extends BaseEntity
@Excel(name = "备注") @Excel(name = "备注")
private String remarks; private String remarks;
/** 关联设备类型 1设备 2场站*/
private String relationDeviceType;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public String getRelationDeviceType() {
return relationDeviceType;
}
public void setRelationDeviceType(String relationDeviceType) {
this.relationDeviceType = relationDeviceType;
}
public void setSiteStationId(Long siteStationId) public void setSiteStationId(Long siteStationId)
{ {
this.siteStationId = siteStationId; this.siteStationId = siteStationId;
...@@ -159,22 +174,19 @@ public class TSiteStationInfo extends BaseEntity ...@@ -159,22 +174,19 @@ public class TSiteStationInfo extends BaseEntity
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return "TSiteStationInfo{" +
.append("siteStationId", getSiteStationId()) "siteStationId=" + siteStationId +
.append("siteStationType", getSiteStationType()) ", siteStationType='" + siteStationType + '\'' +
.append("siteStationName", getSiteStationName()) ", siteStationName='" + siteStationName + '\'' +
.append("buildDate", getBuildDate()) ", buildDate='" + buildDate + '\'' +
.append("buildUnit", getBuildUnit()) ", buildUnit='" + buildUnit + '\'' +
.append("beyondEnterpriseId", getBeyondEnterpriseId()) ", beyondEnterpriseId=" + beyondEnterpriseId +
.append("beyondEnterpriseName", getBeyondEnterpriseName()) ", beyondEnterpriseName='" + beyondEnterpriseName + '\'' +
.append("longitude", getLongitude()) ", longitude=" + longitude +
.append("latitude", getLatitude()) ", latitude=" + latitude +
.append("createBy", getCreateBy()) ", isDel='" + isDel + '\'' +
.append("createTime", getCreateTime()) ", remarks='" + remarks + '\'' +
.append("updateBy", getUpdateBy()) ", relationDeviceType='" + relationDeviceType + '\'' +
.append("updateTime", getUpdateTime()) '}';
.append("isDel", getIsDel())
.append("remarks", getRemarks())
.toString();
} }
} }
package com.zehong.system.domain;
import java.util.List;
public class TTSiteStationInfoList {
private TSiteStationInfo tDeviceInfo;
private List<TDeviceInfoS> tDeviceInfoS;
public TSiteStationInfo gettDeviceInfo() {
return tDeviceInfo;
}
public void settDeviceInfo(TSiteStationInfo tDeviceInfo) {
this.tDeviceInfo = tDeviceInfo;
}
public List<TDeviceInfoS> gettDeviceInfoS() {
return tDeviceInfoS;
}
public void settDeviceInfoS(List<TDeviceInfoS> tDeviceInfoS) {
this.tDeviceInfoS = tDeviceInfoS;
}
@Override
public String toString() {
return "TTSiteStationInfoList{" +
"tDeviceInfo=" + tDeviceInfo +
", tDeviceInfoS=" + tDeviceInfoS +
'}';
}
}
...@@ -96,14 +96,14 @@ public interface TDeviceInfoMapper ...@@ -96,14 +96,14 @@ public interface TDeviceInfoMapper
* 将关联设备信息与设备进行绑定 * 将关联设备信息与设备进行绑定
* @param gettDeviceInfoS * @param gettDeviceInfoS
*/ */
void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS")List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id); void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS")List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id,@Param("relationDevicetype") String relationDevicetype);
/** /**
* 查询设备已经关联的关联设备 * 查询设备已经关联的关联设备
* @param id * @param id
* @return * @return
*/ */
List<TDeviceInfoS> selectDetailInfoList(int id); List<TDeviceInfoS> selectDetailInfoList(@Param("id")int id,@Param("relationDeviceType")String relationDeviceType);
/** /**
* 解绑 设备与关联设备关系 * 解绑 设备与关联设备关系
......
...@@ -96,14 +96,14 @@ public interface ITDeviceInfoService ...@@ -96,14 +96,14 @@ public interface ITDeviceInfoService
* 将关联设备信息与设备进行绑定 * 将关联设备信息与设备进行绑定
* @param gettDeviceInfoS * @param gettDeviceInfoS
*/ */
void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS") List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id); void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS") List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id,@Param("relationDevicetype") String relationDevicetype);
/** /**
* 查询设备已经关联的关联设备 * 查询设备已经关联的关联设备
* @param id * @param id
* @return * @return
*/ */
List<TDeviceInfoS> selectDetailInfoList(int id); List<TDeviceInfoS> selectDetailInfoList(@Param("id") int id,@Param("relationDeviceType")String relationDeviceType);
/** /**
* 解绑 设备与关联设备关系 * 解绑 设备与关联设备关系
......
...@@ -149,8 +149,8 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService ...@@ -149,8 +149,8 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService
* @param gettDeviceInfoS * @param gettDeviceInfoS
*/ */
@Override @Override
public void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS")List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id) { public void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS")List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id,@Param("relationDevicetype") String relationDevicetype) {
tDeviceInfoMapper.updatetRelationDeviceDetailInfo(gettDeviceInfoS,id); tDeviceInfoMapper.updatetRelationDeviceDetailInfo(gettDeviceInfoS,id,relationDevicetype);
} }
/** /**
...@@ -159,8 +159,8 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService ...@@ -159,8 +159,8 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService
* @return * @return
*/ */
@Override @Override
public List<TDeviceInfoS> selectDetailInfoList(int id) { public List<TDeviceInfoS> selectDetailInfoList(@Param("id") int id,@Param("relationDeviceType")String relationDeviceType) {
List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoMapper.selectDetailInfoList(id); List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoMapper.selectDetailInfoList(id,relationDeviceType);
return tDeviceInfoS; return tDeviceInfoS;
} }
......
...@@ -176,7 +176,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -176,7 +176,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--查询设备已经关联的关联设备--> <!--查询设备已经关联的关联设备-->
<select id="selectDetailInfoList" resultMap="TDeviceInfoResultS"> <select id="selectDetailInfoList" resultMap="TDeviceInfoResultS">
select relation_device_detail_id,relation_device_id,device_name,device_model,iot_no,remarks, (CASE device_type WHEN '1' THEN '压力表' WHEN '2' THEN '流量计' end) as device_type select relation_device_detail_id,relation_device_id,device_name,device_model,iot_no,remarks, (CASE device_type WHEN '1' THEN '压力表' WHEN '2' THEN '流量计' end) as device_type
from t_relation_device_detail_info where relation_device_id=#{id} from t_relation_device_detail_info where relation_device_id=#{id} and relation_device_type=#{relationDeviceType}
</select> </select>
<!--关联设备数据删除接口--> <!--关联设备数据删除接口-->
...@@ -195,7 +195,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -195,7 +195,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--将关联设备信息与设备进行绑定--> <!--将关联设备信息与设备进行绑定-->
<update id="updatetRelationDeviceDetailInfo" parameterType="java.util.List"> <update id="updatetRelationDeviceDetailInfo" parameterType="java.util.List">
update t_relation_device_detail_info set relation_device_id = #{id} update t_relation_device_detail_info set relation_device_id = #{id} ,relation_device_type =#{relationDevicetype}
where where
relation_device_detail_id in relation_device_detail_id in
<foreach collection="gettDeviceInfoS" item="items" index="key" open="(" separator="," close=")"> <foreach collection="gettDeviceInfoS" item="items" index="key" open="(" separator="," close=")">
...@@ -205,7 +205,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -205,7 +205,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--解绑 设备与关联设备关系--> <!--解绑 设备与关联设备关系-->
<update id="deleteDeviceDetailInfo"> <update id="deleteDeviceDetailInfo">
update t_relation_device_detail_info set relation_device_id='0' where relation_device_detail_id=#{deviceId} update t_relation_device_detail_info set relation_device_id=NULL where relation_device_detail_id=#{deviceId}
</update> </update>
</mapper> </mapper>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<div @click="pos" class="positionBtn pos"> <div @click="pos" class="positionBtn pos">
<el-button type="primary" size="mini" icon="el-icon-position" <el-button type="primary" size="mini" icon="el-icon-position"
>定位</el-button > 确定 </el-button
> >
</div> </div>
</template> </template>
...@@ -78,6 +78,7 @@ export default { ...@@ -78,6 +78,7 @@ export default {
if (newValue) { if (newValue) {
this.init(); this.init();
} else { } else {
this.map.destroy(); this.map.destroy();
this.searchinput=""; this.searchinput="";
} }
...@@ -101,10 +102,11 @@ export default { ...@@ -101,10 +102,11 @@ export default {
this.map.mouseAddMarker(); this.map.mouseAddMarker();
} }
} else { } else {
console.log(this.pipePath.length)
if (this.pipePath.length > 0) { if (this.pipePath.length > 0) {
this.map.addPipeLine({ path: this.pipePath }); this.map.addPipeLine({ path: this.pipePath });
} else { } else {
this.mouseAddPipeline(); this.map.mouseAddPipeline();
} }
} }
}); });
...@@ -119,7 +121,6 @@ export default { ...@@ -119,7 +121,6 @@ export default {
pos() { pos() {
this.path = this.map.getPath(); this.path = this.map.getPath();
this.$emit("getPath", this.path); this.$emit("getPath", this.path);
console.log(this.path);
if (this.path?.length > 0) { if (this.path?.length > 0) {
this.$emit("update:dialogVisible", false); this.$emit("update:dialogVisible", false);
} }
......
/* /*
* @Author: your name * @Author: your name
* @Date: 2022-01-07 11:29:13 * @Date: 2022-01-07 11:29:13
* @LastEditTime: 2022-02-17 11:35:38 * @LastEditTime: 2022-02-18 17:29:27
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /gassafety-progress/gassafetyprogress-web/src/main.js * @FilePath: /gassafety-progress/gassafetyprogress-web/src/main.js
*/ */
import Vue from 'vue' import Vue from "vue";
import Cookies from 'js-cookie' import Cookies from "js-cookie";
import Element from 'element-ui' import Element from "element-ui";
import './assets/styles/element-variables.scss' import "./assets/styles/element-variables.scss";
import '@/assets/styles/index.scss' // global css import "@/assets/styles/index.scss"; // global css
import '@/assets/styles/zehong.scss' // zehong css import "@/assets/styles/zehong.scss"; // zehong css
import './assets/css/font.css' import "./assets/css/font.css";
import './assets/styles/all.scss' import "./assets/styles/all.scss";
import App from './App' import App from "./App";
import store from './store' import store from "./store";
import router from './router' import router from "./router";
import permission from './directive/permission' import permission from "./directive/permission";
import * as echarts from 'echarts' import * as echarts from "echarts";
import './assets/icons' // icon import "./assets/icons"; // icon
import './permission' // permission control import "./permission"; // permission control
import { getDicts } from "@/api/system/dict/data"; import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config"; import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/zehong"; import {
parseTime,
resetForm,
addDateRange,
selectDictLabel,
selectDictLabels,
download,
handleTree,
} from "@/utils/zehong";
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
// 自定义表格工具扩展 // 自定义表格工具扩展
import RightToolbar from "@/components/RightToolbar" import RightToolbar from "@/components/RightToolbar";
// 全局方法挂载 // 全局方法挂载
Vue.prototype.$echarts = echarts Vue.prototype.$echarts = echarts;
Vue.prototype.$Vue = Vue; Vue.prototype.$Vue = Vue;
Vue.prototype.getDicts = getDicts Vue.prototype.getDicts = getDicts;
Vue.prototype.getConfigKey = getConfigKey Vue.prototype.getConfigKey = getConfigKey;
Vue.prototype.parseTime = parseTime Vue.prototype.parseTime = parseTime;
Vue.prototype.resetForm = resetForm Vue.prototype.resetForm = resetForm;
Vue.prototype.addDateRange = addDateRange Vue.prototype.addDateRange = addDateRange;
Vue.prototype.selectDictLabel = selectDictLabel Vue.prototype.selectDictLabel = selectDictLabel;
Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.selectDictLabels = selectDictLabels;
Vue.prototype.download = download Vue.prototype.download = download;
Vue.prototype.handleTree = handleTree Vue.prototype.handleTree = handleTree;
Vue.prototype.msgSuccess = function (msg) { Vue.prototype.msgSuccess = function (msg) {
this.$message({ showClose: true, message: msg, type: "success" }); this.$message({ showClose: true, message: msg, type: "success" });
} };
Vue.prototype.msgError = function (msg) { Vue.prototype.msgError = function (msg) {
this.$message({ showClose: true, message: msg, type: "error" }); this.$message({ showClose: true, message: msg, type: "error" });
} };
Vue.prototype.msgInfo = function (msg) { Vue.prototype.msgInfo = function (msg) {
this.$message.info(msg); this.$message.info(msg);
} };
// 全局组件挂载 // 全局组件挂载
Vue.component('Pagination', Pagination) Vue.component("Pagination", Pagination);
Vue.component('RightToolbar', RightToolbar) Vue.component("RightToolbar", RightToolbar);
Vue.use(permission) Vue.use(permission);
/** /**
* If you don't want to use mock-server * If you don't want to use mock-server
...@@ -72,16 +79,19 @@ Vue.use(permission) ...@@ -72,16 +79,19 @@ Vue.use(permission)
* Currently MockJs will be used in the production environment, * Currently MockJs will be used in the production environment,
* please remove it before going online! ! ! * please remove it before going online! ! !
*/ */
// dialog只允许点关闭或者取消按钮关闭
Element.Dialog.props.closeOnClickModal = false;
Element.Dialog.props.closeOnPressEscape = false;
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size size: Cookies.get("size") || "medium", // set element-ui default size
}) });
console.log(Element);
Vue.config.productionTip = false Vue.config.productionTip = false;
new Vue({ new Vue({
el: '#app', el: "#app",
router, router,
store, store,
render: h => h(App) render: (h) => h(App),
}) });
...@@ -19,15 +19,15 @@ ...@@ -19,15 +19,15 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="所在地址" prop="deviceAddr"> <!-- <el-form-item label="所在地址" prop="deviceAddr">-->
<el-input <!-- <el-input-->
v-model="queryParams.deviceAddr" <!-- v-model="queryParams.deviceAddr"-->
placeholder="请输入所在地址" <!-- placeholder="请输入所在地址"-->
clearable <!-- clearable-->
size="small" <!-- size="small"-->
@keyup.enter.native="handleQuery" <!-- @keyup.enter.native="handleQuery"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
/> />
<!--选择关联设备弹出框--> <!--选择关联设备弹出框-->
<el-dialog title="选择关联设备" :visible.sync="dialogTableVisible" formLabelWidth="160px"> <el-dialog title="选择关联设备" width="1100px" :visible.sync="dialogTableVisible" formLabelWidth="160px">
<template> <template>
<el-form :model="dateQueryParams" ref="queryForm" :inline="true" v-show="showSearch" > <el-form :model="dateQueryParams" ref="queryForm" :inline="true" v-show="showSearch" >
<el-form-item label="设备名称" prop="deviceName"> <el-form-item label="设备名称" prop="deviceName">
...@@ -282,7 +282,6 @@ ...@@ -282,7 +282,6 @@
</el-dialog> </el-dialog>
<!-- 添加或修改设备信息对话框 --> <!-- 添加或修改设备信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
...@@ -334,20 +333,37 @@ ...@@ -334,20 +333,37 @@
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label="经度" prop="longitude">-->
<!-- <el-input v-model="form.longitude" placeholder="请输入经度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label="纬度" prop="latitude">-->
<!-- <el-input v-model="form.latitude" placeholder="请输入纬度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row> <el-row>
<el-col :span="11"> <el-col :span="23">
<el-form-item label="经度" prop="longitude"> <el-form-item label="经纬度坐标" prop="longitude">
<el-col :span="9">
<el-input v-model="form.longitude" placeholder="请输入经度" /> <el-input v-model="form.longitude" placeholder="请输入经度" />
</el-form-item>
</el-col> </el-col>
<el-col :span="9" style="margin-left: 10px">
<el-col :span="11"> <el-input v-model="form.latitude" placeholder="请输入纬度"/>
<el-form-item label="纬度" prop="latitude"> </el-col>
<el-input v-model="form.latitude" placeholder="请输入纬度" /> <el-col :span="3" style="margin-left: 30px">
<el-button type="primary" plain @click="MapdialogFun">选择经纬度</el-button>
</el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="设备图片路径" prop="iconUrl"> <el-form-item label="设备图片路径" prop="iconUrl">
...@@ -428,16 +444,25 @@ ...@@ -428,16 +444,25 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<GetPos
:dialogVisible.sync="dialogTableVisibles"
device=""
:devicePos="devicePos"
@close="dialogcancelFun"
@getPath="getPath"
/>
</div> </div>
</template> </template>
<script> <script>
import { listDevice, getDevice, delDevice, addDevice, updateDevice, exportDevice, selectTEnterprise,getDdeviceDetailInfo,addDetailInfos,deleteDetailInfo,deleteeListDetailInfo,selectDetailInfoList,deleteDeviceDetailInfo,updateDetailInfoLists} from "@/api/regulation/device"; import { listDevice, getDevice, delDevice, addDevice, updateDevice, exportDevice, selectTEnterprise,getDdeviceDetailInfo,addDetailInfos,deleteDetailInfo,deleteeListDetailInfo,selectDetailInfoList,deleteDeviceDetailInfo,updateDetailInfoLists} from "@/api/regulation/device";
import GetPos from '@/components/GetPos';
import { EditorMap } from "@/utils/mapClass/getPath.js";
export default { export default {
name: "Device", name: "Device",
components: { components: {
GetPos
}, },
data() { data() {
return { return {
...@@ -451,6 +476,10 @@ export default { ...@@ -451,6 +476,10 @@ export default {
multipleSelection: [], multipleSelection: [],
dialogTableVisible: false, dialogTableVisible: false,
dialogFormVisible: false, dialogFormVisible: false,
/**--------------地图使用数据---------------*/
dialogTableVisibles: false,
devicePos: [],
/**--------------地图使用数据---------------*/
form: { form: {
name: '', name: '',
region: '', region: '',
...@@ -459,7 +488,7 @@ export default { ...@@ -459,7 +488,7 @@ export default {
delivery: false, delivery: false,
type: [], type: [],
resource: '', resource: '',
desc: '' desc: '',
}, },
formLabelWidth: '120px', formLabelWidth: '120px',
/*添加关联设备*/ /*添加关联设备*/
...@@ -566,9 +595,6 @@ export default { ...@@ -566,9 +595,6 @@ export default {
iotNo:[ iotNo:[
{ required: true, message: "请输入联网编号", trigger: "blur" }, { required: true, message: "请输入联网编号", trigger: "blur" },
], ],
remarksn:[
{ required: true, message: "请输入备注", trigger: "blur" },
],
}, },
}; };
}, },
...@@ -627,7 +653,8 @@ export default { ...@@ -627,7 +653,8 @@ export default {
updateBy: null, updateBy: null,
updateTime: null, updateTime: null,
isDel: null, isDel: null,
remarks: null remarks: null,
relationDeviceType:'1',
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -695,9 +722,12 @@ export default { ...@@ -695,9 +722,12 @@ export default {
this.test = response.data; this.test = response.data;
}); });
const deviceId = row.deviceId || this.ids const deviceId = row.deviceId || this.ids
var tDeviceInfon={
id:deviceId,
relationDeviceType:'1'
}
//查询关联设备信息数据 //查询关联设备信息数据
selectDetailInfoList(deviceId).then(response => { selectDetailInfoList(JSON.stringify(tDeviceInfon)).then(response => {
this.DetailInfoList = response.rows; this.DetailInfoList = response.rows;
this.loadings = false; this.loadings = false;
}); });
...@@ -768,6 +798,7 @@ export default { ...@@ -768,6 +798,7 @@ export default {
this.getList(); this.getList();
}); });
if ( this.datalist !=null){ if ( this.datalist !=null){
this.form.relationDeviceType='1';
var tDeviceInfon={ var tDeviceInfon={
tDeviceInfo:this.form, tDeviceInfo:this.form,
tDeviceInfoS:this.datalist tDeviceInfoS:this.datalist
...@@ -779,11 +810,12 @@ export default { ...@@ -779,11 +810,12 @@ export default {
}); });
} }
} else { } else {
alert("走的新增")
if (valid) { if (valid) {
//获取已经选中的下级设备id //获取已经选中的下级设备id
const deviceIds = this.ids; const deviceIds = this.ids;
// alert(deviceIds) // alert(deviceIds)
this.form.relationDeviceType='1';
var tDeviceInfon={ var tDeviceInfon={
tDeviceInfo:this.form, tDeviceInfo:this.form,
tDeviceInfoS:this.datalist tDeviceInfoS:this.datalist
...@@ -878,13 +910,6 @@ export default { ...@@ -878,13 +910,6 @@ export default {
//获取已经选中的下级设备id //获取已经选中的下级设备id
const deviceIds = this.ids; const deviceIds = this.ids;
const li=this.datalist; const li=this.datalist;
this.$confirm('是否确认添加关联设备信息?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
}).then(() => {
if (this.form.deviceId != null) { if (this.form.deviceId != null) {
//修改 //修改
this.DetailInfoList=this.DetailInfoList.concat(this.datalist) this.DetailInfoList=this.DetailInfoList.concat(this.datalist)
...@@ -905,7 +930,6 @@ export default { ...@@ -905,7 +930,6 @@ export default {
this.dialogTableVisible=false this.dialogTableVisible=false
this.msgSuccess("添加成功"); this.msgSuccess("添加成功");
} }
}).catch(() => {});
}, },
/** /**
* 选择关联设备查询方法 * 选择关联设备查询方法
...@@ -920,6 +944,32 @@ export default { ...@@ -920,6 +944,32 @@ export default {
//打开选择关联设备弹出框 //打开选择关联设备弹出框
this.dialogTableVisible = true this.dialogTableVisible = true
}); });
},
/**
* 经纬度坐标方法
*/
MapdialogFun() {
this.dialogTableVisibles = true;
},
/**
* 地图关闭方法
*/
dialogcancelFun() {
this.dialogTableVisibles = false;
},
/**
* 经纬度 选择
* @param res
*/
getPath(res){
console.log("res", res);
console.log(this.form.longitude, this.form.latitude);
//确认选择经纬度
this.form.longitude = res[0];
this.form.latitude = res[1];
} }
} }
}; };
......
...@@ -148,16 +148,32 @@ ...@@ -148,16 +148,32 @@
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label="经度" prop="longitude">-->
<!-- <el-input v-model="form.longitude" placeholder="请输入经度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label="纬度" prop="latitude">-->
<!-- <el-input v-model="form.latitude" placeholder="请输入纬度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row> <el-row>
<el-col :span="11"> <el-col :span="23">
<el-form-item label="经度" prop="longitude"> <el-form-item label="经纬度坐标" prop="longitude">
<el-col :span="9">
<el-input v-model="form.longitude" placeholder="请输入经度" /> <el-input v-model="form.longitude" placeholder="请输入经度" />
</el-form-item>
</el-col> </el-col>
<el-col :span="9" style="margin-left: 10px">
<el-col :span="11"> <el-input v-model="form.latitude" placeholder="请输入纬度"/>
<el-form-item label="纬度" prop="latitude"> </el-col>
<el-input v-model="form.latitude" placeholder="请输入纬度" /> <el-col :span="3" style="margin-left: 30px">
<el-button type="primary" plain @click="MapdialogFun">选择经纬度</el-button>
</el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -198,18 +214,31 @@ ...@@ -198,18 +214,31 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<GetPos
:dialogVisible.sync="dialogTableVisibles"
device=""
:devicePos="devicePos"
@close="dialogcancelFun"
@getPath="getPath"
/>
</div> </div>
</template> </template>
<script> <script>
import { listUser, getUser, delUser, addUser, updateUser, exportUser } from "@/api/regulation/user"; import { listUser, getUser, delUser, addUser, updateUser, exportUser } from "@/api/regulation/user";
import GetPos from '@/components/GetPos';
export default { export default {
name: "User", name: "User",
components: { components: {
GetPos
}, },
data() { data() {
return { return {
/**--------------地图使用数据---------------*/
dialogTableVisibles: false,
devicePos: [],
/**--------------地图使用数据---------------*/
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -372,6 +401,27 @@ export default { ...@@ -372,6 +401,27 @@ export default {
this.download(response.msg); this.download(response.msg);
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
},
/**
* 经纬度坐标方法
*/
MapdialogFun() {
this.dialogTableVisibles = true;
},
/**
* 地图关闭方法
*/
dialogcancelFun() {
this.dialogTableVisibles = false;
},
/**
* 经纬度 选择
* @param res
*/
getPath(res){
//确认选择经纬度
this.form.longitude = res[0];
this.form.latitude = res[1];
} }
} }
}; };
......
<template> <template>
<div class="app-container"> <div class="app-container">
<GetPos
:dialogVisible.sync="dialogVisible"
device="pipe"
@close="dialogVisible=false"
@getPath="getPath"
:pipePath="this.coordinateslist"
/>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="管道长度" prop="pipeLength"> <el-form-item label="管道长度" prop="pipeLength">
<el-input <el-input
...@@ -19,15 +27,15 @@ ...@@ -19,15 +27,15 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="压力" prop="pipePressure"> <!-- <el-form-item label="压力" prop="pipePressure">-->
<el-input <!-- <el-input-->
v-model="queryParams.pipePressure" <!-- v-model="queryParams.pipePressure"-->
placeholder="请输入压力" <!-- placeholder="请输入压力"-->
clearable <!-- clearable-->
size="small" <!-- size="small"-->
@keyup.enter.native="handleQuery" <!-- @keyup.enter.native="handleQuery"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
...@@ -92,7 +100,7 @@ ...@@ -92,7 +100,7 @@
<el-table-column label="建设年代" align="center" prop="buildDate" /> <el-table-column label="建设年代" align="center" prop="buildDate" />
<el-table-column label="建设单位" align="center" prop="buildUnit" /> <el-table-column label="建设单位" align="center" prop="buildUnit" />
<el-table-column label="权属单位" align="center" prop="beyondEnterpriseName" /> <el-table-column label="权属单位" align="center" prop="beyondEnterpriseName" />
<el-table-column label="坐标" align="center" prop="coordinates" /> <!-- <el-table-column label="坐标" align="center" prop="coordinates" />-->
<el-table-column label="备注" align="center" prop="remarks" /> <el-table-column label="备注" align="center" prop="remarks" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -210,12 +218,18 @@ ...@@ -210,12 +218,18 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="18">
<el-form-item label="坐标" prop="coordinates"> <el-form-item label="坐标" prop="coordinates">
<el-input v-model="form.coordinates" type="textarea" placeholder="请输入坐标" /> <el-input v-model="form.coordinates" type="textarea" placeholder="请输入坐标" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3" style="margin-left: 30px">
<el-button type="primary" plain @click="MapdialogFun">选择坐标</el-button>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="备注" prop="remarks"> <el-form-item label="备注" prop="remarks">
...@@ -236,13 +250,17 @@ ...@@ -236,13 +250,17 @@
<script> <script>
import { listPipe, getPipe, delPipe, addPipe, updatePipe, exportPipe, selectTEnterprise} from "@/api/regulation/pipe"; import { listPipe, getPipe, delPipe, addPipe, updatePipe, exportPipe, selectTEnterprise} from "@/api/regulation/pipe";
import GetPos from '@/components/GetPos';
export default { export default {
name: "Pipe", name: "Pipe",
components: { components: {
GetPos
}, },
data() { data() {
return { return {
dialogVisible:false,
//地图管径回显数据
coordinateslist:null,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -283,6 +301,7 @@ export default { ...@@ -283,6 +301,7 @@ export default {
coordinates: null, coordinates: null,
isDel: null, isDel: null,
remarks: null remarks: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -376,6 +395,7 @@ export default { ...@@ -376,6 +395,7 @@ export default {
selectTEnterprise().then(response => { selectTEnterprise().then(response => {
this.test = response.data; this.test = response.data;
}); });
this.coordinateslist+=JSON.parse(null);
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加管道信息"; this.title = "添加管道信息";
...@@ -390,6 +410,10 @@ export default { ...@@ -390,6 +410,10 @@ export default {
const pipeId = row.pipeId || this.ids const pipeId = row.pipeId || this.ids
getPipe(pipeId).then(response => { getPipe(pipeId).then(response => {
this.form = response.data; this.form = response.data;
const text=this.form.coordinates
console.log(text)
this.coordinateslist=JSON.parse(text);
this.open = true; this.open = true;
this.title = "修改管道信息"; this.title = "修改管道信息";
}); });
...@@ -442,6 +466,27 @@ export default { ...@@ -442,6 +466,27 @@ export default {
this.download(response.msg); this.download(response.msg);
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
},
/**管道信息 选择管道提交数据方法*/
getPath(e){
// for (let i=0;i<e.length;i++){
// console.log(e[i])
// coordinates.push(e[i])
// }
var a = '['
for (var i in e) {
if (i == e.length - 1) {
a += '[' + e[i].toString()+']'
} else {
a += '[' + e[i].toString()+'],'
}
}
a += ']'
this.form.coordinates=a;
},
/** 管道打开方法*/
MapdialogFun(){
this.dialogVisible=true;
} }
} }
}; };
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="108px">
<el-form-item label="场站名称" prop="siteStationName"> <el-form-item label="场站名称" prop="siteStationName" label-width="70px">
<el-input <el-input
v-model="queryParams.siteStationName" v-model="queryParams.siteStationName"
placeholder="请输入场站名称" placeholder="请输入场站名称"
...@@ -19,15 +19,15 @@ ...@@ -19,15 +19,15 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="备注" label-width="50px" prop="remarks"> <!-- <el-form-item label="备注" label-width="40px" prop="remarks">-->
<el-input <!-- <el-input-->
v-model="queryParams.remarks" <!-- v-model="queryParams.remarks"-->
placeholder="请输入备注" <!-- placeholder="请输入备注"-->
clearable <!-- clearable-->
size="small" <!-- size="small"-->
@keyup.enter.native="handleQuery" <!-- @keyup.enter.native="handleQuery"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -125,8 +125,8 @@ ...@@ -125,8 +125,8 @@
/> />
<!-- 添加或修改场站信息对话框 --> <!-- 添加或修改场站信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
...@@ -142,8 +142,11 @@ ...@@ -142,8 +142,11 @@
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="场站名称" prop="siteStationName"> <el-form-item label="权属单位" prop="beyondEnterpriseName">
<el-input v-model="form.siteStationName" placeholder="请输入场站名称" /> <el-select v-model="form.beyondEnterpriseId" placeholder="请在下拉框中选择权属单位" maxlength="255" :disabled="false" clearable>
<el-option v-for="item in test" :key="item.enterpriseId" :label="item.enterpriseName" :value="item.enterpriseId">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -173,56 +176,279 @@ ...@@ -173,56 +176,279 @@
<!-- <el-input v-model="form.beyondEnterpriseName" placeholder="请输入权属单位名称" />--> <!-- <el-input v-model="form.beyondEnterpriseName" placeholder="请输入权属单位名称" />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- <el-row>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label="经度" prop="longitude">-->
<!-- <el-input v-model="form.longitude" placeholder="请输入经度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label="纬度" prop="latitude">-->
<!-- <el-input v-model="form.latitude" placeholder="请输入纬度" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row> <el-row>
<el-col :span="11"> <el-col :span="23">
<el-form-item label="经度" prop="longitude"> <el-form-item label="经纬度坐标" prop="longitude">
<el-col :span="9">
<el-input v-model="form.longitude" placeholder="请输入经度" /> <el-input v-model="form.longitude" placeholder="请输入经度" />
</el-col>
<el-col :span="9" style="margin-left: 10px">
<el-input v-model="form.latitude" placeholder="请输入纬度"/>
</el-col>
<el-col :span="3" style="margin-left: 30px">
<el-button type="primary" plain @click="MapdialogFun">选择经纬度</el-button>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="场站名称" prop="siteStationName">
<el-input v-model="form.siteStationName" placeholder="请输入场站名称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<h3>关联设备</h3>
<el-table v-loading="loadings" ref="multipleTable" :data="DetailInfoList" tooltip-effect="dark" style="width: 100%" max-height="250" @selection-change="tableDataSelectionChange">
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="设备型号" align="center" prop="deviceModel" />
<el-table-column label="设备类型" align="center" prop="deviceType" />
<el-table-column label="物联网编号" align="center" prop="iotNo" />
<el-table-column label="备注" align="center" prop="remarksn" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteDataListilInfo(scope.row,scope.$index)"
v-hasPermi="['device:device:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="selectDataListInfo">选择关联设备</el-button>
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!--选择关联设备弹出框-->
<el-dialog title="选择关联设备" width="1100px" :visible.sync="dialogTableVisible" >
<template>
<el-form :model="dateQueryParams" ref="queryForm" :inline="true" v-show="showSearch" >
<el-form-item label="设备名称" prop="deviceName" >
<el-input
v-model="dateQueryParams.deviceName"
placeholder="请输入设备名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备型号" prop="deviceCode">
<el-input
v-model="dateQueryParams.deviceModel"
placeholder="请输入设备型号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物联网编号" prop="deviceAddr">
<el-input
v-model="dateQueryParams.iotNo"
placeholder="请输入物联网编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQueryData">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQueryDate">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="dialogFormVisible = true"
v-hasPermi="['device:device:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="deleteListDetailInfo"
v-hasPermi="['device:device:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getDataList"></right-toolbar>
</el-row>
<el-table v-loading="loadings" ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" max-height="250" @selection-change="tableDataSelectionChange">
<el-table-column type="selection" width="55" align="center"></el-table-column>
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="设备型号" align="center" prop="deviceModel" />
<el-table-column label="设备类型" align="center" prop="deviceType" />
<el-table-column label="物联网编号" align="center" prop="iotNo" />
<el-table-column label="备注" align="center" prop="remarksn" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteDetailInfo(scope.row)"
v-hasPermi="['device:device:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="insertListDetailInfo"> </el-button>
<el-button @click="dialogTableVisible=false"> </el-button>
</div>
</template>
</el-dialog>
<!-------------------------------------------------------------------------------------------------------------------------->
<!--添加关联设备弹出框-->
<el-dialog title="添加关联设备" :visible.sync="dialogFormVisible">
<el-form ref="formDetailInfo" :model="formDetailInfo" :rules="formDetailInfoRules" label-width="95px" style="height: 230px">
<el-row>
<el-col :span="11">
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="formDetailInfo.deviceName" placeholder="请输入设备名称" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="纬度" prop="latitude"> <el-form-item label="设备型号" prop="deviceModel">
<el-input v-model="form.latitude" placeholder="请输入纬度" /> <el-input v-model="formDetailInfo.deviceModel" placeholder="请输入设备型号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="权属单位" prop="beyondEnterpriseName"> <el-form-item label="设备类型" prop="deviceType">
<el-select v-model="form.beyondEnterpriseId" placeholder="请在下拉框中选择权属单位" maxlength="255" :disabled="false" clearable> <el-select v-model="formDetailInfo.deviceType" placeholder="请选择设备类型">
<el-option v-for="item in test" :key="item.enterpriseId" :label="item.enterpriseName" :value="item.enterpriseId"> <el-option label="压力表" value="1" />
</el-option> <el-option label="流量计" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="11">
<el-form-item label="物联网编号" prop="iotNo" >
<el-input v-model="formDetailInfo.iotNo" placeholder="请输入物联网编号" />
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="备注" prop="remarks"> <el-form-item label="备注" prop="remarksn">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" /> <el-input v-model="formDetailInfo.remarksn" type="textarea" placeholder="请输入备注" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="addDetailInfo"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="dialogFormVisible=false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<GetPos
:dialogVisible.sync="dialogTableVisibles"
device=""
:devicePos="devicePos"
@close="dialogcancelFun"
@getPath="getPath"
/>
</div> </div>
</template> </template>
<script> <script>
import { listStation, getStation, delStation, addStation, updateStation, exportStation ,selectTEnterprise} from "@/api/regulation/station"; import { listStation, getStation, delStation, addStation, updateStation, exportStation ,selectTEnterprise} from "@/api/regulation/station";
import { getDdeviceDetailInfo,addDetailInfos,deleteDetailInfo,deleteeListDetailInfo,selectDetailInfoList,deleteDeviceDetailInfo,updateDetailInfoLists} from "@/api/regulation/device";
import GetPos from '@/components/GetPos';
export default { export default {
name: "Station", name: "Station",
components: { components: {
GetPos
}, },
data() { data() {
return { return {
/**-------------------弹出框所用数据-------------------------------*/
//下级设备数据数组
tableData: [],
//下级数据的遮罩层
loadings:true,
//存储已被选中的下级数据id
DetailInfoListId :[],
//存储已经选中的下级关联数据
DetailInfoList:[],
dialogTableVisible: false,
//添加关联设备弹出层控制
dialogFormVisible: false,
/*添加关联设备*/
formDetailInfo:{
relationDeviceDetailId:'',
deviceName: '',
deviceModel:'',
deviceType:'',
iotNo:'',
remarksn:''
},
//关联设备下级数据 表单校验
formDetailInfoRules:{
deviceName:[
{ required: true, message: "请输入设备名称", trigger: "blur" },
],
deviceModel:[
{ required: true, message: "请输入设备型号", trigger: "blur" },
],
deviceType:[
{ required: true, message: "请选择设备类型", trigger: "blur" },
],
iotNo:[
{ required: true, message: "请输入联网编号", trigger: "blur" },
],
},
/**-------------------弹出框所用数据-------------------------------*/
/**--------------地图使用数据---------------*/
dialogTableVisibles: false,
devicePos: [],
/**--------------地图使用数据---------------*/
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -253,6 +479,12 @@ export default { ...@@ -253,6 +479,12 @@ export default {
beyondEnterpriseName: null, beyondEnterpriseName: null,
remarks: null remarks: null
}, },
// 查询参数
dateQueryParams: {
deviceName: null,
deviceModel: null,
iotNo: null,
},
// 表单参数 // 表单参数
form: {}, form: {},
// 动态下拉 // 动态下拉
...@@ -316,7 +548,8 @@ export default { ...@@ -316,7 +548,8 @@ export default {
updateBy: null, updateBy: null,
updateTime: null, updateTime: null,
isDel: null, isDel: null,
remarks: null remarks: null,
relationDeviceType:'2',
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -342,6 +575,17 @@ export default { ...@@ -342,6 +575,17 @@ export default {
selectTEnterprise().then(response => { selectTEnterprise().then(response => {
this.test = response.data; this.test = response.data;
}); });
//清空关联设备数据
this.DetailInfoList=''
this.loadings = true;
//查询下级设备数据
getDdeviceDetailInfo(this.dateQueryParams).then(response => {
//下级设备数据 到时候换成下级数据
this.tableData = response.rows;
this.detailTotal = response.total;
this.loadings = false;
});
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加场站信息"; this.title = "添加场站信息";
...@@ -352,6 +596,18 @@ export default { ...@@ -352,6 +596,18 @@ export default {
selectTEnterprise().then(response => { selectTEnterprise().then(response => {
this.test = response.data; this.test = response.data;
}); });
const deviceId = row.siteStationId || this.ids
var tDeviceInfon={
id:deviceId,
relationDeviceType:'2' //设置关联设备类型
}
//查询关联设备信息数据
selectDetailInfoList(JSON.stringify(tDeviceInfon)).then(response => {
this.DetailInfoList = response.rows;
this.loadings = false;
});
this.reset(); this.reset();
const siteStationId = row.siteStationId || this.ids const siteStationId = row.siteStationId || this.ids
getStation(siteStationId).then(response => { getStation(siteStationId).then(response => {
...@@ -360,26 +616,28 @@ export default { ...@@ -360,26 +616,28 @@ export default {
this.title = "修改场站信息"; this.title = "修改场站信息";
}); });
}, },
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => { /** 原提交按钮 */
if (valid) { // submitForm() {
if (this.form.siteStationId != null) { // this.$refs["form"].validate(valid => {
updateStation(this.form).then(response => { // if (valid) {
this.msgSuccess("修改成功"); // if (this.form.siteStationId != null) {
this.open = false; // updateStation(this.form).then(response => {
this.getList(); // this.msgSuccess("修改成功");
}); // this.open = false;
} else { // this.getList();
addStation(this.form).then(response => { // });
this.msgSuccess("新增成功"); // } else {
this.open = false; // addStation(this.form).then(response => {
this.getList(); // this.msgSuccess("新增成功");
}); // this.open = false;
} // this.getList();
} // });
}); // }
}, // }
// });
// },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const siteStationIds = row.siteStationId || this.ids; const siteStationIds = row.siteStationId || this.ids;
...@@ -408,7 +666,230 @@ export default { ...@@ -408,7 +666,230 @@ export default {
this.download(response.msg); this.download(response.msg);
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
},
/**-------------------后加入弹出框方法----------------------*/
/**
* 选择关联设备查询方法
*/
selectDataListInfo(){
//查询下级设备数据
getDdeviceDetailInfo(this.dateQueryParams).then(response => {
//下级设备数据 到时候换成下级数据
this.tableData = response.rows;
this.detailTotal = response.total;
this.loadings = false;
//打开选择关联设备弹出框
this.dialogTableVisible = true
});
},
/**
*查询下级数据列表方法
* */
getDataList(){
this.loadings = true;
// console.log(this.dateQueryParams)
//查询下级设备数据
getDdeviceDetailInfo(this.dateQueryParams).then(response => {
//下级设备数据 到时候换成下级数据
this.tableData = response.rows;
this.detailTotal = response.total;
this.loadings = false;
});
},
/**关联设备添加方法*/
addDetailInfo(){
this.$refs["formDetailInfo"].validate(valid => {
if (valid) {
addDetailInfos(this.formDetailInfo).then(response => {
// this.tableData.push(this.formDetailInfo)
//关闭弹出层
this.dialogFormVisible = false;
//数据表单重置
this.formDetailInfo={
deviceName: null,
deviceModel:null,
deviceType:null,
iotNo:null,
remarksn:null
};
this.getDataList();
this.msgSuccess("新增成功");
});
}
});
},
/**添加关联设备与设备绑定的数据 (存储到数组中)*/
insertListDetailInfo(row){
//获取已经选中的下级设备id
const deviceIds = this.ids;
const li=this.datalist;
if (this.form.siteStationId != null) {
//修改
this.DetailInfoList=this.DetailInfoList.concat(this.datalist)
//添加到数组中 以便下次使用
this.DetailInfoListId.push(deviceIds);
// alert(this.DetailInfoListId)
this.dialogTableVisible=false
this.msgSuccess("添加成功");
}else {
//添加
// this.DetailInfoList.push(this.datalist)
//清空数组数据 将之前的数据清空
this.DetailInfoListId.splice(row);
this.DetailInfoList=this.datalist;
//添加到数组中 以便下次使用
this.DetailInfoListId.push(deviceIds);
// alert(this.DetailInfoListId)
this.dialogTableVisible=false
this.msgSuccess("添加成功");
}
},
/**关联设备单条删除方法*/
deleteDetailInfo(row){
const deviceIds = row.relationDeviceDetailId;
this.$confirm('是否确认删除设备信息编号为"' + deviceIds + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return deleteDetailInfo(deviceIds);
}).then(() => {
// this.tableData.splice(index,1);
this.getDataList();
this.msgSuccess("删除成功");
}).catch(() => {});
},
/**
* 批量删除关联设备方法
* @param row
*/
deleteListDetailInfo(row){
const deviceIds = this.ids;
this.$confirm('是否确认删除设备信息编号为"' + deviceIds + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return deleteeListDetailInfo(deviceIds);
}).then(() => {
this.getDataList();
this.msgSuccess("删除成功");
}).catch(() => {});
},
/**关联设备已经选中数据删除方法*/
deleteDataListilInfo(row,index){
const deviceIds = row.relationDeviceDetailId;
//判断form表单是否有id来验证是修改的删除还是添加的删除
if (this.form.siteStationId != null) {
deleteDeviceDetailInfo(deviceIds).then(response => {
this.msgSuccess("删除成功");
this.DetailInfoList.splice(index,1);
});
}else {
this.DetailInfoList.splice(index,1);
this.msgSuccess("删除成功");
}
},
/**提交数据方法*/
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.siteStationId != null) {
updateStation(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
if ( this.datalist !=null){
this.form.relationDeviceType='2';
var tDeviceInfon={
tDeviceInfo:this.form,
tDeviceInfoS:this.datalist
}
//重新绑定修改后的关联设备
updateDetailInfoLists(JSON.stringify(tDeviceInfon)).then(response => {
this.open = false;
this.getList();
});
}
} else {
if (valid) {
//获取已经选中的下级设备id
const deviceIds = this.ids;
// alert(deviceIds)
this.form.relationDeviceType='2';
var tDeviceInfon={
tDeviceInfo:this.form,
tDeviceInfoS:this.datalist
}
addStation(JSON.stringify(tDeviceInfon)).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
} else {
console.log('error submit!!');
return false;
}
}
} }
});
},
//关联数据多选框选中数据
tableDataSelectionChange(selection){
this.ids = selection.map(item => item.relationDeviceDetailId)
this.datalist=selection.map(item => item)
//按钮 非选中禁用
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 下级数据搜索*/
handleQueryData(){
this.getDataList();
},
/** 下级数据重置按钮操作 搜索框重置*/
resetQueryDate(){
this.dateQueryParams={
deviceName: null,
deviceModel: null,
iotNo: null,
}
},
/**
* 经纬度坐标方法
*/
MapdialogFun() {
this.dialogTableVisibles = true;
},
/**
* 地图关闭方法
*/
dialogcancelFun() {
this.dialogTableVisibles = false;
},
/**
* 经纬度 选择
* @param res
*/
getPath(res){
//确认选择经纬度
this.form.longitude = res[0];
this.form.latitude = res[1];
}
} }
}; };
</script> </script>
...@@ -19,15 +19,15 @@ ...@@ -19,15 +19,15 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remarks"> <!-- <el-form-item label="备注" prop="remarks">-->
<el-input <!-- <el-input-->
v-model="queryParams.remarks" <!-- v-model="queryParams.remarks"-->
placeholder="请输入备注" <!-- placeholder="请输入备注"-->
clearable <!-- clearable-->
size="small" <!-- size="small"-->
@keyup.enter.native="handleQuery" <!-- @keyup.enter.native="handleQuery"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
......
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