Agentld
diff --git a/jeecgboot-vue3/src/views/system/appconfig/ThirdAppWeEnterpriseConfigForm.vue b/jeecgboot-vue3/src/views/system/appconfig/ThirdAppWeEnterpriseConfigForm.vue
index fdcf4459d..97cada2be 100644
--- a/jeecgboot-vue3/src/views/system/appconfig/ThirdAppWeEnterpriseConfigForm.vue
+++ b/jeecgboot-vue3/src/views/system/appconfig/ThirdAppWeEnterpriseConfigForm.vue
@@ -82,7 +82,6 @@
agentId: '',
clientId: '',
clientSecret: '',
- agentAppSecret: '',
});
//企业微信钉钉配置modal
const [registerAppConfigModal, { openModal }] = useModal();
diff --git a/jeecgboot-vue3/src/views/system/fillRule/FillRuleModal.vue b/jeecgboot-vue3/src/views/system/fillRule/FillRuleModal.vue
index 6dec588e6..81f824d86 100644
--- a/jeecgboot-vue3/src/views/system/fillRule/FillRuleModal.vue
+++ b/jeecgboot-vue3/src/views/system/fillRule/FillRuleModal.vue
@@ -10,6 +10,9 @@
import { BasicForm, useForm } from '/@/components/Form/index';
import { formSchema } from './fill.rule.data';
import { saveFillRule, updateFillRule } from './fill.rule.api';
+ import {useMessage} from "@/hooks/web/useMessage";
+
+ const { createMessage: $message } = useMessage();
//设置标题
const title = computed(() => (!unref(isUpdate) ? '新增' : '编辑'));
@@ -43,6 +46,20 @@
async function handleSubmit() {
try {
let formValue = await validate();
+
+ // 检查参数是否合法
+ let ruleParams = formValue.ruleParams;
+ if (!!ruleParams) {
+ ruleParams = JSON.parse(ruleParams);
+ for (const key of Object.keys(ruleParams)) {
+ // online 保留字检查
+ if (key === 'onl_watch') {
+ $message.error('参数名称不能是onl_watch');
+ return
+ }
+ }
+ }
+
setModalProps({ confirmLoading: true });
if (isUpdate.value) {
let allFieldsValue = getFieldsValue();
diff --git a/jeecgboot-vue3/src/views/system/loginmini/OAuth2Login.vue b/jeecgboot-vue3/src/views/system/loginmini/OAuth2Login.vue
index 0e6c74d5b..3ccb100ff 100644
--- a/jeecgboot-vue3/src/views/system/loginmini/OAuth2Login.vue
+++ b/jeecgboot-vue3/src/views/system/loginmini/OAuth2Login.vue
@@ -4,14 +4,17 @@
diff --git a/jeecgboot-vue3/types/config.d.ts b/jeecgboot-vue3/types/config.d.ts
index 89db6a3a0..1ddca0d05 100644
--- a/jeecgboot-vue3/types/config.d.ts
+++ b/jeecgboot-vue3/types/config.d.ts
@@ -160,6 +160,11 @@ export interface GlobConfig {
shortName: string;
// 短标题
shortTitle: string;
+
+ // 【JEECG作为乾坤子应用】是否以乾坤子应用模式启动
+ isQiankunMicro: boolean;
+ // 【JEECG作为乾坤子应用】乾坤子应用入口
+ qiankunMicroAppEntry?: string;
}
export interface GlobEnvConfig {
// Site title
@@ -182,4 +187,9 @@ export interface GlobEnvConfig {
VITE_GLOB_UPLOAD_URL?: string;
// view url
VITE_GLOB_ONLINE_VIEW_URL?: string;
+
+ // 【JEECG作为乾坤子应用】填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致
+ VITE_GLOB_QIANKUN_MICRO_APP_NAME?: string;
+ // 【JEECG作为乾坤子应用】作为乾坤子应用启动时必填,需与qiankun主应用注册子应用时填写的 entry 保持一致
+ VITE_GLOB_QIANKUN_MICRO_APP_ENTRY?: string;
}
diff --git a/jeecgboot-vue3/types/global.d.ts b/jeecgboot-vue3/types/global.d.ts
index 514873255..2f098e134 100644
--- a/jeecgboot-vue3/types/global.d.ts
+++ b/jeecgboot-vue3/types/global.d.ts
@@ -59,6 +59,10 @@ declare global {
VITE_USE_CDN: boolean;
VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE: boolean;
+ // 【JEECG作为乾坤子应用】乾坤子应用名,主应用注册时AppName需保持一致
+ VITE_GLOB_QIANKUN_MICRO_APP_NAME?: string;
+ // 【JEECG作为乾坤子应用】非必填,需与qiankun主应用注册子应用时填写的 entry 保持一致
+ VITE_GLOB_QIANKUN_MICRO_APP_ENTRY?: string;
}
declare function parseInt(s: string | number, radix?: number): number;
diff --git a/jeecgboot-vue3/types/main.d.ts b/jeecgboot-vue3/types/main.d.ts
new file mode 100644
index 000000000..fb0f998ae
--- /dev/null
+++ b/jeecgboot-vue3/types/main.d.ts
@@ -0,0 +1,10 @@
+// 应用参数
+export type MainAppProps = {
+ container?: HTMLElement;
+ // 隐藏侧边栏(菜单)
+ hideSider?: boolean;
+ // 隐藏顶部
+ hideHeader?: boolean;
+ // 隐藏 多Tab 切换
+ hideMultiTabs?: boolean;
+}
diff --git a/jeecgboot-vue3/vite.config.ts b/jeecgboot-vue3/vite.config.ts
index 63ed8f338..1c872b3cc 100644
--- a/jeecgboot-vue3/vite.config.ts
+++ b/jeecgboot-vue3/vite.config.ts
@@ -31,8 +31,19 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
const isBuild = command === 'build';
+ const serverOptions: Recordable = {}
+
+ // ----- [begin] 【JEECG作为乾坤子应用】 -----
+ const {VITE_GLOB_QIANKUN_MICRO_APP_NAME, VITE_GLOB_QIANKUN_MICRO_APP_ENTRY} = viteEnv;
+ const isQiankunMicro = VITE_GLOB_QIANKUN_MICRO_APP_NAME != null && VITE_GLOB_QIANKUN_MICRO_APP_NAME !== '';
+ if (isQiankunMicro && !isBuild) {
+ serverOptions.cors = true;
+ serverOptions.origin = VITE_GLOB_QIANKUN_MICRO_APP_ENTRY!.split('/').slice(0, 3).join('/');
+ }
+ // ----- [end] 【JEECG作为乾坤子应用】 -----
+
return {
- base: VITE_PUBLIC_PATH,
+ base: isQiankunMicro ? VITE_GLOB_QIANKUN_MICRO_APP_ENTRY : VITE_PUBLIC_PATH,
root,
resolve: {
alias: [
@@ -64,10 +75,13 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
server: {
// Listening on all local IPs
host: true,
+ // @ts-ignore
https: false,
port: VITE_PORT,
// Load proxy configuration from .env
proxy: createProxy(VITE_PROXY),
+ // 合并 server 配置
+ ...serverOptions,
},
build: {
minify: 'esbuild',
@@ -116,8 +130,8 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
},
// The vite plugin used by the project. The quantity is large, so it is separately extracted and managed
- plugins: createVitePlugins(viteEnv, isBuild),
// 预加载构建配置(首屏性能)
+ plugins: createVitePlugins(viteEnv, isBuild, isQiankunMicro),
optimizeDeps: {
esbuildOptions: {
target: 'es2020',
From 1c3b9a10f103e8adf2ef9aaed79d5477000d6713 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 9 Dec 2024 17:07:38 +0800
Subject: [PATCH 21/96] =?UTF-8?q?=E6=96=B0=E7=89=88=E5=8F=91=E5=B8=83?=
=?UTF-8?q?=EF=BC=8C=E5=8D=87=E7=BA=A73.7.2=E7=89=88=E6=9C=AC=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jeecg-boot/README.md | 4 ++--
jeecg-boot/jeecg-boot-base-core/pom.xml | 2 +-
jeecg-boot/jeecg-module-demo/pom.xml | 2 +-
.../jeecg-system-api/jeecg-system-cloud-api/pom.xml | 2 +-
.../jeecg-system-api/jeecg-system-local-api/pom.xml | 2 +-
jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml | 2 +-
jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml | 2 +-
jeecg-boot/jeecg-module-system/jeecg-system-start/Dockerfile | 4 ++--
jeecg-boot/jeecg-module-system/jeecg-system-start/pom.xml | 2 +-
.../jeecg-system-start/src/main/resources/banner.txt | 2 +-
jeecg-boot/jeecg-module-system/pom.xml | 2 +-
jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile | 4 ++--
jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml | 2 +-
jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile | 4 ++--
jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml | 2 +-
.../jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile | 4 ++--
jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml | 2 +-
.../jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile | 4 ++--
.../jeecg-server-cloud/jeecg-system-cloud-start/pom.xml | 2 +-
.../jeecg-visual/jeecg-cloud-monitor/pom.xml | 2 +-
.../jeecg-visual/jeecg-cloud-sentinel/Dockerfile | 4 ++--
.../jeecg-visual/jeecg-cloud-sentinel/pom.xml | 2 +-
.../jeecg-cloud-test/jeecg-cloud-test-more/pom.xml | 2 +-
.../jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml | 2 +-
.../jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml | 2 +-
.../jeecg-cloud-test-seata-account/pom.xml | 2 +-
.../jeecg-cloud-test-seata-order/pom.xml | 2 +-
.../jeecg-cloud-test-seata-product/pom.xml | 2 +-
.../jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml | 2 +-
.../jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml | 2 +-
.../jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml | 2 +-
.../jeecg-visual/jeecg-cloud-xxljob/Dockerfile | 4 ++--
.../jeecg-visual/jeecg-cloud-xxljob/pom.xml | 2 +-
jeecg-boot/jeecg-server-cloud/jeecg-visual/pom.xml | 2 +-
jeecg-boot/jeecg-server-cloud/pom.xml | 2 +-
jeecg-boot/pom.xml | 4 ++--
jeecgboot-vue3/README.md | 4 ++--
jeecgboot-vue3/package.json | 2 +-
38 files changed, 48 insertions(+), 48 deletions(-)
diff --git a/jeecg-boot/README.md b/jeecg-boot/README.md
index a4b728f62..ac075e666 100644
--- a/jeecg-boot/README.md
+++ b/jeecg-boot/README.md
@@ -2,12 +2,12 @@
JeecgBoot 低代码开发平台
===============
-当前最新版本: 3.7.1(发布日期:2024-09-12)
+当前最新版本: 3.7.2(发布日期:2024-12-12)
[](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE)
[](http://jeecg.com/aboutusIndex)
-[](https://github.com/zhangdaiscott/jeecg-boot)
+[](https://github.com/zhangdaiscott/jeecg-boot)
[](https://github.com/zhangdaiscott/jeecg-boot)
[](https://github.com/zhangdaiscott/jeecg-boot)
diff --git a/jeecg-boot/jeecg-boot-base-core/pom.xml b/jeecg-boot/jeecg-boot-base-core/pom.xml
index bd668a31e..81b4c47b9 100644
--- a/jeecg-boot/jeecg-boot-base-core/pom.xml
+++ b/jeecg-boot/jeecg-boot-base-core/pom.xml
@@ -4,7 +4,7 @@
org.jeecgframework.boot
jeecg-boot-parent
- 3.7.1
+ 3.7.2
4.0.0
jeecg-boot-base-core
diff --git a/jeecg-boot/jeecg-module-demo/pom.xml b/jeecg-boot/jeecg-module-demo/pom.xml
index 5f3119f7c..e03d220a2 100644
--- a/jeecg-boot/jeecg-module-demo/pom.xml
+++ b/jeecg-boot/jeecg-module-demo/pom.xml
@@ -5,7 +5,7 @@
jeecg-boot-parent
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml
index 43a37a2ca..837172e8b 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml
@@ -5,7 +5,7 @@
jeecg-system-api
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml
index cdcf88995..c03d416f9 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml
@@ -5,7 +5,7 @@
jeecg-system-api
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml
index 3b35effa6..24402c162 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml
@@ -5,7 +5,7 @@
jeecg-module-system
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml
index 420252192..607572b29 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml
@@ -4,7 +4,7 @@
org.jeecgframework.boot
jeecg-module-system
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/Dockerfile b/jeecg-boot/jeecg-module-system/jeecg-system-start/Dockerfile
index d7ad7f0df..3a9f3a7c4 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-start/Dockerfile
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/Dockerfile
@@ -11,6 +11,6 @@ WORKDIR /jeecg-boot
EXPOSE 8080
#ADD ./src/main/resources/jeecg ./config/jeecg
-ADD ./target/jeecg-system-start-3.7.1.jar ./
+ADD ./target/jeecg-system-start-3.7.2.jar ./
-CMD sleep 60;java -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-start-3.7.1.jar
\ No newline at end of file
+CMD sleep 60;java -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-start-3.7.2.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-start/pom.xml
index e5d099bfb..dc742dfb6 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-start/pom.xml
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/pom.xml
@@ -5,7 +5,7 @@
jeecg-module-system
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt
index 7df4cd562..c6d1db573 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt
@@ -9,7 +9,7 @@ ${AnsiColor.BRIGHT_BLUE}
${AnsiColor.BRIGHT_GREEN}
-Jeecg Boot Version: 3.7.1
+Jeecg Boot Version: 3.7.2
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}
产品官网: www.jeecg.com
版权所属: 北京国炬信息技术有限公司
diff --git a/jeecg-boot/jeecg-module-system/pom.xml b/jeecg-boot/jeecg-module-system/pom.xml
index 7fd356932..9f82122bf 100644
--- a/jeecg-boot/jeecg-module-system/pom.xml
+++ b/jeecg-boot/jeecg-module-system/pom.xml
@@ -5,7 +5,7 @@
jeecg-boot-parent
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile
index bc430736c..19defd4a5 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile
@@ -10,6 +10,6 @@ WORKDIR /jeecg-cloud-gateway
EXPOSE 9999
-ADD ./target/jeecg-cloud-gateway-3.7.1.jar ./
+ADD ./target/jeecg-cloud-gateway-3.7.2.jar ./
-CMD sleep 100;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-gateway-3.7.1.jar
\ No newline at end of file
+CMD sleep 100;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-gateway-3.7.2.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml
index 91b91c853..5c054ed40 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml
@@ -5,7 +5,7 @@
jeecg-server-cloud
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
jeecg-cloud-gateway
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile
index 6b30209bf..9df3d4e3c 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile
@@ -10,6 +10,6 @@ WORKDIR /jeecg-cloud-nacos
EXPOSE 8848
-ADD ./target/jeecg-cloud-nacos-3.7.1.jar ./
+ADD ./target/jeecg-cloud-nacos-3.7.2.jar ./
-CMD sleep 30;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-nacos-3.7.1.jar
\ No newline at end of file
+CMD sleep 30;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-nacos-3.7.2.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml
index fb5db4698..f6461f784 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-nacos
jeecg-cloud-nacos
nacos启动模块
-
3.7.1
+
3.7.2
org.springframework.boot
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile
index c785f9df5..c1c0a30a0 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile
@@ -10,6 +10,6 @@ WORKDIR /jeecg-demo-cloud
EXPOSE 7002
-ADD ./target/jeecg-demo-cloud-start-3.7.1.jar ./
+ADD ./target/jeecg-demo-cloud-start-3.7.2.jar ./
-CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-demo-cloud-start-3.7.1.jar
+CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-demo-cloud-start-3.7.2.jar
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml
index e2c77d7ce..c97780494 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml
@@ -5,7 +5,7 @@
jeecg-server-cloud
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile
index d3cfb2ab6..a3010b282 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile
@@ -10,6 +10,6 @@ WORKDIR /jeecg-system-cloud
EXPOSE 7001
-ADD ./target/jeecg-system-cloud-start-3.7.1.jar ./
+ADD ./target/jeecg-system-cloud-start-3.7.2.jar ./
-CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-cloud-start-3.7.1.jar
\ No newline at end of file
+CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-cloud-start-3.7.2.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml
index b9e6c8c09..3f308c42c 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml
@@ -5,7 +5,7 @@
jeecg-server-cloud
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
jeecg-system-cloud-start
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml
index 764ced14b..ad180328f 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml
@@ -5,7 +5,7 @@
jeecg-visual
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
jeecg-cloud-monitor
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile
index 89df853af..9805539b0 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile
@@ -10,6 +10,6 @@ WORKDIR /jeecg-cloud-sentinel
EXPOSE 8848
-ADD ./target/jeecg-cloud-sentinel-3.7.1.jar ./
+ADD ./target/jeecg-cloud-sentinel-3.7.2.jar ./
-CMD sleep 5;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-sentinel-3.7.1.jar
+CMD sleep 5;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-sentinel-3.7.2.jar
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
index f3f4e81e3..3e8b6ed65 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
@@ -5,7 +5,7 @@
jeecg-visual
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
jeecg-cloud-sentinel
jeecg-cloud-sentinel
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml
index 805ee4012..f061ff8e8 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
公共测试模块
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml
index d87db143b..3ef2a8fea 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
消息队列测试模块
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml
index 0697b43f4..c2eddd5e6 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml
@@ -5,7 +5,7 @@
org.jeecgframework.boot
jeecg-cloud-test
- 3.7.1
+ 3.7.2
4.0.0
消息队列测试模块
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml
index 922b189a6..70715ecce 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test-seata
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
分布式事务测试模块
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml
index 83db48b21..9196027e3 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test-seata
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
分布式事务测试模块
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml
index a8087245d..65968e204 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test-seata
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
分布式事务测试模块
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml
index a2a6bfd21..ee0e137bd 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
jeecg-cloud-test-seata
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml
index 1534c6dd9..6057eba97 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml
@@ -5,7 +5,7 @@
jeecg-cloud-test
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml
index 9d808a42b..f11ae9eb5 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml
@@ -5,7 +5,7 @@
jeecg-visual
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile
index 31dc26cf6..cf5d7c86a 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile
@@ -10,7 +10,7 @@ WORKDIR /jeecg-cloud-xxljob
EXPOSE 9080
-ADD ./target/jeecg-cloud-xxljob-3.7.1.jar ./
+ADD ./target/jeecg-cloud-xxljob-3.7.2.jar ./
-CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-xxljob-3.7.1.jar
+CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-xxljob-3.7.2.jar
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml
index ea3cf453f..45575653a 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml
@@ -5,7 +5,7 @@
jeecg-visual
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/pom.xml
index bfee20af5..de1f0e3ed 100644
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/jeecg-visual/pom.xml
@@ -5,7 +5,7 @@
jeecg-server-cloud
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/jeecg-server-cloud/pom.xml b/jeecg-boot/jeecg-server-cloud/pom.xml
index 27f3a02e8..1dbff2e8a 100644
--- a/jeecg-boot/jeecg-server-cloud/pom.xml
+++ b/jeecg-boot/jeecg-server-cloud/pom.xml
@@ -5,7 +5,7 @@
jeecg-boot-parent
org.jeecgframework.boot
- 3.7.1
+ 3.7.2
4.0.0
diff --git a/jeecg-boot/pom.xml b/jeecg-boot/pom.xml
index 02e241e15..b982eacb0 100644
--- a/jeecg-boot/pom.xml
+++ b/jeecg-boot/pom.xml
@@ -2,7 +2,7 @@
4.0.0
org.jeecgframework.boot
jeecg-boot-parent
- 3.7.1
+ 3.7.2
pom
JEECG BOOT ${project.version}
@@ -28,7 +28,7 @@
- 3.7.1
+ 3.7.2
1.8
UTF-8
diff --git a/jeecgboot-vue3/README.md b/jeecgboot-vue3/README.md
index ec46e883a..2010a87c8 100644
--- a/jeecgboot-vue3/README.md
+++ b/jeecgboot-vue3/README.md
@@ -1,10 +1,10 @@
JeecgBoot 企业级低代码开发平台
===============
-当前最新版本: 3.7.1(发布时间:2024-09-12)
+当前最新版本: 3.7.2(发布时间:2024-12-12)
[](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE)
[](http://jeecg.com/aboutusIndex)
-[](https://github.com
+[](https://github.com
/zhangdaiscott/jeecg-boot)
[](https://github.com/zhangdaiscott/jeecg-boot)
[](https://github.com/zhangdaiscott/jeecg-boot)
diff --git a/jeecgboot-vue3/package.json b/jeecgboot-vue3/package.json
index a03204a45..dcef97a02 100644
--- a/jeecgboot-vue3/package.json
+++ b/jeecgboot-vue3/package.json
@@ -1,6 +1,6 @@
{
"name": "jeecgboot-vue3",
- "version": "3.7.1",
+ "version": "3.7.2",
"author": {
"name": "北京国炬信息技术有限公司",
"email": "jeecgos@163.com",
From fca5d0e54e1d933ed3ee137352d419b0d8bfeb60 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 9 Dec 2024 17:56:20 +0800
Subject: [PATCH 22/96] =?UTF-8?q?=E6=96=B0=E7=89=88=E5=8F=91=E5=B8=83=203.?=
=?UTF-8?q?7.2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README-EN.md | 4 ++--
README.md | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/README-EN.md b/README-EN.md
index 04c4de883..9088c87c1 100644
--- a/README-EN.md
+++ b/README-EN.md
@@ -7,12 +7,12 @@
JEECG BOOT Low Code Development Platform
===============
-Current version: 3.7.1 (Release date: 2024-09-12)
+Current version: 3.7.2 (Release date: 2024-12-12)
[](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE)
[](http://www.jeecg.com)
-[](https://github.com/zhangdaiscott/jeecg-boot)
+[](https://github.com/zhangdaiscott/jeecg-boot)
[](https://github.com/zhangdaiscott/jeecg-boot)
[](https://github.com/zhangdaiscott/jeecg-boot)
diff --git a/README.md b/README.md
index 0685930a8..3556c8a41 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,12 @@
JeecgBoot 低代码开发平台
===============
-当前最新版本: 3.7.1(发布日期:2024-09-12)
+当前最新版本: 3.7.2(发布日期:2024-12-12)
[](https://github.com/jeecgboot/JeecgBoot/blob/master/LICENSE)
[](http://guojusoft.com)
-[](https://github.com/jeecgboot/JeecgBoot)
+[](https://github.com/jeecgboot/JeecgBoot)
[](https://github.com/jeecgboot/JeecgBoot)
[](https://github.com/jeecgboot/JeecgBoot)
From a626b6a4d0f19ca3c55da5beb726cd6c0db29782 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 9 Dec 2024 20:02:38 +0800
Subject: [PATCH 23/96] =?UTF-8?q?=E5=BF=AB=E9=80=9F=E4=BD=93=E9=AA=8C?=
=?UTF-8?q?=E5=85=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 3556c8a41..023c08b55 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@ JeecgBoot开源版本,底层完全开源可以自主开发,遵循Apache2.0
- 官方网站: [http://www.jeecg.com](http://www.jeecg.com)
- 在线演示 : [在线演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex)
+- 快速体验: [一分钟体验低代码](https://jeecg.blog.csdn.net/article/details/106079007?spm=1001.2014.3001.5502 "一分钟体验零代码") | [在线体验零代码](https://app.qiaoqiaoyun.com/myapps/index "在线体验零代码")
- 开发文档: [https://help.jeecg.com](https://help.jeecg.com)
- 反馈问题: [在Github上提Issues](https://github.com/jeecgboot/JeecgBoot/issues/new)
- 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) | [入门视频](http://jeecg.com/doc/video)
From ef168142163a124e508cf7d6dbca0962570e8e9f Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Tue, 10 Dec 2024 15:42:10 +0800
Subject: [PATCH 24/96] =?UTF-8?q?v3.7.2=20=E5=88=A0=E9=99=A4=E6=8A=A5?=
=?UTF-8?q?=E9=94=99=E4=BB=A3=E7=A0=81=E6=9A=82=E6=97=B6=E6=97=A0=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/JDragNotice/JDragNotice.vue | 76 ----
jeecgboot-vue3/src/hooks/web/useDragNotice.ts | 349 ------------------
2 files changed, 425 deletions(-)
delete mode 100644 jeecgboot-vue3/src/components/JDragNotice/JDragNotice.vue
delete mode 100644 jeecgboot-vue3/src/hooks/web/useDragNotice.ts
diff --git a/jeecgboot-vue3/src/components/JDragNotice/JDragNotice.vue b/jeecgboot-vue3/src/components/JDragNotice/JDragNotice.vue
deleted file mode 100644
index d1f7fe442..000000000
--- a/jeecgboot-vue3/src/components/JDragNotice/JDragNotice.vue
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jeecgboot-vue3/src/hooks/web/useDragNotice.ts b/jeecgboot-vue3/src/hooks/web/useDragNotice.ts
deleted file mode 100644
index 2669c294e..000000000
--- a/jeecgboot-vue3/src/hooks/web/useDragNotice.ts
+++ /dev/null
@@ -1,349 +0,0 @@
-import { ref, nextTick, getCurrentInstance, watch } from 'vue';
-import { getToken } from '/@/utils/auth';
-import md5 from 'crypto-js/md5';
-import { connectWebSocket, onWebSocket } from '/@/hooks/web/useWebSocket';
-import { useGlobSetting } from '/@/hooks/setting';
-import { useModal } from '/@/components/Modal';
-import { useUserStore } from '/@/store/modules/user';
-//弹窗业务需求引用的
-import { useMyRunningTaskList } from '@/hooks/jeecg/process/useMyRunningTaskList';
-import { hisProcessNodeInfo } from '@/hooks/jeecg/process/useBpmNodeInfo';
-import { queryByCode, save } from '@/views/super/eoa/cmsbpm/cmsbpm.api';
-import { isUrl } from '@/utils/is';
-import { getQueryVariable, getUrlParams } from '@/utils';
-import { backProcess, invalidProcess } from '@/views/super/eoa/cmsbpm/cmsbpm.api';
-import { editReadStatus } from '@/views/super/eoa/cmsoa/cmsoa.api';
-import { useRouter } from 'vue-router';
-import { useMessage } from '@/hooks/web/useMessage';
-const { createMessage } = useMessage();
-export function useDragNotice() {
- //*********************************websocket配置begin******************************************
- const glob = useGlobSetting();
- const { push, currentRoute } = useRouter();
- const userStore = useUserStore();
- const instance: any = getCurrentInstance();
- const taskDealRef = ref(null);
- const desformRef = ref(null);
- // 初始化 WebSocket
- function initWebSocket() {
- const token = getToken();
- //将登录token生成一个短的标识
- const wsClientId = md5(token);
- // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https
- const url = glob.domainUrl?.replace('https://', 'wss://').replace('http://', 'ws://') + '/dragChannelSocket/' + wsClientId;
- connectWebSocket(url);
- onWebSocket(onWebSocketMessage);
- }
-
- async function onWebSocketMessage(data) {
- console.log('仪表盘监听按钮点击事件websocket', data);
- if (data?.CMD === 'drag') {
- //触发动作: url:路径 modal:弹窗
- const action = data.result.action;
- //弹窗类型: 点击按钮打开什么弹窗,根据type打开不同的弹窗
- const type = data.result.type;
- //url地址,可以是路由,也可以是外部链接
- let url = data.result.url;
- //弹窗参数或者url参数
- const record = data.result.records || {};
- console.log('仪表盘监听点击事件类型type', type);
- console.log('仪表盘监听点击事件动作action', action);
- console.log('仪表盘监听点击事件路径url', url);
- console.log('仪表盘监听点击事件参数', record);
- //1.路径的话,判断外部链接还是内部路由跳转
- if (action == 'url') {
- //常用下載特殊处理
- if (url == 'fileUrl') {
- url = record[url];
- }
- const urlParamsObj = getUrlParams(url);
- if (url.startsWith('http')) {
- window.open(url, '_blank');
- } else {
- push({ path: urlParamsObj.url, query: { ...urlParamsObj.params, ...record } });
- }
- } else {
- //2.弹窗方式打开项目组件
- switch (type) {
- case 'task':
- //流程办理弹窗
- const { formData, formUrl } = await getTaskNodeInfo(record);
- formData['PROCESS_TAB_TYPE'] = 'run';
- handleOpenType('task', { formData, formUrl, title: '流程办理' });
- break;
- case 'history':
- //历史流程弹窗
- hisProcessNodeInfo({ procInstId: record.processInstanceId }).then((res) => {
- console.log('获取流程节点信息', res);
- if (res.success) {
- const formData = {
- dataId: res.result.dataId,
- taskId: record.id,
- taskDefKey: record.taskId,
- procInsId: record.processInstanceId,
- tableName: res.result.tableName,
- vars: res.result.records,
- };
- let tempFormUrl = res.result.formUrl;
- //节点配置表单URL,VUE组件类型对应的拓展参数
- if (tempFormUrl && tempFormUrl.indexOf('?') != -1 && !isUrl(tempFormUrl) && tempFormUrl.indexOf('{{DOMAIN_URL}}') == -1) {
- tempFormUrl = res.result.formUrl.split('?')[0];
- formData['extendUrlParams'] = getQueryVariable(res.result.formUrl);
- }
- currentModal.value = null;
- modalParams.value = { path: tempFormUrl, formData };
- taskDealRef.value.deal(record);
- taskDealRef.value.data.title = '流程历史';
- console.log('taskDealRef', taskDealRef.value);
- }
- });
- break;
- case 'entrust':
- //委托办理
- handleOpenType('entrust', { taskId: record.id });
- break;
- case 'taskNotify':
- //催办任务
- handleOpenType('taskNotify', {
- title: '催办提醒',
- procInstId: record.processInstanceId,
- });
- break;
- case 'invalid':
- //作废流程
- await invalidProcess({
- processInstanceId: record.processInstanceId,
- });
- reloadPage();
- break;
- case 'backTask':
- //取回流程
- await backProcess({
- processInstanceId: record.processInstanceId,
- });
- reloadPage();
- break;
- case 'sysNotice':
- //通知公告弹窗
- await editReadStatus({ anntId: record.anntId });
- currentModal.value = null;
- if (record.openType === 'component') {
- modalParams.value = { path: record.openPage, formData: { id: record.busId } };
- instance.refs.dynamicNoticeRef?.detail(record.openPage);
- } else {
- instance.refs.detailRef?.show({
- record,
- isUpdate: true,
- });
- }
- break;
- case 'email':
- //邮箱查看弹窗
- handleOpenType('email', { record });
- break;
- case 'plan':
- //我的计划弹窗
- let data = {};
- if (!!record?.id) {
- data = { id: record?.id };
- instance.refs.planRef?.show({
- isUpdate: !!record?.id,
- record: data,
- });
- } else {
- data = { joinPerson: userStore.getUserInfo.username, ...record };
- instance.refs.planRef?.show({
- isUpdate: !!record?.id,
- ...data,
- });
- }
-
- break;
- case 'desform':
- const title = '表单【' + record.desformName + '】发起申请';
- bindParams.value = { dialogOptions: { top: 60, width: 1000, padding: { top: 25, right: 25, bottom: 30, left: 25 } } };
- openDesformModal('add', record, title);
- break;
- default:
- break;
- }
- }
- }
- }
- //*********************************websocket配置end******************************************
-
- //*********************************打开弹窗修改,动态设置弹窗begin*******************************
- //当前表单弹窗
- const currentModal = ref(null);
- //当前表单参数
- const modalParams = ref({});
- //表单注册缓存
- const modalRegCache = ref({});
- //组件绑定参数
- const bindParams = ref({});
- /**
- * 根据类型打开不同弹窗
- * @param type
- * @param params
- */
- async function handleOpenType(type, params) {
- currentModal.value = null;
- modalParams.value = { ...params };
- switch (type) {
- case 'task':
- //流程办理
- currentModal.value = 'TaskHandleModal';
- break;
- case 'history':
- currentModal.value = 'HisTaskDealModal';
- case 'entrust':
- //委托
- currentModal.value = 'SelectEntrusterModal';
- break;
- case 'taskNotify':
- //催办
- currentModal.value = 'TaskNotifyModal';
- break;
- case 'email':
- //邮件查看
- currentModal.value = 'EoaMailBoxInModal';
- break;
- default:
- currentModal.value = null;
- break;
- }
- //注册表单弹窗
- initModalRegister();
- await nextTick(() => {
- if (modalRegCache.value[currentModal.value!]?.isRegister) {
- console.log('已注冊,走缓存');
- modalRegCache.value[currentModal.value!].modalMethods.openModal(true, modalParams.value);
- }
- });
- }
- /**
- * 初始化弹窗注册
- */
- function initModalRegister() {
- //如果当前选择表单为null,就不处理
- if (!currentModal.value) {
- return;
- }
- //判断缓存中是否存在,不存在就走缓存逻辑
- if (!modalRegCache.value[currentModal.value]) {
- const [registerModal, modalMethods] = useModal();
- modalRegCache.value[currentModal.value] = {
- isRegister: false,
- register: bindRegisterModal(registerModal, modalMethods),
- modalMethods,
- };
- }
- }
-
- /**
- * 绑定注册弹窗
- * @param regFn
- * @param modalMethod
- */
- function bindRegisterModal(regFn, modalMethod) {
- return async (...args) => {
- console.log('开始注册:', currentModal.value);
- await regFn(...args);
- console.log('注册完成:', currentModal.value);
- //打开弹窗
- modalMethod.openModal(true, modalParams.value);
- //设置缓存标识
- modalRegCache.value[currentModal.value!].isRegister = true;
- };
- }
- //*********************************打开弹窗修改,动态设置弹窗end******************************************
- //***********************打开弹窗的业务逻辑处理*********************************************************
- const { getTaskNodeInfo } = useMyRunningTaskList('run');
- /**
- * 打开表单
- */
- function openDesformModal(mode, record, title) {
- let desform = record,
- dataId = null;
- if (mode === 'edit' || mode === 'detail') {
- let { desformId: id, desformCode, desformDataId } = record;
- dataId = desformDataId;
- desform = { id, desformCode };
- }
- queryByCode({ desformCode: desform.desformCode }).then((res) => {
- if (res.success) {
- const designJson = res.result.desformDesignJson;
- const json = JSON.parse(designJson);
- if (json.config.dialogOptions) {
- bindParams.value = { dialogOptions: json.config.dialogOptions };
- }
- desformRef.value.open(mode, desform, dataId, title);
- }
- });
- }
- /**
- * 添加我的申请表单流程
- */
- function handleDesformDataAdded(event) {
- const flowCodePre = 'desform_';
- // 将流程保存至后台
- let { desform, dataId } = event;
- save({
- desformId: desform.id,
- desformCode: desform.desformCode,
- desformDataId: dataId,
- desformName: desform.desformName,
- processName: desform.procName,
- flowCode: `${flowCodePre}${desform.desformCode}`,
- titleExp: desform.titleExp,
- }).then((res) => {
- if (!res.success) {
- createMessage.error(res.message);
- return;
- }
- push({ path: '/oaOffice/myOrder' });
- });
- }
- /**
- * 邮箱回复
- * @param record
- */
- function handReply(record) {
- //跳转到邮箱
- push({ name: 'eoa-email', params: { type: 'process', rec: JSON.stringify(record.value) } });
- }
- watch(
- () => currentRoute.value,
- (value) => {
- if (value?.meta?.frameSrc && value?.meta?.frameSrc.indexOf('/drag/view?pageId=') >= 0) {
- reloadPage();
- }
- }
- );
- //刷新页面
- function reloadPage() {
- const iframes: any = document.getElementsByClassName('jeecg-iframe-page__main');
- // 将 HTMLCollection 转换为数组
- const iframeArray = Array.from(iframes);
- if (currentRoute.value?.meta?.frameSrc && currentRoute.value?.meta?.frameSrc.indexOf('/drag/view?pageId=') >= 0) {
- const targetIframe: any = iframeArray.find((iframe: any) => iframe.src == currentRoute.value?.meta?.frameSrc);
- console.log('targetIframe', targetIframe);
- if (targetIframe) {
- targetIframe.contentWindow.postMessage({ reload: true }, '*');
- }
- }
- }
- return {
- initDragWebSocket: initWebSocket,
- handleOpenType,
- currentModal,
- modalParams,
- modalRegCache,
- bindParams,
- taskDealRef,
- desformRef,
- handleDesformDataAdded,
- handReply,
- reloadPage,
- };
-}
From 00252f392f4bab55b3c2e3a64f864ef5edf1598d Mon Sep 17 00:00:00 2001
From: EightMonth
Date: Tue, 10 Dec 2024 16:24:31 +0800
Subject: [PATCH 25/96] =?UTF-8?q?keys=E6=9B=BF=E6=8D=A2scan=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=20=E4=BF=AE=E5=A4=8D=20#6918=20#6876?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/controller/SysDepartController.java | 11 +++++++----
.../system/controller/SysUserOnlineController.java | 2 +-
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
index fafac3014..5e1b1232f 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
@@ -15,6 +15,7 @@ import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.ImportExcelUtil;
+import org.jeecg.common.util.RedisUtil;
import org.jeecg.common.util.YouBianCodeUtil;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
@@ -65,6 +66,8 @@ public class SysDepartController {
private ISysUserService sysUserService;
@Autowired
private ISysUserDepartService sysUserDepartService;
+ @Autowired
+ private RedisUtil redisUtil;
/**
* 查询数据 查出我的部门,并以树结构数据格式响应给前端
*
@@ -470,8 +473,8 @@ public class SysDepartController {
//update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径---
//清空部门缓存
- Set keys3 = redisTemplate.keys(CacheConstant.SYS_DEPARTS_CACHE + "*");
- Set keys4 = redisTemplate.keys(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
+ List keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*");
+ List keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
redisTemplate.delete(keys3);
redisTemplate.delete(keys4);
return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList);
@@ -664,8 +667,8 @@ public class SysDepartController {
listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), ExportDepartVo.class, params);
sysDepartService.importExcel(listSysDeparts,errorMessageList);
//清空部门缓存
- Set keys3 = redisTemplate.keys(CacheConstant.SYS_DEPARTS_CACHE + "*");
- Set keys4 = redisTemplate.keys(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
+ List keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*");
+ List keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
redisTemplate.delete(keys3);
redisTemplate.delete(keys4);
return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList);
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java
index e6aed7531..66abfe6f8 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java
@@ -52,7 +52,7 @@ public class SysUserOnlineController {
@RequestMapping(value = "/list", method = RequestMethod.GET)
public Result> list(@RequestParam(name="username", required=false) String username,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
- Collection keys = redisTemplate.keys(CommonConstant.PREFIX_USER_TOKEN + "*");
+ Collection keys = redisUtil.scan(CommonConstant.PREFIX_USER_TOKEN + "*");
List onlineList = new ArrayList();
for (String key : keys) {
String token = (String)redisUtil.get(key);
From 0582436b9c03401eadd9863ff47d1da3a7adf0c2 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Wed, 11 Dec 2024 16:22:30 +0800
Subject: [PATCH 26/96] =?UTF-8?q?v3.7.2=20=E6=95=B0=E6=8D=AE=E5=BA=93?=
=?UTF-8?q?=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jeecg-boot/db/jeecgboot-mysql-5.7.sql | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/jeecg-boot/db/jeecgboot-mysql-5.7.sql b/jeecg-boot/db/jeecgboot-mysql-5.7.sql
index db8684bf7..f4cedc233 100644
--- a/jeecg-boot/db/jeecgboot-mysql-5.7.sql
+++ b/jeecg-boot/db/jeecgboot-mysql-5.7.sql
@@ -14,7 +14,7 @@ USE `jeecg-boot`;
Target Server Version : 50738
File Encoding : 65001
- Date: 09/12/2024 15:09:30
+ Date: 11/12/2024 16:21:34
*/
SET NAMES utf8mb4;
@@ -302,6 +302,7 @@ INSERT INTO `flyway_schema_history` VALUES (6, NULL, '370 missingPermission', 'S
INSERT INTO `flyway_schema_history` VALUES (7, '3.7.1', 'all upgrade', 'SQL', 'V3.7.1__all_upgrade.sql', 857900043, 'root', '2024-09-11 17:33:35', 140, 1);
INSERT INTO `flyway_schema_history` VALUES (8, '3.7.12', 'jimu dashboard upgrade', 'SQL', 'V3.7.12__jimu_dashboard_upgrade.sql', -2138429079, 'root', '2024-09-11 22:17:09', 97, 1);
INSERT INTO `flyway_schema_history` VALUES (9, '3.7.20', 'system upgrade', 'SQL', 'V3.7.20__system_upgrade.sql', 1274676135, 'root', '2024-12-09 14:09:48', 29, 1);
+INSERT INTO `flyway_schema_history` VALUES (10, '3.7.21', 'jimureport upgrade', 'SQL', 'V3.7.21__jimureport_upgrade.sql', 254003703, 'root', '2024-12-11 16:16:31', 48, 1);
-- ----------------------------
-- Table structure for jeecg_monthly_growth_analysis
@@ -5098,7 +5099,7 @@ CREATE TABLE `qrtz_scheduler_state` (
-- ----------------------------
-- Records of qrtz_scheduler_state
-- ----------------------------
-INSERT INTO `qrtz_scheduler_state` VALUES ('MyScheduler', 'qin1733724585141', 1733727381448, 15000);
+INSERT INTO `qrtz_scheduler_state` VALUES ('MyScheduler', 'qin1733905043352', 1733905289401, 15000);
-- ----------------------------
-- Table structure for qrtz_simple_triggers
From 11d13c8305520144ce61ffcc7c8eda90c434b5ab Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Thu, 12 Dec 2024 12:17:47 +0800
Subject: [PATCH 27/96] =?UTF-8?q?v3.7.2=20=E6=95=B0=E6=8D=AE=E5=BA=93?=
=?UTF-8?q?=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jeecg-boot/db/jeecgboot-mysql-5.7.sql | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/jeecg-boot/db/jeecgboot-mysql-5.7.sql b/jeecg-boot/db/jeecgboot-mysql-5.7.sql
index f4cedc233..ce110bd60 100644
--- a/jeecg-boot/db/jeecgboot-mysql-5.7.sql
+++ b/jeecg-boot/db/jeecgboot-mysql-5.7.sql
@@ -14,7 +14,7 @@ USE `jeecg-boot`;
Target Server Version : 50738
File Encoding : 65001
- Date: 11/12/2024 16:21:34
+ Date: 12/12/2024 12:17:03
*/
SET NAMES utf8mb4;
@@ -834,6 +834,7 @@ CREATE TABLE `jimu_report` (
-- Records of jimu_report
-- ----------------------------
INSERT INTO `jimu_report` VALUES ('01a1e07ed4b12348b29d5a47ac7f0228', '566960792', '销售公司出库单副本0792', '', NULL, '984302991393210368', '{\"area\":{\"sri\":4,\"sci\":0,\"eri\":4,\"eci\":0,\"width\":32,\"height\":25},\"printElWidth\":794,\"excel_config_id\":\"ff9bd143582a6dfed897ba8b6f93b175\",\"printElHeight\":800,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":11,\"text\":\"医疗器械销售公司出货单\",\"merge\":[0,9]}},\"height\":83},\"1\":{\"cells\":{\"0\":{\"text\":\"供货单位:\",\"style\":20,\"merge\":[0,1]},\"1\":{\"style\":30},\"2\":{\"text\":\"${gongsi.gname}\",\"style\":19},\"3\":{\"style\":19},\"4\":{\"text\":\"供货日期:\",\"style\":19},\"5\":{\"text\":\"${gongsi.gdata}\",\"style\":19,\"merge\":[0,1]},\"6\":{\"style\":19},\"7\":{\"text\":\"编号:\",\"style\":20},\"8\":{\"text\":\"${gongsi.num}\",\"style\":19,\"merge\":[0,1]},\"9\":{\"style\":19}},\"isDrag\":true},\"2\":{\"cells\":{\"0\":{\"text\":\"行号\",\"style\":39},\"1\":{\"text\":\"产品代码\",\"style\":39},\"2\":{\"text\":\"产品名称\",\"style\":39},\"3\":{\"text\":\"规格型号\",\"style\":39},\"4\":{\"text\":\"单位\",\"style\":39},\"5\":{\"text\":\"实发数量\",\"style\":39},\"6\":{\"text\":\"销售单价(元)\",\"style\":39},\"7\":{\"text\":\"折扣率(%)\",\"style\":39},\"8\":{\"text\":\"销售金额(元)\",\"style\":39},\"9\":{\"text\":\"备注\",\"style\":39}}},\"3\":{\"cells\":{\"0\":{\"style\":35,\"text\":\"#{xiaoshou.id}\"},\"1\":{\"style\":35,\"text\":\"#{xiaoshou.hnum}\"},\"2\":{\"style\":35,\"text\":\"#{xiaoshou.hname}\"},\"3\":{\"style\":35,\"text\":\"#{xiaoshou.xinghao}\"},\"4\":{\"style\":35,\"text\":\"#{xiaoshou.danwei}\"},\"5\":{\"style\":35,\"text\":\"#{xiaoshou.num}\"},\"6\":{\"style\":35,\"text\":\"#{xiaoshou.danjia}\"},\"7\":{\"style\":35,\"text\":\"#{xiaoshou.zhekoulv}\"},\"8\":{\"style\":35,\"text\":\"#{xiaoshou.xiaoshoujine}\"},\"9\":{\"style\":35,\"text\":\"#{xiaoshou.xiaoshoujine}\"}}},\"4\":{\"cells\":{\"0\":{\"style\":4},\"1\":{}},\"isDrag\":true},\"len\":84,\"-1\":{\"cells\":{\"0\":{\"text\":\"#{gongsi.gdata}\"},\"-1\":{\"text\":\"#{gongsi.didian}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":794,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":16}},{\"font\":{\"size\":16},\"align\":\"center\"},{\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":9}},{\"font\":{\"size\":9}},{\"align\":\"right\",\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"size\":8}},{\"font\":{\"size\":8}},{\"align\":\"right\",\"font\":{\"size\":8}},{\"align\":\"center\",\"font\":{\"size\":8},\"color\":\"#7f7f7f\"},{\"font\":{\"size\":8},\"color\":\"#7f7f7f\"},{\"align\":\"right\",\"font\":{\"size\":8},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"size\":8},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":8},\"color\":\"#3f3f3f\"},{\"align\":\"right\",\"font\":{\"size\":8},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"font\":{\"size\":8},\"color\":\"#262626\"},{\"font\":{\"size\":8},\"color\":\"#262626\"},{\"align\":\"right\",\"font\":{\"size\":8},\"color\":\"#262626\"},{\"align\":\"center\",\"font\":{\"size\":8},\"color\":\"#0c0c0c\"},{\"font\":{\"size\":8},\"color\":\"#0c0c0c\"},{\"align\":\"right\",\"font\":{\"size\":8},\"color\":\"#0c0c0c\"},{\"align\":\"right\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#71ae47\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#71ae47\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"align\":\"center\",\"bgcolor\":\"#71ae47\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"bgcolor\":\"#71ae47\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]}},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"align\":\"center\",\"bgcolor\":\"#c5e0b3\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"bgcolor\":\"#c5e0b3\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"align\":\"center\",\"bgcolor\":\"#a7d08c\"},{\"border\":{\"bottom\":[\"thin\",\"#538136\"],\"top\":[\"thin\",\"#538136\"],\"left\":[\"thin\",\"#538136\"],\"right\":[\"thin\",\"#538136\"]},\"bgcolor\":\"#a7d08c\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":32},\"1\":{\"width\":65},\"2\":{\"width\":115},\"3\":{\"width\":70},\"4\":{\"width\":52},\"5\":{\"width\":70},\"6\":{\"width\":93},\"7\":{\"width\":86},\"8\":{\"width\":75},\"9\":{\"width\":136},\"10\":{\"width\":81},\"len\":24},\"merges\":[\"F2:G2\",\"F2:G2\",\"I2:J2\",\"A2:B2\",\"C2:D2\",\"A2:B2\",\"A1:J1\"]}', '', 'https://static.jeecg.com/designreport/images/医疗器械_1607070355110.png', 'admin', '2021-01-19 10:46:43', 'admin', '2021-02-02 19:00:59', 1, NULL, NULL, 0, 766, NULL, NULL, NULL, NULL, 0, NULL);
+INSERT INTO `jimu_report` VALUES ('1027039263181602816', '20241212121417', '123', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":400,\"autofilter\":{},\"validations\":[],\"cols\":{\"len\":50},\"area\":{\"sri\":21,\"sci\":3,\"eri\":21,\"eci\":3,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"1027039263181602816\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"2\":{\"cells\":{\"1\":{\"text\":\"1\"}}},\"7\":{\"cells\":{\"1\":{\"text\":\"1\"}}},\"11\":{\"cells\":{\"1\":{\"text\":\"2\"}}},\"17\":{\"cells\":{\"3\":{\"text\":\"d\"}}},\"20\":{\"cells\":{\"3\":{\"text\":\"d\"}}},\"21\":{\"cells\":{\"3\":{\"text\":\"d\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-12-12 12:14:18', 'admin', '2024-12-12 12:14:34', 1, NULL, NULL, 0, 0, NULL, NULL, NULL, '1000', 0, 0);
INSERT INTO `jimu_report` VALUES ('1314846205892759552', '20201010163252', 'XXX有限公司员工登记表', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":10,\"sci\":11,\"eri\":10,\"eci\":11,\"width\":85,\"height\":38},\"excel_config_id\":\"1314846205892759552\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[0,8]},\"9\":{}},\"height\":22},\"1\":{\"cells\":{\"1\":{\"style\":87,\"text\":\" \"},\"2\":{\"style\":87,\"text\":\" \"},\"3\":{\"style\":87,\"text\":\" \"},\"4\":{\"style\":87,\"text\":\" \"},\"5\":{\"style\":87,\"text\":\" \"},\"6\":{\"style\":87,\"text\":\" \"},\"7\":{\"style\":87,\"text\":\" \"},\"8\":{\"style\":87,\"text\":\" \"}},\"height\":24},\"2\":{\"cells\":{\"0\":{\"text\":\"所在部门\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.department}\",\"style\":23,\"merge\":[0,2]},\"4\":{\"text\":\"职务\",\"style\":93},\"5\":{\"text\":\"${yuangongjiben.post}\",\"style\":23},\"6\":{\"text\":\"填写日期\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.data}\",\"style\":23,\"merge\":[0,1]}},\"isDrag\":true,\"height\":36},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.name}\",\"style\":23},\"2\":{\"text\":\"性别\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.sex}\",\"style\":23},\"4\":{\"text\":\"出生日期\",\"style\":93},\"5\":{\"text\":\"${yuangongjiben.birth}\",\"style\":23},\"6\":{\"text\":\"政治面貌\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.political}\",\"style\":130,\"merge\":[0,1]}},\"isDrag\":true,\"height\":33},\"4\":{\"cells\":{\"0\":{\"text\":\"机关\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.office}\",\"style\":23},\"2\":{\"style\":93,\"text\":\"民族\"},\"3\":{\"text\":\"${yuangongjiben.nation}\",\"style\":23},\"4\":{\"style\":93,\"text\":\"健康状况\"},\"5\":{\"text\":\"${yuangongjiben.health}\",\"style\":23},\"6\":{\"style\":93,\"text\":\"户籍类型\",\"virtual\":\"1KT8bnqRT4bi8Z7b\"},\"7\":{\"text\":\"${yuangongjiben.register}\",\"style\":26,\"virtual\":\"1KT8bnqRT4bi8Z7b\"},\"8\":{\"merge\":[3,0],\"height\":104,\"style\":35,\"text\":\" \",\"virtual\":\"cvkWDQVZhfJPgcS4\"}},\"isDrag\":true,\"height\":31},\"5\":{\"cells\":{\"0\":{\"text\":\"最高学历\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.education}\",\"style\":23},\"2\":{\"text\":\"所学专业\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.major}\",\"style\":23,\"merge\":[0,2]},\"6\":{\"text\":\"毕业时间\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.gdata}\",\"style\":23}},\"isDrag\":true,\"height\":35},\"6\":{\"cells\":{\"0\":{\"text\":\"电子邮箱\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.mailbox}\",\"style\":23},\"2\":{\"text\":\"手机号\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.telphone}\",\"style\":23,\"merge\":[0,2]},\"6\":{\"text\":\"家庭电话\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.homephone}\",\"style\":23}},\"isDrag\":true,\"height\":38},\"7\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"第一次参加工作时间\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.pworktime}\",\"style\":133,\"merge\":[0,2]},\"5\":{\"style\":93,\"text\":\"入职时间\"},\"6\":{\"text\":\"${yuangongjiben.entrytime}\",\"style\":24,\"merge\":[0,1]}},\"isDrag\":true,\"height\":27},\"8\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"毕业院校\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.school}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"style\":93,\"text\":\"身份证号\"},\"6\":{\"text\":\"${yuangongjiben.idcard}\",\"style\":24,\"merge\":[0,2]}},\"isDrag\":true,\"height\":34},\"9\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"入党(团)时间、地点\",\"style\":94},\"2\":{\"text\":\"${yuangongjiben.entrytime}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"text\":\"婚姻状况\",\"style\":93},\"6\":{\"text\":\"${yuangongjiben.marital}\",\"style\":23},\"7\":{\"text\":\"有无子女\",\"style\":93},\"8\":{\"text\":\"${yuangongjiben.children}\",\"style\":23}},\"isDrag\":true,\"height\":33},\"10\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"户口所在街道名称\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.hukoustreet}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"merge\":[0,1],\"text\":\"户口所在地邮编\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.hukounum}\",\"style\":23,\"merge\":[0,1]}},\"isDrag\":true,\"height\":38},\"11\":{\"cells\":{\"0\":{\"text\":\"户口所在地地址\",\"style\":96,\"merge\":[2,1]},\"2\":{\"text\":\"${yuangongjiben.hukoudi}\",\"style\":26,\"merge\":[2,6]}},\"isDrag\":true},\"12\":{\"cells\":{}},\"13\":{\"cells\":{\"11\":{\"text\":\"\"}},\"isDrag\":true},\"14\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"现居住地址\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.currentdi}\",\"style\":26,\"merge\":[0,2]},\"5\":{\"style\":98,\"merge\":[0,1],\"text\":\"现居住地址邮编\"},\"7\":{\"text\":\"${yuangongjiben.currentnum}\",\"style\":26,\"merge\":[0,1]}},\"isDrag\":true,\"height\":33},\"15\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"是否参加社保\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.socialsecurity}\",\"style\":27,\"merge\":[0,1]},\"4\":{\"text\":\"有无公积金\",\"style\":98},\"5\":{\"text\":\"${yuangongjiben.providentfund}\",\"style\":27,\"merge\":[0,1]},\"7\":{\"text\":\"兴趣爱好\",\"style\":98},\"8\":{\"text\":\"${yuangongjiben.hobby}\",\"style\":27}},\"isDrag\":true,\"height\":34},\"16\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"参加社保类型\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.sbtype}\",\"style\":116,\"merge\":[0,6]}},\"isDrag\":true,\"height\":30},\"17\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"个人档案存放地\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.archivesdi}\",\"style\":116,\"merge\":[0,6]}},\"isDrag\":true,\"height\":33},\"18\":{\"cells\":{\"0\":{\"text\":\" \",\"style\":7},\"1\":{\"text\":\" \",\"style\":7},\"2\":{\"text\":\" \",\"style\":7},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7}}},\"19\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"学历、经历(从高中开始写)\",\"style\":99},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"20\":{\"cells\":{\"0\":{\"text\":\"由_年_月\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"至_年_月\",\"style\":38},\"4\":{\"merge\":[0,1],\"text\":\"就读学校\",\"style\":38},\"6\":{\"merge\":[0,1],\"text\":\"专业\",\"style\":38},\"8\":{\"text\":\"担任职务\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"21\":{\"cells\":{\"0\":{\"style\":90,\"merge\":[0,1],\"text\":\"#{xueli.kdate}\"},\"2\":{\"style\":90,\"text\":\"#{xueli.jdate}\",\"merge\":[0,1]},\"4\":{\"style\":90,\"text\":\"#{xueli.jstudent}\",\"merge\":[0,1]},\"6\":{\"style\":90,\"text\":\"#{xueli.zhuanye}\",\"merge\":[0,1]},\"8\":{\"style\":90,\"text\":\"#{xueli.zhiwu}\"},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"22\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"23\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"工作经历\",\"style\":124},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":27},\"24\":{\"cells\":{\"0\":{\"text\":\"由_年_月\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"至_年_月\",\"style\":38},\"4\":{\"text\":\"工作单位及职称\",\"style\":38,\"merge\":[0,1]},\"6\":{\"merge\":[0,1],\"text\":\"证明人\",\"style\":38},\"8\":{\"text\":\"联系方式\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"25\":{\"cells\":{\"0\":{\"text\":\"#{uu.kdate}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{uu.jdate}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{uu.jstudent}\",\"style\":90,\"merge\":[0,1]},\"6\":{\"text\":\"#{uu.zmname}\",\"style\":90,\"merge\":[0,1]},\"8\":{\"text\":\"#{uu.zmphone}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"26\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"27\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"职称/资格、证书\",\"style\":125},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":46},\"28\":{\"cells\":{\"0\":{\"text\":\"发证时间\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"职称名称\",\"style\":38},\"4\":{\"text\":\"级别\",\"style\":38,\"merge\":[0,1]},\"6\":{\"text\":\"发证单位\",\"style\":38,\"merge\":[0,1]},\"8\":{\"text\":\"备注\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"29\":{\"cells\":{\"0\":{\"text\":\"#{zhengshu.fdate}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{zhengshu.zcname}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{zhengshu.jibie}\",\"style\":90,\"merge\":[0,1]},\"6\":{\"text\":\"#{zhengshu.danwei}\",\"style\":90,\"merge\":[0,1]},\"8\":{\"text\":\"#{zhengshu.beizhu}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"30\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"31\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"家庭成员\",\"style\":125},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":42},\"32\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"姓名\",\"style\":38},\"2\":{\"merge\":[0,1],\"text\":\"关系\",\"style\":38},\"4\":{\"text\":\"年龄\",\"style\":38},\"5\":{\"text\":\"工作单位\",\"style\":38,\"merge\":[0,1]},\"7\":{\"text\":\"政治面貌\",\"style\":38},\"8\":{\"text\":\"联系方式\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"33\":{\"cells\":{\"0\":{\"text\":\"#{jtcy.name}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{jtcy.guanxi}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{jtcy.age}\",\"style\":90},\"5\":{\"text\":\"#{jtcy.danwei}\",\"style\":90,\"merge\":[0,1]},\"7\":{\"text\":\"#{jtcy.zzmm}\",\"style\":90},\"8\":{\"text\":\"#{jtcy.phone}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"34\":{\"cells\":{\"0\":{\"text\":\" \",\"style\":7},\"1\":{\"text\":\" \",\"style\":7},\"2\":{\"text\":\" \",\"style\":7},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7},\"9\":{\"style\":112,\"text\":\" \"}}},\"35\":{\"cells\":{\"0\":{\"merge\":[0,2],\"text\":\"所获奖励\",\"style\":125},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":47},\"36\":{\"cells\":{\"0\":{\"text\":\"时间\",\"style\":90,\"merge\":[0,2]},\"3\":{\"style\":90,\"text\":\"地点\",\"merge\":[0,2]},\"6\":{\"style\":90,\"text\":\"所获得的奖励名称\",\"merge\":[0,2]},\"9\":{\"style\":112,\"text\":\" \"}}},\"37\":{\"cells\":{\"0\":{\"text\":\"#{jiangli.date}\",\"style\":90,\"merge\":[0,2]},\"3\":{\"text\":\"#{jiangli.didian}\",\"style\":90,\"merge\":[0,2]},\"6\":{\"text\":\"#{jiangli.mingcheng}\",\"style\":90,\"merge\":[0,2]},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"len\":98},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":703,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"仿宋\"}},{\"font\":{\"name\":\"仿宋\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":12}},{\"font\":{\"name\":\"宋体\",\"size\":12}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":8}},{\"font\":{\"name\":\"宋体\",\"size\":8}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10}},{\"font\":{\"name\":\"宋体\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"隶书\",\"size\":10}},{\"font\":{\"name\":\"隶书\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"华文中宋\",\"size\":10}},{\"font\":{\"name\":\"华文中宋\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10}},{\"textwrap\":true},{\"textwrap\":true,\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":10}},{\"font\":{\"bold\":true,\"size\":10},\"align\":\"center\"},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"top\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"left\",\"valign\":\"bottom\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"format\":\"datetime\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"format\":\"datetime\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"format\":\"normal\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"format\":\"normal\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":73},\"1\":{\"width\":71},\"2\":{\"width\":69},\"3\":{\"width\":89},\"4\":{\"width\":64},\"5\":{\"width\":47},\"6\":{\"width\":68},\"7\":{\"width\":100},\"8\":{\"width\":103},\"9\":{\"width\":19},\"10\":{\"width\":146},\"11\":{\"width\":85},\"len\":50},\"merges\":[\"H3:I3\",\"B3:D3\",\"A2:I2\",\"D6:F6\",\"D7:F7\",\"A8:B8\",\"G8:H8\",\"A9:B9\",\"A10:B10\",\"C10:E10\",\"C8:E8\",\"C9:E9\",\"A11:B11\",\"C11:E11\",\"F11:G11\",\"H11:I11\",\"C12:I14\",\"A15:B15\",\"C15:E15\",\"F15:G15\",\"H15:I15\",\"A16:B16\",\"A17:B17\",\"A18:B18\",\"C17:I17\",\"C18:I18\",\"A20:E20\",\"A21:B21\",\"C21:D21\",\"E21:F21\",\"G21:H21\",\"A22:B22\",\"A24:E24\",\"A25:B25\",\"C25:D25\",\"G25:H25\",\"A26:B26\",\"A28:E28\",\"A29:B29\",\"C29:D29\",\"A30:B30\",\"A32:B32\",\"A33:B33\",\"C33:D33\",\"A34:B34\",\"C34:D34\",\"A36:C36\",\"C16:D16\",\"F16:G16\",\"QAAAAAACI1:JAAAAAABJ38\",\"A1:I1\",\"H4:I4\",\"G9:I9\",\"G22:H22\",\"E22:F22\",\"C22:D22\",\"C26:D26\",\"G26:H26\",\"C30:D30\",\"G30:H30\",\"E30:F30\",\"D37:F37\",\"D38:F38\",\"A38:C38\",\"A37:C37\",\"G37:I37\",\"G38:I38\",\"E29:F29\",\"G29:H29\",\"E25:F25\",\"E26:F26\",\"F33:G33\",\"F34:G34\",\"A12:B14\",\"I5:I8\"],\"imgList\":[{\"row\":4,\"col\":8,\"width\":\"101\",\"height\":\"128\",\"src\":\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/QQ截图20210115102648_1610694177544_1617244906979.png\",\"layer_id\":\"cvkWDQVZhfJPgcS4\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[4,8]]}]}', NULL, 'https://static.jeecg.com/designreport/images/1122_1607312336469.png', 'admin', '2020-10-10 16:32:53', 'admin', '2021-04-01 02:42:07', 0, NULL, NULL, 1, 606, NULL, NULL, NULL, NULL, 0, NULL);
INSERT INTO `jimu_report` VALUES ('1316944968992034816', '20201016113231', '员工信息登记', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1316944968992034816\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"0\":{\"text\":\"员工信息登记表\",\"merge\":[0,6],\"style\":28},\"1\":{\"style\":21,\"text\":\" \"},\"2\":{\"style\":21,\"text\":\" \"},\"3\":{\"style\":21,\"text\":\" \"},\"4\":{\"style\":21,\"text\":\" \"},\"5\":{\"style\":21,\"text\":\" \"},\"6\":{\"style\":21,\"text\":\" \"}},\"height\":46},\"2\":{\"cells\":{\"0\":{\"text\":\"编号:\",\"style\":29},\"1\":{\"text\":\"${employee.num}\",\"style\":30,\"merge\":[0,3]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\"填写日期:\",\"style\":29},\"6\":{\"text\":\"${employee.create_time}\",\"style\":36}},\"isDrag\":true,\"height\":44},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名:\",\"style\":29},\"1\":{\"text\":\"${employee.name}\",\"style\":30},\"2\":{\"text\":\"性别:\",\"style\":29},\"3\":{\"text\":\"${employee.sex}\",\"style\":30},\"4\":{\"text\":\"出生年月:\",\"style\":29},\"5\":{\"text\":\"${employee.birthday}\",\"style\":36},\"6\":{\"style\":3,\"text\":\" \",\"merge\":[4,0],\"virtual\":\"Ym8ny6lYTdutY5tT\"}},\"isDrag\":true,\"height\":42},\"4\":{\"cells\":{\"0\":{\"text\":\"民族:\",\"style\":29},\"1\":{\"text\":\"${employee.nation}\",\"style\":30},\"2\":{\"text\":\"政治面貌:\",\"style\":29},\"3\":{\"text\":\"${employee.political}\",\"style\":30},\"4\":{\"text\":\"籍贯:\",\"style\":29},\"5\":{\"text\":\"${employee.native_place}\",\"style\":30}},\"isDrag\":true,\"height\":38},\"5\":{\"cells\":{\"0\":{\"text\":\"身高(cm):\",\"style\":29},\"1\":{\"text\":\"${employee.height}\",\"style\":30},\"2\":{\"text\":\"体重(kg):\",\"style\":29},\"3\":{\"text\":\"${employee.weight}\",\"style\":30},\"4\":{\"text\":\"健康状况:\",\"style\":29},\"5\":{\"text\":\"${employee.health}\",\"style\":30}},\"isDrag\":true,\"height\":38},\"6\":{\"cells\":{\"0\":{\"text\":\"身份证号:\",\"style\":29},\"1\":{\"text\":\"${employee.id_card}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"学历:\",\"style\":29},\"5\":{\"text\":\"${employee.education}\",\"style\":30}},\"isDrag\":true,\"height\":40},\"7\":{\"cells\":{\"0\":{\"text\":\"毕业学校:\",\"style\":29},\"1\":{\"text\":\"${employee.school}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"专业:\",\"style\":29},\"5\":{\"text\":\"${employee.major}\",\"style\":30}},\"isDrag\":true,\"height\":44},\"8\":{\"cells\":{\"0\":{\"text\":\"联系地址:\",\"style\":29},\"1\":{\"text\":\"${employee.address}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"邮编:\",\"style\":29},\"5\":{\"text\":\"${employee.zip_code}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":45},\"9\":{\"cells\":{\"0\":{\"text\":\"Email:\",\"style\":29},\"1\":{\"text\":\"${employee.email}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"手机号:\",\"style\":29},\"5\":{\"text\":\"${employee.phone}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":40},\"10\":{\"cells\":{\"0\":{\"text\":\"外语语种:\",\"style\":29},\"1\":{\"text\":\"${employee.foreign_language}\",\"style\":30},\"2\":{\"text\":\"外语水平:\",\"style\":29},\"3\":{\"text\":\"${employee.foreign_language_level}\",\"style\":30},\"4\":{\"text\":\"计算机水平:\",\"style\":29},\"5\":{\"text\":\"${employee.computer_level}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":41},\"11\":{\"cells\":{\"0\":{\"text\":\"毕业时间:\",\"style\":29},\"1\":{\"text\":\"${employee.graduation_time}\",\"style\":34},\"2\":{\"text\":\"到职时间:\",\"style\":29},\"3\":{\"text\":\"${employee.arrival_time}\",\"style\":34},\"4\":{\"text\":\"职称:\",\"style\":29},\"5\":{\"text\":\"${employee.positional_titles}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":42},\"12\":{\"cells\":{\"0\":{\"text\":\"教育经历:\",\"style\":32},\"1\":{\"text\":\"\",\"style\":35,\"merge\":[0,5]},\"2\":{\"text\":\" \",\"style\":40},\"3\":{\"text\":\" \",\"style\":40},\"4\":{\"text\":\" \",\"style\":40},\"5\":{\"text\":\" \",\"style\":40},\"6\":{\"text\":\" \",\"style\":40}},\"isDrag\":true,\"height\":39},\"13\":{\"cells\":{\"0\":{\"text\":\"${employee.education_experience}\",\"style\":33,\"merge\":[0,6]},\"1\":{\"style\":27,\"text\":\" \"},\"2\":{\"style\":27,\"text\":\" \"},\"3\":{\"style\":27,\"text\":\" \"},\"4\":{\"style\":27,\"text\":\" \"},\"5\":{\"style\":27,\"text\":\" \"},\"6\":{\"style\":27,\"text\":\" \"}},\"isDrag\":true,\"height\":70},\"14\":{\"cells\":{\"0\":{\"text\":\"工作经历:\",\"style\":32},\"1\":{\"merge\":[0,5],\"style\":30,\"text\":\" \"},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\" \",\"style\":24},\"6\":{\"text\":\" \",\"style\":24}},\"height\":43},\"15\":{\"cells\":{\"0\":{\"text\":\"${employee.work_experience}\",\"style\":30,\"merge\":[0,6]},\"1\":{\"text\":\" \",\"style\":24},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\" \",\"style\":24},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":61},\"17\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":37}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\"],\"freeze\":\"A1\",\"dataRectWidth\":712,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date\"},{\"format\":\"date2\"},{\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"time\"},{\"font\":{\"name\":\"宋体\"},\"format\":\"normal\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":79},\"1\":{\"width\":92},\"2\":{\"width\":76},\"3\":{\"width\":106},\"5\":{\"width\":123},\"6\":{\"width\":136},\"len\":50},\"merges\":[\"A2:G2\",\"B3:E3\",\"B7:D7\",\"B8:D8\",\"B9:D9\",\"B10:D10\",\"F9:G9\",\"F10:G10\",\"F11:G11\",\"F12:G12\",\"B13:G13\",\"A14:G14\",\"B15:G15\",\"A16:G16\",\"G4:G8\"],\"imgList\":[{\"row\":3,\"col\":6,\"width\":\"135\",\"height\":\"192\",\"src\":\"https://static.jeecg.com/designreport/images/QQ截图20210108095848_1610071294294.png\",\"layer_id\":\"Ym8ny6lYTdutY5tT\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[3,6]]}]}', NULL, 'https://static.jeecg.com/designreport/images/1133_1607312428261.png', 'admin', '2020-10-16 11:32:32', 'admin', '2021-02-03 13:59:35', 0, NULL, NULL, 1, 1410, NULL, NULL, NULL, NULL, 0, NULL);
INSERT INTO `jimu_report` VALUES ('1331503965770223616', '20201125155042', '房屋销售综合展示大屏', NULL, NULL, '984302961118724096', '{\"loopBlockList\":[],\"chartList\":[{\"row\":1,\"col\":1,\"width\":\"338\",\"height\":\"378\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"缤纷南郡\\\",\\\"中航华府\\\",\\\"3中家属楼\\\",\\\"幸福家园\\\",\\\"水晶国际\\\",\\\"绿城小区\\\",\\\"缤纷南郡二期\\\",\\\"国奥家园\\\",\\\"西西胡同\\\",\\\"融创学府\\\",\\\"蓝湾国际\\\",\\\"广发小区\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":71,\\\"bottom\\\":39,\\\"right\\\":29},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[2,2,2,3,4,3,3,5,2,7,4,8],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#67994B\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"各楼盘成交量排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/bg1_1606961907450_1617248229528.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331511745851731969\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengjiao\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"5ggWQtDUvSopC4iL\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,1],[1,2],[1,3]]},{\"row\":1,\"col\":12,\"width\":\"327\",\"height\":\"152\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":34,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"高层\\\",\\\"小高层\\\",\\\"写字楼\\\",\\\"厂房\\\",\\\"公寓\\\",\\\"别墅\\\",\\\"厂房\\\",\\\"四合院\\\",\\\"loft\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":50,\\\"left\\\":30,\\\"bottom\\\":44,\\\"right\\\":24},\\\"series\\\":[{\\\"areaStyle\\\":null,\\\"data\\\":[20,25,10,5,9,1,5,1,20],\\\"showSymbol\\\":true,\\\"lineStyle\\\":{\\\"width\\\":2},\\\"symbolSize\\\":5,\\\"isArea\\\":false,\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#D04672\\\"},\\\"step\\\":false,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"line\\\",\\\"smooth\\\":true}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"房形分析\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1607938818911.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331922734933987329\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"fangyuan\",\"chartType\":\"line.smooth\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"nk6I2RCefm9scS1k\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,12],[1,13],[1,14],[1,15]]},{\"row\":7,\"col\":12,\"width\":\"324\",\"height\":\"215\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"1室\\\",\\\"2室\\\",\\\"3室\\\",\\\"4室\\\",\\\"5室\\\"],\\\"top\\\":\\\"bottom\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"right\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"1室\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(53,165,180,1)\\\"}},{\\\"name\\\":\\\"2室\\\",\\\"value\\\":30,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(60,140,198,1)\\\"}},{\\\"name\\\":\\\"3室\\\",\\\"value\\\":20,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(93,144,81,1)\\\"}},{\\\"name\\\":\\\"4室\\\",\\\"value\\\":5,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(191,146,68,1)\\\"}},{\\\"name\\\":\\\"5室\\\",\\\"value\\\":3,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"160\\\",\\\"120\\\"],\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":\\\"8\\\",\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"40%\\\",\\\"50%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同户型销售\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608536502813.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331919172472524801\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"huxingxiaoshou\",\"chartType\":\"pie.doughnut\",\"isTiming\":true,\"intervalTime\":\"5\",\"id\":\"MCJP8uqwe57YoCvF\"},\"layer_id\":\"MCJP8uqwe57YoCvF\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,12],[7,13],[7,14],[7,15]]},{\"row\":7,\"col\":4,\"width\":\"662\",\"height\":\"222\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"1月\\\",\\\"2月\\\",\\\"3月\\\",\\\"4月\\\",\\\"5月\\\",\\\"6月\\\",\\\"7月\\\",\\\"8月\\\",\\\"9月\\\",\\\"10月\\\",\\\"11月\\\",\\\"12月\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#A98E8E\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"成交量\\\",\\\"成交价\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#FBF8F8\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"grid\\\":{\\\"top\\\":58,\\\"left\\\":30,\\\"bottom\\\":43,\\\"right\\\":32},\\\"series\\\":[{\\\"barWidth\\\":15,\\\"stack\\\":\\\"1\\\",\\\"data\\\":[10,7,5,5,7,9,3,6,5,8,6,6],\\\"name\\\":\\\"成交量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#37A5B1\\\",\\\"barBorderRadius\\\":13},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":7,\\\"typeData\\\":[{\\\"name\\\":\\\"成交量\\\",\\\"type\\\":\\\"\\\",\\\"_index\\\":0,\\\"_rowKey\\\":136,\\\"stack\\\":\\\"1\\\"},{\\\"name\\\":\\\"成交价\\\",\\\"type\\\":\\\"\\\",\\\"stack\\\":\\\"1\\\",\\\"_index\\\":1,\\\"_rowKey\\\":139}]},{\\\"barWidth\\\":15,\\\"stack\\\":\\\"1\\\",\\\"data\\\":[5,5,12,5,5,5,5,10,5,5,5,5],\\\"name\\\":\\\"成交价\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#2E72A7\\\",\\\"barBorderRadius\\\":13},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":7,\\\"typeData\\\":[{\\\"name\\\":\\\"成交量\\\",\\\"type\\\":\\\"\\\",\\\"_index\\\":0,\\\"_rowKey\\\":136,\\\"stack\\\":\\\"1\\\"},{\\\"name\\\":\\\"成交价\\\",\\\"type\\\":\\\"\\\",\\\"stack\\\":\\\"1\\\",\\\"_index\\\":1,\\\"_rowKey\\\":139}]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"成交量和成交价趋势\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/QQ截图20201207201434_1607343287788.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331872643531526146\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengjiao1\",\"chartType\":\"bar.stack\",\"chartId\":\"\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"Nf6Xud4fZqEfvQw4\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,4],[7,5],[7,6],[7,7],[7,8],[7,9],[7,10],[7,11]]},{\"row\":16,\"col\":12,\"width\":\"326\",\"height\":\"200\",\"config\":\"{\\\"radar\\\":[{\\\"indicator\\\":[{\\\"name\\\":\\\"房产证\\\",\\\"max\\\":520},{\\\"name\\\":\\\"购房发票\\\",\\\"max\\\":310},{\\\"name\\\":\\\"购房合同\\\",\\\"max\\\":380},{\\\"name\\\":\\\"预售合同\\\",\\\"max\\\":450},{\\\"name\\\":\\\"抵押合同\\\",\\\"max\\\":600},{\\\"name\\\":\\\"预收合同\\\",\\\"max\\\":350}],\\\"shape\\\":\\\"polygon\\\",\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"gray\\\",\\\"opacity\\\":0.5}},\\\"center\\\":[\\\"50%\\\",\\\"50%\\\"],\\\"name\\\":{\\\"formatter\\\":\\\"【{value}】\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#72ACD1\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"gray\\\",\\\"opacity\\\":0.5}}}],\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"售后产权\\\",\\\"单位产权\\\",\\\"个人产权\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"type\\\":\\\"radar\\\",\\\"data\\\":[{\\\"name\\\":\\\"售后产权\\\",\\\"value\\\":[43,100,280,350,500,250],\\\"areaStyle\\\":{\\\"color\\\":\\\"#3F9AFB\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"#2D8CF0\\\"}},{\\\"name\\\":\\\"单位产权\\\",\\\"value\\\":[190,50,140,280,310,150],\\\"areaStyle\\\":{\\\"color\\\":\\\"#A6F65C\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"#55FE4D\\\"}},{\\\"name\\\":\\\"个人产权\\\",\\\"value\\\":[420,210,160,0,120,130],\\\"areaStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\"}}]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同产权、证件成交量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#ffffff\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608274537110.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331916030221602818\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"btchanquan\",\"chartType\":\"radar.basic\",\"isTiming\":true,\"intervalTime\":\"10\",\"id\":\"IWoBtyiRxjkEbkfD\"},\"layer_id\":\"IWoBtyiRxjkEbkfD\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,12],[16,13],[16,14],[16,15]]},{\"row\":16,\"col\":1,\"width\":\"337\",\"height\":\"205\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"马小姐\\\",\\\"孙小姐\\\",\\\"王先生\\\",\\\"李先生\\\",\\\"赵小姐\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":55,\\\"left\\\":70,\\\"bottom\\\":40,\\\"right\\\":24},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[20,15,12,10,7],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#37A5B1\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"销售量成交排行榜\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1606961907450.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331514838211407873\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"cjpaihang\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"Cror94F1kmbP71ip\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,1],[16,2],[16,3]]},{\"row\":16,\"col\":4,\"width\":\"334\",\"height\":\"206\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"马小姐\\\",\\\"孙小姐\\\",\\\"王先生\\\",\\\"李先生\\\",\\\"赵小姐\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":55,\\\"left\\\":56,\\\"bottom\\\":38,\\\"right\\\":30},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[20,15,12,10,7],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#2E72A7\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"销售员成交金额\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1606961918589.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331514838211407873\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"cjpaihang\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartId\":\"\"},\"layer_id\":\"pBOwp0Q0g4iuJCVm\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,4],[16,5],[16,6],[16,7]]},{\"row\":16,\"col\":8,\"width\":\"324\",\"height\":\"206\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"简装\\\",\\\"中装\\\",\\\"精装\\\",\\\"豪装\\\",\\\"毛坯\\\"],\\\"top\\\":\\\"bottom\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"简装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(52,158,172,1)\\\"}},{\\\"name\\\":\\\"中装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(56,131,185,1)\\\"}},{\\\"name\\\":\\\"精装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(103,153,75,1)\\\"}},{\\\"name\\\":\\\"豪装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(230,165,55,1)\\\"}},{\\\"name\\\":\\\"毛坯\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"180\\\",\\\"100\\\"],\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"52%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同装修类型销售销量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#ffffff\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608535503498.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331878107552010242\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"zhuangxiu\",\"chartType\":\"pie.simple\",\"isTiming\":true,\"intervalTime\":\"5\",\"id\":\"rQgkcYfLy4x0EP6h\"},\"layer_id\":\"rQgkcYfLy4x0EP6h\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,8],[16,9],[16,10],[16,11]]}],\"area\":{\"sri\":16,\"sci\":1,\"eri\":23,\"eci\":3,\"width\":340,\"height\":200},\"excel_config_id\":\"1331503965770223616\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\"},\"1\":{\"style\":60,\"merge\":[0,13],\"text\":\"房屋销售综合展示大屏\"}},\"height\":113},\"1\":{\"cells\":{\"1\":{\"merge\":[14,2],\"style\":43,\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"2\":{\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"3\":{\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"4\":{\"style\":53,\"text\":\"成交量:\",\"merge\":[2,0],\"virtual\":\"5ggWQtDUvSopC4iL\"},\"5\":{\"text\":\"#{qingkuang.cjl}\",\"style\":64,\"merge\":[2,0]},\"7\":{\"style\":53,\"text\":\"成交金额:\",\"merge\":[2,0]},\"8\":{\"text\":\"#{qingkuang.cjje}\",\"style\":68,\"merge\":[2,0]},\"10\":{\"style\":53,\"text\":\"销售面积:\",\"merge\":[2,0]},\"11\":{\"text\":\"#{qingkuang.xsmj}\",\"style\":64,\"merge\":[2,0]},\"12\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"13\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"14\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"15\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"}},\"isDrag\":true},\"2\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"3\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"4\":{\"cells\":{\"4\":{\"style\":58,\"text\":\"成交均价:\",\"merge\":[2,0]},\"5\":{\"text\":\"#{qingkuang.cjjj}\",\"style\":65,\"merge\":[2,0]},\"7\":{\"style\":58,\"text\":\"售房佣金:\",\"merge\":[2,0]},\"8\":{\"text\":\"#{qingkuang.sfyj}\",\"style\":65,\"merge\":[2,0]},\"10\":{\"style\":58,\"text\":\"预定客户:\",\"merge\":[2,0]},\"11\":{\"text\":\"#{qingkuang.ydkh}\",\"style\":65,\"merge\":[2,0]},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}},\"isDrag\":true,\"height\":25},\"5\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"6\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"7\":{\"cells\":{\"4\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"5\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"6\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"7\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"8\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"9\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"10\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"11\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"12\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"13\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"14\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"15\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"}}},\"8\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"9\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"10\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"11\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"12\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"13\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"14\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"15\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"16\":{\"cells\":{\"1\":{\"style\":43,\"text\":\" \",\"merge\":[7,2],\"virtual\":\"Cror94F1kmbP71ip\"},\"2\":{\"text\":\" \",\"virtual\":\"Cror94F1kmbP71ip\"},\"3\":{\"text\":\" \",\"virtual\":\"Cror94F1kmbP71ip\"},\"4\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"5\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"6\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"7\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"8\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"9\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"10\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"11\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"12\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"13\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"14\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"15\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"}}},\"17\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"18\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"19\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"20\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"21\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"22\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"23\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"24\":{\"cells\":{\"1\":{\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"len\":98},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1546,\"displayConfig\":{},\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/bg_1606961893275.png\",\"repeat\":\"repeat\",\"width\":\"\",\"height\":\"\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":18}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":18}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":16}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\"},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":14}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11}},{\"align\":\"right\",\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":11}},{\"align\":\"center\",\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true}},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":22},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":22},\"align\":\"center\",\"color\":\"#000100\"},{\"color\":\"#000100\",\"font\":{\"size\":22}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\"},{},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\",\"border\":{\"right\":[\"thin\",\"#eee\"]}},{\"align\":\"right\",\"font\":{\"size\":16,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":15,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"font\":{\"bold\":true,\"name\":\"宋体\",\"size\":22},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":22,\"name\":\"宋体\"}},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"bgcolor\":\"#ffff01\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"bgcolor\":\"\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\",\"bgcolor\":\"\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":117},\"3\":{\"width\":140},\"4\":{\"width\":136},\"5\":{\"width\":79},\"6\":{\"width\":1},\"7\":{\"width\":123},\"8\":{\"width\":102},\"9\":{\"width\":24},\"11\":{\"width\":100},\"14\":{\"width\":124},\"len\":50},\"merges\":[\"B2:D16\",\"E8:L16\",\"B17:D24\",\"E17:H24\",\"E2:E4\",\"F2:F4\",\"E5:E7\",\"F5:F7\",\"H2:H4\",\"H5:H7\",\"I5:I7\",\"I2:I4\",\"K2:K4\",\"L2:L4\",\"K5:K7\",\"L5:L7\",\"M17:O24\",\"B1:O1\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201125161646_1606705892603.png', 'admin', '2020-11-25 15:50:43', 'admin', '2021-04-01 03:37:15', 0, NULL, NULL, 1, 709, NULL, NULL, NULL, NULL, 0, NULL);
@@ -869,7 +870,7 @@ INSERT INTO `jimu_report` VALUES ('938680635597357056', '20240412162853', '测
INSERT INTO `jimu_report` VALUES ('94b04a1ed7c17f8e96baa6d89fb90758', '3698522', '员工请假单', '', NULL, '984302991393210368', '{\"area\":false,\"printElWidth\":794,\"excel_config_id\":\"94b04a1ed7c17f8e96baa6d89fb90758\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"0\":{\"text\":\"员工请假单\",\"style\":100,\"merge\":[0,7]},\"1\":{\"style\":100},\"2\":{\"style\":100},\"3\":{\"style\":100},\"4\":{\"style\":100},\"5\":{\"style\":100},\"6\":{\"style\":100},\"7\":{\"style\":100}},\"height\":65},\"2\":{\"cells\":{\"0\":{\"text\":\"单位:北极星\",\"style\":101,\"merge\":[0,2]},\"1\":{\"style\":101},\"2\":{\"style\":101},\"3\":{\"style\":102},\"4\":{\"style\":102},\"5\":{\"style\":102},\"6\":{\"style\":102},\"7\":{\"style\":102}},\"height\":38},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":119},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"text\":\"工作岗位\",\"style\":120},\"3\":{\"style\":119,\"text\":\" \"},\"4\":{\"text\":\"工作时间\",\"style\":119},\"5\":{\"style\":119,\"text\":\" \"},\"6\":{\"text\":\"出生日期\",\"style\":119},\"7\":{\"style\":119,\"text\":\" \"}}},\"4\":{\"cells\":{\"0\":{\"text\":\"请选择假类型\",\"style\":121,\"merge\":[4,0]},\"1\":{\"text\":\"年休假\",\"style\":120},\"2\":{\"style\":120,\"text\":\"病、事假\"},\"3\":{\"style\":120,\"text\":\"探亲假\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"婚、丧假\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"生育假\"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":29},\"5\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"text\":\"1、公岭满1~9年(5天)\",\"style\":122},\"2\":{\"style\":119,\"text\":\"1、病假\"},\"3\":{\"style\":119,\"text\":\"1、未婚探父母(20天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"1、婚假(3天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"1、流产\"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":25},\"6\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":123,\"text\":\"2、公岭满10~19年(10天)\"},\"2\":{\"style\":119,\"text\":\"2、事假\"},\"3\":{\"style\":119,\"text\":\"2、已婚探父母(20天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"2、晚婚假(13天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"2、产假\"},\"7\":{\"style\":107,\"text\":\" \"}}},\"7\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":123,\"text\":\"3、公岭满20年(15天)\"},\"2\":{\"style\":119,\"text\":\" \"},\"3\":{\"style\":119,\"text\":\"3、探配偶(30天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"3、丧假(3天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"3、哺乳假\"},\"7\":{\"style\":107,\"text\":\" \"}}},\"8\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"style\":119,\"text\":\" \"},\"3\":{\"style\":119,\"text\":\"探亲地点:\",\"merge\":[0,2]},\"4\":{\"style\":107,\"text\":\" \"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"4、陪护假\"},\"7\":{\"style\":107,\"text\":\" \"},\"8\":{\"style\":15},\"9\":{\"style\":15},\"10\":{\"style\":15},\"11\":{\"style\":15},\"12\":{\"style\":15},\"13\":{\"style\":15},\"14\":{\"style\":15},\"15\":{\"style\":15},\"16\":{\"style\":15},\"17\":{\"style\":15},\"18\":{\"style\":15},\"19\":{\"style\":15},\"20\":{\"style\":15},\"21\":{\"style\":15},\"22\":{\"style\":15},\"23\":{\"style\":5},\"24\":{\"style\":5},\"25\":{\"style\":5}}},\"9\":{\"cells\":{\"0\":{\"style\":124,\"text\":\"请假时间\"},\"1\":{\"style\":125,\"merge\":[0,6],\"text\":\"2020年02-30 至2020年02-03-30\"},\"2\":{\"style\":115,\"text\":\" \"},\"3\":{\"style\":115,\"text\":\" \"},\"4\":{\"style\":115,\"text\":\" \"},\"5\":{\"style\":115,\"text\":\" \"},\"6\":{\"style\":115,\"text\":\" \"},\"7\":{\"style\":115,\"text\":\" \"}},\"height\":46},\"10\":{\"cells\":{\"0\":{\"style\":126,\"text\":\"审批人员及意见\"},\"1\":{\"merge\":[0,6],\"style\":127,\"text\":\"同意\"},\"2\":{\"style\":118,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"style\":118,\"text\":\" \"},\"5\":{\"style\":118,\"text\":\" \"},\"6\":{\"style\":118,\"text\":\" \"},\"7\":{\"style\":118,\"text\":\" \"}},\"height\":89},\"11\":{\"cells\":{\"0\":{\"text\":\"备注\",\"style\":119},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"text\":\"请假人签名\",\"style\":119},\"3\":{\"merge\":[0,4],\"style\":119,\"text\":\" \"},\"4\":{\"style\":107,\"text\":\" \"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":107,\"text\":\" \"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":90},\"12\":{\"cells\":{\"0\":{\"merge\":[0,7],\"style\":120,\"text\":\"请假审批表一式两份,考勤员与人力资源部门各存一份\"},\"1\":{\"style\":106,\"text\":\" \"},\"2\":{\"style\":106,\"text\":\" \"},\"3\":{\"style\":106,\"text\":\" \"},\"4\":{\"style\":106,\"text\":\" \"},\"5\":{\"style\":106,\"text\":\" \"},\"6\":{\"style\":106,\"text\":\" \"},\"7\":{\"style\":106,\"text\":\" \"}},\"height\":25},\"len\":101},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":789,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"textwrap\":true},{\"textwrap\":false},{\"textwrap\":true,\"valign\":\"middle\"},{\"textwrap\":false,\"valign\":\"middle\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\"},{},{\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\"},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\",\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\",\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#7f7f7f\"},{\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"middle\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"bottom\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":true},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":true},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":false},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":false},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":14,\"bold\":true}},{\"font\":{\"name\":\"宋体\"},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"宋体\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false}],\"validations\":[],\"cols\":{\"0\":{\"width\":35},\"1\":{\"width\":195},\"2\":{\"width\":77},\"3\":{\"width\":168},\"4\":{\"width\":62},\"6\":{\"width\":70},\"7\":{\"width\":82},\"len\":26},\"merges\":[\"D9:F9\",\"E5:F5\",\"E6:F6\",\"E7:F7\",\"E8:F8\",\"G5:H5\",\"G6:H6\",\"G7:H7\",\"G8:H8\",\"G9:H9\",\"B10:H10\",\"B11:H11\",\"D12:H12\",\"A13:H13\",\"A3:C3\",\"A2:H2\",\"A5:A9\"]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207135257_1607320433681.png', 'jeecg', '2020-07-10 18:29:39', 'admin', '2021-02-03 14:01:12', 0, NULL, NULL, 1, 142, NULL, NULL, NULL, NULL, 0, NULL);
INSERT INTO `jimu_report` VALUES ('961455b47c0b86dc961e90b5893bff05', '56780774', '阜阳检票数查询副本0774', '', NULL, '984302991393210368', '{\"area\":{\"sri\":8,\"sci\":6,\"eri\":8,\"eci\":6,\"width\":75,\"height\":25},\"printElWidth\":794,\"excel_config_id\":\"53c82a76f837d5661dceec7d93afafec\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"\",\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":67,\"merge\":[0,3],\"text\":\"阜阳火车站检票数\"},\"4\":{\"style\":67},\"5\":{\"style\":67},\"6\":{\"style\":67},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":63},\"1\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":66},\"4\":{\"style\":66},\"5\":{\"style\":66},\"6\":{\"style\":66},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":20},\"2\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"日期:\",\"style\":68},\"2\":{\"text\":\"${gongsi.tdata}\",\"style\":69},\"3\":{\"style\":66},\"4\":{\"style\":66,\"text\":\"制表人:\"},\"5\":{\"text\":\"${gongsi.gname}\",\"style\":66},\"6\":{\"style\":66},\"7\":{\"text\":\"\",\"merge\":[0,1],\"style\":70},\"8\":{\"style\":70},\"9\":{\"style\":58}},\"isDrag\":true},\"3\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"班次\",\"merge\":[1,0],\"style\":71},\"2\":{\"text\":\"发车时间\",\"merge\":[1,0],\"style\":71},\"3\":{\"text\":\"是否放空\",\"merge\":[1,0],\"style\":71},\"4\":{\"text\":\"路线\",\"merge\":[0,1],\"style\":71},\"5\":{\"style\":72},\"6\":{\"text\":\"核载座位数\",\"merge\":[1,0],\"style\":71},\"7\":{\"merge\":[1,0],\"style\":71,\"text\":\"检票数\"},\"8\":{\"merge\":[1,0],\"style\":71,\"text\":\"实载率(%)\"},\"9\":{\"style\":58}}},\"4\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":72},\"2\":{\"style\":71},\"3\":{\"style\":72},\"4\":{\"text\":\"从\",\"style\":71},\"5\":{\"text\":\"到\",\"style\":71},\"6\":{\"style\":72},\"7\":{\"style\":71},\"8\":{\"style\":72},\"9\":{\"style\":58}},\"height\":25},\"5\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":73,\"text\":\"#{jianpiao.bnum}\"},\"2\":{\"style\":73,\"text\":\"#{jianpiao.ftime}\"},\"3\":{\"style\":73,\"text\":\"#{jianpiao.sfkong}\"},\"4\":{\"style\":73,\"text\":\"#{jianpiao.kaishi}\"},\"5\":{\"style\":73,\"text\":\"#{jianpiao.jieshu}\"},\"6\":{\"style\":73,\"text\":\"#{jianpiao.hezairen}\"},\"7\":{\"style\":73,\"text\":\"#{jianpiao.jpnum}\"},\"8\":{\"style\":73,\"text\":\"#{jianpiao.shihelv}\"},\"9\":{\"style\":58}},\"height\":33},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11,\"text\":\"\"},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"8\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"9\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"10\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"11\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"12\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"13\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"14\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"len\":96,\"-1\":{\"cells\":{\"-1\":{\"text\":\"${gongsi.id}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":737,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"],\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":22,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"宋体\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"right\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":53},\"1\":{\"width\":118},\"2\":{\"width\":75},\"3\":{\"width\":54},\"4\":{\"width\":95},\"5\":{\"width\":109},\"6\":{\"width\":75},\"7\":{\"width\":75},\"8\":{\"width\":83},\"9\":{\"width\":30},\"len\":27},\"merges\":[\"E4:F4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"G4:G5\",\"H4:H5\",\"I4:I5\",\"D1:G1\",\"H3:I3\"]}', '', 'https://static.jeecg.com/designreport/images/25_1597233573577.png', 'admin', '2021-01-19 10:46:45', 'admin', '2021-02-03 13:58:22', 0, NULL, NULL, 0, 702, NULL, NULL, NULL, NULL, 0, NULL);
INSERT INTO `jimu_report` VALUES ('964408698620444672', '20240622162247', '1111', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":11,\"sci\":1,\"eri\":11,\"eci\":1,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"excel_config_id\":\"964408698620444672\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"2\":{\"cells\":{\"1\":{\"text\":\"1\"}}},\"7\":{\"cells\":{\"1\":{\"text\":\"2\"}}},\"11\":{\"cells\":{\"1\":{\"text\":\"3\"}}},\"len\":100},\"dbexps\":[],\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":200,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[],\"validations\":[],\"cols\":{\"len\":50},\"merges\":[]}', NULL, NULL, 'jeecg', '2024-06-22 16:22:47', 'jeecg', '2024-06-22 16:22:56', 1, NULL, NULL, 0, 1, NULL, NULL, NULL, '1001', 0, NULL);
-INSERT INTO `jimu_report` VALUES ('965205577251782656', '20240624210923', '111', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":600,\"autofilter\":{},\"validations\":[],\"cols\":{\"len\":50},\"chartList\":[{\"row\":11,\"col\":-1,\"colspan\":7,\"rowspan\":14,\"width\":\"650\",\"height\":\"350\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"销量\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":\\\"auto\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"data\\\":[\\\"衬衫\\\",\\\"羊毛衫\\\",\\\"雪纺衫\\\",\\\"裤子\\\",\\\"高跟鞋\\\",\\\"袜子\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"服饰\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":60,\\\"bottom\\\":60,\\\"right\\\":100},\\\"series\\\":[{\\\"barWidth\\\":50,\\\"data\\\":[5,20,36,10,10,20],\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#c43632\\\",\\\"barBorderRadius\\\":0},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"top\\\":\\\"5\\\",\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontSize\\\":18,\\\"fontWeight\\\":\\\"bolder\\\"}}}\",\"url\":\"\",\"extData\":{\"chartId\":\"bar.simple\",\"chartType\":\"bar.simple\"},\"layer_id\":\"Zm53iOJRj7pwCuxY\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[11,-1],[11,0],[11,1],[11,2],[11,3],[11,4],[11,5]]}],\"area\":false,\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"965205577251782656\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"1\":{\"cells\":{\"2\":{\"text\":\"q\"},\"3\":{\"text\":\"q\"},\"4\":{\"text\":\"q\"}}},\"3\":{\"cells\":{\"0\":{},\"2\":{\"text\":\"ID\",\"style\":1},\"3\":{\"text\":\"NAME\",\"style\":1}}},\"4\":{\"cells\":{\"2\":{\"text\":\"#{aaa.id}\",\"style\":0},\"3\":{\"text\":\"#{aaa.name}\",\"style\":0}}},\"9\":{\"cells\":{\"0\":{},\"2\":{}}},\"11\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"1\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"2\":{\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"3\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"4\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"5\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"-1\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"}}},\"13\":{\"cells\":{\"0\":{}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#71ae47\"}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-06-24 21:09:23', 'admin', '2024-10-30 16:14:09', 0, NULL, NULL, 0, 43, NULL, NULL, NULL, '3', 2, NULL);
+INSERT INTO `jimu_report` VALUES ('965205577251782656', '20240624210923', '111', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":900,\"autofilter\":{},\"validations\":[],\"cols\":{\"len\":50},\"chartList\":[{\"row\":11,\"col\":-1,\"colspan\":7,\"rowspan\":14,\"width\":\"650\",\"height\":\"350\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"销量\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":\\\"auto\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"data\\\":[\\\"衬衫\\\",\\\"羊毛衫\\\",\\\"雪纺衫\\\",\\\"裤子\\\",\\\"高跟鞋\\\",\\\"袜子\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"服饰\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":60,\\\"bottom\\\":60,\\\"right\\\":100},\\\"series\\\":[{\\\"barWidth\\\":50,\\\"data\\\":[5,20,36,10,10,20],\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#c43632\\\",\\\"barBorderRadius\\\":0},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"top\\\":\\\"5\\\",\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontSize\\\":18,\\\"fontWeight\\\":\\\"bolder\\\"}}}\",\"url\":\"\",\"extData\":{\"chartId\":\"bar.simple\",\"chartType\":\"bar.simple\"},\"layer_id\":\"Zm53iOJRj7pwCuxY\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[11,-1],[11,0],[11,1],[11,2],[11,3],[11,4],[11,5]]}],\"area\":false,\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"965205577251782656\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"1\":{\"cells\":{\"2\":{\"text\":\"q\"},\"3\":{\"text\":\"q\"},\"4\":{\"text\":\"q\"}}},\"3\":{\"cells\":{\"0\":{},\"2\":{\"text\":\"ID\",\"style\":1},\"3\":{\"text\":\"NAME\",\"style\":1}}},\"4\":{\"cells\":{\"2\":{\"text\":\"#{aaa.id}\",\"style\":0},\"3\":{\"text\":\"#{aaa.name}\",\"style\":0}}},\"9\":{\"cells\":{\"0\":{},\"2\":{},\"7\":{\"text\":\"2\"}}},\"11\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"1\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"2\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"3\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"4\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"5\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"},\"-1\":{\"text\":\" \",\"virtual\":\"Zm53iOJRj7pwCuxY\"}}},\"13\":{\"cells\":{\"0\":{},\"8\":{\"text\":\"2\"}}},\"18\":{\"cells\":{\"8\":{\"text\":\"3\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#71ae47\"}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-06-24 21:09:23', 'admin', '2024-12-12 11:36:44', 0, NULL, NULL, 0, 43, NULL, NULL, NULL, '3', 2, NULL);
INSERT INTO `jimu_report` VALUES ('975549294469992448', '20240723101422', '简单表达式混合运算', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1097,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":81},\"1\":{\"width\":55},\"2\":{\"width\":144},\"3\":{\"width\":143},\"4\":{\"width\":112},\"5\":{\"width\":129},\"7\":{\"width\":333},\"len\":100},\"area\":false,\"pyGroupEngine\":false,\"excel_config_id\":\"975549294469992448\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"1\"},\"1\":{},\"2\":{\"text\":\"SUM(A1,A2)\"},\"3\":{\"text\":\"=SUM(A1,A2)\"},\"4\":{\"text\":\"SUM(A1:A10)\"},\"5\":{\"text\":\"=SUM(A1:A10)\"}}},\"1\":{\"cells\":{\"0\":{\"text\":\"2\"},\"1\":{},\"2\":{\"text\":\"SUM(A1,A2)*2\"},\"3\":{\"text\":\"=SUM(A1,A2)*2\"},\"4\":{\"text\":\"SUM(A1:A10)*2\"},\"5\":{\"text\":\"=SUM(A1:A10)*2\"},\"6\":{},\"7\":{\"text\":\"=2+SUM(A1,A2)*2 \"}}},\"2\":{\"cells\":{\"0\":{\"text\":\"3\"},\"2\":{\"text\":\"SUM(A1,A2)/2\"},\"3\":{\"text\":\"=SUM(A1,A2)/2\"},\"4\":{\"text\":\"SUM(A1:A10)/2\"},\"5\":{\"text\":\"=SUM(A1:A10)/2\"},\"7\":{\"text\":\"=A1*A2\"}}},\"3\":{\"cells\":{\"0\":{\"text\":\"4\"},\"2\":{\"text\":\"SUM(A1,A2)+2\"},\"3\":{\"text\":\"=SUM(A1,A2)+2\"},\"4\":{\"text\":\"SUM(A1:A10)+2\"},\"5\":{\"text\":\"=SUM(A1:A10)+2\"}}},\"4\":{\"cells\":{\"0\":{\"text\":\"5\"},\"2\":{\"text\":\"SUM(A1,A2)-2\"},\"3\":{\"text\":\"=SUM(A1,A2)-2\"},\"4\":{\"text\":\"SUM(A1:A10)-2\"},\"5\":{\"text\":\"=SUM(A1:A10)-2\"},\"7\":{}}},\"5\":{\"cells\":{\"0\":{\"text\":\"6\"}}},\"6\":{\"cells\":{\"0\":{\"text\":\"7\"},\"2\":{\"text\":\"MAX(A1,A2)\"},\"3\":{\"text\":\"=MAX(A1,A2)\"},\"4\":{\"text\":\"MAX(A1:A10)\"},\"5\":{\"text\":\"=MAX(A1:A10)\"}}},\"7\":{\"cells\":{\"0\":{\"text\":\"8\"},\"2\":{\"text\":\"MAX(A1,A2)*2\"},\"3\":{\"text\":\"=MAX(A1,A2)*2\"},\"4\":{\"text\":\"MAX(A1:A10)*2\"},\"5\":{\"text\":\"=MAX(A1:A10)*2\"}}},\"8\":{\"cells\":{\"0\":{\"text\":\"9\"},\"2\":{\"text\":\"MAX(A1,A2)/2\"},\"3\":{\"text\":\"=MAX(A1,A2)/2\"},\"4\":{\"text\":\"MAX(A1:A10)/2\"},\"5\":{\"text\":\"=MAX(A1:A10)/2\"}}},\"9\":{\"cells\":{\"0\":{\"text\":\"10\"},\"2\":{\"text\":\"MAX(A1,A2)+2\"},\"3\":{\"text\":\"=MAX(A1,A2)+2\"},\"4\":{\"text\":\"MAX(A1:A10)+2\"},\"5\":{\"text\":\"=MAX(A1:A10)+2\"}}},\"10\":{\"cells\":{\"0\":{},\"2\":{\"text\":\"MAX(A1,A2)-2\"},\"3\":{\"text\":\"=MAX(A1,A2)-2\"},\"4\":{\"text\":\"MAX(A1:A10)-2\"},\"5\":{\"text\":\"=MAX(A1:A10)-2\"}}},\"11\":{\"cells\":{\"0\":{}}},\"12\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)\"},\"3\":{\"text\":\"=MIN(A1,A2)\"},\"4\":{\"text\":\"MIN(A1:A10)\"},\"5\":{\"text\":\"=MIN(A1:A10)\"}}},\"13\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)*2\"},\"3\":{\"text\":\"=MIN(A1,A2)*2\"},\"4\":{\"text\":\"MIN(A1:A10)*2\"},\"5\":{\"text\":\"=MIN(A1:A10)*2\"}}},\"14\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)/2\"},\"3\":{\"text\":\"=MIN(A1,A2)/2\"},\"4\":{\"text\":\"MIN(A1:A10)/2\"},\"5\":{\"text\":\"=MIN(A1:A10)/2\"}}},\"15\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)+2\"},\"3\":{\"text\":\"=MIN(A1,A2)+2\"},\"4\":{\"text\":\"MIN(A1:A10)+2\"},\"5\":{\"text\":\"=MIN(A1:A10)+2\"}}},\"16\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)-2\"},\"3\":{\"text\":\"=MIN(A1,A2)-2\"},\"4\":{\"text\":\"MIN(A1:A10)-2\"},\"5\":{\"text\":\"=MIN(A1:A10)-2\"}}},\"18\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)\"},\"4\":{\"text\":\"AVERAGE(A1:A10)\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)\"}}},\"19\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)*2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)*2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)*2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)*2\"}}},\"20\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)/2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)/2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)/2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)/2\"}}},\"21\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)+2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)+2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)+2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)+2\"}}},\"22\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)-2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)-2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)-2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)-2\"}}},\"24\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)\"}}},\"25\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)*2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)*2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)*2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)*2\"}}},\"26\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)/2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)/2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)/2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)/2\"}}},\"27\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)+2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)+2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)+2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)+2\"}}},\"28\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)-2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)-2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)-2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)-2\"}}},\"len\":200},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-07-23 10:14:22', 'admin', '2024-07-24 19:17:39', 0, NULL, NULL, 0, 75, NULL, NULL, NULL, NULL, 0, NULL);
INSERT INTO `jimu_report` VALUES ('989065112487022592', '20240823093133__1750', '在线填报-员工信息登记', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":698,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":76},\"1\":{\"width\":114},\"2\":{\"width\":87},\"3\":{\"width\":99},\"4\":{\"width\":65},\"5\":{\"width\":126},\"6\":{\"width\":131},\"len\":100},\"area\":{\"sri\":10,\"sci\":9,\"eri\":10,\"eci\":9,\"width\":100,\"height\":121},\"pyGroupEngine\":false,\"submitHandlers\":[{\"type\":\"api\",\"code\":\"api\",\"name\":\"api\",\"isMain\":true,\"isEdit\":true,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/submit/handle\"}],\"excel_config_id\":\"989065112487022592\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[1,6],\"height\":90,\"text\":\"员工信息登记表\",\"style\":6}},\"height\":45},\"1\":{\"cells\":{},\"height\":45},\"2\":{\"cells\":{\"0\":{\"text\":\"编号\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"no\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"年龄\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"age\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"precision\":0,\"isLimitMinNum\":false,\"minNum\":0,\"isLimitMaxNum\":false,\"maxNum\":100,\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"age\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"填写时间\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"DatePicker-time\",\"component\":\"DatePicker\",\"field\":\"create_time\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"dateFormat\":\"yyyy-MM-dd HH:mm:ss\",\"defaultValue\":\"\"},\"style\":7,\"text\":\" \"},\"6\":{\"merge\":[3,0],\"height\":180,\"fillForm\":{\"componentFlag\":\"JUploadImage\",\"component\":\"JUploadImage\",\"field\":\"photo\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"maxUploadNum\":1,\"h_align\":\"center\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"text\":\" \",\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"name\",\"placeholder\":\"\",\"required\":true,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"name\"},{\"dbTable\":\"test_form_submit1\",\"dbField\":\"name\"}],\"label\":\"A5\",\"labelText\":\"姓名\",\"pattern\":\"\",\"patternErrorTip\":\"\"}},\"2\":{\"text\":\"性别\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"JRadio\",\"component\":\"JRadio\",\"field\":\"sex\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"男\",\"value\":\"1\"},{\"label\":\"女\",\"value\":\"2\"}],\"apiUrl\":\"\",\"dictCode\":\"sex1\",\"dictName\":\"性别\"},\"style\":8,\"text\":\" \"},\"4\":{\"text\":\"出生日期\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"DatePicker-date\",\"component\":\"DatePicker\",\"field\":\"brithday\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dateFormat\":\"yyyy-MM-dd\",\"dateShowType\":\"date\"},\"style\":7,\"text\":\" \"},\"8\":{}},\"height\":45},\"4\":{\"cells\":{\"0\":{\"text\":\"民族\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"nation\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"minzu\",\"dictName\":\"民族\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"政治面貌\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"politics\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"politics\"}],\"dataSource\":\"api\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/submit/dict/political\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"籍贯\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JAreaLinkage\",\"component\":\"JAreaLinkage\",\"field\":\"native_place\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"native_place\"}],\"areaType\":\"region\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"5\":{\"cells\":{\"0\":{\"text\":\"身高(cm)\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"height\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"height\"}],\"precision\":2,\"isLimitMinNum\":false,\"minNum\":50,\"isLimitMaxNum\":false,\"maxNum\":200},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"体重\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"weight\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"weight\"}],\"precision\":2,\"isLimitMinNum\":false,\"minNum\":30,\"isLimitMaxNum\":false,\"maxNum\":300},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"健康状况\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"health\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"static\",\"options\":[{\"label\":\"健康\",\"value\":\"1\"},{\"label\":\"不健康\",\"value\":\"2\"}],\"apiUrl\":\"\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"6\":{\"cells\":{\"0\":{\"text\":\"身份证号\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"idcard\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"pattern\":\"^\\\\d{17}[\\\\dX]$\",\"patternErrorTip\":\"请输入身份证号\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"id_card\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"学历\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"people\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"xueli_sf\",\"dictName\":\"学历\",\"multiple\":true},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"7\":{\"cells\":{\"0\":{\"text\":\"联系地址\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"addr\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"address\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"手机号\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"phone\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"phone\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"8\":{\"cells\":{\"0\":{\"text\":\"毕业证书\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"JUploadFile\",\"component\":\"JUploadFile\",\"field\":\"ca\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"maxUploadNum\":1,\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"ca\"}]},\"style\":9,\"text\":\" \"},\"4\":{\"text\":\"幸运色\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"ColorPicker\",\"component\":\"ColorPicker\",\"field\":\"lucky_color\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"alpha\":false},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"9\":{\"cells\":{\"0\":{\"text\":\"教育经历\",\"merge\":[0,6],\"height\":45,\"style\":8}},\"height\":45},\"10\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":121,\"fillForm\":{\"componentFlag\":\"input-textarea\",\"component\":\"Input\",\"field\":\"education\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"education\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":121},\"11\":{\"cells\":{\"0\":{\"text\":\"工作经历\",\"merge\":[0,6],\"height\":45,\"style\":8}},\"height\":45},\"12\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":150,\"fillForm\":{\"componentFlag\":\"input-textarea\",\"component\":\"Input\",\"field\":\"work_exp\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"work_exp\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":150},\"13\":{\"cells\":{\"0\":{\"text\":\"爱好\",\"style\":7},\"1\":{\"merge\":[0,5],\"height\":45,\"fillForm\":{\"componentFlag\":\"JCheckbox\",\"component\":\"JCheckbox\",\"field\":\"fruity\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"fruity\"}],\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"aihao\",\"dictName\":\"爱好\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"14\":{\"cells\":{\"0\":{\"text\":\"所属部门\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"JDepartment\",\"component\":\"JDepartment\",\"field\":\"dept\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"dept\"}],\"multiple\":true,\"apiUrl\":\"http://192.168.1.69:8086/jmreport/test/getDepartmentList\"},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"薪资\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JMoney\",\"component\":\"JMoney\",\"field\":\"pay\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"precision\":0,\"addon\":\"prepend\",\"moenyUnit\":\"¥\"},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"15\":{\"cells\":{\"0\":{\"text\":\"角色\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"JRole\",\"component\":\"JRole\",\"field\":\"role\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getRoleList\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"role\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\"工位\"},\"5\":{\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"station\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"dataSource\":\"static\",\"options\":[{\"label\":\"101\",\"value\":\"1\"},{\"label\":\"102\",\"value\":\"2\"},{\"label\":\"103\",\"value\":\"3\"},{\"label\":\"104\",\"value\":\"4\"}],\"apiUrl\":\"\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":true}}},\"height\":45},\"16\":{\"cells\":{\"0\":{\"text\":\"直属领导\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"JUser\",\"component\":\"JUser\",\"field\":\"leader\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getUserList\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"leader\"}]},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\"是否启用\"},\"5\":{\"style\":10,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"JSwitch\",\"component\":\"JSwitch\",\"field\":\"status\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"status\"}],\"label\":\"\",\"labelText\":\"\",\"switchOpen\":\"Y\",\"switchClose\":\"N\",\"h_align\":\"center\"}},\"6\":{}},\"height\":45},\"17\":{\"cells\":{\"0\":{\"style\":7,\"text\":\"负责部门\"},\"1\":{\"fillForm\":{\"componentFlag\":\"JSelectTree\",\"component\":\"JSelectTree\",\"field\":\"responsible\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":true,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getDepartmentList\"},\"style\":7,\"text\":\" \",\"merge\":[0,2],\"height\":45},\"4\":{\"style\":7,\"text\":\"上班时间\"},\"5\":{\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"TimePicker\",\"component\":\"TimePicker\",\"field\":\"key_1724408224853_326455\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"isRangTime\":false,\"timeType\":\"time\"}}},\"height\":45},\"20\":{\"cells\":{\"6\":{}}},\"len\":201},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"valign\":\"middle\"},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"valign\":\"middle\"},{\"align\":\"right\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[\"A1:G2\",\"G3:G6\",\"B7:D7\",\"F7:G7\",\"B8:D8\",\"F8:G8\",\"B9:D9\",\"F9:G9\",\"A10:G10\",\"A11:G11\",\"A12:G12\",\"A13:G13\",\"B14:G14\",\"B15:D15\",\"F15:G15\",\"B16:D16\",\"F16:G16\",\"B17:D17\",\"F17:G17\",\"B18:D18\",\"F18:G18\"]}', NULL, NULL, 'admin', '2024-08-29 17:18:29', 'admin', '2024-08-30 10:24:03', 0, NULL, NULL, 1, 2, NULL, NULL, NULL, '1', 9, 1);
INSERT INTO `jimu_report` VALUES ('993054030610661376', '20240909172914', '11', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":200,\"autofilter\":{},\"validations\":[],\"cols\":{\"len\":50},\"area\":{\"sri\":5,\"sci\":1,\"eri\":5,\"eci\":1,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"submitHandlers\":[],\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"5\":{\"cells\":{\"1\":{\"text\":\"1\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-09-09 17:29:14', 'admin', '2024-09-09 17:29:23', 1, NULL, NULL, 0, 1, NULL, NULL, NULL, '1', 0, 0);
@@ -5099,7 +5100,7 @@ CREATE TABLE `qrtz_scheduler_state` (
-- ----------------------------
-- Records of qrtz_scheduler_state
-- ----------------------------
-INSERT INTO `qrtz_scheduler_state` VALUES ('MyScheduler', 'qin1733905043352', 1733905289401, 15000);
+INSERT INTO `qrtz_scheduler_state` VALUES ('MyScheduler', 'qin1733976436409', 1733976997037, 15000);
-- ----------------------------
-- Table structure for qrtz_simple_triggers
@@ -8203,6 +8204,7 @@ INSERT INTO `sys_log` VALUES ('1866001714760069122', 2, '修改角色ID: f6817f4
INSERT INTO `sys_log` VALUES ('1866002778636849154', 2, 'online表单加载,Online表单不存在!', 1, 'admin', '管理员', '127.0.0.1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, '', NULL, 27, NULL, '2024-12-09 14:11:46', NULL, NULL, NULL, NULL);
INSERT INTO `sys_log` VALUES ('1866002778636849155', 2, 'online表单加载,Online表单不存在!', 1, 'admin', '管理员', '127.0.0.1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, '', NULL, 19, NULL, '2024-12-09 14:11:46', NULL, NULL, NULL, NULL);
INSERT INTO `sys_log` VALUES ('1866002778636849153', 2, 'online列表加载,Online表单不存在!', 1, 'admin', '管理员', '127.0.0.1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '', NULL, 21, NULL, '2024-12-09 14:11:46', NULL, NULL, NULL, NULL);
+INSERT INTO `sys_log` VALUES ('1867050763659476993', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '127.0.0.1', NULL, NULL, NULL, NULL, NULL, NULL, '2024-12-12 11:36:05', NULL, NULL, NULL, 'pc');
-- ----------------------------
-- Table structure for sys_permission
@@ -8612,7 +8614,7 @@ INSERT INTO `sys_permission` VALUES ('1810652607946940417', '1438782641187074050
INSERT INTO `sys_permission` VALUES ('1810923799513612290', '1439399179791409153', '彻底删除', NULL, NULL, 0, NULL, NULL, 2, 'system:gateway:deleteRecycleBin', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-10 14:27:34', NULL, NULL, 0, NULL, '1', 0);
INSERT INTO `sys_permission` VALUES ('1811685368354754561', '1439399179791409153', '复制路由', NULL, NULL, 0, NULL, NULL, 2, 'system:gateway:copyRoute', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-12 16:53:46', NULL, NULL, 0, NULL, '1', 0);
INSERT INTO `sys_permission` VALUES ('1811685464467230721', '1439399179791409153', '还原逻辑删除', NULL, NULL, 0, NULL, NULL, 2, 'system:gateway:putRecycleBin', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-12 16:54:09', NULL, NULL, 0, NULL, '1', 0);
-INSERT INTO `sys_permission` VALUES ('1866001513609637890', '', '数据可视化', '/dataVisual', 'layouts/default/index', 1, '', NULL, 0, NULL, '0', 1.00, 0, 'ant-design:sliders-outlined', 0, 0, 0, 0, NULL, 'admin', '2024-12-09 14:06:44', 'admin', '2024-12-09 14:07:58', 0, 0, NULL, 0);
+INSERT INTO `sys_permission` VALUES ('1866001513609637890', '', '数据可视化', '/dataVisual', 'layouts/default/index', 1, '', NULL, 0, NULL, '0', 2.00, 0, 'ant-design:sliders-outlined', 0, 0, 0, 0, NULL, 'admin', '2024-12-09 14:06:44', 'admin', '2024-12-12 11:36:19', 0, 0, NULL, 0);
INSERT INTO `sys_permission` VALUES ('190c2b43bec6a5f7a4194a85db67d96a', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '角色管理', '/system/role', 'system/role/index', 1, NULL, NULL, 1, NULL, NULL, 2.00, 0, 'ant-design:solution', 0, 1, 0, NULL, NULL, NULL, '2018-12-25 20:34:38', 'admin', '2021-09-17 15:58:00', 0, 0, NULL, 0);
INSERT INTO `sys_permission` VALUES ('1a0811914300741f4e11838ff37a1d3a', '3f915b2769fc80648e92d04e84ca059d', '手机号禁用', '', '', 0, NULL, NULL, 2, 'user:form:phone', '2', 1.00, 0, NULL, 1, NULL, 0, NULL, NULL, 'admin', '2019-05-11 17:19:30', 'admin', '2019-05-11 18:00:22', 0, 0, '1', NULL);
INSERT INTO `sys_permission` VALUES ('1d592115213910765570', '3f915b2769fc80648e92d04e84ca059d', '通过ID查询用户拥有的角色', NULL, NULL, 0, NULL, NULL, 2, 'system:user:queryUserRole', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-14 19:20:22', NULL, NULL, 0, 0, '1', 0);
From c88bfcf35ac290bdcdfcd480667e621e274ed79b Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Thu, 12 Dec 2024 19:48:26 +0800
Subject: [PATCH 28/96] =?UTF-8?q?v3.7.2=E5=8F=91=E5=B8=83,=E6=8F=90?=
=?UTF-8?q?=E4=BE=9B=E5=85=8D=E8=B4=B9=E5=A4=A7=E5=B1=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README-EN.md | 2 +-
README.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README-EN.md b/README-EN.md
index 9088c87c1..54523fdd2 100644
--- a/README-EN.md
+++ b/README-EN.md
@@ -196,7 +196,7 @@ Technical Architecture:
- Persistence layer framework: MybatisPlus 3.5.3.2
-- Report tool: JimuReport 1.8.1
+- Report tool: JimuReport 1.9.1
- Security framework: Apache Shiro 1.12.0, Jwt 3.11.0
diff --git a/README.md b/README.md
index 023c08b55..1fcd05c99 100644
--- a/README.md
+++ b/README.md
@@ -85,7 +85,7 @@ JeecgBoot开源版本,底层完全开源可以自主开发,遵循Apache2.0
- 基础框架:Spring Boot 2.7.18
- 微服务框架: Spring Cloud Alibaba 2021.0.1.0
- 持久层框架:MybatisPlus 3.5.3.2
-- 报表工具: JimuReport 1.8.1
+- 报表工具: JimuReport 1.9.1
- 安全框架:Apache Shiro 1.12.0,Jwt 3.11.0
- 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking
- 数据库连接池:阿里巴巴Druid 1.1.22
From 44f70753161894d0e700a682698e256bccab8282 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 16 Dec 2024 15:42:36 +0800
Subject: [PATCH 29/96] =?UTF-8?q?=E8=B4=A6=E6=88=B7=E8=AE=BE=E7=BD=AE->?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=8B=E6=9C=BA=E5=8F=B7=EF=BC=9A=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E9=AA=8C=E8=AF=81=E7=A0=81=E6=8E=A5=E5=8F=A3=20404=20?=
=?UTF-8?q?=E9=94=99=E8=AF=AF=20#7587?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/controller/SysUserController.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
index 242d5a4f2..013f73013 100644
--- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -1844,4 +1844,19 @@ public class SysUserController {
public Result> importAppUser(HttpServletRequest request, HttpServletResponse response)throws IOException {
return sysUserService.importAppUser(request);
}
+
+ /**
+ * 发送短信验证码接口(修改手机号)
+ *
+ * @param jsonObject
+ * @return
+ */
+ @PostMapping(value = "/sendChangePhoneSms")
+ public Result sendChangePhoneSms(@RequestBody JSONObject jsonObject, HttpServletRequest request) {
+ //获取登录用户名
+ String username = JwtUtil.getUserNameByToken(request);
+ String ipAddress = IpUtils.getIpAddr(request);
+ sysUserService.sendChangePhoneSms(jsonObject, username, ipAddress);
+ return Result.ok("发送验证码成功!");
+ }
}
From 5c9c2dbebe344e0d33e5e8d2a7d64f37997607f4 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Tue, 17 Dec 2024 09:43:00 +0800
Subject: [PATCH 30/96] =?UTF-8?q?=E3=80=90issues/7548=E3=80=91=E4=BE=A7?=
=?UTF-8?q?=E8=BE=B9=E6=A0=8F=E5=AF=BC=E8=88=AA=E6=A8=A1=E5=BC=8F=E6=97=B6?=
=?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E4=B8=8B=E9=9D=A2=E8=8F=9C=E5=8D=95?=
=?UTF-8?q?=E6=BB=9A=E5=8A=A8=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jeecgboot-vue3/src/layouts/default/menu/index.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/jeecgboot-vue3/src/layouts/default/menu/index.vue b/jeecgboot-vue3/src/layouts/default/menu/index.vue
index 667c03096..9d7391f5e 100644
--- a/jeecgboot-vue3/src/layouts/default/menu/index.vue
+++ b/jeecgboot-vue3/src/layouts/default/menu/index.vue
@@ -83,7 +83,9 @@
const getWrapperStyle = computed((): CSSProperties => {
return {
- height: `calc(100% - ${unref(getIsShowLogo) ? '48px' : '0px'})`,
+ // update-begin--author:liaozhiyang---date:20241216---for:【issues/7548】侧边栏导航模式时会导致下面菜单滚动显示不全
+ height: `calc(100% - ${unref(getIsShowLogo) ? '60px' : '0px'})`,
+ // update-end--author:liaozhiyang---date:20241216---for:【issues/7548】侧边栏导航模式时会导致下面菜单滚动显示不全
};
});
From 4d058e1dce32ea925e50ef67797e9120cddb92b1 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Tue, 17 Dec 2024 09:43:18 +0800
Subject: [PATCH 31/96] =?UTF-8?q?=E3=80=90issues/7561=E3=80=91=E4=B8=BB?=
=?UTF-8?q?=E9=A2=98=E5=88=87=E6=8D=A2=E4=B8=BA=E9=A1=B6=E9=83=A8=E6=B7=B7?=
=?UTF-8?q?=E5=90=88=E6=A8=A1=E5=BC=8F=E6=97=B6=EF=BC=8C=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E9=A1=B6=E9=83=A8=E5=86=85=E5=AE=B9=E6=98=BE=E7=A4=BA=E4=B8=8D?=
=?UTF-8?q?=E5=87=BA=E6=9D=A5=EF=BC=8C=E8=A2=AB=E9=81=AE=E7=9B=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/layouts/default/header/MultipleHeader.vue | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/jeecgboot-vue3/src/layouts/default/header/MultipleHeader.vue b/jeecgboot-vue3/src/layouts/default/header/MultipleHeader.vue
index 20546a0fc..aac69d4b9 100644
--- a/jeecgboot-vue3/src/layouts/default/header/MultipleHeader.vue
+++ b/jeecgboot-vue3/src/layouts/default/header/MultipleHeader.vue
@@ -21,6 +21,7 @@
import { useDesign } from '/@/hooks/web/useDesign';
import { useLayoutHeight } from '../content/useContentViewHeight';
import { TabsThemeEnum } from '/@/enums/appEnum';
+ import { MenuTypeEnum } from '/@/enums/menuEnum';
// update-begin--author:liaozhiyang---date:20240407---for:【QQYUN-8774】网站header区域加高
const HEADER_HEIGHT = 60;
@@ -41,7 +42,7 @@
const appStore = useAppStore()
const glob = useGlobSetting()
- const { getCalcContentWidth, getSplit } = useMenuSetting();
+ const { getCalcContentWidth, getSplit, getMenuType } = useMenuSetting();
const { getIsMobile } = useAppInject();
const { getFixed, getShowInsetHeaderRef, getShowFullHeaderRef, getHeaderTheme } = useHeaderSetting();
@@ -98,9 +99,11 @@
const getPlaceholderDomStyle = computed((): CSSProperties => {
let height = 0;
- if ((unref(getShowFullHeaderRef) || !unref(getSplit)) && unref(getShowHeader) && !unref(getFullContent)) {
+ // update-begin--author:liaozhiyang---date:20241216---for:【issues/7561】主题切换为顶部混合模式时,页面顶部内容显示不出来,被遮盖
+ if ((unref(getShowFullHeaderRef) || !unref(getSplit)) && unref(getShowHeader) && !unref(getFullContent) || unref(getMenuType) == MenuTypeEnum.MIX) {
height += HEADER_HEIGHT;
}
+ // update-end--author:liaozhiyang---date:20241216---for:【issues/7561】主题切换为顶部混合模式时,页面顶部内容显示不出来,被遮盖
if (unref(getShowTabs) && !unref(getFullContent)) {
height += unref(getTabsThemeHeight);
}
From f7f6d0ff88cc32c7119247d20ef9fe36c0851a18 Mon Sep 17 00:00:00 2001
From: EightMonth
Date: Fri, 20 Dec 2024 17:53:45 +0800
Subject: [PATCH 32/96] =?UTF-8?q?openapi=E5=85=A8=E9=87=8F=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../org/jeecg/config/shiro/ShiroConfig.java | 2 +
.../controller/OpenApiAuthController.java | 112 +++++
.../openapi/controller/OpenApiController.java | 463 ++++++++++++++++++
.../controller/OpenApiIndexController.java | 26 +
.../controller/OpenApiRecordController.java | 102 ++++
.../jeecg/modules/openapi/entity/OpenApi.java | 103 ++++
.../modules/openapi/entity/OpenApiAuth.java | 63 +++
.../modules/openapi/entity/OpenApiHeader.java | 51 ++
.../modules/openapi/entity/OpenApiParam.java | 50 ++
.../openapi/entity/OpenApiPermission.java | 55 +++
.../modules/openapi/entity/OpenApiRecord.java | 52 ++
.../modules/openapi/filter/ApiAuthFilter.java | 198 ++++++++
.../openapi/filter/ApiFilterConfig.java | 25 +
.../openapi/generator/AKSKGenerator.java | 36 ++
.../openapi/generator/PathGenerator.java | 28 ++
.../openapi/mapper/OpenApiAuthMapper.java | 12 +
.../openapi/mapper/OpenApiHeaderMapper.java | 12 +
.../modules/openapi/mapper/OpenApiMapper.java | 9 +
.../openapi/mapper/OpenApiParamMapper.java | 12 +
.../mapper/OpenApiPermissionMapper.java | 12 +
.../openapi/mapper/OpenApiRecordMapper.java | 12 +
.../openapi/service/OpenApiAuthService.java | 11 +
.../openapi/service/OpenApiHeaderService.java | 16 +
.../openapi/service/OpenApiParamService.java | 15 +
.../service/OpenApiPermissionService.java | 13 +
.../openapi/service/OpenApiRecordService.java | 10 +
.../openapi/service/OpenApiService.java | 8 +
.../service/impl/OpenApiAuthServiceImpl.java | 19 +
.../impl/OpenApiHeaderServiceImpl.java | 26 +
.../service/impl/OpenApiParamServiceImpl.java | 27 +
.../impl/OpenApiPermissionServiceImpl.java | 22 +
.../impl/OpenApiRecordServiceImpl.java | 14 +
.../service/impl/OpenApiServiceImpl.java | 16 +
.../src/main/resources/application-dev.yml | 8 +-
34 files changed, 1636 insertions(+), 4 deletions(-)
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiAuthController.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiIndexController.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiRecordController.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApi.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiAuth.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiHeader.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiParam.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiPermission.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiRecord.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/filter/ApiAuthFilter.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/filter/ApiFilterConfig.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/generator/AKSKGenerator.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/generator/PathGenerator.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiAuthMapper.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiHeaderMapper.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiMapper.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiParamMapper.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiPermissionMapper.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiRecordMapper.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiAuthService.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiHeaderService.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiParamService.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiPermissionService.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiRecordService.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiService.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiAuthServiceImpl.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiHeaderServiceImpl.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiParamServiceImpl.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiPermissionServiceImpl.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiRecordServiceImpl.java
create mode 100644 jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiServiceImpl.java
diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
index 3b5e0e5df..77b4faf03 100644
--- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
+++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
@@ -180,6 +180,8 @@ public class ShiroConfig {
// 企业微信证书排除
filterChainDefinitionMap.put("/WW_verify*", "anon");
+ filterChainDefinitionMap.put("/openapi/**", "anon");
+
// 添加自己的过滤器并且取名为jwt
Map filterMap = new HashMap(1);
//如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiAuthController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiAuthController.java
new file mode 100644
index 000000000..66cf6a4e9
--- /dev/null
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiAuthController.java
@@ -0,0 +1,112 @@
+package org.jeecg.modules.openapi.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.openapi.entity.OpenApiAuth;
+import org.jeecg.modules.openapi.generator.AKSKGenerator;
+import org.jeecg.modules.openapi.service.OpenApiAuthService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+
+/**
+ * @date 2024/12/10 9:54
+ */
+@RestController
+@RequestMapping("/openapi/auth")
+public class OpenApiAuthController extends JeecgController {
+
+ /**
+ * 分页列表查询
+ *
+ * @param openApiAuth
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ @GetMapping(value = "/list")
+ public Result> queryPageList(OpenApiAuth openApiAuth, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(openApiAuth, req.getParameterMap());
+ Page page = new Page<>(pageNo, pageSize);
+ IPage pageList = service.page(page, queryWrapper);
+ return Result.ok(pageList);
+ }
+
+ /**
+ * 添加
+ *
+ * @param openApiAuth
+ * @return
+ */
+ @PostMapping(value = "/add")
+ public Result> add(@RequestBody OpenApiAuth openApiAuth) {
+ service.save(openApiAuth);
+ return Result.ok("添加成功!");
+ }
+
+ /**
+ * 编辑
+ *
+ * @param openApiAuth
+ * @return
+ */
+ @PutMapping(value = "/edit")
+ public Result> edit(@RequestBody OpenApiAuth openApiAuth) {
+ service.updateById(openApiAuth);
+ return Result.ok("修改成功!");
+
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @DeleteMapping(value = "/delete")
+ public Result> delete(@RequestParam(name = "id", required = true) String id) {
+ service.removeById(id);
+ return Result.ok("删除成功!");
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @DeleteMapping(value = "/deleteBatch")
+ public Result> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+ this.service.removeByIds(Arrays.asList(ids.split(",")));
+ return Result.ok("批量删除成功!");
+ }
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping(value = "/queryById")
+ public Result> queryById(@RequestParam(name = "id", required = true) String id) {
+ OpenApiAuth openApiAuth = service.getById(id);
+ return Result.ok(openApiAuth);
+ }
+
+ /**
+ * 生成AKSK
+ * @return
+ */
+ @GetMapping("genAKSK")
+ public Result genAKSK() {
+ return Result.ok(AKSKGenerator.genAKSKPair());
+ }
+}
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java
new file mode 100644
index 000000000..099f9bc43
--- /dev/null
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java
@@ -0,0 +1,463 @@
+package org.jeecg.modules.openapi.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.classmate.ResolvedType;
+import com.fasterxml.classmate.TypeBindings;
+import com.fasterxml.classmate.TypeResolver;
+import com.fasterxml.classmate.types.ResolvedObjectType;
+import com.fasterxml.jackson.databind.type.ArrayType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.google.common.collect.Lists;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.openapi.entity.OpenApi;
+import org.jeecg.modules.openapi.entity.OpenApiHeader;
+import org.jeecg.modules.openapi.entity.OpenApiParam;
+import org.jeecg.modules.openapi.generator.PathGenerator;
+import org.jeecg.modules.openapi.service.OpenApiHeaderService;
+import org.jeecg.modules.openapi.service.OpenApiParamService;
+import org.jeecg.modules.openapi.service.OpenApiService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
+import springfox.documentation.schema.*;
+import springfox.documentation.service.*;
+import springfox.documentation.spring.web.DocumentationCache;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+/**
+ * @date 2024/12/10 9:11
+ */
+@RestController
+@RequestMapping("/openapi")
+public class OpenApiController extends JeecgController {
+
+ @Autowired
+ private RestTemplate restTemplate;
+ @Autowired
+ private OpenApiParamService openApiParamService;
+ @Autowired
+ private OpenApiHeaderService openApiHeaderService;
+ @Autowired
+ private DocumentationCache documentationCache;
+ @Autowired
+ private TypeResolver typeResolver;
+
+ /**
+ * 分页列表查询
+ *
+ * @param openApi
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ @GetMapping(value = "/list")
+ public Result> queryPageList(OpenApi openApi, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(openApi, req.getParameterMap());
+ Page page = new Page<>(pageNo, pageSize);
+ IPage pageList = service.page(page, queryWrapper);
+ for (OpenApi api : pageList.getRecords()) {
+ api.setParams(openApiParamService.findByApiId(api.getId()));
+ api.setHeaders(openApiHeaderService.findByApiId(api.getId()));
+ }
+ return Result.ok(pageList);
+ }
+
+ /**
+ * 添加
+ *
+ * @param openApi
+ * @return
+ */
+ @PostMapping(value = "/add")
+ public Result> add(@RequestBody OpenApi openApi) {
+ if (service.save(openApi)) {
+ if (!CollectionUtils.isEmpty(openApi.getHeaders())) {
+ openApiHeaderService.saveBatch(openApi.getHeaders());
+ }
+
+ if (!CollectionUtils.isEmpty(openApi.getParams())) {
+ openApiParamService.saveBatch(openApi.getParams());
+ }
+ }
+
+ return Result.ok("添加成功!");
+ }
+
+ /**
+ * 编辑
+ *
+ * @param openApi
+ * @return
+ */
+ @PutMapping(value = "/edit")
+ public Result> edit(@RequestBody OpenApi openApi) {
+ if (service.updateById(openApi)) {
+ openApiHeaderService.deleteByApiId(openApi.getId());
+ openApiParamService.deleteByApiId(openApi.getId());
+
+ if (!CollectionUtils.isEmpty(openApi.getHeaders())) {
+ openApiHeaderService.saveBatch(openApi.getHeaders());
+ }
+
+ if (!CollectionUtils.isEmpty(openApi.getParams())) {
+ openApiParamService.saveBatch(openApi.getParams());
+ }
+ }
+ return Result.ok("修改成功!");
+
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @DeleteMapping(value = "/delete")
+ public Result> delete(@RequestParam(name = "id", required = true) String id) {
+ service.removeById(id);
+ return Result.ok("删除成功!");
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @DeleteMapping(value = "/deleteBatch")
+ public Result> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+ this.service.removeByIds(Arrays.asList(ids.split(",")));
+ return Result.ok("批量删除成功!");
+ }
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping(value = "/queryById")
+ public Result> queryById(@RequestParam(name = "id", required = true) String id) {
+ OpenApi OpenApi = service.getById(id);
+ return Result.ok(OpenApi);
+ }
+
+ /**
+ * 接口调用
+ * @param path
+ * @return
+ */
+ @RequestMapping(value = "/call/{path}", method = {RequestMethod.GET,RequestMethod.POST})
+ public Result> call(@PathVariable String path, @RequestBody(required = false) String json, HttpServletRequest request) {
+ OpenApi openApi = service.findByPath(path);
+ if (Objects.isNull(openApi)) {
+ Map result = new HashMap<>();
+ result.put("code", 404);
+ result.put("data", null);
+ return Result.error("失败", result);
+ }
+ List headers = openApiHeaderService.findByApiId(openApi.getId());
+
+ String url = openApi.getOriginUrl();
+ String method = openApi.getRequestMethod();
+
+ HttpHeaders httpHeaders = new HttpHeaders();
+ for (OpenApiHeader header : headers) {
+ httpHeaders.put(header.getKey(), Lists.newArrayList(request.getHeader(header.getKey())));
+ }
+
+ HttpEntity httpEntity = new HttpEntity<>(json, httpHeaders);
+
+ return restTemplate.exchange(url, HttpMethod.resolve(method), httpEntity, Result.class, request.getParameterMap()).getBody();
+ }
+
+ @GetMapping("/call/add")
+ public void addSwagger() {
+ Documentation documentation = documentationCache.documentationByGroup("default");
+
+ List apis = new ArrayList<>();
+
+ Set produces = new HashSet<>();
+ produces.add("application/json");
+ Set consumes = new HashSet<>();
+ consumes.add("application/json");
+
+ Set tags = new HashSet<>();
+ Tag tag = new Tag("openapi", "openapi");
+ tags.add("openapi");
+ Set apiTags = new HashSet<>();
+ apiTags.add(tag);
+ documentation.getTags().add(tag);
+
+ Model resultModel = documentation.getApiListings().get("login-controller").get(0).getModels().get("接口返回对象«JSONObject»");
+
+ ModelRef stringModelRef = new ModelRef("string");
+
+ ResolvedType stringResolvedType = typeResolver.resolve(String.class);
+
+
+ HashMap propertyMap = new HashMap<>();
+ ModelProperty modelProperty = new ModelProperty("abc", stringResolvedType, "java.lang.String", 0, true, false, false, false, "姓名", null, null, null, null, null, new ArrayList<>());
+ propertyMap.put("abc", modelProperty);
+ ModelProperty modelProperty1 = new ModelProperty("bcd", stringResolvedType, "java.lang.String", 0, true, false, false, false, "姓名", null, null, null, null, null, new ArrayList<>());
+ propertyMap.put("bcd", modelProperty1);
+
+ ResolvedType mapResolvedType = typeResolver.resolve(HashMap.class);
+
+ List subTypes = new ArrayList<>();
+ subTypes.add(stringModelRef);
+
+ Model bodyModel = new Model("path_body", "body", mapResolvedType, "java.util.HashMap", propertyMap, "请求体结构", "", "", subTypes, null, null);
+ ModelRef bodyRef = new ModelRef("bodyModel", "bodyModel", null, null, "path_body");
+
+ Set responseMessages = documentation.getApiListings().get("login-controller").get(0).getApis().get(2).getOperations().get(0).getResponseMessages();
+
+ List parameters = new ArrayList<>();
+ // header-->请求参数的获取:@RequestHeader()
+ // query-->请求参数的获取:@RequestParam()
+ // path-->请求参数的获取:@PathVariable()
+ // body-->请求参数的获取:@RequestBody()
+ // form(不常用)
+ Parameter body = new Parameter("body",
+ "请求体",
+ "",
+ true,
+ false,
+ true,
+ bodyRef,
+ Optional.of(mapResolvedType),
+ null,
+ "body",
+ null,
+ false,
+ null,
+ null,
+ 2147483647,
+ null,
+ new HashMap<>(),
+ new ArrayList<>());
+
+ parameters.add(body);
+
+ Parameter parameter = new Parameter("name",
+ "姓名",
+ "张三",
+ false,
+ false,
+ true,
+ stringModelRef,
+ Optional.empty(),
+ null,
+ "query",
+ null,
+ false,
+ null,
+ null,
+ 2147483647,
+ null,
+ new HashMap<>(),
+ new ArrayList<>());
+
+ parameters.add(parameter);
+
+ ModelRef modelRef = new ModelRef(resultModel.getType().getTypeName(),
+ resultModel.getQualifiedType(),
+ null,
+ null,
+ false,
+ resultModel.getId());
+
+ Operation operation = new Operation(HttpMethod.resolve("GET"),
+ "模拟第一个openapi接口",
+ "模拟第一个openapi接口",
+ modelRef,
+ "abcUsingGET",
+ 0, tags, produces, consumes,
+ new LinkedHashSet<>(),
+ new ArrayList<>(),
+ parameters,
+ responseMessages,
+ "false",
+ false,
+ new ArrayList<>());
+
+ List operations = new ArrayList<>();
+ operations.add(operation);
+
+ ApiDescription apiDescription = new ApiDescription("openapi",
+ "/jeecg-boot/openapi/call/abc", "openapi", operations, false);
+
+ List apiList = new ArrayList<>();
+ apiList.add(apiDescription);
+
+ Map responseModel = new HashMap<>();
+ responseModel.put("接口返回对象«JSONObject»", resultModel);
+ responseModel.put("bodyModel", bodyModel);
+
+ ApiListing api = new ApiListing("1.0",
+ "/",
+ "/openapi/call/abc",
+ produces, consumes,
+ "", new HashSet<>(), new ArrayList<>(), apiList, responseModel, "abc", 0, apiTags);
+
+ apis.add(api);
+
+ documentation.getApiListings().put("openapi", apis);
+ }
+
+ /**
+ * 生成接口路径
+ * @return
+ */
+ @GetMapping("genPath")
+ public Result genPath() {
+ Result r = new Result();
+ r.setSuccess(true);
+ r.setCode(CommonConstant.SC_OK_200);
+ r.setResult(PathGenerator.genPath());
+ return r;
+ }
+
+ public void resetOpenapiSwagger() {
+ List openapis = service.list();
+ Documentation documentation = documentationCache.documentationByGroup("default");
+ List apis = new ArrayList<>();
+
+ // --------------------- swagger common --------------
+
+ // http参数
+ Set produces = new HashSet<>();
+ produces.add("application/json");
+ Set consumes = new HashSet<>();
+ consumes.add("application/json");
+
+ // 标题栏
+ Set tags = new HashSet<>();
+ Tag tag = new Tag("openapi", "openapi");
+ tags.add("openapi");
+ Set apiTags = new HashSet<>();
+ apiTags.add(tag);
+ documentation.getTags().add(tag);
+ ModelRef stringModelRef = new ModelRef("string", null, false);
+
+ // 响应文档
+ Model resultModel = documentation.getApiListings().get("login-controller").get(0).getModels().get("接口返回对象«JSONObject»");
+ Set responseMessages = documentation.getApiListings().get("login-controller").get(0).getApis().get(2).getOperations().get(0).getResponseMessages();
+ ModelRef modelRef = new ModelRef(resultModel.getType().getTypeName(),
+ resultModel.getQualifiedType(),
+ null,
+ null,
+ false,
+ resultModel.getId());
+ // --------------------- swagger common --------------
+
+ for (OpenApi openapi : openapis) {
+ openapi.setParams(openApiParamService.findByApiId(openapi.getId()));
+ openapi.setHeaders(openApiHeaderService.findByApiId(openapi.getId()));
+
+ // 参数,包含header\query\path\body\form 五类数据
+ List parameters = new ArrayList<>();
+ // header-->请求参数的获取:@RequestHeader()
+ // query-->请求参数的获取:@RequestParam()
+ // path-->请求参数的获取:@PathVariable()
+ // body-->请求参数的获取:@RequestBody()
+ // form(不常用)
+ for (OpenApiHeader openApiHeader : openapi.getHeaders()) {
+ Parameter parameter = new Parameter(openApiHeader.getKey(),
+ openApiHeader.getNote(),
+ openApiHeader.getDefaultValue(),
+ openApiHeader.getIsBlank() == 1,
+ false,
+ true,
+ stringModelRef,
+ Optional.empty(),
+ null,
+ "header",
+ null,
+ false,
+ null,
+ null,
+ 2147483647,
+ null,
+ new HashMap<>(),
+ new ArrayList<>());
+ parameters.add(parameter);
+ }
+
+ for (OpenApiParam openApiParam : openapi.getParams()) {
+ Parameter parameter = new Parameter(openApiParam.getKey(),
+ openApiParam.getNote(),
+ openApiParam.getDefaultValue(),
+ openApiParam.getIsBlank() == 1,
+ false,
+ true,
+ stringModelRef,
+ Optional.empty(),
+ null,
+ "query",
+ null,
+ false,
+ null,
+ null,
+ 2147483647,
+ null,
+ new HashMap<>(),
+ new ArrayList<>());
+
+ parameters.add(parameter);
+ }
+
+ Operation operation = new Operation(HttpMethod.resolve("GET"),
+ "模拟第一个openapi接口",
+ "模拟第一个openapi接口",
+ modelRef,
+ "abcUsingGET",
+ 0, tags, produces, consumes,
+ new LinkedHashSet<>(),
+ new ArrayList<>(),
+ parameters,
+ responseMessages,
+ "false",
+ false,
+ new ArrayList<>());
+
+ List operations = new ArrayList<>();
+ operations.add(operation);
+
+ ApiDescription apiDescription = new ApiDescription("openapi",
+ "/jeecg-boot/openapi/call/abc", "openapi", operations, false);
+
+ List apiList = new ArrayList<>();
+ apiList.add(apiDescription);
+
+ Map responseModel = new HashMap<>();
+ responseModel.put("接口返回对象«JSONObject»", resultModel);
+
+ ApiListing api = new ApiListing("1.0",
+ "/",
+ "/openapi/call/abc",
+ produces, consumes,
+ "", new HashSet<>(), new ArrayList<>(), apiList, responseModel, "abc", 0, apiTags);
+
+ apis.add(api);
+ }
+
+ documentation.getApiListings().put("openapi", apis);
+ }
+}
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiIndexController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiIndexController.java
new file mode 100644
index 000000000..36fcba8ab
--- /dev/null
+++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiIndexController.java
@@ -0,0 +1,26 @@
+package org.jeecg.modules.openapi.controller;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.config.shiro.IgnoreAuth;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @date 2024/12/20 14:04
+ */
+@RestController
+@RequestMapping("/openapi/demo")
+public class OpenApiIndexController {
+
+ @GetMapping("index")
+ @IgnoreAuth
+ public Result
From 6be0f94ddc17d699d8593e6f1188bd398af42ec1 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Sun, 12 Jan 2025 17:55:39 +0800
Subject: [PATCH 45/96] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=B4=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/README.md b/README.md
index f211a0e9b..2cb10615e 100644
--- a/README.md
+++ b/README.md
@@ -42,16 +42,6 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中,
| `jeecg-uniapp` | [配套APP框架](https://github.com/jeecgboot/jeecg-uniapp) 适配多个终端,支持APP、小程序、H5 |
-开源协议说明
------------------------------------
-JeecgBoot开源版本,底层完全开源可以自主开发,遵循Apache2.0协议,详细见 https://github.com/jeecgboot/JeecgBoot#Apache-2.0-1-ov-file
-
-开源协议中文释意如下:
-- 1.JeecgBoot开源版本无任何限制,在遵循本开源协议条款下,允许商用使用,不会造成侵权行为。
-- 2.允许基于本平台软件开展业务系统开发。
-- 3.在任何情况下,您不得使用本软件开发可能被认为与本软件竞争的软件。
-- 4.针对企业用户我们也提供“企业级版本”,详细见 https://jeecg.com/vip
-
技术文档
-----------------------------------
From 266f49e72f66f2697b124669a380d0d9a1cbb390 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 13 Jan 2025 20:20:59 +0800
Subject: [PATCH 46/96] =?UTF-8?q?=E3=80=90issues/7588=E3=80=91=E9=80=89?=
=?UTF-8?q?=E6=8B=A9=E5=90=8E=E8=87=AA=E5=8A=A8=E5=88=B7=E6=96=B0=E8=A1=A8?=
=?UTF-8?q?=E6=A0=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jeecgboot-vue3/src/components/Table/src/BasicTable.vue | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/jeecgboot-vue3/src/components/Table/src/BasicTable.vue b/jeecgboot-vue3/src/components/Table/src/BasicTable.vue
index 33b1ddfe3..12380db4c 100644
--- a/jeecgboot-vue3/src/components/Table/src/BasicTable.vue
+++ b/jeecgboot-vue3/src/components/Table/src/BasicTable.vue
@@ -406,7 +406,9 @@
getProps.value.defaultExpandAllRows && expandAll();
})
// update-end--author:sunjianlei---date:20231226---for:【issues/945】BasicTable组件设置默认展开不生效
- expose(tableAction);
+ // update-begin--author:liaozhiyang---date:20241225---for:【issues/7588】选择后自动刷新表格
+ expose({ ...tableAction, handleSearchInfoChange });
+ // update-end--author:liaozhiyang---date:20241225---for:【issues/7588】选择后自动刷新表格
emit('register', tableAction, formActions);
From a2a3ff67091968eb03e08decb7e1ceb168e59a5b Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 13 Jan 2025 20:22:13 +0800
Subject: [PATCH 47/96] =?UTF-8?q?=E3=80=90issues/7631=E3=80=91JVxeTable?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=9A=84getValues=E5=9B=9E=E8=B0=83=E5=87=BD?=
=?UTF-8?q?=E6=95=B0=E5=8F=82=E6=95=B0=E4=BF=AE=E6=AD=A3=20---=20=E3=80=90?=
=?UTF-8?q?issues/7624=E3=80=91JVxeTable=20=E5=8D=95=E9=80=89=E5=88=A0?=
=?UTF-8?q?=E9=99=A4=E4=B8=8D=E7=94=9F=E6=95=88=20---?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../jeecg/JVxeTable/src/hooks/useMethods.ts | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/jeecgboot-vue3/src/components/jeecg/JVxeTable/src/hooks/useMethods.ts b/jeecgboot-vue3/src/components/jeecg/JVxeTable/src/hooks/useMethods.ts
index 62bd90616..279296bda 100644
--- a/jeecgboot-vue3/src/components/jeecg/JVxeTable/src/hooks/useMethods.ts
+++ b/jeecgboot-vue3/src/components/jeecg/JVxeTable/src/hooks/useMethods.ts
@@ -455,7 +455,9 @@ export function useMethods(props: JVxeTableProps, { emit }, data: JVxeDataProps,
/** 获取表格表单里的值 */
function getValues(callback, rowIds) {
let tableData = getTableData({ rowIds: rowIds });
- callback('', tableData);
+ // update-begin--author:liaozhiyang---date:20241227---for:【issues/7631】JVxeTable组件的getValues回调函数参数修正
+ callback(tableData, tableData);
+ // update-end--author:liaozhiyang---date:20241227---for:【issues/7631】JVxeTable组件的getValues回调函数参数修正
}
type getTableDataOptions = {
@@ -638,7 +640,7 @@ export function useMethods(props: JVxeTableProps, { emit }, data: JVxeDataProps,
async function clearSelection() {
const xTable = getXTable();
let event = { $table: xTable, target: instanceRef.value };
- if (props.rowSelectionType === JVxeTypes.rowRadio) {
+ if (['radio', JVxeTypes.rowRadio].includes(props.rowSelectionType ?? '')) {
await xTable.clearRadioRow();
handleVxeRadioChange(event);
} else {
@@ -653,7 +655,7 @@ export function useMethods(props: JVxeTableProps, { emit }, data: JVxeDataProps,
*/
function getSelectionData(isFull?: boolean) {
const xTable = getXTable();
- if (props.rowSelectionType === JVxeTypes.rowRadio) {
+ if (['radio', JVxeTypes.rowRadio].includes(props.rowSelectionType ?? '')) {
let row = xTable.getRadioRecord(isFull);
if (isNull(row)) {
return [];
@@ -740,7 +742,7 @@ export function useMethods(props: JVxeTableProps, { emit }, data: JVxeDataProps,
async function removeSelection() {
let xTable = getXTable();
let res;
- if (props.rowSelectionType === JVxeTypes.rowRadio) {
+ if (['radio', JVxeTypes.rowRadio].includes(props.rowSelectionType ?? '')) {
res = await xTable.removeRadioRow();
} else {
res = await xTable.removeCheckboxRow();
@@ -857,7 +859,7 @@ export function useMethods(props: JVxeTableProps, { emit }, data: JVxeDataProps,
function getSelectedData(isFull?: boolean) {
const xTable = getXTable();
let rows:any[] = []
- if (props.rowSelectionType === JVxeTypes.rowRadio) {
+ if (['radio', JVxeTypes.rowRadio].includes(props.rowSelectionType ?? '')) {
let row = xTable.getRadioRecord(isFull);
if (isNull(row)) {
return [];
From a00e4684b5071dc071341b615aaa3229536bf920 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 13 Jan 2025 20:23:14 +0800
Subject: [PATCH 48/96] =?UTF-8?q?=E3=80=90issues/7661=E3=80=91vxetable?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E7=BB=84=E4=BB=B6maxTagCount=E9=80=9A?=
=?UTF-8?q?=E8=BF=87=E4=B8=9A=E5=8A=A1=E4=BC=A0=E9=80=92?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../JVxeCustom/src/components/JVxeUserSelectCell.vue | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/jeecgboot-vue3/src/components/JVxeCustom/src/components/JVxeUserSelectCell.vue b/jeecgboot-vue3/src/components/JVxeCustom/src/components/JVxeUserSelectCell.vue
index 5da22f047..6891370d1 100644
--- a/jeecgboot-vue3/src/components/JVxeCustom/src/components/JVxeUserSelectCell.vue
+++ b/jeecgboot-vue3/src/components/JVxeCustom/src/components/JVxeUserSelectCell.vue
@@ -18,7 +18,7 @@
components: { JSelectUser },
props: useJVxeCompProps(),
setup(props: JVxeComponent.Props) {
- const { innerValue, cellProps, handleChangeCommon, useCellDesign } = useJVxeComponent(props);
+ const { innerValue, cellProps, handleChangeCommon, useCellDesign, originColumn } = useJVxeComponent(props);
const { prefixCls } = useCellDesign('user-select');
const selectedValue = computed(() => {
@@ -49,7 +49,9 @@
// 不允许搜索
showSearch: false,
// 设置最大的显示个数
- maxTagCount: 1,
+ // update-begin--author:liaozhiyang---date:20250106---for:【issues/7661】vxetable用户组件maxTagCount通过业务传递
+ maxTagCount: originColumn.value.maxTagCount ?? 1,
+ // update-end--author:liaozhiyang---date:20250106---for:【issues/7661】vxetable用户组件maxTagCount通过业务传递
// 显示提示重写,去掉省略号
maxTagPlaceholder: ({ length }) => '+' + length,
// -update-begin--author:liaozhiyang---date:20240617---for:【TV360X-1002】详情页面行编辑用户组件和部门组件显示方式优化
From 17dc1916aa1eaaf91d02eec7067fcc21f3cba308 Mon Sep 17 00:00:00 2001
From: JEECG <445654970@qq.com>
Date: Mon, 13 Jan 2025 20:23:56 +0800
Subject: [PATCH 49/96] =?UTF-8?q?=E3=80=90issues/7664=E3=80=91JVxeTable?=
=?UTF-8?q?=E7=9A=84textarea=E7=BB=84=E4=BB=B6@blur=E4=BC=9A=E9=87=8D?=
=?UTF-8?q?=E5=A4=8D=E5=8F=91=E7=94=9F=20---?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/Form/src/jeecg/components/JInputPop.vue | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JInputPop.vue b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JInputPop.vue
index e0a44b7fa..96bf878d5 100644
--- a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JInputPop.vue
+++ b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JInputPop.vue
@@ -13,9 +13,9 @@
-
+
-
+
@@ -44,7 +44,7 @@
popContainer: propTypes.oneOfType([propTypes.string, propTypes.func]).def(''),
});
const attrs = useAttrs();
- const emit = defineEmits(['change', 'update:value']);
+ const emit = defineEmits(['change', 'update:value', 'blur']);
const visible = ref(false);
const innerValue = ref('');
@@ -92,6 +92,10 @@
emit('change', value);
emit('update:value', value);
}
+
+ const onInputBlur = (event) => {
+ emit('blur', event);
+ }