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