41 files modified
1 files renamed
6 files added
| New file |
| | |
| | | /** |
| | | * Created by Wandergis on 2015/7/8. |
| | | * 提供了百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)、和 WGS-84 坐标系之间的转换 |
| | | */ |
| | | // UMD 魔法代码 |
| | | // if the module has no dependencies, the above pattern can be simplified to |
| | | (function (root, factory) { |
| | | if (typeof define === 'function' && define.amd) { |
| | | // AMD. Register as an anonymous module. |
| | | define([], factory); |
| | | } else if (typeof module === 'object' && module.exports) { |
| | | // Node. Does not work with strict CommonJS, but |
| | | // only CommonJS-like environments that support module.exports, |
| | | // like Node. |
| | | module.exports = factory(); |
| | | } else { |
| | | // Browser globals (root is window) |
| | | root.coordtransform = factory(); |
| | | } |
| | | }(this, function () { |
| | | // 定义一些常量 |
| | | var x_PI = 3.14159265358979324 * 3000.0 / 180.0; |
| | | var PI = 3.1415926535897932384626; |
| | | var a = 6378245.0; |
| | | var ee = 0.00669342162296594323; |
| | | /** |
| | | * 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02) 的转换 |
| | | * 即 百度 转 谷歌、高德 |
| | | * @param bd_lng |
| | | * @param bd_lat |
| | | * @returns {*[]} |
| | | */ |
| | | var bd09togcj02 = function bd09togcj02(bd_lng, bd_lat) { |
| | | var bd_lng = +bd_lng; |
| | | var bd_lat = +bd_lat; |
| | | var x = bd_lng - 0.0065; |
| | | var y = bd_lat - 0.006; |
| | | var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_PI); |
| | | var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_PI); |
| | | var gg_lng = z * Math.cos(theta); |
| | | var gg_lat = z * Math.sin(theta); |
| | | return [gg_lng, gg_lat] |
| | | }; |
| | | |
| | | /** |
| | | * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换 |
| | | * 即 谷歌、高德 转 百度 |
| | | * @param lng |
| | | * @param lat |
| | | * @returns {*[]} |
| | | */ |
| | | var gcj02tobd09 = function gcj02tobd09(lng, lat) { |
| | | var lat = +lat; |
| | | var lng = +lng; |
| | | var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_PI); |
| | | var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_PI); |
| | | var bd_lng = z * Math.cos(theta) + 0.0065; |
| | | var bd_lat = z * Math.sin(theta) + 0.006; |
| | | return [bd_lng, bd_lat] |
| | | }; |
| | | |
| | | /** |
| | | * WGS-84 转 GCJ-02 |
| | | * @param lng |
| | | * @param lat |
| | | * @returns {*[]} |
| | | */ |
| | | var wgs84togcj02 = function wgs84togcj02(lng, lat) { |
| | | var lat = +lat; |
| | | var lng = +lng; |
| | | if (out_of_china(lng, lat)) { |
| | | return [lng, lat] |
| | | } else { |
| | | var dlat = transformlat(lng - 105.0, lat - 35.0); |
| | | var dlng = transformlng(lng - 105.0, lat - 35.0); |
| | | var radlat = lat / 180.0 * PI; |
| | | var magic = Math.sin(radlat); |
| | | magic = 1 - ee * magic * magic; |
| | | var sqrtmagic = Math.sqrt(magic); |
| | | dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI); |
| | | dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI); |
| | | var mglat = lat + dlat; |
| | | var mglng = lng + dlng; |
| | | return [mglng, mglat] |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * GCJ-02 转换为 WGS-84 |
| | | * @param lng |
| | | * @param lat |
| | | * @returns {*[]} |
| | | */ |
| | | var gcj02towgs84 = function gcj02towgs84(lng, lat) { |
| | | var lat = +lat; |
| | | var lng = +lng; |
| | | if (out_of_china(lng, lat)) { |
| | | return [lng, lat] |
| | | } else { |
| | | var dlat = transformlat(lng - 105.0, lat - 35.0); |
| | | var dlng = transformlng(lng - 105.0, lat - 35.0); |
| | | var radlat = lat / 180.0 * PI; |
| | | var magic = Math.sin(radlat); |
| | | magic = 1 - ee * magic * magic; |
| | | var sqrtmagic = Math.sqrt(magic); |
| | | dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI); |
| | | dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI); |
| | | var mglat = lat + dlat; |
| | | var mglng = lng + dlng; |
| | | return [lng * 2 - mglng, lat * 2 - mglat] |
| | | } |
| | | }; |
| | | |
| | | var transformlat = function transformlat(lng, lat) { |
| | | var lat = +lat; |
| | | var lng = +lng; |
| | | var ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng)); |
| | | ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0; |
| | | ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0; |
| | | ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0; |
| | | return ret |
| | | }; |
| | | |
| | | var transformlng = function transformlng(lng, lat) { |
| | | var lat = +lat; |
| | | var lng = +lng; |
| | | var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng)); |
| | | ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0; |
| | | ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0; |
| | | ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0; |
| | | return ret |
| | | }; |
| | | |
| | | /** |
| | | * 判断是否在国内,不在国内则不做偏移 |
| | | * @param lng |
| | | * @param lat |
| | | * @returns {boolean} |
| | | */ |
| | | var out_of_china = function out_of_china(lng, lat) { |
| | | var lat = +lat; |
| | | var lng = +lng; |
| | | // 纬度 3.86~53.55, 经度 73.66~135.05 |
| | | return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55); |
| | | }; |
| | | |
| | | return { |
| | | bd09togcj02: bd09togcj02, |
| | | gcj02tobd09: gcj02tobd09, |
| | | wgs84togcj02: wgs84togcj02, |
| | | gcj02towgs84: gcj02towgs84 |
| | | } |
| | | })); |
| | |
| | | <link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.8.12/index.css"> |
| | | <script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script> |
| | | <script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script> |
| | | <script src="./geo.js"></script> |
| | | <link rel="icon" href="<%= BASE_URL %>favicon.png"> |
| | | <!-- <title>保安监管系统</title> --> |
| | | <title>智慧保安监管模块</title> |
| | |
| | | <script src="<%= BASE_URL %>cdn/avue/2.8.12/avue.min.js" charset="utf-8"></script> |
| | | </body> |
| | | |
| | | </html> |
| | | </html> |
| New file |
| | |
| | | <html> |
| | | |
| | | <head> |
| | | <meta http-equiv="Content-Type" content="text/html; charset = utf-8" /> |
| | | <title>WebSocket客户端</title> |
| | | <script type="text/javascript"> |
| | | var socket; |
| | | if (!window.WebSocket) { |
| | | window.WebSocket = window.MozWebSocket; |
| | | } |
| | | |
| | | if (window.WebSocket) { |
| | | socket = new WebSocket("ws://localhost:9034/websocket"); |
| | | socket.onmessage = function(event) { |
| | | var ta = document.getElementById('responseContent'); |
| | | ta.value += event.data + "\r\n"; |
| | | }; |
| | | |
| | | socket.onopen = function(event) { |
| | | var ta = document.getElementById('responseContent'); |
| | | ta.value = "你当前的浏览器支持WebSocket,请进行后续操作\r\n"; |
| | | }; |
| | | |
| | | socket.onclose = function(event) { |
| | | var ta = document.getElementById('responseContent'); |
| | | ta.value = ""; |
| | | |
| | | ta.value = "WebSocket连接已经关闭\r\n"; |
| | | }; |
| | | } else { |
| | | alert("您的浏览器不支持WebSocket"); |
| | | } |
| | | |
| | | |
| | | |
| | | function send(message) { |
| | | if (!window.WebSocket) { |
| | | return; |
| | | } |
| | | if (socket.readyState == WebSocket.OPEN) { |
| | | socket.send(message); |
| | | } else { |
| | | alert("WebSocket连接没有建立成功!!"); |
| | | } |
| | | } |
| | | </script> |
| | | </head> |
| | | |
| | | <body> |
| | | <form onSubmit="return false;"> |
| | | <input type="text" name="message" value="" /> |
| | | <br/><br/> |
| | | <input type="button" value="发送WebSocket请求消息" onClick="send(this.form.message.value)" /> |
| | | <hr color="red" /> |
| | | <h2>客户端接收到服务端返回的应答消息</h2> |
| | | <textarea id="responseContent" style="width:1024px; height:300px"></textarea> |
| | | </form> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | params: params |
| | | }); |
| | | }; |
| | | // 获取押运人员列表 |
| | | export const getSelectPeo = params => { |
| | | return request({ |
| | | url: "/api/blade-user/selectPeo", |
| | | method: "get", |
| | | params: params |
| | | }); |
| | | }; |
| | | |
| | | // 获取车辆列表 |
| | | export const getSelectCar = (param) => { |
| | | return request({ |
| | | url: '/api/car/selectCar', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | | } |
| | | |
| | | // 获取枪支列表 |
| | | export const getSelectGun = (param) => { |
| | | return request({ |
| | | url: '/api/equipage/selectGun', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | | } |
| | | // 现实表现弹窗接口 |
| | | export const xsbxPages = params => { |
| | | return request({ |
| | | url: "/api/information/selectBxc", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| New file |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/loginRecord/page', |
| | | method: 'get', |
| | | params: { |
| | | current, |
| | | size, |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getInformationLoginPage = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/loginRecord/getInformationLoginPage', |
| | | method: 'get', |
| | | params: { |
| | | current, |
| | | size, |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | |
| | | |
| | | export const getTrack = (param) => { |
| | | return request({ |
| | | url: '/api/liveLocation/getLocusInfoList', |
| | | url: '/api/locus/pages', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | |
| | | |
| | | export const getNewPosition = (param) => { |
| | | return request({ |
| | | url: '/api/car/locationcar', |
| | | url: '/api/liveLocation/detail', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | |
| | | }) |
| | | } |
| | | |
| | | export const getPosition = (param) => { |
| | | return request({ |
| | | url: '/api/liveLocation/detail', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | | } |
| | | |
| | | export const getTrack = (param) => { |
| | | return request({ |
| | | url: '/api/liveLocation/getLocusInfoList', |
| | | url: '/api/investigate/gun', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | |
| | | |
| | | export const getTrack = (param) => { |
| | | return request({ |
| | | url: '/api/liveLocation/getLocusInfoList', |
| | | url: '/api/locus/pages', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | |
| | | |
| | | export const getNewPeople = (param) => { |
| | | return request({ |
| | | url: '/api/car/Peo', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | | } |
| | | |
| | | export const getNewTark = (param) => { |
| | | return request({ |
| | | url: '/api/car/Peog', |
| | | url: '/api/liveLocation/detail', |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | |
| | | }) |
| | | } |
| | | |
| | | export const getTrainList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/trainingRegistration/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const adddata = (row) => { |
| | | return request({ |
| | | // return newAxios({ |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const manifestationList = (securityid) => { |
| | | return request({ |
| | | url: '/api/performance/list', |
| | | method: 'get', |
| | | params: { |
| | | securityid |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/performance/list', |
| | | method: 'get', |
| | | params: { |
| | | securityid |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const dispatchList = (cardid) => { |
| | | return request({ |
| | | url: '/api/dispatcher/page', |
| | | method: 'get', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/dispatcher/page', |
| | | method: 'get', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const honorchList = (cardid) => { |
| | | return request({ |
| | | url: '/api/honor/list', |
| | | method: 'get', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/honor/list', |
| | | method: 'get', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | export const trainList = (cardid) => { |
| | | return request({ |
| | | url: '/api/train/selectTrainInfo', |
| | | method: 'post', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/train/selectTrainInfo', |
| | | method: 'post', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const examinationList = (cardid) => { |
| | | return request({ |
| | | url: '/api/examination/selectExaminationInfo', |
| | | method: 'post', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/examination/selectExaminationInfo', |
| | | method: 'post', |
| | | params: { |
| | | cardid |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getInvestorList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/shareholder/selectShareholderInfo', |
| | | method: 'post', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/shareholder/selectShareholderInfo', |
| | | method: 'post', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getManageList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/member/selectMemberInfo', |
| | | method: 'post', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/member/selectMemberInfo', |
| | | method: 'post', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | export const usejurisdiction = () => { |
| | | return request({ |
| | | url: '/api/jurisdiction/lazy-tree', |
| | | method: 'get', |
| | | // params: { |
| | | // ...params, |
| | | // current, |
| | | // size, |
| | | // creditcode, |
| | | // } |
| | | }) |
| | | return request({ |
| | | url: '/api/jurisdiction/lazy-tree', |
| | | method: 'get', |
| | | // params: { |
| | | // ...params, |
| | | // current, |
| | | // size, |
| | | // creditcode, |
| | | // } |
| | | }) |
| | | } |
| | | |
| | | export const getBusinessInfo = (deptId) => { |
| | | return request({ |
| | | url: '/api/business/getBusinessInfo', |
| | | method: 'get', |
| | | params: { |
| | | deptId, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getLicenceDetail = (deptId) => { |
| | | return request({ |
| | | url: '/api/licencePaper/detail', |
| | | method: 'get', |
| | | params: { |
| | | deptId, |
| | | } |
| | | }) |
| | | } |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getList = (current, size, params, stats) => { |
| | | return request({ |
| | | url: '/api/information/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | stats |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/information/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | stats |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getListold = (current, size, params, stats) => {//2021.8.25因内网公司接口需要同步成外网公司接口 舍弃 |
| | | return request({ |
| | | url: '/api/information/list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | stats |
| | | } |
| | | }) |
| | | export const getListold = (current, size, params, stats) => { //2021.8.25因内网公司接口需要同步成外网公司接口 舍弃 |
| | | return request({ |
| | | url: '/api/information/list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | stats |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getPostList = (tenantId) => { |
| | | return request({ |
| | | url: '/api/blade-system/post/select', |
| | | method: 'get', |
| | | params: { |
| | | tenantId |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/blade-system/post/select', |
| | | method: 'get', |
| | | params: { |
| | | tenantId |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getDetail = (id) => { |
| | | return request({ |
| | | url: '/api/blade-system/post/detail', |
| | | method: 'get', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/blade-system/post/detail', |
| | | method: 'get', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const remove = (ids) => { |
| | | return request({ |
| | | url: '/api/blade-system/post/remove', |
| | | method: 'post', |
| | | params: { |
| | | ids, |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/blade-system/post/remove', |
| | | method: 'post', |
| | | params: { |
| | | ids, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getInformationDetails = (data) => { |
| | | return request({ |
| | | url: '/api/information/getInformationDetails', |
| | | method: 'get', |
| | | params: data |
| | | }) |
| | | } |
| | | |
| | | export const add = (row) => { |
| | | return request({ |
| | | url: '/api/blade-system/post/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | return request({ |
| | | url: '/api/blade-system/post/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const update = (row) => { |
| | | return request({ |
| | | url: '/api/blade-system/post/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | return request({ |
| | | url: '/api/blade-system/post/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | |
| | | export const getListPunish = (current, size, params, deptid) => { |
| | | return request({ |
| | | url: '/api/punish/list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | deptid |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/punish/list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | deptid |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | export const savePunish = (row) => { |
| | | return request({ |
| | | url: '/api/punish/save', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | return request({ |
| | | url: '/api/punish/save', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | export const updateUser = (row) => { |
| | | return request({ |
| | | url: '/api/blade-user/updateUser', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const updatePlatform = (userId, userType, userExt) => { |
| | | return request({ |
| | | url: '/api/blade-user/update-platform', |
| | |
| | | }, |
| | | mounted () { |
| | | //建立地图 |
| | | this.createmap(1); //1为本地 |
| | | this.createmap(2); //1为本地 |
| | | |
| | | this.parentParameter(); |
| | | |
| | |
| | | data() { |
| | | return {}; |
| | | }, |
| | | created() {}, |
| | | created() { |
| | | // this.websocketStart(); |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["website", "keyCollapse"]) |
| | | }, |
| | | methods: {} |
| | | methods: { |
| | | //启动websocket |
| | | websocketStart() { |
| | | var that = this; |
| | | |
| | | if (!window.WebSocket) { |
| | | window.WebSocket = window.MozWebSocket; |
| | | } |
| | | if (window.WebSocket) { |
| | | // https |
| | | // window.socket = new WebSocket("wss://web.byisf.com/wss/websocket/"); |
| | | |
| | | //http |
| | | window.socket = new WebSocket("ws://localhost:9034/websocket"); |
| | | |
| | | window.socket.onopen = function (event) {}; |
| | | |
| | | window.socket.onclose = function (event) {}; |
| | | window.socket.error = function (event) { |
| | | //执行重连 |
| | | that.websocketStart(); |
| | | }; |
| | | } else { |
| | | console.log("WebSocket连接没有建立成功!!"); |
| | | } |
| | | |
| | | setTimeout(function () { |
| | | window.clearTimeout(window.websockPing); |
| | | |
| | | if (!window.WebSocket) { |
| | | return; |
| | | } |
| | | if (window.socket.readyState == WebSocket.OPEN) { |
| | | var userId = JSON.parse( |
| | | window.localStorage.getItem("-userInfo") |
| | | ).content.user_id; |
| | | |
| | | window.socket.send(userId); |
| | | |
| | | //开启心跳传送 |
| | | window.websockPing = setInterval(function () { |
| | | if (window.socket.readyState == WebSocket.OPEN) { |
| | | window.socket.send("ping"); |
| | | } else { |
| | | console.log("心跳停止,断开重连"); |
| | | //断开连接,重连 |
| | | window.clearTimeout(window.websockPing); |
| | | //执行重连 |
| | | that.websocketStart(); |
| | | } |
| | | }, 4000); |
| | | } else { |
| | | console.log("WebSocket连接没有建立成功!!"); |
| | | //执行重连 |
| | | that.websocketStart(); |
| | | } |
| | | }, 1000); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | </span> |
| | | </div> |
| | | <div class="top-bar__right"> |
| | | <el-tooltip v-if="showColor" |
| | | <!-- <el-tooltip v-if="showColor" |
| | | effect="dark" |
| | | :content="$t('navbar.color')" |
| | | placement="bottom"> |
| | |
| | | <div class="top-bar__item top-bar__item--show"> |
| | | <top-theme></top-theme> |
| | | </div> |
| | | </el-tooltip> |
| | | </el-tooltip> --> |
| | | <!-- <el-tooltip effect="dark" |
| | | :content="$t('navbar.notice')" |
| | | placement="bottom"> |
| | |
| | | <top-notice></top-notice> |
| | | </div> |
| | | </el-tooltip> --> |
| | | <el-tooltip effect="dark" |
| | | <!-- <el-tooltip effect="dark" |
| | | :content="$t('navbar.language')" |
| | | placement="bottom"> |
| | | <div class="top-bar__item top-bar__item--show"> |
| | | <top-lang></top-lang> |
| | | </div> |
| | | </el-tooltip> |
| | | </el-tooltip> --> |
| | | <el-tooltip v-if="showFullScren" |
| | | effect="dark" |
| | | :content="isFullScren?$t('navbar.screenfullF'):$t('navbar.screenfull')" |
| | |
| | | #avue-view { |
| | | &>.morpheus-map-box { |
| | | position: absolute; |
| | | top: 40px; |
| | | top: 0px; |
| | | left: 0px; |
| | | right: 0px; |
| | | bottom: 0px; |
| | |
| | | /deep/ .el-table td, |
| | | .el-table th.is-leaf { |
| | | border-bottom-color: transparent; |
| | | background: rgb(3, 34, 91) !important; |
| | | } |
| | | /deep/ .el-table__header th { |
| | | border-bottom: 1px solid #031a38 !important; |
| | |
| | | height: 77%; |
| | | } |
| | | } |
| | | .bottom-table{ |
| | | .bottom-table { |
| | | width: calc(100% - 40px); |
| | | height: 100%; |
| | | margin: 0px 20px 15px; |
| | | top: 50px; |
| | | .el-table{ |
| | | .el-table { |
| | | width: 100%; |
| | | height: calc(100% - 65px); |
| | | top: 50px; |
| | | overflow-y: auto; |
| | | } |
| | | } |
| | | ::-webkit-scrollbar{ |
| | | ::-webkit-scrollbar { |
| | | display: none; |
| | | } |
| | | .dialog-table{ |
| | | .dialog-table { |
| | | top: 0px !important; |
| | | margin: 0px !important; |
| | | width: 100% !important; |
| | | height: calc(100% - 50px) !important; |
| | | overflow: auto; |
| | | .el-table{ |
| | | .el-table { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: auto; |
| | |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | prop="carNum" |
| | | label="押运车辆车牌号" |
| | | prop="mode" |
| | | label="车辆型号" |
| | | width="180" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="location" |
| | | label="实时位置" |
| | | prop="personInCharge" |
| | | label="责任人" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="company" |
| | | label="所属公司" |
| | | prop="dateForProduction" |
| | | label="出厂日期" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="linkman" |
| | | label="联系人" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="tel" |
| | | label="联系电话" |
| | | prop="detailObj" |
| | | label="厂商" |
| | | ></el-table-column> |
| | | </template> |
| | | <template v-if="curTableType === 1"> |
| | |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="name" |
| | | prop="realName" |
| | | label="押运人员名称" |
| | | width="180" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="location" |
| | | label="实时位置" |
| | | prop="address" |
| | | label="联系地址" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="company" |
| | | prop="deptName" |
| | | label="所属公司" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="tel" |
| | | prop="phone" |
| | | label="联系电话" |
| | | ></el-table-column> |
| | | <!-- <el-table-column :key="curTableType" prop="bz" label="备注"> |
| | |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="number" |
| | | label="枪支编号" |
| | | prop="gunMode" |
| | | label="枪支类型" |
| | | width="180" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="location" |
| | | label="实时位置" |
| | | prop="personInCharge" |
| | | label="责任人" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="company" |
| | | label="所属公司" |
| | | prop="issueTime" |
| | | label="发证日期" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | show-overflow-tooltip |
| | | prop="linkman" |
| | | label="负责人" |
| | | prop="validTime" |
| | | label="有效日期" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | prop="tel" |
| | | label="联系电话" |
| | | prop="issueUnit" |
| | | label="发证单位" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :key="curTableType" |
| | | prop="cardNumber" |
| | | label="用枪编号" |
| | | ></el-table-column> |
| | | </template> |
| | | </el-table> |
| | |
| | | :key="gridData.type" |
| | | prop="examinationMx" |
| | | label="审查明细" |
| | | :show-overflow-tooltip="true" |
| | | width="150" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | v-if="gridData.type === 'zg'" |
| | | :key="gridData.type" |
| | | prop="emails" |
| | | label="审查异常备注" |
| | | :show-overflow-tooltip="true" |
| | | width="150" |
| | | ></el-table-column> |
| | |
| | | seCountI, |
| | | selectExtypeUser, |
| | | qualificationPages, |
| | | xsbxPages, |
| | | selectCf, |
| | | selectCl, |
| | | selectYs, |
| | |
| | | selectWg, |
| | | punishList, |
| | | lazyTrees, |
| | | getSecurityUnitInfoPage |
| | | getSecurityUnitInfoPage, |
| | | getSelectPeo, |
| | | getSelectCar, |
| | | getSelectGun |
| | | } from "../../api/index/index"; |
| | | import { getPosition, getNewPeople } from "@/api/map/people"; |
| | | import { getNewPosition } from "@/api/map/car"; |
| | | import { getPeopleList, getPosition, getNewPeople } from "@/api/map/people"; |
| | | import { getCarList, getNewPosition } from "@/api/map/car"; |
| | | import { getGunList } from "@/api/map/gun"; |
| | | |
| | | import car from "@/assets/img/car.png"; |
| | | import peo from "@/assets/img/people.png"; |
| | |
| | | }, |
| | | methods: { |
| | | getPeoplePosition() { |
| | | getPosition({ type: 1, workerId: "1432897970143014913" }).then(result => { |
| | | getNewPeople().then(res => { |
| | | if (JSON.stringify(res.data) != "{}") { |
| | | var arr = res.data.sort(function(a, b) { |
| | | return a["date"] < b["date"] ? 1 : -1; |
| | | }); |
| | | getNewPeople({ type: 1, workerId: "1457916357495537665" }).then( |
| | | result => { |
| | | var res = result.data.data; |
| | | if (JSON.stringify(res) != "{}") { |
| | | var csGps = window.coordtransform.bd09togcj02( |
| | | Number(res.longitude), |
| | | Number(res.latitude) |
| | | ); |
| | | // var arr = res.data.sort(function(a, b) { |
| | | // return a["date"] < b["date"] ? 1 : -1; |
| | | // }); |
| | | this.peopleGps = { |
| | | LGTD: arr[0].gis_jd, |
| | | LTTD: arr[0].gis_wd |
| | | LGTD: csGps[0], |
| | | LTTD: csGps[1] |
| | | }; |
| | | } |
| | | this.getTableData(0); |
| | | }); |
| | | }); |
| | | this.getCarPosition(); |
| | | } |
| | | ); |
| | | }, |
| | | getCarPosition() { |
| | | getNewPosition({ imei: "861636056082414" }).then(result => { |
| | | getNewPosition({ type: 2, workerId: "赣AD77669" }).then(result => { |
| | | var res = result.data.data; |
| | | if (JSON.stringify(res) != "{}") { |
| | | this.carGps = { |
| | | LGTD: res.x, |
| | | LTTD: res.y |
| | | LGTD: Number(res.longitude), |
| | | LTTD: Number(res.latitude) |
| | | }; |
| | | } |
| | | this.getTableData(0); |
| | | this.getTableData(); |
| | | }); |
| | | }, |
| | | //点击节点 |
| | |
| | | if (type === 2) { |
| | | this.tableData.forEach(item => { |
| | | let obj = |
| | | "押运车辆车牌号" + |
| | | item.carNum + |
| | | ",当前位置" + |
| | | item.location + |
| | | ",所属公司" + |
| | | item.company + |
| | | ",联系人" + |
| | | item.linkman + |
| | | ",联系电话" + |
| | | item.tel; |
| | | "押运车辆型号" + |
| | | item.mode + |
| | | ",责任人" + |
| | | item.personInCharge + |
| | | ",出厂日期" + |
| | | item.dateForProduction + |
| | | ",厂商" + |
| | | item.detailObj; |
| | | this.textArr.push(obj); |
| | | }); |
| | | } else if (type === 1) { |
| | | this.tableData.forEach(item => { |
| | | let obj = |
| | | "押运人员" + |
| | | item.name + |
| | | ",当前位置" + |
| | | item.location + |
| | | item.realName + |
| | | ",联系地址" + |
| | | item.address + |
| | | ",所属公司" + |
| | | item.linkman + |
| | | item.deptName + |
| | | ",联系电话" + |
| | | item.tel; |
| | | item.phone; |
| | | this.textArr.push(obj); |
| | | }); |
| | | } else if (type === 3) { |
| | | this.tableData.forEach(item => { |
| | | let obj = |
| | | "枪支编号" + |
| | | item.number + |
| | | ",当前位置" + |
| | | item.location + |
| | | ",所属公司" + |
| | | item.company + |
| | | ",负责人" + |
| | | item.linkman + |
| | | ",联系电话" + |
| | | item.tel; |
| | | "枪支类型" + |
| | | item.gunMode + |
| | | ",责任人" + |
| | | item.personInCharge + |
| | | ",发证日期" + |
| | | item.issueTime + |
| | | ",有效日期" + |
| | | item.validTime + |
| | | ",发证单位" + |
| | | item.issueUnit + |
| | | ",用枪编号" + |
| | | item.cardNumber; |
| | | this.textArr.push(obj); |
| | | }); |
| | | } |
| | | }, |
| | | // 获取表格及地图上的数据 |
| | | getTableData(type) { |
| | | let middleData = { |
| | | getTableData() { |
| | | this.mapData = { |
| | | 1: { |
| | | table: [], |
| | | geoData: [] |
| | |
| | | geoData: [] |
| | | } |
| | | }; |
| | | getLiveLocationVoList({ type: type }).then(res => { |
| | | if (res.data.code === 200) { |
| | | let allData = res.data.data; |
| | | allData.forEach(m => { |
| | | let obj = { |
| | | location: m.location, |
| | | name: m.name, |
| | | number: m.number, |
| | | linkman: m.linkman, |
| | | company: m.company, |
| | | tel: m.tel, |
| | | carNum: m.carNum |
| | | }; |
| | | // 获取人员列表 |
| | | getSelectPeo({ type: 1, deptId: "1460129345988239362" }).then(res => { |
| | | var records = res.data.data; |
| | | records.forEach(m => { |
| | | let obj = { |
| | | address: m.address, |
| | | realName: m.real_name, |
| | | deptName: m.deptName, |
| | | phone: m.phone, |
| | | id: m.id |
| | | }; |
| | | this.mapData[1]["geoData"].push([ |
| | | Number(this.peopleGps.LGTD), |
| | | Number(this.peopleGps.LTTD) |
| | | ]); |
| | | this.mapData[1]["table"].push(obj); |
| | | }); |
| | | this.peoNum = this.mapData[1]["table"].length; |
| | | }); |
| | | |
| | | // let geoObj = { |
| | | // name: type, |
| | | // value: [Number(m.longitude), Number(m.latitude)], |
| | | // }; |
| | | if (m.type === 1) { |
| | | middleData[m.type]["geoData"].push([ |
| | | Number(this.peopleGps.LGTD), |
| | | Number(this.peopleGps.LTTD) |
| | | ]); |
| | | middleData[m.type]["table"].push(obj); |
| | | } else if (m.type === 2) { |
| | | middleData[m.type]["geoData"].push([ |
| | | Number(this.carGps.LGTD), |
| | | Number(this.carGps.LTTD) |
| | | ]); |
| | | middleData[m.type]["table"].push(obj); |
| | | } else { |
| | | middleData[m.type]["geoData"].push([ |
| | | Number(m.longitude), |
| | | Number(m.latitude) |
| | | ]); |
| | | middleData[m.type]["table"].push(obj); |
| | | } |
| | | // middleData[m.type]["geoData"].push([ |
| | | // Number(m.longitude), |
| | | // Number(m.latitude) |
| | | // ]); |
| | | // middleData[m.type]["table"].push(obj); |
| | | //获取车辆列表 |
| | | getSelectCar({ |
| | | type: 1, |
| | | deptId: "1460129345988239362" |
| | | }).then(res => { |
| | | var records = res.data.data; |
| | | records.forEach(m => { |
| | | let obj = { |
| | | mode: m.mode, |
| | | personInCharge: m.person_in_charge, |
| | | dateForProduction: m.date_for_production, |
| | | detailObj: m.brand, |
| | | // location: m.address, |
| | | // name: m.name, |
| | | // company: m.deptName, |
| | | // tel: m.phone, |
| | | id: m.id |
| | | }; |
| | | this.mapData[2]["geoData"].push([ |
| | | Number(this.carGps.LGTD), |
| | | Number(this.carGps.LTTD) |
| | | ]); |
| | | this.mapData[2]["table"].push(obj); |
| | | }); |
| | | this.carNum = this.mapData[2]["table"].length; |
| | | this.setMapData(2); |
| | | }); |
| | | |
| | | // 获取枪支列表 |
| | | getLiveLocationVoList({ |
| | | type: 3 |
| | | }).then(res => { |
| | | if (res.data.code === 200) { |
| | | let records = res.data.data; |
| | | records.forEach(m => { |
| | | let obj = { |
| | | gunMode: m.number, |
| | | personInCharge: m.linkman, |
| | | issueTime: m.issueTime, |
| | | validTime: m.validTime, |
| | | issueUnit: m.issueUnit, |
| | | cardNumber: m.gunNum, |
| | | id: m.id |
| | | }; |
| | | debugger |
| | | this.mapData[3]["geoData"].push([ |
| | | Number(m.longitude), |
| | | Number(m.latitude) |
| | | ]); |
| | | this.mapData[3]["table"].push(obj); |
| | | }); |
| | | this.carNum = middleData[2]["table"].length; |
| | | this.peoNum = middleData[1]["table"].length; |
| | | this.gunNum = middleData[3]["table"].length; |
| | | this.mapData = middleData; |
| | | this.setMapData(2); |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | this.gunNum = this.mapData[3]["table"].length; |
| | | } |
| | | }); |
| | | // getLiveLocationVoList({ type: type }).then(res => { |
| | | // if (res.data.code === 200) { |
| | | // let allData = res.data.data; |
| | | // allData.forEach(m => { |
| | | // let obj = { |
| | | // location: m.location, |
| | | // name: m.name, |
| | | // number: m.number, |
| | | // linkman: m.linkman, |
| | | // company: m.company, |
| | | // tel: m.tel, |
| | | // carNum: m.carNum |
| | | // }; |
| | | |
| | | // // let geoObj = { |
| | | // // name: type, |
| | | // // value: [Number(m.longitude), Number(m.latitude)], |
| | | // // }; |
| | | // // if (m.type === 1) { |
| | | // // middleData[m.type]["geoData"].push([ |
| | | // // Number(this.peopleGps.LGTD), |
| | | // // Number(this.peopleGps.LTTD) |
| | | // // ]); |
| | | // // middleData[m.type]["table"].push(obj); |
| | | // // } else if (m.type === 2) { |
| | | // // middleData[m.type]["geoData"].push([ |
| | | // // Number(this.carGps.LGTD), |
| | | // // Number(this.carGps.LTTD) |
| | | // // ]); |
| | | // // middleData[m.type]["table"].push(obj); |
| | | // // } else { |
| | | // // middleData[m.type]["geoData"].push([ |
| | | // // Number(m.longitude), |
| | | // // Number(m.latitude) |
| | | // // ]); |
| | | // // middleData[m.type]["table"].push(obj); |
| | | // // } |
| | | // middleData[m.type]["geoData"].push([ |
| | | // Number(m.longitude), |
| | | // Number(m.latitude) |
| | | // ]); |
| | | // middleData[m.type]["table"].push(obj); |
| | | // }); |
| | | // this.carNum = middleData[2]["table"].length; |
| | | // this.peoNum = middleData[1]["table"].length; |
| | | // this.gunNum = middleData[3]["table"].length; |
| | | // this.mapData = middleData; |
| | | // this.setMapData(2); |
| | | // } else { |
| | | // this.$message.error(res.msg); |
| | | // } |
| | | // }); |
| | | }, |
| | | |
| | | // 获取辖区列表 |
| | |
| | | this.getPunishList(1); |
| | | } else if (type === "xs") { |
| | | this.gridData.title = "现实表现差人员清单"; |
| | | this.getQualificationPages(1); |
| | | this.getXsbxPages(1); |
| | | } |
| | | }, |
| | | getWgTable() { |
| | |
| | | }); |
| | | }, |
| | | changePage(page) { |
| | | if (this.gridData.type === "zg" || this.gridData.type === "xs") { |
| | | if (this.gridData.type === "zg") { |
| | | this.getQualificationPages(page); |
| | | } else if (this.gridData.type === "wg") { |
| | | this.gridData.data = this.dialogTable.wgTable.slice( |
| | |
| | | this.getPunishList(page); |
| | | } else if (this.gridData.type === "ywdx_gs") { |
| | | this.showDialogTable(this.gridData.type); |
| | | } else if (this.gridData.type === "xs") { |
| | | this.getXsbxPages(page); |
| | | } |
| | | }, |
| | | // 现实表现差弹框 |
| | | getXsbxPages(page) { |
| | | this.gridData.current = page; |
| | | this.dialogloading = true; |
| | | this.gridData.data = []; |
| | | let types = this.poorPerformanceType.toString() |
| | | let params = { |
| | | current: this.gridData.current, |
| | | size: 10, |
| | | jurisdiction: this.value1, |
| | | type:types |
| | | }; |
| | | xsbxPages(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.gridData.data = res.data.data.records; |
| | | this.gridData.total = res.data.data.total; |
| | | } |
| | | this.dialogloading = false; |
| | | }); |
| | | }, |
| | | getQualificationPages(page) { |
| | | this.gridData.current = page; |
| | | this.dialogloading = true; |
| | | this.gridData.data = []; |
| | | let types = this.poorPerformanceType.toString(); |
| | | let params = { |
| | | current: this.gridData.current, |
| | | size: 10, |
| | | jurisdiction: this.value1 |
| | | jurisdiction: this.value1, |
| | | examinationType: 1, |
| | | types: types |
| | | }; |
| | | if (this.gridData.type === "zg") { |
| | | Object.assign(params, { examinationType: 1 }); |
| | | } else if (this.gridData.type === "xs") { |
| | | Object.assign(params, { score: 3 }); |
| | | } |
| | | qualificationPages(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.gridData.data = res.data.data.records; |
| | |
| | | }, |
| | | mounted() { |
| | | this.getPeoplePosition(); |
| | | this.getCarPosition(); |
| | | // this.getCarPosition(); |
| | | this.initEchart(); |
| | | this.getHolderNum(0); |
| | | // this.getPoorPerformance(3); |
| | |
| | | type: "category", |
| | | axisLabel: { |
| | | color: "#fff", |
| | | rotate: 40, |
| | | rotate: 40 |
| | | }, |
| | | data: nameArr |
| | | }, |
| | |
| | | name = "保安员名称"; |
| | | label = |
| | | "押运人员:" + |
| | | item.name + |
| | | "<br />当前位置:" + |
| | | item.location + |
| | | item.realName + |
| | | "<br />联系地址:" + |
| | | item.address + |
| | | "<br />所属公司:" + |
| | | item.linkman + |
| | | item.deptName + |
| | | "<br />联系电话:" + |
| | | item.tel; |
| | | item.phone; |
| | | symbolUrl = require("@/assets/img/people.png"); |
| | | obj = { |
| | | name: label, |
| | |
| | | } else if (type === 2) { |
| | | name = "押运车辆"; |
| | | label = |
| | | "押运车辆车牌号:" + |
| | | item.carNum + |
| | | "<br />当前位置:" + |
| | | item.location + |
| | | "<br />所属公司:" + |
| | | item.company + |
| | | "<br />联系人:" + |
| | | item.linkman + |
| | | "<br />联系电话:" + |
| | | item.tel; |
| | | "押运车辆型号:" + |
| | | item.mode + |
| | | "<br />责任人:" + |
| | | item.personInCharge + |
| | | "<br />出厂日期:" + |
| | | item.dateForProduction + |
| | | "<br />厂商:" + |
| | | item.detailObj; |
| | | symbolUrl = require("@/assets/img/car.png"); |
| | | obj = { |
| | | name: label, |
| | |
| | | } else if (type === 3) { |
| | | name = "枪支"; |
| | | label = |
| | | "枪支编号:" + |
| | | item.number + |
| | | "<br />当前位置:" + |
| | | item.location + |
| | | "<br />所属公司:" + |
| | | item.company + |
| | | "<br />负责人:" + |
| | | item.linkman + |
| | | "<br />联系电话:" + |
| | | item.tel; |
| | | "枪支类型:" + |
| | | item.gunMode + |
| | | "<br />责任人:" + |
| | | item.personInCharge + |
| | | "<br />发证日期:" + |
| | | item.issueTime + |
| | | "<br />有效日期:" + |
| | | item.validTime + |
| | | "<br />发证单位:" + |
| | | item.issueUnit + |
| | | "<br />用枪编号:" + |
| | | item.cardNumber; |
| | | symbolUrl = require("@/assets/img/gun.png"); |
| | | obj = { |
| | | name: label, |
| New file |
| | |
| | | <template> |
| | | <div> |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | | :page.sync="page" |
| | | :table-loading="loading" |
| | | @on-load="onLoad(page)" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @refresh-change="refreshChange" |
| | | > |
| | | </avue-crud> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getInformationLoginPage } from "@/api/loginRecord/loginRecord"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | securityid: "", |
| | | ExperienceVisible: false, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | | option: { |
| | | addBtn: false, |
| | | searchShowBtn: false, |
| | | columnBtn: false, |
| | | menu: false, |
| | | height: "auto", |
| | | widtd: "auto", |
| | | border: true, |
| | | stripe: true, |
| | | index: true, |
| | | align: "center", |
| | | column: [ |
| | | { |
| | | label: "登录时间", |
| | | prop: "releaseTimeRange", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | searchRange: true, |
| | | hide: true, |
| | | search: true, |
| | | searchSpan: 7, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入登录时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | disabled: true, |
| | | overHidden: true, |
| | | searchSpan: 5, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "所属辖区", |
| | | prop: "jurisdictionName", |
| | | type: "select", |
| | | dicData: [ |
| | | { |
| | | label: "男", |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "女", |
| | | value: 2, |
| | | }, |
| | | { |
| | | label: "未知", |
| | | value: 3, |
| | | }, |
| | | ], |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "企业属性", |
| | | prop: "stats", |
| | | display: false, |
| | | minWidth: 90, |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey", |
| | | }, |
| | | type: "select", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择企业属性", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "最近一次登录时间", |
| | | prop: "createTime", |
| | | minWidth: 100, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "登录次数", |
| | | prop: "num", |
| | | disabled: false, |
| | | }, |
| | | { |
| | | label: "是否有登录", |
| | | prop: "types", |
| | | search: true, |
| | | disabled: false, |
| | | searchLabelWidth:110, |
| | | type: "select", |
| | | searchSpan: 5, |
| | | hide:true, |
| | | dicData: [ |
| | | { |
| | | label: "全部", |
| | | value: 3, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 2, |
| | | }, |
| | | { |
| | | label: "否", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | | onLoad(page, params = {}) { |
| | | |
| | | const { releaseTimeRange } = this.query; |
| | | |
| | | let values = { |
| | | ...params, |
| | | }; |
| | | if (releaseTimeRange) { |
| | | values = { |
| | | ...params, |
| | | startTime: releaseTimeRange[0], |
| | | endTime: releaseTimeRange[1], |
| | | ...this.query, |
| | | }; |
| | | values.releaseTimeRange = null; |
| | | } |
| | | |
| | | getInformationLoginPage(page.currentPage, page.pageSize, values).then((res) => { |
| | | const data = res.data.data; |
| | | this.data = data.records; |
| | | this.page.total = data.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.refreshChange(); |
| | | done(); |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.page.currentPage = 1; |
| | | this.refreshChange(); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-25 15:24:53 |
| | | * @Last Modified time: 2021-11-30 17:32:40 |
| | | * menu-name 押运人员定位 |
| | | */ |
| | | <template> |
| | |
| | | </div> |
| | | </el-card> |
| | | |
| | | <el-dialog title="视频监控" |
| | | <el-dialog title="" |
| | | :modal='false' |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal='false' |
| | | @closed="videoClose" |
| | | class="car-video-box"> |
| | | <div class="container" |
| | | v-loading="videoLoading"> |
| | | <video id="videoElementOne" |
| | | controls="controls"></video> |
| | | <video id="videoElementTwo" |
| | | controls="controls"></video> |
| | | <video id="videoElementThree" |
| | | controls="controls"></video> |
| | | <video id="videoElementFour" |
| | | controls="controls"></video> |
| | | </div> |
| | | <iframe src="/carVideo/parent.html" |
| | | ref="videoIframe" |
| | | frameborder="0"></iframe> |
| | | </el-dialog> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getCarList, getPosition, getNewPosition, getTrack, getVideoSrc, getNewCarTark } from "@/api/map/car"; |
| | | import axios from 'axios'; |
| | | import { getCarList, getTrack, getNewPosition } from "@/api/map/car"; |
| | | |
| | | import carPng from "@/assets/img/car.png"; |
| | | |
| | | import flvjs from 'flv.js/dist/flv.min.js'; |
| | | |
| | | const d3 = require('d3-dsv'); |
| | | |
| | | export default { |
| | | data () { |
| | |
| | | detailObj: {}, |
| | | dialogVisible: false, |
| | | map: null, |
| | | videoLoading: true |
| | | }; |
| | | }, |
| | | created () { |
| | |
| | | }, |
| | | mounted () { |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | methods: { |
| | | getList () { |
| | | getCarList({ |
| | | current: this.page.currentPage, |
| | | size: this.page.pageSize, |
| | | type: 1 |
| | | }).then((res) => { |
| | | var data = res.data.data; |
| | | this.tableData = data.records; |
| | |
| | | }, |
| | | |
| | | positionClick (val) { |
| | | // console.log(val) |
| | | |
| | | getNewPosition({ imei: "861636056082414" }).then((result) => { |
| | | getNewPosition({ type: 2, workerId: val.carNumber }).then((result) => { |
| | | var res = result.data.data; |
| | | |
| | | console.log(res, 123) |
| | | if (JSON.stringify(res) != "{}") { |
| | | this.$refs.modalForm.addEntitys( |
| | | { |
| | | LGTD: res.x, |
| | | LTTD: res.y, |
| | | name: "车辆位置", |
| | | LGTD: Number(res.longitude), |
| | | LTTD: Number(res.latitude), |
| | | name: "枪支位置", |
| | | }, |
| | | carPng, |
| | | 0.8, |
| | |
| | | this.disposeTime(startTime.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(startTime.getSeconds()); |
| | | |
| | | const startTWO = |
| | | startTime.getFullYear() + '' + |
| | | this.disposeTime(startTime.getMonth() + 1) + '' + |
| | | this.disposeTime(startTime.getDate()); |
| | | |
| | | if (this.trackTime.length == 1) { |
| | | this.$message({ message: "请选择结束时间", duration: 2000 }); |
| | | return; |
| | |
| | | ":" + |
| | | this.disposeTime(endTime.getSeconds()); |
| | | |
| | | const endTWO = |
| | | endTime.getFullYear() + '' + |
| | | this.disposeTime(endTime.getMonth() + 1) + '' + |
| | | this.disposeTime(endTime.getDate()); |
| | | |
| | | getTrack({ |
| | | workerId: this.detailObj.id, |
| | | workerId: this.detailObj.carNumber, |
| | | type: 2, |
| | | startTime: start, |
| | | beginTime: start, |
| | | endTime: end, |
| | | }).then((res) => { |
| | | var result = res.data.data; |
| | | |
| | | getNewCarTark({ |
| | | beginTime: startTWO, |
| | | endTime: endTWO, |
| | | rectify: 0, |
| | | callbackId: 123 |
| | | }).then(res => { |
| | | axios.get('http://s16s652780.51mypc.cn/car/' + res.data.data).then(result => { |
| | | var ret = d3.csvParse(result.data) |
| | | |
| | | let arr = []; |
| | | ret.forEach((item, index) => { |
| | | if (index < ret.length - 1) { |
| | | arr.push([Number(item.x), Number(item.y)]); |
| | | } |
| | | |
| | | }) |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | }) |
| | | var array = result.sort(function (a, b) { |
| | | return a['record_time'] > b['record_time'] ? 1 : -1 |
| | | }) |
| | | // var result = res.data.data; |
| | | // if (result.length > 1) { |
| | | // let arr = []; |
| | | |
| | | // result.forEach((item) => { |
| | | // arr.push([Number(item.longitude), Number(item.latitude)]); |
| | | // }); |
| | | if (array.length > 1) { |
| | | let arr = []; |
| | | |
| | | // this.$refs.modalForm.addLines(arr); |
| | | // } |
| | | array.forEach((item) => { |
| | | arr.push([Number(item.longitude), Number(item.latitude)]); |
| | | }); |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | } |
| | | }); |
| | | }, |
| | | // 处理时间补零操作 |
| | |
| | | |
| | | if (cont != undefined) { |
| | | that.dialogVisible = true |
| | | var oneflag = false, twoflag = false, threefalse = false, fourfalse = false; |
| | | getVideoSrc({ camera: 0, action: 'start' }).then(res => { |
| | | oneflag = true; |
| | | if (twoflag == true && threefalse == true && fourfalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementOne') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | getVideoSrc({ camera: 1, action: 'start' }).then(res => { |
| | | twoflag = true; |
| | | if (oneflag == true && threefalse == true && fourfalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementTwo') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | getVideoSrc({ camera: 2, action: 'start' }).then(res => { |
| | | threefalse = true; |
| | | if (oneflag == true && twoflag == true && fourfalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementThree') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | getVideoSrc({ camera: 4, action: 'start' }).then(res => { |
| | | fourfalse = true; |
| | | if (oneflag == true && twoflag == true && threefalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementFour') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | setTimeout(() => { |
| | | that.$refs.videoIframe.contentWindow.startVideo() |
| | | }, 3000); |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | |
| | | videoClose () { |
| | | this.dialogVisible = false; |
| | | getVideoSrc({ camera: 0, action: 'stop' }) |
| | | |
| | | getVideoSrc({ camera: 1, action: 'stop' }) |
| | | |
| | | getVideoSrc({ camera: 2, action: 'stop' }) |
| | | |
| | | getVideoSrc({ camera: 4, action: 'stop' }) |
| | | }, |
| | | |
| | | dialogBeforeClose () { |
| | | this.dialogVisible = false |
| | | |
| | | this.$refs.videoIframe.contentWindow.closeVideo() |
| | | |
| | | } |
| | | |
| | | }, |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .car-video-box { |
| | | .container { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | video { |
| | | flex: 1; |
| | | width: 50%; |
| | | height: 50%; |
| | | object-fit: fill; |
| | | } |
| | | // #videoElementOne { |
| | | // position: absolute; |
| | | // top: 0; |
| | | // left: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | // #videoElementTwo { |
| | | // position: absolute; |
| | | // top: 0; |
| | | // right: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | // #videoElementThree { |
| | | // position: absolute; |
| | | // bottom: 0; |
| | | // left: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | // #videoElementFour { |
| | | // position: absolute; |
| | | // bottom: 0; |
| | | // right: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | } |
| | | } |
| | | </style> |
| File was renamed from src/views/map/carGps copy.vue |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-17 09:20:19 |
| | | * @Last Modified time: 2021-11-26 17:27:56 |
| | | * menu-name 押运人员定位 |
| | | */ |
| | | <template> |
| | |
| | | </div> |
| | | </el-card> |
| | | |
| | | <el-dialog title="" |
| | | <el-dialog title="视频监控" |
| | | :modal='false' |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal='false' |
| | | @closed="videoClose" |
| | | class="car-video-box"> |
| | | <iframe src="/carVideo/parent.html" |
| | | ref="videoIframe" |
| | | frameborder="0"></iframe> |
| | | <div class="container" |
| | | v-loading="videoLoading"> |
| | | <video id="videoElementOne" |
| | | controls="controls"></video> |
| | | <video id="videoElementTwo" |
| | | controls="controls"></video> |
| | | <video id="videoElementThree" |
| | | controls="controls"></video> |
| | | <video id="videoElementFour" |
| | | controls="controls"></video> |
| | | </div> |
| | | </el-dialog> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getCarList, getPosition, getTrack } from "@/api/map/car"; |
| | | import { getCarList, getPosition, getNewPosition, getTrack, getVideoSrc, getNewCarTark } from "@/api/map/car"; |
| | | import axios from 'axios'; |
| | | |
| | | import carPng from "@/assets/img/car.png"; |
| | | |
| | | import flvjs from 'flv.js/dist/flv.min.js'; |
| | | |
| | | const d3 = require('d3-dsv'); |
| | | |
| | | export default { |
| | | data () { |
| | |
| | | detailObj: {}, |
| | | dialogVisible: false, |
| | | map: null, |
| | | videoLoading: true |
| | | }; |
| | | }, |
| | | created () { |
| | | this.getList(); |
| | | }, |
| | | mounted () { |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | |
| | | positionClick (val) { |
| | | getPosition({ type: 2, workerId: val.id }).then((result) => { |
| | | // console.log(val) |
| | | |
| | | getNewPosition({ imei: "861636056082414" }).then((result) => { |
| | | var res = result.data.data; |
| | | |
| | | if (JSON.stringify(res) != "{}") { |
| | | this.$refs.modalForm.addEntitys( |
| | | { |
| | | LGTD: 115.86, |
| | | LTTD: 28.71, |
| | | name: "枪支位置", |
| | | LGTD: res.x, |
| | | LTTD: res.y, |
| | | name: "车辆位置", |
| | | }, |
| | | carPng, |
| | | 0.8, |
| | |
| | | this.disposeTime(startTime.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(startTime.getSeconds()); |
| | | |
| | | const startTWO = |
| | | startTime.getFullYear() + '' + |
| | | this.disposeTime(startTime.getMonth() + 1) + '' + |
| | | this.disposeTime(startTime.getDate()); |
| | | |
| | | if (this.trackTime.length == 1) { |
| | | this.$message({ message: "请选择结束时间", duration: 2000 }); |
| | | return; |
| | |
| | | ":" + |
| | | this.disposeTime(endTime.getSeconds()); |
| | | |
| | | const endTWO = |
| | | endTime.getFullYear() + '' + |
| | | this.disposeTime(endTime.getMonth() + 1) + '' + |
| | | this.disposeTime(endTime.getDate()); |
| | | |
| | | getTrack({ |
| | | workerId: this.detailObj.id, |
| | | type: 2, |
| | | startTime: start, |
| | | endTime: end, |
| | | }).then((res) => { |
| | | var result = res.data.data; |
| | | if (result.length > 1) { |
| | | let arr = []; |
| | | |
| | | result.forEach((item) => { |
| | | arr.push([Number(item.longitude), Number(item.latitude)]); |
| | | }); |
| | | getNewCarTark({ |
| | | beginTime: startTWO, |
| | | endTime: endTWO, |
| | | rectify: 0, |
| | | callbackId: 123 |
| | | }).then(res => { |
| | | axios.get('http://s16s652780.51mypc.cn/car/' + res.data.data).then(result => { |
| | | var ret = d3.csvParse(result.data) |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | } |
| | | let arr = []; |
| | | ret.forEach((item, index) => { |
| | | if (index < ret.length - 1) { |
| | | arr.push([Number(item.x), Number(item.y)]); |
| | | } |
| | | |
| | | }) |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | }) |
| | | }) |
| | | // var result = res.data.data; |
| | | // if (result.length > 1) { |
| | | // let arr = []; |
| | | |
| | | // result.forEach((item) => { |
| | | // arr.push([Number(item.longitude), Number(item.latitude)]); |
| | | // }); |
| | | |
| | | // this.$refs.modalForm.addLines(arr); |
| | | // } |
| | | }); |
| | | }, |
| | | // 处理时间补零操作 |
| | |
| | | |
| | | if (cont != undefined) { |
| | | that.dialogVisible = true |
| | | var oneflag = false, twoflag = false, threefalse = false, fourfalse = false; |
| | | getVideoSrc({ camera: 0, action: 'start' }).then(res => { |
| | | oneflag = true; |
| | | if (twoflag == true && threefalse == true && fourfalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementOne') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | setTimeout(() =>{ |
| | | that.$refs.videoIframe.contentWindow.startVideo() |
| | | },3000); |
| | | getVideoSrc({ camera: 1, action: 'start' }).then(res => { |
| | | twoflag = true; |
| | | if (oneflag == true && threefalse == true && fourfalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementTwo') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | getVideoSrc({ camera: 2, action: 'start' }).then(res => { |
| | | threefalse = true; |
| | | if (oneflag == true && twoflag == true && fourfalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementThree') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | getVideoSrc({ camera: 4, action: 'start' }).then(res => { |
| | | fourfalse = true; |
| | | if (oneflag == true && twoflag == true && threefalse == true) { |
| | | that.videoLoading = false; |
| | | } |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElementFour') |
| | | var flvPlayer = flvjs.createPlayer({ |
| | | // isLive: true, |
| | | // hasAudio: false, |
| | | type: 'flv', |
| | | url: res.data.data.live_url |
| | | }) |
| | | flvPlayer.attachMediaElement(videoElement) |
| | | flvPlayer.load() |
| | | flvPlayer.play() |
| | | } |
| | | }) |
| | | |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | |
| | | dialogBeforeClose() { |
| | | this.dialogVisible = false |
| | | videoClose () { |
| | | this.dialogVisible = false; |
| | | getVideoSrc({ camera: 0, action: 'stop' }) |
| | | |
| | | this.$refs.videoIframe.contentWindow.closeVideo() |
| | | getVideoSrc({ camera: 1, action: 'stop' }) |
| | | |
| | | getVideoSrc({ camera: 2, action: 'stop' }) |
| | | |
| | | getVideoSrc({ camera: 4, action: 'stop' }) |
| | | }, |
| | | |
| | | dialogBeforeClose () { |
| | | this.dialogVisible = false |
| | | } |
| | | |
| | | }, |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .car-video-box { |
| | | .container { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | video { |
| | | flex: 1; |
| | | width: 50%; |
| | | height: 50%; |
| | | object-fit: fill; |
| | | } |
| | | // #videoElementOne { |
| | | // position: absolute; |
| | | // top: 0; |
| | | // left: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | // #videoElementTwo { |
| | | // position: absolute; |
| | | // top: 0; |
| | | // right: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | // #videoElementThree { |
| | | // position: absolute; |
| | | // bottom: 0; |
| | | // left: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | // #videoElementFour { |
| | | // position: absolute; |
| | | // bottom: 0; |
| | | // right: 0; |
| | | // width: 50%; |
| | | // height: 50%; |
| | | // } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-17 09:21:20 |
| | | * @Last Modified time: 2021-12-02 17:48:21 |
| | | * menu-name 押运人员定位 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-map-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="card-body"> |
| | | <div> |
| | | <Map ref="modalForm" /> |
| | | </div> |
| | | <div> |
| | | <div class="data-table map-people-table" v-show="!detailFlag"> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | v-loading="loading" |
| | | > |
| | | <el-table-column |
| | | align="center" |
| | | prop="gunMode" |
| | | label="枪支类型" |
| | | width="136" |
| | | > |
| | | </el-table-column> |
| | | <el-row class="morpheus-map-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="card-body"> |
| | | <div> |
| | | <Map ref="modalForm" /> |
| | | </div> |
| | | <div> |
| | | <div class="data-table map-people-table" |
| | | v-show="!detailFlag"> |
| | | <el-table :data="tableData" |
| | | style="width: 100%" |
| | | v-loading="loading"> |
| | | <el-table-column align="center" |
| | | prop="gunMode" |
| | | label="枪支型号" |
| | | width="136"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | align="center" |
| | | prop="personInCharge" |
| | | label="责任人" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="gunCardNumber" |
| | | label="枪号"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" width="136" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="positionClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button |
| | | @click="detailsClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div ref="tablePagination"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | background |
| | | :page-sizes="[10, 30, 50, 100]" |
| | | layout="sizes, prev, pager, next" |
| | | :current-page="page.currentPage" |
| | | :page-size="page.pageSize" |
| | | :pager-count="3" |
| | | :total="page.total" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <div class="track-box" v-show="detailFlag"> |
| | | <div> |
| | | <el-button @click="goOut" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-back"></i> |
| | | </el-button> |
| | | <el-table-column label="操作" |
| | | width="136" |
| | | align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="positionClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="detailsClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div ref="tablePagination"> |
| | | <el-pagination @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | background |
| | | :page-sizes="[10, 30, 50, 100]" |
| | | layout="sizes, prev, pager, next" |
| | | :current-page="page.currentPage" |
| | | :page-size="page.pageSize" |
| | | :pager-count="3" |
| | | :total="page.total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <div class="track-box" |
| | | v-show="detailFlag"> |
| | | <div> |
| | | <el-button @click="goOut" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹"> |
| | | <i class="el-icon-back"></i> |
| | | </el-button> |
| | | |
| | | 详细资料及轨迹查询 |
| | | </div> |
| | | <ul> |
| | | <li> |
| | | <div>枪支类型:</div> |
| | | <div>{{ detailObj.gunMode }}</div> |
| | | </li> |
| | | 详细资料及轨迹查询 |
| | | </div> |
| | | <ul> |
| | | <li> |
| | | <div>枪支类型:</div> |
| | | <div>{{ detailObj.gunMode }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>责任人:</div> |
| | | <div>{{ detailObj.personInCharge }}</div> |
| | | </li> |
| | | <li> |
| | | <div>枪号:</div> |
| | | <div>{{ detailObj.gunCardNumber }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>发证日期:</div> |
| | | <div>{{ detailObj.issueTime }}</div> |
| | | </li> |
| | | <li> |
| | | <div>护卫员:</div> |
| | | <div>{{ detailObj.personInCharge }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>有效日期:</div> |
| | | <div>{{ detailObj.validTime }}</div> |
| | | </li> |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker v-model="trackTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>发证单位:</div> |
| | | <div>{{ detailObj.issueUnit }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>用枪编号:</div> |
| | | <div>{{ detailObj.cardNumber }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker |
| | | v-model="trackTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | | <li> |
| | | <el-button type="text" @click="lookTrack"> |
| | | 查看轨迹 |
| | | </el-button> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <li> |
| | | <el-button type="text" |
| | | @click="lookTrack"> |
| | | 查看轨迹 |
| | | </el-button> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getGunList, getPosition, getTrack } from "@/api/map/gun"; |
| | | import { getGunList, getTrack } from "@/api/map/gun"; |
| | | |
| | | import gunPng from "@/assets/img/gun.png"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | tableData: [], |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | detailFlag: false, |
| | | loading: true, |
| | | trackTime: [], |
| | | detailObj: {}, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | getList() { |
| | | getGunList({ |
| | | current: this.page.currentPage, |
| | | size: this.page.pageSize, |
| | | }).then((res) => { |
| | | var data = res.data.data; |
| | | this.tableData = data.records; |
| | | this.page.total = data.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.page.pageSize = val; |
| | | this.loading = true; |
| | | this.getList(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.page.currentPage = val; |
| | | this.loading = true; |
| | | this.getList(); |
| | | }, |
| | | |
| | | positionClick(val) { |
| | | getPosition({ type: 3, workerId: val.id }).then((result) => { |
| | | var res = result.data.data; |
| | | if (JSON.stringify(res) != "{}") { |
| | | this.$refs.modalForm.addEntitys( |
| | | { |
| | | LGTD: 115.86, |
| | | LTTD: 28.71, |
| | | name: "枪支位置", |
| | | data () { |
| | | return { |
| | | tableData: [], |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | gunPng, |
| | | 0.8, |
| | | "gunlayer", |
| | | "gunAddlayer" |
| | | ); |
| | | } |
| | | }); |
| | | detailFlag: false, |
| | | loading: true, |
| | | trackTime: [], |
| | | detailObj: {}, |
| | | }; |
| | | }, |
| | | |
| | | detailsClick(row) { |
| | | this.detailFlag = true; |
| | | this.detailObj = { |
| | | gunMode: row.gunMode, |
| | | personInCharge: row.personInCharge, |
| | | issueTime: row.issueTime, |
| | | validTime: row.validTime, |
| | | issueUnit: row.issueUnit, |
| | | cardNumber: row.cardNumber, |
| | | id: row.id, |
| | | }; |
| | | created () { |
| | | this.getList(); |
| | | }, |
| | | mounted () { }, |
| | | methods: { |
| | | getList () { |
| | | getGunList({ |
| | | current: this.page.currentPage, |
| | | size: this.page.pageSize, |
| | | }).then((res) => { |
| | | var data = res.data.data; |
| | | this.tableData = data.records; |
| | | this.page.total = data.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | handleSizeChange (val) { |
| | | this.page.pageSize = val; |
| | | this.loading = true; |
| | | this.getList(); |
| | | }, |
| | | handleCurrentChange (val) { |
| | | this.page.currentPage = val; |
| | | this.loading = true; |
| | | this.getList(); |
| | | }, |
| | | |
| | | lookTrack() { |
| | | if (this.trackTime.length == 0) { |
| | | this.$message({ message: "请选择开始时间", duration: 2000 }); |
| | | return; |
| | | } |
| | | const startTime = new Date(this.trackTime[0]); |
| | | const start = |
| | | startTime.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(startTime.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(startTime.getDate()) + |
| | | " " + |
| | | this.disposeTime(startTime.getHours()) + |
| | | ":" + |
| | | this.disposeTime(startTime.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(startTime.getSeconds()); |
| | | if (this.trackTime.length == 1) { |
| | | this.$message({ message: "请选择结束时间", duration: 2000 }); |
| | | return; |
| | | } |
| | | const endTime = new Date(this.trackTime[1]); |
| | | const end = |
| | | endTime.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(endTime.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(endTime.getDate()) + |
| | | " " + |
| | | this.disposeTime(endTime.getHours()) + |
| | | ":" + |
| | | this.disposeTime(endTime.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(endTime.getSeconds()); |
| | | positionClick (val) { |
| | | var timestamp = Date.parse(new Date()); |
| | | |
| | | getTrack({ |
| | | workerId: this.detailObj.id, |
| | | type: 3, |
| | | startTime: start, |
| | | endTime: end, |
| | | }).then((res) => { |
| | | var result = res.data.data; |
| | | if (result.length > 1) { |
| | | let arr = []; |
| | | var serverDate = new Date(timestamp); |
| | | |
| | | result.forEach((item) => { |
| | | arr.push([Number(item.longitude), Number(item.latitude)]); |
| | | }); |
| | | const start = |
| | | (serverDate.getFullYear() - 5) + |
| | | "-" + |
| | | this.disposeTime(serverDate.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(serverDate.getDate()) + |
| | | " " + |
| | | this.disposeTime(serverDate.getHours()) + |
| | | ":" + |
| | | this.disposeTime(serverDate.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(serverDate.getSeconds()); |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | } |
| | | }); |
| | | |
| | | const end = |
| | | serverDate.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(serverDate.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(serverDate.getDate()) + |
| | | " " + |
| | | this.disposeTime(serverDate.getHours()) + |
| | | ":" + |
| | | this.disposeTime(serverDate.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(serverDate.getSeconds()); |
| | | |
| | | |
| | | getTrack({ |
| | | idCardNo: val.cardNo, |
| | | startTime: "2020-05-02", |
| | | endTime: "2020-05-03", |
| | | }).then((res) => { |
| | | |
| | | var result = res.data.data.res; |
| | | |
| | | if (JSON.stringify(result) != "{}") { |
| | | var array = result.sort(function (a, b) { |
| | | return a['dwsj'] < b['dwsj'] ? 1 : -1 |
| | | }) |
| | | |
| | | this.$refs.modalForm.addEntitys( |
| | | { |
| | | LGTD: Number(array[0].dwjd), |
| | | LTTD: Number(array[0].dwwd), |
| | | name: "枪支位置", |
| | | }, |
| | | gunPng, |
| | | 0.8, |
| | | "gunlayer", |
| | | "gunAddlayer" |
| | | ); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | detailsClick (row) { |
| | | this.detailFlag = true; |
| | | this.detailObj = { |
| | | gunMode: row.gunMode, |
| | | personInCharge: row.personInCharge, |
| | | issueTime: row.issueTime, |
| | | validTime: row.validTime, |
| | | issueUnit: row.issueUnit, |
| | | cardNumber: row.cardNumber, |
| | | id: row.id, |
| | | }; |
| | | }, |
| | | |
| | | lookTrack () { |
| | | if (this.trackTime.length == 0) { |
| | | this.$message({ message: "请选择开始时间", duration: 2000 }); |
| | | return; |
| | | } |
| | | const startTime = new Date(this.trackTime[0]); |
| | | const start = |
| | | startTime.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(startTime.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(startTime.getDate()); |
| | | if (this.trackTime.length == 1) { |
| | | this.$message({ message: "请选择结束时间", duration: 2000 }); |
| | | return; |
| | | } |
| | | const endTime = new Date(this.trackTime[1]); |
| | | const end = |
| | | endTime.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(endTime.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(endTime.getDate()); |
| | | |
| | | getTrack({ |
| | | idCardNo: this.detailObj.cardNo, |
| | | startTime: start, |
| | | endTime: end, |
| | | }).then((res) => { |
| | | var result = res.data.data.res; |
| | | if (result.length > 1) { |
| | | let arr = []; |
| | | |
| | | var array = result.sort(function (a, b) { |
| | | return a['dwsj'] > b['dwsj'] ? 1 : -1 |
| | | }) |
| | | |
| | | array.forEach((item) => { |
| | | arr.push([Number(item.dwjd), Number(item.dwwd)]); |
| | | }); |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | // 处理时间补零操作 |
| | | disposeTime (s) { |
| | | return s < 10 ? "0" + s : s; |
| | | }, |
| | | |
| | | goOut () { |
| | | this.detailFlag = !this.detailFlag; |
| | | this.$refs.modalForm.clearLine(); |
| | | this.trackTime = []; |
| | | }, |
| | | }, |
| | | // 处理时间补零操作 |
| | | disposeTime(s) { |
| | | return s < 10 ? "0" + s : s; |
| | | destroyed () { |
| | | window.ol2d.removeLayer(this.peopleAddlayer); |
| | | }, |
| | | |
| | | goOut() { |
| | | this.detailFlag = !this.detailFlag; |
| | | this.$refs.modalForm.clearLine(); |
| | | this.trackTime = []; |
| | | }, |
| | | }, |
| | | destroyed() { |
| | | window.ol2d.removeLayer(this.peopleAddlayer); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .data-table { |
| | | border: 1px solid transparent !important; |
| | | box-shadow: 3px 3px 15px -2px rgb(0, 0, 0) !important; |
| | | border: 1px solid transparent !important; |
| | | box-shadow: 3px 3px 15px -2px rgb(0, 0, 0) !important; |
| | | } |
| | | .card-body { |
| | | display: flex; |
| | | & > div:first-child { |
| | | flex: 8; |
| | | } |
| | | |
| | | & > div:last-child { |
| | | position: relative; |
| | | |
| | | flex: 3; |
| | | & > div { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | & > .el-table { |
| | | height: calc(100% - 34px); |
| | | } |
| | | display: flex; |
| | | & > div:first-child { |
| | | flex: 8; |
| | | } |
| | | |
| | | .track-box { |
| | | & > div { |
| | | & > div:last-child { |
| | | position: relative; |
| | | height: 42px; |
| | | line-height: 42px; |
| | | text-align: center; |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | .el-button { |
| | | padding: 0 !important; |
| | | position: absolute; |
| | | top: 4px; |
| | | left: 4px; |
| | | width: 42px; |
| | | height: 28px; |
| | | line-height: 28px; |
| | | } |
| | | } |
| | | ul { |
| | | margin: 0; |
| | | padding: 0px; |
| | | } |
| | | li { |
| | | margin: 0; |
| | | padding: 0 4px; |
| | | list-style: none; |
| | | height: 42px; |
| | | line-height: 42px; |
| | | display: flex; |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | |
| | | flex: 3; |
| | | & > div { |
| | | text-align: center; |
| | | } |
| | | & > div:first-child { |
| | | flex: 2; |
| | | } |
| | | & > div:last-child { |
| | | flex: 6; |
| | | & > div { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | } |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | li:last-child { |
| | | text-align: center; |
| | | position: relative; |
| | | .el-button { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | margin: auto; |
| | | padding: 0 !important; |
| | | width: 68px; |
| | | height: 32px; |
| | | line-height: 32px; |
| | | & > .el-table { |
| | | height: calc(100% - 34px); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .track-box { |
| | | & > div { |
| | | position: relative; |
| | | height: 42px; |
| | | line-height: 42px; |
| | | text-align: center; |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | .el-button { |
| | | padding: 0 !important; |
| | | position: absolute; |
| | | top: 4px; |
| | | left: 4px; |
| | | width: 42px; |
| | | height: 28px; |
| | | line-height: 28px; |
| | | } |
| | | } |
| | | ul { |
| | | margin: 0; |
| | | padding: 0px; |
| | | } |
| | | li { |
| | | margin: 0; |
| | | padding: 0 4px; |
| | | list-style: none; |
| | | height: 42px; |
| | | line-height: 42px; |
| | | display: flex; |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | & > div { |
| | | text-align: center; |
| | | } |
| | | & > div:first-child { |
| | | flex: 2; |
| | | } |
| | | & > div:last-child { |
| | | flex: 6; |
| | | & > div { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | li:last-child { |
| | | text-align: center; |
| | | position: relative; |
| | | .el-button { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | margin: auto; |
| | | padding: 0 !important; |
| | | width: 68px; |
| | | height: 32px; |
| | | line-height: 32px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-25 13:48:23 |
| | | * @Last Modified time: 2021-11-30 17:12:19 |
| | | * menu-name 押运人员定位 |
| | | */ |
| | | <template> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPeopleList, getPosition, getTrack, getNewPeople, getNewTark } from "@/api/map/people"; |
| | | import { getPeopleList, getTrack, getNewPeople } from "@/api/map/people"; |
| | | |
| | | import peoplePng from "@/assets/img/people.png"; |
| | | export default { |
| | |
| | | getPeopleList({ |
| | | current: this.page.currentPage, |
| | | size: this.page.pageSize, |
| | | deptId: '1460129345988239362', |
| | | type: 1 |
| | | }).then((res) => { |
| | | var data = res.data.data; |
| | | |
| | |
| | | }, |
| | | |
| | | positionClick (val) { |
| | | getPosition({ type: 1, workerId: val.id }).then((result) => { |
| | | |
| | | getNewPeople().then(res => { |
| | | |
| | | if (JSON.stringify(res.data) != "{}") { |
| | | var arr = res.data.sort(function (a, b) { |
| | | return a['date'] < b['date'] ? 1 : -1 |
| | | }) |
| | | |
| | | this.$refs.modalForm.addEntitys( |
| | | { |
| | | LGTD: arr[0].gis_jd, |
| | | LTTD: arr[0].gis_wd, |
| | | name: "人员位置", |
| | | }, |
| | | peoplePng, |
| | | 0.5, |
| | | "peoplelayer", |
| | | "peopleAddlayer" |
| | | ); |
| | | } |
| | | }) |
| | | |
| | | |
| | | // var res = result.data.data; |
| | | // if (JSON.stringify(res) != "{}") { |
| | | // this.$refs.modalForm.addEntitys( |
| | | // { |
| | | // LGTD: res.longitude, |
| | | // LTTD: res.latitude, |
| | | // name: "人员位置", |
| | | // }, |
| | | // peoplePng, |
| | | // 0.5, |
| | | // "peoplelayer", |
| | | // "peopleAddlayer" |
| | | // ); |
| | | // } |
| | | |
| | | getNewPeople({ type: 1, workerId: val.id }).then((result) => { |
| | | var res = result.data.data; |
| | | if (JSON.stringify(res) != "{}") { |
| | | var csGps = window.coordtransform.bd09togcj02(Number(res.longitude), Number(res.latitude)); |
| | | this.$refs.modalForm.addEntitys( |
| | | { |
| | | LGTD: csGps[0], |
| | | LTTD: csGps[1], |
| | | name: "人员位置", |
| | | }, |
| | | peoplePng, |
| | | 0.5, |
| | | "peoplelayer", |
| | | "peopleAddlayer" |
| | | ); |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | |
| | | detailsClick (row) { |
| | |
| | | getTrack({ |
| | | workerId: this.detailObj.id, |
| | | type: 1, |
| | | startTime: start, |
| | | beginTime: start, |
| | | endTime: end, |
| | | }).then((result) => { |
| | | }).then((res) => { |
| | | var result = res.data.data; |
| | | |
| | | getNewTark().then(res => { |
| | | |
| | | if (JSON.stringify(res.data.track) != "{}") { |
| | | |
| | | if (res.data.track.length > 1) { |
| | | let arr = []; |
| | | |
| | | res.data.track.forEach((item) => { |
| | | arr.push([Number(item.gis_jd), Number(item.gis_wd)]); |
| | | }); |
| | | |
| | | this.$refs.modalForm.addLines(arr); |
| | | } |
| | | |
| | | } |
| | | |
| | | var array = result.sort(function (a, b) { |
| | | return a['record_time'] > b['record_time'] ? 1 : -1 |
| | | }) |
| | | |
| | | // var result = res.data.data; |
| | | // if (result.length > 1) { |
| | | // let arr = []; |
| | | if (array.length > 1) { |
| | | let arr = []; |
| | | |
| | | // result.forEach((item) => { |
| | | // arr.push([Number(item.longitude), Number(item.latitude)]); |
| | | // }); |
| | | array.forEach((item) => { |
| | | var csGps = window.coordtransform.bd09togcj02(Number(item.longitude), Number(item.latitude)); |
| | | arr.push([csGps[0], csGps[1]]); |
| | | }); |
| | | |
| | | // this.$refs.modalForm.addLines(arr); |
| | | // } |
| | | this.$refs.modalForm.addLines(arr); |
| | | } |
| | | }); |
| | | }, |
| | | // 处理时间补零操作 |
| | |
| | | remove, |
| | | } from "@/api/onSiteInspection/company"; |
| | | import { mapGetters } from "vuex"; |
| | | // import { datasing } from "@api/qualificationExamination/datasignQualificationExamination"; |
| | | import { datasing } from "./company"; |
| | | import { getToken } from "@/util/auth"; |
| | | import Qs from "qs"; |
| | | |
| | | export default { |
| | |
| | | jurisdiction: this.userInfo.jurisdiction, |
| | | }; |
| | | //导出 |
| | | // if ( |
| | | // this.userInfo.role_name == "保安公司管理员" || |
| | | // this.userInfo.role_name == "保安" |
| | | // ) { |
| | | // //如果是保安公司管理员 |
| | | // data["deptId"] = this.userInfo.dept_id; |
| | | // } |
| | | // if (this.userInfo.role_name == "培训公司管理员") { |
| | | // //如果是培训公司管理员 |
| | | // data["trainUnitId"] = this.userInfo.dept_id; |
| | | // } |
| | | // data["examType"] = 2; |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open(`/api/coinspect/export-coinspect?` + data); |
| | | }) |
| | | .catch((action) => { |
| | | // this.$message({ |
| | | // type: 'info', |
| | | // message: action === 'cancel' |
| | | // ? '放弃保存并离开页面' |
| | | // : '停留在当前页面' |
| | | // }) |
| | | window.open(`/api/coinspect/export-coinspect?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data); |
| | | }); |
| | | }, |
| | | getStartTime() { |
| | |
| | | var DIC = [ |
| | | { |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC1 = [ |
| | | { |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC = [{ |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | }] |
| | | var DIC1 = [{ |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | }] |
| | | |
| | | var w = 160 |
| | | , s = 12; |
| | | export var column = [ |
| | | { |
| | | var w = 160, |
| | | s = 12; |
| | | export var column = [{ |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | |
| | | // addDisplay: false |
| | | }, |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | // addDisplay: true, |
| | |
| | | // trigger: "blur" |
| | | // }], |
| | | }, |
| | | ] |
| | | ] |
| | |
| | | remove, |
| | | } from "@/api/onSiteInspection/securityStaff"; |
| | | import { mapGetters } from "vuex"; |
| | | import { datasing } from "./securityStaffdata"; |
| | | import { getToken } from "@/util/auth"; |
| | | import Qs from "qs"; |
| | | |
| | | export default { |
| | |
| | | jurisdiction: this.userInfo.jurisdiction, |
| | | }; |
| | | //导出 |
| | | // if ( |
| | | // this.userInfo.role_name == "保安公司管理员" || |
| | | // this.userInfo.role_name == "保安" |
| | | // ) { |
| | | // //如果是保安公司管理员 |
| | | // data["deptId"] = this.userInfo.dept_id; |
| | | // } |
| | | // if (this.userInfo.role_name == "培训公司管理员") { |
| | | // //如果是培训公司管理员 |
| | | // data["trainUnitId"] = this.userInfo.dept_id; |
| | | // } |
| | | // data["examType"] = 2; |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open(`/api/seinspect/export-seinspect?` + data); |
| | | window.open(`/api/seinspect/export-seinspect?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data); |
| | | }) |
| | | .catch((action) => { |
| | | // this.$message({ |
| | | // type: 'info', |
| | | // message: action === 'cancel' |
| | | // ? '放弃保存并离开页面' |
| | | // : '停留在当前页面' |
| | | // }) |
| | | }); |
| | | }, |
| | | getStartTime() { |
| | | if ( |
| | |
| | | var DIC = [ |
| | | { |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC1 = [ |
| | | { |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC = [{ |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | }] |
| | | var DIC1 = [{ |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | }] |
| | | |
| | | var w = 160 |
| | | , s = 12; |
| | | export var column = [ |
| | | { |
| | | var w = 160, |
| | | s = 12; |
| | | export var column = [{ |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | |
| | | // addDisplay: false |
| | | }, |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | // addDisplay: true, |
| | |
| | | // trigger: "blur" |
| | | // }], |
| | | }, |
| | | ] |
| | | ] |
| | |
| | | // overHidden: true, |
| | | // }, |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | // width: 70, |
| | | // search: true, |
| | |
| | | // remove, |
| | | // } from "@/api/regulatoryInformation/regulatoryInformation"; |
| | | import { mapGetters } from "vuex"; |
| | | import { datasing } from "./dataqualificationExamination"; |
| | | // import { getList } from "@/api/qualificationExamination/qualificationExamination"; |
| | | import { getLisperexamScore } from "@/api/qualificationExamination/scoreInquiry"; |
| | | import Qs from "qs"; |
| | | import { getToken } from "@/util/auth"; |
| | | import { getLisperexamScore } from "@/api/qualificationExamination/scoreInquiry"; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | prop: "examName", |
| | | search: true, |
| | | searchSpan: 5, |
| | | // slot: true, |
| | | // display: false, |
| | | minWidth: 150, |
| | | }, |
| | | { |
| | | // label: "考试开始时间", |
| | |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | // slot: true, |
| | | // display: false, |
| | | // formatter: function (row, value) { |
| | | // return (value = value + "%"); |
| | | // }, |
| | | }, |
| | | // { |
| | | // label: "考试结束时间", |
| | |
| | | // // formatter: function (row, value) { |
| | | // // return (value = value + "万元"); |
| | | // // }, |
| | | // }, |
| | | // { |
| | | // label: "考试类型", |
| | | // prop: "examinationaddress", |
| | | // // slot: true, |
| | | // // display: false, |
| | | // }, |
| | | { |
| | | label: "理论成绩", |
| | |
| | | value: 3, |
| | | }, |
| | | ], |
| | | // slot: true, |
| | | // display: false, |
| | | }, |
| | | { |
| | | label: "是否发证", |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | data: [ |
| | | // { |
| | | // deptid: "江西众泰保安公司", |
| | | // punishtype: 2, |
| | | // punishreason: "非法施工", |
| | | // punishresult: "没收全部非法所得财产,并罚款3W元", |
| | | // punishtime: "2021-01-01", |
| | | // punisnum: 110110110120, |
| | | // }, |
| | | ], |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }) |
| | | .then(() => { |
| | | //获取查询条件 |
| | | // console.log(this.userInfo, 456); |
| | | // console.log(this.query, 456); |
| | | // return; |
| | | var data = { |
| | | startTime: this.query.startTime, |
| | | endTime: this.query.endTime, |
| | |
| | | jurisdiction: this.userInfo.jurisdiction, |
| | | }; |
| | | //导出 |
| | | // if ( |
| | | // this.userInfo.role_name == "保安公司管理员" || |
| | | // this.userInfo.role_name == "保安" |
| | | // ) { |
| | | // //如果是保安公司管理员 |
| | | // data["deptId"] = this.userInfo.dept_id; |
| | | // } |
| | | // if (this.userInfo.role_name == "培训公司管理员") { |
| | | // //如果是培训公司管理员 |
| | | // data["trainUnitId"] = this.userInfo.dept_id; |
| | | // } |
| | | // data["examType"] = 2; |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open(`/api/examScore/export-examScore?` + data); |
| | | window.open( |
| | | `/api/examScore/export-examScore?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data |
| | | ); |
| | | }) |
| | | .catch((action) => { |
| | | // this.$message({ |
| | | // type: 'info', |
| | | // message: action === 'cancel' |
| | | // ? '放弃保存并离开页面' |
| | | // : '停留在当前页面' |
| | | // }) |
| | | }); |
| | | }, |
| | | getStartTime() { |
| | | if ( |
| | |
| | | } |
| | | return ""; |
| | | }, |
| | | |
| | | rowSave(row, done, loading) { |
| | | adddata(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdates(row, index, done, loading) { |
| | | // console.log(42342); |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | // beforeOpen(done, type) { |
| | | // if (["edit", "view"].includes(type)) { |
| | | // getDetail(this.form.id).then((res) => { |
| | | // this.form = res.data.data; |
| | | // }); |
| | | // } |
| | | // done(); |
| | | // }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | // this.loading = false; |
| | | this.loading = true; |
| | | getLisperexamScore( |
| | | page.currentPage, |
| | |
| | | } |
| | | this.$store.commit("setWindowSizeHeightAdd"); |
| | | this.loading = false; |
| | | // for (var k in d) { |
| | | // if (d[k].qualified == 0) { |
| | | // d[k].qualified = "通过"; |
| | | // } else if (d[k].qualified == 1) { |
| | | // d[k].qualified = "不通过"; |
| | | // } else if (d[k].qualified == 2) { |
| | | // d[k].qualified = "暂未录入实操成绩"; |
| | | // } |
| | | // } |
| | | // this.data = d; |
| | | // console.log(this.data); |
| | | |
| | | // this.selectionClear(); |
| | | }); |
| | | }, |
| | | // onLoad(page, params = {}) { |
| | | // // this.loading = false; |
| | | // this.loading = true; |
| | | // // getListJSON().then((res) => { |
| | | // // axios |
| | | // // .get( |
| | | // // "../../api/qualificationExamination/signQualificationExamination.json" |
| | | // // ) |
| | | // // .then((res) => { |
| | | // // page.currentPage, |
| | | // // page.pageSize, |
| | | // // Object.assign(params, this.query) |
| | | // if (datasing) { |
| | | // var res = datasing; |
| | | // console.log(res, "signQualificationExamination"); |
| | | // const data = res.data; |
| | | // // this.page.total = data.total; |
| | | // var d = data.records; |
| | | // for (var k in d) { |
| | | // d[k].examination_mx = "正常"; |
| | | // d[k].examination_type = "正常"; |
| | | // d[k]["carid"] = "370111198807051124"; |
| | | // d[k]["certificate"] = "拥有"; |
| | | // d[k]["reviewTime"] = "2021-02-21"; |
| | | // d[k]["results"] = "通过"; |
| | | // d[k]["onjob"] = "是"; |
| | | // } |
| | | // this.data = d; |
| | | // this.loading = false; |
| | | // } |
| | | // // this.selectionClear(); |
| | | // // }); |
| | | // }, |
| | | |
| | | // 行单击 |
| | | // handleRowClick(row) { |
| | | // // delete (row["name"]); |
| | | // var obj = row; |
| | | // obj["name"] = "保安公司详细资料"; |
| | | // this.$router.push({ |
| | | // path: `/securityCompany/index`, |
| | | // query: obj, |
| | | // }); |
| | | // }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | var DIC = [ |
| | | { |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC1 = [ |
| | | { |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC = [{ |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | }] |
| | | var DIC1 = [{ |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | }] |
| | | |
| | | var w = 160 |
| | | , s = 12; |
| | | export var column = [ |
| | | { |
| | | var w = 160, |
| | | s = 12; |
| | | export var column = [{ |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | |
| | | // value: JSON.parse(window.localStorage.getItem("saber-userInfo")).content.dept_id |
| | | // },//上面不显示 |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | // addDisplay: true, |
| | |
| | | // trigger: "blur" |
| | | // }], |
| | | }, |
| | | ] |
| | | ] |
| | |
| | | |
| | | // 行单击 |
| | | handleRowClick(row) { |
| | | // delete (row["name"]); |
| | | var obj = row; |
| | | obj["name"] = "保安公司详细信息"; |
| | | // console.log(obj, "obj"); |
| | | var data = JSON.stringify(obj); |
| | | this.$router.push({ |
| | | path: `/securityCompany/index`, |
| | | query: obj, |
| | | query: {data:data}, |
| | | }); |
| | | }, |
| | | }, |
| New file |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-09 19:38:27 |
| | | * menu-name 保安公司详细资料 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="card-body"> |
| | | <el-tabs v-model="activeName" |
| | | @tab-click="handleClick"> |
| | | <el-tab-pane label="基本信息" |
| | | name="first"> |
| | | <el-form :model="form" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px"> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="公司名称"> |
| | | <el-input disabled="true" |
| | | v-model="form.enterprisename" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="法定代表人"> |
| | | <el-input disabled="true" |
| | | v-model="form.representative" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="24"> |
| | | <el-form-item label="注册地址"> |
| | | <el-input disabled="true" |
| | | v-model="form.address" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="所属辖区"> |
| | | <el-input disabled="true" |
| | | v-model="jurisdictionSee" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="所属行业"> |
| | | <el-input disabled="true" |
| | | v-model="form.industry" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="登记机关"> |
| | | <el-input disabled="true" |
| | | v-model="form.registration" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="公司类型"> |
| | | <el-input disabled="true" |
| | | v-model="form.enterprises" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col span="24"> |
| | | <el-form-item label="经营范围"> |
| | | <el-input type="textarea" |
| | | disabled="true" |
| | | v-model="form.business" |
| | | resize="none" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="工商信息" |
| | | name="second"> |
| | | <el-form :model="form" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px"> |
| | | <!-- <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="公司名称"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.enterprisename" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="法定代表人"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.representative" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> --> |
| | | |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="组织机构代码"> |
| | | <el-input disabled="true" |
| | | v-model="form.organizationcode" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col span="12"> |
| | | <el-form-item label="注册资金"> |
| | | <el-input disabled="true" |
| | | v-model="form.registeredcapital" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <!-- <el-col span="12"> |
| | | <el-form-item label="实缴资金"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.capital" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <el-col span="12"> |
| | | <el-form-item label="注册时间"> |
| | | <el-input disabled="true" |
| | | v-model="form.establishtime" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="工商注册号"> |
| | | <el-input disabled="true" |
| | | v-model="form.registrationnumber" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="工商注册号"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.registrationnumber" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> --> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="投资人信息" |
| | | name="third"> |
| | | <avue-crud class="company-box" |
| | | :option="investorOption" |
| | | :search.sync="investorSearch" |
| | | :table-loading="investorLoading" |
| | | :data="investorData" |
| | | ref="investorCrud" |
| | | :page.sync="investorPage" |
| | | @selection-change="investorSelectionChange" |
| | | @search-change="investorSearchChange" |
| | | @search-reset="investorSearchReset" |
| | | @current-change="investorCurrentChange" |
| | | @size-change="investorSizeChange" |
| | | @refresh-change="investorSizerefresh" |
| | | @on-load="investorOnLoad"> |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="管理人信息" |
| | | name="fourth"> |
| | | <avue-crud class="company-box" |
| | | :option="manageOption" |
| | | :search.sync="manageSearch" |
| | | :table-loading="manageLoading" |
| | | :data="manageData" |
| | | ref="manageCrud" |
| | | :page.sync="managePage" |
| | | @selection-change="manageSelectionChange" |
| | | @search-change="manageSearchChange" |
| | | @search-reset="manageSearchReset" |
| | | @current-change="manageCurrentChange" |
| | | @size-change="manageSizeChange" |
| | | @refresh-change="manageSizerefresh" |
| | | @on-load="manageOnLoad"> |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="装备信息" |
| | | name="fifth"> |
| | | <equipment :forms="forms" |
| | | v-if="seestaff"></equipment> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="保安员信息" |
| | | name="sixth"> |
| | | <staff :forms="forms" |
| | | v-if="seestaff" |
| | | :doit="seestaff2"></staff> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="处罚信息" |
| | | name="seventh"> |
| | | <punish :forms="forms" |
| | | v-if="seestaff"></punish> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="服务对象" |
| | | name="eighth"> |
| | | <service :form="forms" |
| | | v-if="seestaff" |
| | | :refresh="seestaff3"></service> |
| | | </el-tab-pane> |
| | | <!-- <el-tab-pane label="其他附件" name="eighth"> |
| | | <enclosure :form="form"></enclosure> |
| | | </el-tab-pane> --> |
| | | <el-tab-pane label="营业执照" |
| | | name="ninth"> |
| | | <div class="businessLicenses"> |
| | | <el-container> |
| | | <el-main> |
| | | <div class="title" |
| | | v-if="businessLicenseUrl == ''"> |
| | | 未上传营业执照 |
| | | </div> |
| | | <img class="businessLicensess" |
| | | :src="businessLicenseUrl" |
| | | alt="" |
| | | v-else /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="许可证" |
| | | name="tenth"> |
| | | <div class="businessLicenses"> |
| | | <el-container> |
| | | <el-main> |
| | | <div class="title" |
| | | v-if="licenceUrl == ''"> |
| | | 未上传许可证 |
| | | </div> |
| | | <img class="Licenses" |
| | | :src="licenceUrl" |
| | | alt="" |
| | | v-else /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | manifestationList, |
| | | dispatchList, |
| | | honorchList, |
| | | trainList, |
| | | examinationList, |
| | | getInvestorList, |
| | | getManageList, |
| | | } from "@/api/securityCompany/companyDetails"; |
| | | import equipment from "./computents/equipment.vue"; //装备管理 |
| | | import staff from "./computents/staff.vue"; //保安员信息 |
| | | import punish from "./computents/punish.vue"; //处罚信息 |
| | | import service from "./computents/service.vue"; //服务对象 |
| | | // import enclosure from "./computents/enclosure.vue"; //其他附件 |
| | | |
| | | import { getList } from "@/api/securityCompany/security"; //保安公司 |
| | | |
| | | export default { |
| | | components: { |
| | | equipment: equipment, |
| | | staff: staff, |
| | | punish: punish, |
| | | service: service, |
| | | // enclosure: enclosure, |
| | | }, |
| | | data () { |
| | | var w = 160, |
| | | s = 12; |
| | | return { |
| | | businessLicenseUrl: "", |
| | | licenceUrl: "", |
| | | |
| | | activeName: "first", |
| | | form: {}, |
| | | manifestationData: [], |
| | | dispatchData: [], |
| | | honorchData: [], |
| | | trainData: [], |
| | | examinationData: [], |
| | | |
| | | investorOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | menu: false, |
| | | selection: true, |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 270, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchShowBtn: false, |
| | | searchMenuSpan: 4, |
| | | index: false, |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 156, |
| | | column: [ |
| | | { |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | }, |
| | | { |
| | | label: "股东", |
| | | prop: "shareholder", |
| | | searchLabelWidth: 55, |
| | | search: true, |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "持股比例(%)", |
| | | prop: "shareholdingratio", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | // { |
| | | // label: "最终受益股份", |
| | | // prop: "beneficial", |
| | | // }, |
| | | { |
| | | label: "出资金额(万元)", |
| | | prop: "capital", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "出资时间", |
| | | prop: "capitaltime", |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "timestamp", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "身份证", |
| | | prop: "cardid", |
| | | labelWidth: w, |
| | | // span: s, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "cell", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "统一社会信用代码", |
| | | prop: "creditcode", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | ], |
| | | }, |
| | | investorSearch: {}, |
| | | investorLoading: true, |
| | | investorData: [], |
| | | investorPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | investorQuery: {}, |
| | | investorSelectionList: [], |
| | | |
| | | manageOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | selection: true, |
| | | searchShowBtn: false, |
| | | menu: false, |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 270, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchMenuSpan: 4, |
| | | index: false, |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 156, |
| | | height: 600, |
| | | column: [ |
| | | { |
| | | label: "管理人姓名", |
| | | prop: "name", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "职务", |
| | | prop: "post", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "身份证号", |
| | | prop: "cardid", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "cell", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | ], |
| | | }, |
| | | manageSearch: {}, |
| | | manageLoading: true, |
| | | manageData: [], |
| | | managePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | manageQuery: {}, |
| | | manageSelectionList: [], |
| | | |
| | | forms: {}, //防串数据 |
| | | jurisdictionSee: "", //中文辖区 |
| | | |
| | | seestaff: false, |
| | | seestaff2: false, |
| | | seestaff3: true, |
| | | }; |
| | | }, |
| | | created () { |
| | | var flag = false, |
| | | i = 0, |
| | | ind = null, |
| | | that = this; |
| | | |
| | | this.$store.state.tags.tagList.forEach((item, index) => { |
| | | if ( |
| | | item.label == "保安公司详细资料" || |
| | | item.label == "保安公司详细信息" |
| | | ) { |
| | | if (flag == false) { |
| | | ind = index; |
| | | flag = true; |
| | | } |
| | | i++; |
| | | } |
| | | }); |
| | | |
| | | if (i > 1) { |
| | | this.$store.state.tags.tagList.splice(ind, 1); |
| | | } |
| | | |
| | | if (this.$route.query.fromSecunityGuardId) { |
| | | var page = { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }, |
| | | params = { departmentid: this.$route.query.fromSecunityGuardId }; |
| | | getList(page.currentPage, page.pageSize, params).then((res) => { |
| | | that.form = res.data.data.records[0]; |
| | | this.jurisdictionSee = this.form.jurisdictionName; |
| | | that.forms = res.data.data.records[0]; |
| | | that.seestaff = true; |
| | | that.businessLicenseUrl = res.data.data.records[0].businessLicense; |
| | | that.licenceUrl = res.data.data.records[0].licence; |
| | | }); |
| | | // }) |
| | | } else { |
| | | this.form = this.$route.query; |
| | | this.jurisdictionSee = this.form.$jurisdiction; |
| | | this.forms = this.$route.query; |
| | | this.seestaff = true; |
| | | this.getFromData({ |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }); |
| | | } |
| | | }, |
| | | methods: { |
| | | getFromData (page, params = {}) { |
| | | var that = this; |
| | | params["departmentid"] = this.forms.departmentid; |
| | | getList(page.currentPage, page.pageSize, params).then((res) => { |
| | | that.form = res.data.data.records[0]; |
| | | this.businessLicenseUrl = res.data.data.records[0].businessLicense; |
| | | this.licenceUrl = res.data.data.records[0].licence; |
| | | }); |
| | | }, |
| | | // inspects(d, val) { |
| | | // var a = ""; |
| | | // var doit = (d, val) => { |
| | | // for (let k in d) { |
| | | // if (d[k].key == val) { |
| | | // a = d[k].title; |
| | | // break; |
| | | // } else { |
| | | // if (d[k].hasChildren) { |
| | | // doit(d[k].children, val); |
| | | // } else { |
| | | // } |
| | | // } |
| | | // } |
| | | // }; |
| | | // doit(d, val); |
| | | // // if (a == "") { |
| | | // // a = val; |
| | | // // } |
| | | // return a; |
| | | // }, |
| | | handleClick (tab) { |
| | | if (tab.index == 2) { |
| | | this.investorSearchReset(); |
| | | } else if (tab.index == 3) { |
| | | this.manageSearchReset(); |
| | | } else if (tab.index == 5) { |
| | | this.seestaff2 = !this.seestaff2; |
| | | } else if (tab.index == 7) { |
| | | this.seestaff3 = !this.seestaff3; |
| | | } else { |
| | | this.getFromData({ |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }); |
| | | } |
| | | // else if (tab.index == 3) { |
| | | // this.getHonorchData(); |
| | | // } else if (tab.index == 4) { |
| | | // this.getTrainData(); |
| | | // } else if (tab.index == 5) { |
| | | // this.getExaminationData(); |
| | | // } |
| | | // |
| | | }, |
| | | getManifestationData () { |
| | | manifestationList(this.forms.cardid).then((res) => { |
| | | this.manifestationData = res.data.data.records; |
| | | this.manifestationData.forEach((item) => { |
| | | item.name = this.forms.realName; |
| | | item.time = item.time.substring(0, 10); |
| | | }); |
| | | }); |
| | | }, |
| | | getDispatchData () { |
| | | dispatchList(this.forms.cardid).then((res) => { |
| | | this.dispatchData = res.data.data.records; |
| | | }); |
| | | }, |
| | | getHonorchData () { |
| | | honorchList(this.forms.cardid).then((res) => { |
| | | this.honorchData = res.data.data.records; |
| | | }); |
| | | }, |
| | | getTrainData () { |
| | | trainList(this.forms.cardid).then((res) => { |
| | | this.trainData = res.data.data; |
| | | |
| | | this.trainData.forEach((item) => { |
| | | if (item.sex == 1) { |
| | | item.sex = "男"; |
| | | } else { |
| | | item.sex = "女"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | getExaminationData () { |
| | | examinationList(this.forms.cardid).then((res) => { |
| | | this.examinationData = res.data.data; |
| | | |
| | | this.examinationData.forEach((item) => { |
| | | if (item.stat == 1) { |
| | | item.stat = "不通过"; |
| | | } else { |
| | | item.stat = "通过"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | investorSizerefresh () { |
| | | this.investorOnLoad(this.investorPage, this.investorQuery); |
| | | }, |
| | | investorOnLoad (page, params = {}) { |
| | | this.investorLoading = true; |
| | | params["deptId"] = this.form.departmentid; |
| | | getInvestorList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.investorQuery) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | |
| | | this.investorPage.total = data.total; |
| | | this.investorData = data.records; |
| | | this.investorLoading = false; |
| | | this.$refs.investorCrud.refreshTable(); |
| | | this.$refs.investorCrud.doLayout(); |
| | | this.investorSelectionClear(); |
| | | }); |
| | | }, |
| | | investorSelectionClear () { |
| | | this.investorSelectionList = []; |
| | | this.$refs.investorCrud.toggleSelection(); |
| | | }, |
| | | investorSelectionChange (list) { |
| | | this.investorSelectionList = list; |
| | | }, |
| | | investorSearchChange (params, done) { |
| | | this.investorQuery = params; |
| | | this.investorPage.currentPage = 1; |
| | | this.investorOnLoad(this.investorPage, params); |
| | | done(); |
| | | }, |
| | | investorSearchReset () { |
| | | this.investorQuery = {}; |
| | | this.investorOnLoad(this.investorPage); |
| | | }, |
| | | investorCurrentChange (currentPage) { |
| | | this.investorPage.currentPage = currentPage; |
| | | }, |
| | | investorSizeChange (pageSize) { |
| | | this.investorPage.pageSize = pageSize; |
| | | }, |
| | | manageSizerefresh () { |
| | | this.manageOnLoad(this.managePage, this.manageQuery); |
| | | }, |
| | | manageOnLoad (page, params = {}) { |
| | | this.manageLoading = true; |
| | | params["deptId"] = this.form.departmentid; |
| | | getManageList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.manageQuery) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | |
| | | this.managePage.total = data.total; |
| | | this.manageData = data.records; |
| | | this.manageLoading = false; |
| | | |
| | | this.$refs.manageCrud.refreshTable(); |
| | | this.$refs.manageCrud.doLayout(); |
| | | |
| | | this.manageSelectionClear(); |
| | | }); |
| | | }, |
| | | manageSelectionClear () { |
| | | this.manageSelectionList = []; |
| | | this.$refs.manageCrud.toggleSelection(); |
| | | }, |
| | | manageSelectionChange (list) { |
| | | this.manageSelectionList = list; |
| | | }, |
| | | manageSearchChange (params, done) { |
| | | this.manageQuery = params; |
| | | this.managePage.currentPage = 1; |
| | | this.manageOnLoad(this.managePage, params); |
| | | done(); |
| | | }, |
| | | manageSearchReset () { |
| | | this.manageQuery = {}; |
| | | this.manageOnLoad(this.managePage); |
| | | }, |
| | | manageCurrentChange (currentPage) { |
| | | this.managePage.currentPage = currentPage; |
| | | }, |
| | | manageSizeChange (pageSize) { |
| | | this.managePage.pageSize = pageSize; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .businessLicenses { |
| | | padding-top: 15px; |
| | | background-color: transparent; |
| | | } |
| | | .el-main { |
| | | background-color: transparent; |
| | | color: #333; |
| | | text-align: center; |
| | | // position: relative; |
| | | // right: 5%; |
| | | } |
| | | .businessLicensess { |
| | | height: 680px; |
| | | width: 450px; |
| | | } |
| | | .Licenses { |
| | | height: 680px; |
| | | width: 1048px; |
| | | } |
| | | .title { |
| | | color: #fff; |
| | | } |
| | | </style> |
| | |
| | | * menu-name 保安公司详细资料 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="card-body"> |
| | | <el-tabs v-model="activeName" |
| | | @tab-click="handleClick"> |
| | | <el-tab-pane label="基本信息" |
| | | name="first"> |
| | | <el-form :model="form" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px"> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="公司名称"> |
| | | <el-input disabled="true" |
| | | v-model="form.enterprisename" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="法定代表人"> |
| | | <el-input disabled="true" |
| | | v-model="form.representative" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="24"> |
| | | <el-form-item label="注册地址"> |
| | | <el-input disabled="true" |
| | | v-model="form.address" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="所属辖区"> |
| | | <el-input disabled="true" |
| | | v-model="jurisdictionSee" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="所属行业"> |
| | | <el-input disabled="true" |
| | | v-model="form.industry" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="登记机关"> |
| | | <el-input disabled="true" |
| | | v-model="form.registration" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="公司类型"> |
| | | <el-input disabled="true" |
| | | v-model="form.enterprises" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col span="24"> |
| | | <el-form-item label="经营范围"> |
| | | <el-input type="textarea" |
| | | disabled="true" |
| | | v-model="form.business" |
| | | resize="none" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="工商信息" |
| | | name="second"> |
| | | <el-form :model="form" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px"> |
| | | <!-- <el-row> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="card-body"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <!-- 基本信息 --> |
| | | <el-tab-pane :label="baseTitle" name="first"> |
| | | <el-form |
| | | :model="form" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px" |
| | | > |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="公司名称"> |
| | | <el-form-item label="企业名称" label-width="100px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.enterprisename" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="法定代表人"> |
| | | <el-form-item label="所属辖区" label-width="160px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.jurisdictionName" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="representativeVisiable"> |
| | | <el-col span="12"> |
| | | <el-form-item |
| | | :label="representativeLabel" |
| | | label-width="100px" |
| | | > |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.representative" |
| | |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> --> |
| | | |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="组织机构代码"> |
| | | <el-input disabled="true" |
| | | v-model="form.organizationcode" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col span="12"> |
| | | <el-form-item label="注册资金"> |
| | | <el-input disabled="true" |
| | | v-model="form.registeredcapital" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <!-- <el-col span="12"> |
| | | <el-form-item label="实缴资金"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.capital" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <el-col span="12"> |
| | | <el-form-item label="注册时间"> |
| | | <el-input disabled="true" |
| | | v-model="form.establishtime" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="工商注册号"> |
| | | <el-input disabled="true" |
| | | v-model="form.registrationnumber" |
| | | autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="工商注册号"> |
| | | <el-form-item |
| | | :label="representativecellLabel" |
| | | label-width="160px" |
| | | > |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.registrationnumber" |
| | | v-model="form.representativecell" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> --> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="投资人信息" |
| | | name="third"> |
| | | <avue-crud class="company-box" |
| | | :option="investorOption" |
| | | :search.sync="investorSearch" |
| | | :table-loading="investorLoading" |
| | | :data="investorData" |
| | | ref="investorCrud" |
| | | :page.sync="investorPage" |
| | | @selection-change="investorSelectionChange" |
| | | @search-change="investorSearchChange" |
| | | @search-reset="investorSearchReset" |
| | | @current-change="investorCurrentChange" |
| | | @size-change="investorSizeChange" |
| | | @refresh-change="investorSizerefresh" |
| | | @on-load="investorOnLoad"> |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="管理人信息" |
| | | name="fourth"> |
| | | <avue-crud class="company-box" |
| | | :option="manageOption" |
| | | :search.sync="manageSearch" |
| | | :table-loading="manageLoading" |
| | | :data="manageData" |
| | | ref="manageCrud" |
| | | :page.sync="managePage" |
| | | @selection-change="manageSelectionChange" |
| | | @search-change="manageSearchChange" |
| | | @search-reset="manageSearchReset" |
| | | @current-change="manageCurrentChange" |
| | | @size-change="manageSizeChange" |
| | | @refresh-change="manageSizerefresh" |
| | | @on-load="manageOnLoad"> |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="装备信息" |
| | | name="fifth"> |
| | | <equipment :forms="forms" |
| | | v-if="seestaff"></equipment> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="保安员信息" |
| | | name="sixth"> |
| | | <staff :forms="forms" |
| | | v-if="seestaff" |
| | | :doit="seestaff2"></staff> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="处罚信息" |
| | | name="seventh"> |
| | | <punish :forms="forms" |
| | | v-if="seestaff"></punish> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="服务对象" |
| | | name="eighth"> |
| | | <service :form="forms" |
| | | v-if="seestaff" |
| | | :refresh="seestaff3"></service> |
| | | </el-tab-pane> |
| | | <!-- <el-tab-pane label="其他附件" name="eighth"> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="联系人" label-width="100px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.contacts" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="联系电话" label-width="160px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.contactscell" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="企业属性" label-width="100px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.stats" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="注册地址" label-width="160px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.address" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="fregionVisiable"> |
| | | <el-col span="12"> |
| | | <el-form-item label="服务区域" label-width="100px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.fregion" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="服务时间" label-width="160px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.ftime" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="登记机关" label-width="100px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.registration" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item |
| | | label="办公地址" |
| | | label-width="160px" |
| | | v-if="industryVisiable" |
| | | > |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.industry" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <!-- 工商信息 --> |
| | | <el-tab-pane label="工商信息" name="second"> |
| | | <div v-if="secondVisiable"> |
| | | <a style="color:#fff">总公司工商信息</a> |
| | | <el-divider></el-divider> |
| | | </div> |
| | | <el-form |
| | | :model="form" |
| | | v-if="secondVisiable" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px" |
| | | > |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="统一社会信用代码" label-width="130px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="businessObj.socialCreditCode" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col span="12"> |
| | | <el-form-item label="注册时间"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="businessObj.registerTime" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="注册资本" label-width="130px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="businessObj.capital" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="经营范围"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="businessObj.businessScope" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="营业执照" label-width="130px"> |
| | | <el-upload |
| | | disabled="true" |
| | | class="avatar-uploader" |
| | | :show-file-list="false" |
| | | > |
| | | <el-image |
| | | style="width: 150px; height: 150px" |
| | | :src="businessObj.trading" |
| | | :preview-src-list="tradingUrlList"> |
| | | </el-image> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div v-if="secondVisiable"> |
| | | <a style="color:#fff">分公司工商信息</a> |
| | | <el-divider></el-divider> |
| | | </div> |
| | | <el-form |
| | | :model="form" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px" |
| | | > |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="统一社会信用代码" label-width="130px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.creditcode" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col span="12"> |
| | | <el-form-item label="注册时间"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.establishtime" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="注册资本" label-width="130px"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.registeredcapital" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="经营范围"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.business" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="营业执照" label-width="130px"> |
| | | <el-upload |
| | | disabled="true" |
| | | class="avatar-uploader" |
| | | :show-file-list="false" |
| | | > |
| | | <el-image |
| | | style="width: 150px; height: 150px" |
| | | :src="form.businessLicense" |
| | | :preview-src-list="businessLicenseUrlList"> |
| | | </el-image> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <!-- 出资人信息 --> |
| | | <el-tab-pane |
| | | label="出资人信息" |
| | | name="third" |
| | | v-if="shareholderVisiable" |
| | | > |
| | | <avue-crud |
| | | class="company-box" |
| | | :option="investorOption" |
| | | :search.sync="investorSearch" |
| | | :table-loading="investorLoading" |
| | | :data="investorData" |
| | | ref="investorCrud" |
| | | :page.sync="investorPage" |
| | | @selection-change="investorSelectionChange" |
| | | @search-change="investorSearchChange" |
| | | @search-reset="investorSearchReset" |
| | | @current-change="investorCurrentChange" |
| | | @size-change="investorSizeChange" |
| | | @refresh-change="investorSizerefresh" |
| | | @on-load="investorOnLoad" |
| | | > |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <!-- 主要管理人员信息 --> |
| | | <el-tab-pane :label="managerLabel" name="fourth"> |
| | | <avue-crud |
| | | class="company-box" |
| | | :option="manageOption" |
| | | :search.sync="manageSearch" |
| | | :table-loading="manageLoading" |
| | | :data="manageData" |
| | | ref="manageCrud" |
| | | :page.sync="managePage" |
| | | @selection-change="manageSelectionChange" |
| | | @search-change="manageSearchChange" |
| | | @search-reset="manageSearchReset" |
| | | @current-change="manageCurrentChange" |
| | | @size-change="manageSizeChange" |
| | | @refresh-change="manageSizerefresh" |
| | | @on-load="manageOnLoad" |
| | | > |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <!-- 装备信息 --> |
| | | <el-tab-pane label="装备信息" name="fifth" v-if="equipmentVisiable"> |
| | | <equipment :forms="forms" v-if="seestaff"></equipment> |
| | | </el-tab-pane> |
| | | <!-- 保安员信息 --> |
| | | <el-tab-pane |
| | | label="保安员信息" |
| | | name="sixth" |
| | | v-if="securityVisiable" |
| | | > |
| | | <staff :forms="forms" v-if="seestaff" :doit="seestaff2"></staff> |
| | | </el-tab-pane> |
| | | <!-- 处罚信息 --> |
| | | <el-tab-pane label="处罚信息" name="seventh"> |
| | | <punish :forms="forms" v-if="seestaff"></punish> |
| | | </el-tab-pane> |
| | | <!-- 服务对象信息 --> |
| | | <el-tab-pane |
| | | label="服务对象信息" |
| | | name="eighth" |
| | | v-if="dispatcherUnitVisiable" |
| | | > |
| | | <service |
| | | :form="forms" |
| | | v-if="seestaff" |
| | | :refresh="seestaff3" |
| | | ></service> |
| | | </el-tab-pane> |
| | | <!-- <el-tab-pane label="其他附件" name="eighth"> |
| | | <enclosure :form="form"></enclosure> |
| | | </el-tab-pane> --> |
| | | <el-tab-pane label="营业执照" |
| | | name="ninth"> |
| | | <div class="businessLicenses"> |
| | | <el-container> |
| | | <el-main> |
| | | <div class="title" |
| | | v-if="businessLicenseUrl == ''"> |
| | | 未上传营业执照 |
| | | </div> |
| | | <img class="businessLicensess" |
| | | :src="businessLicenseUrl" |
| | | alt="" |
| | | v-else /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="许可证" |
| | | name="tenth"> |
| | | <div class="businessLicenses"> |
| | | <el-container> |
| | | <el-main> |
| | | <div class="title" |
| | | v-if="licenceUrl == ''"> |
| | | 未上传许可证 |
| | | </div> |
| | | <img class="Licenses" |
| | | :src="licenceUrl" |
| | | alt="" |
| | | v-else /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 营业执照 --> |
| | | <!-- <el-tab-pane label="营业执照" name="ninth"> |
| | | <div class="businessLicenses"> |
| | | <el-container> |
| | | <el-main> |
| | | <div class="title" v-if="businessLicenseUrl == ''"> |
| | | 未上传营业执照 |
| | | </div> |
| | | <img |
| | | class="businessLicensess" |
| | | :src="businessLicenseUrl" |
| | | alt="" |
| | | v-else |
| | | /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-tab-pane> --> |
| | | <!-- 许可证信息 --> |
| | | <el-tab-pane |
| | | :label="licenceLabel" |
| | | name="tenth" |
| | | v-if="licenceVisiable" |
| | | > |
| | | <el-form |
| | | :model="licenceForm" |
| | | label-position="right" |
| | | size="mini" |
| | | label-width="100px" |
| | | > |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="名称"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.unitName" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col span="12"> |
| | | <el-form-item label="住所"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.address" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="法定代表人"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.legalPeople" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="批准文号"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.approvalNumber" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="发证机关"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.licenceIssuingUnit" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="发证时间"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.licenceIssuingTime" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="许可证编号"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.code" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12" v-if="registerCapitalVisiable"> |
| | | <el-form-item label="注册资本"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="licenceForm.registerCapital" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="24"> |
| | | <el-form-item :label="contentLabel"> |
| | | <el-input |
| | | type="textarea" |
| | | disabled="true" |
| | | v-model="licenceForm.content" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="许可证图片"> |
| | | <el-upload |
| | | disabled="true" |
| | | class="avatar-uploader" |
| | | :show-file-list="false" |
| | | > |
| | | <el-image |
| | | style="width: 150px; height: 150px" |
| | | :src="licenceForm.url" |
| | | :preview-src-list="licenceUrlList"> |
| | | </el-image> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-tab-pane> |
| | | <!-- 备案证 --> |
| | | <el-tab-pane |
| | | label="备案证" |
| | | name="tab12" |
| | | v-if="certificdinedVisiable" |
| | | > |
| | | <div class="businessLicenses"> |
| | | <el-container> |
| | | <el-main> |
| | | <div class="title" v-if="licenceUrl == ''"> |
| | | 未上传备案证 |
| | | </div> |
| | | <img class="Licenses" :src="licenceUrl" alt="" v-else /> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | manifestationList, |
| | | dispatchList, |
| | | honorchList, |
| | | trainList, |
| | | examinationList, |
| | | getInvestorList, |
| | | getManageList, |
| | | manifestationList, |
| | | dispatchList, |
| | | honorchList, |
| | | trainList, |
| | | examinationList, |
| | | getInvestorList, |
| | | getManageList, |
| | | getBusinessInfo, |
| | | getLicenceDetail, |
| | | } from "@/api/securityCompany/companyDetails"; |
| | | import equipment from "./computents/equipment.vue"; //装备管理 |
| | | import staff from "./computents/staff.vue"; //保安员信息 |
| | |
| | | import { getList } from "@/api/securityCompany/security"; //保安公司 |
| | | |
| | | export default { |
| | | components: { |
| | | equipment: equipment, |
| | | staff: staff, |
| | | punish: punish, |
| | | service: service, |
| | | // enclosure: enclosure, |
| | | components: { |
| | | equipment: equipment, |
| | | staff: staff, |
| | | punish: punish, |
| | | service: service, |
| | | // enclosure: enclosure, |
| | | }, |
| | | data() { |
| | | var w = 160, |
| | | s = 12; |
| | | return { |
| | | dialogImageUrl: '', |
| | | dialogVisible: false, |
| | | businessObj:{}, |
| | | licenceForm:{}, |
| | | licenceUrlList:[], |
| | | tradingUrlList:[], |
| | | businessLicenseUrlList:[], |
| | | representativeVisiable: true, |
| | | registerCapitalVisiable: true, |
| | | fregionVisiable: false, |
| | | secondVisiable: false, |
| | | industryVisiable: true, |
| | | representativecellLabel: "法定代表人联系电话", |
| | | representativeLabel: "法定代表人", |
| | | contentLabel: "服务范围", |
| | | businessLicenseUrl: "", |
| | | licenceUrl: "", |
| | | deptId: "", |
| | | managerLabel: "主要管理人信息", |
| | | licenceLabel: "许可证信息", |
| | | baseTitle: "基本信息", |
| | | certificdinedVisiable: false, |
| | | dispatcherUnitVisiable: true, |
| | | securityVisiable: true, |
| | | businessVisiable: true, |
| | | licenceVisiable: true, |
| | | shareholderVisiable: true, |
| | | equipmentVisiable: true, |
| | | activeName: "first", |
| | | form: {}, |
| | | manifestationData: [], |
| | | dispatchData: [], |
| | | honorchData: [], |
| | | trainData: [], |
| | | examinationData: [], |
| | | investorOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | menu: false, |
| | | selection: true, |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 270, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchShowBtn: false, |
| | | searchMenuSpan: 4, |
| | | index: false, |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 156, |
| | | column: [ |
| | | { |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | }, |
| | | { |
| | | label: "股东", |
| | | prop: "shareholder", |
| | | searchLabelWidth: 55, |
| | | search: true, |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "持股比例(%)", |
| | | prop: "shareholdingratio", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "出资金额(万元)", |
| | | prop: "capital", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "出资时间", |
| | | prop: "capitaltime", |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "timestamp", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "身份证", |
| | | prop: "cardid", |
| | | labelWidth: w, |
| | | // span: s, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "cell", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "统一社会信用代码", |
| | | prop: "creditcode", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | ], |
| | | }, |
| | | investorSearch: {}, |
| | | investorLoading: true, |
| | | investorData: [], |
| | | investorPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | investorQuery: {}, |
| | | investorSelectionList: [], |
| | | |
| | | manageOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | selection: true, |
| | | searchShowBtn: false, |
| | | menu: false, |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 270, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchMenuSpan: 4, |
| | | index: false, |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 156, |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | | prop: "name", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "职务", |
| | | prop: "post", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "身份证号", |
| | | prop: "cardid", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "cell", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "学历", |
| | | prop: "education", |
| | | display:false, |
| | | row:true, |
| | | hide:true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择学历", |
| | | trigger: "blur" |
| | | }], |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationTypes", |
| | | search: false, |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | }, |
| | | dataType: "number", |
| | | }, |
| | | { |
| | | label: "证书", |
| | | prop: "paper", |
| | | type: "upload", |
| | | dataType:"string", |
| | | listType: "picture-card", |
| | | span: 24, |
| | | propsHttp: { |
| | | res: "data", |
| | | }, |
| | | tip: "只能上传jpg/png格式图片,且不超过2Mb", |
| | | action: "/api/blade-resource/oss/endpoint/put-files", |
| | | display:false, |
| | | hide:true, |
| | | }, |
| | | ], |
| | | }, |
| | | manageSearch: {}, |
| | | manageLoading: true, |
| | | manageData: [], |
| | | managePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | manageQuery: {}, |
| | | manageSelectionList: [], |
| | | forms: {}, //防串数据 |
| | | jurisdictionSee: "", //中文辖区 |
| | | seestaff: false, |
| | | seestaff2: false, |
| | | seestaff3: true, |
| | | }; |
| | | }, |
| | | created() { |
| | | //防tab 重复 |
| | | this.tabClear(); |
| | | //数据初始化 |
| | | this.initData(); |
| | | }, |
| | | methods: { |
| | | //数据初始化 |
| | | initData() { |
| | | var data = JSON.parse(this.$route.query.data); |
| | | this.form = data; |
| | | this.businessLicenseUrlList.push(data.businessLicense); |
| | | //单位列表进入 |
| | | var stats = data.stats; |
| | | var deptId = data.departmentid; |
| | | //初始tab控制 |
| | | this.initController(stats, deptId); |
| | | //初始数据获取 |
| | | this.getdatas(data); |
| | | }, |
| | | data () { |
| | | var w = 160, |
| | | s = 12; |
| | | return { |
| | | businessLicenseUrl: "", |
| | | licenceUrl: "", |
| | | |
| | | activeName: "first", |
| | | form: {}, |
| | | manifestationData: [], |
| | | dispatchData: [], |
| | | honorchData: [], |
| | | trainData: [], |
| | | examinationData: [], |
| | | |
| | | investorOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | menu: false, |
| | | selection: true, |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 270, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchShowBtn: false, |
| | | searchMenuSpan: 4, |
| | | index: false, |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 156, |
| | | height: 600, |
| | | column: [ |
| | | { |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | }, |
| | | { |
| | | label: "股东", |
| | | prop: "shareholder", |
| | | searchLabelWidth: 55, |
| | | search: true, |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "持股比例(%)", |
| | | prop: "shareholdingratio", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | // { |
| | | // label: "最终受益股份", |
| | | // prop: "beneficial", |
| | | // }, |
| | | { |
| | | label: "出资金额(万元)", |
| | | prop: "capital", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "出资时间", |
| | | prop: "capitaltime", |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "timestamp", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "身份证", |
| | | prop: "cardid", |
| | | labelWidth: w, |
| | | // span: s, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "cell", |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | { |
| | | label: "统一社会信用代码", |
| | | prop: "creditcode", |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | labelWidth: w, |
| | | span: s, |
| | | }, |
| | | ], |
| | | }, |
| | | investorSearch: {}, |
| | | investorLoading: true, |
| | | investorData: [], |
| | | investorPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | investorQuery: {}, |
| | | investorSelectionList: [], |
| | | |
| | | manageOption: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | selection: true, |
| | | searchShowBtn: false, |
| | | menu: false, |
| | | |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 270, |
| | | tip: false, |
| | | searchShow: false, |
| | | searchMenuSpan: 4, |
| | | index: false, |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 156, |
| | | height: 600, |
| | | column: [ |
| | | { |
| | | label: "管理人姓名", |
| | | prop: "name", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "职务", |
| | | prop: "post", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "身份证号", |
| | | prop: "cardid", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "cell", |
| | | slot: true, |
| | | display: false, |
| | | }, |
| | | ], |
| | | }, |
| | | manageSearch: {}, |
| | | manageLoading: true, |
| | | manageData: [], |
| | | managePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | manageQuery: {}, |
| | | manageSelectionList: [], |
| | | |
| | | forms: {}, //防串数据 |
| | | jurisdictionSee: "", //中文辖区 |
| | | |
| | | seestaff: false, |
| | | seestaff2: false, |
| | | seestaff3: true, |
| | | }; |
| | | }, |
| | | created () { |
| | | var flag = false, |
| | | i = 0, |
| | | ind = null, |
| | | that = this; |
| | | |
| | | this.$store.state.tags.tagList.forEach((item, index) => { |
| | | if ( |
| | | item.label == "保安公司详细资料" || |
| | | item.label == "保安公司详细信息" |
| | | ) { |
| | | if (flag == false) { |
| | | ind = index; |
| | | flag = true; |
| | | } |
| | | i++; |
| | | } |
| | | //tab 初始设置 |
| | | initController(stats, deptId) { |
| | | this.stats = stats; |
| | | this.deptId = deptId; |
| | | var that = this; |
| | | // 判断按进入的公司类型 |
| | | if (stats == "2") { |
| | | //本市保安公司 |
| | | that.baseTitle = "保安单位基本信息"; |
| | | } |
| | | if (stats == "0") { |
| | | //自招保安单位 |
| | | that.baseTitle = "单位基本信息"; |
| | | that.equipmentVisiable = false; |
| | | that.shareholderVisiable = false; |
| | | that.certificdinedVisiable = true; |
| | | that.licenceVisiable = false; |
| | | } |
| | | if (stats == "4") { |
| | | //分公司 |
| | | that.baseTitle = "保安单位基本信息"; |
| | | that.certificdinedVisiable = true; |
| | | that.secondVisiable = true; |
| | | that.businessVisiable = false; |
| | | that.licenceLabel = "总公司许可证信息"; |
| | | //查询分公司(及总公司)工商信息 |
| | | getBusinessInfo(deptId).then((res) => { |
| | | that.businessObj = res.data.data; |
| | | that.tradingUrlList.push(res.data.data.trading); |
| | | if (that.businessObj.id == -1) { |
| | | that.businessObj.id = null; |
| | | } |
| | | }); |
| | | |
| | | if (i > 1) { |
| | | this.$store.state.tags.tagList.splice(ind, 1); |
| | | } |
| | | |
| | | if (this.$route.query.fromSecunityGuardId) { |
| | | var page = { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }, |
| | | params = { departmentid: this.$route.query.fromSecunityGuardId }; |
| | | getList(page.currentPage, page.pageSize, params).then((res) => { |
| | | that.form = res.data.data.records[0]; |
| | | this.jurisdictionSee = this.form.jurisdictionName; |
| | | that.forms = res.data.data.records[0]; |
| | | that.seestaff = true; |
| | | that.businessLicenseUrl = res.data.data.records[0].businessLicense; |
| | | that.licenceUrl = res.data.data.records[0].licence; |
| | | }); |
| | | // }) |
| | | } else { |
| | | this.form = this.$route.query; |
| | | this.jurisdictionSee = this.form.$jurisdiction; |
| | | this.forms = this.$route.query; |
| | | this.seestaff = true; |
| | | this.getFromData({ |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }); |
| | | } |
| | | } |
| | | if (stats == "1") { |
| | | //培训学校 |
| | | that.baseTitle = "学校基本信息"; |
| | | that.managerLabel = "师资力量"; |
| | | that.licenceLabel = "培训许可证信息"; |
| | | that.shareholderVisiable = false; |
| | | that.dispatcherUnitVisiable = false; |
| | | that.securityVisiable = false; |
| | | } |
| | | }, |
| | | methods: { |
| | | getFromData (page, params = {}) { |
| | | var that = this; |
| | | params["departmentid"] = this.forms.departmentid; |
| | | getList(page.currentPage, page.pageSize, params).then((res) => { |
| | | that.form = res.data.data.records[0]; |
| | | this.businessLicenseUrl = res.data.data.records[0].businessLicense; |
| | | this.licenceUrl = res.data.data.records[0].licence; |
| | | }); |
| | | }, |
| | | // inspects(d, val) { |
| | | // var a = ""; |
| | | // var doit = (d, val) => { |
| | | // for (let k in d) { |
| | | // if (d[k].key == val) { |
| | | // a = d[k].title; |
| | | // break; |
| | | // } else { |
| | | // if (d[k].hasChildren) { |
| | | // doit(d[k].children, val); |
| | | // } else { |
| | | // } |
| | | // } |
| | | // } |
| | | // }; |
| | | // doit(d, val); |
| | | // // if (a == "") { |
| | | // // a = val; |
| | | // // } |
| | | // return a; |
| | | // }, |
| | | handleClick (tab) { |
| | | if (tab.index == 2) { |
| | | this.investorSearchReset(); |
| | | } else if (tab.index == 3) { |
| | | this.manageSearchReset(); |
| | | } else if (tab.index == 5) { |
| | | this.seestaff2 = !this.seestaff2; |
| | | } else if (tab.index == 7) { |
| | | this.seestaff3 = !this.seestaff3; |
| | | } else { |
| | | this.getFromData({ |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }); |
| | | } |
| | | // else if (tab.index == 3) { |
| | | // this.getHonorchData(); |
| | | // } else if (tab.index == 4) { |
| | | // this.getTrainData(); |
| | | // } else if (tab.index == 5) { |
| | | // this.getExaminationData(); |
| | | // } |
| | | // |
| | | }, |
| | | getManifestationData () { |
| | | manifestationList(this.forms.cardid).then((res) => { |
| | | this.manifestationData = res.data.data.records; |
| | | this.manifestationData.forEach((item) => { |
| | | item.name = this.forms.realName; |
| | | item.time = item.time.substring(0, 10); |
| | | }); |
| | | }); |
| | | }, |
| | | getDispatchData () { |
| | | dispatchList(this.forms.cardid).then((res) => { |
| | | this.dispatchData = res.data.data.records; |
| | | }); |
| | | }, |
| | | getHonorchData () { |
| | | honorchList(this.forms.cardid).then((res) => { |
| | | this.honorchData = res.data.data.records; |
| | | }); |
| | | }, |
| | | getTrainData () { |
| | | trainList(this.forms.cardid).then((res) => { |
| | | this.trainData = res.data.data; |
| | | //初始数据获取 |
| | | getdatas(data) { |
| | | console.log(data, 123456); |
| | | var that = this; |
| | | if (data.departmentid) { |
| | | if (data.stats == "2") { |
| | | data.stats = "本市保安公司"; |
| | | } |
| | | if (data.stats == "0") { |
| | | data.stats = "自招保安单位"; |
| | | that.representativeVisiable = false; |
| | | that.industryVisiable = false; |
| | | that.fregionVisiable = true; |
| | | } |
| | | if (data.stats == "1") { |
| | | data.stats = "保安培训学校"; |
| | | const educationcolumn = this.findObject( |
| | | this.manageOption.column, |
| | | "education" |
| | | ); |
| | | const papercolumn = this.findObject( |
| | | this.manageOption.column, |
| | | "paper" |
| | | ); |
| | | //学历证书 |
| | | educationcolumn.display = true; |
| | | educationcolumn.hide = false; |
| | | educationcolumn.search = true; |
| | | papercolumn.display = true; |
| | | papercolumn.hide = false; |
| | | |
| | | this.trainData.forEach((item) => { |
| | | if (item.sex == 1) { |
| | | item.sex = "男"; |
| | | } else { |
| | | item.sex = "女"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | getExaminationData () { |
| | | examinationList(this.forms.cardid).then((res) => { |
| | | this.examinationData = res.data.data; |
| | | |
| | | this.examinationData.forEach((item) => { |
| | | if (item.stat == 1) { |
| | | item.stat = "不通过"; |
| | | } else { |
| | | item.stat = "通过"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | investorSizerefresh () { |
| | | this.investorOnLoad(this.investorPage, this.investorQuery); |
| | | }, |
| | | investorOnLoad (page, params = {}) { |
| | | this.investorLoading = true; |
| | | params["deptId"] = this.form.departmentid; |
| | | getInvestorList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.investorQuery) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | |
| | | this.investorPage.total = data.total; |
| | | this.investorData = data.records; |
| | | this.investorLoading = false; |
| | | this.$refs.investorCrud.refreshTable(); |
| | | this.$refs.investorCrud.doLayout(); |
| | | this.investorSelectionClear(); |
| | | }); |
| | | }, |
| | | investorSelectionClear () { |
| | | this.investorSelectionList = []; |
| | | this.$refs.investorCrud.toggleSelection(); |
| | | }, |
| | | investorSelectionChange (list) { |
| | | this.investorSelectionList = list; |
| | | }, |
| | | investorSearchChange (params, done) { |
| | | this.investorQuery = params; |
| | | this.investorPage.currentPage = 1; |
| | | this.investorOnLoad(this.investorPage, params); |
| | | done(); |
| | | }, |
| | | investorSearchReset () { |
| | | this.investorQuery = {}; |
| | | this.investorOnLoad(this.investorPage); |
| | | }, |
| | | investorCurrentChange (currentPage) { |
| | | this.investorPage.currentPage = currentPage; |
| | | }, |
| | | investorSizeChange (pageSize) { |
| | | this.investorPage.pageSize = pageSize; |
| | | }, |
| | | manageSizerefresh () { |
| | | this.manageOnLoad(this.managePage, this.manageQuery); |
| | | }, |
| | | manageOnLoad (page, params = {}) { |
| | | this.manageLoading = true; |
| | | params["deptId"] = this.form.departmentid; |
| | | getManageList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.manageQuery) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | |
| | | this.managePage.total = data.total; |
| | | this.manageData = data.records; |
| | | this.manageLoading = false; |
| | | |
| | | this.$refs.manageCrud.refreshTable(); |
| | | this.$refs.manageCrud.doLayout(); |
| | | |
| | | this.manageSelectionClear(); |
| | | }); |
| | | }, |
| | | manageSelectionClear () { |
| | | this.manageSelectionList = []; |
| | | this.$refs.manageCrud.toggleSelection(); |
| | | }, |
| | | manageSelectionChange (list) { |
| | | this.manageSelectionList = list; |
| | | }, |
| | | manageSearchChange (params, done) { |
| | | this.manageQuery = params; |
| | | this.managePage.currentPage = 1; |
| | | this.manageOnLoad(this.managePage, params); |
| | | done(); |
| | | }, |
| | | manageSearchReset () { |
| | | this.manageQuery = {}; |
| | | this.manageOnLoad(this.managePage); |
| | | }, |
| | | manageCurrentChange (currentPage) { |
| | | this.managePage.currentPage = currentPage; |
| | | }, |
| | | manageSizeChange (pageSize) { |
| | | this.managePage.pageSize = pageSize; |
| | | }, |
| | | //许可证字段修改 |
| | | this.contentLabel = "培训内容"; |
| | | this.registerCapitalVisiable = false; |
| | | } |
| | | if (data.stats == "4") { |
| | | data.stats = "分公司"; |
| | | that.representativecellLabel = "分公司负责人电话"; |
| | | that.representativeLabel = "分公司负责人"; |
| | | } |
| | | that.form = data; |
| | | that.forms = data; |
| | | that.seestaff = true; |
| | | that.businessLicenseUrl = data.businessLicense; |
| | | that.licenceUrl = data.licence; |
| | | } else { |
| | | this.form = this.$route.query; |
| | | this.jurisdictionSee = this.form.$jurisdiction; |
| | | this.forms = this.$route.query; |
| | | this.seestaff = true; |
| | | this.getFromData({ |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }); |
| | | } |
| | | }, |
| | | //防 tab 重复 |
| | | tabClear() { |
| | | var flag = false, |
| | | i = 0, |
| | | ind = null; |
| | | |
| | | this.$store.state.tags.tagList.forEach((item, index) => { |
| | | if ( |
| | | item.label == "保安公司详细资料" || |
| | | item.label == "保安公司详细信息" |
| | | ) { |
| | | if (flag == false) { |
| | | ind = index; |
| | | flag = true; |
| | | } |
| | | i++; |
| | | } |
| | | }); |
| | | |
| | | if (i > 1) { |
| | | this.$store.state.tags.tagList.splice(ind, 1); |
| | | } |
| | | }, |
| | | getFromData(page, params = {}) { |
| | | var that = this; |
| | | params["departmentid"] = this.forms.departmentid; |
| | | getList(page.currentPage, page.pageSize, params).then((res) => { |
| | | that.form = res.data.data.records[0]; |
| | | var data = res.data.data.records[0]; |
| | | if (data.stats == "2") { |
| | | data.stats = "本市保安公司"; |
| | | } |
| | | if (data.stats == "0") { |
| | | data.stats = "自招保安单位"; |
| | | that.representativeVisiable = false; |
| | | that.industryVisiable = false; |
| | | that.fregionVisiable = true; |
| | | } |
| | | if (data.stats == "1") { |
| | | data.stats = "保安培训学校"; |
| | | } |
| | | if (data.stats == "4") { |
| | | data.stats = "分公司"; |
| | | that.representativecellLabel = "分公司负责人电话"; |
| | | that.representativeLabel = "分公司负责人"; |
| | | } |
| | | that.form = data; |
| | | that.forms = data; |
| | | this.businessLicenseUrl = res.data.data.records[0].businessLicense; |
| | | this.licenceUrl = res.data.data.records[0].licence; |
| | | }); |
| | | }, |
| | | handleClick(tab) { |
| | | if (tab.index == 2) { |
| | | this.investorSearchReset(); |
| | | } else if (tab.index == 3) { |
| | | this.manageSearchReset(); |
| | | } else if (tab.index == 5) { |
| | | this.seestaff2 = !this.seestaff2; |
| | | } else if (tab.index == 7) { |
| | | this.seestaff3 = !this.seestaff3; |
| | | } else { |
| | | this.getFromData({ |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | }); |
| | | } |
| | | |
| | | if(tab.name =="tenth"){ |
| | | //获取许可证信息 |
| | | this.getLicenceInfo(); |
| | | } |
| | | }, |
| | | //获取许可证信息 |
| | | getLicenceInfo() { |
| | | var that = this; |
| | | getLicenceDetail(this.deptId).then((res) => { |
| | | that.licenceForm = res.data.data; |
| | | that.licenceUrlList.push(res.data.data.url); |
| | | }); |
| | | }, |
| | | getManifestationData() { |
| | | manifestationList(this.forms.cardid).then((res) => { |
| | | this.manifestationData = res.data.data.records; |
| | | this.manifestationData.forEach((item) => { |
| | | item.name = this.forms.realName; |
| | | item.time = item.time.substring(0, 10); |
| | | }); |
| | | }); |
| | | }, |
| | | getDispatchData() { |
| | | dispatchList(this.forms.cardid).then((res) => { |
| | | this.dispatchData = res.data.data.records; |
| | | }); |
| | | }, |
| | | getHonorchData() { |
| | | honorchList(this.forms.cardid).then((res) => { |
| | | this.honorchData = res.data.data.records; |
| | | }); |
| | | }, |
| | | getTrainData() { |
| | | trainList(this.forms.cardid).then((res) => { |
| | | this.trainData = res.data.data; |
| | | |
| | | this.trainData.forEach((item) => { |
| | | if (item.sex == 1) { |
| | | item.sex = "男"; |
| | | } else { |
| | | item.sex = "女"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | getExaminationData() { |
| | | examinationList(this.forms.cardid).then((res) => { |
| | | this.examinationData = res.data.data; |
| | | |
| | | this.examinationData.forEach((item) => { |
| | | if (item.stat == 1) { |
| | | item.stat = "不通过"; |
| | | } else { |
| | | item.stat = "通过"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | investorSizerefresh() { |
| | | this.investorOnLoad(this.investorPage, this.investorQuery); |
| | | }, |
| | | investorOnLoad(page, params = {}) { |
| | | this.investorLoading = true; |
| | | params["deptId"] = this.form.departmentid; |
| | | getInvestorList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.investorQuery) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | |
| | | this.investorPage.total = data.total; |
| | | this.investorData = data.records; |
| | | this.investorLoading = false; |
| | | this.$refs.investorCrud.refreshTable(); |
| | | this.$refs.investorCrud.doLayout(); |
| | | this.investorSelectionClear(); |
| | | }); |
| | | }, |
| | | investorSelectionClear() { |
| | | this.investorSelectionList = []; |
| | | this.$refs.investorCrud.toggleSelection(); |
| | | }, |
| | | investorSelectionChange(list) { |
| | | this.investorSelectionList = list; |
| | | }, |
| | | investorSearchChange(params, done) { |
| | | this.investorQuery = params; |
| | | this.investorPage.currentPage = 1; |
| | | this.investorOnLoad(this.investorPage, params); |
| | | done(); |
| | | }, |
| | | investorSearchReset() { |
| | | this.investorQuery = {}; |
| | | this.investorOnLoad(this.investorPage); |
| | | }, |
| | | investorCurrentChange(currentPage) { |
| | | this.investorPage.currentPage = currentPage; |
| | | }, |
| | | investorSizeChange(pageSize) { |
| | | this.investorPage.pageSize = pageSize; |
| | | }, |
| | | manageSizerefresh() { |
| | | this.manageOnLoad(this.managePage, this.manageQuery); |
| | | }, |
| | | manageOnLoad(page, params = {}) { |
| | | this.manageLoading = true; |
| | | params["deptId"] = this.form.departmentid; |
| | | getManageList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.manageQuery) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | |
| | | this.managePage.total = data.total; |
| | | this.manageData = data.records; |
| | | this.manageLoading = false; |
| | | |
| | | this.$refs.manageCrud.refreshTable(); |
| | | this.$refs.manageCrud.doLayout(); |
| | | |
| | | this.manageSelectionClear(); |
| | | }); |
| | | }, |
| | | manageSelectionClear() { |
| | | this.manageSelectionList = []; |
| | | this.$refs.manageCrud.toggleSelection(); |
| | | }, |
| | | manageSelectionChange(list) { |
| | | this.manageSelectionList = list; |
| | | }, |
| | | manageSearchChange(params, done) { |
| | | this.manageQuery = params; |
| | | this.managePage.currentPage = 1; |
| | | this.manageOnLoad(this.managePage, params); |
| | | done(); |
| | | }, |
| | | manageSearchReset() { |
| | | this.manageQuery = {}; |
| | | this.manageOnLoad(this.managePage); |
| | | }, |
| | | manageCurrentChange(currentPage) { |
| | | this.managePage.currentPage = currentPage; |
| | | }, |
| | | manageSizeChange(pageSize) { |
| | | this.managePage.pageSize = pageSize; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .businessLicenses { |
| | | padding-top: 15px; |
| | | background-color: transparent; |
| | | padding-top: 15px; |
| | | background-color: transparent; |
| | | } |
| | | .el-main { |
| | | background-color: transparent; |
| | | color: #333; |
| | | text-align: center; |
| | | // position: relative; |
| | | // right: 5%; |
| | | background-color: transparent; |
| | | color: #333; |
| | | text-align: center; |
| | | // position: relative; |
| | | // right: 5%; |
| | | } |
| | | .businessLicensess { |
| | | height: 680px; |
| | | width: 450px; |
| | | height: 680px; |
| | | width: 450px; |
| | | } |
| | | .Licenses { |
| | | height: 680px; |
| | | width: 1048px; |
| | | height: 680px; |
| | | width: 1048px; |
| | | } |
| | | .title { |
| | | color: #fff; |
| | | color: #fff; |
| | | } |
| | | |
| | | |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 178px; |
| | | height: 178px; |
| | | line-height: 178px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 178px; |
| | | height: 178px; |
| | | display: block; |
| | | } |
| | | </style> |
| | |
| | | width: 70, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | searchSpan: 6, |
| | | searchLabelWidth: 110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入所属保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | |
| | | ], |
| | | }, |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | type: "tree", |
| | | overHidden: true, |
| | |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择保安公司", |
| | | message: "请选择企业名称", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | |
| | | var DIC = [ |
| | | { |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC1 = [ |
| | | { |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | } |
| | | ] |
| | | var DIC = [{ |
| | | label: '招聘中', |
| | | value: 1, |
| | | }, { |
| | | label: '停止招聘', |
| | | value: 2, |
| | | }] |
| | | var DIC1 = [{ |
| | | label: '拥有', |
| | | value: 1, |
| | | }, { |
| | | label: '未拥有', |
| | | value: 2, |
| | | }] |
| | | |
| | | var w = 160 |
| | | , s = 12; |
| | | export var column = [ |
| | | { |
| | | var w = 160, |
| | | s = 12; |
| | | export var column = [{ |
| | | label: "id", |
| | | prop: "id", |
| | | hide: true, |
| | |
| | | // value: JSON.parse(window.localStorage.getItem("saber-userInfo")).content.dept_id |
| | | // },//上面不显示 |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | // addDisplay: true, |
| | |
| | | // trigger: "blur" |
| | | // }], |
| | | }, |
| | | ] |
| | | ] |
| | |
| | | |
| | | // 行单击 |
| | | handleRowClick(row) { |
| | | // delete (row["name"]); |
| | | var obj = row; |
| | | obj["name"] = "保安公司详细信息"; |
| | | // console.log(obj, "obj"); |
| | | var data = JSON.stringify(obj); |
| | | this.$router.push({ |
| | | path: `/securityCompany/index`, |
| | | query: obj, |
| | | query: {data:data}, |
| | | }); |
| | | }, |
| | | }, |
| | |
| | | |
| | | // 行单击 |
| | | handleRowClick(row) { |
| | | // delete (row["name"]); |
| | | var obj = row; |
| | | obj["name"] = "保安公司详细信息"; |
| | | // console.log(obj, "obj"); |
| | | var data = JSON.stringify(obj); |
| | | this.$router.push({ |
| | | path: `/securityCompany/index`, |
| | | query: obj, |
| | | query: {data:data}, |
| | | }); |
| | | }, |
| | | }, |
| | |
| | | // // addDisplay: false |
| | | // }, |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | labelWidth: 120, |
| | | searchLabelWidth: 75, |
| | |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | |
| | | : "" |
| | | }} |
| | | </template> |
| | | <template slot-scope="{ row }" slot="deptId"> |
| | | <template slot-scope="{ row }" slot="deptName"> |
| | | <el-tag |
| | | class="rowClickSelf" |
| | | title="点击查看所属公司情况" |
| | | @click="rowClickSelf(row.deptId)" |
| | | >{{ row.$deptId }}</el-tag |
| | | >{{ row.deptName }}</el-tag |
| | | > |
| | | </template> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | |
| | | import { getToken } from "@/util/auth"; |
| | | import { addhonor, getER } from "@/api/register/honor"; |
| | | import baoanz from "./baoanz.vue"; |
| | | import { getInformationDetails } from "@/api/securityCompany/security"; |
| | | export default { |
| | | components: { |
| | | baoanz, |
| | |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | value: "id", |
| | | }, |
| | | slot: true, |
| | | hide:true, |
| | | searchSpan: 5, |
| | | display: false, |
| | | overHidden: true, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | slot: true, |
| | | display: false, |
| | | overHidden: true, |
| | | width: 198, |
| | | }, |
| | | { |
| | |
| | | this.$store.commit("setWindowSizeHeightAdd"); |
| | | }, |
| | | methods: { |
| | | rowClickSelf(row) { |
| | | // console.log(row, "baoan"); |
| | | this.$router.push({ |
| | | path: "/securityCompany/index", |
| | | query: { fromSecunityGuardId: row }, |
| | | }); |
| | | rowClickSelf(deptId) { |
| | | var data = { |
| | | departmentid:deptId |
| | | } |
| | | getInformationDetails(data).then((res) => { |
| | | var obj = res.data.data; |
| | | obj["name"] = "保安公司详细信息"; |
| | | var data = JSON.stringify(obj); |
| | | this.$router.push({ |
| | | path: "/securityCompany/index", |
| | | query: { data: data }, |
| | | }); |
| | | }) |
| | | |
| | | }, |
| | | Print() { |
| | | this.$Print(this.$refs.baoanzheng); |
| | |
| | | }, |
| | | errorf(err) { |
| | | this.$message.success("请查看控制台"); |
| | | console.log(err); |
| | | // console.log(err); |
| | | }, |
| | | handleClose(done) { |
| | | this.objf = {}; |
| | |
| | | this.dialogVisible = true; |
| | | }, |
| | | nodeClick(data) { |
| | | // this.treeDeptId = data.id; |
| | | // console.log(data, 55555); |
| | | if (data.title != "南昌市公安局") { |
| | | this.jurisdiction = data.id; |
| | | } else { |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | // console.log(this.jurisdiction,33333); |
| | | params["jurisdiction"] = this.jurisdiction; |
| | | // console.log(params, 1, this.query, 2); |
| | | getListSecurity( |
| | | page.currentPage, |
| | | page.pageSize, |
| | |
| | | }) |
| | | .then(() => { |
| | | updateHold(3, row.cardid).then((res) => { |
| | | console.log(res); |
| | | // console.log(res); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "吊销成功!", |
| | |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="{ row }" slot="deptId"> |
| | | <!-- <template slot-scope="{ row }" slot="deptId"> |
| | | <el-tag |
| | | class="rowClickSelf" |
| | | title="点击查看所属公司情况" |
| | | @click="rowClickSelf(row.deptId)" |
| | | >{{ row.$deptId }}</el-tag |
| | | > |
| | | </template> |
| | | </template> --> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | :size="size" |
| | |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | return ids.join(","); |
| | | }, |
| | | }, |
| | | created(){ |
| | | this.departmentid = this.$route.query.departmentid; |
| | | }, |
| | | mounted() { |
| | | //重复菜单 |
| | | |
| | |
| | | // 判断是否从保安公司人数点击跳转 |
| | | if (this.$route.query.departmentid) { |
| | | this.departmentid = this.$route.query.departmentid; |
| | | // console.log(this.departmentid, "ddddddddddddd"); |
| | | console.log(this.departmentid, "ddddddddddddd"); |
| | | this.spanRight = 24; |
| | | this.spanLeft = 0; |
| | | var d = this.option.column; |
| | |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}, deptId) { |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | params["jurisdiction"] = this.jurisdiction; |
| | | if (this.departmentid) { |
| | | params["deptId"] = this.departmentid; |
| | | } |
| | | console.log(params,123456) |
| | | console.log(this.query,123456) |
| | | getListSecurity( |
| | | page.currentPage, |
| | | page.pageSize, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container class="businessDetail"> |
| | | <avue-crud |
| | | :option="tableOption" |
| | | :table-loading="loading" |
| | |
| | | // display: false |
| | | }, |
| | | { |
| | | label: "保安公司名称", |
| | | label: "企业名称", |
| | | width: 300, |
| | | prop: "deptName", |
| | | display: false |
| | |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped></style> |
| | | <style lang="scss" scoped> |
| | | .businessDetail{ |
| | | height: 50%; |
| | | } |
| | | </style> |
| | |
| | | // display: false |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | width: 300, |
| | | display: false |
| | |
| | | display: false |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "enterpriseName", |
| | | width: 300, |
| | | display: false |
| New file |
| | |
| | | <template> |
| | | <div> |
| | | <basic-container class="witerFontColorInput"> |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | | :page.sync="page" |
| | | :search.sync="search" |
| | | :table-loading="loading" |
| | | @on-load="onLoad(page)" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @refresh-change="refreshChange" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | type="warning" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-download" |
| | | @click="handleExportLoginRecord" |
| | | >导出 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | </basic-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getInformationLoginPage } from "@/api/loginRecord/loginRecord"; |
| | | import { lazyTrees } from "@/api/index/index"; |
| | | import {dictionaryList} from "@/api/statisticalQueryManagement/statisticalQueryManagement"; |
| | | import Qs from "qs"; |
| | | import { getToken } from "@/util/auth"; |
| | | import { mapGetters } from "vuex"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | query: {}, |
| | | search: {}, |
| | | data: [], |
| | | option: { |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | selection: false, |
| | | menu: false, |
| | | align: "center", |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShowBtn: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | index: true, |
| | | column: [ |
| | | { |
| | | label: "登录时间", |
| | | prop: "releaseTimeRange", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | searchRange: true, |
| | | hide: true, |
| | | search: true, |
| | | searchSpan: 6, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入登录时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | disabled: true, |
| | | overHidden: true, |
| | | searchSpan: 5, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "所属辖区", |
| | | prop: "jurisdictionName", |
| | | searchSpan: 4, |
| | | type: "tree", |
| | | props: { |
| | | label: "title", |
| | | value: "id", |
| | | }, |
| | | dicData: [], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属辖区", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "企业属性", |
| | | prop: "stats", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | type: "select", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey", |
| | | }, |
| | | dicData: [], |
| | | }, |
| | | { |
| | | label: "最近一次登录时间", |
| | | prop: "createTime", |
| | | minWidth: 100, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "登录次数", |
| | | prop: "num", |
| | | disabled: false, |
| | | }, |
| | | { |
| | | label: "是否有登录", |
| | | prop: "types", |
| | | search: true, |
| | | disabled: false, |
| | | searchLabelWidth: 100, |
| | | type: "select", |
| | | searchSpan: 4, |
| | | hide: true, |
| | | dicData: [ |
| | | { |
| | | label: "全部", |
| | | value: 3, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 2, |
| | | }, |
| | | { |
| | | label: "否", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | }, |
| | | created(){ |
| | | //分别查询辖区和字典数据 |
| | | this.getSubOfficeData(); |
| | | this.getDictionaryList(); |
| | | }, |
| | | methods: { |
| | | //登录数据导出 |
| | | handleExportLoginRecord() { |
| | | this.$confirm("是否导出企业登录记录数据?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }).then(() => { |
| | | //获取查询条件 |
| | | const { releaseTimeRange } = this.search; |
| | | if (releaseTimeRange) { |
| | | this.search["startTime"] = releaseTimeRange[0]; |
| | | this.search["endTime"] = releaseTimeRange[1]; |
| | | } |
| | | var data = { |
| | | jurisdiction: this.search.jurisdictionName, |
| | | stats: this.search.stats, |
| | | deptName: this.search.deptName, |
| | | types: this.search.types, |
| | | startTime: this.search.startTime, |
| | | endTime: this.search.endTime, |
| | | }; |
| | | // console.log(data,123); |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open( |
| | | `/api/loginRecord/export-login-record?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data |
| | | ); |
| | | }); |
| | | }, |
| | | //获取辖区数据 |
| | | getSubOfficeData() { |
| | | lazyTrees().then((res) => { |
| | | if (res.data.code === 200) { |
| | | this.option.column.forEach((item) => { |
| | | if (item.label == "所属辖区") { |
| | | item.dicData = res.data.data; |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | }); |
| | | }, |
| | | //获取字典表数 |
| | | getDictionaryList() { |
| | | dictionaryList().then((res) => { |
| | | if (res.data.code === 200) { |
| | | this.option.column.forEach((item) => { |
| | | if (item.label == "企业属性") { |
| | | item.dicData = res.data.data; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | //属性值转换 |
| | | params["jurisdiction"] = params["jurisdictionName"] || ""; |
| | | |
| | | const { releaseTimeRange } = this.search; |
| | | |
| | | let values = { |
| | | ...params, |
| | | }; |
| | | if (releaseTimeRange) { |
| | | values = { |
| | | ...params, |
| | | startTime: releaseTimeRange[0], |
| | | endTime: releaseTimeRange[1], |
| | | ...this.query, |
| | | }; |
| | | values.releaseTimeRange = null; |
| | | } |
| | | |
| | | getInformationLoginPage(page.currentPage, page.pageSize, values).then( |
| | | (res) => { |
| | | const data = res.data.data; |
| | | this.data = data.records; |
| | | this.page.total = data.total; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.refreshChange(); |
| | | done(); |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.page.currentPage = 1; |
| | | this.refreshChange(); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | </style> |
| | |
| | | display: false |
| | | }, |
| | | { |
| | | label: "保安公司", |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | width: 300, |
| | | // search: true, |
| | |
| | | index: true, |
| | | viewBtn: true, |
| | | selection: true, |
| | | menu:false, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | menu: false, |