✨ Introducing new features. 更新积木报表前端
This commit is contained in:
1 parent
a3f6d74ca2
commit
d84ba2dcc1
26 files changed
+362
-96
No files matched your search
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
<#assign CACHE_VERSION = "v=v=1.0.7">
|
<#assign CACHE_VERSION = "v=1.0.13">
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|||||||
+13
-7
@@ -1,11 +1,17 @@
|
|||||||
<script>
|
<script>
|
||||||
var _hmt = _hmt || [];
|
|
||||||
(function() {
|
(function() {
|
||||||
var hm = document.createElement("script");
|
//https://blog.csdn.net/aizou6838/article/details/101664336
|
||||||
hm.type = 'text/javascript';
|
function async_load(){
|
||||||
hm.async = true;
|
var s = document.createElement('script');
|
||||||
hm.src = "https://hm.baidu.com/hm.js?5819d05c0869771ff6e6a81cdec5b2e8";
|
s.type = 'text/javascript';
|
||||||
var s = document.getElementsByTagName("script")[0];
|
s.async = true;
|
||||||
s.parentNode.insertBefore(hm, s);
|
s.src = "https://hm.baidu.com/hm.js?5819d05c0869771ff6e6a81cdec5b2e8";
|
||||||
|
var x = document.getElementsByTagName('script')[0];
|
||||||
|
x.parentNode.insertBefore(s, x);
|
||||||
|
}
|
||||||
|
if (window.attachEvent)
|
||||||
|
window.attachEvent('onload', async_load);
|
||||||
|
else
|
||||||
|
window.addEventListener('load', async_load, false);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
+3
-3
@@ -816,10 +816,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
).change((cdata) => {
|
).change((cdata) => {
|
||||||
console.log(cdata);
|
// console.log(cdata);
|
||||||
console.log(xs.validate());
|
// console.log(xs.validate());
|
||||||
var str = JSON.stringify(cdata)
|
var str = JSON.stringify(cdata)
|
||||||
console.log(str);
|
// console.log(str);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
+11
-1
@@ -1,4 +1,4 @@
|
|||||||
<#assign CACHE_VERSION = "v=1.0.7">
|
<#assign CACHE_VERSION = "v=1.0.13">
|
||||||
<#assign config_id = "${id!''}">
|
<#assign config_id = "${id!''}">
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@@ -32,6 +32,14 @@
|
|||||||
token = window.localStorage.getItem('JmReport-Access-Token');
|
token = window.localStorage.getItem('JmReport-Access-Token');
|
||||||
}
|
}
|
||||||
window.localStorage.setItem('JmReport-Access-Token',token);
|
window.localStorage.setItem('JmReport-Access-Token',token);
|
||||||
|
|
||||||
|
//update-begin---author:wangshuai ---date:20220708 for:[JMREP-2661]多租户权限集成------------
|
||||||
|
let tenantId = getRequestUrl().tenantId;
|
||||||
|
if("" == tenantId || null == tenantId){
|
||||||
|
tenantId = window.localStorage.getItem('JmReport-Tenant-Id');
|
||||||
|
}
|
||||||
|
window.localStorage.setItem('JmReport-Tenant-Id',tenantId);
|
||||||
|
//update-end---author:wangshuai ---date:20220708 for:[JMREP-2661]多租户权限集成------------
|
||||||
</script>
|
</script>
|
||||||
<!--引入公共资源-->
|
<!--引入公共资源-->
|
||||||
<#include "./common/resource.ftl">
|
<#include "./common/resource.ftl">
|
||||||
@@ -801,6 +809,8 @@
|
|||||||
<j-match-setting style="border-bottom: inset 1px;" v-if="graphSettings ||gaugeSettings ||funnelSettings || pieSettings || isMultiChart || selectedChartType.indexOf('multi')!=-1 || selectedChartType == 'radar.basic'" :chart-options="chartOptions" :data-settings="dataSettings" ></j-match-setting>
|
<j-match-setting style="border-bottom: inset 1px;" v-if="graphSettings ||gaugeSettings ||funnelSettings || pieSettings || isMultiChart || selectedChartType.indexOf('multi')!=-1 || selectedChartType == 'radar.basic'" :chart-options="chartOptions" :data-settings="dataSettings" ></j-match-setting>
|
||||||
<!-- 背景设置-->
|
<!-- 背景设置-->
|
||||||
<j-background-setting @change="chartBackgroundChange" @upload-success="chartBackgroundUploadSuccess" @remove="removeChartBackground" :settings="chartBackground"></j-background-setting>
|
<j-background-setting @change="chartBackgroundChange" @upload-success="chartBackgroundUploadSuccess" @remove="removeChartBackground" :settings="chartBackground"></j-background-setting>
|
||||||
|
<!-- 柱形图系列类型设计-->
|
||||||
|
<#--<j-bar-series-setting style="border-bottom: inset 1px;" :chart-options="chartOptions" :data-settings="dataSettings" v-if="selectedChartType == 'bar.multi' || selectedChartType == 'line.multi' "></j-bar-series-setting>-->
|
||||||
</i-menu>
|
</i-menu>
|
||||||
</tab-pane>
|
</tab-pane>
|
||||||
|
|
||||||
|
|||||||
+12
-2
@@ -1,4 +1,4 @@
|
|||||||
<#assign CACHE_VERSION = "v=v=1.0.7">
|
<#assign CACHE_VERSION = "v=1.0.13">
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
@@ -26,6 +26,14 @@
|
|||||||
token = window.localStorage.getItem('JmReport-Access-Token');
|
token = window.localStorage.getItem('JmReport-Access-Token');
|
||||||
}
|
}
|
||||||
window.localStorage.setItem('JmReport-Access-Token',token);
|
window.localStorage.setItem('JmReport-Access-Token',token);
|
||||||
|
|
||||||
|
//update-begin---author:wangshuai ---date:20220708 for:[JMREP-2661]多租户权限集成------------
|
||||||
|
let tenantId = getRequestUrl().tenantId;
|
||||||
|
if("" == tenantId || null == tenantId){
|
||||||
|
tenantId = window.localStorage.getItem('JmReport-Tenant-Id');
|
||||||
|
}
|
||||||
|
window.localStorage.setItem('JmReport-Tenant-Id',tenantId);
|
||||||
|
//update-end---author:wangshuai ---date:20220708 for:[JMREP-2661]多租户权限集成------------
|
||||||
</script>
|
</script>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width">
|
<meta name="viewport" content="width=device-width">
|
||||||
@@ -735,7 +743,9 @@
|
|||||||
if(result.status=='0'){
|
if(result.status=='0'){
|
||||||
let protocol = window.location.protocol;
|
let protocol = window.location.protocol;
|
||||||
let host = window.location.host;
|
let host = window.location.host;
|
||||||
let url = protocol+"//"+host+base;
|
//update-begin---author:wangshuai ---date:20221118 for:[issues/1383]yml中设置了项目前缀,分享链接地址有误------------
|
||||||
|
let url = protocol+"//"+host+BASE_URL;
|
||||||
|
//update-end---author:wangshuai ---date:20221118 for:[issues/1383]yml中设置了项目前缀,分享链接地址有误------------
|
||||||
result.previewUrl = url+result.previewUrl;
|
result.previewUrl = url+result.previewUrl;
|
||||||
this.$refs.jurisdiction.jurisdictionData = result;
|
this.$refs.jurisdiction.jurisdictionData = result;
|
||||||
this.$refs.jurisdiction.shareUrlModal = true
|
this.$refs.jurisdiction.shareUrlModal = true
|
||||||
|
|||||||
+2
-2
@@ -100,8 +100,8 @@
|
|||||||
},
|
},
|
||||||
//图片上传文件大小
|
//图片上传文件大小
|
||||||
handleMaxSize(file, size){
|
handleMaxSize(file, size){
|
||||||
console.log("file===>", file)
|
// console.log("file===>", file)
|
||||||
console.log("size===>", size)
|
// console.log("size===>", size)
|
||||||
this.$Notice.warning({
|
this.$Notice.warning({
|
||||||
title: '超出文件大小限制',
|
title: '超出文件大小限制',
|
||||||
desc: '文件 ' + file.name + ' 太大,请上传' + size + 'M以内图片',
|
desc: '文件 ' + file.name + ' 太大,请上传' + size + 'M以内图片',
|
||||||
|
|||||||
+75
@@ -0,0 +1,75 @@
|
|||||||
|
<script type="text/x-template" id="bar-series-template">
|
||||||
|
<Submenu name="6" style="border-bottom: inset 1px;" class="rightFontSize dataSourceForm">
|
||||||
|
<template slot="title">
|
||||||
|
<span>类型设置</span>
|
||||||
|
</template>
|
||||||
|
<div class="blockDiv" style="padding-bottom: 10px">
|
||||||
|
<Row class="ivurow" v-for="(item,index) in seriesData">
|
||||||
|
<Tooltip :content="item.name" placement="top">
|
||||||
|
<p class="text-width">
|
||||||
|
{{item.name}}
|
||||||
|
</p>
|
||||||
|
</Tooltip>
|
||||||
|
<i-select size="small" class="iSelect" v-model="item.type" @on-change="onSeriesChange">
|
||||||
|
<i-option class="rightFontSize" value="bar">bar</i-option>
|
||||||
|
<i-option class="rightFontSize" value="line">line</i-option>
|
||||||
|
</i-select>
|
||||||
|
</Row>
|
||||||
|
</div>
|
||||||
|
</Submenu>
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
Vue.component('j-bar-series-setting', {
|
||||||
|
template: '#bar-series-template',
|
||||||
|
props: {
|
||||||
|
chartOptions: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dataSettings: {
|
||||||
|
type: [Object, String],
|
||||||
|
default: () => {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
seriesData: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
chartOptions: {
|
||||||
|
deep: true,
|
||||||
|
immediate: true,
|
||||||
|
handler: function () {
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initData: function () {
|
||||||
|
if (this.chartOptions && this.chartOptions.series) {
|
||||||
|
this.seriesData = this.chartOptions.series;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onSeriesChange(value) {
|
||||||
|
this.chartOptions.series = this.seriesData
|
||||||
|
let id = this.dataSettings.id;
|
||||||
|
xs.updateChart(id, this.chartOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.text-width {
|
||||||
|
width: 50px;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
top: 6px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
+2
-2
@@ -337,7 +337,7 @@
|
|||||||
url: api.getLinkageChartInfo,
|
url: api.getLinkageChartInfo,
|
||||||
data: param,
|
data: param,
|
||||||
success: (result) => {
|
success: (result) => {
|
||||||
console.log(112,result)
|
// console.log(112,result)
|
||||||
// 设置被联动图表的参数接收
|
// 设置被联动图表的参数接收
|
||||||
handleLinkageParams.call(this, result.paramList)
|
handleLinkageParams.call(this, result.paramList)
|
||||||
// 设置当前图表的字段字典信息
|
// 设置当前图表的字段字典信息
|
||||||
@@ -391,7 +391,7 @@
|
|||||||
},
|
},
|
||||||
// 参数选中改变事件
|
// 参数选中改变事件
|
||||||
handleClParamSelected(selections){
|
handleClParamSelected(selections){
|
||||||
console.log('selections', selections)
|
// console.log('selections', selections)
|
||||||
let arr = []
|
let arr = []
|
||||||
selections.map(k=>{
|
selections.map(k=>{
|
||||||
arr.push(k.index)
|
arr.push(k.index)
|
||||||
|
|||||||
+2
-2
@@ -40,14 +40,14 @@
|
|||||||
deep: true,
|
deep: true,
|
||||||
immediate: true,
|
immediate: true,
|
||||||
handler: function (){
|
handler: function (){
|
||||||
console.log("我进来了")
|
// console.log("我进来了")
|
||||||
this.initData()
|
this.initData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initData: function (){
|
initData: function (){
|
||||||
console.log(this.centralPoint,"我进来了")
|
// console.log(this.centralPoint,"我进来了")
|
||||||
if (this.settings){
|
if (this.settings){
|
||||||
this.centralPoint = Object.assign(this.centralPoint, this.settings)
|
this.centralPoint = Object.assign(this.centralPoint, this.settings)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -298,7 +298,7 @@
|
|||||||
url: api.getLinkageChartInfo,
|
url: api.getLinkageChartInfo,
|
||||||
data: param,
|
data: param,
|
||||||
success: (result) => {
|
success: (result) => {
|
||||||
console.log(112,result)
|
// console.log(112,result)
|
||||||
// 设置被联动图表的参数接收
|
// 设置被联动图表的参数接收
|
||||||
handleLinkageParams.call(this, result.paramList)
|
handleLinkageParams.call(this, result.paramList)
|
||||||
// 设置当前图表的字段字典信息
|
// 设置当前图表的字段字典信息
|
||||||
|
|||||||
+13
-5
@@ -26,7 +26,7 @@
|
|||||||
</form-item>
|
</form-item>
|
||||||
</i-col>
|
</i-col>
|
||||||
<i-col span="4" style="margin-left: 20px">
|
<i-col span="4" style="margin-left: 20px">
|
||||||
<i-button type="primary" @click="loadData">查询</i-button>
|
<i-button type="primary" @click="loadData(1)">查询</i-button>
|
||||||
<i-button @click="resetParam">清空</i-button>
|
<i-button @click="resetParam">清空</i-button>
|
||||||
</i-col>
|
</i-col>
|
||||||
</row>
|
</row>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<#--回收站 end-->
|
<#--回收站 end-->
|
||||||
<#--end字典-->
|
<#--end字典-->
|
||||||
<#--字典配置页面 begin-->
|
<#--字典配置页面 begin-->
|
||||||
<Drawer :transfer="true" class="dictDrawer" width="500" title="字典类表" v-model="itemDrawer">
|
<Drawer :transfer="true" class="dictDrawer" width="500" title="字典列表" v-model="itemDrawer">
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<i-button type="primary" @click="dictItemClick">添加</i-button>
|
<i-button type="primary" @click="dictItemClick">添加</i-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -362,11 +362,17 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadData() {
|
loadData(arg) {
|
||||||
//加载数据列表
|
//加载数据列表
|
||||||
let that = this;
|
let that = this;
|
||||||
let data = {}
|
let data = {}
|
||||||
data.pageNo = that.dictData.page.page
|
//update-begin---author:wangshuai ---date:20220720 for:[VUEN-1657]积木报表的字典查询,不好使输入 sex 或者性别都查不到数据------------
|
||||||
|
if(arg){
|
||||||
|
data.pageNo = arg
|
||||||
|
}else{
|
||||||
|
data.pageNo = that.dictData.page.page
|
||||||
|
}
|
||||||
|
//update-end---author:wangshuai ---date:20220720 for:[VUEN-1657]积木报表的字典查询,不好使输入 sex 或者性别都查不到数据--------------
|
||||||
data.pageSize = that.dictData.page.size
|
data.pageSize = that.dictData.page.size
|
||||||
if(this.queryParam.dictCode){
|
if(this.queryParam.dictCode){
|
||||||
data.dictCode=this.queryParam.dictCode
|
data.dictCode=this.queryParam.dictCode
|
||||||
@@ -386,7 +392,9 @@
|
|||||||
},
|
},
|
||||||
resetParam(){
|
resetParam(){
|
||||||
this.queryParam={}
|
this.queryParam={}
|
||||||
this.loadData()
|
//update-begin---author:wangshuai ---date:20220720 for:[VUEN-1657]积木报表的字典查询,不好使输入 sex 或者性别都查不到数据------------
|
||||||
|
this.loadData(1)
|
||||||
|
//update-end---author:wangshuai ---date:20220720 for:[VUEN-1657]积木报表的字典查询,不好使输入 sex 或者性别都查不到数据------------
|
||||||
},
|
},
|
||||||
loadItemData() {
|
loadItemData() {
|
||||||
//加载数据列表
|
//加载数据列表
|
||||||
|
|||||||
+6
-7
@@ -152,8 +152,8 @@
|
|||||||
<div style="font-size: 10px;">
|
<div style="font-size: 10px;">
|
||||||
<p style="margin-left: 14px">
|
<p style="margin-left: 14px">
|
||||||
<ul>
|
<ul>
|
||||||
<li>如果id字段为字符串类型则需要加单引号:http://127.0.0.1:8080/jeecg-boot/jimureport/test?id=${"'$"}${"{id}'"}。</li>
|
<li>如果id字段为字符串类型则需要加单引号:http://127.0.0.1:8080/jeecg-boot/jimureport/test?id=${"$"}${"{id}"}。</li>
|
||||||
<li>您可以编写${"'#"}${"{sysDateTime}'"}做为一个系统变量,这里sysDateTime是当前系统时间。例如:http://127.0.0.1:8080/jeecg-boot/jimureport/test?riqi=${"'#"}${"{sysDateTime}'"}。</li>
|
<li>您可以编写${"#"}${"{sysDateTime}"}做为一个系统变量,这里sysDateTime是当前系统时间。例如:http://127.0.0.1:8080/jeecg-boot/jimureport/test?riqi=${"#"}${"{sysDateTime}"}。</li>
|
||||||
<li>您可以简写访问路径,如:{ { domainURL } }/jimureport/test。
|
<li>您可以简写访问路径,如:{ { domainURL } }/jimureport/test。
|
||||||
<Tooltip content="数据源用法文档" placement="top">
|
<Tooltip content="数据源用法文档" placement="top">
|
||||||
<a class="jimu-table-tip help-color" href="http://report.jeecg.com/2384069" target="_blank" style="font-size: 14px"><Icon size="14" type="ios-help-circle-outline" style="margin-top: 2px"/></a>
|
<a class="jimu-table-tip help-color" href="http://report.jeecg.com/2384069" target="_blank" style="font-size: 14px"><Icon size="14" type="ios-help-circle-outline" style="margin-top: 2px"/></a>
|
||||||
@@ -392,7 +392,6 @@
|
|||||||
{value: 'dm',label: '达梦'},
|
{value: 'dm',label: '达梦'},
|
||||||
{value: 'kingbase8',label: '人大金仓'},
|
{value: 'kingbase8',label: '人大金仓'},
|
||||||
{value: 'oscar',label: '神通'},
|
{value: 'oscar',label: '神通'},
|
||||||
{value: 'SQLite',label: 'SQLite'},
|
|
||||||
{value: 'DB2',label: 'DB2'},
|
{value: 'DB2',label: 'DB2'},
|
||||||
{value: 'Hsqldb',label: 'Hsqldb'},
|
{value: 'Hsqldb',label: 'Hsqldb'},
|
||||||
{value: 'Derby',label: 'Derby'},
|
{value: 'Derby',label: 'Derby'},
|
||||||
@@ -533,7 +532,7 @@
|
|||||||
},
|
},
|
||||||
on: {
|
on: {
|
||||||
'on-change': (value) => {
|
'on-change': (value) => {
|
||||||
console.log(this.tab1.data)
|
// console.log(this.tab1.data)
|
||||||
this.tab1.data[params.index].searchMode = value;
|
this.tab1.data[params.index].searchMode = value;
|
||||||
// this.tab1.data
|
// this.tab1.data
|
||||||
}
|
}
|
||||||
@@ -1039,7 +1038,7 @@
|
|||||||
editById(dbId){
|
editById(dbId){
|
||||||
this.tabValue="1";
|
this.tabValue="1";
|
||||||
$http.get({url:api.loadDbData(dbId),success:(result)=>{
|
$http.get({url:api.loadDbData(dbId),success:(result)=>{
|
||||||
console.log('result=====',result);
|
// console.log('result=====',result);
|
||||||
let reportResult = result;
|
let reportResult = result;
|
||||||
if(!reportResult){
|
if(!reportResult){
|
||||||
return;
|
return;
|
||||||
@@ -1122,7 +1121,7 @@
|
|||||||
},
|
},
|
||||||
getReport(){
|
getReport(){
|
||||||
$http.get({url:api.getReport(excel_config_id),success:(result)=>{
|
$http.get({url:api.getReport(excel_config_id),success:(result)=>{
|
||||||
console.log("result====>",result)
|
// console.log("result====>",result)
|
||||||
if (result){
|
if (result){
|
||||||
this.$emit('cancelback',result)
|
this.$emit('cancelback',result)
|
||||||
this.designerObj = result;
|
this.designerObj = result;
|
||||||
@@ -1182,7 +1181,7 @@
|
|||||||
success:(result)=>{
|
success:(result)=>{
|
||||||
this.tab3Loading=false;
|
this.tab3Loading=false;
|
||||||
this.spinShow=false;
|
this.spinShow=false;
|
||||||
console.log("loadTableData====>result",result)
|
// console.log("loadTableData====>result",result)
|
||||||
this.tab3.data=result.records;
|
this.tab3.data=result.records;
|
||||||
this.tab3.page.total=result.total;
|
this.tab3.page.total=result.total;
|
||||||
},
|
},
|
||||||
|
|||||||
+6
-6
@@ -295,7 +295,7 @@
|
|||||||
},
|
},
|
||||||
on: {
|
on: {
|
||||||
'on-change': (value) => {
|
'on-change': (value) => {
|
||||||
console.log(this.tab1.data)
|
// console.log(this.tab1.data)
|
||||||
this.tab1.data[params.index].searchMode = value;
|
this.tab1.data[params.index].searchMode = value;
|
||||||
// this.tab1.data
|
// this.tab1.data
|
||||||
}
|
}
|
||||||
@@ -593,7 +593,7 @@
|
|||||||
}
|
}
|
||||||
data.fieldList = this.tab1.data; //解析出表字段
|
data.fieldList = this.tab1.data; //解析出表字段
|
||||||
data.paramList = this.tab2.data; //动态表单参数
|
data.paramList = this.tab2.data; //动态表单参数
|
||||||
console.log(123, data)
|
// console.log(123, data)
|
||||||
$http.post({
|
$http.post({
|
||||||
url: api.saveDb,
|
url: api.saveDb,
|
||||||
contentType:'json',
|
contentType:'json',
|
||||||
@@ -640,7 +640,7 @@
|
|||||||
this.clearData();
|
this.clearData();
|
||||||
$http.get({url:api.loadDbData(dbId),
|
$http.get({url:api.loadDbData(dbId),
|
||||||
success:(result)=>{
|
success:(result)=>{
|
||||||
console.log('result=====',result);
|
// console.log('result=====',result);
|
||||||
if(!result){
|
if(!result){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -759,7 +759,7 @@
|
|||||||
|
|
||||||
getReport(){
|
getReport(){
|
||||||
$http.get({url:api.getReport(excel_config_id),success:(result)=>{
|
$http.get({url:api.getReport(excel_config_id),success:(result)=>{
|
||||||
console.log("result====>",result)
|
// console.log("result====>",result)
|
||||||
if (result){
|
if (result){
|
||||||
this.$emit('cancelback',result)
|
this.$emit('cancelback',result)
|
||||||
this.designerObj = result;
|
this.designerObj = result;
|
||||||
@@ -805,7 +805,7 @@
|
|||||||
success:(result)=>{
|
success:(result)=>{
|
||||||
this.tab3Loading=false;
|
this.tab3Loading=false;
|
||||||
this.spinShow=false;
|
this.spinShow=false;
|
||||||
console.log("loadTableData====>result",result)
|
// console.log("loadTableData====>result",result)
|
||||||
this.tab3.data=result.records;
|
this.tab3.data=result.records;
|
||||||
this.tab3.page.total=result.total;
|
this.tab3.page.total=result.total;
|
||||||
},
|
},
|
||||||
@@ -1116,7 +1116,7 @@
|
|||||||
},
|
},
|
||||||
//放大确定事件
|
//放大确定事件
|
||||||
extJsonOk(){
|
extJsonOk(){
|
||||||
console.log(this.paramConfigData)
|
// console.log(this.paramConfigData)
|
||||||
if(this.tableType == 0){
|
if(this.tableType == 0){
|
||||||
this.tab1.data[this.tableIndex].extJson = this.paramConfigData
|
this.tab1.data[this.tableIndex].extJson = this.paramConfigData
|
||||||
}else if(this.tableType == 1){
|
}else if(this.tableType == 1){
|
||||||
|
|||||||
+1
-1
@@ -144,7 +144,7 @@
|
|||||||
jurisdictionData.id= this.jurisdictionData.id
|
jurisdictionData.id= this.jurisdictionData.id
|
||||||
jurisdictionData.status= '1'
|
jurisdictionData.status= '1'
|
||||||
jurisdictionData.reportId= this.jurisdictionData.reportId
|
jurisdictionData.reportId= this.jurisdictionData.reportId
|
||||||
console.log("我进来了")
|
// console.log("我进来了")
|
||||||
$http.post({
|
$http.post({
|
||||||
contentType:'json',
|
contentType:'json',
|
||||||
url: api.addAndEdit,
|
url: api.addAndEdit,
|
||||||
|
|||||||
+10
-4
@@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
<Row class="ivurow">
|
<Row class="ivurow">
|
||||||
<p>上边距 </p>
|
<p>上边距 </p>
|
||||||
<slider v-model="legendOptions.padding[0]" @on-change="onLegendChange" :tip-format="formatTop" style="margin-top: -9px;width: 148px;margin-left: 5px;"></slider>
|
<slider :disabled="legendOptions.top!=='top'" v-model="paddingTop" @on-change="onLegendTopChange" :tip-format="formatTop" style="margin-top: -9px;width: 148px;margin-left: 5px;"></slider>
|
||||||
</Row>
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
</Submenu>
|
</Submenu>
|
||||||
@@ -77,7 +77,8 @@
|
|||||||
left:"left",
|
left:"left",
|
||||||
orient:"horizontal",
|
orient:"horizontal",
|
||||||
textStyle_fontSize:""
|
textStyle_fontSize:""
|
||||||
}
|
},
|
||||||
|
paddingTop:'' //边距单独提出来
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -93,13 +94,18 @@
|
|||||||
initData: function (){
|
initData: function (){
|
||||||
if (this.settings){
|
if (this.settings){
|
||||||
this.legendOptions = Object.assign(this.legendOptions, this.settings)
|
this.legendOptions = Object.assign(this.legendOptions, this.settings)
|
||||||
|
//update-begin---author:wangshuai ---date:20220628 for:[issues/I58YJG]图表中图例设置-纵向位置如果设置为底部,在挪动上边距的话那个图例就会跑到顶部去------------
|
||||||
|
this.paddingTop = this.legendOptions.padding[0]
|
||||||
|
//update-end---author:wangshuai ---date:20220628 for:[issues/I58YJG]图表中图例设置-纵向位置如果设置为底部,在挪动上边距的话那个图例就会跑到顶部去--------------
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLegendChange (){
|
onLegendChange (){
|
||||||
console.log("我进来了")
|
|
||||||
console.log(this.legendOptions)
|
|
||||||
this.$emit('change','legend',this.legendOptions)
|
this.$emit('change','legend',this.legendOptions)
|
||||||
},
|
},
|
||||||
|
onLegendTopChange(){
|
||||||
|
this.legendOptions.padding[0] = this.paddingTop;
|
||||||
|
this.onLegendChange()
|
||||||
|
},
|
||||||
formatTop(val){
|
formatTop(val){
|
||||||
return val
|
return val
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-1
@@ -334,7 +334,7 @@
|
|||||||
token:this.token
|
token:this.token
|
||||||
},
|
},
|
||||||
success:(result)=>{
|
success:(result)=>{
|
||||||
console.log('result',result)
|
// console.log('result',result)
|
||||||
let records=result.records;
|
let records=result.records;
|
||||||
that.page.total = result.total
|
that.page.total = result.total
|
||||||
that.$nextTick(()=>{
|
that.$nextTick(()=>{
|
||||||
|
|||||||
+7
-7
@@ -119,7 +119,7 @@
|
|||||||
methods: {
|
methods: {
|
||||||
//渲染button
|
//渲染button
|
||||||
renderColorButton(h, params, key, type){
|
renderColorButton(h, params, key, type){
|
||||||
console.log('params', params)
|
// console.log('params', params)
|
||||||
if (key == 'action'){
|
if (key == 'action'){
|
||||||
return h('div', {style: {display: 'flex'}}, [
|
return h('div', {style: {display: 'flex'}}, [
|
||||||
h('i-button', {
|
h('i-button', {
|
||||||
@@ -190,7 +190,7 @@
|
|||||||
},
|
},
|
||||||
initData: function (){
|
initData: function (){
|
||||||
if (this.chartOptions){
|
if (this.chartOptions){
|
||||||
console.info("########", JSON.stringify(this.dataSettings))
|
// console.info("########", JSON.stringify(this.dataSettings))
|
||||||
this.selectedChartType = this.dataSettings.chartType;
|
this.selectedChartType = this.dataSettings.chartType;
|
||||||
let colorArr = [];
|
let colorArr = [];
|
||||||
let seriesList = []
|
let seriesList = []
|
||||||
@@ -244,7 +244,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
console.info("自定义颜色", colorArr)
|
// console.info("自定义颜色", colorArr)
|
||||||
//已设置的颜色配置
|
//已设置的颜色配置
|
||||||
this.colorMatchData = colorArr
|
this.colorMatchData = colorArr
|
||||||
//系列下拉框数据
|
//系列下拉框数据
|
||||||
@@ -264,8 +264,8 @@
|
|||||||
this.colorMatch={name:'',color:'',edgeColor:"",opacity:1,lineColor:''};
|
this.colorMatch={name:'',color:'',edgeColor:"",opacity:1,lineColor:''};
|
||||||
},
|
},
|
||||||
onColorChange(){
|
onColorChange(){
|
||||||
console.log('this.colorMatchData==>',JSON.stringify(this.colorMatchData));
|
// console.log('this.colorMatchData==>',JSON.stringify(this.colorMatchData));
|
||||||
console.log('this.seriesTypeData==>',JSON.stringify(this.seriesTypeData));
|
// console.log('this.seriesTypeData==>',JSON.stringify(this.seriesTypeData));
|
||||||
if(!this.colorMatchData){
|
if(!this.colorMatchData){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
}else{
|
}else{
|
||||||
arr = this.chartOptions['series']
|
arr = this.chartOptions['series']
|
||||||
}
|
}
|
||||||
console.log('this.arr==>',JSON.stringify(arr));
|
// console.log('this.arr==>',JSON.stringify(arr));
|
||||||
let seriesArray = []
|
let seriesArray = []
|
||||||
let i = 0;
|
let i = 0;
|
||||||
for(let item of arr){
|
for(let item of arr){
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
let arr= [[0.2, c1], [0.8, c2], [1, c3]];
|
let arr= [[0.2, c1], [0.8, c2], [1, c3]];
|
||||||
this.chartOptions['series'][0]['axisLine']['lineStyle'].color =arr
|
this.chartOptions['series'][0]['axisLine']['lineStyle'].color =arr
|
||||||
}
|
}
|
||||||
console.info("this.chartOptions",JSON.stringify(this.chartOptions))
|
// console.info("this.chartOptions",JSON.stringify(this.chartOptions))
|
||||||
let id = this.dataSettings.id;
|
let id = this.dataSettings.id;
|
||||||
xs.updateChart(id , this.chartOptions);
|
xs.updateChart(id , this.chartOptions);
|
||||||
},
|
},
|
||||||
|
|||||||
+2
-2
@@ -107,8 +107,8 @@
|
|||||||
},
|
},
|
||||||
//图片上传文件大小
|
//图片上传文件大小
|
||||||
handleMaxSize (file,size) {
|
handleMaxSize (file,size) {
|
||||||
console.log("file===>",file)
|
// console.log("file===>",file)
|
||||||
console.log("size===>",size)
|
// console.log("size===>",size)
|
||||||
this.$Notice.warning({
|
this.$Notice.warning({
|
||||||
title: '超出文件大小限制',
|
title: '超出文件大小限制',
|
||||||
desc: '文件 ' + file.name + ' 太大,请上传'+size+'M以内图片',
|
desc: '文件 ' + file.name + ' 太大,请上传'+size+'M以内图片',
|
||||||
|
|||||||
+23
-3
@@ -1,6 +1,6 @@
|
|||||||
<script type="text/x-template" id="print-setting-template">
|
<script type="text/x-template" id="print-setting-template">
|
||||||
<div>
|
<div>
|
||||||
<Modal :loading="true" v-model="show" :width="500" @on-ok="onPrintSettingSave" @on-cancel="onPrintSettingCancel" class="expression">
|
<Modal :loading="true" v-model="show" :width="500" @on-ok="onPrintSettingSave" @on-cancel="onPrintSettingCancel" class="print-setting expression">
|
||||||
<p slot="header">
|
<p slot="header">
|
||||||
<span>打印设置
|
<span>打印设置
|
||||||
<Tooltip :transfer="true" content="打印文档" placement="top">
|
<Tooltip :transfer="true" content="打印文档" placement="top">
|
||||||
@@ -69,6 +69,16 @@
|
|||||||
<slider :min="1" :max="10" v-model="definition"></slider>
|
<slider :min="1" :max="10" v-model="definition"></slider>
|
||||||
</i-col>
|
</i-col>
|
||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
|
<Row style="margin-top: 8px">
|
||||||
|
<i-col span="6">
|
||||||
|
<span>回调接口:</span>
|
||||||
|
</i-col>
|
||||||
|
<i-col span="18">
|
||||||
|
<i-input v-model="printCallBackUrl" style="width: 100%"></i-input>
|
||||||
|
</i-col>
|
||||||
|
</Row>
|
||||||
|
|
||||||
</i-form>
|
</i-form>
|
||||||
</Modal>
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
@@ -117,7 +127,8 @@
|
|||||||
pxHeight: '',
|
pxHeight: '',
|
||||||
marginX: 10,
|
marginX: 10,
|
||||||
marginY: 10,
|
marginY: 10,
|
||||||
layout: 'portrait'
|
layout: 'portrait',
|
||||||
|
printCallBackUrl: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
@@ -157,7 +168,8 @@
|
|||||||
isBackend: this.isBackend,
|
isBackend: this.isBackend,
|
||||||
marginX: this.marginX || 0,
|
marginX: this.marginX || 0,
|
||||||
marginY: this.marginY || 0,
|
marginY: this.marginY || 0,
|
||||||
layout: this.layout
|
layout: this.layout,
|
||||||
|
printCallBackUrl: this.printCallBackUrl
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 纸张大小改变事件
|
// 纸张大小改变事件
|
||||||
@@ -234,6 +246,7 @@
|
|||||||
if(param.isBackend===true || param.isBackend===false){
|
if(param.isBackend===true || param.isBackend===false){
|
||||||
this.isBackend = param.isBackend
|
this.isBackend = param.isBackend
|
||||||
}
|
}
|
||||||
|
this.printCallBackUrl = param.printCallBackUrl || ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 重置宽高px的值
|
// 重置宽高px的值
|
||||||
@@ -292,3 +305,10 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
.print-setting .ivu-col-span-6>span{
|
||||||
|
display: inline-block;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
+9
-4
@@ -7,9 +7,9 @@ index:下标-->
|
|||||||
<div class="ivu-select ivu-select-multiple ivu-select-small" style="width: 100%">
|
<div class="ivu-select ivu-select-multiple ivu-select-small" style="width: 100%">
|
||||||
<div class="ivu-select-selection" @click="handleClick">
|
<div class="ivu-select-selection" @click="handleClick">
|
||||||
<span class="select-dict-text" v-if="dictText!=''">{{dictText}}</span>
|
<span class="select-dict-text" v-if="dictText!=''">{{dictText}}</span>
|
||||||
<span v-else class="ivu-select-input" style="color: rgb(197,201,203)">{{'请选择'+dataList.name}}</span>
|
<span v-else class="ivu-select-input" style="color: rgb(197,201,203)">{{'请选择'+dataList.title}}</span>
|
||||||
</div>
|
</div>
|
||||||
<i class="ivu-icon ivu-icon-md-close icon-position" @click="handleIconClick"></i>
|
<i class="ivu-icon ivu-icon-md-close ivu-select-arrow" @click="handleIconClick"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="scroll-class" v-if="scrollShow">
|
<div class="scroll-class" v-if="scrollShow">
|
||||||
<Scroll :class="noData == true?'no-loading':''" :height="dictHeight" :on-reach-bottom="handleReachBottom"
|
<Scroll :class="noData == true?'no-loading':''" :height="dictHeight" :on-reach-bottom="handleReachBottom"
|
||||||
@@ -269,7 +269,9 @@ index:下标-->
|
|||||||
this.getDictData(1);
|
this.getDictData(1);
|
||||||
}else{
|
}else{
|
||||||
//前台进行搜索
|
//前台进行搜索
|
||||||
if(this.dictText){
|
//update-begin---author:wangshuai ---date:20221117 for:[issues/1316]查询栏 下拉多选搜索无效------------
|
||||||
|
if(this.searchText){
|
||||||
|
//update-end---author:wangshuai ---date:20221117 for:[issues/1316]查询栏 下拉多选搜索无效--------------
|
||||||
this.searchDictByText();
|
this.searchDictByText();
|
||||||
}else{
|
}else{
|
||||||
this.dictList = this.copyDictList
|
this.dictList = this.copyDictList
|
||||||
@@ -339,7 +341,10 @@ index:下标-->
|
|||||||
}else{
|
}else{
|
||||||
for (let i = 0; i <dictList.length; i++) {
|
for (let i = 0; i <dictList.length; i++) {
|
||||||
let value = dictList[i].value;
|
let value = dictList[i].value;
|
||||||
if(value.indexOf(searchText) >= 0 || value == searchText){
|
let text = dictList[i].text;
|
||||||
|
if(value.indexOf(searchText) >= 0 || value === searchText){
|
||||||
|
newDictList.push(dictList[i])
|
||||||
|
}else if(text.indexOf(searchText) >= 0 || text ===searchText){
|
||||||
newDictList.push(dictList[i])
|
newDictList.push(dictList[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-4
@@ -3,9 +3,12 @@ item:传递的参数,包含字典code,查询key
|
|||||||
value:view组件传递的值 v-model-->
|
value:view组件传递的值 v-model-->
|
||||||
<script type="text/x-template" id="select-scroll-radio-template">
|
<script type="text/x-template" id="select-scroll-radio-template">
|
||||||
<div>
|
<div>
|
||||||
<input ref="clickInput" class="ivu-input ivu-input-default" v-model="dictText"
|
<div style="display: flex">
|
||||||
:placeholder="'请选择'+dataList.name" @blur="clickBlur"
|
<input ref="clickInput" class="ivu-input ivu-input-default" v-model="dictText"
|
||||||
@click="handleClick" style="cursor: pointer"/>
|
:placeholder="'请选择'+dataList.title" @blur="clickBlur"
|
||||||
|
@click="handleClick" style="cursor: pointer"/>
|
||||||
|
<i class="ivu-icon ivu-icon-md-close ivu-select-arrow" @click="handleIconClick" v-if="dictText"></i>
|
||||||
|
</div>
|
||||||
<div class="scoll-class" v-if="scollShow">
|
<div class="scoll-class" v-if="scollShow">
|
||||||
<Scroll :class="noData == true?'no-loading':''" :height="dictHeight" :on-reach-bottom="handleReachBottom"
|
<Scroll :class="noData == true?'no-loading':''" :height="dictHeight" :on-reach-bottom="handleReachBottom"
|
||||||
:distance-to-edge="1">
|
:distance-to-edge="1">
|
||||||
@@ -230,7 +233,10 @@ value:view组件传递的值 v-model-->
|
|||||||
let newDictList = [];
|
let newDictList = [];
|
||||||
for (let i = 0; i < dictList.length; i++) {
|
for (let i = 0; i < dictList.length; i++) {
|
||||||
let value = dictList[i].value;
|
let value = dictList[i].value;
|
||||||
if (value.indexOf(dictText) >= 0 || value == dictText) {
|
let text = dictList[i].text;
|
||||||
|
if (value.indexOf(dictText) >= 0 || value === dictText) {
|
||||||
|
newDictList.push(dictList[i])
|
||||||
|
}else if(text.indexOf(dictText) >= 0 || text === dictText){
|
||||||
newDictList.push(dictList[i])
|
newDictList.push(dictList[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -238,6 +244,13 @@ value:view组件传递的值 v-model-->
|
|||||||
//update-begin---author:wangshuai ---date:20220315 for:下拉单选样式出现混乱--------
|
//update-begin---author:wangshuai ---date:20220315 for:下拉单选样式出现混乱--------
|
||||||
this.dictHeight = this.dictList.length > 6 ? 200 : this.dictList.length * 32 + 50
|
this.dictHeight = this.dictList.length > 6 ? 200 : this.dictList.length * 32 + 50
|
||||||
//update-end---author:wangshuai ---date:20220315 for:下拉单选样式出现混乱--------
|
//update-end---author:wangshuai ---date:20220315 for:下拉单选样式出现混乱--------
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 点击叉数据清空
|
||||||
|
*/
|
||||||
|
handleIconClick(){
|
||||||
|
this.dictText=""
|
||||||
|
this.handleOnChange()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+46
-11
@@ -39,6 +39,11 @@
|
|||||||
</i-option>
|
</i-option>
|
||||||
</i-select>
|
</i-select>
|
||||||
</Row>
|
</Row>
|
||||||
|
<Row class="ivurow rightFontSize">
|
||||||
|
<p style="margin-bottom: 10px;">数值旋转 </p>
|
||||||
|
<input-number :max="90" :min="-90" size="small" v-model="seriesOption.rotate" @on-change="onSeriesLabelChange"/>
|
||||||
|
</i-select>
|
||||||
|
</Row>
|
||||||
<Row class="ivurow rightFontSize">
|
<Row class="ivurow rightFontSize">
|
||||||
<p style="margin-bottom: 10px;">是否显示数值 </p>
|
<p style="margin-bottom: 10px;">是否显示数值 </p>
|
||||||
<i-switch size="small" style="margin-left: 6px;" v-model="izShowNumber" @on-change="onSeriesFormatterChange"/>
|
<i-switch size="small" style="margin-left: 6px;" v-model="izShowNumber" @on-change="onSeriesFormatterChange"/>
|
||||||
@@ -65,7 +70,9 @@
|
|||||||
textStyle_fontSize:'',
|
textStyle_fontSize:'',
|
||||||
textStyle_fontWeight:'',
|
textStyle_fontWeight:'',
|
||||||
position:'',
|
position:'',
|
||||||
formatter:''
|
formatter:'',
|
||||||
|
rotate:0,
|
||||||
|
type:''
|
||||||
},
|
},
|
||||||
labelPositions:[],
|
labelPositions:[],
|
||||||
izShowNumber:false
|
izShowNumber:false
|
||||||
@@ -84,13 +91,28 @@
|
|||||||
initData: function (){
|
initData: function (){
|
||||||
if (this.settings){
|
if (this.settings){
|
||||||
this.seriesOption = Object.assign(this.seriesOption, this.settings)
|
this.seriesOption = Object.assign(this.seriesOption, this.settings)
|
||||||
//update-begin---author:wangshuai ---date:20220407 for:[issues/I50IKB]饼图 如何直接在图上显示各分类对应的数值------------
|
|
||||||
if(this.seriesOption.formatter && "{b}"!=this.seriesOption.formatter){
|
//update-begin---author:wangshuai ---date:20220626 for:[JMREP-2655]图表数值倾斜度设置后,数值不显示了/[issues/I5CO1P、issues/1100 、issues/1086]图表的数值显示,会连轴名称一起显示 ------------
|
||||||
this.izShowNumber = true;
|
//显示名称,没有显示数值
|
||||||
|
let type = this.seriesOption.type;
|
||||||
|
if(type === 'pie' || type === 'funnel' || type === 'scatter' || type === 'graph'){
|
||||||
|
//update-begin---author:wangshuai ---date:20220407 for:[issues/I50IKB]饼图 如何直接在图上显示各分类对应的数值------------
|
||||||
|
if(this.seriesOption.formatter && "{b}"!==this.seriesOption.formatter){
|
||||||
|
this.izShowNumber = true;
|
||||||
|
}else{
|
||||||
|
this.izShowNumber = false;
|
||||||
|
}
|
||||||
|
//update-end---author:wangshuai ---date:20220407 for:[issues/I50IKB]饼图 如何直接在图上显示各分类对应的数值------------
|
||||||
}else{
|
}else{
|
||||||
this.izShowNumber = false;
|
//只显示数值,如formatter值不为' ',则显示数值,否则不显示
|
||||||
|
if(this.seriesOption.formatter === " "){
|
||||||
|
this.izShowNumber = false
|
||||||
|
}else{
|
||||||
|
this.seriesOption.formatter="{c}"
|
||||||
|
this.izShowNumber = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//update-end---author:wangshuai ---date:20220407 for:[issues/I50IKB]饼图 如何直接在图上显示各分类对应的数值------------
|
//update-end---author:wangshuai ---date:20220626 for:[JMREP-2655]图表数值倾斜度设置后,数值不显示了/[issues/I5CO1P、issues/1100 、issues/1086]图表的数值显示,会连轴名称一起显示 --------------
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onSeriesLabelChange(){
|
onSeriesLabelChange(){
|
||||||
@@ -101,11 +123,24 @@
|
|||||||
* 图表设置格式化
|
* 图表设置格式化
|
||||||
*/
|
*/
|
||||||
onSeriesFormatterChange(){
|
onSeriesFormatterChange(){
|
||||||
if(this.izShowNumber){
|
//update-begin---author:wangshuai ---date:20220626 for:[JMREP-2655]图表数值倾斜度设置后,数值不显示了/[issues/I5CO1P、issues/1100 、issues/1086]图表的数值显示,会连轴名称一起显示 ------------
|
||||||
this.seriesOption.formatter="{b}\n{c}"
|
let type = this.seriesOption.type;
|
||||||
}else{
|
if(type === 'pie' || type === 'funnel' || type === 'scatter' || type === 'graph'){
|
||||||
this.seriesOption.formatter="{b}"
|
//如果是选中数值状态
|
||||||
}
|
if(this.izShowNumber){
|
||||||
|
this.seriesOption.formatter="{b}\n{c}"
|
||||||
|
}else{
|
||||||
|
this.seriesOption.formatter="{b}"
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//如果是选中数值状态,并且初始值为数值
|
||||||
|
if(this.izShowNumber){
|
||||||
|
this.seriesOption.formatter="{c}"
|
||||||
|
}else{
|
||||||
|
this.seriesOption.formatter=" "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//update-end---author:wangshuai ---date:20220626 for:[JMREP-2655]图表数值倾斜度设置后,数值不显示了/[issues/I5CO1P、issues/1100 、issues/1086]图表的数值显示,会连轴名称一起显示 ------------
|
||||||
let {labelPositionArray,...otherOptions}=this.seriesOption;
|
let {labelPositionArray,...otherOptions}=this.seriesOption;
|
||||||
this.$emit('change', otherOptions,'label')
|
this.$emit('change', otherOptions,'label')
|
||||||
}
|
}
|
||||||
|
|||||||
+88
-10
@@ -37,7 +37,7 @@
|
|||||||
+{{ multipleShowVal.length - 2 }}
|
+{{ multipleShowVal.length - 2 }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span v-if="multipleHideVal.length === 0" class="ivu-select-placeholder">请选择</span>
|
<span v-if="multipleShowVal.length === 0" class="ivu-select-placeholder">请选择</span>
|
||||||
<span class="" style="display: none;"></span>
|
<span class="" style="display: none;"></span>
|
||||||
</div>
|
</div>
|
||||||
<i :class="'ivu-icon ivu-icon-' +iconVal+ ' ivu-select-arrow'" @click="clickIcon"></i>
|
<i :class="'ivu-icon ivu-icon-' +iconVal+ ' ivu-select-arrow'" @click="clickIcon"></i>
|
||||||
@@ -76,7 +76,10 @@
|
|||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
type: String
|
type: String
|
||||||
}
|
},
|
||||||
|
loadtreeurl: {
|
||||||
|
type: String
|
||||||
|
}
|
||||||
},
|
},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
@@ -94,6 +97,7 @@
|
|||||||
queryData: [],
|
queryData: [],
|
||||||
inputOver: false,
|
inputOver: false,
|
||||||
treeOver: false,
|
treeOver: false,
|
||||||
|
initValues:[] //初始化value值
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -122,6 +126,14 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//update-begin---author:wangshuai ---date:20220627 for:[issues/965]报表下钻时返回上一页下拉树参数回显有问题------------
|
||||||
|
//如果没有配置通过value值获取树集合,那么就不走孩子选中时间
|
||||||
|
if(this.loadtreeurl){
|
||||||
|
this.checkChildTreeData(arr,this.initValues)
|
||||||
|
}
|
||||||
|
//update-end---author:wangshuai ---date:20220627 for:[issues/965]报表下钻时返回上一页下拉树参数回显有问题--------------
|
||||||
|
|
||||||
if(callback){
|
if(callback){
|
||||||
callback(arr)
|
callback(arr)
|
||||||
}else{
|
}else{
|
||||||
@@ -135,9 +147,9 @@
|
|||||||
},
|
},
|
||||||
// 加载子节点
|
// 加载子节点
|
||||||
loadData(item, callback){
|
loadData(item, callback){
|
||||||
console.log("====")
|
// console.log("====")
|
||||||
console.log("loadData")
|
// console.log("loadData")
|
||||||
console.log("====")
|
// console.log("====")
|
||||||
let params = {
|
let params = {
|
||||||
params: {pid: item.id}
|
params: {pid: item.id}
|
||||||
}
|
}
|
||||||
@@ -149,9 +161,9 @@
|
|||||||
},
|
},
|
||||||
// 加载数据
|
// 加载数据
|
||||||
loadRoot(){
|
loadRoot(){
|
||||||
console.log("====")
|
// console.log("====")
|
||||||
console.log("loadRoot")
|
// console.log("loadRoot")
|
||||||
console.log("====")
|
// console.log("====")
|
||||||
$http.metaGet(this.url).then((res) => {
|
$http.metaGet(this.url).then((res) => {
|
||||||
this.combineTreeData(res.data)
|
this.combineTreeData(res.data)
|
||||||
}).catch(function (error){
|
}).catch(function (error){
|
||||||
@@ -160,7 +172,7 @@
|
|||||||
},
|
},
|
||||||
initTreeSelected(){
|
initTreeSelected(){
|
||||||
// 如果有默认值 需要设置该方法
|
// 如果有默认值 需要设置该方法
|
||||||
console.log('initTreeSelected', this.value)
|
// console.log('initTreeSelected', this.value)
|
||||||
if(!this.value){
|
if(!this.value){
|
||||||
let arr = this.queryData;
|
let arr = this.queryData;
|
||||||
this.clearTreeSelect(arr)
|
this.clearTreeSelect(arr)
|
||||||
@@ -168,6 +180,13 @@
|
|||||||
this.multipleHideVal = []
|
this.multipleHideVal = []
|
||||||
// 勾选状态去不掉
|
// 勾选状态去不掉
|
||||||
this.queryData = JSON.parse(JSON.stringify(arr))
|
this.queryData = JSON.parse(JSON.stringify(arr))
|
||||||
|
}else{
|
||||||
|
//update-begin---author:wangshuai ---date:20220627 for:[issues/965]报表下钻时返回上一页下拉树参数回显有问题------------
|
||||||
|
//如果没有配置通过值获取数集合,那么就不走请求接口,兼容老数据
|
||||||
|
if(this.loadtreeurl){
|
||||||
|
this.getTreeName(this.value);
|
||||||
|
}
|
||||||
|
//update-end---author:wangshuai ---date:20220627 for:[issues/965]报表下钻时返回上一页下拉树参数回显有问题------------
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clearTreeSelect(arr){
|
clearTreeSelect(arr){
|
||||||
@@ -256,7 +275,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
clearVal () {
|
clearVal () {
|
||||||
console.log('clearVal')
|
// console.log('clearVal')
|
||||||
/* if (this.clearable && !this.multiple && this.iconVal === 'ios-close-circle') {
|
/* if (this.clearable && !this.multiple && this.iconVal === 'ios-close-circle') {
|
||||||
this.pickTree(this.hideValue)
|
this.pickTree(this.hideValue)
|
||||||
this.queryVal = ''
|
this.queryVal = ''
|
||||||
@@ -339,6 +358,65 @@
|
|||||||
let emitString = this.multipleHideVal.join(',')
|
let emitString = this.multipleHideVal.join(',')
|
||||||
this.$emit('input', emitString)
|
this.$emit('input', emitString)
|
||||||
this.$emit('on-change', emitString)
|
this.$emit('on-change', emitString)
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取树名称
|
||||||
|
* @param value
|
||||||
|
*/
|
||||||
|
getTreeName(value){
|
||||||
|
let params = {
|
||||||
|
params: {value: value}
|
||||||
|
}
|
||||||
|
$http.metaGet(this.loadtreeurl, params).then((res) => {
|
||||||
|
if(res.data && res.data.length> 0){
|
||||||
|
let initValues = [];
|
||||||
|
for (let i = 0; i < res.data.length; i++) {
|
||||||
|
if(res.data[i].value){
|
||||||
|
if(this.multipleShowVal.indexOf(res.data[i].title) === -1){
|
||||||
|
this.multipleShowVal.push(res.data[i].title)
|
||||||
|
}
|
||||||
|
initValues.push(res.data[i].value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//如果有值默认选中
|
||||||
|
this.setChecked(initValues);
|
||||||
|
this.initValues = initValues
|
||||||
|
}
|
||||||
|
}).catch(function (error){
|
||||||
|
console.log('获取树名称失败', error)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置选中值
|
||||||
|
* @param children
|
||||||
|
* @param removeValue
|
||||||
|
*/
|
||||||
|
setChecked(values){
|
||||||
|
let arr = this.queryData;
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (values.indexOf(arr[i].value)!==-1 && !values.checked) {
|
||||||
|
Vue.set(arr[i],"checked",true)
|
||||||
|
} else {
|
||||||
|
Vue.set(arr[i],"checked",false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 子级设置选中值
|
||||||
|
* @param children
|
||||||
|
* @param checkedValue
|
||||||
|
*/
|
||||||
|
checkChildTreeData(children, checkedValue) {
|
||||||
|
for (let i = 0; i < children.length; i++) {
|
||||||
|
if (checkedValue.indexOf(children[i].value)!==-1 && !checkedValue.checked) {
|
||||||
|
Vue.set(children[i],"checked",true)
|
||||||
|
}else{
|
||||||
|
Vue.set(children[i],"checked",false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -169,7 +169,7 @@
|
|||||||
this.$emit('change', false)
|
this.$emit('change', false)
|
||||||
},
|
},
|
||||||
handleClickToolbarBtn(item){
|
handleClickToolbarBtn(item){
|
||||||
console.log('handleClickToolbarBtn', item)
|
// console.log('handleClickToolbarBtn', item)
|
||||||
let index = item.index;
|
let index = item.index;
|
||||||
let position = this.selectedIndexList.indexOf(index)
|
let position = this.selectedIndexList.indexOf(index)
|
||||||
if(position>=0){
|
if(position>=0){
|
||||||
|
|||||||
+1
@@ -32,3 +32,4 @@
|
|||||||
<#include "components/cell_linkage.ftl">
|
<#include "components/cell_linkage.ftl">
|
||||||
<#include "components/primary_sub_report.ftl">
|
<#include "components/primary_sub_report.ftl">
|
||||||
<#include "components/sql_function_replace.ftl">
|
<#include "components/sql_function_replace.ftl">
|
||||||
|
<#include "components/bar_series_setting.ftl">
|
||||||
+9
-9
@@ -1,4 +1,4 @@
|
|||||||
<#assign CACHE_VERSION = "v=v=1.0.7">
|
<#assign CACHE_VERSION = "v=1.0.13">
|
||||||
<#assign config_id = "${id!''}">
|
<#assign config_id = "${id!''}">
|
||||||
<#assign shareView = "${shareView}">
|
<#assign shareView = "${shareView}">
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@@ -158,7 +158,7 @@ function getLocalRequestUrl() {
|
|||||||
<div id="app" style="overflow: hidden" v-cloak>
|
<div id="app" style="overflow: hidden" v-cloak>
|
||||||
<!-- 查询条件 -begin -->
|
<!-- 查询条件 -begin -->
|
||||||
<div v-if="configQueryList && configQueryList.length>0">
|
<div v-if="configQueryList && configQueryList.length>0">
|
||||||
<Collapse class="jm-query-collapse" @on-change="onQueryAreaSwitch">
|
<Collapse class="jm-query-collapse" @on-change="onQueryAreaSwitch" v-model="queryPanel">
|
||||||
<Panel name="1">
|
<Panel name="1">
|
||||||
<span style="color: #000000;" title="点击展开显示查询信息">查 询 栏</span>
|
<span style="color: #000000;" title="点击展开显示查询信息">查 询 栏</span>
|
||||||
<div slot="content">
|
<div slot="content">
|
||||||
@@ -196,7 +196,7 @@ function getLocalRequestUrl() {
|
|||||||
|
|
||||||
<!-- 下拉树 -->
|
<!-- 下拉树 -->
|
||||||
<template v-else-if="item.mode==6">
|
<template v-else-if="item.mode==6">
|
||||||
<j-tree-select :ref="item.key" :url="item.loadTree" v-model="queryInfo[item.key]"></j-tree-select>
|
<j-tree-select :ref="item.key" :url="item.loadTree" :loadtreeurl="item.loadTreeByValue" v-model="queryInfo[item.key]"></j-tree-select>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- 自定义下拉框 -->
|
<!-- 自定义下拉框 -->
|
||||||
@@ -219,20 +219,20 @@ function getLocalRequestUrl() {
|
|||||||
<template v-else-if="item.type=='number'">
|
<template v-else-if="item.type=='number'">
|
||||||
<Row v-if="item.mode==2">
|
<Row v-if="item.mode==2">
|
||||||
<i-col span="11">
|
<i-col span="11">
|
||||||
<i-input :ref="item.key+'_begin'" class="jm-select-box" v-model="queryInfo[item.key+'_begin']" type="number" :placeholder="'请输入起始值'"></i-input>
|
<i-input :ref="item.key+'_begin'" class="jm-select-box" v-model="queryInfo[item.key+'_begin']" type="number" :placeholder="'请输入起始值'" clearable></i-input>
|
||||||
</i-col>
|
</i-col>
|
||||||
<i-col span="2" style="text-align: center"> ~</i-col>
|
<i-col span="2" style="text-align: center"> ~</i-col>
|
||||||
<i-col span="11">
|
<i-col span="11">
|
||||||
<i-input :ref="item.key+'_end'" class="jm-select-box" v-model="queryInfo[item.key+'_end']" type="number" :placeholder="'请输入结束值'"></i-input>
|
<i-input :ref="item.key+'_end'" class="jm-select-box" v-model="queryInfo[item.key+'_end']" type="number" :placeholder="'请输入结束值'" clearable></i-input>
|
||||||
</i-col>
|
</i-col>
|
||||||
</Row>
|
</Row>
|
||||||
<i-input v-else :ref="item.key" class="jm-select-box" type="number" v-model="queryInfo[item.key]" :placeholder="'请输入'+item.title"></i-input>
|
<i-input v-else :ref="item.key" class="jm-select-box" type="number" v-model="queryInfo[item.key]" :placeholder="'请输入'+item.title" clearable></i-input>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- 默认输入框 模糊查询参数加* -->
|
<!-- 默认输入框 模糊查询参数加* -->
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<i-input v-if="item.mode==5" :ref="item.key" @on-change="(e)=>handleLikeQueryChange(e, item.key)" class="jm-select-box" v-model="queryInfo['onlyshow_'+item.key]" :placeholder="'请输入'+item.title"></i-input>
|
<i-input v-if="item.mode==5" :ref="item.key" @on-change="(e)=>handleLikeQueryChange(e, item.key)" class="jm-select-box" v-model="queryInfo['onlyshow_'+item.key]" :placeholder="'请输入'+item.title" clearable></i-input>
|
||||||
<i-input v-else :ref="item.key" class="jm-select-box" v-model="queryInfo[item.key]" :placeholder="'请输入'+item.title"></i-input>
|
<i-input v-else :ref="item.key" class="jm-select-box" v-model="queryInfo[item.key]" :placeholder="'请输入'+item.title" clearable></i-input>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</form-item>
|
</form-item>
|
||||||
@@ -298,8 +298,8 @@ function getLocalRequestUrl() {
|
|||||||
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/js/biz/row.cycle.js?${CACHE_VERSION}"></script>
|
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/js/biz/row.cycle.js?${CACHE_VERSION}"></script>
|
||||||
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/cdn/vue/xss-0.3.3.min.js?${CACHE_VERSION}"></script>
|
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/cdn/vue/xss-0.3.3.min.js?${CACHE_VERSION}"></script>
|
||||||
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/js/biz/view.js?${CACHE_VERSION}"></script>
|
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/js/biz/view.js?${CACHE_VERSION}"></script>
|
||||||
<#include "./common/tj.ftl">
|
|
||||||
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/cdn/vue/md5.min.js?${CACHE_VERSION}"></script>
|
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/cdn/vue/md5.min.js?${CACHE_VERSION}"></script>
|
||||||
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/js/biz/SignMd5Util.js?${CACHE_VERSION}"></script>
|
<script type="text/javascript" src="${base}${customPrePath}/jmreport/desreport_/js/biz/SignMd5Util.js?${CACHE_VERSION}"></script>
|
||||||
|
<#include "./common/tj.ftl">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in new issue
Block a user