diff --git a/.gitignore b/.gitignore index 1bb3dbf6..7c1c90a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,18 @@ .vs/ .vscode/ .idea/ -safesite/__pycache__/ +/safesite/__pycache__/ .idea/workspace.xml -safesite/edu/__pycache__/ -safesite/datashow/__pycache__/ -duibiao/__pycache__/ -mysite/__pycache__/ -media/ -aspnet_client/ -static/ -mysite/settings.py -safesite/token.txt -web.config +/safesite/edu/__pycache__/ +/safesite/datashow/__pycache__/ +/duibiao/__pycache__/ +/mysite/__pycache__/ +/media/ +/aspnet_client/ +/static/ +/mysite/settings.py +/safesite/token.txt +/web.config # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/groups/static/groups/bower_components/mocha/media/logo.svg b/groups/static/groups/bower_components/mocha/media/logo.svg new file mode 100644 index 00000000..8770b08d --- /dev/null +++ b/groups/static/groups/bower_components/mocha/media/logo.svg @@ -0,0 +1,8 @@ + + + + + +mocha + diff --git a/safesite/static/safesite/easyui/datagrid-scrollview.js b/safesite/static/safesite/easyui/datagrid-scrollview.js new file mode 100644 index 00000000..c10f84b2 --- /dev/null +++ b/safesite/static/safesite/easyui/datagrid-scrollview.js @@ -0,0 +1,460 @@ +$.extend($.fn.datagrid.defaults, { + onBeforeFetch: function(page){}, + onFetch: function(page, rows){} +}); + +var scrollview = $.extend({}, $.fn.datagrid.defaults.view, { + render: function(target, container, frozen){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var rows = this.rows || []; + if (!rows.length) { + return; + } + var fields = $(target).datagrid('getColumnFields', frozen); + + if (frozen){ + if (!(opts.rownumbers || (opts.frozenColumns && opts.frozenColumns.length))){ + return; + } + } + + var index = this.index; + var table = ['']; + for(var i=0; i'); + table.push(this.renderRow.call(this, target, fields, frozen, index, rows[i])); + table.push(''); + + // render the detail row + if (opts.detailFormatter){ + table.push(''); + if (frozen){ + table.push(''); + table.push(''); + } + + index++; + } + table.push('
'); + } else { + table.push(''); + } + table.push('
'); + if (frozen){ + table.push(' '); + } else { + table.push(opts.detailFormatter.call(target, i, rows[i])); + } + table.push('
'); + table.push('
'); + + $(container).html(table.join('')); + }, + + renderRow: function(target, fields, frozen, rowIndex, rowData){ + var opts = $.data(target, 'datagrid').options; + + var cc = []; + if (frozen && opts.rownumbers){ + var rownumber = rowIndex + 1; + if (opts.pagination){ + rownumber += (opts.pageNumber-1)*opts.pageSize; + } + cc.push('
'+rownumber+'
'); + } + for(var i=0; i'); + + if (col.checkbox){ + style = ''; + } else if (col.expander){ + style = "text-align:center;height:16px;"; + } else { + style = styleValue; + if (col.align){style += ';text-align:' + col.align + ';'} + if (!opts.nowrap){ + style += ';white-space:normal;height:auto;'; + } else if (opts.autoRowHeight){ + style += ';height:auto;'; + } + } + + cc.push('
'); + + if (col.checkbox){ + cc.push(''); + } else if (col.expander) { + //cc.push('
'); + cc.push(''); + //cc.push('
'); + } else if (col.formatter){ + cc.push(col.formatter(value, rowData, rowIndex)); + } else { + cc.push(value); + } + + cc.push('
'); + cc.push(''); + } + } + return cc.join(''); + }, + + bindEvents: function(target){ + var state = $.data(target, 'datagrid'); + var dc = state.dc; + var opts = state.options; + var body = dc.body1.add(dc.body2); + var clickHandler = ($.data(body[0],'events')||$._data(body[0],'events')).click[0].handler; + body.unbind('click').bind('click', function(e){ + var tt = $(e.target); + var tr = tt.closest('tr.datagrid-row'); + if (!tr.length){return} + if (tt.hasClass('datagrid-row-expander')){ + var rowIndex = parseInt(tr.attr('datagrid-row-index')); + if (tt.hasClass('datagrid-row-expand')){ + $(target).datagrid('expandRow', rowIndex); + } else { + $(target).datagrid('collapseRow', rowIndex); + } + $(target).datagrid('fixRowHeight'); + + } else { + clickHandler(e); + } + e.stopPropagation(); + }); + }, + + onBeforeRender: function(target){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var dc = state.dc; + var view = this; + + state.data.firstRows = state.data.rows; + + opts.finder = $.extend({}, $.fn.datagrid.defaults.finder, { + getRow: function(t, p){ + var index = (typeof p == 'object') ? p.attr('datagrid-row-index') : p; + var row = $.data(t, 'datagrid').data.rows[index]; + if (!row){ + var v = $(t).datagrid('options').view; + row = v.rows[index - v.index]; + } + return row; + } + }); + + dc.body1.add(dc.body2).empty(); + this.rows = undefined; // the rows to be rendered + this.r1 = this.r2 = []; // the first part and last part of rows + + init(); + createHeaderExpander(); + + function init(){ + // erase the onLoadSuccess event, make sure it can't be triggered + state.onLoadSuccess = opts.onLoadSuccess; + opts.onLoadSuccess = function(){}; + setTimeout(function(){ + dc.body2.unbind('.datagrid').bind('scroll.datagrid', function(e){ + if (state.onLoadSuccess){ + opts.onLoadSuccess = state.onLoadSuccess; // restore the onLoadSuccess event + state.onLoadSuccess = undefined; + } + if (view.scrollTimer){ + clearTimeout(view.scrollTimer); + } + view.scrollTimer = setTimeout(function(){ + scrolling.call(view); + }, 50); + }); + dc.body2.triggerHandler('scroll.datagrid'); + }, 0); + } + function scrolling(){ + if (dc.body2.is(':empty')){ + reload.call(this); + } else { + var firstTr = opts.finder.getTr(target, this.index, 'body', 2); + var lastTr = opts.finder.getTr(target, 0, 'last', 2); + var headerHeight = dc.view2.children('div.datagrid-header').outerHeight(); + var top = firstTr.position().top - headerHeight; + var bottom = lastTr.position().top + lastTr.outerHeight() - headerHeight; + + if (top > dc.body2.height() || bottom < 0){ + reload.call(this); + } else if (top > 0){ + var page = Math.floor(this.index/opts.pageSize); + this.getRows.call(this, target, page, function(rows){ + this.r2 = this.r1; + this.r1 = rows; + this.index = (page-1)*opts.pageSize; + this.rows = this.r1.concat(this.r2); + this.populate.call(this, target); + }); + } else if (bottom < dc.body2.height()){ + var page = Math.floor(this.index/opts.pageSize)+2; + if (this.r2.length){ + page++; + } + this.getRows.call(this, target, page, function(rows){ + if (!this.r2.length){ + this.r2 = rows; + } else { + this.r1 = this.r2; + this.r2 = rows; + this.index += opts.pageSize; + } + this.rows = this.r1.concat(this.r2); + this.populate.call(this, target); + }); + } + } + + function reload(){ + var top = $(dc.body2).scrollTop(); + var index = Math.floor(top/25); + var page = Math.floor(index/opts.pageSize) + 1; + + this.getRows.call(this, target, page, function(rows){ + this.index = (page-1)*opts.pageSize; + this.rows = rows; + this.r1 = rows; + this.r2 = []; + this.populate.call(this, target); + dc.body2.triggerHandler('scroll.datagrid'); + }); + } + } + function createHeaderExpander(){ + if (!opts.detailFormatter){return} + + var t = $(target); + var hasExpander = false; + var fields = t.datagrid('getColumnFields',true).concat(t.datagrid('getColumnFields')); + for(var i=0; i
'); + if ($('tr',t).length == 0){ + td.wrap('').parent().appendTo($('tbody',t)); + } else if (opts.rownumbers){ + td.insertAfter(t.find('td:has(div.datagrid-header-rownumber)')); + } else { + td.prependTo(t.find('tr:first')); + } + } + + setTimeout(function(){ + view.bindEvents(target); + },0); + } + }, + + onAfterRender: function(target){ + $.fn.datagrid.defaults.view.onAfterRender.call(this, target); + var dc = $.data(target, 'datagrid').dc; + var footer = dc.footer1.add(dc.footer2); + footer.find('span.datagrid-row-expander').css('visibility', 'hidden'); + }, + + getRows: function(target, page, callback){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var index = (page-1)*opts.pageSize; + + if (opts.onBeforeFetch.call(target, page) == false){return} + + var rows = state.data.firstRows.slice(index, index+opts.pageSize); + if (rows.length){ + opts.onFetch.call(target, page, rows); + callback.call(this, rows); + } else { + var param = $.extend({}, opts.queryParams, { + page: page, + rows: opts.pageSize + }); + if (opts.sortName){ + $.extend(param, { + sort: opts.sortName, + order: opts.sortOrder + }); + } + if (opts.onBeforeLoad.call(target, param) == false) return; + + $(target).datagrid('loading'); + var result = opts.loader.call(target, param, function(data){ + $(target).datagrid('loaded'); + var data = opts.loadFilter.call(target, data); + opts.onFetch.call(target, page, data.rows); + if (data.rows && data.rows.length){ + callback.call(opts.view, data.rows); + } else { + opts.onLoadSuccess.call(target, data); + } + }, function(){ + $(target).datagrid('loaded'); + opts.onLoadError.apply(target, arguments); + }); + if (result == false){ + $(target).datagrid('loaded'); + if (!state.data.firstRows.length){ + opts.onFetch.call(target, page, state.data.firstRows); + opts.onLoadSuccess.call(target, state.data); + } + } + } + }, + + populate: function(target){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var dc = state.dc; + var rowHeight = 25; + + if (this.rows.length){ + opts.view.render.call(opts.view, target, dc.body2, false); + opts.view.render.call(opts.view, target, dc.body1, true); +// dc.body1.add(dc.body2).children('table.datagrid-btable').css({ +// paddingTop: this.index*rowHeight, +// paddingBottom: state.data.total*rowHeight - this.rows.length*rowHeight - this.index*rowHeight +// }); + dc.body1.add(dc.body2).children('table.datagrid-btable').css({ + marginTop: this.index*rowHeight, + marginBottom: state.data.total*rowHeight - this.rows.length*rowHeight - this.index*rowHeight + }); + + var r = []; + for(var i=0; i 0) { - quality = obj.quality; - } - // quality值越小,所绘制出的图像越模糊 - var base64 = canvas.toDataURL('image/jpeg', quality); - // 回调函数返回base64的值 - callback(base64); - } -} -function convertBase64UrlToBlob(urlData) { - var arr = urlData.split(','), mime = arr[0].match(/:(.*?);/)[1], - bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); - while (n--) { - u8arr[n] = bstr.charCodeAt(n); - } - return new Blob([u8arr], { type: mime }); -} - -//取消上传 -function cancleUploadFile() { - - xhr.abort(); -} - -//验证表单不为空 -function myCheck(checkarray) { - for (var i = 0; i < checkarray.length; i++) { - if (checkarray[i] == "") { - return false; - } - } - return true; -} -//获取当前href的参数==当前dialog的地址 -function GetQueryString(name) { - var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); - var href = $('#dd').dialog('options')['href'] - var r = href.split('?')[1].match(reg); - if (r != null) return unescape(r[2]); return null; -} - -function GetQueryString2(name) { - var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); - var href = $('#userdd').dialog('options')['href'] - var r = href.split('?')[1].match(reg); - if (r != null) return unescape(r[2]); return null; -} - -//放大和缩小图片 -function bigger(o) { - var h = $(document).height() - var mh = h * 0.8 - $this = $(o); - var img_content = $this.attr("src"); - top.$("body").append( - "
" - + "
" - + "" - + "
" - ); - top.$(".bg-img").animate({ - width: "100%", - height: "100%", - bottom: "0", - left: "0", - }, "normal") - $('.bg-img').on("click", function () { - $(this).remove(); - }) -} - - - - -//加载menutree列表 -function convertmenu(rows) { - function exists(rows, parentid) { - for (var i = 0; i < rows.length; i++) { - if (rows[i].menuid == parentid) return true; - } - return false; - } - - var nodes = []; - // get the top level nodes - for (var i = 0; i < rows.length; i++) { - var row = rows[i]; - if (!exists(rows, row.parentid)) { - nodes.push({ - id: row.menuid, - text: row.menuname, - checked: row.checked, - iconCls: row.icon, - attributes: row.url - }); - } - } - - var toDo = []; - for (var i = 0; i < nodes.length; i++) { - toDo.push(nodes[i]); - } - while (toDo.length) { - var node = toDo.shift(); // the parent node - // get the children nodes - for (var i = 0; i < rows.length; i++) { - var row = rows[i]; - if (row.parentid == node.id) { - var child = { id: row.menuid, text: row.menuname, attributes: row.url, iconCls: row.icon, checked: row.checked }; - if (node.children) { - node.children.push(child); - } else { - node.children = [child]; - } - toDo.push(child); - } - } - } - return nodes; -} - -//datagrid加载tree列表 -function convert(rows, x) { - var x = x || 'open'; - function exists(rows, parentId) { - for (var i = 0; i < rows.length; i++) { - if (rows[i].id == parentId) return true; - } - return false; - } - - var nodes = []; - // get the top level nodes - for (var i = 0; i < rows.length; i++) { - var row = rows[i]; - if (!exists(rows, row.parentId)) { - nodes.push({ - id: row.id, - text: row.name, - state: x, - pic: row.pic - }); - } - } - - var toDo = []; - for (var i = 0; i < nodes.length; i++) { - toDo.push(nodes[i]); - } - while (toDo.length) { - var node = toDo.shift(); // the parent node - // get the children nodes - for (var i = 0; i < rows.length; i++) { - var row = rows[i]; - if (row.parentId == node.id) { - var child = { id: row.id, text: row.name, pic: row.pic }; - if (node.children) { - node.children.push(child); - } else { - node.children = [child]; - } - toDo.push(child); - } - } - } - return nodes; -} -//关闭dialog-dd -function closeForm() { - $("#dd").dialog("close"); -} -//关闭dialog-userdd -function closed2Form() { - $('#userdd').dialog("close"); -} -//关闭dialog-userdd -function close3Form() { - $('#questiondd').dialog("close"); -} -//新建iframe -function createFrame(url) { - var s = ''; - return s; -} - -//移除上传的文件或图片或列表 -function removep(o) { - $(o).closest('li').remove(); -} - -//判断是否为数字 -function isNumber(val) { - - var regPos = /^\d+(\.\d+)?$/; //非负浮点数 - //var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数 - if (regPos.test(val)) { - return true; - } else { - return false; - } - -} -//判断是否为整数 -function isIntNum(val) { - var regPos = /^\d+$/; // 非负整数 - //var regNeg = /^\-[1-9][0-9]*$/; // 负整数 - if (regPos.test(val)) { - return true; - } else { - return false; - } -} -// function opendialog(o){ -// _clickTab = $(o).attr('url'); -// _value = $(o).text(); -// if (window.screen) { -// var myh = screen.availHeight * 0.7; -// $("#dd").dialog({ -// maximizable: true, -// title: _value, -// width: 600, -// height: myh, -// closed: false, -// cache: false, -// href: _clickTab, -// modal: true, -// border:false, -// }); -// $("#dd").window('center'); -// } -// } -function changehref(o) { - - _clickTab = $(o).attr('url');// 找到链接a中的targer的值 - - _value = $(o).attr('value'); - - $("#main").attr('value', _value); - $("#main").panel({ href: _clickTab, title: $(o).attr('title') }); - // $.ajax({ - // type: "get", - // url: _clickTab, - // async: false, - // success: function (data) { - // $("#main").attr('value',_value); - // $("#main").html(data); - // } - // }); -} -//获取dialog-dd传值 -function getQueryParam(name) { - var obj = $('#dd').dialog('options'); - var queryParams = obj["queryParams"]; - - return queryParams[name]; -} - -//部分页面操作函数 -//新增隐患 -function edityh(troubleid) { - if (window.screen) { - var myh = screen.availHeight * 0.7; - var url = 'addtrouble?a=edityh&troubleid=' + troubleid - $("#dd").dialog({ - maximizable: true, - title: '新增隐患', - width: 600, - height: myh, - closed: false, - cache: false, - href: url, - modal: true, - border: false, - }); - $("#dd").window('center'); - } -} - -function choseusers(x) { - var x = x || 'participant'; - var myh = screen.availHeight * 0.7; - $('#userdd').dialog({ - maximizable: true, - title: '选择人员', - width: 900, - height: myh, - closed: false, - cache: false, - href: 'getusersf?a=' + x, - modal: true, - border: false, - }); - $('#userdd').window('center'); -} -//导出excel -function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) { - //If JSONData is not an object then JSON.parse will parse the JSON string in an Object - var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) - : JSONData; - var CSV = ''; - //Set Report title in first row or line - CSV += ReportTitle + '\r\n\n'; - //This condition will generate the Label/Header - if (ShowLabel) { - var row = ""; - //This loop will extract the label from 1st index of on array - for (var index in arrData[0]) { - //Now convert each value to string and comma-seprated - row += index + ','; - } - row = row.slice(0, -1); - //append Label row with line break - CSV += row + '\r\n'; - } - //1st loop is to extract each row - for (var i = 0; i < arrData.length; i++) { - var row = ""; - //2nd loop will extract each column and convert it in string comma-seprated - for (var index in arrData[i]) { - row += '"' + arrData[i][index] + '",'; - } - row.slice(0, row.length - 1); - //add a line break after each row - CSV += row + '\r\n'; - } - if (CSV == '') { - alert("Invalid data"); - return; - } - //Generate a file name - var fileName = "MyReport_"; - //this will remove the blank-spaces from the title and replace it with an underscore - fileName += ReportTitle.replace(/ /g, "_"); - //Initialize file format you want csv or xls - var uri = 'data:text/csv;charset=utf-8,' + encodeURI(CSV); - // Now the little tricky part. - // you can use either>> window.open(uri); - // but this will not work in some browsers - // or you will not get the correct file extension - //this trick will generate a temp tag - var link = document.createElement("a"); - link.href = uri; - //set the visibility hidden so it will not effect on your web-layout - link.style = "visibility:hidden"; - link.download = fileName + ".csv"; - //this part will append the anchor tag and remove it after automatic click - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); -} -//loading效果 -function loading(msg) { - var msg = msg || '请稍等。。'; - $('body').loading({ - loadingWidth: 220, - title: msg, - titleColor: '#fff', - discColor: '#EDEEE9', - discription: '', - direction: 'column', - type: 'origin', - originBg: '#ECCFBB', - originDivWidth: 40, - originDivHeight: 40, - originWidth: 6, - originHeight: 6, - smallLoading: false, - loadingBg: 'rgba(56,43,14,0.8)', - loadingMaskBg: 'rgba(66,66,66,0.2)' - }); -} -//js判断为空 - - - -function isEmpty(obj) { - // 检验 undefined 和 null - if (!obj && obj !== 0 && obj !== '') { return true; } - if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) { return true; } - if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) { return true; } - return false; -} -function openlayer(title, href, w) { - var w = w || 600; - if (window.screen) { - var myh = screen.availHeight * 0.7; - $.get(href, function (res) { - layer.open({ - type: 1, - content: res, - title: title, - area: [w, myh] - }); - }) - } -} -//打开dd-dialog -function opendg(title, href, w) { - var w = w || 600; - if (window.screen) { - var myh = screen.availHeight * 0.7; - $("#dd").dialog({ - title: title, - width: w, - height: myh, - closed: false, - cache: false, - href: href, - modal: true, - border: false, - }).dialog('center'); - } -} - -function opendg2(title, href) { - if (window.screen) { - var myh = screen.availHeight * 0.8; - var myW = screen.availWidth * 0.7; - $("#questiondd").dialog({ - title: title, - width: myW, - height: myh, - closed: false, - cache: false, - href: href, - modal: true, - border: false, - }).dialog('center'); - } -} -/** - * 使用indexOf判断元素是否存在于数组中 - * @param {Object} arr 数组 - * @param {Object} value 元素值 - */ -function isInArray(arr, value) { - if (arr.indexOf && typeof (arr.indexOf) == 'function') { - var index = arr.indexOf(value); - if (index >= 0) { - return true; - } - } - return false; -} -function parseParams(data) { - try { - var tempArr = []; - for (var i in data) { - var key = encodeURIComponent(i); - var value = encodeURIComponent(data[i]); - tempArr.push(key + '=' + value); - } - var urlParamsStr = tempArr.join('&'); - return urlParamsStr; - } catch (err) { - return ''; - } -} -//排序 -function jsonSort(jsonObj) { - let arr = []; - for (var key in jsonObj) { - arr.push(key) - } - arr.sort(); - let str = ''; - for (var i in arr) { - str += arr[i] + "=" + jsonObj[arr[i]] + "&" - } - return str.substr(0, str.length - 1) -} -//map定时显示,每分钟请求一次 -function update() { - if ($('#mapshowinput').length) { - source.clear() - $.get('../api/mapshow?a=risk', function (res) { - for (let i = 0, len = res.length; i < len; i++) { - setPolygon(res[i]) - } - }) - $.get('../api/mapshow?a=trouble', function (res) { - for (let i = 0, len = res.length; i < len; i++) { - var data = res[i] - data.id = data.yhqy__id - data.num = data.num - data.polygon = data.yhqy__polygon - data.name = data.yhqy__name - data.type = 'yh' - setPoint(data) - } - }) - $.get('../api/mapshow?a=miss', function (res) { - for (let i = 0, len = res.length; i < len; i++) { - var data = res[i] - data.id = data.missqy__id - data.num = data.num - data.polygon = data.missqy__polygon - data.name = data.missqy__name - data.type = 'ws' - setPoint(data) - } - }) - $.get('../api/mapshow?a=operation', function (res) { - console.log(res) - for (let i = 0, len = res.length; i < len; i++) { - var data = res[i] - data.id = data.zyqy__id - data.num = data.num - data.polygon = data.zyqy__polygon - data.name = data.zyqy__name - data.type = 'zy' - setPoint(data) - } - }) - } -} -var t1 = window.setInterval(update, 1000 * 60) \ No newline at end of file diff --git a/safesite/static/safesite/mystatic/openlayer/polyfill.js b/safesite/static/safesite/mystatic/openlayer/polyfill.js new file mode 100644 index 00000000..4729194e --- /dev/null +++ b/safesite/static/safesite/mystatic/openlayer/polyfill.js @@ -0,0 +1,3 @@ +/* Disable minification (remove `.min` from URL path) for more info */ + +(function(undefined) {}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {}); \ No newline at end of file diff --git a/safesite/templates/datashow.html b/safesite/templates/datashow.html index 29cfc4dc..d1670b48 100644 --- a/safesite/templates/datashow.html +++ b/safesite/templates/datashow.html @@ -2,7 +2,7 @@ - + 数据大屏 @@ -341,7 +341,7 @@ //设置弹出框的容器 element: container, //是否自动平移,即假如标记在屏幕边缘,弹出时自动平移地图使弹出框完全可见 - autoPan: true + autoPan: false }); $.get('../api/map?a=default', function (res) { $('#map').empty() @@ -391,7 +391,7 @@ if (feature) { var data = feature.getProperties() //设置弹出框内容,可以HTML自定义 - var html = "

" + data.name + "

" + var html = "

" + data.name + "

" if (data.type == 'yh') { html = html + "

事故隐患数量:" + data.num.toString() + "

" } @@ -400,6 +400,9 @@ } else if (data.type == 'zy') { html = html + "

危险作业数量:" + data.num.toString() + "

" + for(let i=0;i"+(i+1).toString()+":"+ data.list[i].zylx__dickeyname + "--" +data.list[i].zybm__partname + "--" + data.list[i].zyfzr__name +"--作业人数"+data.list[i].num.toString()+ "

" + } } else if (data.type == 'fx') { html = html + "

风险等级:" + data.risklevel + "

" @@ -471,14 +474,14 @@ var data = feature.getProperties() if (data.type == 'yh') { src = '/static/safesite/mystatic/images/mapyh.png' - anchor = [0.5, 50] + anchor = [0.9, 50] } else if (data.type == 'ws') { src = '/static/safesite/mystatic/images/mapws.png' anchor = [0.1, 50] } else if (data.type == 'zy') { src = '/static/safesite/mystatic/images/mapzy.png' - anchor = [0.9, 50] + anchor = [0.5, 50] } else { src = '/static/safesite/mystatic/images/icon1.png' @@ -518,7 +521,8 @@ id: i.id, name: i.name, type: i.type, - num: i.num + num: i.num, + list:i.list }); pointFeature.setStyle(createPointStyle(pointFeature)); source.addFeature(pointFeature) diff --git a/safesite/templates/datashow2.html b/safesite/templates/datashow2.html new file mode 100644 index 00000000..2305f00c --- /dev/null +++ b/safesite/templates/datashow2.html @@ -0,0 +1,458 @@ + + + + + + + 数据大屏 + + + + + + + + + + +
+ 企业安全数据显示大屏 +
+
+
+
危险作业列表 +
+
+
+ + + + + + + + + + + + + +
作业编号作业类型作业区域作业部门作业负责人作业人数开始时间
+
+ +
+ + + + + + + + + + + + + +
作业编号作业类型作业区域作业部门作业负责人作业人数开始时间
+
+
+
+ + + + + + \ No newline at end of file diff --git a/safesite/templates/drill.html b/safesite/templates/drill.html index 26aa7356..ce8b9222 100644 --- a/safesite/templates/drill.html +++ b/safesite/templates/drill.html @@ -1,16 +1,7 @@
-
-
+ -
+
详细筛选 +
+
+ {% load myfilter %} + {% if request|has_permission:'b_drill_add' %} + 新增 + {% endif %} + 评估 + + {% if request|has_permission:'b_drill_del' %} + 删除 + {% endif %} + {% if request|has_permission:'b_drill_detail' %} + 查看详情 + {% endif %} + {% if request|has_permission:'b_drill_exportdoc' %} + 导出Word + {% endif %} + {% if request|has_permission:'b_drill_exportxls' %} + 导出Excel + {% endif %}
diff --git a/safesite/templates/edulessonindex.html b/safesite/templates/edulessonindex.html index 27bf0401..0ee05fd9 100644 --- a/safesite/templates/edulessonindex.html +++ b/safesite/templates/edulessonindex.html @@ -1,16 +1,7 @@ -
-
- 上传视频 - 上传文件 - 删除文件 + -
+
+
+
+ {% load myfilter %} + {% if request|has_permission:'b_edu_addvideo' %} + 上传视频 + {% endif %} + {% if request|has_permission:'b_edu_addfile' %} + 上传文件 + {% endif %} + {% if request|has_permission:'b_edu_del' %} + 删除文件 + {% endif %} + {% if request|has_permission:'b_edu_study' %} + 点击学习 + {% endif %} + {% if request|has_permission:'b_edu_detail' %} + 观看历史 + {% endif %} + +
diff --git a/safesite/templates/equipment.html b/safesite/templates/equipment.html index ca770a8f..d784c15f 100644 --- a/safesite/templates/equipment.html +++ b/safesite/templates/equipment.html @@ -6,14 +6,22 @@
+ {% load myfilter %} + {% if request|has_permission:'b_equipment_add' %} 新增设备 + + {% endif %} + {% if request|has_permission:'b_equipment_import' %} 导入设备 + {% endif %} + {% if request|has_permission:'b_equipment_del' %} 删除 + {% endif %}
@@ -29,7 +37,12 @@ 查询 + {% if request|has_permission:'b_equipment_exportxls' %} 导出Excel + {% endif %} + {% if request|has_permission:'b_equipment_change' %} + + {% endif %}
@@ -76,7 +89,9 @@ style="height:100px;width:90%" data-options="multiline:true" /> - 保存 + + 保存 + @@ -99,6 +114,11 @@