diff --git a/README.md b/README.md
index 1f99de3..785a03c 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@
-
+
@@ -85,14 +85,11 @@
```shell script
本地命令行启动:
smartchart
- 如果你需要远程访问,服务端启动方式:
+ 如果你是服务器部署,远程访问,服务端启动方式:
smartchart runserver 0.0.0.0:8000 --insecure
```
-**访问首页http://127.0.0.1:8000 后点击首页右上方的云图标初始化数据**
**管理员帐号密码: admin/admin, 请及时更改密码**
-**开发前建意新建一个非超级管理员帐号(重要),避免改到内置的数据集和图形**
-
**开发前请 观看视屏说明!!! 重要!! 重要!!**
- [Smartchart数据库与数据集SQL](https://www.ixigua.com/6910413586208653837?id=6902584882958959116 "SQL")
- [Smartchart页面快速布局](https://www.ixigua.com/6910413586208653837?id=6907784122065191438 "布局")
@@ -196,7 +193,7 @@ pip install smartchart
-------------------------------------------------------------------------------
### 开发指引与声明:
-**此项目为前端代码开源可商用(需保留作者信息)**
+**此项目为前端代码开源(需保留作者信息)**
```shell script
对应的项目目录说明:
@@ -225,6 +222,7 @@ v3.9.8.17 支持最新的Echarts5.0, 优化加载速度
v3.9.8.20 用户自定义图形管理功能升级
v3.9.8.23 Echarts升级5.0.1, 支持一个数据集对应多查询, 资源本地化
v3.9.9.0 print函数优化,新增数据透视函数,个人静态资源路径显示, db2支持
+v3.9.9.1 开发界面美化
```
-------------------------------------------------------------------------------
diff --git a/static/js/fun.js b/static/js/fun.js
index 810e0c1..c00d32f 100644
--- a/static/js/fun.js
+++ b/static/js/fun.js
@@ -1 +1 @@
-eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([4-9e-hln-rt-xzA-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5 1j(f,x){4 i=f.8;1k(i--){7(f[i]===x){6 E}}6 T}5 ds_transform(e){4 t=[];g(4 i=0;i0){X[9[i][0]]=Y}F{X[\'0\']=Y}}6 X}5 ds_createMap_all(9){4 e=[];4 Z={};g(4 i=1;i<9.8;i++){Z={};g(4 j=0;j<9[i].8;j++){Z[9[0][j]]=9[i][j]}e.h(Z)}6 e}5 ds_fontSize(1m){4 docEl=U.1n;4 V=window.innerWidth||U.1n.V||U.W.V;7(!V)6;4 1o=100*(V/1920);6 1m*1o}5 addWaterMarker(10){4 z=U.createElement(\'canvas\');4 W=U.W;W.appendChild(z);z.1p=400;z.1q=200;z.J.display=\'none\';4 G=z.getContext(\'2d\');G.rotate(-20*1r.PI/180);G.font="16px Microsoft JhengHei";G.fillStyle="rgba(17, 17, 17, 0.50)";G.textAlign=\'left\';G.textBaseline=\'Middle\';G.fillText(10,z.1p/3,z.1q/2);W.J.backgroundImage="url("+z.toDataURL("image/png")+")"}5 ds_getUpdown(H,l=0){4 11="1s";4 12="1t";7(l>0){11="1t";12="1s"}7(H>0){6\'\'+H+\'\'}F{6\'\'+H+\'\'}}5 ds_toThousands(l){l=(l||0).toString(),o=\'\';4 v=l<0?"-":"";4 9=(1r.abs(l)+"").19(\'\\.\');l=9[0];1k(l.8>3){o=\',\'+l.u(-3)+o;l=l.u(0,l.8-3)}7(l){o=l+o}7(9.8===1){6 v+o}6 v+o+\'.\'+9[1]}5 ds_distinct(a,b=[]){4 f=a.r(b);4 o=[];4 x={};g(4 i=0;i-1){w.S({A:"1g",q:q${p},n:n${p}})}});`;eval(1K)}',[],110,'||||let|function|return|if|length|data|||||dataset|arr|for|push||||num||dataIndex|result|seq|seriesIndex|concat||seted|slice|flag|myChart|obj||can|type|span|withhead|params|true|else|cans|param|val2|style|c1|c2|tmp|blank|hh|mm|ss|currentIndex|dispatchAction|false|document|clientWidth|body|map|t1|tmpmap|str|colorUp|colorDown|color|glyphicon|val|sep||head_add|split|start_row|obj1|obj2|ds_leftjoin|forEach|downplay|highlight|acttype|componentIndex|lst_contains|while|remove_list|res|documentElement|fontSize|width|height|Math|green|red|class|arrow|getUndefined|defaultValue|qty|name|filter_param|Mytime|this|datetime|const|dataLen|interval|showtip|win|newId|actionstr|var'.split('|'),0,{}))
\ No newline at end of file
+eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([4-9e-hln-rt-xzA-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5 1k(f,x){4 i=f.8;1l(i--){7(f[i]===x){6 B}}6 J}5 ds_transform(e){4 t=[];g(4 i=0;i0){X[9[i][0]]=Y}F{X[\'0\']=Y}}6 X}5 ds_createMap_all(9){4 e=[];4 Z={};g(4 i=1;i<9.8;i++){Z={};g(4 j=0;j<9[i].8;j++){Z[9[0][j]]=9[i][j]}e.h(Z)}6 e}5 ds_fontSize(1n){4 docEl=U.1o;4 V=window.innerWidth||U.1o.V||U.W.V;7(!V)6;4 1p=100*(V/1920);6 1n*1p}5 addWaterMarker(10){4 z=U.createElement(\'canvas\');4 W=U.W;W.appendChild(z);z.1q=400;z.1r=200;z.K.display=\'none\';4 G=z.getContext(\'2d\');G.rotate(-20*1s.PI/180);G.font="16px Microsoft JhengHei";G.fillStyle="rgba(17, 17, 17, 0.50)";G.textAlign=\'left\';G.textBaseline=\'Middle\';G.fillText(10,z.1q/3,z.1r/2);W.K.backgroundImage="url("+z.toDataURL("image/png")+")"}5 ds_getUpdown(H,l=0){4 11="1t";4 12="1u";7(l>0){11="1u";12="1t"}7(H>0){6\'\'+H+\'\'}F{6\'\'+H+\'\'}}5 ds_toThousands(l){l=(l||0).toString(),o=\'\';4 v=l<0?"-":"";4 9=(1s.abs(l)+"").1a(\'\\.\');l=9[0];1l(l.8>3){o=\',\'+l.u(-3)+o;l=l.u(0,l.8-3)}7(l){o=l+o}7(9.8===1){6 v+o}6 v+o+\'.\'+9[1]}5 ds_distinct(a,b=[]){4 f=a.r(b);4 o=[];4 x={};g(4 i=0;i-1){w.T({A:"1h",q:q${p},n:n${p}})}});`;eval(1K)}',[],110,'||||let|function|return|if|length|data|||||dataset|arr|for|push||||num||dataIndex|result|seq|seriesIndex|concat||seted|slice|flag|myChart|obj||can|type|true|span|withhead|params|else|cans|param|val2|false|style|c1|c2|tmp|blank|hh|mm|ss|currentIndex|dispatchAction|document|clientWidth|body|map|t1|tmpmap|str|colorUp|colorDown|color|glyphicon|val|const||sep|head_add|split|start_row|obj1|obj2|ds_leftjoin|forEach|downplay|highlight|acttype|componentIndex|lst_contains|while|remove_list|res|documentElement|fontSize|width|height|Math|green|red|class|arrow|getUndefined|defaultValue|qty|name|filter_param|Mytime|this|datetime|dataLen|interval|showtip|win|newId|actionstr|var'.split('|'),0,{}))
\ No newline at end of file
diff --git a/templates/echart/base.html b/templates/echart/base.html
index 9d18f65..44156b2 100644
--- a/templates/echart/base.html
+++ b/templates/echart/base.html
@@ -1,10 +1,11 @@
smartchart:{{title}}{% block head %}{% endblock %}{{contentrefresh|safe}}