From 0bbc5abeab6a1cb504b36bcd620fcb55e496d989 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期一, 21 三月 2022 10:32:50 +0800
Subject: [PATCH] '登录页'
---
src/components/Tab/Plot.vue | 460 ++++++++++----------
src/assets/icon_visible.png | 0
src/views/login/index.vue | 202 +++-----
src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue | 10
config/prod.env.js | 4
src/router/index.js | 17
src/views/doublePreventAction/riskLevelManage/index.vue | 13
src/views/login/components/login-form.vue | 276 ++++++-----
src/api/riskLevelManage.js | 46 ++
src/assets/bg_login.png | 0
src/views/doublePreventAction/riskLevelManage/controlAction/index.vue | 13
config/dev.env.js | 6
src/views/doublePreventAction/riskLevelManage/event/index.vue | 13
src/views/dashboard/index.vue | 2
src/components/Map/libs/Map.js | 6
index.html | 2
src/components/Tab/Model.vue | 2
src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue | 285 ++++++++++++
src/assets/img_bg_login.png | 0
19 files changed, 862 insertions(+), 495 deletions(-)
diff --git a/config/dev.env.js b/config/dev.env.js
index 2ce3471..f26d779 100644
--- a/config/dev.env.js
+++ b/config/dev.env.js
@@ -16,8 +16,10 @@
// IMG_API: '"https://sinanoaq.com:8100/upload/"',
// BASE_API: '"http://220.171.99.118:4100"',
// IMG_API: '"http://220.171.99.118:4100/upload/"',
- BASE_API: '"http://192.168.0.35:8006"',
- IMG_API: '"http://192.168.0.35:8006/upload/"',
+ // BASE_API: '"http://192.168.0.35:8006"',
+ // IMG_API: '"http://192.168.0.35:8006/upload/"',
+ BASE_API: '"http://222.92.213.21:8006/zhongtai"',
+ IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"',
// BASE_API: '"http://220.171.99.118:4101/api"',
// IMG_API: '"http://220.171.99.118:4101/api/upload/"',
};
diff --git a/config/prod.env.js b/config/prod.env.js
index c2ed52c..087ec5b 100644
--- a/config/prod.env.js
+++ b/config/prod.env.js
@@ -8,8 +8,8 @@
// BASE_API: '"https://sinanoaq.cn:8100"',
// IMG_API: '"https://sinanoaq.cn:8100/upload/"',
- BASE_API: '"http://220.171.99.118:4100"',
- IMG_API: '"http://220.171.99.118:4100/upload/"',
+ BASE_API: '"http://222.92.213.21:8006/zhongtai"',
+ IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"',
// BASE_API: '"http://220.171.99.118:4101/api"',
// IMG_API: '"http://220.171.99.118:4101/api/upload/"',
diff --git a/index.html b/index.html
index 966474a..e0ff05f 100644
--- a/index.html
+++ b/index.html
@@ -27,7 +27,7 @@
}
.popup-wrapper {
- background-image: url("./images/popup_bg.png");
+ background-image: url("./public/images/popup_bg.png");
background-size: auto 100%;
background-repeat: no-repeat;
background-position: center center;
diff --git a/src/api/riskLevelManage.js b/src/api/riskLevelManage.js
new file mode 100644
index 0000000..d04612a
--- /dev/null
+++ b/src/api/riskLevelManage.js
@@ -0,0 +1,46 @@
+import {getToken} from "../utils/auth";
+import request from '@/utils/request'
+
+export function getAnalyseUnitList(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/riskAnaUnit/page',
+ method: 'post',
+ data:data
+ })
+}
+
+export function addAnalyseUnit(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/riskAnaUnit/add',
+ method: 'post',
+ data:data
+ })
+}
+
+export function updateAnalyseUnit(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/riskAnaUnit/mod',
+ method: 'post',
+ data:data
+ })
+}
+
+export function deleteAnalyseUnit(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/riskAnaUnit/del',
+ method: 'post',
+ data:data
+ })
+}
diff --git a/src/assets/bg_login.png b/src/assets/bg_login.png
new file mode 100644
index 0000000..1f5723b
--- /dev/null
+++ b/src/assets/bg_login.png
Binary files differ
diff --git a/src/assets/icon_visible.png b/src/assets/icon_visible.png
new file mode 100644
index 0000000..0904fbb
--- /dev/null
+++ b/src/assets/icon_visible.png
Binary files differ
diff --git a/src/assets/img_bg_login.png b/src/assets/img_bg_login.png
new file mode 100644
index 0000000..bd10eb6
--- /dev/null
+++ b/src/assets/img_bg_login.png
Binary files differ
diff --git a/src/components/Map/libs/Map.js b/src/components/Map/libs/Map.js
index 6148960..6ebbb4f 100644
--- a/src/components/Map/libs/Map.js
+++ b/src/components/Map/libs/Map.js
@@ -1414,8 +1414,8 @@
this.measureTool.clearMeasure();
this.clearAllPlots();
this.removeModels();
- // this.viewer.destroy();
- // this.viewer = null;
- // this.fire(UI_CHANGE_EVENT);
+ this.viewer.destroy();
+ this.viewer = null;
+ this.fire(UI_CHANGE_EVENT);
}
}
diff --git a/src/components/Tab/Model.vue b/src/components/Tab/Model.vue
index 42b606e..7b613e7 100644
--- a/src/components/Tab/Model.vue
+++ b/src/components/Tab/Model.vue
@@ -216,4 +216,4 @@
box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/components/Tab/Plot.vue b/src/components/Tab/Plot.vue
index 798c15d..1082c5a 100644
--- a/src/components/Tab/Plot.vue
+++ b/src/components/Tab/Plot.vue
@@ -1,250 +1,250 @@
<template>
- <div class="container">
- <div class="model-panel-list">
- <el-row :gutter="10">
- <el-col :span="6">
- <el-button
- icon="el-icon-plus"
- size="small"
- type="primary"
- @click="showCreateHandle"
- >
- 创建
- </el-button>
- </el-col>
- <el-col :span="6">
- <el-button
- icon="el-icon-delete"
- size="small"
- type="danger"
- @click="clearHandle"
- >
- 清空
- </el-button>
- </el-col>
- <el-col :span="6">
- <el-button
- icon="el-icon-view"
- size="small"
- :type="showPlot ? 'success' : 'info'"
- @click="toggleVisible"
- >
- {{ showPlot ? '隐藏' : '显示' }}
- </el-button>
- </el-col>
- </el-row>
- <el-row :gutter="10" v-for="label in labels" :key="label.attr.id">
- <el-col :span="14">
- {{ label.attr.name || ' ' }}
- </el-col>
- <el-col :span="10" style="textalign: right">
- <el-button
- icon="el-icon-s-promotion"
- size="mini"
- circle
- @click="() => focusHandle(label.attr.id)"
- />
- <el-button
- icon="el-icon-edit"
- size="mini"
- circle
- @click="() => editHandle(label)"
- />
- <el-button
- icon="el-icon-delete"
- type="danger"
- size="mini"
- circle
- @click="() => removeHandle(label.attr.id)"
- />
- </el-col>
- </el-row>
- </div>
- <el-dialog
- :visible="showCreatePanel"
- width="380px"
- title="创建标注"
- :append-to-body="true"
- :close-on-click-modal="false"
- :before-close="closeCreateHandle"
- >
- <p>请输入内容:</p>
- <el-input v-model="label.name" placeholder="请输入内容" />
- <span slot="footer" class="dialog-footer">
+ <div class="container">
+ <div class="model-panel-list">
+ <el-row :gutter="10">
+ <el-col :span="6">
+ <el-button
+ icon="el-icon-plus"
+ size="small"
+ type="primary"
+ @click="showCreateHandle"
+ >
+ 创建
+ </el-button>
+ </el-col>
+ <el-col :span="6">
+ <el-button
+ icon="el-icon-delete"
+ size="small"
+ type="danger"
+ @click="clearHandle"
+ >
+ 清空
+ </el-button>
+ </el-col>
+ <el-col :span="6">
+ <el-button
+ icon="el-icon-view"
+ size="small"
+ :type="showPlot ? 'success' : 'info'"
+ @click="toggleVisible"
+ >
+ {{ showPlot ? '隐藏' : '显示' }}
+ </el-button>
+ </el-col>
+ </el-row>
+ <el-row :gutter="10" v-for="label in labels" :key="label.attr.id">
+ <el-col :span="14">
+ {{ label.attr.name || ' ' }}
+ </el-col>
+ <el-col :span="10" style="textalign: right">
+ <el-button
+ icon="el-icon-s-promotion"
+ size="mini"
+ circle
+ @click="() => focusHandle(label.attr.id)"
+ />
+ <el-button
+ icon="el-icon-edit"
+ size="mini"
+ circle
+ @click="() => editHandle(label)"
+ />
+ <el-button
+ icon="el-icon-delete"
+ type="danger"
+ size="mini"
+ circle
+ @click="() => removeHandle(label.attr.id)"
+ />
+ </el-col>
+ </el-row>
+ </div>
+ <el-dialog
+ :visible="showCreatePanel"
+ width="380px"
+ title="创建标注"
+ :append-to-body="true"
+ :close-on-click-modal="false"
+ :before-close="closeCreateHandle"
+ >
+ <p>请输入内容:</p>
+ <el-input v-model="label.name" placeholder="请输入内容" />
+ <span slot="footer" class="dialog-footer">
<el-button @click="closeCreateHandle">取 消</el-button>
<el-button type="primary" @click="createHandle">确 定</el-button>
</span>
- </el-dialog>
- </div>
+ </el-dialog>
+ </div>
</template>
<script>
-import { global } from '../../global';
+ import { global } from '../../global';
-// 默认样式
-const LABEL_STYLE = {
- opacity: 1,
- color: '#FFFFFF',
- font_family: '黑体',
- font_size: 18,
- font_style: 'normal',
- font_weight: 'normal',
- border: false,
- border_color: '#ffffff',
- border_width: 2,
- background: true,
- background_color: 'rgba(0, 0, 0, .8)',
-};
-
-export default {
- components: {},
- data() {
- return {
- label: {
- id: null,
- name: '',
- },
- showCreatePanel: false,
- showPlot: true,
+ // 默认样式
+ const LABEL_STYLE = {
+ opacity: 1,
+ color: '#FFFFFF',
+ font_family: '黑体',
+ font_size: 18,
+ font_style: 'normal',
+ font_weight: 'normal',
+ border: false,
+ border_color: '#ffffff',
+ border_width: 2,
+ background: true,
+ background_color: 'rgba(0, 0, 0, .8)',
};
- },
- computed: {
- timestamp() {
- return this.$store.state.map.timestamp;
- },
- labels() {
- return this.entities.map(entity => entity.attribute);
- },
- entities() {
- let entities =
- this.timestamp && global.map
- ? global.map.plotDrawTool.getEntitys()
- : [];
- return entities.filter(entity => entity.attribute.type === 'polygon');
- },
- },
- methods: {
- editHandle(label) {
- if (!global.map) return;
- this.label = {
- id: label.attr.id,
- name: label.attr.name,
- };
- this.showCreatePanel = true;
- },
- removeHandle(id) {
- if (!global.map) return;
- global.map.deletePlot(id);
- this.$store.dispatch('map/updateTimestamp');
- },
- closeCreateHandle() {
- this.showCreatePanel = false;
- },
- showCreateHandle() {
- this.showCreatePanel = true;
- },
- _initLabel() {
- this.label = {
- id: null,
- name: '',
- };
- },
- createHandle() {
- if (!global.map) return;
- let map = global.map;
- const { id, name } = this.label;
- const entity = id && map.getPlotById(id);
- this.closeCreateHandle();
- if (entity) {
- map.updatePlotStyle(id, { text: name });
- map.updatePlotAttribute(id, { name });
- this._initLabel();
- this.$store.dispatch('map/updateTimestamp');
- } else {
- map.startDraw(
- {
- type: 'polygon',
- style: { text: name },
- attr: {
- name,
+
+ export default {
+ components: {},
+ data() {
+ return {
+ label: {
+ id: null,
+ name: '',
+ },
+ showCreatePanel: false,
+ showPlot: true,
+ };
+ },
+ computed: {
+ timestamp() {
+ return this.$store.state.map.timestamp;
},
- },
- () => {
- this._initLabel();
- this.$store.dispatch('map/updateTimestamp');
- }
- );
- }
- },
- toggleVisible() {
- this.showPlot = !this.showPlot;
- if (global.map) {
- this.entities.forEach(entity => {
- entity.show = this.showPlot;
- });
- }
- this.$store.dispatch('map/updateTimestamp');
- },
- focusHandle(markerId) {
- if (global.map) {
- const entity = global.map.getPlotById(markerId);
- if (entity) {
- global.map.viewer.flyTo(entity, { duration: 1 });
- }
- }
- },
- clearHandle() {
- if (global.map) {
- this.entities.forEach(entity => {
- global.map.plotDrawTool.deleteEntity(entity);
- });
- }
- this.$store.dispatch('map/updateTimestamp');
- },
- },
-};
+ labels() {
+ return this.entities.map(entity => entity.attribute);
+ },
+ entities() {
+ let entities =
+ this.timestamp && global.map
+ ? global.map.plotDrawTool.getEntitys()
+ : [];
+ return entities.filter(entity => entity.attribute.type === 'polygon');
+ },
+ },
+ methods: {
+ editHandle(label) {
+ if (!global.map) return;
+ this.label = {
+ id: label.attr.id,
+ name: label.attr.name,
+ };
+ this.showCreatePanel = true;
+ },
+ removeHandle(id) {
+ if (!global.map) return;
+ global.map.deletePlot(id);
+ this.$store.dispatch('map/updateTimestamp');
+ },
+ closeCreateHandle() {
+ this.showCreatePanel = false;
+ },
+ showCreateHandle() {
+ this.showCreatePanel = true;
+ },
+ _initLabel() {
+ this.label = {
+ id: null,
+ name: '',
+ };
+ },
+ createHandle() {
+ if (!global.map) return;
+ let map = global.map;
+ const { id, name } = this.label;
+ const entity = id && map.getPlotById(id);
+ this.closeCreateHandle();
+ if (entity) {
+ map.updatePlotStyle(id, { text: name });
+ map.updatePlotAttribute(id, { name });
+ this._initLabel();
+ this.$store.dispatch('map/updateTimestamp');
+ } else {
+ map.startDraw(
+ {
+ type: 'polygon',
+ style: { text: name },
+ attr: {
+ name,
+ },
+ },
+ () => {
+ this._initLabel();
+ this.$store.dispatch('map/updateTimestamp');
+ }
+ );
+ }
+ },
+ toggleVisible() {
+ this.showPlot = !this.showPlot;
+ if (global.map) {
+ this.entities.forEach(entity => {
+ entity.show = this.showPlot;
+ });
+ }
+ this.$store.dispatch('map/updateTimestamp');
+ },
+ focusHandle(markerId) {
+ if (global.map) {
+ const entity = global.map.getPlotById(markerId);
+ if (entity) {
+ global.map.viewer.flyTo(entity, { duration: 1 });
+ }
+ }
+ },
+ clearHandle() {
+ if (global.map) {
+ this.entities.forEach(entity => {
+ global.map.plotDrawTool.deleteEntity(entity);
+ });
+ }
+ this.$store.dispatch('map/updateTimestamp');
+ },
+ },
+ };
</script>
<style scoped>
-.images img {
- width: 36px;
- height: auto;
- margin: 0px 5px;
- cursor: pointer;
-}
+ .images img {
+ width: 36px;
+ height: auto;
+ margin: 0px 5px;
+ cursor: pointer;
+ }
-.model-panel-list > div {
- margin-bottom: 5px;
- padding: 5px 0 5px 0;
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
-}
+ .model-panel-list > div {
+ margin-bottom: 5px;
+ padding: 5px 0 5px 0;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ }
-.image-list {
- margin: 20px 0;
-}
+ .image-list {
+ margin: 20px 0;
+ }
-.image-list ul,
-.image-list li {
- margin: 0;
- padding: 0;
- list-style: none;
-}
+ .image-list ul,
+ .image-list li {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ }
-.image-list li {
- display: inline-block;
- margin: 0 5px 5px 5px;
- cursor: pointer;
- padding: 5px 8px;
- border-radius: 3px;
-}
+ .image-list li {
+ display: inline-block;
+ margin: 0 5px 5px 5px;
+ cursor: pointer;
+ padding: 5px 8px;
+ border-radius: 3px;
+ }
-.image-list li img {
- width: 32px;
- height: 32px;
-}
+ .image-list li img {
+ width: 32px;
+ height: 32px;
+ }
-.image-list li:hover,
-.image-list li.active {
- box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);
-}
+ .image-list li:hover,
+ .image-list li.active {
+ box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);
+ }
</style>
diff --git a/src/router/index.js b/src/router/index.js
index cee1087..64bca8a 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -53,7 +53,22 @@
hidden: true
},
{
- path: '',
+ path: '/',
+ component: Layout,
+ redirect: '/doublePreventAction/doublePreventAction/riskLevelManage/index/doublePreventAction/riskLevelManage/analyseUnit/index',
+ children: [
+ {
+ path: 'dashboard',
+ component: () => import('@/views/doublePreventAction/riskLevelManage/analyseUnit/index'),
+ name: 'Dashboard1',
+ meta: { title: '首页', icon: 'el-icon-dash', noCache: true, affix: true }
+ }
+
+ ],
+ hidden: true
+ },
+ {
+ path: 'dashboard',
component: Layout,
redirect: 'dashboard',
children: [
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 4f89e81..0a0706f 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -7,7 +7,7 @@
<script>
import { mapGetters } from 'vuex'
-import menuIndex from '../mapManage/map/index'
+import menuIndex from '../doublePreventAction/riskLevelManage/analyseUnit/index'
export default {
name: 'Dashboard',
diff --git a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
new file mode 100644
index 0000000..81a0abf
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
@@ -0,0 +1,285 @@
+<template>
+ <div class="app-container">
+ <div class="filter-container">
+ <div class="basic_search">
+ <span>单位名称:</span>
+ <el-input v-model="listQuery.filter.riskUintName" style="width:200px">
+ </el-input>
+ </div>
+ <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
+ <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showUnitForm('','新增')">新增</el-button>
+ </div>
+ <div class="table_content">
+ <el-table
+ v-loading="listLoading"
+ :key="tableKey"
+ :data="analyseUnitData"
+ border
+ fit
+ highlight-current-row
+ style="width: 100%;"
+ >
+ <el-table-column label="安全风险分析单元ID" prop="hazardLiablePersonId" align="center">
+ </el-table-column>
+ <el-table-column label="安全风险分析对象编码" prop="hazardCode" align="center">
+ </el-table-column>
+ <el-table-column label="责任部门" prop="hazardDep" align="center">
+ </el-table-column>
+ <el-table-column label="责任人" prop="hazardLiablePerson" align="center">
+ </el-table-column>
+ <el-table-column label="安全风险分析单元名称" prop="riskUintName" align="center">
+ </el-table-column>
+ <el-table-column label="创建人" prop="createBy" align="center">
+ </el-table-column>
+ <el-table-column label="创建时间" prop="createTime" align="center">
+ </el-table-column>
+ <el-table-column label="最后修改人" prop="updateBy" align="center">
+ </el-table-column>
+ <el-table-column label="最后修改时间" prop="updateTime" align="center">
+ </el-table-column>
+ <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button type="text" @click="showUnitForm(scope.row,'编辑')">编辑</el-button>
+ <el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <br>
+ <el-pagination
+ v-show="recordTotal>0"
+ :current-page="currentPage"
+ :page-sizes="[10, 20, 30, 50]"
+ :page-size="pageSize"
+ :total="recordTotal"
+ layout="total, sizes, prev, pager, next, jumper"
+ background
+ style="float:right;"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ <br>
+ </div>
+ <el-dialog :title="title" :visible.sync="analyseUnitVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
+ <el-form ref="dataForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="160px">
+ <el-form-item label="责任部门">
+ <el-select v-model="analyseUnitForm.hazardDep" class="analyseUnit_input">
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :value="item.department"
+ :label="item.department"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="责任人">
+ <el-input v-model="analyseUnitForm.hazardLiablePerson" class="analyseUnit_input"></el-input>
+ </el-form-item>
+ <el-form-item label="安全风险分析对象编码">
+ <el-input v-model="analyseUnitForm.hazardCode" class="analyseUnit_input"></el-input>
+ </el-form-item>
+ <el-form-item label="安全分线分析单元名称">
+ <el-input v-model="analyseUnitForm.riskUintName" class="analyseUnit_input"></el-input>
+ </el-form-item>
+ </el-form>
+ <div align="right">
+ <el-button @click="unitFormVisible = false">取消</el-button>
+ <el-button type="primary" @click="submitUnit()">确认</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+ import { mapGetters } from 'vuex'
+ import { computePageCount } from '@/utils'
+ import { addAnalyseUnit, deleteAnalyseUnit, getAnalyseUnitList, updateAnalyseUnit } from '@/api/riskLevelManage'
+ import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
+ export default {
+ name: 'index',
+ filters: {
+ parseMain(type){
+ if(type === 1){
+ return "是"
+ }else if(type === 0){
+ return "否"
+ }
+ },
+ },
+ computed: {
+ ...mapGetters([
+ 'userType'
+ ])
+ },
+ data() {
+ return {
+ tableKey: 0,
+ analyseUnitData: [],
+ departmentList:[],
+ listLoading: false,
+ pageSize: 10,
+ recordTotal: 0,
+ currentPage: 1,
+ pageTotal: 0,
+ title:'',
+ company:'',
+ code:'',
+ analyseUnitVisible:false,
+ analyseUnitFormRules:{},
+ analyseUnitForm:{
+ id: null,
+ hazardCode: "",
+ hazardDep: "",
+ hazardLiablePerson: "",
+ riskUintName: "",
+ createTime: "",
+ updateTime: "",
+ createBy: "",
+ updateBy: "",
+ validFlag: null,
+ hazardLiablePersonId: null,
+ hazardDepId: 1
+ },
+ listQuery:{
+ pageIndex:1,
+ pageSize:10,
+ filter:{
+ riskUnitName:'',
+ }
+ },
+ }
+ },
+ created() {
+ this.getAnalyseUnitData()
+ this.getDepartment()
+ },
+ methods: {
+ async getAnalyseUnitData(){
+ this.listLoading = true
+ let res = await getAnalyseUnitList(this.listQuery)
+ if(res.data.code === '200'){
+ this.recordTotal = res.data.result.total
+ this.pageSize = res.data.result.size
+ this.pageTotal = computePageCount(res.data.result.total, res.data.result.size)
+ this.currentPage = res.data.result.current
+ this.analyseUnitData = res.data.result.records
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ this.listLoading = false
+ },
+ async getDepartment(){
+ let res = await getDepartmentList({pageSize:1000,pageIndex:1})
+ if(res.data.code === '200'){
+ this.departmentList = res.data.result.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ },
+ showUnitForm(value,type){
+ this.analyseUnitVisible = true
+ if(type === '新增'){
+ this.title = '新增'
+ this.analyseUnitForm = {
+ id: null,
+ hazardCode: "",
+ hazardDep: "",
+ hazardLiablePerson: "",
+ riskUintName: "",
+ createTime: "",
+ updateTime: "",
+ createBy: "",
+ updateBy: "",
+ validFlag: null,
+ hazardLiablePersonId: null,
+ hazardDepId: 1
+ }
+ }else{
+ this.title = '修改'
+ this.analyseUnitForm = value
+ }
+ },
+ submitUnit(){
+ if(this.title === '新增'){
+ addAnalyseUnit(this.analyseUnitForm).then((res)=>{
+ if(res.data.code === '200'){
+ this.analyseUnitVisible = false
+ this.getAnalyseUnitData()
+ this.$notify({
+ type:'success',
+ duration:2000,
+ message:'新增成功',
+ title:'成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ })
+ }else{
+ updateAnalyseUnit(this.analyseUnitForm).then((res)=>{
+ if(res.data.code === '200'){
+ this.analyseUnitVisible = false
+ this.getAnalyseUnitData()
+ this.$notify({
+ type:'success',
+ duration:2000,
+ title:'成功',
+ message:'编辑成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ })
+ }
+ },
+ deleteById(val){
+ this.$confirm('删除此条信息,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ deleteAnalyseUnit({id:val.id}).then( ()=>{
+ this.getAnalyseUnitData()
+ this.$notify({
+ title:'成功',
+ message:'删除成功',
+ type:'success',
+ duration:2000,
+ })
+ })
+ })
+ },
+ refreshHandle(){
+ this.getAnalyseUnitData()
+ },
+ handleSizeChange(val){
+ this.listQuery.pageSize = val
+ this.getAnalyseUnitData()
+ },
+ handleCurrentChange(val){
+ this.listQuery.pageIndex = val
+ this.getAnalyseUnitData()
+ },
+ }
+ }
+</script>
+<style scoped>
+ .basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+ }
+ .analyseUnit_input{
+ width:320px;
+ }
+</style>
diff --git a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
new file mode 100644
index 0000000..db27c8a
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
@@ -0,0 +1,13 @@
+<template>
+
+</template>
+
+<script>
+ export default {
+ name: "index"
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/doublePreventAction/riskLevelManage/event/index.vue b/src/views/doublePreventAction/riskLevelManage/event/index.vue
new file mode 100644
index 0000000..db27c8a
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/event/index.vue
@@ -0,0 +1,13 @@
+<template>
+
+</template>
+
+<script>
+ export default {
+ name: "index"
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/mapManage/map/index.vue b/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
similarity index 97%
rename from src/views/mapManage/map/index.vue
rename to src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
index 8c48f79..3d87881 100644
--- a/src/views/mapManage/map/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
@@ -6,13 +6,13 @@
</template>
<script>
- import Map from '../../../components/Map';
- import Tab from '../../../components/Tab';
- import { global } from '../../../global';
+ import Map from '../../../../components/Map';
+ import Tab from '../../../../components/Tab';
+ import { global } from '../../../../global';
import {
getCatesian3FromPX,
Cartesian3_to_WGS84,
- } from '../../../components/Map/libs/Point';
+ } from '../../../../components/Map/libs/Point';
export default {
name: 'App',
@@ -66,7 +66,7 @@
this.loaded = true;
map.addModel({
- link: 'http://model.szwutu.cn:8100/data1/namisoub3dm/tileset.json',
+ link: 'http://model.szwutu.cn:8100/data1/namiso-ub3dm/tileset.json',
name: '商业园区',
callback: tileset => {
var boundingSphere = tileset.boundingSphere;
diff --git a/src/views/doublePreventAction/riskLevelManage/index.vue b/src/views/doublePreventAction/riskLevelManage/index.vue
new file mode 100644
index 0000000..f50c54d
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/index.vue
@@ -0,0 +1,13 @@
+<template>
+ <router-view />
+</template>
+
+<script>
+ export default {
+ name: "index"
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/login/components/login-form.vue b/src/views/login/components/login-form.vue
index 62e50d5..2aeede9 100644
--- a/src/views/login/components/login-form.vue
+++ b/src/views/login/components/login-form.vue
@@ -1,43 +1,89 @@
<template>
- <el-form ref="loginForm" :model="loginForm" :rules="loginRules" :inline="false" class="loginForm" @keydown.enter.native="handleSubmit">
- <div class="title-container">
- <h3 class="title">登录</h3>
+ <div class="login-form">
+ <div class="login-form-title"><span>登录</span></div>
+ <div class="login-form-main">
+ <el-form ref="loginForm" :model="loginForm" :rules="loginRules" :inline="false" class="loginForm" @keydown.enter.native="handleSubmit">
+ <div class="login-form-main-user"><span>用户名</span></div>
+ <div class="login-form-main-user_input">
+ <el-form-item prop="username">
+ <el-input
+ v-model="loginForm.username"
+ placeholder="请输入用户名"
+ name="username"
+ type="text"
+ auto-complete="on"
+ />
+ </el-form-item>
+ </div>
+ <div class="login-form-main-password"><span>密码</span></div>
+ <div class="login-form-main-password_input">
+ <el-row>
+ <el-col :span="21">
+ <el-form-item prop="password">
+ <el-input
+ v-model="loginForm.password"
+ :type="loginPasswordType"
+ placeholder="请输入密码"
+ name="password"
+ auto-complete="on"
+ @keyup.enter.native="handleSubmit"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="3">
+ <img src="../../../assets/icon_visible.png" style="margin:0 auto;padding-top: 9px;padding-left: 10px;" @click="showLoginPwd"></img>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
</div>
- <el-form-item prop="username">
- <span class="svg-container">
- <svg-icon icon-class="user" />
- </span>
- <el-input
- v-model="loginForm.username"
- placeholder="请输入用户名"
- name="username"
- type="text"
- auto-complete="on"
- />
- </el-form-item>
- <el-form-item prop="password">
- <span class="svg-container">
- <svg-icon icon-class="password" />
- </span>
- <el-input
- v-model="loginForm.password"
- :type="loginPasswordType"
- placeholder="请输入密码"
- name="password"
- auto-complete="on"
- @keyup.enter.native="handleSubmit"
- />
- <span class="show-pwd" @click="showLoginPwd">
- <svg-icon :icon-class="loginPasswordType === 'password' ? 'eye' : 'eye-open'" />
- </span>
- </el-form-item>
- <div style="text-align:center;">
- <el-button :loading="logingLoading" class="login-button" type="primary" @click.native.prevent="handleSubmit">
- 登录
+ <div class="login-form-button">
+ <el-button class="login-form-login-button" :loading="logingLoading" :disabled="submitLoading" type="primary" @click.native.prevent="handleSubmit">
+ <span>
+ 登录
+ </span>
</el-button>
- <br>
</div>
- </el-form>
+ </div>
+ <!-- <el-form ref="loginForm" :model="loginForm" :rules="loginRules" :inline="false" class="loginForm" @keydown.enter.native="handleSubmit">-->
+<!-- <div class="title-container">-->
+<!-- <h3 class="title">登录</h3>-->
+<!-- </div>-->
+<!-- <el-form-item prop="username">-->
+<!-- <span class="svg-container">-->
+<!-- <svg-icon icon-class="user" />-->
+<!-- </span>-->
+<!-- <el-input-->
+<!-- v-model="loginForm.username"-->
+<!-- placeholder="请输入用户名"-->
+<!-- name="username"-->
+<!-- type="text"-->
+<!-- auto-complete="on"-->
+<!-- />-->
+<!-- </el-form-item>-->
+<!-- <el-form-item prop="password">-->
+<!-- <span class="svg-container">-->
+<!-- <svg-icon icon-class="password" />-->
+<!-- </span>-->
+<!-- <el-input-->
+<!-- v-model="loginForm.password"-->
+<!-- :type="loginPasswordType"-->
+<!-- placeholder="请输入密码"-->
+<!-- name="password"-->
+<!-- auto-complete="on"-->
+<!-- @keyup.enter.native="handleSubmit"-->
+<!-- />-->
+<!-- <span class="show-pwd" @click="showLoginPwd">-->
+<!-- <svg-icon :icon-class="loginPasswordType === 'password' ? 'eye' : 'eye-open'" />-->
+<!-- </span>-->
+<!-- </el-form-item>-->
+<!-- <div style="text-align:center;">-->
+<!-- <el-button :loading="logingLoading" class="login-button" type="primary" @click.native.prevent="handleSubmit">-->
+<!-- 登录-->
+<!-- </el-button>-->
+<!-- <br>-->
+<!-- </div>-->
+<!-- </el-form>-->
</template>
<script>
import Cookies from "js-cookie";
@@ -85,7 +131,6 @@
},
created(){
- this.test()
},
methods: {
showLoginPwd() {
@@ -123,95 +168,72 @@
}
</script>
-<style rel="stylesheet/scss" lang="scss">
- $cursor: #fff;
- $bg:#2d3a4b;
- $dark_gray:#889aa4;
- $light_gray:#eee;
- .loginForm {
- .el-input {
- display: inline-block;
- height: 47px;
- width: 85%;
- input {
- background: transparent;
- background-color: #eee;
- border: 0px;
- -webkit-appearance: none;
- border-radius: 0px;
- padding: 12px 5px 12px 15px;
- color: #333333;
- height: 47px;
- caret-color:#333333;
- &:-webkit-autofill {
- -webkit-box-shadow: 0 0 0px 1000px #cfd5da inset !important;
- -webkit-text-fill-color: #fff !important;
- }
- }
- }
- .el-form-item {
- border: 1px solid rgba(255, 255, 255, 0.1);
- background: rgba(0, 0, 0, 0.1);
- border-radius: 5px;
- color: #454545;
- }
- .tips {
- font-size: 14px;
- color: #fff;
- margin-bottom: 10px;
- span {
- &:first-of-type {
- margin-right: 16px;
- }
- }
- }
- .svg-container {
- padding: 6px 5px 6px 15px;
- color: $dark_gray;
- vertical-align: middle;
- width: 30px;
- display: inline-block;
- }
- .title-container {
- position: relative;
- .title {
- font-size: 26px;
- color: #333333;
- margin: 0px auto 40px auto;
- text-align: center;
- font-weight: bold;
- }
- .set-language {
- color: #fff;
- position: absolute;
- top: 3px;
- font-size:18px;
- right: 0px;
- cursor: pointer;
- }
- }
- .show-pwd {
- position: absolute;
- right: 10px;
- top: 7px;
- font-size: 16px;
- color: $dark_gray;
- cursor: pointer;
- user-select: none;
- }
- .thirdparty-button {
- position: absolute;
- right: 0;
- bottom: 6px;
- }
- .login-button {
- height:36px;
- margin-bottom:30px;
- margin-top:10px;
- width:100px;
- border-radius:25px;
- background-color: #034EA2;
- }
+<style scoped>
+ .login-form{
+ min-height: 100%;
+ width:100%;
}
-
+ .login-form-main{
+ margin-left:50px;
+ }
+ .login-form-title{
+ width: 60px;
+ height: 143px;
+ font-size: 30px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 600;
+ color: #1851DC;
+ line-height: 42px;
+ padding-top: 53px;
+ margin:0 auto;
+ }
+ .login-form-main-user{
+ height: 20px;
+ font-size: 16px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ line-height: 20px;
+ }
+ .login-form-main-password{
+ height: 20px;
+ font-size: 16px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ line-height: 20px;
+ margin-top: 24px;
+ }
+ /deep/.el-input__inner{
+ height: 40px;
+ border:0px;
+ background: #F0F0F0;
+ }
+ .login-form-main-user_input{
+ margin-top: 8px;
+ width: 364px;
+ height: 40px;
+ background: #FFFFFF !important;
+ border-radius: 4px;
+ border: 0px solid;
+ }
+ .login-form-main-password_input{
+ margin-top: 8px;
+ width: 364px;
+ height: 40px;
+ background: #F0F0F0;
+ border-radius: 4px;
+ border: 0px solid;
+ }
+ .login-form-button{
+ width:100%;
+ text-align: center;
+ padding-top: 40px;
+ }
+ .login-form-login-button {
+ width: 364px;
+ height: 48px;
+ background: #4778FF;
+ border-radius: 4px;
+ }
</style>
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index f1194f9..d35ac25 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -1,41 +1,36 @@
<template>
- <div :class="logincontainer">
- <div v-title :data-title="titleName" class="main"/>
- <el-row>
- <el-col :xs="24" :sm="24" :lg="12">
- <div class="login-logo">
- <div>
- <i class="el-icon-logo" />
- </div>
- </div>
- <div class="login-font">
- <div v-if="isSafe">
- <span>
- {{ safeLoginTitle }}
- </span>
- </div>
- <div v-else>
- <span>
- 特殊作业综合监管平台
- </span>
- </div>
- </div>
- </el-col>
- <el-col :xs="24" :sm="24" :lg="12">
- <div class="left-container">
- <div v-if="action==='login'" class="login-component">
- <login-form
- @on-success-valid="handleLogin"
- />
- </div>
- </div>
- </el-col>
- </el-row>
- <el-col :xs="24" :sm="24" :lg="12">
- <div class="bottom-container">
- <span>Copyright©2017 中国科学院苏州纳米技术与纳米仿生研究所 苏ICP备10220403号-6</span>
+ <div class="login-container">
+ <div class="title-one">
+ <span>拜城县众泰煤焦化有限公司</span>
+ </div>
+ <div class="title-two">
+ <span>智能化安全管理技术平台</span>
+ </div>
+ <div class="login-main">
+ <div class="login-main-pic"></div>
+ <div class="login-main-form">
+ <login-form
+ @on-success-valid="handleLogin"
+ />
</div>
- </el-col>
+ </div>
+ <div class="bottom-container">
+ <span style="text-align: center">Copyright©2022 新疆阿克苏拜城众泰煤焦化有限公司 版权所有</span>
+ </div>
+<!-- <el-row>-->
+<!-- <el-col :xs="24" :sm="24" :lg="12">-->
+<!-- <div class="left-container">-->
+<!-- <div v-if="action==='login'" class="login-component">-->
+
+<!-- </div>-->
+<!-- </div>-->
+<!-- </el-col>-->
+<!-- </el-row>-->
+<!-- <el-col :xs="24" :sm="24" :lg="12">-->
+<!-- <div class="bottom-container">-->
+<!-- <span>Copyright©2017 中国科学院苏州纳米技术与纳米仿生研究所 苏ICP备10220403号-6</span>-->
+<!-- </div>-->
+<!-- </el-col>-->
</div>
</template>
@@ -138,7 +133,7 @@
_this.$store.commit('SET_USER_TYPE', data.type)
// 加载菜单
initRouter(_this)
- _this.$router.replace('/mapManage/mapManage/map/index')
+ _this.$router.replace('/')
} else {
_this.$message({
showClose: true,
@@ -172,100 +167,63 @@
.login-container {
min-height: 100%;
width: 100%;
- background: url("../../assets/bg_pic.png") center no-repeat;
+ background: url("../../assets/bg_login.png") center no-repeat;
//background-size: auto 100%;
- background-size: cover;
- background-position: center;
- position: relative;
- background-color: #fff;
// background-color: #2d3a4b;
overflow: hidden;
- .login-logo {
- position: relative;
- color: #fff;
- text-align: center;
- padding: 0 35px 0 35px;
- margin: 0 auto;
- margin-top: 25%;
- margin-left: -100px;
- }
- .login-font {
- position: relative;
- text-align: center;
- margin-left: -10%;
- margin-top: -20%;
- }
-
- .login-font span {
- display: inline-block;
- width: 500px;
- height: 72px;
- font-size: 45px;
- font-family: PingFangSC-Semibold;
+ background-size:cover;
+ .title-one{
+ width: 360px;
+ height: 42px;
+ font-size: 30px;
+ font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
- color: white;
- line-height: 60px;
- vertical-align: middle;
- margin-top:50px;
- //padding: 20px 0; /* 撑开高度 */
- }
- .login-logo span {
- display: inline-block;
- width: 500px;
- height: 72px;
- font-size: 45px;
- font-family: PingFangSC-Semibold;
- font-weight: 600;
- color: rgba(51, 51, 51, 1);
- line-height: 60px;
- vertical-align: middle;
- margin-top: 50px;
- //padding: 20px 0; /* 撑开高度 */
- }
- //使用图片来替换
- //before属性中的content文本是用来占位的,必须有
- //可以设置字体大小来确定大小
- //使用visibility: hidden;来隐藏文字
- .el-icon-logo {
- /*background: url("../../assets/logo.png") center no-repeat;*/
- background-size: cover;
- height: 10px;
- width: 128px;
- color: #fff;
- vertical-align: middle;
- }
- .el-icon-logo:before {
- content: "替";
- font-size: 25px;
- visibility: hidden;
- }
- .left-container {
+ color: #FFFFFF;
+ line-height: 42px;
+ text-shadow: 0px 8px 10px rgba(16, 57, 193, 0.3);
margin: 0 auto;
- margin-top: 8%;
- .login-component {
- background-color: white;
- position: relative;
- width: 600px;
- max-width: 100%;
- padding: 40px 35px 0 30px;
- margin: 0 auto;
- margin-top: 25%;
- overflow: hidden;
+ margin-top: 120px;
+ }
+ .title-two{
+ width: 473px;
+ height: 61px;
+ font-size: 43px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ color: #FFFFFF;
+ line-height: 61px;
+ text-shadow: 0px 8px 10px rgba(16, 57, 193, 0.3);
+ margin: 0 auto;
+ margin-top: 5px;
+ }
+ .login-main{
+ display: flex;
+ background: linear-gradient(270deg, #FFFFFF 0%, #FFFFFF 100%);
+ box-shadow: 0px 20px 40px 0px rgba(34, 0, 255, 0.7);
+ width:1036px;
+ min-height: 474px;
+ margin:0 auto;
+ margin-top: 60px;
+ .login-main-pic{
+ display: inline-block;
+ height: 474px;
+ width: 572px;
+ background: url("../../assets/img_bg_login.png") center no-repeat;
}
- .register-component {
- position: relative;
- width: 600px;
- max-width: 100%;
- padding: 40px 35px 0 35px;
- margin: 0 auto;
- overflow: hidden;
- background-color: #fff;
+ .login-main-form{
+ display: inline-block;
+ height:100%;
+ width:464px;
}
}
.bottom-container{
- position: absolute;
- bottom: 0;
- left: 30%;
+ width:600px;
+ height: 42px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ line-height: 42px;
+ text-shadow: 0px 8px 10px rgba(16, 57, 193, 0.3);
+ margin: 0 auto;
+ margin-top: 150px;
}
}
--
Gitblit v1.9.2