mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 20:49:00 +08:00
⬆️ Upgrading dependencies. up jimu 1.5.6
This commit is contained in:
1 parent
813c107a45
commit
40bb94302a
16 files changed
+451
-191
No files matched your search
+2
-2
@@ -18,7 +18,7 @@ import java.util.Map;
|
||||
/**
|
||||
* @author lengleng
|
||||
* @date 2022/4/6
|
||||
*
|
||||
* <p>
|
||||
* 积木安全控制
|
||||
*/
|
||||
@Component
|
||||
@@ -40,7 +40,7 @@ public class JimuReportTokenService implements JmReportTokenServiceI {
|
||||
// @formatter:off
|
||||
}
|
||||
@Override public String[] getRoles(String s) {
|
||||
return new String[0];
|
||||
return new String[]{"admin"};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<#assign CACHE_VERSION = "v=1694491301.10">
|
||||
<#assign CACHE_VERSION = "v=1699715555.10">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
var s = document.createElement('script');
|
||||
s.type = 'text/javascript';
|
||||
s.async = true;
|
||||
s.src = "https://hm.baidu.com/hm.js?b756a4a8e1c58d613e27d1459c6d6076";
|
||||
s.src = "https://hm.baidu.com/hm.js?5819d05c0869771ff6e6a81cdec5b2e8";
|
||||
var x = document.getElementsByTagName('script')[0];
|
||||
x.parentNode.insertBefore(s, x);
|
||||
}
|
||||
|
||||
+1
-1
@@ -828,7 +828,7 @@ function load() {
|
||||
// console.log(cdata);
|
||||
// console.log(xs.validate());
|
||||
var str = JSON.stringify(cdata)
|
||||
console.log(str);
|
||||
//console.log(str);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<title>系统错误</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div style="color: red">
|
||||
${message}
|
||||
<a href="http://jimureport.com/vip">Upgrade Now</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
<#assign CACHE_VERSION = "v=1694491301.10">
|
||||
<#assign CACHE_VERSION = "v=1699715555.10">
|
||||
<#assign config_id = "${id!''}">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -582,12 +582,12 @@
|
||||
<i-option value="img" key="2" class="rightFontSize">图片</i-option>
|
||||
<i-option value="barcode" key="3" class="rightFontSize">条形码</i-option>
|
||||
<i-option value="qrcode" key="4" class="rightFontSize">二维码</i-option>
|
||||
<i-option value="richText" key="5" class="rightFontSize">富文本?</i-option>
|
||||
<i-option value="richText" key="5" class="rightFontSize">富文本</i-option>
|
||||
<#--<i-option value="chart" key="5">图表</i-option>-->
|
||||
</i-select>
|
||||
</div>
|
||||
<div class="basicSettingTop rightFontSize" v-if="excel.type == 'img'">
|
||||
<span>尺寸?</span>
|
||||
<span>尺寸</span>
|
||||
<i-select class="twoInputWidth" v-model="excel.imgSize" @on-change="onChangeCellImgSize">
|
||||
<i-option value="0" key="0" class="rightFontSize">完全覆盖(cover)</i-option>
|
||||
<i-option value="1" key="1" class="rightFontSize">适应内容(contain)</i-option>
|
||||
@@ -1139,7 +1139,7 @@
|
||||
x.spreadsheet.locale('zh-cn');
|
||||
xs = x.spreadsheet('#jm-sheet-wrapper', options)
|
||||
.onSave(function (data) {
|
||||
console.log("data: ", data)
|
||||
//console.log("data: ", data)
|
||||
//设置报表打印宽度
|
||||
const dataRect = xs.data.getDataRect();
|
||||
let dataRectWidth = 0;
|
||||
|
||||
+149
-49
@@ -1,4 +1,4 @@
|
||||
<#assign CACHE_VERSION = "v=1694491301.10">
|
||||
<#assign CACHE_VERSION = "v=1699715555.10">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
@@ -131,6 +131,10 @@
|
||||
<#include "./template/list.ftl">
|
||||
<div id="app" style="padding-left: 30px">
|
||||
<div class="layout" style="margin-left: -30px;margin-top: -10px;">
|
||||
<#-- <div style="background-color: #1890FF;height: 47px">-->
|
||||
<#-- <span class="aui-logo"></span>-->
|
||||
<#-- <span class="jimu-header">欢迎进入积木报表工作台 </span>-->
|
||||
<#-- </div>-->
|
||||
<Layout>
|
||||
<Sider breakpoint="md" collapsible :collapsed-width="78" v-model="isCollapsed">
|
||||
<i-menu theme="primary" width="auto" :class="menuitemClasses" active-name="datainfo" :open-names="['sub']" @on-select="onMenuSelect">
|
||||
@@ -143,14 +147,14 @@
|
||||
<Icon type="md-list"/></Icon>
|
||||
<span>数据报表</span>
|
||||
</Menu-Item>
|
||||
<Menu-Item name="chartinfo">
|
||||
<Icon type="md-images"></Icon>
|
||||
<span>图形报表</span>
|
||||
</Menu-Item>
|
||||
<Menu-Item name="printinfo">
|
||||
<Icon type="md-print"></Icon>
|
||||
<span>打印设计</span>
|
||||
</Menu-Item>
|
||||
<Menu-Item name="recycleBin">
|
||||
<Icon type="md-trash"></Icon>
|
||||
<span>回收站</span>
|
||||
</Menu-Item>
|
||||
</Submenu>
|
||||
</i-menu>
|
||||
<div slot="trigger"></div>
|
||||
@@ -158,7 +162,9 @@
|
||||
<Tabs value="name1" style="width: 100%" @on-click="tabsClick">
|
||||
<tab-pane icon="md-desktop" label="报表设计" name="name1" class="jimu-tab">
|
||||
<div style="display: flex;justify-content:space-between;margin-left:16px;margin-right: 38px;">
|
||||
<div>
|
||||
<div style="display: flex">
|
||||
<input type="file" accept=".json" id="fileInput" ref="fileInput" style="display: none" @input="handleFileUpload">
|
||||
<i-button size="small" icon="ios-cloud-upload-outline" style="margin-right: 5px;" type="primary" @click="uploadFile" v-if="menuitem!='recycleBin'">导入报表</i-button>
|
||||
<i-input size="small" v-model="name" @keyup.enter.native="enterSearchClick" placeholder="搜索报表名称"></i-input>
|
||||
</div>
|
||||
<div class="page">
|
||||
@@ -184,7 +190,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex;flex-wrap: wrap;" v-if="previewModel =='view'">
|
||||
<div class="excel-view-item excel-list-add">
|
||||
<div class="excel-view-item excel-list-add" v-if="menuitem!='recycleBin'">
|
||||
<a @click="createExcel">
|
||||
<i class="ivu-icon ivu-icon-md-add" style="font-size:20px; padding-bottom: 5px;"></i>
|
||||
<p style="letter-spacing: 2px;font-size: 14px;">新建报表</p>
|
||||
@@ -202,7 +208,7 @@
|
||||
<!-- 缩略图 –>-->
|
||||
<div class="thumb">
|
||||
<img :src="getThumbSrc(item)"/>
|
||||
<div class="excel-edit-container" v-show="item.editable">
|
||||
<div class="excel-edit-container" v-show="item.editable && menuitem!='recycleBin'">
|
||||
<a :href="getExcelEditUrl(item)" target="_blank">
|
||||
设计
|
||||
</a>
|
||||
@@ -219,24 +225,24 @@
|
||||
{{ item.name }}
|
||||
</div>
|
||||
</Tooltip>
|
||||
<div>
|
||||
<div v-if="menuitem!='recycleBin'">
|
||||
<a class="opt-show" :href="getExcelViewUrl(item)" target="_blank">
|
||||
<Tooltip content="预览模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip content="预览报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-eye-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-show" v-show="userMessage" @click="setTemplate(item,1)">
|
||||
<Tooltip content="收藏模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip content="收藏报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-star-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-show" @click="handleDelete(item)">
|
||||
<Tooltip content="删除模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip content="删除报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-trash" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-show" @click="handleCopy(item)">
|
||||
<Tooltip content="复制模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip content="复制报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-browsers" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
@@ -247,51 +253,78 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div style="margin-left: 14%;" v-else>
|
||||
<a class="opt-show" @click="handleReduction(item)">
|
||||
<Tooltip content="还原报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-refresh" style="font-size: 16px;transform: rotate(200deg)"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-show" @click="handleRealDelete(item)">
|
||||
<Tooltip content="彻底删除报表" placement="top" transfer class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-md-trash" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- 循环结束 –>-->
|
||||
</div>
|
||||
<div v-else style="padding: 10px 10px">
|
||||
<i-button type="primary" @click="createExcel" size="small" style="margin-left: 6px;width:78px;font-size: 10px">
|
||||
<i-button v-if="menuitem!='recycleBin'" type="primary" @click="createExcel" size="small" style="margin-left: 6px;width:78px;font-size: 10px">
|
||||
新建报表
|
||||
</i-button>
|
||||
<i-table size="small" style="margin-top: 10px" border :columns="listColumns" :data="dataSource">
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a class="opt-list-show" :href="getExcelViewUrl(row)" target="_blank">
|
||||
<Tooltip transfer="true" content="预览模板" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-eye-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" :href="getExcelEditUrl(row)" target="_blank">
|
||||
<Tooltip transfer="true" content="编辑" placement="top">
|
||||
<i class="ivu-icon ivu-icon-md-create" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" v-show="userMessage" @click="setTemplate(row,1)">
|
||||
<Tooltip transfer="true" content="收藏模板" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-star-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleDelete(row)">
|
||||
<Tooltip transfer="true" content="删除模板" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-trash" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleCopy(row)">
|
||||
<Tooltip transfer="true" content="复制模板" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-browsers" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleShare(row.id)">
|
||||
<Tooltip transfer="true" content="分享" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-share-alt" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<template v-if="menuitem!='recycleBin'">
|
||||
<a class="opt-list-show" :href="getExcelViewUrl(row)" target="_blank">
|
||||
<Tooltip transfer="true" content="预览报表" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-eye-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" :href="getExcelEditUrl(row)" target="_blank">
|
||||
<Tooltip transfer="true" content="编辑" placement="top">
|
||||
<i class="ivu-icon ivu-icon-md-create" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" v-show="userMessage" @click="setTemplate(row,1)">
|
||||
<Tooltip transfer="true" content="收藏报表" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-star-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleDelete(row)">
|
||||
<Tooltip transfer="true" content="删除报表" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-trash" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleCopy(row)">
|
||||
<Tooltip transfer="true" content="复制报表" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-browsers" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleShare(row.id)">
|
||||
<Tooltip transfer="true" content="分享" placement="top">
|
||||
<i class="ivu-icon ivu-icon-ios-share-alt" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a class="opt-list-show" @click="handleReduction(row)">
|
||||
<Tooltip content="还原报表" placement="top" transfer class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-refresh" style="font-size: 16px;transform: rotate(200deg)"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleRealDelete(row)">
|
||||
<Tooltip content="彻底删除报表" placement="top" transfer class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-md-trash" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
</template>
|
||||
</template>
|
||||
</i-table>
|
||||
</div>
|
||||
</tab-pane>
|
||||
<tab-pane icon="md-options" label="模板案例" name="name2" class="jimu-tab">
|
||||
<tab-pane icon="md-options" label="模板案例" name="name2" class="jimu-tab" v-if="menuitem!='recycleBin'">
|
||||
<div style="display: flex;justify-content:space-between;margin-left:16px;margin-right: 38px">
|
||||
<div>
|
||||
<i-input size="small" v-model="name" @keyup.enter.native="loadData" placeholder="搜索报表名称"></i-input>
|
||||
@@ -350,7 +383,7 @@
|
||||
</Tooltip>
|
||||
<div style="margin-left: 14%;">
|
||||
<a class="opt-show" :href="getExcelViewUrl(item)" target="_blank">
|
||||
<Tooltip content="预览模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip content="预览报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-eye-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
@@ -360,7 +393,7 @@
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-show" @click="handleCopy(item)">
|
||||
<Tooltip content="复制模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip content="复制报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-browsers" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
@@ -396,7 +429,7 @@
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" :href="getExcelViewUrl(row)" target="_blank">
|
||||
<Tooltip transfer="true" content="预览模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip transfer="true" content="预览报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-eye-outline" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
@@ -406,7 +439,7 @@
|
||||
</Tooltip>
|
||||
</a>
|
||||
<a class="opt-list-show" @click="handleCopy(row)">
|
||||
<Tooltip transfer="true" content="复制模板" placement="top" class="tooltip-footer-font-size">
|
||||
<Tooltip transfer="true" content="复制报表" placement="top" class="tooltip-footer-font-size">
|
||||
<i class="ivu-icon ivu-icon-ios-browsers" style="font-size: 16px"></i>
|
||||
</Tooltip>
|
||||
</a>
|
||||
@@ -765,6 +798,33 @@
|
||||
this.$Spin.hide();
|
||||
}, 3000);*/
|
||||
},
|
||||
//----------导入导出begin----------------------
|
||||
handleFileUpload(event) {
|
||||
const file = event.target.files[0];
|
||||
const formData = new FormData();
|
||||
formData.append('file', file);
|
||||
// 处理文件上传操作,例如读取文件内容等
|
||||
$http.post({
|
||||
url:api.importReportJson,
|
||||
contentType: "multipart/form-data",
|
||||
data:formData,
|
||||
success:(result)=>{
|
||||
//console.log(result);
|
||||
this.$Message.success(result);
|
||||
this.loadData()
|
||||
this.$refs.fileInput.value = null;
|
||||
},
|
||||
error:(err)=>{
|
||||
console.error(err);
|
||||
this.$Message.error(err);
|
||||
}
|
||||
});
|
||||
},
|
||||
uploadFile(event) {
|
||||
const input = document.querySelector("#fileInput");
|
||||
input?.click();
|
||||
},
|
||||
//----------导入导出end----------------------
|
||||
//分享按钮点击事件
|
||||
handleShare(id){
|
||||
$http.get({
|
||||
@@ -810,6 +870,46 @@
|
||||
return "${base}"+"${customPrePath}"+JM_VIEW_IMG_URL+"/"+item.thumb
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 真实删除
|
||||
* @param item
|
||||
*/
|
||||
handleRealDelete(item){
|
||||
var that = this;
|
||||
this.$Modal.confirm({
|
||||
title: "彻底删除",
|
||||
content: "确定要彻底删除吗,删除之后无法恢复",
|
||||
closable: true,
|
||||
onOk: (res) => {
|
||||
$http.del({
|
||||
url: api.deleteReportById,
|
||||
data: {
|
||||
id: item.id
|
||||
},
|
||||
success:(res)=>{
|
||||
that.loadData();
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 撤回
|
||||
* @param item
|
||||
*/
|
||||
handleReduction(item){
|
||||
var that = this;
|
||||
$http.post({
|
||||
contentType:'json',
|
||||
url: api.revertReportById,
|
||||
data: {
|
||||
id: item.id
|
||||
},
|
||||
success:(res)=>{
|
||||
that.loadData();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
+2
-2
@@ -316,11 +316,11 @@
|
||||
getChartParamSelectOptions() {
|
||||
let data = this.currentChart
|
||||
if(!data){
|
||||
console.log("未选择联动图表!")
|
||||
//console.log("未选择联动图表!")
|
||||
return []
|
||||
}
|
||||
if(!data.x || !data.y){
|
||||
console.log("图表未正确配置数据源!")
|
||||
//console.log("图表未正确配置数据源!")
|
||||
return []
|
||||
}
|
||||
let arr = [{
|
||||
|
||||
+81
-3
@@ -7,7 +7,8 @@
|
||||
:title="moduleTitle"
|
||||
fullscreen=true
|
||||
:closable="true"
|
||||
:mask-closable="false">
|
||||
:mask-closable="false"
|
||||
:closable="false">
|
||||
<div slot="footer">
|
||||
<i-button @click="close">关闭</i-button>
|
||||
</div>
|
||||
@@ -37,6 +38,7 @@
|
||||
<i-button type="primary" @click="dictClick">添加</i-button>
|
||||
<i-button icon="ios-loading" type="primary" @click="dictReflesh">刷新缓存</i-button>
|
||||
<i-button v-if="dictDeleteShow==true" type="error" @click="dictDeleteBatch">删除</i-button>
|
||||
<i-button @click="recycleBinClick">回收站</i-button>
|
||||
</div>
|
||||
<div style="margin-top: 10px">
|
||||
<i-table @on-selection-change="dictTableSelect" border stripe :columns="dictData.columns" :data="dictData.data"
|
||||
@@ -101,9 +103,13 @@
|
||||
<div slot="footer">
|
||||
<i-button @click="recycleBinReset">关闭</i-button>
|
||||
</div>
|
||||
<div style="margin-top: 10px" v-if="recycleBinRows.length>0">
|
||||
<i-button type="primary" size="small" style="cursor: pointer" @click="recycleBinBatch('recycle')">批量取回</i-button>
|
||||
<i-button type="error" size="small" style="cursor: pointer" @click="recycleBinBatch('delete')">批量刪除</i-button>
|
||||
</div>
|
||||
<div style="margin-top: 10px">
|
||||
<i-table border stripe :columns="recycleBin.columns" :data="recycleBin.data"
|
||||
style="margin-top: 1%;">
|
||||
style="margin-top: 1%;" @on-selection-change="recycleBinChange">
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<i-button type="primary" size="small" style="cursor: pointer" @click="recycleBinRetrieve(row.id)">取回</i-button>
|
||||
<Poptip
|
||||
@@ -342,7 +348,9 @@
|
||||
createDictItemShow: false, //字典详细是否显示
|
||||
createDictItemLoading: false,
|
||||
recycleBinShow:false, //回收站显示
|
||||
queryParam:{} //查询条件
|
||||
queryParam:{}, //查询条件
|
||||
//回收站选择数据
|
||||
recycleBinRows:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -597,6 +605,7 @@
|
||||
},
|
||||
close() {
|
||||
this.dictShow = false
|
||||
this.recycleBinRows = [];
|
||||
this.resetParam()
|
||||
},
|
||||
getRowClassname(row) {
|
||||
@@ -653,6 +662,75 @@
|
||||
this.loadRecycleBin()
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 回收站复选框选中事件
|
||||
* @param selection
|
||||
*/
|
||||
recycleBinChange(selection){
|
||||
if (selection.length > 0) {
|
||||
this.recycleBinRows = selection
|
||||
} else {
|
||||
this.recycleBinRows = [];
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 回收站批量操作
|
||||
* @param type
|
||||
*/
|
||||
recycleBinBatch(type){
|
||||
let recycleBinRows = this.recycleBinRows
|
||||
let ids = ""
|
||||
for (const recycle of recycleBinRows) {
|
||||
let id = recycle.id;
|
||||
ids = ids + id + ","
|
||||
}
|
||||
if (ids.length > 1) {
|
||||
ids = ids.substr(0, ids.lastIndexOf(","))
|
||||
}
|
||||
if(type === 'recycle'){
|
||||
//批量取回
|
||||
this.recycleBinBatchRecycle(ids);
|
||||
}else if(type === 'delete'){
|
||||
//批量删除
|
||||
this.recycleBinBatchDelete(ids);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 批量取回
|
||||
* @param ids
|
||||
*/
|
||||
recycleBinBatchRecycle(ids){
|
||||
$http.post({
|
||||
url: api.batchRevert,
|
||||
data: {"ids": ids},
|
||||
success: (res) => {
|
||||
this.recycleBinRows = [];
|
||||
this.loadRecycleBin();
|
||||
this.loadData();
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 批量删除
|
||||
* @param ids
|
||||
*/
|
||||
recycleBinBatchDelete(ids){
|
||||
this.$Modal.confirm({
|
||||
title: "批量删除",
|
||||
content: "确定要删除吗",
|
||||
closable: true,
|
||||
onOk: (res) => {
|
||||
$http.del({
|
||||
url: api.batchRealDelete,
|
||||
data: {"ids": ids},
|
||||
success: (res) => {
|
||||
this.recycleBinRows = [];
|
||||
this.loadRecycleBin();
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
+109
-99
@@ -131,7 +131,7 @@
|
||||
<form-item prop="dbDynSql" label="报表SQL:" v-if="sqlForm.dbType == 0">
|
||||
<i-input v-model="sqlForm.dbDynSql" @on-blur="dbDynSqlBlur" type="textarea" :rows="4" placeholder="请输入查询SQL" style="min-height: 100px;max-height: 620px;width:950px">
|
||||
</i-input>
|
||||
<div style="font-size: 10px;">
|
||||
<div style="font-size: 12px;">
|
||||
<p style="margin-left: 14px">
|
||||
<ul>
|
||||
<li>如果id字段为字符串类型则需要加单引号:select * from table where id=${"'$"}${"{id}'"}。</li>
|
||||
@@ -149,7 +149,7 @@
|
||||
<form-item prop="apiUrl" label="Api地址:" v-else-if="sqlForm.dbType == 1">
|
||||
<i-input v-model="sqlForm.apiUrl" @on-blur="dbApiBlur" type="textarea" :rows="4" placeholder="请输入Api地址" style="min-height: 100px;max-height: 620px;width:950px">
|
||||
</i-input>
|
||||
<div style="font-size: 10px;">
|
||||
<div style="font-size: 12px;">
|
||||
<p style="margin-left: 14px">
|
||||
<ul>
|
||||
<li>如果id字段为字符串类型则需要加单引号:http://127.0.0.1:8080/jeecg-boot/jimureport/test?id=${"$"}${"{id}"}。</li>
|
||||
@@ -167,15 +167,15 @@
|
||||
<i-input v-model="sqlForm.jsonData" type="textarea" :rows="4" placeholder="请输入JSON数据" style="min-height: 120px;max-height: 620px;width:950px">
|
||||
</i-input>
|
||||
</form-item>
|
||||
<i-button @click="handleAnalyze('sql')" v-if="sqlForm.dbType == 0" type="primary">SQL解析</i-button>
|
||||
<i-button @click="handleSQLAnalyze" v-if="sqlForm.dbType == 0" type="primary">SQL解析</i-button>
|
||||
<Tooltip v-if="sqlForm.dbType == 0" :transfer="true" content="SQL解析文档" placement="top">
|
||||
<a class="jimu-table-tip help-color" href="https://help.jeecg.com/jimureport/sql.html" target="_blank" style="font-size: 14px"><Icon size="14" type="ios-help-circle-outline" style="margin-top: 2px"/></a>
|
||||
</Tooltip>
|
||||
<i-button @click="handleAnalyze('api')" v-if="sqlForm.dbType == 1" type="primary">Api解析</i-button>
|
||||
<i-button @click="handleApiAnalyze" v-if="sqlForm.dbType == 1" type="primary">Api解析</i-button>
|
||||
<Tooltip v-if="sqlForm.dbType == 1" :transfer="true" content="Api解析文档" placement="top">
|
||||
<a class="jimu-table-tip help-color" href="https://help.jeecg.com/jimureport/api.html" target="_blank" style="font-size: 14px"><Icon size="14" type="ios-help-circle-outline" style="margin-top: 2px"/></a>
|
||||
</Tooltip>
|
||||
<i-button @click="handleAnalyze('json')" v-if="sqlForm.dbType == 3" type="primary">JSON解析</i-button>
|
||||
<i-button @click="handleJsonAnalyze" v-if="sqlForm.dbType == 3" type="primary">JSON解析</i-button>
|
||||
<Tooltip v-if="sqlForm.dbType == 3" :transfer="true" content="JSON解析文档" placement="top">
|
||||
<a class="jimu-table-tip help-color" href="https://help.jeecg.com/jimureport/dataSet/json.html" target="_blank" style="font-size: 14px;"><Icon size="14" type="ios-help-circle-outline" style="margin-top: 2px"/></a>
|
||||
</Tooltip>
|
||||
@@ -221,7 +221,7 @@
|
||||
|
||||
</tab-pane>
|
||||
<tab-pane label="数据预览" name="3" v-if="sqlForm.dbType == 0">
|
||||
<span style="color: red">提示:仅显示10条数据</span>
|
||||
<span style="color: red">提示:仅显示10条数据 <span v-if="izTestData==true">因权限控制,列表为测试数据</span> </span>
|
||||
<i-table ref="viewParamTable" stripe :columns="tab3.columns" :data="tab3.data" :loading="tab3Loading"></i-table>
|
||||
<#-- <div style="float:right;margin-top:20px;">-->
|
||||
<#-- <Page :total="tab3.page.total" @on-change="handleCurrentChange"></Page>-->
|
||||
@@ -452,7 +452,8 @@
|
||||
// 下拉选项
|
||||
{title: '数值类型', value: 'number'},
|
||||
{title: '字符类型', value: 'string'},
|
||||
{title: '日期类型', value: 'date'}
|
||||
{title: '日期类型', value: 'date'},
|
||||
{ title: '富文本', value: 'richText' }
|
||||
];
|
||||
|
||||
return h('i-select', {
|
||||
@@ -918,7 +919,9 @@
|
||||
extJsonShow:false, //参数配置弹窗是否显示
|
||||
tableIndex:-1, //当前table的下标
|
||||
tableType:-1, //判断当前是字段还是参数 0字段 1参数
|
||||
daSourceDesc:"选择数据源" //数据源维护描述的内容
|
||||
daSourceDesc:"选择数据源", //数据源维护描述的内容
|
||||
//是否为测试数据
|
||||
izTestData: false
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
@@ -1128,6 +1131,7 @@
|
||||
this.loadTableData(val,this.sqlForm.dbDynSql);
|
||||
},
|
||||
loadTableData(page,sql){
|
||||
this.izTestData = false;
|
||||
if(page){
|
||||
this.tab3.page.page = page;
|
||||
}
|
||||
@@ -1184,6 +1188,11 @@
|
||||
fail:(res)=>{
|
||||
this.tab3Loading=false;
|
||||
this.spinShow=false;
|
||||
//update-begin---author:wangshuai---date:2023-10-31---for:【QQYUN-6534】积木的数据预览,在无权限的时候,是不是生成一些测试数据---
|
||||
if(res.code === 402 && this.tab1.data && this.tab1.data.length>0){
|
||||
this.generateTestData();
|
||||
}
|
||||
//update-end---author:wangshuai---date:2023-10-31---for:【QQYUN-6534】积木的数据预览,在无权限的时候,是不是生成一些测试数据---
|
||||
},
|
||||
error:()=>{
|
||||
this.tab3Loading=false;
|
||||
@@ -1477,44 +1486,22 @@
|
||||
}
|
||||
}else{
|
||||
let resultElement = result['fieldList'];
|
||||
let that = this;
|
||||
if(this.tab1.data && resultElement){
|
||||
let data = this.tab1.data;
|
||||
//update-begin--Author:wangshuai Date:20210430 for:sql动态报表配置明细如果字段存在就不替换,否则替换,要不然会引起数据清空--------------------
|
||||
data = data.concat(resultElement)
|
||||
//先去除没有的数据
|
||||
let newJson = [];
|
||||
//找到不重复的数据
|
||||
for (const datum of data) {
|
||||
//建立标记,判断数据是否重复,true为不重复
|
||||
let flag = true;
|
||||
for (const results of newJson) {
|
||||
//循环数据删除this.tab1.data已经存在的数据
|
||||
if(datum['fieldName'] == results['fieldName']){
|
||||
flag = false;
|
||||
if(this.tab1.data.length>0){
|
||||
this.$Modal.confirm({
|
||||
title:'是否要重置字段?',
|
||||
content: '已存在的字段不会修改,但是数据为空会删除所有字段!',
|
||||
onOk: () => {
|
||||
that.setTabFieldData(resultElement);
|
||||
},
|
||||
onCancel: () => {
|
||||
console.info("不重置字段");
|
||||
}
|
||||
}
|
||||
//判断是否重复
|
||||
if(flag == true){
|
||||
//不重复的放入新数组。 新数组的内容会继续进行上边的循环。
|
||||
newJson.push(datum);
|
||||
}
|
||||
}
|
||||
//去除没有的数据
|
||||
newJson = newJson.filter(item => resultElement.some(value => value.fieldName == item.fieldName))
|
||||
//循环给当前剔除的数组加上index和排序及查询框
|
||||
let newData=[];
|
||||
let i =0;
|
||||
for (const results of newJson) {
|
||||
results.tableIndex = i
|
||||
if(!results){
|
||||
results.searchFlag = 0
|
||||
}
|
||||
results.orderNum = i
|
||||
newData.push(results);
|
||||
i++;
|
||||
});
|
||||
}else{
|
||||
that.setTabFieldData(resultElement);
|
||||
}
|
||||
this.tab1.data = newData
|
||||
//update-end--Author:wangshuai Date:20210430 for:sql动态报表配置明细如果字段存在就不替换,否则替换,要不然会引起数据清空--------------------
|
||||
}else{
|
||||
this.tab1.data = resultElement;
|
||||
this.tab1.data.forEach((item,index)=>{
|
||||
@@ -1600,43 +1587,21 @@
|
||||
Vue.prototype.$Message.warning("执行成功,但是数据为空,无法解析报表字段!!");
|
||||
}
|
||||
//update-end--Author:wangshuai--Date:20211109--for:api解析为空提示
|
||||
//update-begin--Author:wangshuai Date:20210430 for:api动态报表配置明细如果字段存在就不替换,否则替换,要不然会引起数据清空--------------------
|
||||
let data = this.tab1.data;
|
||||
data = data.concat(result)
|
||||
//先去除没有的数据
|
||||
let newJson = [];
|
||||
//找到不重复的数据
|
||||
for (const datum of data) {
|
||||
//建立标记,判断数据是否重复,true为不重复
|
||||
let flag = true;
|
||||
for (const results of newJson) {
|
||||
//循环数据删除this.tab1.data已经存在的数据
|
||||
if(datum['fieldName'] == results['fieldName']){
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
//判断是否重复
|
||||
if(flag == true){
|
||||
//不重复的放入新数组。 新数组的内容会继续进行上边的循环。
|
||||
newJson.push(datum);
|
||||
}
|
||||
let that = this;
|
||||
if(this.tab1.data.length>0){
|
||||
this.$Modal.confirm({
|
||||
title:'是否要重置字段?',
|
||||
content: '已存在的字段不会修改,但是数据为空会删除所有字段!',
|
||||
onOk: () => {
|
||||
that.setTabFieldData(result);
|
||||
},
|
||||
onCancel: () => {
|
||||
console.info("不重置字段");
|
||||
}
|
||||
});
|
||||
}else{
|
||||
that.setTabFieldData(result);
|
||||
}
|
||||
//去除没有的数据
|
||||
newJson = newJson.filter(item => result.some(value => value.fieldName == item.fieldName))
|
||||
//循环给当前剔除的数组加上index和排序及查询框
|
||||
let newData=[];
|
||||
let i =0;
|
||||
for (const results of newJson) {
|
||||
results.tableIndex = i
|
||||
if(!results){
|
||||
results.searchFlag = 0
|
||||
}
|
||||
results.orderNum = i
|
||||
newData.push(results);
|
||||
i++;
|
||||
}
|
||||
this.tab1.data = newData;
|
||||
//update-end--Author:wangshuai Date:20210430 for:api动态报表配置明细如果字段存在就不替换,否则替换,要不然会引起数据清空--------------------
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -1715,7 +1680,8 @@
|
||||
if(!reg.test(dbDynSql)){
|
||||
return;
|
||||
}
|
||||
|
||||
//替换“$“{DaoFormat. 为空,使SQL能正常解析
|
||||
dbDynSql = dbDynSql.replaceAll('\$\{DaoFormat.','');
|
||||
let dbDynSqlArr = dbDynSql.match(reg);
|
||||
let paramsArr = [];
|
||||
if(dbDynSqlArr && dbDynSqlArr.length>0){
|
||||
@@ -2288,7 +2254,7 @@
|
||||
})
|
||||
}
|
||||
}
|
||||
console.log("tabData:",tabData)
|
||||
//console.log("tabData:",tabData)
|
||||
this.tab2.data = tabData
|
||||
//1需要报错提示
|
||||
this.handleSQLAnalyze("1");
|
||||
@@ -2346,7 +2312,7 @@
|
||||
},
|
||||
//放大确定事件
|
||||
extJsonOk(){
|
||||
console.log(this.paramConfigData)
|
||||
//console.log(this.paramConfigData)
|
||||
if(this.tableType == 0){
|
||||
this.tab1.data[this.tableIndex].extJson = this.paramConfigData
|
||||
}else if(this.tableType == 1){
|
||||
@@ -2355,26 +2321,70 @@
|
||||
this.extJsonCancel();
|
||||
},
|
||||
/**
|
||||
* 是否需要更新字段
|
||||
* 设置tabs 字段详细的数据
|
||||
* @param result 请求接口返回的数据
|
||||
*/
|
||||
handleAnalyze(value) {
|
||||
let that = this;
|
||||
this.$Modal.confirm({
|
||||
title:'是否要重置字段?',
|
||||
content: '已存在的字段不会修改,但是数据为空会删除所有字段!',
|
||||
onOk: () => {
|
||||
if(value == 'sql'){
|
||||
that.handleSQLAnalyze();
|
||||
}else if(value == 'api'){
|
||||
that.handleApiAnalyze();
|
||||
}else if(value == 'json'){
|
||||
that.handleJsonAnalyze();
|
||||
setTabFieldData(result){
|
||||
let data = this.tab1.data;
|
||||
//update-begin--Author:wangshuai Date:20210430 for:sql动态报表配置明细如果字段存在就不替换,否则替换,要不然会引起数据清空--------------------
|
||||
data = data.concat(result)
|
||||
//先去除没有的数据
|
||||
let newJson = [];
|
||||
//找到不重复的数据
|
||||
for (const datum of data) {
|
||||
//建立标记,判断数据是否重复,true为不重复
|
||||
let flag = true;
|
||||
for (const results of newJson) {
|
||||
//循环数据删除this.tab1.data已经存在的数据
|
||||
if(datum['fieldName'] == results['fieldName']){
|
||||
flag = false;
|
||||
}
|
||||
},
|
||||
onCancel: () => {
|
||||
console.info("不重置字段")
|
||||
}
|
||||
});
|
||||
//判断是否重复
|
||||
if(flag == true){
|
||||
//不重复的放入新数组。 新数组的内容会继续进行上边的循环。
|
||||
newJson.push(datum);
|
||||
}
|
||||
}
|
||||
//去除没有的数据
|
||||
newJson = newJson.filter(item => result.some(value => value.fieldName == item.fieldName))
|
||||
//循环给当前剔除的数组加上index和排序及查询框
|
||||
let newData=[];
|
||||
let i =0;
|
||||
for (const results of newJson) {
|
||||
results.tableIndex = i
|
||||
if(!results){
|
||||
results.searchFlag = 0
|
||||
}
|
||||
results.orderNum = i
|
||||
newData.push(results);
|
||||
i++;
|
||||
}
|
||||
this.tab1.data = newData
|
||||
//update-end--Author:wangshuai Date:20210430 for:sql动态报表配置明细如果字段存在就不替换,否则替换,要不然会引起数据清空--------------------
|
||||
},
|
||||
generateTestData() {
|
||||
let fieldArray = [];
|
||||
for (const item of this.tab1.data) {
|
||||
fieldArray.push({
|
||||
fieldName: item.fieldName,
|
||||
widgetType: item.widgetType,
|
||||
});
|
||||
}
|
||||
let fieldJson = "";
|
||||
if (fieldArray.length > 0) {
|
||||
fieldJson = JSON.stringify(fieldArray);
|
||||
}
|
||||
$http.post({
|
||||
url: api.generateTestData,
|
||||
contentType:"json",
|
||||
data: fieldJson,
|
||||
success: (result) => {
|
||||
this.izTestData = true;
|
||||
this.tab3.data = result;
|
||||
this.tab3.page.total = 10;
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
+73
-23
@@ -75,6 +75,8 @@
|
||||
stripe
|
||||
@on-select="selectField"
|
||||
@on-select-all="selectFieldAll"
|
||||
@on-select-all-cancel="cancelFieldAll"
|
||||
@on-select-cancel="cancelField"
|
||||
:columns="tab1.columns"
|
||||
:data="tab1.data"
|
||||
:height="tableHeight">
|
||||
@@ -218,7 +220,8 @@
|
||||
// 下拉选项
|
||||
{title: '数值类型', value: 'number'},
|
||||
{title: '字符类型', value: 'string'},
|
||||
{title: '日期类型', value: 'date'}
|
||||
{title: '日期类型', value: 'date'},
|
||||
{ title: '富文本', value: 'richText' },
|
||||
];
|
||||
|
||||
return h('i-select', {
|
||||
@@ -686,23 +689,7 @@
|
||||
return true
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 解析之前提示是否重置字段
|
||||
*/
|
||||
handelAnalyze(){
|
||||
let that = this;
|
||||
this.$Modal.confirm({
|
||||
title:'是否要重置字段?',
|
||||
content: '已存在的字段不会修改,但是数据为空会删除所有字段!',
|
||||
onOk: () => {
|
||||
that.analyze();
|
||||
},
|
||||
onCancel: () => {
|
||||
console.info("不重置字段")
|
||||
}
|
||||
});
|
||||
},
|
||||
analyze(){
|
||||
let { javaType, javaValue, isPage } = this.formData
|
||||
let param = {}
|
||||
this.tab2.data.map(item=>{
|
||||
@@ -721,12 +708,20 @@
|
||||
contentType: 'json',
|
||||
data: dataStr,
|
||||
success:(result)=>{
|
||||
this.tab1.data = result
|
||||
this.tab1.data.forEach((item,index)=>{
|
||||
item.tableIndex = index+1;
|
||||
item.searchFlag = 0
|
||||
item.extJson = ""
|
||||
})
|
||||
if(this.tab1.data && this.tab1.data.length>0){
|
||||
this.$Modal.confirm({
|
||||
title:'是否要重置字段?',
|
||||
content: '数据为空会删除所有字段!',
|
||||
onOk: () => {
|
||||
this.setTabFieldData(result);
|
||||
},
|
||||
onCancel: () => {
|
||||
console.info("不重置字段")
|
||||
}
|
||||
});
|
||||
}else{
|
||||
this.setTabFieldData(result);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -979,6 +974,18 @@
|
||||
selectField(selection,row){
|
||||
this.tab1.selectParamTables=[...this.tab1.selectParamTables,{"tableIndex":row.tableIndex,"id":row.id}];
|
||||
},
|
||||
/**
|
||||
* 取消选中全部
|
||||
*/
|
||||
cancelFieldAll(){
|
||||
this.tab1.selectParamTables = [];
|
||||
},
|
||||
/**
|
||||
* 取消选中的其中一个复选框
|
||||
*/
|
||||
cancelField(selection,row){
|
||||
this.tab1.selectParamTables = this.tab1.selectParamTables.filter(item=>item.tableIndex!=row.tableIndex);
|
||||
},
|
||||
removeFieldTable(){
|
||||
this.deleteFieldModel = true;
|
||||
},
|
||||
@@ -986,6 +993,8 @@
|
||||
let tableIndexArr = this.tab1.selectParamTables.map(item=>item.tableIndex);
|
||||
let arr = this.tab1.data.filter(item=>!tableIndexArr.includes(item.tableIndex));
|
||||
this.tab1.data = [...arr]
|
||||
//删除之后清除复选框的key
|
||||
this.tab1.selectParamTables = [];
|
||||
},
|
||||
|
||||
selectParamAll(){
|
||||
@@ -1138,6 +1147,47 @@
|
||||
this.tab2.data[this.tableIndex].extJson = this.paramConfigData
|
||||
}
|
||||
this.extJsonCancel();
|
||||
},
|
||||
/**
|
||||
* 设置tabs 字段详细的数据
|
||||
* @param result 请求接口返回的数据
|
||||
*/
|
||||
setTabFieldData(result){
|
||||
let data = this.tab1.data;
|
||||
data = data.concat(result)
|
||||
//先去除没有的数据
|
||||
let newJson = [];
|
||||
//找到不重复的数据
|
||||
for (const datum of data) {
|
||||
//建立标记,判断数据是否重复,true为不重复
|
||||
let flag = true;
|
||||
for (const results of newJson) {
|
||||
//循环数据删除this.tab1.data已经存在的数据
|
||||
if(datum['fieldName'] == results['fieldName']){
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
//判断是否重复
|
||||
if(flag == true){
|
||||
//不重复的放入新数组。 新数组的内容会继续进行上边的循环。
|
||||
newJson.push(datum);
|
||||
}
|
||||
}
|
||||
//去除没有的数据
|
||||
newJson = newJson.filter(item => result.some(value => value.fieldName == item.fieldName))
|
||||
//循环给当前剔除的数组加上index和排序及查询框
|
||||
let newData=[];
|
||||
let i =0;
|
||||
for (const results of newJson) {
|
||||
results.tableIndex = i
|
||||
if(!results){
|
||||
results.searchFlag = 0
|
||||
}
|
||||
results.orderNum = i
|
||||
newData.push(results);
|
||||
i++;
|
||||
}
|
||||
this.tab1.data = newData
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
+2
-2
@@ -81,7 +81,7 @@
|
||||
|
||||
<Row style="margin-top: 8px">
|
||||
<i-col span="6">
|
||||
<span>显示页码?:</span>
|
||||
<span>显示页码:</span>
|
||||
</i-col>
|
||||
<i-col span="18">
|
||||
<i-switch v-model="paginationShow"></i-switch>
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
<Row style="margin-top: 8px" v-if="paginationShow">
|
||||
<i-col span="6">
|
||||
<span>页码位置?:</span>
|
||||
<span>页码位置:</span>
|
||||
</i-col>
|
||||
<i-col span="18">
|
||||
<RadioGroup v-model="paginationLocation">
|
||||
|
||||
+8
-1
@@ -83,7 +83,14 @@
|
||||
},
|
||||
//初始化参数解析
|
||||
initDataSource(dbDynSql,dbKey,paramData){
|
||||
this.dbDynSql = dbDynSql
|
||||
//update-begin---author:wangshuai---date:2023-10-10---for:【QQYUN-6755】参数替换 解析时,弹框参数不对---
|
||||
//替换“$“{DaoFormat. 为空,使SQL能正常解析
|
||||
//update-begin---author:wangshuai Date:20211221 for:[JMREP-2505]存储过程没有空格参数会连接到一起------------
|
||||
if(dbDynSql){
|
||||
dbDynSql = dbDynSql.replaceAll('\$\{DaoFormat.','');
|
||||
}
|
||||
this.dbDynSql = dbDynSql;
|
||||
//update-end---author:wangshuai---date:2023-10-10---for:【QQYUN-6755】参数替换 解析时,弹框参数不对---
|
||||
this.dbKey = dbKey
|
||||
//update-begin---author:wangshuai Date:20211221 for:[JMREP-2505]存储过程没有空格参数会连接到一起------------
|
||||
let reg=/\$\{[^}]*\}/g;
|
||||
|
||||
+1
-1
@@ -156,7 +156,7 @@
|
||||
$http.metaGet(this.url, params).then((res) => {
|
||||
this.combineTreeData(res.data, callback, item)
|
||||
}).catch(function (error){
|
||||
console.log('加载树错误', error)
|
||||
console.error('加载树错误', error)
|
||||
});
|
||||
},
|
||||
// 加载数据
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<#assign CACHE_VERSION = "v=1694491301.10">
|
||||
<#assign CACHE_VERSION = "v=1699715555.10">
|
||||
<#assign config_id = "${id!''}">
|
||||
<#assign shareView = "${shareView}">
|
||||
<!DOCTYPE html>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<ttl.version>2.12.6</ttl.version>
|
||||
<jaxb.version>2.3.5</jaxb.version>
|
||||
<ureport.version>2.2.9</ureport.version>
|
||||
<jimu.version>1.6.2-GA5</jimu.version>
|
||||
<jimu.version>1.6.5</jimu.version>
|
||||
<aws.version>1.11.543</aws.version>
|
||||
<xxl.job.version>2.4.0</xxl.job.version>
|
||||
<flowable.version>6.8.0</flowable.version>
|
||||
|
||||
Reference in new issue
Block a user