资源现状 /** *资源现状 * * @class ForeStar.App.zyxzWidget * @extends ForeStar.App.BizWidget */Forestar.App.zyxzWidget = Forestar.Class(Forestar.App.BizWidget, { zyxz_table: { 1: 'ZYXZ_LDTDGC_ND_TJB', 2: 'ZYXZ_XJJG_ND_TJB', 3: 'ZYXZ_
/** *资源现状 * * @class ForeStar.App.zyxzWidget * @extends ForeStar.App.BizWidget */ Forestar.App.zyxzWidget = Forestar.Class(Forestar.App.BizWidget, { zyxz_table: { 1: 'ZYXZ_LDTDGC_ND_TJB', 2: 'ZYXZ_XJJG_ND_TJB', 3: 'ZYXZ_QSJG_ND_TJB', 4: 'ZYXZ_QYJG_ND_TJB', 5: 'ZYXZ_SLLBJG_ND_TJB', 6: '', }, colors1: ['#D11F27', '#6C9F59', '#2FC0B0', '#149C88', '#F2AD52', '#FA7DAA', '#7CEFF0', '#ED952C', '#45ADDE', '#13CD13'], // 蓄积结构模块颜色 colors_ZYXZ_LDTDGC_ND_TJB: ['#45ADDE', '#6C9F59', '#2FC0B0', '#9400D3', '#F2AD52', '#FA7DAA', '#7CEFF0', '#ADFF2F', '#D11F27'], // 土地构成饼图颜色 colors_ZYXZ_QSJG_ND_TJB: ['#D11F27', '#6C9F59', '#2FC0B0'], // 权属结构饼图颜色 colors_ZYXZ_QYJG_ND_TJB: ['#D11F27', '#6C9F59', '#2FC0B0'], // 起源结构饼图颜色 colors_ZYXZ_SLLBJG_ND_TJB: ['#D11F27', '#6C9F59', '#2FC0B0'], // 森林类别饼图颜色 dualTableName: null, // 当前所查询的表加_ dualField: null, // 大柱状图所渲染的当前字段 index: null, // 资源现状模块下标 title: null, // 左侧导航所点击的名称 ZYXZ_LDTDGC_ND_TJB: { 'DL1': '有林地', 'DL2': '疏林地', 'DL3': '灌木林地', 'DL4': '未成林地', 'DL5': '苗圃地', 'DL6': '无立木林地', 'DL7': '宜林地', 'DL8': '林业辅助生产用地', 'DL9': '非林地' }, ZYXZ_QSJG_ND_TJB: { 'GUO_YOU_MJ': '国有面积', 'JI_TI_MJ': '集体面积', 'GE_REN_MJ': '个人面积' }, ZYXZ_QYJG_ND_TJB: { 'TIAN_RAN_MJ': '天然面积', 'REN_GONG_MJ': '人工面积' }, ZYXZ_SLLBJG_ND_TJB: { 'GJGYL_MJ': '国家公益林', 'SJGYL_MJ': '省级公益林', 'SPL_MJ': '商品林' }, ZYXZ_LDTDGC_ND_TJB_DL1_zq: [], // 林地土地构成 ZYXZ_LDTDGC_ND_TJB_DL2_zq: [], ZYXZ_LDTDGC_ND_TJB_DL3_zq: [], ZYXZ_LDTDGC_ND_TJB_DL4_zq: [], ZYXZ_LDTDGC_ND_TJB_DL5_zq: [], ZYXZ_LDTDGC_ND_TJB_DL6_zq: [], ZYXZ_LDTDGC_ND_TJB_DL7_zq: [], ZYXZ_LDTDGC_ND_TJB_DL8_zq: [], ZYXZ_LDTDGC_ND_TJB_DL9_zq: [], ZYXZ_LDTDGC_ND_TJB_DL1_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL2_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL3_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL4_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL5_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL6_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL7_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL8_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL9_zq_name: [], ZYXZ_LDTDGC_ND_TJB_DL1_pm: [], ZYXZ_LDTDGC_ND_TJB_DL2_pm: [], ZYXZ_LDTDGC_ND_TJB_DL3_pm: [], ZYXZ_LDTDGC_ND_TJB_DL4_pm: [], ZYXZ_LDTDGC_ND_TJB_DL5_pm: [], ZYXZ_LDTDGC_ND_TJB_DL6_pm: [], ZYXZ_LDTDGC_ND_TJB_DL7_pm: [], ZYXZ_LDTDGC_ND_TJB_DL8_pm: [], ZYXZ_LDTDGC_ND_TJB_DL9_pm: [], ZYXZ_LDTDGC_ND_TJB_DL1_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL2_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL3_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL4_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL5_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL6_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL7_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL8_pm_name: [], ZYXZ_LDTDGC_ND_TJB_DL9_pm_name: [], ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_zq: [], // 权属结构 ZYXZ_QSJG_ND_TJB_JI_TI_MJ_zq: [], ZYXZ_QSJG_ND_TJB_GE_REN_MJ_zq: [], ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_zq_name: [], ZYXZ_QSJG_ND_TJB_JI_TI_MJ_zq_name: [], ZYXZ_QSJG_ND_TJB_GE_REN_MJ_zq_name: [], ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_pm: [], ZYXZ_QSJG_ND_TJB_JI_TI_MJ_pm: [], ZYXZ_QSJG_ND_TJB_GE_REN_MJ_pm: [], ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_pm_name: [], ZYXZ_QSJG_ND_TJB_JI_TI_MJ_pm_name: [], ZYXZ_QSJG_ND_TJB_GE_REN_MJ_pm_name: [], ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_zq: [], // 起源结构 ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_zq: [], ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_zq_name: [], ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_zq_name: [], ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_pm: [], ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_pm: [], ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_pm_name: [], ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_pm_name: [], ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_zq: [], // 森林类别 ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_zq: [], ZYXZ_SLLBJG_ND_TJB_SPL_MJ_zq: [], ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_zq_name: [], ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_zq_name: [], ZYXZ_SLLBJG_ND_TJB_SPL_MJ_zq_name: [], ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_pm: [], ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_pm: [], ZYXZ_SLLBJG_ND_TJB_SPL_MJ_pm: [], ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_pm_name: [], ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_pm_name: [], ZYXZ_SLLBJG_ND_TJB_SPL_MJ_pm_name: [], pie_data: [], // 饼图数据 xAxisName: [], // 小柱状图x轴显示名称 barData: [], // 小柱状图数据 dataSheet: [], // 数据表数据 tjdwmc: null, // 统计单位名称 hlmxjZq_op: [], // 活立木蓄积政区数据 hlmxjPm_op: [], // 活立木蓄积排名数据 areaHlmxjZq: null, // 所属政区的活立木蓄积面积 bar_xAxisName_hlmxj_zq: [], // 活立木蓄积柱状图中x轴名称 bar_xAxisName_hlmxj_pm: [], // 活立木蓄积柱状图中x轴名称 slxjZq_op: [], // 森林蓄积政区数据 bar_xAxisName_slxj_zq: [], slxjPm_op: [], // 森林蓄积排名数据 bar_xAxisName_slxj_pm: [], areaSlxjjZq: null, // 所属政区的森林蓄积面积 bar_xAxisName_slxj: [], // 森林蓄积柱状图中x轴名称 spxjZq_op: [], // 四旁蓄积政区数据 bar_xAxisName_spxj_zq: [], spxjPm_op: [], // 四旁蓄积排名数据 bar_xAxisName_spxj_pm: [], areaSpxjjZq: null, // 所属政区的四旁蓄积面积 bar_xAxisName_spxj: [], // 四旁蓄积柱状图中x轴名称 ssxjZq_op: [], // 散生蓄积政区数据 bar_xAxisName_ssxj_zq: [], ssxjPm_op: [], // 散生蓄积排名数据 bar_xAxisName_ssxj_pm: [], areaSsxjjZq: null, // 所属政区的散生蓄积面积 bar_xAxisName_ssxj: [], // 散生蓄积柱状图中x轴名称 columns: [ // 数据表表头 { field: 'name', title: '地类', align: 'center', valign: 'middle' }, { field: 'value', title: '面积', align: 'center', valign: 'middle' } ], /** 初始化 */ initialize: function () { Forestar.App.BizWidget.prototype.initialize.apply(this, arguments) Forestar.App.zyxzWidget.instance = this; /** * 点击时时触发 * 给资源现状下的专题绑定单机事件 * @event Select#change */ $('.thr-box .thr-item').click(function () { var that = Forestar.App.zyxzWidget.instance that.index = $(this).attr('index') that.title = $($(this).children().children()[0]).html(); // 点击地图时显示的模块名称 that.dualTableName = that.zyxz_table[that.index] + '_'; if (that.index != 0 && that.index != 2) { var zqcode = Config.zqdwObj.zqcode $('#hlmxjl_dom').removeClass('show'); $('#slxj_dom').removeClass('show'); $('#spxj_dom').removeClass('show'); $('#ssxj_dom').removeClass('show'); $('.zs-board-box').removeClass('show'); $('#zs-quick-board-gjzb').hide(); $('#zs-quick-board-xjjg').hide(); $('.withBtns').removeClass('show'); $('#ldgc_dom').addClass('show'); $('#ldgc_dom').show(); // 初始化林地土地构成模块数据 Forestar.App.zyxzWidget.instance.getData(that.zyxz_table[that.index], zqcode); that.layerShowGjzb(false); that.layerShowTdgk(true); } else if (that.index == 0){ $('#hlmxjl_dom').removeClass('show'); $('#slxj_dom').removeClass('show'); $('#spxj_dom').removeClass('show'); $('#ssxj_dom').removeClass('show'); $('.zy-slfgl').show(); $('#zs-quick-board-xjjg').hide(); $('#zs-quick-board-gjzb').show(); $('#ldgc_dom').removeClass('show'); that.layerShowGjzb(true); that.layerShowTdgk(false); // 隐藏土地概况图层 } else if (that.index == 2) { var zqcode=Config.zqdwObj.zqcode; $(".zs-board-box").removeClass("show"); $("#zs-quick-board-gjzb").hide(); $(".withBtns").removeClass("show"); $("#ldgc_dom").removeClass("show"); $("#ldgc_dom").hide(); $("#zs-quick-board-xjjg").show(); Forestar.App.zyxzWidget.instance.getData(that.zyxz_table[that.index], zqcode); // 初始化起源结构数据 that.layerShowGjzb(false); that.layerShowTdgk(false); } }); /** * 点击时触发 * 统计类型各个小图标的单机事件 * @event Select#change */ $('.zt_checkShowLx li').click(function () { var that = Forestar.App.zyxzWidget.instance; var index = that.index; $(this).addClass('selected').siblings().removeClass('selected'); var id = $(this).attr('href'); id = id.substr(1, id.length - 1); $('#' + id).show().siblings().hide(); }); /** * 点击时触发 * 政区和排名按钮的单机事件 * @event Select#change */ $('#ldgc_dom .idTabs a').click(function () { var that = Forestar.App.zyxzWidget.instance; var table = that.dualTableName.substring(0, that.dualTableName.length - 1); var field = that.dualField; var name = $($(this)[0]).attr('name'); that.createBigBar(table, field, name); }); /** * 蓄积机构下政区和排名的单机事件 */ $('.zyxz_region_rank').click(function () { var that = Forestar.App.zyxzWidget.instance; var barName = $(this).attr('barname') var id = $(this).attr('val'); var bar = echarts.init(document.getElementById(id)); var op = $(this).attr('op'); bar.setOption(getOption.creatBar1(that[barName], that[op], '亩')); // 加载柱状图 }); }, /** * 获取数据 * * @param {object} zqcode 政区code * @param {object} table 表名 * @param {object} index 点击模块的下标 */ getData: function (table, zqcode) { var that = Forestar.App.zyxzWidget.instance; this.code = zqcode; var qf = {}; // queryFilter if (zqcode.length <= 4) { qf.whereString = "(TJDW like'" + zqcode + "__' or TJDW='" + zqcode + "') and nd='2017' and ZQFZ_LX='10'"; } else { qf.whereString = "(TJDW like'" + zqcode + "___' or TJDW='" + zqcode + "') and nd='2017' and ZQFZ_LX='10'"; } qf.orderByString = " TJDW" FsService.getEntityList(table, qf, { callback: function (res) { if (res.length > 0) { // 对数据进行处理 if (table == 'ZYXZ_XJJG_ND_TJB') { that.handDataXjjg(res, zqcode); } else { that.handDataTdgc(res, zqcode, table); } } else { } }, exceptionHandler: function (e) { }, }); }, /** * 回调函数,处理林地土地构成模块数据 * * @param {object} res 查询数据库后返回的数据 * @param {object} zqcode 用户所在的政区code */ handDataTdgc: function (res, zqcode, table) { var that = Forestar.App.zyxzWidget.instance; var colors = 'colors_' + table; // 选择查询表所对应的渲染颜色 var temp; var tjdw; var transTable = that[table]; // 所查表的字段翻译 var gColor; // 每一个饼图颜色所生成的渐变色 var k = 0; // 柱状图对应的颜色的起始下标 var colorRank; // 计算每个柱状图所对应颜色级别 var barColor; // 每个柱状图所对应的颜色 var field; var zqCodeNextLength; that.ZYXZ_LDTDGC_ND_TJB_DL1_zq = []; // 林地土地构成 that.ZYXZ_LDTDGC_ND_TJB_DL2_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL3_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL4_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL5_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL6_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL7_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL8_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL9_zq = []; that.ZYXZ_LDTDGC_ND_TJB_DL1_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL2_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL3_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL4_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL5_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL6_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL7_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL8_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL9_zq_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL1_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL2_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL3_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL4_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL5_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL6_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL7_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL8_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL9_pm = []; that.ZYXZ_LDTDGC_ND_TJB_DL1_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL2_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL3_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL4_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL5_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL6_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL7_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL8_pm_name = []; that.ZYXZ_LDTDGC_ND_TJB_DL9_pm_name = []; that.ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_zq = []; // 权属结构 that.ZYXZ_QSJG_ND_TJB_JI_TI_MJ_zq = []; that.ZYXZ_QSJG_ND_TJB_GE_REN_MJ_zq = []; that.ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_zq_name = []; that.ZYXZ_QSJG_ND_TJB_JI_TI_MJ_zq_name = []; that.ZYXZ_QSJG_ND_TJB_GE_REN_MJ_zq_name = []; that.ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_pm = []; that.ZYXZ_QSJG_ND_TJB_JI_TI_MJ_pm = []; that.ZYXZ_QSJG_ND_TJB_GE_REN_MJ_pm = []; that.ZYXZ_QSJG_ND_TJB_GUO_YOU_MJ_pm_name = []; that.ZYXZ_QSJG_ND_TJB_JI_TI_MJ_pm_name = []; that.ZYXZ_QSJG_ND_TJB_GE_REN_MJ_pm_name = []; that.ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_zq = []; // 起源结构 that.ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_zq = []; that.ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_zq_name = []; that.ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_zq_name = []; that.ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_pm = []; that.ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_pm = []; that.ZYXZ_QYJG_ND_TJB_TIAN_RAN_MJ_pm_name = []; that.ZYXZ_QYJG_ND_TJB_REN_GONG_MJ_pm_name = []; that.ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_zq = []; // 森林类别 that.ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_zq = []; that.ZYXZ_SLLBJG_ND_TJB_SPL_MJ_zq = []; that.ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_zq_name = []; that.ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_zq_name = []; that.ZYXZ_SLLBJG_ND_TJB_SPL_MJ_zq_name = []; that.ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_pm = []; that.ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_pm = []; that.ZYXZ_SLLBJG_ND_TJB_SPL_MJ_pm = []; that.ZYXZ_SLLBJG_ND_TJB_GJGYL_MJ_pm_name = []; that.ZYXZ_SLLBJG_ND_TJB_SJGYL_MJ_pm_name = []; that.ZYXZ_SLLBJG_ND_TJB_SPL_MJ_pm_name = []; that.pie_data = []; // 清空数据 that.xAxisName = []; that.barData = []; that.dataSheet = []; if (zqcode.length < 6) { zqCodeNextLength = zqcode.length + 2; } else { zqCodeNextLength = zqcode.length + 3; } for (var i = 0; i < res.length; i++) { tjdw = res[i].originalObjects.TJDW; if (tjdw == zqcode) { // 获取所点击政区的林地数据 that.tjdwmc = res[i].originalObjects.TJDWMC; for (key in transTable) { // 构建饼图数据 that.pie_data.push({ name: transTable[key], value: res[0].originalObjects[key], field:key }); } break; } } // 构建大柱状图数据 for (key in transTable) { field = key; // 每一个模块的最后一个字段 // 生成渐变色 (每个模块所对应)gradientColor gradientColor gColor = gradientColor(that[colors][k],'#FFFFFF',10); for (var i = 0; i < res.length; i++) { tjdw = res[i].originalObjects.TJDW; if (tjdw.toString().length == zqCodeNextLength) { colorRank = ((res[i].originalObjects[key] / that.pie_data[k].value) * 100).toFixed(2); barColor = Forestar.App.zyxzWidget.instance.getColor(colorRank, gColor); // 生成饼状图每一部分所对应的柱状图 that[table + '_' + key + '_zq'].push({ value: res[i].originalObjects[key], tjdwmc:res[i].originalObjects.TJDWMC, tjdw:res[i].originalObjects.TJDW, itemStyle: { normal: { color: barColor } } }); that[table + '_' + key + '_zq'+ '_name'].push(res[i].originalObjects.TJDWMC); } } that[table + '_' + key + '_pm'] = Forestar.App.zyxzWidget.instance.sortArr(that[table + '_' + key + '_zq']);//按面积大小排序的数据 for (var m = 0; m < that[table + '_' + key + '_pm'].length; m++) { that[table + '_' + key + '_pm' + '_name'].push(that[table + '_' + key + '_pm'][m].tjdwmc); } k++; } // 构建数据表和柱状图数据 for (var i = 0; i < that.pie_data.length; i++) { that.xAxisName.push(that.pie_data[i].name); that.barData.push({ TJDWMC: that.pie_data[i].name, value: that.pie_data[i].value, field: that.pie_data[i].field, itemStyle: { normal: { color: that[colors][i] } } }); temp = { name: that.pie_data[i].name, value: that.pie_data[i].value, field: that.pie_data[i].field, color:that[colors][i] }; that.dataSheet.push(temp); } // 加载简介 that.getTxt(); var zyxzPieShow = echarts.init(document.getElementById("pie_boxldgc")); // 获取饼状图容器 var zyxzBar = echarts.init(document.getElementById("ldgclRight_bar")); // 加载左侧小柱状图容器 zyxzPieShow.setOption(getOption.createPie(that.pie_data, that[colors])); zyxzPieShow.on('click', function (params) { // 饼状图的单击事件 Forestar.App.zyxzWidget.instance.onClickBarOrPie(params, table); }); zyxzBar.setOption(getOption.creatBar(that.xAxisName, that.barData, '亩')); // 加载柱状图 zyxzBar.on('click', function (params) { //that.callBackBar_tdgc(params, table); Forestar.App.zyxzWidget.instance.onClickBarOrPie(params, table); }); that.createSheet(that.dataSheet, that.columns, table); that.judgeWhichButtonIsSelected(table, field, that[colors][that[colors].length - 1]); }, /** * 根据政区和排名所选中的按钮渲染数据 * @param {} table 表名 * @param {} field 表中最后一个字段名 */ judgeWhichButtonIsSelected: function (table, field, color) { var that = Forestar.App.zyxzWidget.instance; var name; that.dualField = field; // 将渲染的字段传递到公共变量中,供点击政区或排名按钮使用 $('#ldgc_dom .btns a' ).each(function () { // 判断页面政区和排名哪个按钮被选中,然后渲染数据 if ($(this).hasClass("selected")) { name = $(this).attr('name'); that.createBigBar(table, field, name); } }); var colorMap = gradientColor(color, '#FFFFFF', 10); // 地图渲染所用渐变色 Forestar.App.zyxzWidget.instance.addLayers(that[table + '_' + field + '_' + name], '亩', that.title, createMapGradientColor(colorMap)); // 渲染地图 }, /** * 生成大柱状图 * @param {} table 表名 * @param {} field 表中最后一个字段名 */ createBigBar: function (table, field, name) { var that = Forestar.App.zyxzWidget.instance; var zyxz_bigBar = echarts.init(document.getElementById("ldgc_bar_ld"));//获取大柱状图容器 zyxz_bigBar.setOption(getOption.creatBar1(that[table + '_' + field + '_' + name + '_name'], that[table + '_' + field + '_' + name], '亩')); // 加载大柱状图 }, /** * 点击饼图或是柱状图的单机事件 * @param {} params 图形所传递的参数 * @param {} table 表名 */ onClickBarOrPie: function (params, table) { var fieldName = params.data.field; var color = params.color; Forestar.App.zyxzWidget.instance.judgeWhichButtonIsSelected(table, fieldName, color); }, /** * 用bootstrap生成数据表格 * @param {object} data 生成表格的数据 * @param {object} columns 表头文字 * @date */ createSheet: function (data, columns, table) { $('#ldgc_table').bootstrapTable('destroy').bootstrapTable({ method: 'get', cache: false, height: 200, width: 300, striped: false, // 是否显示行间隔色设置为 true 会有隔行变色效果 pageSize: 5, // 如果设置了分页,页面数据条数 pageNumber: 1, // 如果设置了分页,首页页码 uniqueId: '', // Indicate an unique identifier for each row exportOptions: { fileName: '统计表', // 文件名称设置 worksheetName: 'sheet1', // 表格工作区名称 tableName: '统计表' }, columns: columns, onClickRow: function (row, field) { var that = Forestar.App.zyxzWidget.instance; that.dataSheetOnClick_zyxz(row, table); }, onCheck: function (row) { // 当用户点击一行的时候,单行最前面的checkbox被选中 if (row.ZQCODE) { this.exportDataType = "selected"; } }, onUncheck: function (row, ele) { // 单行最前面的checkbox被取消 this.exportDataType = "all"; }, onCheckAll: function (arg1, arg2) { // 最顶上的checkbox被选中 this.exportDataType = "basic"; }, onUncheckAll: function (arg1, arg2) { // 最顶上的checkbox被取消 this.exportDataType = "all"; }, data: data }); }, /** * 显示关键指标图层 */ layerShowGjzb:function (falseOrTrue) { var gjzbLayer=Forestar.App.combineMap._map2D.getLayer('g_layer'); // 获取关键指标渲染图层 if (gjzbLayer) { gjzbLayer.setVisibility(falseOrTrue); // 设置该图层可见 } }, /** * 显示土地概况图层 * */ layerShowTdgk: function (falseOrTrue){ var tdgkLayer=Forestar.App.combineMap._map2D.getLayer('tdgc_layer'); // 获取土地概况渲染图层 if (tdgkLayer) { tdgkLayer.setVisibility(falseOrTrue); // 设置该图层不可见 } }, /** * 资源现状数据表格的单击事件 * @param {} row 行的属性信息 * @param {} field 字段的属性信息 */ dataSheetOnClick_zyxz: function (row, table) { Forestar.App.zyxzWidget.instance.judgeWhichButtonIsSelected(table, row.field, row.color); }, /** * 林地土地构成模块简介 */ getTxt: function () { var that = Forestar.App.zyxzWidget.instance; var html = ''; html = that.tjdwmc; for (var i = 0; i < that.pie_data.length; i++) { html += that.pie_data[i].name + "面积为" + "" + that.pie_data[i].value + "" + "亩," } var htmls = html.substring(0, html.length - 1) + '。'; $('#ldgc-texts').html(''); $('#ldgc-texts').html(htmls); }, /** * 蓄积结构模块简介 */ getTxt_xjjg: function () { var that = Forestar.App.zyxzWidget.instance; var html = ''; html = that.tjdwmcXjjg + "活立木蓄积面积为" + "" + that.areaHlmxjZq + "" + "公顷," + "森林蓄积面积为" + "" + that.areaSlxjjZq + "" + "公顷," + "四旁蓄积面积为" + "" +that.areaSpxjjZq + "" + "公顷," + "散生蓄积面积为" + "" + that.areaSsxjjZq+ "" + "公顷。" //清空简介 $("#txt-hlm-hlmxjl").html(""); $("#txt-hlm-slxj").html(""); $("#txt-hlm-spxj").html(""); $("#txt-hlm-ssxj").html(""); //添加简介 $("#txt-hlm-hlmxjl").html(html); $("#txt-hlm-slxj").html(html); $("#txt-hlm-spxj").html(html); $("#txt-hlm-ssxj").html(html); }, /** * 回调函数,处理蓄积结构模块数据 * @param {} res 查询数据库后返回的数据 * @param {} zqcode用户所在的政区code */ handDataXjjg: function (res, zqcode) { var that = Forestar.App.zyxzWidget.instance; var hlmxjArea = 0, slxjArea = 0, spxjArea = 0, ssxjArea = 0; var barColor_hlmxj, barColor_slxj, barColor_spxj, barColor_ssxj; var tjdw; //清空数据 that.spxjZq_op = []; that.spxjPm_op = []; that.ssxjZq_op = []; that.ssxjPm_op = []; that.bar_xAxisName_hlmxj = []; that.bar_xAxisName_slxj = []; that.bar_xAxisName_spxj = []; that.bar_xAxisName_ssxj = []; that.areaHlmxjZq = 0; that.areaSlxjjZq = 0; that.areaSpxjjZq = 0; that.areaSsxjjZq = 0; var sortData_hlmxj = [];//排序后的活立木蓄积数据 var sortData_slxj = [];//排序后的森林蓄积数据 var sortData_spxj = [];//排序后的四旁蓄积数据 var sortData_ssxj = [];//排序后的散生蓄积数据 for (var i = 0; i < res.length; i++) { if (res[i].originalObjects.TJDW == zqcode) { that.tjdwmcXjjg = res[i].originalObjects.TJDWMC; that.areaHlmxjZq = res[i].originalObjects.HUO_LM_XJ; that.areaSlxjjZq = res[i].originalObjects.SEN_LIN_XJ; that.areaSpxjjZq = res[i].originalObjects.SI_PANG_XJ; that.areaSsxjjZq = res[i].originalObjects.SAN_S_XJ; if (that.areaSpxjjZq == undefined) { that.areaSpxjjZq = 0; } if (that.areaHlmxjZq == undefined) { that.areaHlmxjZq = 0; } if (that.areaSlxjjZq == undefined) { that.areaSlxjjZq = 0; } if (that.areaSsxjjZq == undefined ) { that.areaSsxjjZq = 0; } } break; } that.hlmxjZq_op = []; that.bar_xAxisName_hlmxj_zq = []; that.hlmxjPm_op = []; that.bar_xAxisName_hlmxj_pm = []; that.slxjZq_op = []; that.bar_xAxisName_slxj_zq = []; that.slxjPm_op = []; that.bar_xAxisName_slxj_pm = []; for (var i = 0; i < res.length; i++) { tjdw = res[i].originalObjects.TJDW; if (tjdw.toString().length != zqcode.length) { var obj = res[i].originalObjects; hlmxjArea = obj.HUO_LM_XJ; slxjArea = obj.SEN_LIN_XJ; spxjArea = obj.SI_PANG_XJ; ssxjArea = obj.SAN_S_XJ; if (hlmxjArea == undefined) { hlmxjArea = 0; } else if (slxjArea == undefined) { slxjArea = 0; } else if (spxjArea == undefined) { spxjArea = 0; } else if (ssxjArea == undefined) { ssxjArea = 0; } barColor_hlmxj = Forestar.App.zyxzWidget.instance.getColorByValue(hlmxjArea); // 构建活立木蓄积柱状图数据 that.hlmxjZq_op.push({ "tjdw": obj.TJDW, "TJDWMC": obj.TJDWMC, "value": hlmxjArea, itemStyle: { normal: { color: barColor_hlmxj } } }); that.bar_xAxisName_hlmxj_zq.push(obj.TJDWMC); // 构建森林蓄积柱状图数据 barColor_slxj = Forestar.App.zyxzWidget.instance.getColorByValue(slxjArea); that.slxjZq_op.push({ "tjdw": obj.TJDW, "TJDWMC": obj.TJDWMC, "value": slxjArea, itemStyle: { normal: { color: barColor_slxj } } }); that.bar_xAxisName_slxj_zq.push(obj.TJDWMC); // 构建四旁蓄积柱状图数据 barColor_spxj = Forestar.App.zyxzWidget.instance.getColorByValue(spxjArea); that.spxjZq_op.push({ "tjdw": obj.TJDW, "TJDWMC": obj.TJDWMC, "value": spxjArea, itemStyle: { normal: { color: barColor_spxj } } }); that.bar_xAxisName_spxj_zq.push(obj.TJDWMC); // 构建散生蓄积柱状图数据 barColor_ssxj = Forestar.App.zyxzWidget.instance.getColorByValue(ssxjArea); that.ssxjZq_op.push({ "tjdw": obj.TJDW, "TJDWMC": obj.TJDWMC, "value": ssxjArea, itemStyle: { normal: { color: barColor_ssxj } } }); that.bar_xAxisName_ssxj_zq.push(obj.TJDWMC); } } // 对活立木蓄积数据进行排序 sortData_hlmxj = Forestar.App.zyxzWidget.instance.sortArr(that.hlmxjZq_op);//按面积大小排序的数据 // 构建活立木蓄积排序后的柱状图数据 for(var i = 0; i < sortData_hlmxj.length; i++){ that.bar_xAxisName_hlmxj_pm.push(sortData_hlmxj[i].TJDWMC); that.hlmxjPm_op.push({ "value": sortData_hlmxj[i].value, tjdw:sortData_hlmxj[i].tjdw, itemStyle: sortData_hlmxj[i].itemStyle }); } // 对森林蓄积数据进行排序 sortData_slxj = Forestar.App.zyxzWidget.instance.sortArr(that.slxjZq_op); // 按面积大小排序的数据 // 构建森林蓄积排序后的柱状图数据 for(var i = 0; i < sortData_slxj.length; i++){ that.bar_xAxisName_slxj_pm.push(sortData_slxj[i].TJDWMC); that.slxjPm_op.push({ "value": sortData_slxj[i].value, tjdw:sortData_slxj[i].tjdw, itemStyle: sortData_slxj[i].itemStyle }); } // 对四旁蓄积数据进行排序 sortData_spxj = Forestar.App.zyxzWidget.instance.sortArr(that.spxjZq_op); // 按面积大小排序的数据 // 构建四旁蓄积排序后的柱状图数据 for(var i = 0; i < sortData_spxj.length; i++){ that.bar_xAxisName_spxj_pm.push(sortData_spxj[i].TJDWMC); that.spxjPm_op.push({ "value": sortData_spxj[i].value, tjdw:sortData_spxj[i].tjdw, itemStyle: sortData_spxj[i].itemStyle }); } // 对散生蓄积数据进行排序 sortData_ssxj = Forestar.App.zyxzWidget.instance.sortArr(that.ssxjZq_op); // 按面积大小排序的数据 // 构建散生蓄积排序后的柱状图数据 for(var i = 0; i < sortData_ssxj.length; i++){ that.bar_xAxisName_ssxj_pm.push(sortData_ssxj[i].TJDWMC); that.ssxjPm_op.push({ "value": sortData_ssxj[i].value, tjdw:sortData_ssxj[i].tjdw, itemStyle: sortData_ssxj[i].itemStyle }); } that.getBar(); that.getTxt_xjjg(); }, /** * 按比例获取柱状图的颜色 * @param {} value 每一个柱子的值占所有柱子值的比例 */ getColor: function (value, colors) { var color; if (value <= 10) { color = colors[0]; } else if (value <= 20) { color = colors[1]; } else if (value <= 30) { color = colors[2]; } else if (value <= 40) { color = colors[3]; } else if (value <= 50) { color = colors[4]; } else if (value <= 60) { color = colors[5]; } else if (value <= 70) { color = colors[6]; } else if (value <= 80) { color = colors[7]; } else if (value <= 90) { color = colors[8]; } else if (value <= 100) { color = colors[9]; } return color; }, /** * 通过值的大小获取柱状图的颜色 * @param {} value */ getColorByValue: function (value) { var color; var that = Forestar.App.zyxzWidget.instance; if (135000 < value) { color = that.colors1[0]; } else if (120000 < value <= 135000) { color = that.colors1[1]; } else if (105000 < value <= 120000) { color = that.colors1[2]; } else if (90000 < value <= 105000) { color = that.colors1[3]; } else if (750000 < value <= 90000) { color = that.colors1[4]; } else if (60000 < value <= 75000) { color = that.colors1[5]; } else if (45000 < value <= 60000) { color = that.colors1[6]; } else if (30000 < value <= 45000) { color = that.colors1[7]; } else if (15000 < value <= 30000) { color = that.colors1[8]; } else if (value <= 15000) { color = that.colors1[9]; } return color; }, /** * 生成蓄积结构柱状图 */ getBar: function () { var that = Forestar.App.zyxzWidget.instance; var colors1Map = createMapGradientColor(that.colors1); $("#zs-quick-board-xjjg a").each(function () { $(".hideInXjjg").removeClass("show"); if ($(this).hasClass("selected")) { var id = $(this).attr("name"); var title = $(this).html(); $("#" + id).addClass("show"); $("#" + id + " .btns a").each(function () { if ($(this).hasClass("selected")) { var barName = $(this).attr("barname") var ids = $(this).attr("val"); var bar = echarts.init(document.getElementById(ids)); var op = $(this).attr("op"); bar.setOption(getOption.creatBar1(that[barName], that[op], "亩"));//加载柱状图 // 地图渲染 Forestar.App.zyxzWidget.instance.addLayers(that[op], '亩', title, colors1Map); } }) } }); $("#zs-quick-board-xjjg a").click(function () { $(".hideInXjjg").removeClass("show"); if ($(this).hasClass("selected")) { var id = $(this).attr("name"); var title = $(this).html(); $("#" + id).addClass("show"); $("#" + id + " .btns a").each(function () { if ($(this).hasClass("selected")) { var barName = $(this).attr("barname") var ids = $(this).attr("val"); var bar = echarts.init(document.getElementById(ids)); var op = $(this).attr("op"); bar.setOption(getOption.creatBar1(that[barName], that[op], "亩"));//加载柱状图 // 地图渲染 Forestar.App.zyxzWidget.instance.addLayers(that[op], '亩', title, colors1Map); } }) } }); }, /** * 对获取到的数据按值大小进行排序 * @param {object} arr 需要排序的数组 */ sortArr: function (arr) { //这个排序方法 生成新的数组 不改变原来的数组 var arr1 = []; for (var i = 0; i < arr.length; i++) { arr1.push(arr[i]); } arr1.sort(function (a, b) { return b.value - a.value; }); return arr1; }, /** * 加载自定义的图层 * @param {} dataArr 柱状图数据 * @param {} dw 单位 * @param {} name * @param {} mapLayer 自定义图层 */ addLayers: function (dataArr, dw, name, mapLayer) { var that = Forestar.App.zyxzWidget.instance; var map = Forestar.App.combineMap._map2D; var tdgcLayer; var layer = Forestar.App.combineMap._map2D.getLayer("tdgc_layer"); if (layer) { layer.clear(); tdgcLayer = layer; } else { tdgcLayer = new esri.layers.GraphicsLayer({ "id": "tdgc_layer" }); } tdgcLayer.graphics = []; var outlineSyml = new esri.symbol.SimpleLineSymbol( esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([ 255, 255, 255, 0.5 ]), 1); var colors = mapLayer; var color = colors["#C7FDC7"]; var url = "js/json"; if (that.code.length == 2) { url += "/shi.json"; } else if (that.code.length == 4) { url += "/xian/" + that.code + ".json"; } else { url += "/xian/" + that.code.substring(0, 4) + ".json"; } $.get(url, null, function (result) { var res = JSON.stringify(result); res = eval("(" + res + ")"); var jsonf = geoJsonConverter(); var json = jsonf.toEsri(result); var features = json.features; for (var i = 0; i < features.length; i++) { var feature = features[i].geometry; var shiN = features[i].attributes.SHI_Name; var m = 0; if (feature.rings.length > 1) { for (var j = 1; j < feature.rings.length; j++) { if (feature.rings[j].length >= feature.rings[m].length) { m = j; } } var arr = feature.rings[m]; feature.rings = []; feature.rings[0] = arr; } var attr = features[i].attributes; if (dataArr) { if (that.code.length == 2) { var code = ""; if (attr.SHI.length == 2) { code = attr.SHENG + attr.SHI; } else { code = attr.SHENG + "0" + attr.SHI; } for (var k = 0; k < dataArr.length; k++) { if (dataArr[k].tjdw == code) { attr.value = dataArr[k].value; attr.tjdwmc = dataArr[k].TJDWMC; color = colors[dataArr[k].itemStyle.normal.color]; } } } else if (that.code.length == 4) { for (var k = 0; k < dataArr.length; k++) { if (dataArr[k].tjdw == code) { attr.value = dataArr[k].value; attr.tjdwmc = dataArr[k].TJDWMC; color = colors[dataArr[k].itemStyle.normal.color]; } } } } var infoTemplate = new esri.InfoTemplate("简介", "政区:${tjdwmc}" + name + ":${value}" + dw); var myPolygon = { "geometry": feature, "attributes": attr, "infoTemplate": infoTemplate, "symbol": { "color": color, "outline": { "color": [255, 255, 255, 255], "width": 1, "type": "esriSLS", "style": "esriSLSSolid" }, "type": "esriSFS", "style": "esriSFSSolid" } }; var graphic = new esri.Graphic(myPolygon); tdgcLayer.add(graphic); } map.addLayer(tdgcLayer); }); }, CLASS_NAME: "Forestar.App.zyxzWidget" }); Forestar.App.zyxzWidget.instance = null;