forked from xxhjsb/hbt-prevention-ui
feat:新增隐患页面
parent
12d1d4aad2
commit
b715d9e86d
|
@ -5,7 +5,7 @@ VUE_APP_TITLE = 汉邦唐全真数字服务平台
|
||||||
# 网关地址
|
# 网关地址
|
||||||
VUE_APP_GATEWAY_URL="/dev-api"
|
VUE_APP_GATEWAY_URL="/dev-api"
|
||||||
# 服务地址
|
# 服务地址
|
||||||
VUE_APP_BASE_API_URL="http://192.168.1.19:8081/"
|
VUE_APP_BASE_API_URL="http://192.168.2.187:8081"
|
||||||
# 服务前-- 请严格遵守格式 不允许换行
|
# 服务前-- 请严格遵守格式 不允许换行
|
||||||
VUE_APP_SERVICE_PREFIX= '{"system":"/system","file":"/file-zy","prevention":"/prevention-yx"}'
|
VUE_APP_SERVICE_PREFIX= '{"system":"/system","file":"/file-zy","prevention":"/prevention-yx"}'
|
||||||
# 是否显示全部菜单
|
# 是否显示全部菜单
|
||||||
|
|
|
@ -24,6 +24,10 @@ body{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mapboxgl-map{
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
.v-modal{
|
.v-modal{
|
||||||
z-index: 98 !important;
|
z-index: 98 !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,9 @@ import Mock from "mockjs"
|
||||||
// import { MockData } from './mock';
|
// import { MockData } from './mock';
|
||||||
|
|
||||||
Vue.config.productionTip = false;
|
Vue.config.productionTip = false;
|
||||||
// Vue.config.warnHandler = ()=>{
|
Vue.config.warnHandler = ()=>{
|
||||||
|
|
||||||
// }
|
}
|
||||||
document.title = process.env.VUE_APP_TITLE || '汉邦唐全真数字服务平台';
|
document.title = process.env.VUE_APP_TITLE || '汉邦唐全真数字服务平台';
|
||||||
|
|
||||||
// if(process.env.NODE_ENV==="development"){
|
// if(process.env.NODE_ENV==="development"){
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="map-box" ref="draw">
|
<div class="map-box" ref="draw">
|
||||||
<MapComponent :center="center" @onLoad="getMap"></MapComponent>
|
<MapComponent @onLoad="getMap"></MapComponent>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -80,7 +80,6 @@ export default class DrawComponent extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
public map:any;
|
public map:any;
|
||||||
public center = [-91.874, 42.76];
|
|
||||||
|
|
||||||
public updateParams = {} as any;
|
public updateParams = {} as any;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="map" :id="id"></div>
|
<div class="map" :id="id"></div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Emit, Prop, Vue } from 'vue-property-decorator';
|
import { Component, Emit, Prop, PropSync, Vue } from 'vue-property-decorator';
|
||||||
import mapboxgl from "mapbox-gl";
|
import mapboxgl from "mapbox-gl";
|
||||||
import "mapbox-gl/dist/mapbox-gl.css"
|
import "mapbox-gl/dist/mapbox-gl.css"
|
||||||
@Component
|
@Component
|
||||||
|
@ -15,7 +15,7 @@ export default class MapComponent extends Vue {
|
||||||
})
|
})
|
||||||
id:string;
|
id:string;
|
||||||
|
|
||||||
@Prop({
|
@PropSync("position",{
|
||||||
required:false,
|
required:false,
|
||||||
default:()=>{
|
default:()=>{
|
||||||
return [118.751353,31.969568]
|
return [118.751353,31.969568]
|
||||||
|
@ -39,7 +39,7 @@ export default class MapComponent extends Vue {
|
||||||
// accessToken :"pk.eyJ1IjoiMTgzODI0ZHl0IiwiYSI6ImNqbHExNDVjZzI0ZmUza2wxMDhocnlyem4ifQ.FZoJzmqTtli8hAvvAc1OPA",
|
// accessToken :"pk.eyJ1IjoiMTgzODI0ZHl0IiwiYSI6ImNqbHExNDVjZzI0ZmUza2wxMDhocnlyem4ifQ.FZoJzmqTtli8hAvvAc1OPA",
|
||||||
container: this.id,
|
container: this.id,
|
||||||
style: 'mapbox://styles/mapbox/streets-v9',
|
style: 'mapbox://styles/mapbox/streets-v9',
|
||||||
center: [118.751353,31.969568],
|
center: this.center,
|
||||||
zoom: 16,
|
zoom: 16,
|
||||||
});
|
});
|
||||||
this.map.on("load",()=>{
|
this.map.on("load",()=>{
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
import BaseService from "hbt-common/service/base.service"
|
||||||
|
import type { AxiosResponse } from 'axios'
|
||||||
|
import { ActionResult } from "hbt-common/models/actionResult";
|
||||||
|
export default class ManagerService extends BaseService<any>{
|
||||||
|
constructor(){
|
||||||
|
super()
|
||||||
|
}
|
||||||
|
// 查询列表
|
||||||
|
public selectByPage(params: any):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/manage/list';
|
||||||
|
return this.get(url,params,true)
|
||||||
|
}
|
||||||
|
// 批量删除
|
||||||
|
public deleteByIds(params):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/manage';
|
||||||
|
return this.deleteBatch(url,params,{},true)
|
||||||
|
}
|
||||||
|
public selectById(id:any,showLoading?:boolean):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/manage/'+id;
|
||||||
|
return this.get(url,null,showLoading)
|
||||||
|
}
|
||||||
|
|
||||||
|
public getNumber():Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/manage/number';
|
||||||
|
return this.get(url,null)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增或更新
|
||||||
|
public addOrUpdate(params: any, add: boolean,showLoading?:boolean): Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/manage';
|
||||||
|
if(add){
|
||||||
|
return this.post(url,params,{},showLoading)
|
||||||
|
}else{
|
||||||
|
return this.put(url,params,{},showLoading)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public getFileUrls(params):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.file+'/getSysFiles';
|
||||||
|
return this.get(url,params,false)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
import BaseService from "hbt-common/service/base.service"
|
||||||
|
import type { AxiosResponse } from 'axios'
|
||||||
|
import { ActionResult } from "hbt-common/models/actionResult";
|
||||||
|
export default class NoteService extends BaseService<any>{
|
||||||
|
constructor(){
|
||||||
|
super()
|
||||||
|
}
|
||||||
|
// 查询列表
|
||||||
|
public selectByPage(params: any):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/note/list';
|
||||||
|
return this.get(url,params,true)
|
||||||
|
}
|
||||||
|
// 批量删除
|
||||||
|
public deleteByIds(params):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/note';
|
||||||
|
return this.deleteBatch(url,params,{},true)
|
||||||
|
}
|
||||||
|
public selectById(id:any,showLoading?:boolean):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/note/'+id;
|
||||||
|
return this.get(url,null,showLoading)
|
||||||
|
}
|
||||||
|
|
||||||
|
public getNumber():Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/note/number';
|
||||||
|
return this.get(url,null)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增或更新
|
||||||
|
public addOrUpdate(params: any, add: boolean,showLoading?:boolean): Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/note';
|
||||||
|
if(add){
|
||||||
|
return this.post(url,params,{},showLoading)
|
||||||
|
}else{
|
||||||
|
return this.put(url,params,{},showLoading)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public getFileUrls(params):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.file+'/getSysFiles';
|
||||||
|
return this.get(url,params,false)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
import BaseService from "hbt-common/service/base.service"
|
||||||
|
import type { AxiosResponse } from 'axios'
|
||||||
|
import { ActionResult } from "hbt-common/models/actionResult";
|
||||||
|
export default class PlanService extends BaseService<any>{
|
||||||
|
constructor(){
|
||||||
|
super()
|
||||||
|
}
|
||||||
|
// 查询列表
|
||||||
|
public selectByPage(params: any):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/plan/list';
|
||||||
|
return this.get(url,params,true)
|
||||||
|
}
|
||||||
|
// 批量删除
|
||||||
|
public deleteByIds(params):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/plan';
|
||||||
|
return this.deleteBatch(url,params,{},true)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
public selectById(id:any,showLoading?:boolean):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/plan/'+id;
|
||||||
|
return this.get(url,null,showLoading)
|
||||||
|
}
|
||||||
|
|
||||||
|
public deliver(params:any,showLoading?:boolean):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/plan/deliver';
|
||||||
|
return this.post(url,params,{},showLoading)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增或更新
|
||||||
|
public addOrUpdate(params: any, add: boolean,showLoading?:boolean): Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/plan';
|
||||||
|
if(add){
|
||||||
|
return this.post(url,params,{},showLoading)
|
||||||
|
}else{
|
||||||
|
return this.put(url,params,{},showLoading)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public getRecordList(params: any):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/record/list';
|
||||||
|
return this.get(url,params,true)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
import BaseService from "hbt-common/service/base.service"
|
||||||
|
import type { AxiosResponse } from 'axios'
|
||||||
|
import { ActionResult } from "hbt-common/models/actionResult";
|
||||||
|
export default class TaskService extends BaseService<any>{
|
||||||
|
constructor(){
|
||||||
|
super()
|
||||||
|
}
|
||||||
|
// 查询列表
|
||||||
|
public selectByPage(params: any):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/task/list';
|
||||||
|
return this.get(url,params,true)
|
||||||
|
}
|
||||||
|
// 批量删除
|
||||||
|
public deleteByIds(params):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/task';
|
||||||
|
return this.deleteBatch(url,params,{},true)
|
||||||
|
}
|
||||||
|
public selectById(id:any,showLoading?:boolean):Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/task/'+id;
|
||||||
|
return this.get(url,null,showLoading)
|
||||||
|
}
|
||||||
|
|
||||||
|
public getNumber():Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/table/number';
|
||||||
|
return this.get(url,null)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增或更新
|
||||||
|
public addOrUpdate(params: any, add: boolean,showLoading?:boolean): Promise<AxiosResponse<ActionResult<any>>>{
|
||||||
|
const url = this.prefix.prevention+'/danger/task';
|
||||||
|
if(add){
|
||||||
|
return this.post(url,params,{},showLoading)
|
||||||
|
}else{
|
||||||
|
return this.put(url,params,{},showLoading)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,6 +14,12 @@ export default new Vuex.Store({
|
||||||
prevention_risk_level:[],
|
prevention_risk_level:[],
|
||||||
prevention_safe_reason:[],
|
prevention_safe_reason:[],
|
||||||
prevention_dangrous_type:[],
|
prevention_dangrous_type:[],
|
||||||
|
prevention_cycle_unit:[],
|
||||||
|
prevention_danger_check_type:[],
|
||||||
|
prevention_danger_resource:[],
|
||||||
|
prevention_danger_type:[],
|
||||||
|
prevention_occur_step:[],
|
||||||
|
prevention_major_type:[]
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
dept_map:(state)=>{
|
dept_map:(state)=>{
|
||||||
|
@ -65,12 +71,54 @@ export default new Vuex.Store({
|
||||||
})
|
})
|
||||||
return map
|
return map
|
||||||
},
|
},
|
||||||
|
prevention_cycle_unit_map:(state)=>{
|
||||||
|
const map = {};
|
||||||
|
state.prevention_cycle_unit.forEach((item:any)=>{
|
||||||
|
map[item.value] = item.name
|
||||||
|
})
|
||||||
|
return map
|
||||||
|
},
|
||||||
prevention_dangrous_type_map:(state)=>{
|
prevention_dangrous_type_map:(state)=>{
|
||||||
const map = {};
|
const map = {};
|
||||||
state.prevention_dangrous_type.forEach((item:any)=>{
|
state.prevention_dangrous_type.forEach((item:any)=>{
|
||||||
map[item.value] = item.name
|
map[item.value] = item.name
|
||||||
})
|
})
|
||||||
return map
|
return map
|
||||||
|
},
|
||||||
|
prevention_danger_check_type_map:(state)=>{
|
||||||
|
const map = {};
|
||||||
|
state.prevention_danger_check_type.forEach((item:any)=>{
|
||||||
|
map[item.value] = item.name
|
||||||
|
})
|
||||||
|
return map
|
||||||
|
},
|
||||||
|
prevention_danger_type_map:(state)=>{
|
||||||
|
const map = {};
|
||||||
|
state.prevention_danger_type.forEach((item:any)=>{
|
||||||
|
map[item.value] = item.name
|
||||||
|
})
|
||||||
|
return map
|
||||||
|
},
|
||||||
|
prevention_danger_resource_map:(state)=>{
|
||||||
|
const map = {};
|
||||||
|
state.prevention_danger_resource.forEach((item:any)=>{
|
||||||
|
map[item.value] = item.name
|
||||||
|
})
|
||||||
|
return map
|
||||||
|
},
|
||||||
|
prevention_major_type_map:(state)=>{
|
||||||
|
const map = {};
|
||||||
|
state.prevention_major_type.forEach((item:any)=>{
|
||||||
|
map[item.value] = item.name
|
||||||
|
})
|
||||||
|
return map
|
||||||
|
},
|
||||||
|
prevention_occur_step_map:(state)=>{
|
||||||
|
const map = {};
|
||||||
|
state.prevention_occur_step.forEach((item:any)=>{
|
||||||
|
map[item.value] = item.name
|
||||||
|
})
|
||||||
|
return map
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
|
@ -102,7 +150,25 @@ export default new Vuex.Store({
|
||||||
},
|
},
|
||||||
set_prevention_dangrous_type(state,data){
|
set_prevention_dangrous_type(state,data){
|
||||||
state.prevention_dangrous_type = data;
|
state.prevention_dangrous_type = data;
|
||||||
}
|
},
|
||||||
|
set_prevention_cycle_unit(state,data){
|
||||||
|
state.prevention_cycle_unit = data;
|
||||||
|
},
|
||||||
|
set_prevention_danger_check_type(state,data){
|
||||||
|
state.prevention_danger_check_type = data;
|
||||||
|
},
|
||||||
|
set_prevention_danger_type(state,data){
|
||||||
|
state.prevention_danger_type = data;
|
||||||
|
},
|
||||||
|
set_prevention_danger_resource(state,data){
|
||||||
|
state.prevention_danger_resource = data;
|
||||||
|
},
|
||||||
|
set_prevention_major_type(state,data){
|
||||||
|
state.prevention_major_type = data;
|
||||||
|
},
|
||||||
|
set_prevention_occur_step(state,data){
|
||||||
|
state.prevention_occur_step = data;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
},
|
},
|
||||||
|
|
|
@ -22,7 +22,13 @@ export default class BlankComponent extends Vue {
|
||||||
this.systemService.getDictData("prevention_dangrous_level"),
|
this.systemService.getDictData("prevention_dangrous_level"),
|
||||||
this.systemService.getDictData("prevention_risk_level"),
|
this.systemService.getDictData("prevention_risk_level"),
|
||||||
this.systemService.getDictData("prevention_safe_reason"),
|
this.systemService.getDictData("prevention_safe_reason"),
|
||||||
this.systemService.getDictData("prevention_dangrous_type")
|
this.systemService.getDictData("prevention_dangrous_type"),
|
||||||
|
this.systemService.getDictData("prevention_cycle_unit"),
|
||||||
|
this.systemService.getDictData("prevention_danger_check_type"),
|
||||||
|
this.systemService.getDictData("prevention_danger_resource"),
|
||||||
|
this.systemService.getDictData("prevention_danger_type"),
|
||||||
|
this.systemService.getDictData("prevention_major_type"),
|
||||||
|
this.systemService.getDictData("prevention_occur_step"),
|
||||||
]).then(((results:any)=>{
|
]).then(((results:any)=>{
|
||||||
this.$store.commit("setDeptTreeList",results[0].data);
|
this.$store.commit("setDeptTreeList",results[0].data);
|
||||||
this.$store.commit("setUserList",results[2].data.datas.map((item)=>{
|
this.$store.commit("setUserList",results[2].data.datas.map((item)=>{
|
||||||
|
@ -71,6 +77,42 @@ export default class BlankComponent extends Vue {
|
||||||
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
|
this.$store.commit("set_prevention_cycle_unit",results[9].data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.dictLabel,
|
||||||
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
this.$store.commit("set_prevention_danger_check_type",results[10].data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.dictLabel,
|
||||||
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
this.$store.commit("set_prevention_danger_resource",results[11].data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.dictLabel,
|
||||||
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
this.$store.commit("set_prevention_danger_type",results[12].data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.dictLabel,
|
||||||
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
this.$store.commit("set_prevention_major_type",results[13].data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.dictLabel,
|
||||||
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
this.$store.commit("set_prevention_occur_step",results[14].data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.dictLabel,
|
||||||
|
value:isNaN(+item.dictValue)?item.dictValue:+item.dictValue
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
::v-deep {
|
::v-deep {
|
||||||
|
.color_0 {
|
||||||
|
color: #F56C6C
|
||||||
|
}
|
||||||
.color_1 {
|
.color_1 {
|
||||||
color: #68C23A
|
color: #68C23A
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,21 +9,48 @@ import AreaService from "@/service/area.service"
|
||||||
import FormOption from "hbt-common/models/formOptions"
|
import FormOption from "hbt-common/models/formOptions"
|
||||||
import BtnOption from "hbt-common/models/btnOptions"
|
import BtnOption from "hbt-common/models/btnOptions"
|
||||||
import DrawComponent from '@/components/draw.component.vue';
|
import DrawComponent from '@/components/draw.component.vue';
|
||||||
|
import NoteService from '@/service/note.service';
|
||||||
|
import UnitService from '@/service/unit.service';
|
||||||
|
import MapComponent from "@/components/map.component.vue"
|
||||||
|
import mapboxgl from "mapbox-gl";
|
||||||
@Component({
|
@Component({
|
||||||
template,
|
template,
|
||||||
components:{
|
components:{
|
||||||
FormComponent,
|
FormComponent,
|
||||||
TableComponent,
|
TableComponent,
|
||||||
DrawComponent,
|
DrawComponent,
|
||||||
|
MapComponent
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
export default class HiddenDangerClapComponent extends BaseRecordComponent<any> {
|
export default class HiddenDangerClapComponent extends BaseRecordComponent<any> {
|
||||||
public tableService = new AreaService();
|
public tableService = new NoteService();
|
||||||
|
|
||||||
|
public areaService = new AreaService();
|
||||||
|
|
||||||
|
public unitService = new UnitService();
|
||||||
|
|
||||||
|
public areaList = [];
|
||||||
|
|
||||||
|
public unitList = [];
|
||||||
|
|
||||||
public params = {} as any;
|
public params = {} as any;
|
||||||
// 是否显示删改查按钮
|
// 是否显示删改查按钮
|
||||||
public isBase = true;
|
public isBase = true;
|
||||||
|
|
||||||
|
public isAction = false;
|
||||||
|
|
||||||
|
public isPlan = false;
|
||||||
|
|
||||||
|
public tableActionWidth = "150px";
|
||||||
|
|
||||||
|
public isReadonly = false;
|
||||||
|
|
||||||
|
public showMap = false;
|
||||||
|
public center = [118.751353,31.969568];
|
||||||
|
public marker:any;
|
||||||
|
|
||||||
|
public map:any;
|
||||||
|
|
||||||
public formActions = [{
|
public formActions = [{
|
||||||
name:"查询",
|
name:"查询",
|
||||||
value:"search",
|
value:"search",
|
||||||
|
@ -55,106 +82,28 @@ export default class HiddenDangerClapComponent extends BaseRecordComponent<any>
|
||||||
value:"reverse"
|
value:"reverse"
|
||||||
}];
|
}];
|
||||||
public formOptions:FormOption<BtnOption>[] = [{
|
public formOptions:FormOption<BtnOption>[] = [{
|
||||||
name:"检查标题",
|
name:"整改编号",
|
||||||
key:"areaId",
|
key:"number",
|
||||||
type:"text",
|
type:"text",
|
||||||
}];
|
}];
|
||||||
|
|
||||||
public showUpdate = false;
|
public showUpdate = false;
|
||||||
public currentId = -1;
|
|
||||||
public updateParams = {} as any;
|
public updateParams = {} as any;
|
||||||
public updateOptions:FormOption<BtnOption>[] = [{
|
public updateOptions:FormOption<BtnOption>[] = [];
|
||||||
name:"区域编号",
|
|
||||||
key:"no",
|
|
||||||
type:"text",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true
|
|
||||||
},{
|
|
||||||
name:"区域名称",
|
|
||||||
key:"areaName",
|
|
||||||
type:"text",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true
|
|
||||||
},{
|
|
||||||
name:"责任部门",
|
|
||||||
key:"deptId",
|
|
||||||
type:"select",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"部门1",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"部门2",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
name:"责任人",
|
|
||||||
key:"person",
|
|
||||||
type:"select",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"人员1",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"人员2",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
name:"属于重大危险源",
|
|
||||||
key:"isDangrous",
|
|
||||||
type:"radio",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"是",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"否",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
name:"重大危险源名称",
|
|
||||||
key:"dangrousName",
|
|
||||||
type:"text",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
},{
|
|
||||||
name:"重大危险源等级",
|
|
||||||
key:"level",
|
|
||||||
type:"select",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"一级",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"二级",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
type:"btn",
|
|
||||||
name:"区域绘制",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
btn:[{
|
|
||||||
name:"开始绘制",
|
|
||||||
value:"draw",
|
|
||||||
type:"primary"
|
|
||||||
}]
|
|
||||||
}];
|
|
||||||
|
|
||||||
|
public photoList = [] as any;
|
||||||
|
public fileList = [] as any;
|
||||||
|
|
||||||
public showDraw = false;
|
public currentUrl:any;
|
||||||
|
public showFile = false;
|
||||||
|
|
||||||
public drawModel = "list";
|
|
||||||
|
|
||||||
|
|
||||||
public updateActions = [{
|
public updateActions = [{
|
||||||
name:"取消",
|
name:"取消",
|
||||||
value:"cancel"
|
value:"cancel"
|
||||||
},{
|
},{
|
||||||
name:"保存并继续添加",
|
name:"保存并下发",
|
||||||
value:"saveAndContinue",
|
value:"saveAndContinue",
|
||||||
type:"primary"
|
type:"primary"
|
||||||
},{
|
},{
|
||||||
|
@ -165,17 +114,335 @@ export default class HiddenDangerClapComponent extends BaseRecordComponent<any>
|
||||||
|
|
||||||
public selectData = [];
|
public selectData = [];
|
||||||
|
|
||||||
|
public levelMap = ["","一般隐患","重大隐患"]
|
||||||
|
public reformModeMap = ["","即查即改","限期整改"]
|
||||||
|
|
||||||
|
|
||||||
created(){
|
created(){
|
||||||
|
this.loadAreaData()
|
||||||
|
this.loadUnitData();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 加载区域列表
|
||||||
|
public loadAreaData(){
|
||||||
|
this.areaService.selectByPage({pageSize:1000}).then((res:any)=>{
|
||||||
|
this.areaList = res.data.datas.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.name,
|
||||||
|
value:item.id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.buildUpdateForm()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 加载单元列表
|
||||||
|
public loadUnitData(id?){
|
||||||
|
this.unitService.selectByPage({pageSize:1000,areaId:id},false).then((res:any)=>{
|
||||||
|
this.unitList = res.data.datas.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.name,
|
||||||
|
value:item.id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.buildUpdateForm()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public buildUpdateForm(){
|
||||||
|
this.updateOptions = [{
|
||||||
|
name:"隐患编号",
|
||||||
|
key:"number",
|
||||||
|
type:"text",
|
||||||
|
width:"100%",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
disable:true
|
||||||
|
},{
|
||||||
|
name:"隐患来源",
|
||||||
|
key:"type",
|
||||||
|
type:"text",
|
||||||
|
width:"100%",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
disable:true,
|
||||||
|
},{
|
||||||
|
name:"检查区域",
|
||||||
|
key:"areaId",
|
||||||
|
format:"areaName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.areaList
|
||||||
|
},{
|
||||||
|
name:"检查单元",
|
||||||
|
key:"unitId",
|
||||||
|
format:"unitName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.unitList
|
||||||
|
},{
|
||||||
|
name:"整改标题",
|
||||||
|
key:"title",
|
||||||
|
type:"text",
|
||||||
|
width:"100%",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"检查类型",
|
||||||
|
key:"inspectType",
|
||||||
|
format:"inspectTypeName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_danger_check_type,
|
||||||
|
},{
|
||||||
|
name:"隐患类别",
|
||||||
|
key:"dangerType",
|
||||||
|
format:"dangerTypeName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_danger_type,
|
||||||
|
},{
|
||||||
|
name:"检查人员",
|
||||||
|
key:"inspectUserId",
|
||||||
|
format:"inspectUserName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.userList,
|
||||||
|
},{
|
||||||
|
name:"检查时间",
|
||||||
|
key:"inspectTime",
|
||||||
|
type:"date",
|
||||||
|
subType:"datetime",
|
||||||
|
format:"yyyy-MM-dd HH:mm",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"隐患级别",
|
||||||
|
key:"level",
|
||||||
|
format:"levelName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:[{
|
||||||
|
name:"一般隐患",
|
||||||
|
value:1
|
||||||
|
},{
|
||||||
|
name:"重大隐患",
|
||||||
|
value:2
|
||||||
|
}]
|
||||||
|
},{
|
||||||
|
name:"整改方式",
|
||||||
|
key:"reformMode",
|
||||||
|
format:"reformModeName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:[{
|
||||||
|
name:"即查即改",
|
||||||
|
value:1
|
||||||
|
},{
|
||||||
|
name:"限期整改",
|
||||||
|
value:2
|
||||||
|
}]
|
||||||
|
},{
|
||||||
|
name:"隐患位置",
|
||||||
|
key:"locationName",
|
||||||
|
type:"text",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
unit:{
|
||||||
|
type:"btn",
|
||||||
|
hide:this.isReadonly,
|
||||||
|
name:"点击定位",
|
||||||
|
value:"fixed",
|
||||||
|
btnType:"primary"
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
name:"隐患分类",
|
||||||
|
key:"classify",
|
||||||
|
format:"classifyName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_dangrous_type
|
||||||
|
},{
|
||||||
|
name:"整改部门",
|
||||||
|
key:"reformDeptId",
|
||||||
|
format:"reformDeptName",
|
||||||
|
type:"treeSelect",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
expandLevel:Infinity,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.deptTreeList
|
||||||
|
},{
|
||||||
|
name:"整改人员",
|
||||||
|
key:"reformUserId",
|
||||||
|
format:"reformUserName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.userList,
|
||||||
|
},{
|
||||||
|
name:"验证人员",
|
||||||
|
key:"verifyUserId",
|
||||||
|
format:"verifyUserName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.userList,
|
||||||
|
},{
|
||||||
|
name:"要求整改日期",
|
||||||
|
key:"reformDeadline",
|
||||||
|
type:"date",
|
||||||
|
subType:"datetime",
|
||||||
|
format:"yyyy-MM-dd HH",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"问题描述",
|
||||||
|
key:"description",
|
||||||
|
type:"textarea",
|
||||||
|
width:"100%",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"隐患照片",
|
||||||
|
key:"photo",
|
||||||
|
ref:"photo",
|
||||||
|
type:"upload",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
onSucess:this.onSuccess,
|
||||||
|
onMove:this.onRemove,
|
||||||
|
showError:false,
|
||||||
|
autoUpload:true,
|
||||||
|
onPreview:this.onPreview,
|
||||||
|
accept:"image/png, image/jpeg",
|
||||||
|
listType:"picture-card",
|
||||||
|
fileList:this.photoList,
|
||||||
|
icon:"el-icon-plus",
|
||||||
|
},{
|
||||||
|
name:"相关附件",
|
||||||
|
key:"file",
|
||||||
|
ref:"file",
|
||||||
|
type:"upload",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
showError:false,
|
||||||
|
onSucess:this.onSuccess2,
|
||||||
|
onMove:this.onRemove2,
|
||||||
|
onPreview:this.onPreview,
|
||||||
|
autoUpload:true,
|
||||||
|
accept:"image/png, image/jpeg,.doc,.docx,.xls,.xlsx,.pdf",
|
||||||
|
listType:"text",
|
||||||
|
tip:this.isReadonly?"":"请上传.pdf,.png,.jpg,.doc.docx,.xls,.xlsx格式文件",
|
||||||
|
fileList:this.fileList,
|
||||||
|
btn:[{
|
||||||
|
name:"上传",
|
||||||
|
value:"upload",
|
||||||
|
hide:this.isReadonly,
|
||||||
|
size:"small",
|
||||||
|
type:"primary"
|
||||||
|
}]
|
||||||
|
},{
|
||||||
|
name:"违章人数",
|
||||||
|
key:"violateNumber",
|
||||||
|
type:"number",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"专业分类",
|
||||||
|
key:"professionClassify",
|
||||||
|
format:"professionClassifyName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_major_type,
|
||||||
|
},{
|
||||||
|
name:"发生环节",
|
||||||
|
key:"occurNode",
|
||||||
|
format:"occurNodeName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_occur_step,
|
||||||
|
},{
|
||||||
|
name:"违反规定条款",
|
||||||
|
key:"violateTerm",
|
||||||
|
type:"textarea",
|
||||||
|
width:"100%",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"隐患整改要求",
|
||||||
|
key:"reformDemand",
|
||||||
|
type:"textarea",
|
||||||
|
width:"100%",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
|
|
||||||
public buildTable(){
|
public buildTable(){
|
||||||
this.tableColumn.push({name:'整改单编号',key:"areaName"});
|
this.tableColumn.push({name:'整改单编号',key:"number"});
|
||||||
this.tableColumn.push({name:'整改部门',key:"areaName"});
|
this.tableColumn.push({name:'整改部门',key:"reformDeptName"});
|
||||||
this.tableColumn.push({name:'隐患级别',key:"deptName"});
|
this.tableColumn.push({name:'隐患级别',render:(data)=>{
|
||||||
|
return this.levelMap[data.level]
|
||||||
|
}});
|
||||||
this.tableColumn.push({name:'隐患状态',key:"person"});
|
this.tableColumn.push({name:'隐患状态',key:"person"});
|
||||||
this.tableColumn.push({name:'检查人员',key:"isDangrous"});
|
this.tableColumn.push({name:'检查人员',key:"inspectUserName"});
|
||||||
|
}
|
||||||
|
public getMap(map){
|
||||||
|
this.map = map;
|
||||||
|
this.addMarker();
|
||||||
|
}
|
||||||
|
|
||||||
|
public addMarker(){
|
||||||
|
this.marker = new mapboxgl.Marker({draggable:true})
|
||||||
|
.setLngLat(this.center)
|
||||||
|
.addTo(this.map);
|
||||||
|
}
|
||||||
|
|
||||||
|
public change(data,item){
|
||||||
|
if(item && item.key === "areaId"){
|
||||||
|
this.loadUnitData(data)
|
||||||
|
}
|
||||||
|
if(item && item.key === "inspectUserId"){
|
||||||
|
this.updateParams.inspectUserName = this.$store.getters.user_map[data]
|
||||||
|
}
|
||||||
|
if(item && item.key === "reformDeptId"){
|
||||||
|
this.updateParams.reformDeptName = this.$store.getters.dept_map[data]
|
||||||
|
}
|
||||||
|
if(item && item.key === "reformUserId"){
|
||||||
|
this.updateParams.reformUserName = this.$store.getters.user_map[data]
|
||||||
|
}
|
||||||
|
if(item && item.key === "verifyUserId"){
|
||||||
|
this.updateParams.verifyUserName = this.$store.getters.user_map[data]
|
||||||
|
}
|
||||||
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
public callback(data){
|
public callback(data){
|
||||||
|
@ -192,15 +459,16 @@ export default class HiddenDangerClapComponent extends BaseRecordComponent<any>
|
||||||
}else if(data.value === "selectAll"){
|
}else if(data.value === "selectAll"){
|
||||||
this.selectAll()
|
this.selectAll()
|
||||||
}else if(data.value === "add"){
|
}else if(data.value === "add"){
|
||||||
this.showUpdateModel(-1)
|
this.showUpdateModel()
|
||||||
}else if(data.value === "delete"){
|
}else if(data.value === "delete"){
|
||||||
this.deleteData(this.selectData.map((item:any)=>item.id))
|
this.deleteData(this.selectData.map((item:any)=>item.id))
|
||||||
}else if(data.value === "draw"){
|
}else if(data.value ==="fixed"){
|
||||||
this.drawModel = "area";
|
this.showMap = true
|
||||||
this.showDraw = true;
|
|
||||||
}else if(data.value === "drawList"){
|
}else if(data.value.indexOf("save")>=0){
|
||||||
this.drawModel = "list";
|
this.doSave();
|
||||||
this.showDraw = true;
|
}else{
|
||||||
|
this.handleClose()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 重置数据
|
// 重置数据
|
||||||
|
@ -213,15 +481,132 @@ export default class HiddenDangerClapComponent extends BaseRecordComponent<any>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public showUpdateModel(id){
|
public showUpdateModel(row?,isRead?){
|
||||||
if(id!==-1){
|
this.isReadonly = !!isRead;
|
||||||
|
this.fileList = [];
|
||||||
|
this.photoList = [];
|
||||||
|
this.updateParams = {type:"随手拍",locationName:"",number:null,photo:1}
|
||||||
|
if(!row){
|
||||||
|
|
||||||
|
this.tableService.getNumber().then(res=>{
|
||||||
|
this.updateParams.number = res.data;
|
||||||
|
this.center = [118.751353,31.969568];
|
||||||
|
this.buildUpdateForm()
|
||||||
|
this.showUpdate = true;
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
if(isRead){
|
||||||
|
delete this.updateParams.photo;
|
||||||
}
|
}
|
||||||
this.currentId = id;
|
this.tableService.selectById(row.id).then((res:any)=>{
|
||||||
|
Object.assign(this.updateParams,{
|
||||||
|
classifyName:this.$store.getters.prevention_dangrous_type_map[res.data.classify],
|
||||||
|
dangerTypeName:this.$store.getters.prevention_danger_type_map[res.data.dangerType],
|
||||||
|
inspectTypeName:this.$store.getters.prevention_danger_check_type_map[res.data.inspectType],
|
||||||
|
levelName:this.levelMap[res.data.level],
|
||||||
|
occurNodeName:this.$store.getters.prevention_occur_step_map[res.data.occurNode],
|
||||||
|
professionClassifyName:this.$store.getters.prevention_major_type_map[res.data.professionClassify],
|
||||||
|
reformModeName:this.reformModeMap[res.data.reformMode],
|
||||||
|
unitName:(this.unitList.find((item:any)=>item.value===res.data.unitId) as any).name,
|
||||||
|
areaName:(this.areaList.find((item:any)=>item.value===res.data.areaId) as any).name,
|
||||||
|
},res.data)
|
||||||
|
// 地图定位
|
||||||
|
this.center = [res.data.locationLng,res.data.locationLat];
|
||||||
|
|
||||||
|
// 获取url
|
||||||
|
this.tableService.getFileUrls({ids:res.data.resourceId.split(",")}).then((photos:any)=>{
|
||||||
|
this.photoList = photos.data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.originalName,
|
||||||
|
url:item.url,
|
||||||
|
type:item.type,
|
||||||
|
id:item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.buildUpdateForm()
|
||||||
|
})
|
||||||
|
this.tableService.getFileUrls({ids:res.data.resourceOtherId.split(",")}).then((files:any)=>{
|
||||||
|
this.fileList = files.data.map(item=>{
|
||||||
|
return {
|
||||||
|
name:item.originalName,
|
||||||
|
url:item.url,
|
||||||
|
type:item.type,
|
||||||
|
id:item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.buildUpdateForm()
|
||||||
|
})
|
||||||
this.showUpdate = true
|
this.showUpdate = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public onDragEnd() {
|
||||||
|
const lngLat = this.marker.getLngLat();
|
||||||
|
this.updateParams.locationLng = lngLat.lng;
|
||||||
|
this.updateParams.locationLat = lngLat.lat;
|
||||||
|
this.updateParams.locationName = lngLat.lng+","+lngLat.lat;
|
||||||
|
this.handleClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
public handleClose(){
|
public handleClose(){
|
||||||
|
if(this.showMap){
|
||||||
|
this.showMap = false;
|
||||||
|
this.marker.remove();
|
||||||
|
this.marker = null;
|
||||||
|
return
|
||||||
|
}
|
||||||
this.showUpdate = false;
|
this.showUpdate = false;
|
||||||
|
this.updateParams = {} as any;
|
||||||
|
}
|
||||||
|
|
||||||
|
public onSuccess(res,file,fileList){
|
||||||
|
if(res.code===200){
|
||||||
|
this.photoList.push({
|
||||||
|
name:res.data.originalName,
|
||||||
|
url:res.data.url,
|
||||||
|
type:res.data.type,
|
||||||
|
id:res.data.id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public onSuccess2(res,file,fileList){
|
||||||
|
if(res.code===200){
|
||||||
|
this.fileList.push({
|
||||||
|
name:res.data.originalName,
|
||||||
|
url:res.data.url,
|
||||||
|
type:res.data.type,
|
||||||
|
id:res.data.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public onRemove(file,fileList){
|
||||||
|
this.photoList.splice(this.photoList.findIndex(item=>item.id === file.response.data.id),1)
|
||||||
|
}
|
||||||
|
public onRemove2(file,fileList){
|
||||||
|
this.fileList.splice(this.fileList.findIndex(item=>item.id === file.response.data.id),1)
|
||||||
|
}
|
||||||
|
|
||||||
|
public onPreview(file){
|
||||||
|
console.log(file)
|
||||||
|
if(file.type.indexOf("png")>=0 || file.type.indexOf("jp")>=0){
|
||||||
|
this.currentUrl = file.url;
|
||||||
|
this.showFile = true;
|
||||||
|
}else{
|
||||||
|
window.open(file.url,"_blank")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public doSave(){
|
||||||
|
this.updateParams.resourceId = this.photoList.map(item=>item.id).join(",")
|
||||||
|
this.updateParams.resourceName = this.photoList.map(item=>item.name).join(",")
|
||||||
|
this.updateParams.resourceOtherId = this.fileList.map(item=>item.id).join(",")
|
||||||
|
this.updateParams.resourceOtherName = this.fileList.map(item=>item.name).join(",")
|
||||||
|
this.tableService.addOrUpdate(this.updateParams,!this.updateParams.id).then(res=>{
|
||||||
|
this.$message.success(!this.updateParams.id?"新增成功!":"编辑成功");
|
||||||
|
this.handleClose();
|
||||||
|
this.getTableData();
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -246,4 +631,5 @@ export default class HiddenDangerClapComponent extends BaseRecordComponent<any>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped src="../common.component.scss"></style>
|
<style lang="scss" scoped src="../common.component.scss">
|
||||||
|
</style>
|
||||||
|
|
|
@ -2,33 +2,40 @@
|
||||||
<div class="common-content-box dis-flex flex-col flex-1">
|
<div class="common-content-box dis-flex flex-col flex-1">
|
||||||
<div class="search-box">
|
<div class="search-box">
|
||||||
<FormComponent :options="formOptions" :data.sync="params" @actionCallback="callback" :actions="formActions"
|
<FormComponent :options="formOptions" :data.sync="params" @actionCallback="callback" :actions="formActions"
|
||||||
:full-btn="false" @change="callback" btn-position="end"></FormComponent>
|
:full-btn="false" @change="change" btn-position="end"></FormComponent>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-box flex-1">
|
<div class="table-box flex-1">
|
||||||
<TableComponent :tableData="tableData" :tableColumn="tableColumn" @tabCallback="callback($event)"
|
<TableComponent :tableData="tableData" :tableColumn="tableColumn"
|
||||||
@actionCallback="callback($event)" @pageNumberChange="callback($event)" @pageSizeChange="callback($event)"
|
@actionCallback="callback($event)" @pageNumberChange="callback($event,'pageNum')" @pageSizeChange="callback($event,'pageSize')"
|
||||||
:footerActions="footerActions" :actions="tableActions">
|
:footerActions="footerActions" :actions="tableActions">
|
||||||
|
|
||||||
<el-table ref="multipleTable" :data="tableData.datas" height="100%" border row-key="checked"
|
<el-table ref="multipleTable" :data="tableData.datas" height="100%" border row-key="checked"
|
||||||
@selection-change="handleSelectionChange" style="width: 100%">
|
@selection-change="handleSelectionChange" style="width: 100%">
|
||||||
<el-table-column type="selection" label="全选" width="40">
|
<el-table-column v-if="!isAction" type="selection" label="全选" width="40">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<div slot-scope="scope">{{scope.$index+1}}</div>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<template v-for="item in tableColumn">
|
<template v-for="item in tableColumn">
|
||||||
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-if="item.render" :label="item.name" :filters="item.filters"
|
||||||
|
:filter-method="item.filterMethod" :width="item.width" :key="item.key">
|
||||||
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
|
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-else :prop="item.key" :label="item.name" :filters="item.filters"
|
||||||
|
:filter-method="item.filterMethod" :width="item.width" :key="item.key">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column label="操作" :width="rowActionWidth">
|
<el-table-column label="操作" :width="tableActionWidth">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" v-if="isFile" @click="showUpdateModel(scope.row.userId)">查看</el-button>
|
<el-button type="text" v-if="isFile" @click="showUpdateModel(scope.row.userId)">查看</el-button>
|
||||||
<el-button type="text" v-if="isBase" @click="showUpdateModel(scope.row.userId)">查看</el-button>
|
<el-button type="text" v-if="isBase" @click="showUpdateModel(scope.row,true)">查看</el-button>
|
||||||
<el-button type="text" v-if="isBase" @click="showUpdateModel(0)">修改</el-button>
|
<el-button type="text" v-if="isBase" @click="showUpdateModel(scope.row)">修改</el-button>
|
||||||
<el-button type="text" v-if="isBase" @click="deleteData([scope.row])">删除</el-button>
|
<el-button type="text" v-if="isBase" @click="deleteData([scope.row.id])">删除</el-button>
|
||||||
<el-button type="text" v-if="isPlan" @click="showUpdateModel(0)">下发</el-button>
|
<el-button type="text" v-if="isPlan && !scope.row.status" @click="openSendModel(scope.row)">下发</el-button>
|
||||||
<el-button type="text" v-if="isPlan" @click="showUpdateModel(0)">检查情况</el-button>
|
<el-button type="text" v-if="isPlan && scope.row.planType && !scope.row.state" @click="openSendModel(scope.row)">启用</el-button>
|
||||||
<el-button type="text" v-if="isAction" @click="showUpdateModel(0)">检查</el-button>
|
<el-button type="text" v-if="isPlan && scope.row.planType && scope.row.state" @click="openSendModel(scope.row)">停用</el-button>
|
||||||
|
<el-button type="text" v-if="isPlan" @click="openRecordModel(scope.row)">检查情况</el-button>
|
||||||
|
<el-button type="text" v-if="isAction && scope.row.status!==2" @click="showUpdateModel(0)">检查</el-button>
|
||||||
<el-button type="text" v-if="isManager" @click="showUpdateModel(0)">抄送</el-button>
|
<el-button type="text" v-if="isManager" @click="showUpdateModel(0)">抄送</el-button>
|
||||||
<el-button type="text" v-if="isManager" @click="showUpdateModel(0)">移交</el-button>
|
<el-button type="text" v-if="isManager" @click="showUpdateModel(0)">移交</el-button>
|
||||||
<el-button type="text" v-if="isManager" @click="showUpdateModel(0)">中断</el-button>
|
<el-button type="text" v-if="isManager" @click="showUpdateModel(0)">中断</el-button>
|
||||||
|
@ -41,15 +48,169 @@
|
||||||
</TableComponent>
|
</TableComponent>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="model-box" v-if="showDraw">
|
|
||||||
<div class="mask"></div>
|
|
||||||
<DrawComponent :model="drawModel" :show.sync="showDraw"></DrawComponent>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<el-dialog :close-on-click-modal="false" :title="currentId>0?'详情':currentId===-1?'新增':'编辑'" :visible.sync="showUpdate" width="952px"
|
<el-dialog :close-on-click-modal="false" :title="isReadonly?'详情':!updateParams.id?'新增':'编辑'" :visible.sync="showUpdate" width="980px"
|
||||||
:before-close="handleClose">
|
:before-close="handleClose">
|
||||||
<FormComponent :options="updateOptions" :isReadonly="currentId>0" labelWidth="110px" labelAlign="right" :data.sync="updateParams"
|
<FormComponent ref="form" :options="updateOptions" :isReadonly="isReadonly" labelWidth="110px" labelAlign="right" :data.sync="updateParams"
|
||||||
@actionCallback="callback" :actions="updateActions" :full-btn="true" @change="callback"
|
@actionCallback="callback" :actions="updateActions" :full-btn="true" @change="change"
|
||||||
btn-position="center"></FormComponent>
|
btn-position="center"></FormComponent>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 下发 -->
|
||||||
|
<el-dialog v-if="isPlan" :close-on-click-modal="false" title="下发" :visible.sync="showSend" width="980px"
|
||||||
|
:before-close="handleClose">
|
||||||
|
<FormComponent :options="sendOptions" labelAlign="right" :data.sync="sendParams" @change="change" :fullBtn="true" btn-position="center" @actionCallback="sendCallback" :actions="updateActions">
|
||||||
|
<div class="full">
|
||||||
|
<el-radio-group size="medium" v-model="currentTableId" @change="tabChange">
|
||||||
|
<el-radio-button :label="item.id" v-for="item in sendTables" :key="item.id">{{item.name}}</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
<div class="full" style="margin-bottom: 20px;">
|
||||||
|
<el-table :data="currentTable.tableItems" tooltip-effect="dark" height="100%" width="100%" style="min-height:400px;">
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<div slot-scope="scope">{{scope.$index+1}}</div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查项目" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.name}}</div>
|
||||||
|
<el-input type="text" v-else v-model="scope.row.name"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查内容" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.content}}</div>
|
||||||
|
<el-input type="textarea" v-else v-model="scope.row.content"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查依据" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.reason}}</div>
|
||||||
|
<el-input type="textarea" v-else v-model="scope.row.reason"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="选择执行人">
|
||||||
|
<div slot-scope="scope">
|
||||||
|
<el-select v-model="scope.row.scopeId" filterable placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in $store.state.userList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="操作">
|
||||||
|
<div slot-scope="scope">
|
||||||
|
<el-button type="text" v-if="!scope.row.edit" @click="scope.row.edit = true">编辑</el-button>
|
||||||
|
<el-button type="text" v-else @click="scope.row.edit = false">确定</el-button>
|
||||||
|
<el-button type="text">删除</el-button>
|
||||||
|
</div>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</FormComponent>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 检查表记录 -->
|
||||||
|
<el-dialog v-if="isPlan" :close-on-click-modal="false" title="检查表记录" :visible.sync="showRecord" width="980px"
|
||||||
|
:before-close="handleClose">
|
||||||
|
<div class="full">
|
||||||
|
<el-radio-group size="medium" v-model="currentTableId" @change="tabChange">
|
||||||
|
<el-radio-button :label="item.id" v-for="item in sendTables" :key="item.id">{{item.name}}</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="full" style="margin-bottom: 20px;">
|
||||||
|
<el-table :data="currentTable.tableItems" tooltip-effect="dark" height="100%" width="100%" style="min-height:250px;">
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<div slot-scope="scope">{{scope.$index+1}}</div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查项目" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.name}}</div>
|
||||||
|
<el-input type="text" v-else v-model="scope.row.name"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查内容" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.content}}</div>
|
||||||
|
<el-input type="textarea" v-else v-model="scope.row.content"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查依据" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.reason}}</div>
|
||||||
|
<el-input type="textarea" v-else v-model="scope.row.reason"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查人">
|
||||||
|
<div slot-scope="scope"></div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查结果">
|
||||||
|
<div slot-scope="scope"></div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="检查记录">
|
||||||
|
<div slot-scope="scope"></div>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div class="full" style="text-align: right;">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:current-page.sync="recordParams.pageNum"
|
||||||
|
@current-change="getRecordData"
|
||||||
|
layout="prev, pager, next"
|
||||||
|
:total="tableData.totalRecords">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
<div class="sub-title">隐患登记情况</div>
|
||||||
|
|
||||||
|
<div class="full" style="margin-bottom: 20px;">
|
||||||
|
<el-table :data="currentTable.tableItems" tooltip-effect="dark" height="100%" width="100%" style="min-height:250px;">
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<div slot-scope="scope">{{scope.$index+1}}</div>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="隐患类型" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.name}}</div>
|
||||||
|
<el-input type="text" v-else v-model="scope.row.name"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="隐患等级" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.name}}</div>
|
||||||
|
<el-input type="text" v-else v-model="scope.row.name"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="整改方式" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.name}}</div>
|
||||||
|
<el-input type="text" v-else v-model="scope.row.name"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="隐患描述" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.content}}</div>
|
||||||
|
<el-input type="textarea" v-else v-model="scope.row.content"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="整改部门" :show-overflow-tooltip="true">
|
||||||
|
<div slot-scope="scope" v-if="!scope.row.edit">{{scope.row.reason}}</div>
|
||||||
|
<el-input type="textarea" v-else v-model="scope.row.reason"></el-input>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="责任人">
|
||||||
|
<div slot-scope="scope"> </div>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div class="full" style="text-align: right;">
|
||||||
|
<el-pagination
|
||||||
|
background
|
||||||
|
:page-size.sync="tableData.pageSize"
|
||||||
|
:current-page.sync="tableData.pageNum"
|
||||||
|
@size-change="pageSizeChange"
|
||||||
|
@current-change="pageNumberChange"
|
||||||
|
layout="prev, pager, next"
|
||||||
|
:total="tableData.totalRecords">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog v-if="showMap" :close-on-click-modal="false" destroy-on-close title="地图定位" :visible.sync="showMap" width="980px"
|
||||||
|
:before-close="handleClose">
|
||||||
|
<MapComponent @onLoad="getMap"></MapComponent>
|
||||||
|
<div class="full" style="margin-top: 20px; text-align: center;">
|
||||||
|
<el-button @click="handleClose">取消</el-button>
|
||||||
|
<el-button type="primary" @click="onDragEnd">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog v-if="showFile" :close-on-click-modal="false" title="查看图片" :visible.sync="showFile" destroy-on-close width="680px">
|
||||||
|
<img :src="currentUrl" style="width: 100%;" alt="">
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
|
@ -5,7 +5,7 @@ import template from "./common.component.html"
|
||||||
import BaseRecordComponent from "hbt-common/components/common/baseRecord.component.vue"
|
import BaseRecordComponent from "hbt-common/components/common/baseRecord.component.vue"
|
||||||
import FormComponent from "hbt-common/components/common/form.component.vue"
|
import FormComponent from "hbt-common/components/common/form.component.vue"
|
||||||
import TableComponent from "hbt-common/components/common/table.component.vue"
|
import TableComponent from "hbt-common/components/common/table.component.vue"
|
||||||
import AreaService from "@/service/area.service"
|
import ManagerService from "@/service/manager.service"
|
||||||
import FormOption from "hbt-common/models/formOptions"
|
import FormOption from "hbt-common/models/formOptions"
|
||||||
import BtnOption from "hbt-common/models/btnOptions"
|
import BtnOption from "hbt-common/models/btnOptions"
|
||||||
import DrawComponent from '@/components/draw.component.vue';
|
import DrawComponent from '@/components/draw.component.vue';
|
||||||
|
@ -18,7 +18,7 @@ import DrawComponent from '@/components/draw.component.vue';
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
export default class HiddenDangerFilesComponent extends BaseRecordComponent<any> {
|
export default class HiddenDangerFilesComponent extends BaseRecordComponent<any> {
|
||||||
public tableService = new AreaService();
|
public tableService = new ManagerService();
|
||||||
|
|
||||||
public params = {} as any;
|
public params = {} as any;
|
||||||
|
|
||||||
|
@ -35,11 +35,6 @@ export default class HiddenDangerFilesComponent extends BaseRecordComponent<any>
|
||||||
value:"reset"
|
value:"reset"
|
||||||
}];
|
}];
|
||||||
public tableActions = [{
|
public tableActions = [{
|
||||||
name:"添加",
|
|
||||||
value:"add",
|
|
||||||
icon:"el-icon-plus",
|
|
||||||
type:"primary"
|
|
||||||
},{
|
|
||||||
name:"批量删除",
|
name:"批量删除",
|
||||||
value:"delete",
|
value:"delete",
|
||||||
plain:true,
|
plain:true,
|
||||||
|
@ -200,7 +195,6 @@ export default class HiddenDangerFilesComponent extends BaseRecordComponent<any>
|
||||||
}
|
}
|
||||||
|
|
||||||
public buildTable(){
|
public buildTable(){
|
||||||
this.tableColumn.push({name:'序号',key:"areaName"});
|
|
||||||
this.tableColumn.push({name:'隐患整改状态',key:"areaName"});
|
this.tableColumn.push({name:'隐患整改状态',key:"areaName"});
|
||||||
this.tableColumn.push({name:'隐患来源',key:"deptName"});
|
this.tableColumn.push({name:'隐患来源',key:"deptName"});
|
||||||
this.tableColumn.push({name:'隐患标题',key:"person"});
|
this.tableColumn.push({name:'隐患标题',key:"person"});
|
||||||
|
|
|
@ -19,10 +19,12 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<template v-for="item in tableColumn">
|
<template v-for="item in tableColumn">
|
||||||
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :filters="item.filters"
|
||||||
|
:filter-method="item.filterMethod" :label="item.name" :width="item.width" :key="item.key">
|
||||||
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
|
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-else :prop="item.key" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-else :prop="item.key" :filters="item.filters"
|
||||||
|
:filter-method="item.filterMethod" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column label="操作" width="200">
|
<el-table-column label="操作" width="200">
|
||||||
|
@ -54,10 +56,12 @@
|
||||||
<el-table-column type="selection" label="全选" width="60" v-if="!isReadonly">
|
<el-table-column type="selection" label="全选" width="60" v-if="!isReadonly">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<template v-for="item in updateTableColumn">
|
<template v-for="item in updateTableColumn">
|
||||||
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-if="item.render" :filters="item.filters"
|
||||||
|
:filter-method="item.filterMethod" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
||||||
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
|
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-else :prop="item.key" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-else :prop="item.key" :filters="item.filters"
|
||||||
|
:filter-method="item.filterMethod" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column label="操作" width="200" v-if="!isReadonly">
|
<el-table-column label="操作" width="200" v-if="!isReadonly">
|
||||||
|
@ -90,7 +94,7 @@
|
||||||
|
|
||||||
<el-table ref="multipleTable" :data="updateTableData.datas" tooltip-effect="dark" height="100%" border
|
<el-table ref="multipleTable" :data="updateTableData.datas" tooltip-effect="dark" height="100%" border
|
||||||
@selection-change="handleSelectionChange" style="width: 100%;min-height: 200px;">
|
@selection-change="handleSelectionChange" style="width: 100%;min-height: 200px;">
|
||||||
<el-table-column type="selection" label="全选" width="60" v-if="!isReadonly">
|
<el-table-column type="selection" label="全选" width="60" >
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<template v-for="item in updateTableColumn">
|
<template v-for="item in updateTableColumn">
|
||||||
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name" :width="item.width" :key="item.key">
|
||||||
|
|
|
@ -253,7 +253,8 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
value:item.id
|
value:item.id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.buildUpdateForm()
|
this.buildUpdateForm();
|
||||||
|
this.buildTable()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 加载单元列表
|
// 加载单元列表
|
||||||
|
@ -276,12 +277,20 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public buildTable(){
|
public buildTable(){
|
||||||
|
this.tableColumn = [];
|
||||||
this.tableColumn.push({name:'检查表名称',key:"name"});
|
this.tableColumn.push({name:'检查表名称',key:"name"});
|
||||||
this.tableColumn.push({name:'区域名称',key:"areas"});
|
this.tableColumn.push({name:'区域名称',key:"areas"});
|
||||||
this.tableColumn.push({name:'单元名称',key:"units"});
|
this.tableColumn.push({name:'单元名称',key:"units"});
|
||||||
this.tableColumn.push({name:'对象名称',key:"targets"});
|
this.tableColumn.push({name:'对象名称',key:"targets"});
|
||||||
this.tableColumn.push({name:'适用部门',key:"depts"});
|
this.tableColumn.push({name:'适用部门',key:"depts"});
|
||||||
this.tableColumn.push({name:'适用类型',key:"types"});
|
this.tableColumn.push({name:'适用类型',key:"types",filters:this.$store.state.prevention_dangrous_type.map(item=>{
|
||||||
|
item.text = item.name;
|
||||||
|
item.value = item.name;
|
||||||
|
delete item.name;
|
||||||
|
return item
|
||||||
|
}),filterMethod:(data,row)=>{
|
||||||
|
return row.types.indexOf(data)>=0;
|
||||||
|
}});
|
||||||
this.tableColumn.push({name:'编制人',key:"createBy"});
|
this.tableColumn.push({name:'编制人',key:"createBy"});
|
||||||
this.tableColumn.push({name:'编制时间',key:"createTime"});
|
this.tableColumn.push({name:'编制时间',key:"createTime"});
|
||||||
|
|
||||||
|
@ -382,10 +391,10 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
} as any;
|
} as any;
|
||||||
}
|
}
|
||||||
|
|
||||||
public showSubUpdateModel(row?){
|
public showSubUpdateModel(row?,isRead?){
|
||||||
this.subUpdateParams = {} as any;
|
this.subUpdateParams = {} as any;
|
||||||
if(!row){
|
this.subIsReadonly = !!isRead;
|
||||||
}else{
|
if(row){
|
||||||
this.subUpdateParams = JSON.parse(JSON.stringify(row))
|
this.subUpdateParams = JSON.parse(JSON.stringify(row))
|
||||||
}
|
}
|
||||||
this.showSubUpdate = true;
|
this.showSubUpdate = true;
|
||||||
|
|
|
@ -9,6 +9,7 @@ import AreaService from "@/service/area.service"
|
||||||
import FormOption from "hbt-common/models/formOptions"
|
import FormOption from "hbt-common/models/formOptions"
|
||||||
import BtnOption from "hbt-common/models/btnOptions"
|
import BtnOption from "hbt-common/models/btnOptions"
|
||||||
import DrawComponent from '@/components/draw.component.vue';
|
import DrawComponent from '@/components/draw.component.vue';
|
||||||
|
import TaskService from '@/service/task.service';
|
||||||
@Component({
|
@Component({
|
||||||
template,
|
template,
|
||||||
components:{
|
components:{
|
||||||
|
@ -18,9 +19,16 @@ import DrawComponent from '@/components/draw.component.vue';
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
public tableService = new AreaService();
|
public tableService = new TaskService();
|
||||||
|
|
||||||
public isAction = true;
|
public isAction = true;
|
||||||
|
// 显示计划列表按钮
|
||||||
|
public isPlan = false;
|
||||||
|
// 是否显示删改查按钮
|
||||||
|
public isBase = false;
|
||||||
|
public isFile = false;
|
||||||
|
public tableActionWidth="60px";
|
||||||
|
public statusList = ["","检查中","已检查","未检查"];
|
||||||
|
|
||||||
public params = {} as any;
|
public params = {} as any;
|
||||||
|
|
||||||
|
@ -34,38 +42,9 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
icon:"el-icon-tickets",
|
icon:"el-icon-tickets",
|
||||||
value:"reset"
|
value:"reset"
|
||||||
}];
|
}];
|
||||||
public tableActions = [{
|
public tableActions = [];
|
||||||
name:"添加",
|
public footerActions = [];
|
||||||
value:"add",
|
public formOptions:FormOption<BtnOption>[] = [];
|
||||||
icon:"el-icon-plus",
|
|
||||||
type:"primary"
|
|
||||||
},{
|
|
||||||
name:"批量删除",
|
|
||||||
value:"delete",
|
|
||||||
plain:true,
|
|
||||||
icon:"el-icon-delete",
|
|
||||||
type:"danger"
|
|
||||||
}];
|
|
||||||
public footerActions = [{
|
|
||||||
name:"选择全部",
|
|
||||||
value:"selectAll",
|
|
||||||
type:"primary"
|
|
||||||
},{
|
|
||||||
name:"反向选择",
|
|
||||||
value:"reverse"
|
|
||||||
}];
|
|
||||||
public formOptions:FormOption<BtnOption>[] = [{
|
|
||||||
name:"检查项目",
|
|
||||||
key:"areaId",
|
|
||||||
type:"select",
|
|
||||||
datas:[{
|
|
||||||
name:"区域1",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"区域2",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
}];
|
|
||||||
|
|
||||||
public showUpdate = false;
|
public showUpdate = false;
|
||||||
public currentId = -1;
|
public currentId = -1;
|
||||||
|
@ -152,10 +131,6 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
|
||||||
public showDraw = false;
|
|
||||||
|
|
||||||
public drawModel = "list";
|
|
||||||
|
|
||||||
|
|
||||||
public updateActions = [{
|
public updateActions = [{
|
||||||
name:"取消",
|
name:"取消",
|
||||||
|
@ -178,15 +153,38 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public buildTable(){
|
public buildTable(){
|
||||||
this.tableColumn.push({name:'序号',key:"areaName"});
|
this.tableColumn.push({name:'检查名称',key:"planName"});
|
||||||
this.tableColumn.push({name:'检查表名称',key:"areaName"});
|
this.tableColumn.push({name:'检查类型',render:(data)=>{
|
||||||
this.tableColumn.push({name:'区域名称',key:"deptName"});
|
return this.$store.getters.prevention_danger_check_type_map[data.inspectType]
|
||||||
this.tableColumn.push({name:'单元名称',key:"person"});
|
}});
|
||||||
this.tableColumn.push({name:'对象名称',key:"isDangrous"});
|
this.tableColumn.push({name:'检查对象',key:"analControlNames"});
|
||||||
this.tableColumn.push({name:'编制部门',key:"isDangrous"});
|
this.tableColumn.push({name:'检查时间',key:"checkTime"});
|
||||||
this.tableColumn.push({name:'适用类型',key:"isDangrous"});
|
this.tableColumn.push({name:'检查负责人',key:"chargeUserName"});
|
||||||
this.tableColumn.push({name:'编制人',key:"isDangrous"});
|
this.tableColumn.push({name:'检查表',key:"tableNum",render:(data)=>{
|
||||||
this.tableColumn.push({name:'编制时间',key:"isDangrous"});
|
return "<span class='link'>"+(data.tableNum || 0)+"</span>"
|
||||||
|
}});
|
||||||
|
this.tableColumn.push({name:'数据生成时间',key:"createTime"});
|
||||||
|
this.tableColumn.push({name:'检查周期',key:"inspectCycleValue"});
|
||||||
|
this.tableColumn.push({name:'单位',render:(data)=>{
|
||||||
|
return this.$store.getters.prevention_cycle_unit_map[data.inspectCycleUnit]
|
||||||
|
}});
|
||||||
|
this.tableColumn.push({name:'状态',key:"status",render:(data)=>{
|
||||||
|
return "<span class='color_"+(data.status-1)+"'>"+(this.statusList[data.status] || '')+"</span>"
|
||||||
|
|
||||||
|
}});
|
||||||
|
}
|
||||||
|
|
||||||
|
public getTableCallback(){
|
||||||
|
this.formOptions = [{
|
||||||
|
name:"检查名称",
|
||||||
|
key:"planName",
|
||||||
|
type:"text",
|
||||||
|
},{
|
||||||
|
name:"检查项目",
|
||||||
|
key:"inspectType",
|
||||||
|
type:"select",
|
||||||
|
datas:this.$store.state.prevention_danger_check_type
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
|
|
||||||
public callback(data){
|
public callback(data){
|
||||||
|
@ -206,12 +204,6 @@ export default class RulesManagerComponent extends BaseRecordComponent<any> {
|
||||||
this.showUpdateModel(-1)
|
this.showUpdateModel(-1)
|
||||||
}else if(data.value === "delete"){
|
}else if(data.value === "delete"){
|
||||||
this.deleteData(this.selectData.map((item:any)=>item.id))
|
this.deleteData(this.selectData.map((item:any)=>item.id))
|
||||||
}else if(data.value === "draw"){
|
|
||||||
this.drawModel = "area";
|
|
||||||
this.showDraw = true;
|
|
||||||
}else if(data.value === "drawList"){
|
|
||||||
this.drawModel = "list";
|
|
||||||
this.showDraw = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 重置数据
|
// 重置数据
|
||||||
|
|
|
@ -9,6 +9,10 @@ import AreaService from "@/service/area.service"
|
||||||
import FormOption from "hbt-common/models/formOptions"
|
import FormOption from "hbt-common/models/formOptions"
|
||||||
import BtnOption from "hbt-common/models/btnOptions"
|
import BtnOption from "hbt-common/models/btnOptions"
|
||||||
import DrawComponent from '@/components/draw.component.vue';
|
import DrawComponent from '@/components/draw.component.vue';
|
||||||
|
import PlanService from '@/service/plan.service';
|
||||||
|
import SystemService from 'hbt-common/service/system.service';
|
||||||
|
import UnitService from '@/service/unit.service';
|
||||||
|
import TableService from '@/service/table.service';
|
||||||
@Component({
|
@Component({
|
||||||
template,
|
template,
|
||||||
components:{
|
components:{
|
||||||
|
@ -18,7 +22,15 @@ import DrawComponent from '@/components/draw.component.vue';
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
export default class PlanComponent extends BaseRecordComponent<any> {
|
export default class PlanComponent extends BaseRecordComponent<any> {
|
||||||
public tableService = new AreaService();
|
public tableService = new PlanService();
|
||||||
|
|
||||||
|
public systemService = new SystemService();
|
||||||
|
|
||||||
|
public areaService = new AreaService();
|
||||||
|
|
||||||
|
public unitService = new UnitService();
|
||||||
|
|
||||||
|
public checkTableService = new TableService();
|
||||||
|
|
||||||
public params = {} as any;
|
public params = {} as any;
|
||||||
// 是否显示删改查按钮
|
// 是否显示删改查按钮
|
||||||
|
@ -26,6 +38,19 @@ export default class PlanComponent extends BaseRecordComponent<any> {
|
||||||
// 显示计划列表按钮
|
// 显示计划列表按钮
|
||||||
public isPlan = true;
|
public isPlan = true;
|
||||||
|
|
||||||
|
public isFile = false;
|
||||||
|
|
||||||
|
public isAction = false;
|
||||||
|
|
||||||
|
public isReadonly = false;
|
||||||
|
public isManager = false;
|
||||||
|
|
||||||
|
public showSend = false;
|
||||||
|
|
||||||
|
public showRecord = false;
|
||||||
|
|
||||||
|
public tableActionWidth="300px"
|
||||||
|
|
||||||
public formActions = [{
|
public formActions = [{
|
||||||
name:"查询",
|
name:"查询",
|
||||||
value:"search",
|
value:"search",
|
||||||
|
@ -58,107 +83,27 @@ export default class PlanComponent extends BaseRecordComponent<any> {
|
||||||
}];
|
}];
|
||||||
public formOptions:FormOption<BtnOption>[] = [{
|
public formOptions:FormOption<BtnOption>[] = [{
|
||||||
name:"检查标题",
|
name:"检查标题",
|
||||||
key:"areaId",
|
key:"name",
|
||||||
type:"text",
|
type:"text",
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
public sendOptions = [] as any;
|
||||||
|
|
||||||
public showUpdate = false;
|
public showUpdate = false;
|
||||||
public currentId = -1;
|
public currentId = -1;
|
||||||
public updateParams = {} as any;
|
public updateParams = {} as any;
|
||||||
public updateOptions:FormOption<BtnOption>[] = [{
|
public updateOptions:FormOption<BtnOption>[] = [];
|
||||||
name:"区域编号",
|
|
||||||
key:"no",
|
|
||||||
type:"text",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true
|
|
||||||
},{
|
|
||||||
name:"区域名称",
|
|
||||||
key:"areaName",
|
|
||||||
type:"text",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true
|
|
||||||
},{
|
|
||||||
name:"责任部门",
|
|
||||||
key:"deptId",
|
|
||||||
type:"select",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"部门1",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"部门2",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
name:"责任人",
|
|
||||||
key:"person",
|
|
||||||
type:"select",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"人员1",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"人员2",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
name:"属于重大危险源",
|
|
||||||
key:"isDangrous",
|
|
||||||
type:"radio",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"是",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"否",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
name:"重大危险源名称",
|
|
||||||
key:"dangrousName",
|
|
||||||
type:"text",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
},{
|
|
||||||
name:"重大危险源等级",
|
|
||||||
key:"level",
|
|
||||||
type:"select",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
require:true,
|
|
||||||
datas:[{
|
|
||||||
name:"一级",
|
|
||||||
value:0
|
|
||||||
},{
|
|
||||||
name:"二级",
|
|
||||||
value:1
|
|
||||||
}]
|
|
||||||
},{
|
|
||||||
type:"btn",
|
|
||||||
name:"区域绘制",
|
|
||||||
width:"calc(50% - 20px)",
|
|
||||||
btn:[{
|
|
||||||
name:"开始绘制",
|
|
||||||
value:"draw",
|
|
||||||
type:"primary"
|
|
||||||
}]
|
|
||||||
}];
|
|
||||||
|
|
||||||
|
|
||||||
public showDraw = false;
|
public areaList = [] as any;
|
||||||
|
public areaMap = {} as any;
|
||||||
public drawModel = "list";
|
public unitList = [] as any;
|
||||||
|
public unitMap = {} as any;
|
||||||
|
|
||||||
|
|
||||||
public updateActions = [{
|
public updateActions = [{
|
||||||
name:"取消",
|
name:"取消",
|
||||||
value:"cancel"
|
value:"cancel"
|
||||||
},{
|
|
||||||
name:"保存并继续添加",
|
|
||||||
value:"saveAndContinue",
|
|
||||||
type:"primary"
|
|
||||||
},{
|
},{
|
||||||
name:"保存",
|
name:"保存",
|
||||||
value:"save",
|
value:"save",
|
||||||
|
@ -167,66 +112,430 @@ export default class PlanComponent extends BaseRecordComponent<any> {
|
||||||
|
|
||||||
public selectData = [];
|
public selectData = [];
|
||||||
|
|
||||||
|
public planType = [{
|
||||||
|
name:"单次计划",
|
||||||
|
value:0,
|
||||||
|
},{
|
||||||
|
name:"长期计划",
|
||||||
|
value:1,
|
||||||
|
}];
|
||||||
|
public planTypeMap = {
|
||||||
|
0:"单次计划",
|
||||||
|
1:"长期计划"
|
||||||
|
}
|
||||||
|
|
||||||
|
public stateMap = ["停用","启用"];
|
||||||
|
|
||||||
|
public sendParams = {
|
||||||
|
tables:[]
|
||||||
|
} as any;
|
||||||
|
|
||||||
|
public recordParams = {
|
||||||
|
pageNum:1,
|
||||||
|
pageSize:5
|
||||||
|
} as any;
|
||||||
|
|
||||||
|
public recordData = {} as any;
|
||||||
|
public sendTables = [] as any;
|
||||||
|
public currentTable = {} as any;
|
||||||
|
|
||||||
|
public currentTableId:any = null;
|
||||||
|
|
||||||
|
public currentSendRow:any;
|
||||||
|
|
||||||
|
public currentPlan:any;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
created(){
|
created(){
|
||||||
|
this.loadAreaData();
|
||||||
|
this.loadUnitData();
|
||||||
|
this.getCheckList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public buildUpdateForm(){
|
||||||
|
this.updateOptions = [{
|
||||||
|
name:"计划类型",
|
||||||
|
key:"planType",
|
||||||
|
type:"radio",
|
||||||
|
width:"100%",
|
||||||
|
format:"planTypeName",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.planType
|
||||||
|
},{
|
||||||
|
name:"检查标题",
|
||||||
|
key:"name",
|
||||||
|
type:"text",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"类型",
|
||||||
|
key:"inspectType",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
format:"inspectTypeName",
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_danger_check_type
|
||||||
|
},{
|
||||||
|
name:"巡检周期",
|
||||||
|
key:"inspectCycleValue",
|
||||||
|
type:"number",
|
||||||
|
hide:this.updateParams.planType===0,
|
||||||
|
controls:false,
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"巡检周期单位",
|
||||||
|
key:"inspectCycleUnit",
|
||||||
|
format:"inspectCycleUnitName",
|
||||||
|
type:"select",
|
||||||
|
hide:this.updateParams.planType===0,
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.$store.state.prevention_cycle_unit
|
||||||
|
},{
|
||||||
|
name:"检查区域",
|
||||||
|
key:"areaIds",
|
||||||
|
format:"areaNames",
|
||||||
|
type:"select",
|
||||||
|
multiple:true,
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.areaList
|
||||||
|
},{
|
||||||
|
name:"检查单元",
|
||||||
|
key:"unitIds",
|
||||||
|
format:"unitNames",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
multiple:true,
|
||||||
|
showError:false,
|
||||||
|
datas:this.unitList
|
||||||
|
},{
|
||||||
|
name:"检查对象",
|
||||||
|
key:"analControlIds",
|
||||||
|
format:"analControlNames",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
multiple:true,
|
||||||
|
showError:false,
|
||||||
|
datas:[{
|
||||||
|
name:"是",
|
||||||
|
value:"1-123123123"
|
||||||
|
},{
|
||||||
|
name:"否",
|
||||||
|
value:"0-1231221312"
|
||||||
|
}]
|
||||||
|
},{
|
||||||
|
name:"计划检查时间",
|
||||||
|
key:"startTime",
|
||||||
|
type:"date",
|
||||||
|
subType:"datetime",
|
||||||
|
hide:this.updateParams.planType===0,
|
||||||
|
format:"yyyy-MM-dd HH:mm",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"检查时间",
|
||||||
|
key:"time",
|
||||||
|
type:"date",
|
||||||
|
hide:this.updateParams.planType===1,
|
||||||
|
subType:"datetimerange",
|
||||||
|
format:"yyyy-MM-dd HH:mm",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
},{
|
||||||
|
name:"检查负责人",
|
||||||
|
key:"chargeUserId",
|
||||||
|
format:"chargeUserName",
|
||||||
|
type:"select",
|
||||||
|
width:"calc(50% - 20px)",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
filterable:true,
|
||||||
|
datas:this.$store.state.userList
|
||||||
|
},{
|
||||||
|
name:"检查范围",
|
||||||
|
type:"textarea",
|
||||||
|
width:"100%",
|
||||||
|
key:"scope",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
placeholder:"请输入检查范围"
|
||||||
|
|
||||||
|
},{
|
||||||
|
name:"检查目的",
|
||||||
|
type:"textarea",
|
||||||
|
width:"100%",
|
||||||
|
key:"purpose",
|
||||||
|
require:true,
|
||||||
|
showError:false,
|
||||||
|
placeholder:"请输入检查目的"
|
||||||
|
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
public getCheckList(){
|
||||||
|
this.checkTableService.selectByPage({pageSize:1000}).then((res:any)=>{
|
||||||
|
this.sendOptions = [{
|
||||||
|
name:"选择检查表",
|
||||||
|
key:"tables",
|
||||||
|
type:"select",
|
||||||
|
require:true,
|
||||||
|
width:"600px",
|
||||||
|
multiple:true,
|
||||||
|
showError:false,
|
||||||
|
datas:res.data.datas.map(item=>{
|
||||||
|
return{
|
||||||
|
name:item.name,
|
||||||
|
value:item.id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 加载区域列表
|
||||||
|
public loadAreaData(){
|
||||||
|
this.areaService.selectByPage({pageSize:1000}).then((res:any)=>{
|
||||||
|
this.areaList = res.data.datas.map(item=>{
|
||||||
|
this.areaMap[item.id]=item.name;
|
||||||
|
return {
|
||||||
|
name:item.name,
|
||||||
|
value:item.id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 加载单元列表
|
||||||
|
public loadUnitData(ids?){
|
||||||
|
this.unitService.getListByIds({areaIds:ids},false).then((res:any)=>{
|
||||||
|
this.unitList = res.data.map(item=>{
|
||||||
|
this.unitMap[item.id]=item.name;
|
||||||
|
return {
|
||||||
|
name:item.name,
|
||||||
|
value:item.id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.buildUpdateForm()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public buildTable(){
|
public buildTable(){
|
||||||
this.tableColumn.push({name:'检查标题',key:"areaName"});
|
this.tableColumn.push({name:'检查标题',key:"name"});
|
||||||
this.tableColumn.push({name:'检查类型',key:"areaName"});
|
this.tableColumn.push({name:'检查类型',width:"270px",render:(data)=>{
|
||||||
this.tableColumn.push({name:'检查时间',key:"deptName"});
|
return this.$store.getters.prevention_danger_check_type_map[data.inspectType]
|
||||||
this.tableColumn.push({name:'检查负责人',key:"person"});
|
}});
|
||||||
this.tableColumn.push({name:'检查范围',key:"isDangrous"});
|
this.tableColumn.push({name:'检查时间',width:"100px",render:(data)=>{
|
||||||
this.tableColumn.push({name:'发现隐患数量',key:"isDangrous"});
|
return data.startTime + (data.endTime?'~'+data.endTime:"")
|
||||||
|
}});
|
||||||
|
this.tableColumn.push({name:'检查负责人',key:"chargeUserName"});
|
||||||
|
this.tableColumn.push({name:'检查范围',width:"270px",key:"scope"});
|
||||||
|
this.tableColumn.push({name:'发现隐患数量',key:"dangerCount"});
|
||||||
|
this.tableColumn.push({name:'检查类型',render:(data)=>{
|
||||||
|
return this.planTypeMap[data.planType]
|
||||||
|
}});
|
||||||
|
this.tableColumn.push({name:'状态',render:(data)=>{
|
||||||
|
return data.state==undefined?"--":`<span class="color_${data.state}">${this.stateMap[data.state]}</span>`
|
||||||
|
}});
|
||||||
|
}
|
||||||
|
// 构建下发列表数据
|
||||||
|
public buildSendTable(datas){
|
||||||
|
datas.forEach(async (item)=>{
|
||||||
|
if(this.sendTables.find(items=>items.id === item)){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const data = (await this.checkTableService.selectById(item)).data as any;
|
||||||
|
data.tableItems = data.tableItems.map(itm=>{
|
||||||
|
return Object.assign({
|
||||||
|
edit:false,
|
||||||
|
tableId:data.id,
|
||||||
|
tableItemId:itm.id,
|
||||||
|
tableName:data.name,
|
||||||
|
scopeId:this.currentPlan.chargeUserId,
|
||||||
|
},itm)
|
||||||
|
})
|
||||||
|
|
||||||
|
if(!this.currentTableId){
|
||||||
|
this.currentTableId = data.id;
|
||||||
|
this.currentTable = data;
|
||||||
|
}
|
||||||
|
this.sendTables.push(data)
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public callback(data){
|
public tabChange(data){
|
||||||
|
this.currentTable = this.sendTables.find(item=>item.id===data)
|
||||||
|
}
|
||||||
|
|
||||||
|
public change(data,item){
|
||||||
|
if(item && item.key === "tables"){
|
||||||
|
this.buildSendTable(data);
|
||||||
|
}
|
||||||
|
if(item && item.key === "planType"){
|
||||||
|
this.buildUpdateForm();
|
||||||
|
}
|
||||||
|
if(item && item.key === "areaIds"){
|
||||||
|
this.loadUnitData(data)
|
||||||
|
}
|
||||||
|
if(item && item.key === "chargeUserId"){
|
||||||
|
this.updateParams.chargeUserName = this.$store.getters.user_map[data]
|
||||||
|
}
|
||||||
|
if(item && item.key==="analControlIds"){
|
||||||
|
this.updateParams.analControls = data.map((itm)=>{
|
||||||
|
return {
|
||||||
|
id:itm,
|
||||||
|
name:itm
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if(item && item.key === "time"){
|
||||||
|
if(data && data.length){
|
||||||
|
this.updateParams.startTime = data[0]
|
||||||
|
this.updateParams.endTime = data[1]
|
||||||
|
}else{
|
||||||
|
this.updateParams.startTime = null
|
||||||
|
this.updateParams.endTime = null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public callback(data,type){
|
||||||
|
if(type){
|
||||||
|
this.params[type] = data;
|
||||||
|
this.getTableData();
|
||||||
|
return
|
||||||
|
}
|
||||||
// 查询
|
// 查询
|
||||||
if(data.value==="search"){
|
if(data && data.value==="search"){
|
||||||
this.getTableData()
|
this.getTableData()
|
||||||
// 重置
|
// 重置
|
||||||
}else if(data.value === "reset"){
|
}else if(data && data.value === "reset"){
|
||||||
this.reset()
|
this.reset()
|
||||||
// 反选
|
// 反选
|
||||||
}else if(data.value === "reverse"){
|
}else if(data && data.value === "reverse"){
|
||||||
this.toggleAll()
|
this.toggleAll()
|
||||||
// 全选
|
// 全选
|
||||||
}else if(data.value === "selectAll"){
|
}else if(data && data.value === "selectAll"){
|
||||||
this.selectAll()
|
this.selectAll()
|
||||||
}else if(data.value === "add"){
|
}else if(data && data.value === "add"){
|
||||||
this.showUpdateModel(-1)
|
this.showUpdateModel()
|
||||||
}else if(data.value === "delete"){
|
}else if(data && data.value === "delete"){
|
||||||
this.deleteData(this.selectData.map((item:any)=>item.id))
|
this.deleteData(this.selectData.map((item:any)=>item.id))
|
||||||
}else if(data.value === "draw"){
|
}else if(data && data.value === "save"){
|
||||||
this.drawModel = "area";
|
this.doSave()
|
||||||
this.showDraw = true;
|
}else if(data && data.value === "cancel"){
|
||||||
}else if(data.value === "drawList"){
|
this.handleClose()
|
||||||
this.drawModel = "list";
|
|
||||||
this.showDraw = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public sendCallback(data){
|
||||||
|
if(data && data.value === "save"){
|
||||||
|
this.tableService.deliver({
|
||||||
|
deliverContents:this.sendTables.map(item=>item.tableItems).flat(1),
|
||||||
|
planReq:this.currentPlan,
|
||||||
|
}).then(()=>{
|
||||||
|
this.$message.success("下发成功!")
|
||||||
|
this.currentPlan=null;
|
||||||
|
this.showSend = false;
|
||||||
|
this.sendTables = [];
|
||||||
|
this.sendParams.tables = [];
|
||||||
|
this.getTableData()
|
||||||
|
})
|
||||||
|
}else if(data && data.value === "cancel"){
|
||||||
|
this.handleClose()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
// 重置数据
|
// 重置数据
|
||||||
public reset(){
|
public reset(){
|
||||||
this.params = {
|
this.params = {
|
||||||
|
name:"",
|
||||||
pageNum:1,
|
pageNum:1,
|
||||||
pageSize:20,
|
pageSize:20,
|
||||||
} as any;
|
} as any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 打开增改查弹窗
|
||||||
public showUpdateModel(id){
|
public showUpdateModel(row?,isRead?){
|
||||||
if(id!==-1){
|
this.isReadonly = !!isRead;
|
||||||
|
if(row){
|
||||||
|
this.updateParams = Object.assign({
|
||||||
|
analControls:row.analControlIds,
|
||||||
|
planTypeName:this.planTypeMap[row.planType],
|
||||||
|
time:row.startTime+"~"+row.endTime,
|
||||||
|
areaNames:row.areaIds.map(item=>this.areaMap[item]).join(";"),
|
||||||
|
unitNames:row.unitIds.map(item=>this.unitMap[item]).join(";"),
|
||||||
|
inspectTypeName:this.$store.getters.prevention_danger_check_type_map[row.inspectType],
|
||||||
|
inspectCycleUnitName:this.$store.getters.prevention_cycle_unit_map[row.inspectCycleUnit]
|
||||||
|
},row);
|
||||||
|
}else{
|
||||||
|
this.updateParams = {planType:0} as any;
|
||||||
}
|
}
|
||||||
this.currentId = id;
|
this.buildUpdateForm();
|
||||||
this.showUpdate = true
|
this.showUpdate = true
|
||||||
}
|
}
|
||||||
|
// 打开下发弹窗
|
||||||
|
public openSendModel(row){
|
||||||
|
this.currentPlan = row;
|
||||||
|
this.showSend = true
|
||||||
|
}
|
||||||
|
|
||||||
|
public openRecordModel(row){
|
||||||
|
this.showRecord = true;
|
||||||
|
this.recordParams.planTableId = row.id;
|
||||||
|
this.getRecordData()
|
||||||
|
}
|
||||||
|
|
||||||
|
public getRecordData(data?){
|
||||||
|
if(data){
|
||||||
|
this.recordParams.pageNum = data
|
||||||
|
}
|
||||||
|
this.tableService.getRecordList(this.recordParams).then(res=>{
|
||||||
|
this.recordData = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
public handleClose(){
|
public handleClose(){
|
||||||
|
if(this.showSend){
|
||||||
|
this.sendParams.tables = [];
|
||||||
|
this.currentTable = {} as any;
|
||||||
|
this.sendTables = [];
|
||||||
|
this.currentPlan = null;
|
||||||
|
this.currentTableId = null;
|
||||||
|
this.showSend = false;
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(this.showRecord){
|
||||||
|
this.showRecord = false;
|
||||||
|
return
|
||||||
|
}
|
||||||
this.showUpdate = false;
|
this.showUpdate = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public doSave(){
|
||||||
|
this.tableService.addOrUpdate(this.updateParams,!this.updateParams.id).then(res=>{
|
||||||
|
this.$message.success(!this.updateParams.id?"新增成功!":"编辑成功!")
|
||||||
|
this.getTableData();
|
||||||
|
this.handleClose();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public toggleAll() {
|
public toggleAll() {
|
||||||
(this.$refs.multipleTable as any).toggleAllSelection();
|
(this.$refs.multipleTable as any).toggleAllSelection();
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
@actionCallback="callback($event)" @pageNumberChange="callback($event,'pageNum')"
|
@actionCallback="callback($event)" @pageNumberChange="callback($event,'pageNum')"
|
||||||
@pageSizeChange="callback($event,'pageSize')" :footerActions="footerActions" :actions="tableActions">
|
@pageSizeChange="callback($event,'pageSize')" :footerActions="footerActions" :actions="tableActions">
|
||||||
|
|
||||||
<el-table ref="multipleTable" :data="tableData.datas" height="100%" border row-key="checked"
|
<el-table ref="multipleTable" :data="tableData.datas" height="100%" border
|
||||||
@selection-change="handleSelectionChange" style="width: 100%">
|
@selection-change="handleSelectionChange" style="width: 100%">
|
||||||
<el-table-column type="selection" label="全选">
|
<el-table-column type="selection" label="全选">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
Loading…
Reference in New Issue