Commit 886765d8 authored by 耿迪迪's avatar 耿迪迪
parents 4d514944 90518a84
......@@ -3,7 +3,6 @@ package com.zehong.web.controller.complainDeal;
import java.util.List;
import com.zehong.common.core.domain.model.LoginUser;
import com.zehong.framework.web.service.SysLoginService;
import com.zehong.framework.web.service.TokenService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -3,6 +3,7 @@ package com.zehong.web.controller.supervise;
import java.util.List;
import com.zehong.system.domain.Listaw;
import com.zehong.system.domain.TDetailInfoList;
import com.zehong.system.domain.TDeviceInfoS;
import com.zehong.system.service.ITEmployedPeopleInfoService;
import org.springframework.security.access.prepost.PreAuthorize;
......@@ -80,7 +81,7 @@ public class TDeviceInfoController extends BaseController
tDeviceInfoService.insertTDeviceInfo(listaw.gettDeviceInfo());
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();
//根据企业id查询企业名称
......@@ -173,12 +174,12 @@ public class TDeviceInfoController extends BaseController
/**
* 查询设备已经关联的关联设备接口
* @param id
* @param tDetailInfoList
* @return
*/
@RequestMapping("/selectDetailInfoList")
public TableDataInfo selectDetailInfoList(@RequestBody int id){
List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoService.selectDetailInfoList(id);
public TableDataInfo selectDetailInfoList(@RequestBody TDetailInfoList tDetailInfoList){
List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoService.selectDetailInfoList(tDetailInfoList.getId(),tDetailInfoList.getRelationDeviceType());
return getDataTable(tDeviceInfoS);
}
......@@ -188,9 +189,15 @@ public class TDeviceInfoController extends BaseController
*/
@RequestMapping("/updateDetailInfoList")
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())){
//将关联设备信息与设备进行绑定
tDeviceInfoService.updatetRelationDeviceDetailInfo(listaw.gettDeviceInfoS(),listaw.gettDeviceInfo().getDeviceId());
tDeviceInfoService.updatetRelationDeviceDetailInfo(listaw.gettDeviceInfoS(),id,listaw.gettDeviceInfo().getRelationDeviceType());
}
}
......
package com.zehong.web.controller.supervise;
import java.util.List;
import com.zehong.system.domain.TTSiteStationInfoList;
import com.zehong.system.service.ITDeviceInfoService;
import com.zehong.system.service.ITEmployedPeopleInfoService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -35,6 +38,9 @@ public class TSiteStationInfoController extends BaseController {
@Autowired
private ITEmployedPeopleInfoService tEmployedPeopleInfoService;
@Autowired
private ITDeviceInfoService tDeviceInfoService;
/**
* 查询场站信息列表
*/
......@@ -76,12 +82,16 @@ public class TSiteStationInfoController extends BaseController {
@PreAuthorize("@ss.hasPermi('supervise:station:add')")
@Log(title = "场站信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody TSiteStationInfo tSiteStationInfo)
public void add(@RequestBody TTSiteStationInfoList tSiteStationInfos)
{
//根据企业id查询企业名称
String EnterpriseName = tEmployedPeopleInfoService.selectEnterpriseName(tSiteStationInfo.getBeyondEnterpriseId());
tSiteStationInfo.setBeyondEnterpriseName(EnterpriseName);
return toAjax(tSiteStationInfoService.insertTSiteStationInfo(tSiteStationInfo));
String EnterpriseName = tEmployedPeopleInfoService.selectEnterpriseName(tSiteStationInfos.gettDeviceInfo().getBeyondEnterpriseId());
tSiteStationInfos.gettDeviceInfo().setBeyondEnterpriseName(EnterpriseName);
tSiteStationInfoService.insertTSiteStationInfo(tSiteStationInfos.gettDeviceInfo());
if (!"null".equals(tSiteStationInfos.gettDeviceInfoS())){
//将关联设备信息与设备进行绑定
tDeviceInfoService.updatetRelationDeviceDetailInfo(tSiteStationInfos.gettDeviceInfoS(),tSiteStationInfos.gettDeviceInfo().getSiteStationId(),tSiteStationInfos.gettDeviceInfo().getRelationDeviceType());
}
}
/**
......
package com.zehong.system.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
import java.util.Date;
/**
* 投诉处置对象 t_complain_deal
*
......@@ -34,8 +37,11 @@ public class TComplainDeal extends BaseEntity
@Excel(name = "转办记录")
private String transferRecord;
@Excel(name = "反馈事件")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealTime;
/** 办理情况 */
@Excel(name = "办理情况")
@Excel(name = "办理反馈情况")
private String dealCondition;
/** 指派单位名称 */
......@@ -184,6 +190,14 @@ public class TComplainDeal extends BaseEntity
return remarks;
}
public Date getDealTime() {
return dealTime;
}
public void setDealTime(Date dealTime) {
this.dealTime = dealTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
......
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
/** 设备id */
private Long deviceId;
/** 场站id*/
private Long siteStationId;
/** 设备名称 */
@Excel(name = "设备名称")
private String deviceName;
......@@ -81,6 +84,26 @@ public class TDeviceInfo extends BaseEntity
/** 备注 */
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)
{
this.deviceId = deviceId;
......@@ -240,28 +263,26 @@ public class TDeviceInfo extends BaseEntity
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("deviceId", getDeviceId())
.append("deviceName", getDeviceName())
.append("deviceCode", getDeviceCode())
.append("deviceAddr", getDeviceAddr())
.append("deviceModel", getDeviceModel())
.append("deviceType", getDeviceType())
.append("beyondEnterpriseId", getBeyondEnterpriseId())
.append("beyondEnterpriseName", getBeyondEnterpriseName())
.append("longitude", getLongitude())
.append("latitude", getLatitude())
.append("iconUrl", getIconUrl())
.append("linkman", getLinkman())
.append("phone", getPhone())
.append("installationTime", getInstallationTime())
.append("inspectionTime", getInspectionTime())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("isDel", getIsDel())
.append("remarks", getRemarks())
.toString();
return "TDeviceInfo{" +
"deviceId=" + deviceId +
", siteStationId=" + siteStationId +
", deviceName='" + deviceName + '\'' +
", deviceCode='" + deviceCode + '\'' +
", deviceAddr='" + deviceAddr + '\'' +
", deviceModel='" + deviceModel + '\'' +
", deviceType='" + deviceType + '\'' +
", beyondEnterpriseId=" + beyondEnterpriseId +
", beyondEnterpriseName='" + beyondEnterpriseName + '\'' +
", longitude='" + longitude + '\'' +
", latitude='" + latitude + '\'' +
", iconUrl='" + iconUrl + '\'' +
", linkman='" + linkman + '\'' +
", phone='" + phone + '\'' +
", installationTime=" + installationTime +
", inspectionTime=" + inspectionTime +
", isDel='" + isDel + '\'' +
", remarks='" + remarks + '\'' +
", relationDeviceType='" + relationDeviceType + '\'' +
'}';
}
}
......@@ -57,6 +57,21 @@ public class TSiteStationInfo extends BaseEntity
@Excel(name = "备注")
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)
{
this.siteStationId = siteStationId;
......@@ -159,22 +174,19 @@ public class TSiteStationInfo extends BaseEntity
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("siteStationId", getSiteStationId())
.append("siteStationType", getSiteStationType())
.append("siteStationName", getSiteStationName())
.append("buildDate", getBuildDate())
.append("buildUnit", getBuildUnit())
.append("beyondEnterpriseId", getBeyondEnterpriseId())
.append("beyondEnterpriseName", getBeyondEnterpriseName())
.append("longitude", getLongitude())
.append("latitude", getLatitude())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("isDel", getIsDel())
.append("remarks", getRemarks())
.toString();
return "TSiteStationInfo{" +
"siteStationId=" + siteStationId +
", siteStationType='" + siteStationType + '\'' +
", siteStationName='" + siteStationName + '\'' +
", buildDate='" + buildDate + '\'' +
", buildUnit='" + buildUnit + '\'' +
", beyondEnterpriseId=" + beyondEnterpriseId +
", beyondEnterpriseName='" + beyondEnterpriseName + '\'' +
", longitude=" + longitude +
", latitude=" + latitude +
", isDel='" + isDel + '\'' +
", remarks='" + remarks + '\'' +
", relationDeviceType='" + relationDeviceType + '\'' +
'}';
}
}
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
* 将关联设备信息与设备进行绑定
* @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
* @return
*/
List<TDeviceInfoS> selectDetailInfoList(int id);
List<TDeviceInfoS> selectDetailInfoList(@Param("id")int id,@Param("relationDeviceType")String relationDeviceType);
/**
* 解绑 设备与关联设备关系
......
......@@ -96,14 +96,14 @@ public interface ITDeviceInfoService
* 将关联设备信息与设备进行绑定
* @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
* @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
* @param gettDeviceInfoS
*/
@Override
public void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS")List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id) {
tDeviceInfoMapper.updatetRelationDeviceDetailInfo(gettDeviceInfoS,id);
public void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS")List<TDeviceInfoS> gettDeviceInfoS,@Param("id") Long id,@Param("relationDevicetype") String relationDevicetype) {
tDeviceInfoMapper.updatetRelationDeviceDetailInfo(gettDeviceInfoS,id,relationDevicetype);
}
/**
......@@ -159,8 +159,8 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService
* @return
*/
@Override
public List<TDeviceInfoS> selectDetailInfoList(int id) {
List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoMapper.selectDetailInfoList(id);
public List<TDeviceInfoS> selectDetailInfoList(@Param("id") int id,@Param("relationDeviceType")String relationDeviceType) {
List<TDeviceInfoS> tDeviceInfoS = tDeviceInfoMapper.selectDetailInfoList(id,relationDeviceType);
return tDeviceInfoS;
}
......
......@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="complainPhone" column="complain_phone" />
<result property="complainMatter" column="complain_matter" />
<result property="transferRecord" column="transfer_record" />
<result property="dealTime" column="deal_time" />
<result property="dealCondition" column="deal_condition" />
<result property="complainAssignEnterproseName" column="complain_assign_enterprose_name" />
<result property="complainAssignEnterproseId" column="complain_assign_enterprose_id" />
......@@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectTComplainDealVo">
select complain_deal_id, complain_name, complain_phone, complain_matter, transfer_record, deal_condition, complain_assign_enterprose_name, complain_assign_enterprose_id, complain_assign_man_id, complain_assign_man, complain_status, create_by, create_time, update_by, update_time, is_del, remarks from t_complain_deal
select complain_deal_id, complain_name, complain_phone, complain_matter, transfer_record, deal_time,deal_condition, complain_assign_enterprose_name, complain_assign_enterprose_id, complain_assign_man_id, complain_assign_man, complain_status, create_by, create_time, update_by, update_time, is_del, remarks from t_complain_deal
</sql>
<select id="selectTComplainDealList" parameterType="TComplainDeal" resultMap="TComplainDealResult">
......@@ -58,6 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="complainPhone != null">complain_phone,</if>
<if test="complainMatter != null">complain_matter,</if>
<if test="transferRecord != null">transfer_record,</if>
<if test="dealTime !=null">deal_time,</if>
<if test="dealCondition != null">deal_condition,</if>
<if test="complainAssignEnterproseName != null">complain_assign_enterprose_name,</if>
<if test="complainAssignEnterproseId != null">complain_assign_enterprose_id,</if>
......@@ -76,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="complainPhone != null">#{complainPhone},</if>
<if test="complainMatter != null">#{complainMatter},</if>
<if test="transferRecord != null">#{transferRecord},</if>
<if test="dealTime != null">#{dealTime},</if>
<if test="dealCondition != null">#{dealCondition},</if>
<if test="complainAssignEnterproseName != null">#{complainAssignEnterproseName},</if>
<if test="complainAssignEnterproseId != null">#{complainAssignEnterproseId},</if>
......@@ -98,6 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="complainPhone != null">complain_phone = #{complainPhone},</if>
<if test="complainMatter != null">complain_matter = #{complainMatter},</if>
<if test="transferRecord != null">transfer_record = #{transferRecord},</if>
<if test="dealTime != null">deal_time = #{dealTime},</if>
<if test="dealCondition != null">deal_condition = #{dealCondition},</if>
<if test="complainAssignEnterproseName != null">complain_assign_enterprose_name = #{complainAssignEnterproseName},</if>
<if test="complainAssignEnterproseId != null">complain_assign_enterprose_id = #{complainAssignEnterproseId},</if>
......
......@@ -176,7 +176,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--查询设备已经关联的关联设备-->
<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
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>
<!--关联设备数据删除接口-->
......@@ -195,7 +195,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--将关联设备信息与设备进行绑定-->
<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
relation_device_detail_id in
<foreach collection="gettDeviceInfoS" item="items" index="key" open="(" separator="," close=")">
......@@ -205,7 +205,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--解绑 设备与关联设备关系-->
<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>
</mapper>
......@@ -56,6 +56,9 @@
.el-dialog:not(.is-fullscreen) {
margin-top: 6vh !important;
}
.el-dialog__header{
border-bottom:1px solid #cccccc;
}
.bigwindow {
// 全局表格样式
.el-table {
......
......@@ -28,7 +28,7 @@
<div @click="pos" class="positionBtn pos">
<el-button type="primary" size="mini" icon="el-icon-position"
>定位</el-button
> 确定 </el-button
>
</div>
</template>
......@@ -78,6 +78,7 @@ export default {
if (newValue) {
this.init();
} else {
this.map.destroy();
this.searchinput="";
}
......@@ -101,10 +102,11 @@ export default {
this.map.mouseAddMarker();
}
} else {
console.log(this.pipePath.length)
if (this.pipePath.length > 0) {
this.map.addPipeLine({ path: this.pipePath });
} else {
this.mouseAddPipeline();
this.map.mouseAddPipeline();
}
}
});
......@@ -119,7 +121,6 @@ export default {
pos() {
this.path = this.map.getPath();
this.$emit("getPath", this.path);
console.log(this.path);
if (this.path?.length > 0) {
this.$emit("update:dialogVisible", false);
}
......
/*
* @Author: your name
* @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
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @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 './assets/styles/element-variables.scss'
import Element from "element-ui";
import "./assets/styles/element-variables.scss";
import '@/assets/styles/index.scss' // global css
import '@/assets/styles/zehong.scss' // zehong css
import './assets/css/font.css'
import './assets/styles/all.scss'
import "@/assets/styles/index.scss"; // global css
import "@/assets/styles/zehong.scss"; // zehong css
import "./assets/css/font.css";
import "./assets/styles/all.scss";
import App from './App'
import store from './store'
import router from './router'
import permission from './directive/permission'
import * as echarts from 'echarts'
import './assets/icons' // icon
import './permission' // permission control
import App from "./App";
import store from "./store";
import router from "./router";
import permission from "./directive/permission";
import * as echarts from "echarts";
import "./assets/icons"; // icon
import "./permission"; // permission control
import { getDicts } from "@/api/system/dict/data";
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 RightToolbar from "@/components/RightToolbar"
import RightToolbar from "@/components/RightToolbar";
// 全局方法挂载
Vue.prototype.$echarts = echarts
Vue.prototype.$echarts = echarts;
Vue.prototype.$Vue = Vue;
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.addDateRange = addDateRange
Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
Vue.prototype.getDicts = getDicts;
Vue.prototype.getConfigKey = getConfigKey;
Vue.prototype.parseTime = parseTime;
Vue.prototype.resetForm = resetForm;
Vue.prototype.addDateRange = addDateRange;
Vue.prototype.selectDictLabel = selectDictLabel;
Vue.prototype.selectDictLabels = selectDictLabels;
Vue.prototype.download = download;
Vue.prototype.handleTree = handleTree;
Vue.prototype.msgSuccess = function (msg) {
this.$message({ showClose: true, message: msg, type: "success" });
}
};
Vue.prototype.msgError = function (msg) {
this.$message({ showClose: true, message: msg, type: "error" });
}
};
Vue.prototype.msgInfo = function (msg) {
this.$message.info(msg);
}
};
// 全局组件挂载
Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar)
Vue.component("Pagination", Pagination);
Vue.component("RightToolbar", RightToolbar);
Vue.use(permission)
Vue.use(permission);
/**
* If you don't want to use mock-server
......@@ -72,16 +79,19 @@ Vue.use(permission)
* Currently MockJs will be used in the production environment,
* please remove it before going online! ! !
*/
// dialog只允许点关闭或者取消按钮关闭
Element.Dialog.props.closeOnClickModal = false;
Element.Dialog.props.closeOnPressEscape = false;
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({
el: '#app',
el: "#app",
router,
store,
render: h => h(App)
})
render: (h) => h(App),
});
......@@ -11,7 +11,7 @@
/>
</el-form-item>
<el-form-item label="指派单位" prop="complainAssignEnterproseId">
<el-form-item label="指派单位" prop="complainAssignEnterproseId" v-if="deptId==-2" >
<el-select v-model="queryParams.complainAssignEnterproseId" placeholder="请选择预案等级" clearable size="small">
<el-option
v-for = "dict in enterpriseList"
......@@ -54,6 +54,7 @@
<el-col :span="1.5">
<el-button
type="primary"
v-if="deptId==-2"
plain
icon="el-icon-plus"
size="mini"
......@@ -81,10 +82,20 @@
<el-table-column label="投诉人姓名" align="center" prop="complainName" />
<el-table-column label="投诉人电话" align="center" prop="complainPhone" />
<el-table-column label="投诉事项" align="center" prop="complainMatter" />
<el-table-column label="办理情况" align="center" prop="dealCondition" />
<!--<el-table-column label="反馈内容" align="center" prop="dealCondition" />-->
<el-table-column label="指派单位名称" align="center" prop="complainAssignEnterproseName" />
<el-table-column label="指派人" align="center" prop="complainAssignMan" />
<el-table-column label="任务状态" align="center" prop="complainStatus" :formatter="taskStateFormat" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="反馈时间" align="center" prop="dealTime" width="180" >
<!--<template slot-scope="scope">-->
<!--<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>-->
<!--</template>-->
</el-table-column>
<el-table-column label="备注" align="center" prop="remarks" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template slot-scope="scope" >
......@@ -94,12 +105,12 @@
style="color: red"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
@click="handlefankui(scope.row)"
v-hasPermi="['complainDeal:complainDeal:edit']"
>反馈</el-button>
<el-button
size="mini"
v-if="scope.row.complainStatus==2"
v-if="scope.row.complainStatus==2 && deptId==-2"
style="color: #30B46B"
type="text"
icon="el-icon-edit"
......@@ -109,6 +120,7 @@
<el-button
size="mini"
type="text"
v-if="scope.row.complainStatus==1 && deptId==-2"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['complainDeal:complainDeal:edit']"
......@@ -146,14 +158,6 @@
<el-form-item label="投诉人姓名" prop="complainName">
<el-input v-model="form.complainName" placeholder="请输入投诉人姓名" :disabled="readonly"/>
</el-form-item>
<el-form-item label="投诉人电话" prop="complainPhone">
<el-input v-model="form.complainPhone" placeholder="请输入投诉人电话" :disabled="readonly"/>
</el-form-item>
<el-form-item label="投诉事项" prop="complainMatter">
<el-input v-model="form.complainMatter" placeholder="请输入投诉事项" :disabled="readonly"/>
</el-form-item>
</div>
<div style="width: 50%;">
<el-form-item label="指派单位" prop="complainAssignEnterproseId" >
<el-select style="width: 100%" v-model="form.complainAssignEnterproseName" placeholder="请选择预案等级" @change="qiyechang" :disabled="readonly">
<el-option
......@@ -165,6 +169,12 @@
</el-select>
</el-form-item>
</div>
<div style="width: 50%;">
<el-form-item label="投诉人电话" prop="complainPhone">
<el-input v-model="form.complainPhone" placeholder="请输入投诉人电话" :disabled="readonly"/>
</el-form-item>
<el-form-item label="指派人" prop="complainAssignManId">
<el-select v-model="form.complainAssignMan" placeholder="请选择预案等级" clearable style = "width: 100%" @change="manChang" :disabled="readonly">
<el-option
......@@ -175,17 +185,19 @@
/>
</el-select>
</el-form-item>
<el-form-item label="办理情况" prop="dealCondition">
<el-input v-model="form.dealCondition" placeholder="请输入办理情况" :disabled="readonly"/>
</el-form-item>
</div>
</div>
<el-form-item label="转办记录" prop="transferRecord">
<el-form-item label="投诉事项" prop="complainMatter">
<el-input v-model="form.complainMatter" type = "textarea" placeholder="请输入投诉事项" :disabled="readonly"/>
</el-form-item>
<el-form-item label="反馈内容" prop="dealCondition" :style="display">
<el-input v-model="form.dealCondition" type = "textarea" placeholder="请输入办理情况" :disabled="readonly"/>
</el-form-item>
<el-form-item label="转办记录" prop="transferRecord" :style="display">
<el-input v-model="form.transferRecord" type="textarea" placeholder="请输入转办记录" :disabled="readonly"/>
</el-form-item>
<el-form-item label="任务状态">
<el-form-item label="任务状态" :style="display">
<el-select v-model="form.complainStatus" placeholder="请选择任务状态" :disabled="readonly">
<el-option
v-for="dict in taskStateOptions"
......@@ -196,7 +208,7 @@
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注" :disabled="readonly"/>
<el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" :disabled="readonly"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -204,12 +216,29 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog title="反馈内容" :visible.sync="dialogFormVisible" width="600px">
<el-form :model="form2">
<div style="width: 100%;min-height: 100px;margin-top: -20px">
<el-form-item label="投诉事项" prop="complainMatter">
<textarea class="inputstyle1" v-model="form2.complainMatter" readonly></textarea>
</el-form-item>
</div>
<el-form-item label="反馈" style = "margin-top: -15px;">
<textarea class="inputstyle" v-model="form2.concent" type ="textarea" ></textarea>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="margin-top: -30px;">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="submint2"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listComplainDeal, getComplainDeal, delComplainDeal, addComplainDeal, updateComplainDeal, exportComplainDeal,getUserList } from "@/api/complainDeal/complainDeal";
import {enterpriseList} from "@/api/system/eventInfo";
import { getUserProfile } from "@/api/system/user";
export default {
name: "ComplainDeal",
components: {
......@@ -235,12 +264,14 @@ export default {
enterpriseList:[],
peopleList:[],
readonly:false,
display:"display:none",
// 投书状态类型:1.派发中 2.反馈 3.归档
taskStateOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
dialogFormVisible:false,
// 查询参数
queryParams: {
pageNum: 1,
......@@ -262,6 +293,13 @@ export default {
form: {
peopleList:[],
},
form2:{
complainDealId:'',
complainMatter:'',
concent:'',
},
//身份
deptId:'',
// 表单校验
rules: {
complainName: [
......@@ -281,12 +319,21 @@ export default {
},
created() {
this.getList();
this.getUser();
this.getEnterpriseList();
this.getDicts("task_state").then(response => {
this.taskStateOptions = response.data;
});
},
methods: {
//获取deptId
getUser() {
getUserProfile().then(response => {
this.user = response.data;
this.deptId = response.data.deptId;
//console.log(this.deptId)
});
},
/** 查询投诉处置列表 */
getList() {
this.loading = true;
......@@ -374,7 +421,7 @@ export default {
var status = this.selectDictLabel(this.taskStateOptions, row.complainStatus);
if(status=='派发中'){
return <p style='color: #ff4949'>派发中</p>
}else if(status=="反馈"){
}else if(status=="反馈"){
return <p style='color: #1890ff'>已反馈</p>
}else{
return <p style='color: #30B46B'>已归档</p>
......@@ -383,6 +430,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.display="display:none";
this.readonly = false;
this.peopleList=[];
this.reset();
......@@ -391,6 +439,7 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.display="display:none";
this.readonly = false;
this.peopleList=[];
this.reset();
......@@ -421,7 +470,9 @@ export default {
}
});
},
//详情
handleDtail(row) {
this.display="display:";
this.readonly = true;
this.reset();
const complainDealId = row.complainDealId || this.ids
......@@ -445,6 +496,7 @@ export default {
this.msgSuccess("删除成功");
}).catch(() => {});
},
//归档
handlegui(row) {
const complainDealIds = row.complainDealId || this.ids;
this.$confirm('是否确认归档选中的投诉处置数据项?', "提示", {
......@@ -459,6 +511,22 @@ export default {
this.getList();
}).catch(() => {});
},
//反馈
handlefankui(row){
this.form2.concent="";
this.dialogFormVisible = true;
this.form2.complainDealId=row.complainDealId;
this.form2.complainMatter = row.complainMatter;
},
//提交反馈信息
submint2(){
var a = {"complainDealId":this.form2.complainDealId,"complainStatus":2,"dealCondition":this.form2.concent}
updateComplainDeal(a).then(response => {
this.msgSuccess("修改成功");
this.dialogFormVisible = false;
this.getList();
});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
......@@ -483,4 +551,20 @@ export default {
flex-direction:row;
justify-content:flex-start;
}
.inputstyle{
min-height: 200px;
max-height: 300px;
width: 100%;
border-color: 0.5px #99a9bf;
outline:none;
}
.inputstyle1{
min-height: 50px;
max-height: 200px;
width: 100%;
border : none;
resize:none;
outline:none;
}
</style>
......@@ -19,15 +19,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所在地址" prop="deviceAddr">
<el-input
v-model="queryParams.deviceAddr"
placeholder="请输入所在地址"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="所在地址" prop="deviceAddr">-->
<!-- <el-input-->
<!-- v-model="queryParams.deviceAddr"-->
<!-- 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="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
......@@ -124,7 +124,7 @@
/>
<!--选择关联设备弹出框-->
<el-dialog title="选择关联设备" :visible.sync="dialogTableVisible" formLabelWidth="160px">
<el-dialog title="选择关联设备" width="1100px" :visible.sync="dialogTableVisible" formLabelWidth="160px">
<template>
<el-form :model="dateQueryParams" ref="queryForm" :inline="true" v-show="showSearch" >
<el-form-item label="设备名称" prop="deviceName">
......@@ -282,7 +282,6 @@
</el-dialog>
<!-- 添加或修改设备信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
......@@ -334,20 +333,37 @@
</el-col>
</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-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-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-col :span="23">
<el-form-item label="经纬度坐标" prop="longitude">
<el-col :span="9">
<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="iconUrl">
......@@ -428,16 +444,25 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<GetPos
:dialogVisible.sync="dialogTableVisibles"
device=""
:devicePos="devicePos"
@close="dialogcancelFun"
@getPath="getPath"
/>
</div>
</template>
<script>
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 {
name: "Device",
components: {
GetPos
},
data() {
return {
......@@ -451,6 +476,10 @@ export default {
multipleSelection: [],
dialogTableVisible: false,
dialogFormVisible: false,
/**--------------地图使用数据---------------*/
dialogTableVisibles: false,
devicePos: [],
/**--------------地图使用数据---------------*/
form: {
name: '',
region: '',
......@@ -459,7 +488,7 @@ export default {
delivery: false,
type: [],
resource: '',
desc: ''
desc: '',
},
formLabelWidth: '120px',
/*添加关联设备*/
......@@ -566,9 +595,6 @@ export default {
iotNo:[
{ required: true, message: "请输入联网编号", trigger: "blur" },
],
remarksn:[
{ required: true, message: "请输入备注", trigger: "blur" },
],
},
};
},
......@@ -627,7 +653,8 @@ export default {
updateBy: null,
updateTime: null,
isDel: null,
remarks: null
remarks: null,
relationDeviceType:'1',
};
this.resetForm("form");
},
......@@ -695,9 +722,12 @@ export default {
this.test = response.data;
});
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.loadings = false;
});
......@@ -768,6 +798,7 @@ export default {
this.getList();
});
if ( this.datalist !=null){
this.form.relationDeviceType='1';
var tDeviceInfon={
tDeviceInfo:this.form,
tDeviceInfoS:this.datalist
......@@ -779,11 +810,12 @@ export default {
});
}
} else {
alert("走的新增")
if (valid) {
//获取已经选中的下级设备id
const deviceIds = this.ids;
// alert(deviceIds)
this.form.relationDeviceType='1';
var tDeviceInfon={
tDeviceInfo:this.form,
tDeviceInfoS:this.datalist
......@@ -878,13 +910,6 @@ export default {
//获取已经选中的下级设备id
const deviceIds = this.ids;
const li=this.datalist;
this.$confirm('是否确认添加关联设备信息?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
}).then(() => {
if (this.form.deviceId != null) {
//修改
this.DetailInfoList=this.DetailInfoList.concat(this.datalist)
......@@ -905,7 +930,6 @@ export default {
this.dialogTableVisible=false
this.msgSuccess("添加成功");
}
}).catch(() => {});
},
/**
* 选择关联设备查询方法
......@@ -920,6 +944,32 @@ export default {
//打开选择关联设备弹出框
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,17 +148,33 @@
</el-col>
</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-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 :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-col :span="23">
<el-form-item label="经纬度坐标" prop="longitude">
<el-col :span="9">
<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>
......@@ -198,18 +214,31 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<GetPos
:dialogVisible.sync="dialogTableVisibles"
device=""
:devicePos="devicePos"
@close="dialogcancelFun"
@getPath="getPath"
/>
</div>
</template>
<script>
import { listUser, getUser, delUser, addUser, updateUser, exportUser } from "@/api/regulation/user";
import GetPos from '@/components/GetPos';
export default {
name: "User",
components: {
GetPos
},
data() {
return {
/**--------------地图使用数据---------------*/
dialogTableVisibles: false,
devicePos: [],
/**--------------地图使用数据---------------*/
// 遮罩层
loading: true,
// 导出遮罩层
......@@ -372,6 +401,27 @@ export default {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
},
/**
* 经纬度坐标方法
*/
MapdialogFun() {
this.dialogTableVisibles = true;
},
/**
* 地图关闭方法
*/
dialogcancelFun() {
this.dialogTableVisibles = false;
},
/**
* 经纬度 选择
* @param res
*/
getPath(res){
//确认选择经纬度
this.form.longitude = res[0];
this.form.latitude = res[1];
}
}
};
......
<template>
<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-item label="管道长度" prop="pipeLength">
<el-input
......@@ -19,15 +27,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="压力" prop="pipePressure">
<el-input
v-model="queryParams.pipePressure"
placeholder="请输入压力"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="压力" prop="pipePressure">-->
<!-- <el-input-->
<!-- v-model="queryParams.pipePressure"-->
<!-- 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="handleQuery">搜索</el-button>
......@@ -92,7 +100,7 @@
<el-table-column label="建设年代" align="center" prop="buildDate" />
<el-table-column label="建设单位" align="center" prop="buildUnit" />
<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" class-name="small-padding fixed-width">
<template slot-scope="scope">
......@@ -210,12 +218,18 @@
<el-row>
<el-col :span="22">
<el-col :span="18">
<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-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-col :span="22">
<el-form-item label="备注" prop="remarks">
......@@ -236,13 +250,17 @@
<script>
import { listPipe, getPipe, delPipe, addPipe, updatePipe, exportPipe, selectTEnterprise} from "@/api/regulation/pipe";
import GetPos from '@/components/GetPos';
export default {
name: "Pipe",
components: {
GetPos
},
data() {
return {
dialogVisible:false,
//地图管径回显数据
coordinateslist:null,
// 遮罩层
loading: true,
// 导出遮罩层
......@@ -283,6 +301,7 @@ export default {
coordinates: null,
isDel: null,
remarks: null
},
// 表单参数
form: {},
......@@ -376,6 +395,7 @@ export default {
selectTEnterprise().then(response => {
this.test = response.data;
});
this.coordinateslist+=JSON.parse(null);
this.reset();
this.open = true;
this.title = "添加管道信息";
......@@ -390,6 +410,10 @@ export default {
const pipeId = row.pipeId || this.ids
getPipe(pipeId).then(response => {
this.form = response.data;
const text=this.form.coordinates
console.log(text)
this.coordinateslist=JSON.parse(text);
this.open = true;
this.title = "修改管道信息";
});
......@@ -442,6 +466,27 @@ export default {
this.download(response.msg);
this.exportLoading = false;
}).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>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="场站名称" prop="siteStationName">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="108px">
<el-form-item label="场站名称" prop="siteStationName" label-width="70px">
<el-input
v-model="queryParams.siteStationName"
placeholder="请输入场站名称"
......@@ -19,15 +19,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注" label-width="50px" prop="remarks">
<el-input
v-model="queryParams.remarks"
placeholder="请输入备注"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="备注" label-width="40px" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="queryParams.remarks"-->
<!-- 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="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
......@@ -125,8 +125,8 @@
/>
<!-- 添加或修改场站信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-row>
<el-col :span="11">
......@@ -141,11 +141,14 @@
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="场站名称" prop="siteStationName">
<el-input v-model="form.siteStationName" placeholder="请输入场站名称" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="权属单位" prop="beyondEnterpriseName">
<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-col>
</el-row>
<el-row>
......@@ -173,56 +176,279 @@
<!-- <el-input v-model="form.beyondEnterpriseName" placeholder="请输入权属单位名称" />-->
<!-- </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-col :span="11">
<el-form-item label="经度" prop="longitude">
<el-input v-model="form.longitude" placeholder="请输入经度" />
<el-col :span="23">
<el-form-item label="经纬度坐标" prop="longitude">
<el-col :span="9">
<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="latitude">
<el-input v-model="form.latitude" placeholder="请输入纬度" />
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="formDetailInfo.deviceName" placeholder="请输入设备名称" autocomplete="off"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="设备型号" prop="deviceModel">
<el-input v-model="formDetailInfo.deviceModel" placeholder="请输入设备型号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="权属单位" prop="beyondEnterpriseName">
<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-form-item label="设备类型" prop="deviceType">
<el-select v-model="formDetailInfo.deviceType" placeholder="请选择设备类型">
<el-option label="压力表" value="1" />
<el-option label="流量计" value="2" />
</el-select>
</el-form-item>
</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-col :span="22">
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="备注" prop="remarksn">
<el-input v-model="formDetailInfo.remarksn" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="addDetailInfo"> </el-button>
<el-button @click="dialogFormVisible=false"> </el-button>
</div>
</el-dialog>
<GetPos
:dialogVisible.sync="dialogTableVisibles"
device=""
:devicePos="devicePos"
@close="dialogcancelFun"
@getPath="getPath"
/>
</div>
</template>
<script>
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 {
name: "Station",
components: {
GetPos
},
data() {
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,
// 导出遮罩层
......@@ -253,6 +479,12 @@ export default {
beyondEnterpriseName: null,
remarks: null
},
// 查询参数
dateQueryParams: {
deviceName: null,
deviceModel: null,
iotNo: null,
},
// 表单参数
form: {},
// 动态下拉
......@@ -316,7 +548,8 @@ export default {
updateBy: null,
updateTime: null,
isDel: null,
remarks: null
remarks: null,
relationDeviceType:'2',
};
this.resetForm("form");
},
......@@ -342,6 +575,17 @@ export default {
selectTEnterprise().then(response => {
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.open = true;
this.title = "添加场站信息";
......@@ -352,6 +596,18 @@ export default {
selectTEnterprise().then(response => {
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();
const siteStationId = row.siteStationId || this.ids
getStation(siteStationId).then(response => {
......@@ -360,26 +616,28 @@ export default {
this.title = "修改场站信息";
});
},
/** 提交按钮 */
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();
});
} else {
addStation(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 原提交按钮 */
// 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();
// });
// } else {
// addStation(this.form).then(response => {
// this.msgSuccess("新增成功");
// this.open = false;
// this.getList();
// });
// }
// }
// });
// },
/** 删除按钮操作 */
handleDelete(row) {
const siteStationIds = row.siteStationId || this.ids;
......@@ -408,7 +666,230 @@ export default {
this.download(response.msg);
this.exportLoading = false;
}).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>
......@@ -19,15 +19,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input
v-model="queryParams.remarks"
placeholder="请输入备注"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="备注" prop="remarks">-->
<!-- <el-input-->
<!-- v-model="queryParams.remarks"-->
<!-- 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="handleQuery">搜索</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