Commit 8c48af47 authored by 王晓倩's avatar 王晓倩

Merge branch 'master' of ssh://111.61.77.35:15/lizhichao/whp-xl

parents 3083748c 698ca823
......@@ -43,7 +43,7 @@ export default class Mutil {
// url:
// "http://t{0-7}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=c8df739f047ce17cfe41b63cbeae6997",
//url: "https://t{0-7}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=c8df739f047ce17cfe41b63cbeae6997",
url: "http://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=6"
}),
visible: true,
name: "天地图矢量底图影像",
......@@ -51,7 +51,7 @@ export default class Mutil {
let tianSlB = new TileLayer({
className: "mapTypeC",
source: new XYZ({
//url: "https://t{0-7}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=c8df739f047ce17cfe41b63cbeae6997",
// url: "https://t{0-7}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=c8df739f047ce17cfe41b63cbeae6997",
url: " http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7",
}),
visible: false,
......@@ -60,10 +60,10 @@ export default class Mutil {
let tianSlC = new TileLayer({
className: "mapTypeC",
source: new XYZ({
//url: "https://t{0-7}.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=c8df739f047ce17cfe41b63cbeae6997",
// url: "https://t{0-7}.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=c8df739f047ce17cfe41b63cbeae6997",
url: "http://webst0{1-4}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}",
}),
visible: false,
visible: true,
name: "天地图标注",
});
let that = this;
......@@ -287,7 +287,7 @@ export default class Mutil {
tianSlA() {
this.MAP.getLayers().getArray()[0].setVisible(true);
this.MAP.getLayers().getArray()[1].setVisible(false);
this.MAP.getLayers().getArray()[2].setVisible(false);
this.MAP.getLayers().getArray()[2].setVisible(true);
};
tianSlB() {
this.MAP.getLayers().getArray()[0].setVisible(false);
......
......@@ -189,7 +189,7 @@ export default {
padding: 30px;
}
.el-main .el-tabs .el-tabs__content{
background-image: url(gif.gif);
background-image: url(bg.png);
background-repeat: no-repeat;
background-size: 100% 100%;
/* height: 100%; */
......
......@@ -81,21 +81,21 @@
<img src="../../assets/logo2.png" width="25%" style="margin-top: 2rem;">
<p>危险源数量</p>
</div>
<div style="width: 60%;height: 100%;text-align: center;line-height: 9rem;float: right;font-size: 3rem;font-family: 'UnidreamLED';">12345</div>
<div style="width: 60%;height: 100%;text-align: center;line-height: 9rem;float: right;font-size: 3rem;font-family: 'UnidreamLED';">{{tjNumberObj.dangerNum}}</div>
</div>
<div class="el-tab-pane-div second-div" style="">
<div style="width: 40%;height: 100%; text-align: center;float: left;font-size: 15px;">
<img src="../../assets/logo2.png" width="25%" style="margin-top: 2rem;">
<p>注册企业数量</p>
</div>
<div style="width: 60%;height: 100%;text-align: center;line-height: 9rem;float: right;font-size: 3rem;font-family: 'UnidreamLED';">12345</div>
<div style="width: 60%;height: 100%;text-align: center;line-height: 9rem;float: right;font-size: 3rem;font-family: 'UnidreamLED';">{{tjNumberObj.enterpriseRegNum}}</div>
</div>
<div class="el-tab-pane-div second-div" style="">
<div style="width: 40%;height: 100%; text-align: center;float: left;font-size: 15px;">
<img src="../../assets/logo2.png" width="25%" style="margin-top: 2rem;">
<p>待审批数量</p>
</div>
<div style="width: 60%;height: 100%;text-align: center;line-height: 9rem;float: right;font-size: 3rem;font-family: 'UnidreamLED';">12345</div>
<div style="width: 60%;height: 100%;text-align: center;line-height: 9rem;float: right;font-size: 3rem;font-family: 'UnidreamLED';">{{tjNumberObj.enterpriseCheckIngNum}}</div>
</div>
</div>
<Demo></Demo>
......@@ -136,6 +136,7 @@ export default class EnterprisesMg extends Vue {
@Provide() searchData: any = {};
@Provide() loading: Boolean = false;
@Provide() cityval: any = [];
@Provide() tjNumberObj: any = {};
//编辑组件
@Provide() dialogVisible: Boolean = false;
@Provide() formData: any = { dataType: "", enterpriseId: "" };
......@@ -157,6 +158,19 @@ export default class EnterprisesMg extends Vue {
}
);
}
getStatiData() {
let that = this;
METHOD.axiosPost(
that,
`/dataStatistics/managerDataStatistics`,
{ cityId: "", countyId: "", provinceId: "" },
function (res: any) {
if (res.code == 0) {
that.tjNumberObj = res.data;
}
}
);
}
searchFun() {
this.PAGE = { page: 1, size: 10 };
this.getTableData();
......@@ -196,6 +210,9 @@ export default class EnterprisesMg extends Vue {
created() {
this.getTableData();
}
mounted() {
this.getStatiData();
}
}
</script>
<style lang="scss" scoped>
......
......@@ -48,6 +48,19 @@
</font>
</template>
</el-table-column>
<el-table-column prop="checkStatus" label="审核状态">
<template slot-scope="scope">
<font v-if="scope.row.checkStatus == 0" class="colorP">
审核中
</font>
<font v-else-if="scope.row.checkStatus == 1" class="colorM">
审核通过
</font>
<font v-else-if="scope.row.checkStatus == 2" class="colorR">
审核未通过
</font>
</template>
</el-table-column>
<el-table-column prop="sourceFile" label="预案文件">
<template slot-scope="scope">
<span
......@@ -63,16 +76,19 @@
:download="fileUrl(scope.row.sourceFile)"
v-if="scope.row.sourceFile != ''"
>
<i class="el-icon el-icon-download"></i>下载 -->
</a>
<i class="el-icon el-icon-download"></i>下载
</a> -->
</template>
</el-table-column>
<!-- <el-table-column prop="createTime" label="创建时间"></el-table-column> -->
<el-table-column label="操作" width="200" align="center">
<el-table-column label="操作" width="300" align="center">
<template slot-scope="scope">
<el-button @click="editFun(scope.row)" size="small" v-if="qyvisble">
<i class="el-icon-edit-outline"></i> 编辑
</el-button>
<el-button type="success" @click="checkFun(scope.row)" size="small" v-if="qyvisble">
<i class="el-icon-key"></i> 审核
</el-button>
<el-button type="primary" plain @click="editFun(scope.row)" size="small" v-if="!qyvisble">
查看详情
</el-button>
......@@ -100,14 +116,24 @@
@refreshTableData="getTableData"
:key="zjKey"
></PlansMgEdit>
<PlansMgCheck
v-if="dialogVisible2"
:dialogVisible="dialogVisible2"
:editForm="formData"
:title="dialogTit"
@dialogFun="closeDialog"
@refreshTableData="getTableData"
:key="chKey"
></PlansMgCheck>
</div>
</template>
<script lang="ts">
import { Component, Vue, Provide } from "vue-property-decorator";
import PlansMgEdit from "./PlansMgEdit.vue";
import PlansMgCheck from "./PlansMgCheck.vue";
import METHOD from "@/utils/methods";
@Component({
components: { PlansMgEdit }
components: { PlansMgEdit, PlansMgCheck }
})
export default class CamerasMg extends Vue {
@Provide() enterpriseId: String = "";
......@@ -118,9 +144,11 @@ export default class CamerasMg extends Vue {
@Provide() loading: Boolean = false;
//编辑组件
@Provide() dialogVisible: Boolean = false;
@Provide() dialogVisible2: Boolean = false;
@Provide() dialogTit: String = "新增预案";
@Provide() formData: Object = {};
@Provide() zjKey: any = 0;
@Provide() chKey: any = 0;
@Provide() qyvisble: boolean = true;//政府端隐藏项
getTableData() {
let that = this,
......@@ -157,6 +185,12 @@ export default class CamerasMg extends Vue {
this.zjKey++;
this.dialogVisible = true;
}
checkFun(row: any){
this.dialogTit = "预案审核";
this.formData = Object.assign({}, row);
this.chKey++;
this.dialogVisible2 = true;
}
delFun(row: any) {
let that = this as any;
METHOD.deleteFun(
......@@ -178,6 +212,7 @@ export default class CamerasMg extends Vue {
closeDialog() {
//关闭窗口
this.dialogVisible = false;
this.dialogVisible2 = false;
this.formData = {};
}
checkFile(url: any) {
......
<template>
<div class="wrapper editwrap w100">
<el-dialog
:visible.sync="dialogVisible"
:title="title"
:show-close="false"
:close-on-click-modal="false"
>
<el-row :gutter="20">
<el-col :span="12" class="flcolum">
<div>
<div class="yatit">预案基本信息</div>
<el-form ref="editForm" :model="editForm" :rules="rules" label-width="100px">
<el-form-item label="预案标题" prop="planTitle">
<el-input v-model="editForm.planTitle"></el-input>
</el-form-item>
<el-form-item label="预案分类" prop="planType">
<el-input v-model="editForm.planType"></el-input>
</el-form-item>
<el-form-item label="预案等级" prop="planLevel">
<el-radio-group v-model="editForm.planLevel">
<el-radio label="Ⅰ">Ⅰ级</el-radio>
<el-radio label="Ⅱ">Ⅱ级</el-radio>
<el-radio label="Ⅲ">Ⅲ级</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审核预案" prop="checkStatus">
<el-radio-group v-model="editForm.checkStatus">
<el-radio label="0">审核中</el-radio>
<el-radio label="1">通过</el-radio>
<el-radio label="2">未通过</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="预案源文件">
<el-upload
ref="uploaderB"
class="uploader"
:limit="1"
:action="actionUrl"
:on-success="(a,b,c) => onSuccess(a,b,c,'sourceFile')"
:on-error="onError"
:on-remove="handleRemove"
:before-remove="(a,b,c) => beforeRemove(a,b,c,'sourceFile')"
:on-exceed="onExceed"
:multiple="false"
list-type="picture"
:file-list="fileList"
>
<i class="el-icon-plus"></i>
<!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
</el-upload>
<!-- <div v-if="fileList.length > 0">
<a v-for="(i,ind) in fileList" :key="ind" :href="i.url" target="_blank">{{i.name}}</a>&nbsp;&nbsp;&nbsp;<i class="btn el-icon-delete" @click="deleteList"></i>
</div>-->
</el-form-item>
</el-form>
</div>
</el-col>
<el-col :span="12" class="flcolum">
<div>
<div class="yatit">预案内容</div>
<textarea id="editorA" v-model="editForm.planContents" height="100%"></textarea>
</div>
</el-col>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="confirmFun('editForm')">提交</el-button>
<el-button @click="$emit('dialogFun')" size="small">取消</el-button>
</span>
</el-dialog>
</div>
</template>
<script lang="ts">
import { Component, Vue, Provide, Prop, Watch } from "vue-property-decorator";
import { State, Getter, Mutation, Action } from "vuex-class";
import City from "@/components/city.vue";
import METHOD from "@/utils/methods";
import ice from "@/utils/iceEditor-min.js";
let uploadfile = require("@/assets/uploadfile.png");
@Component({
components: { City },
})
export default class PlansMgEdit extends Vue {
//上传
@Provide() actionUrl: any = "";
@Provide() sourceFile: any = [];
@Provide() fileList: any = [];
//属性或参数中使用!:表示强制解析(告诉typescript编译器,这里一定有值),常用于vue-decorator中的@Prop
@Prop(Boolean) dialogVisible!: Boolean;
@Prop(String) title!: String;
@Prop(Object) editForm!:{
id: String;
enterpriseId: String;
sourceFile: String;
planContents: String;
planType: String;
planLevel: String;
planTitle: String;
fileOriginalName: String;
};
@Provide() enterpriseId: String = "";
@Provide() editorA: any;
@Provide() qyvisble: boolean = true;
@Provide() rules: any = {
planLevel: [{ required: true, trigger: "blur", message: "该项为必填项!" }],
planTitle: [{ required: true, trigger: "blur", message: "该项为必填项!" }],
planType: [{ required: true, trigger: "blur", message: "该项为必填项!" }],
checkStatus: [{ required: true, trigger: "blur", message: "该项为必填项!" }],
};
@Watch("sourceFile") change(val: any) {
if (val.length > 0) {
this.editForm.sourceFile = val[0].response.data.viewPath;
this.editForm.fileOriginalName = val[0].response.data.originalName;
this.fileList = [];
this.fileList.push({
name: this.editForm.fileOriginalName,
url: uploadfile,
});
} else {
this.editForm.sourceFile = "";
this.editForm.fileOriginalName = "";
}
}
//取消事件要在父级取消是所以用到 $emit
confirmFun(formName: string) {
let that = this;
that.editForm.planContents = that.editorA.getHTML();
that.editForm.enterpriseId = that.enterpriseId;
(that as any).$refs[formName].validate((valid: boolean) => {
if (that.editorA.getText() == false && that.editForm.sourceFile == "") {
that.$message.error("没有预案内容!");
return;
}
if (valid) {
METHOD.axiosPost(
that,
`/planInfo/addOrEditPlanInfo`,
that.editForm,
function (res: any) {
if (res.code == 0) {
(that as any).$message({
message: "操作成功!",
type: "success",
});
(that as any).$emit("dialogFun");
that.$emit("refreshTableData"); //刷新表格
}
}
);
} else {
return false;
}
});
}
/*
上传
*/
onSuccess(res: any, file: any, fileList: any, key: string) {
this.$data[key] = fileList;
}
onError(err: any, file: any, fileList: any) {
this.$message.error("上传失败!");
}
handleRemove(file: any, fileList: any, key: string) {
this.$data[key] = fileList;
}
onExceed(file: any, fileList: any) {
this.$message.warning("只允许上传一个文件,如需更改请先删除!");
}
beforeRemove(file: any, fileList: any) {
let that = this,
param;
param = file.response
? file.response.data.savePath.replace(/\\/g, "%")
: file.url.replace(/\\/g, "%").slice(9);
METHOD.axiosGet(this, `/file/deleteFile?savePath=${param}`, function (
res: any
) {
if (res.code == 0) that.$message.success("删除成功");
else return false;
});
}
//创建编辑器
creatEditor() {
this.editorA = new ice.editor("editorA");
this.editorA.menu = [
"fontSize",
"foreColor",
"bold",
"italic",
"underline",
"strikeThrough",
"line",
"justifyLeft",
"justifyCenter",
"justifyRight",
"line",
"table",
"insertImage",
"insertOrderedList",
"insertUnorderedList",
"indent",
];
this.editorA.height = "413px";
this.editorA.create();
}
deleteList() {
this.fileList = [];
this.editForm.sourceFile = "";
}
checkFile(url: any) {
window.open(METHOD.URL + url, "_blank");
}
created() {
let that = this;
that.enterpriseId = METHOD.enterpriseId;
// if (that.enterpriseId) {
// that.qyvisble = true;
that.$nextTick(() => {
that.creatEditor();
})
// } else {
// that.qyvisble = false;
// }
// if (that.editForm.id && that.enterpriseId) {
that.$nextTick(() => {
//编辑
if (that.editForm.planContents) {
that.editorA.setValue(that.editForm.planContents);
}
if (that.editForm.fileOriginalName) {
that.fileList.push({
name: that.editForm.fileOriginalName,
url: uploadfile,
});
}
});
// }
that.actionUrl = METHOD.URL + "/file/uploadFile";
}
}
</script>
<style lang="scss">
@import "@/utils/public.scss";
.w100 .el-dialog {
width: 80%;
.flcolum {
> div {
border-radius: 3px;
}
}
.yatit {
background: #4273bd;
color: #ffffff;
line-height: 2;
height: 2em;
text-align: center;
margin-bottom: 10px;
border-radius: 2px;
}
.el-transfer-panel {
width: calc((100% - 116px) / 2);
}
.el-transfer__buttons {
width: 56px;
}
.el-transfer__button {
margin-left: 0;
display: block;
}
}
</style>
\ No newline at end of file
......@@ -27,8 +27,8 @@
</el-form-item>
<el-form-item label="是否上报" prop="isReported">
<el-radio-group v-model="editForm.isReported">
<el-radio label="'0'">上报</el-radio>
<el-radio label="'1'">未上报</el-radio>
<el-radio label="0">上报</el-radio>
<el-radio label="1">未上报</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="预案源文件">
......
......@@ -4,10 +4,41 @@
<!-- <Search :MAP="MAP" :Mutil="Mutil" v-if="mapLoadDone"></Search> -->
<!-- <DrawTool :MAP="MAP" v-if="mapLoadDone"></DrawTool> -->
<!-- <div style="width:200px;height:250px;" class="show-box" > -->
<button @click="Mutil.tianSlA()">切换1</button>
<button @click="Mutil.tianSlB()">切换2</button>
<button @click="Mutil.tianSlC()">切换3</button>
<dv-border-box-10 class="show-box" :color="['#4980b5','#4980b5']" backgroundColor="rgba(255, 255, 255, 0.5)" style="width:220px;height:280px;" >
<div style="position:absolute;left:500px;top:10px">
<button @click="Mutil.tianSlA()" class="map-botton">切换1</button>
<button @click="Mutil.tianSlB()" class="map-botton">切换2</button>
<button @click="Mutil.tianSlC()" class="map-botton">切换3</button>
</div>
</div>
<!-- <div class="markBox">
<ul>
<li><img width="10px" src="@/assets/mark/markqy.png" /> 企业图例</li>
</ul>
</div> -->
<!-- <div class="BoxWrap">
<div class="horn">
<div class="lt"></div>
<div class="rt"></div>
<div class="rb"></div>
<div class="lb"></div>
</div>
</div> -->
<div style="">
<div style="width: 500px;height: 100%;z-index: 11;background-color: rgba(2, 40, 90, 0.4);position: absolute;top: 0;left: 10px;float: left;">
<div id="pieReport" style="width: 480px;height: 200px;background-color: rgba(2, 20, 44, 0.5);margin-top: 30px;margin-left: 10px;"></div>
<div id="pieReport" style="width: 480px;height: 250px;background-color: rgba(2, 20, 44, 0.5);margin-top: 30px;margin-left: 10px;">
<div id="main1" style="width:480px;height:250px;"></div>
</div>
<div id="pieReport" style="width: 480px;height: 250px;background-color: rgba(2, 20, 44, 0.5);margin-top: 30px;margin-left: 10px;"></div>
<!-- <div id="pieReport" style="width: 400px;height: 300px;background-color: rgba(2, 20, 44, 0.4)"></div> -->
</div>
<div style="width: 500px;height: 100%;z-index: 12;background-color: rgba(2, 40, 90, 0.3);position: absolute;top: 0;right: 10px;float: right">
<!-- <dv-border-box-10 class="show-box" :color="['#4980b5','#4980b5']" backgroundColor="rgba(255, 255, 255, 0.5)" style="width:220px;height:280px;" >
<div class="markBox">
<ul>
<div class="ul-div"><li><img width="15px" src="@/assets/mark/markqy.png" /> 注册企业 <span>{{tjNumberObj.enterpriseRegNum}}</span></li></div>
......@@ -25,23 +56,11 @@
<div class="ul-div"><li><img width="20px" src="@/assets/mark/yinhuan.png" /> 隐患<span>0</span></li></div>
</ul>
</div>
</dv-border-box-10>
</div>
<!-- <div class="markBox">
<ul>
<li><img width="10px" src="@/assets/mark/markqy.png" /> 企业图例</li>
</ul>
</div> -->
<!-- <div class="BoxWrap">
<div class="horn">
<div class="lt"></div>
<div class="rt"></div>
<div class="rb"></div>
<div class="lb"></div>
</dv-border-box-10></div> -->
<div id="pieReport" style="width: 480px;height: 200px;background-color: rgba(2, 20, 44, 0.5);margin-top: 30px;margin-left: 10px;"></div>
<div id="pieReport" style="width: 480px;height: 250px;background-color: rgba(2, 20, 44, 0.5);margin-top: 30px;margin-left: 10px;"></div>
<div id="pieReport" style="width: 480px;height: 250px;background-color: rgba(2, 20, 44, 0.5);margin-top: 30px;margin-left: 10px;"></div>
</div>
</div> -->
</div>
</div>
</template>
......@@ -60,6 +79,13 @@ import "@/utils/VamapLoad.ts";
import DrawTool from "@/components/drawTool.vue";
import Search from "@/components/search.vue";
import Mutil from "@/utils/mapUtil.js";
let echarts = require('echarts/lib/echarts')
// 引入饼状图组件
require('echarts/lib/chart/pie')
// 引入提示框和title组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
import METHOD from "@/utils/methods";
@Component({
components: {
DrawTool,
......@@ -67,6 +93,8 @@ import Mutil from "@/utils/mapUtil.js";
},
})
export default class GIS extends Vue {
@Provide() Mutil: any;
@Provide() mapLoadDone = false;
@Provide() MAP: any;
......@@ -261,8 +289,9 @@ export default class GIS extends Vue {
if (id) that.getPopcon(id);
})
this.getStatiData();
this.Mutil.changeCenter("石家庄");
this.Mutil.getBoundaries("石家庄");
}
getStatiData() {
let that = this;
METHOD.axiosPost(
......@@ -290,31 +319,27 @@ export default class GIS extends Vue {
}
);
}
// tianSlA() {
// console.log("dfsddddddddddddddddddddddddddddddddd")
// this.tianSlA.setVisible(true);
// this.tianSlB.setVisible(false);
// this.tianSlC.setVisible(false);
// };
// tianSlB() {
// console.log("gsfdgfdhgsgfhgfdhf")
// this.tianSlA.setVisible(false);
// this.tianSlB.setVisible(true);
// this.tianSlC.setVisible(false);
// };
// tianSlC() {
// this.tianSlA.setVisible(false)
// this.tianSlB.setVisible(false)
// this.tianSlC.setVisible(true)
// }
}
</script>
<style lang="scss">
@import "@/utils/public.scss";
.map-botton{
width: 100px;
height: 50px;
outline: none;
z-index: 10;
position:absolute;
}
.map-botton:nth-child(1){
left:50px;
}
.map-botton:nth-child(2){
left:160px;
}
.map-botton:nth-child(3){
left:270px;
}
/* // .BoxWrap{
// width: 200px;
// height: 200px;
......@@ -368,7 +393,7 @@ export default class GIS extends Vue {
.markBox {
width: 100%;
z-index: 9;
z-index: 12;
ul {
.ul-div{
margin-left: -30px;
......@@ -404,4 +429,8 @@ export default class GIS extends Vue {
top: 14px;
left: 80px;
}
.ol-zoom {
top: .5em;
left: 500px !important;
}
</style>
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