1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-11-05 13:27:53 +08:00
parent e595dc54fd
commit 83bfa89856
4 changed files with 27 additions and 31 deletions

View File

@ -501,7 +501,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.runActionCommand(sub.request(event, {pod: meta.space}), sub._index, cmds, cb) can.runActionCommand(sub.request(event, {pod: meta.space}), sub._index, cmds, cb)
} }
}, sub._index = value.index||meta.index, can.base.isFunc(cb) && cb(sub, meta, skip) }, sub._index = value.index||meta.index, can.base.isFunc(cb) && cb(sub, meta, skip)
meta.style == html.FLOAT && can.onlayout._float(sub) if (meta.style == html.FLOAT || value.style == html.FLOAT) { can.onlayout._float(sub) }
}, target||can._output, field) }, target||can._output, field)
}, },
_float: function(can, index, args, cb) { can.onappend.plugin(can, {index: index, args: args, mode: chat.FLOAT}, function(sub) { _float: function(can, index, args, cb) { can.onappend.plugin(can, {index: index, args: args, mode: chat.FLOAT}, function(sub) {

View File

@ -535,6 +535,7 @@ fieldset.web.code.docker.studio>div.output>fieldset { margin:0; }
fieldset.web.code.docker.studio>div.output>fieldset>legend { display:none; } fieldset.web.code.docker.studio>div.output>fieldset>legend { display:none; }
fieldset.web.code.docker.studio>div.output>fieldset>form.option>div:first-child { margin-left:10px; } fieldset.web.code.docker.studio>div.output>fieldset>form.option>div:first-child { margin-left:10px; }
fieldset.web.code.docker.studio>div.output { padding:10px; } fieldset.web.code.docker.studio>div.output { padding:10px; }
fieldset.web.mall.region>div.output>fieldset.web.mall.region.float>div.action { display:none; }
fieldset.studio>div.output { padding:10px; } fieldset.studio>div.output { padding:10px; }
fieldset.studio>div.action>div.cmds { padding:5px 20px; } fieldset.studio>div.action>div.cmds { padding:5px 20px; }
fieldset.studio>div.output>fieldset>form.option div.icon.delete { display:none; } fieldset.studio>div.output>fieldset>form.option div.icon.delete { display:none; }

View File

@ -87,6 +87,11 @@ Volcanos("misc", {
var form = {cmds: cmds}; can.core.List(msg.option, function(key) { !can.base.isIn(key, "log.caller", "_handle", "_toast") && msg[key] && (form[key] = msg[key]) }) var form = {cmds: cmds}; can.core.List(msg.option, function(key) { !can.base.isIn(key, "log.caller", "_handle", "_toast") && msg[key] && (form[key] = msg[key]) })
can.misc.POST(can, msg, dataset.names.toLowerCase(), form, cb) can.misc.POST(can, msg, dataset.names.toLowerCase(), form, cb)
}, },
GET: function(can, path, cb) {
can.misc.POST(can, can.request({}, {_method: http.GET}), path, {}, function(msg) {
cb(msg._xhr.responseText)
})
},
POST: function(can, msg, url, form, cb, cbs) { var xhr = new XMLHttpRequest(), begin = new Date(); msg._xhr = xhr POST: function(can, msg, url, form, cb, cbs) { var xhr = new XMLHttpRequest(), begin = new Date(); msg._xhr = xhr
var data = can.core.ItemForm(form, function(v, i, k) { return k+mdb.EQ+encodeURIComponent(v) }).join("&") var data = can.core.ItemForm(form, function(v, i, k) { return k+mdb.EQ+encodeURIComponent(v) }).join("&")
if (can.base.isIn(msg._method, http.GET, http.DELETE)) { url += (url.indexOf("?") == -1? "?": "&")+data, data = "" } if (can.base.isIn(msg._method, http.GET, http.DELETE)) { url += (url.indexOf("?") == -1? "?": "&")+data, data = "" }

View File

@ -1,38 +1,28 @@
Volcanos(chat.ONIMPORT, { Volcanos(chat.ONIMPORT, {
_init: function(can, msg) { var cache = {} _init: function(can, msg) { var field = can.Conf(mdb.FIELD)||mdb.VALUE, cache = {}, path = msg.Option(nfs.PATH)||can.Conf(nfs.PATH)||"10"
if (can.Conf(ctx.STYLE) == html.FLOAT && !can.page.ClassList.has(can, can._fields, html.FLOAT)) { msg.Option(ice.MSG_STATUS, ""), can.onlayout._float(can) }
var title = msg.Option("title")||can.Conf("title"), field = can.Conf(mdb.FIELD)||mdb.VALUE, name = msg.Option(mdb.NAME)||can.Conf(mdb.NAME)||"中国", path = msg.Option(nfs.PATH)||can.Conf(nfs.PATH)||"100000"
var max = 0, data = msg.Table(function(value) { if (parseFloat(value[field]) > max) { max = parseFloat(value[field]) } return {name: value.name, value: value[field]} }) var max = 0, data = msg.Table(function(value) { if (parseFloat(value[field]) > max) { max = parseFloat(value[field]) } return {name: value.name, value: value[field]} })
var option = {title: {text: title, left: '5%', textStyle: {fontSize: '24'}}, var option = {title: {text: msg.Option("title")||can.Conf("title"), textStyle: {fontSize: '24'}, left: '5%'},
tooltip: {show: true, trigger: "item", formatter: function (params) { return params.name+': '+(params.value||"0") }}, tooltip: {formatter: function (item) { return item.name+': '+(item.value||"0") }},
visualMap: {min: 0, max: max, text: ['高', '低'], calculable: true, left: 'left', top: 'bottom'}, visualMap: {min: 0, max: max, text: [max]},
} }
can.user.toastProcess(can), can.page.requireModules(can, ["echarts/dist/echarts.js"], function() { if (can.Conf(ctx.STYLE) == html.FLOAT && !can.page.ClassList.has(can, can._fields, html.FLOAT)) { msg.Option(ice.MSG_STATUS, ""), can.onlayout._float(can) }
can.page.requireModules(can, ["echarts/dist/echarts.js"], function() { can.misc.GET(can, "/wiki/geoarea/city.json", function(text) { can.onimport.adcode = JSON.parse(text)
!can.onimport.adcode[path] && can.core.Item(can.onimport.adcode, function(code, list) { list.name == path && (path = code) })
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth()) can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth())
function load(name, path) { can.onimport.load(can, name, path, function() { function load(path, name) { if (cache[path]) { return cache[path]._tabs.click() } can.onimport.load(can, path, function(text) { echarts.registerMap(path, JSON.parse(text))
can.onimport.tabs(can, [{name:name}], function() { can.onimport.tabs(can, [{name: name}], function(event, tabs) { var list = can.onimport.adcode[path]; msg.Length() == 0 && can.Status(mdb.COUNT, list && list.list? can.core.Item(list.list).length: 0)
if (cache[name]) { return can.page.SelectChild(can, can._output, html.DIV_ITEM, function(target) { can.onmotion.toggle(can, target, target == cache[name]) }) } if (cache[path]) { return can.page.SelectChild(can, can._output, html.DIV_ITEM, function(target) { can.onmotion.toggle(can, target, target == cache[path]) }) }
var chart = echarts.init(cache[name] = can.page.Append(can, can._output, [{view: html.ITEM, style: {height: can.ConfHeight(), width: can.ConfWidth()}}])._target) var chart = echarts.init(cache[path] = can.page.Append(can, can._output, [{view: html.ITEM, style: {height: can.ConfHeight(), width: can.ConfWidth()}}])._target)
option.series = [{name: title, data: data, mapType: name, type: "map"}], option.geo = {map: name}, chart.setOption(option), can.user.toastSuccess(can) option.series = [{data: data, mapType: path, type: "map"}], option.geo = {map: path}, chart.setOption(option)
chart.on(html.CLICK, function(params) { chart.on(html.CLICK, function(item) { if (list && list.list) { var code = list.list[item.name]; code && load(code, item.name) } })
var p = can.onimport.adcode[params.name]; if (p) { return load(params.name, p) } cache[path]._tabs = tabs._target, can.page.SelectChild(can, can._output, html.DIV_ITEM, function(target) { can.onmotion.toggle(can, target, target == cache[path]) })
var p = can.onimport.adcode[name+params.name]; if (p) { return load(name+params.name, p) } }, function() { can.page.Remove(can, cache[path]), delete(cache[path]) })
can.user.input({}, can, ["adcode"], function(list) { load(name+params.name, can.onimport.adcode[name+params.name] = list[0]) }) }) } load(path, can.onimport.adcode[path].name)
}), can.page.SelectChild(can, can._output, html.DIV_ITEM, function(target) { can.onmotion.toggle(can, target, target == cache[name]) }) }) })
}, function() { }, adcode: {},
}) load: function(can, path, cb) { var _path = path
}) } load(name, path)
})
},
load: function(can, name, path, cb) {
path.length == 2 && (path += "0000"), path.length == 4 && (path += "00") path.length == 2 && (path += "0000"), path.length == 4 && (path += "00")
path = "/wiki/geoarea/"+path+(can.base.endWith(path, "00")? "_full": "")+".json" path = "/wiki/geoarea/"+path+(can.base.endWith(path, "00")? "_full": "")+".json"
can.misc.POST(can, can.request({}, {_method: "GET"}), path, {}, function(msg) { echarts.registerMap(name, JSON.parse(msg._xhr.responseText)), cb() }) can.misc.GET(can, path, function(text) { text? cb(text): can.misc.GET(can, path.replace("_full", ""), cb) })
},
adcode: {
"中国": "100000",
"广东省": "440000",
"深圳市": "440300",
"宝安区": "440306",
}, },
}) })