Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
f8277bc8
提交
f8277bc8
编写于
2年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ShineKOT 发布系统代码 [后台服务,演示应用]
上级
7a467949
变更
21
展开全部
显示空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
658 行增加
和
224 行删除
+658
-224
app-register.ts
app_Web/src/app-register.ts
+2
-0
app-preset-button.vue
...ement/interactive/app-preset-button/app-preset-button.vue
+67
-39
app-login-input.less
...layout-element/login/app-login-input/app-login-input.less
+15
-0
app-login-input.vue
.../layout-element/login/app-login-input/app-login-input.vue
+88
-11
app-field-image-dynamic.less
...edia/app-field-image-dynamic/app-field-image-dynamic.less
+0
-0
app-field-image-dynamic.vue
...media/app-field-image-dynamic/app-field-image-dynamic.vue
+91
-0
app-rawitem-carousel.vue
...ement/media/app-rawitem-carousel/app-rawitem-carousel.vue
+35
-4
panel-button.ts
app_Web/src/model/panel-detail/panel-button.ts
+19
-2
panel-field.ts
app_Web/src/model/panel-detail/panel-field.ts
+11
-0
ibizcustomer-media-test-edit-view-base.vue
...test-edit-view/ibizcustomer-media-test-edit-view-base.vue
+39
-15
ibizorder-test-custom-layout-panel-grid-exp-view-base.vue
...ibizorder-test-custom-layout-panel-grid-exp-view-base.vue
+12
-2
ibizorder-usr2-grid-view-base.vue
...bizorder-usr2-grid-view/ibizorder-usr2-grid-view-base.vue
+11
-1
index-base.vue
app_Web/src/pages/sample/index/index-base.vue
+17
-7
app-index-view-base.vue
.../src/pages/ungroup/app-index-view/app-index-view-base.vue
+28
-18
app-login-view-base.vue
.../src/pages/ungroup/app-login-view/app-login-view-base.vue
+28
-18
index.ts
app_Web/src/utils/index.ts
+1
-0
imgurl-base64.ts
app_Web/src/utils/util/imgurl-base64.ts
+126
-0
default-searchform-base.vue
...s/ibizbook/default-searchform/default-searchform-base.vue
+2
-2
default-drbar-base.vue
...rc/widgets/ibizorder/default-drbar/default-drbar-base.vue
+65
-87
config.xml
config.xml
+0
-17
Dockerfile
demo-boot/src/main/docker/Dockerfile
+1
-1
未找到文件。
app_Web/src/app-register.ts
浏览文件 @
f8277bc8
...
@@ -137,6 +137,7 @@ import AppIndexOrgSelect from './components/layout-element/index/app-index-org-s
...
@@ -137,6 +137,7 @@ import AppIndexOrgSelect from './components/layout-element/index/app-index-org-s
import
AppIndexUserInfo
from
'./components/layout-element/index/app-index-user-info/app-index-user-info.vue'
;
import
AppIndexUserInfo
from
'./components/layout-element/index/app-index-user-info/app-index-user-info.vue'
;
import
AppCtrlPos
from
'./components/layout-element/control/app-ctrl-pos/app-ctrl-pos.vue'
;
import
AppCtrlPos
from
'./components/layout-element/control/app-ctrl-pos/app-ctrl-pos.vue'
;
import
AppPresetButton
from
'./components/layout-element/interactive/app-preset-button/app-preset-button.vue'
;
import
AppPresetButton
from
'./components/layout-element/interactive/app-preset-button/app-preset-button.vue'
;
import
AppFieldImageDynamic
from
'./components/layout-element/media/app-field-image-dynamic/app-field-image-dynamic.vue'
;
// 全局挂载UI实体服务注册中心
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
// 全局挂载实体权限服务注册中心
// 全局挂载实体权限服务注册中心
...
@@ -288,5 +289,6 @@ export const AppComponents = {
...
@@ -288,5 +289,6 @@ export const AppComponents = {
v
.
component
(
'app-index-user-info'
,
AppIndexUserInfo
);
v
.
component
(
'app-index-user-info'
,
AppIndexUserInfo
);
v
.
component
(
'app-ctrl-pos'
,
AppCtrlPos
);
v
.
component
(
'app-ctrl-pos'
,
AppCtrlPos
);
v
.
component
(
'app-preset-button'
,
AppPresetButton
);
v
.
component
(
'app-preset-button'
,
AppPresetButton
);
v
.
component
(
'app-field-image-dynamic'
,
AppFieldImageDynamic
);
},
},
};
};
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/components/layout-element/interactive/app-preset-button/app-preset-button.vue
浏览文件 @
f8277bc8
<
template
>
<
template
>
<i-button
<i-button
:class=
"className"
:class=
"curClassName"
:style=
"curStyle"
:type=
"buttonType"
:type=
"buttonType"
:disabled=
"disabled"
:disabled=
"disabled"
:title=
"tooltip"
:title=
"tooltip"
...
@@ -45,67 +46,91 @@ export default class AppPresetButton extends Vue {
...
@@ -45,67 +46,91 @@ export default class AppPresetButton extends Vue {
@
Prop
()
public
caption
?:
string
;
@
Prop
()
public
caption
?:
string
;
/**
/**
* 显示标题
* 加载状态
*
* @memberof AppPresetButton
*/
@
Prop
({
default
:
true
})
public
showCaption
!
:
boolean
;
/**
* 禁用状态
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
({
default
:
false
})
public
disabled
?:
boolean
;
@
Prop
({
default
:
false
})
public
loading
?:
boolean
;
/**
/**
*
加载状态
*
布局模型详情
*
*
* @type {*}
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
(
{
default
:
false
})
public
loading
?:
boolean
;
@
Prop
(
)
public
layoutModelDetails
:
any
;
/**
/**
*
传入数据
*
显示标题
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
()
public
data
:
any
;
get
showCaption
()
{
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
return
layoutModel
.
isShowCaption
;
}
/**
/**
*
图标
*
类名
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
()
public
cssClass
?:
string
;
get
curClassName
(){
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
return
`app-preset-button
${
this
.
name
}
${
layoutModel
.
sysCss
}
`
;
}
/**
/**
* 图片路径
* 图片路径
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
()
public
imagePath
?:
string
;
get
imagePath
()
{
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
let
imagePath
=
''
;
if
(
layoutModel
.
sysImage
)
{
imagePath
=
layoutModel
.
sysImage
.
imagePath
;
}
else
if
(
layoutModel
.
uiAction
)
{
imagePath
=
layoutModel
.
uiAction
.
imagePath
;
}
return
imagePath
;
}
/**
/**
*
按钮绘制模式
*
图标
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
({
default
:
'BUTTON'
})
public
renderMode
!
:
'BUTTON'
|
'LINK'
;
get
cssClass
()
{
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
let
cssClass
=
''
;
if
(
layoutModel
.
sysImage
)
{
cssClass
=
layoutModel
.
sysImage
.
iconcls
;
}
else
if
(
layoutModel
.
uiAction
)
{
cssClass
=
layoutModel
.
uiAction
.
iconcls
;
}
return
cssClass
;
}
/**
/**
*
按钮
样式
*
当前容器
样式
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
({
default
:
'DEFAULT'
})
public
buttonStyle
!
:
'DEFAULT'
|
'INVERSE'
|
'PRIMARY'
|
'INFO'
|
'SUCCESS'
|
'WARNING'
|
'DANGER'
|
'STYLE2'
|
'STYLE3'
|
'STYLE4'
;
get
curStyle
(){
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
return
layoutModel
.
getElementStyle
();
}
/**
/**
*
按钮图标方向
*
禁用
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
@
Prop
({
default
:
'LEFT'
})
public
iconAlign
!
:
'LEFT'
|
'TOP'
|
'RIGHT'
|
'BOTTOM'
;
get
disabled
(){
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
return
layoutModel
.
disabled
;
}
/**
/**
* 按钮类型
* 按钮类型
...
@@ -113,42 +138,45 @@ export default class AppPresetButton extends Vue {
...
@@ -113,42 +138,45 @@ export default class AppPresetButton extends Vue {
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
get
buttonType
()
{
get
buttonType
()
{
if
(
Object
.
is
(
this
.
renderMode
,
'LINK'
))
{
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
if
(
Object
.
is
(
layoutModel
.
renderMode
,
'LINK'
))
{
return
'text'
;
return
'text'
;
}
else
{
}
else
{
if
(
if
(
Object
.
is
(
this
.
buttonStyle
,
'DEFAULT'
)
||
Object
.
is
(
layoutModel
.
buttonStyle
,
'DEFAULT'
)
||
Object
.
is
(
this
.
buttonStyle
,
'STYLE2'
)
||
Object
.
is
(
layoutModel
.
buttonStyle
,
'STYLE2'
)
||
Object
.
is
(
this
.
buttonStyle
,
'STYLE3'
)
||
Object
.
is
(
layoutModel
.
buttonStyle
,
'STYLE3'
)
||
Object
.
is
(
this
.
buttonStyle
,
'STYLE4'
)
Object
.
is
(
layoutModel
.
buttonStyle
,
'STYLE4'
)
)
{
)
{
return
'default'
;
return
'default'
;
}
else
if
(
Object
.
is
(
this
.
buttonStyle
,
'DANGER'
))
{
}
else
if
(
Object
.
is
(
layoutModel
.
buttonStyle
,
'DANGER'
))
{
return
'error'
;
return
'error'
;
}
else
if
(
Object
.
is
(
this
.
buttonStyle
,
'INVERSE'
))
{
}
else
if
(
Object
.
is
(
layoutModel
.
buttonStyle
,
'INVERSE'
))
{
return
'primary'
;
return
'primary'
;
}
else
{
}
else
{
return
this
.
buttonStyle
.
toLowerCase
();
return
layoutModel
.
buttonStyle
.
toLowerCase
();
}
}
}
}
}
}
/**
/**
*
按钮幽灵属性,使按钮背景透明
*
图标方向
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
get
buttonGhost
()
{
get
iconAlign
()
{
return
Object
.
is
(
this
.
buttonStyle
,
'INVERSE'
);
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
return
layoutModel
.
iconAlign
||
'LEFT'
;
}
}
/**
/**
*
类名
*
按钮幽灵属性,使按钮背景透明
*
*
* @memberof AppPresetButton
* @memberof AppPresetButton
*/
*/
get
className
():
string
{
get
buttonGhost
()
{
return
`app-preset-button
${
this
.
name
}
`
;
const
layoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
return
Object
.
is
(
layoutModel
.
buttonStyle
,
'INVERSE'
);
}
}
/**
/**
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/components/layout-element/login/app-login-input/app-login-input.less
0 → 100644
浏览文件 @
f8277bc8
.app-login-input {
.ivu-input-wrapper {
width: 100%;
height: 100%;
}
.ivu-input {
height: 100%;
width: 100%;
}
.ivu-input-prefix {
display: flex;
align-items: center;
justify-content: center;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/components/layout-element/login/app-login-input/app-login-input.vue
浏览文件 @
f8277bc8
<
template
>
<
template
>
<div
class=
"app-user-input
"
>
<div
:class=
"[model.sysCss, 'app-login-input']"
:style=
"containerStyle
"
>
<i-input
<i-input
size=
'large'
size=
'large'
:prefix=
'icon'
:prefix=
'defaultIcon'
v-model=
"value"
v-model=
"curValue"
:placeholder=
"placeholder"
>
:disabled=
"disabled"
:readonly=
"readonly"
:placeholder=
"model.caption"
>
</i-input>
</i-input>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Watch
,
Prop
,
Model
}
from
'vue-property-decorator'
;
import
{
PanelFieldModel
}
from
'@/model/panel-detail'
;
import
{
Vue
,
Component
,
Prop
}
from
'vue-property-decorator'
;
@
Component
({
@
Component
({
})
})
export
default
class
App
UserId
extends
Vue
{
export
default
class
App
LoginInput
extends
Vue
{
/**
/**
*
登录名称
*
模型
*
*
* @type {string}
* @type {string}
* @memberof App
UserId
* @memberof App
LoginInput
*/
*/
@
Prop
(
{
default
:
''
})
public
value
!
:
string
;
@
Prop
(
)
public
model
!
:
PanelFieldModel
;
@
Prop
()
public
icon
?:
string
;
/**
* 值
*
* @type {string}
* @memberof AppLoginInput
*/
@
Prop
()
public
value
!
:
string
;
/**
* 名称
*
* @type {string}
* @memberof AppLoginInput
*/
@
Prop
()
public
name
!
:
string
;
/**
* 默认图标
*
* @type {string}
* @memberof AppLoginInput
*/
@
Prop
()
public
defaultIcon
?:
string
;
/**
* 容器样式
*
* @type {any}
* @memberof AppLoginInput
*/
public
containerStyle
:
any
=
null
;
/**
* 禁用模式
*
* @type {any}
* @memberof AppLoginInput
*/
public
disabled
:
boolean
=
false
;
/**
* 只读模式
*
* @type {any}
* @memberof AppLoginInput
*/
public
readonly
:
boolean
=
false
;
/**
* 当前值
*
* @type {any}
* @memberof AppLoginInput
*/
get
curValue
()
{
return
this
.
value
;
}
/**
* 值变化
*
* @memberof AppPresetTextInput
*/
set
curValue
(
val
:
any
)
{
this
.
$emit
(
'valueChange'
,
{
name
:
this
.
name
,
value
:
val
});
}
@
Prop
()
public
placeholder
?:
string
;
public
mounted
()
{
if
(
this
.
model
)
{
this
.
containerStyle
=
this
.
model
.
getElementStyle
();
this
.
disabled
=
Object
.
is
(
this
.
model
.
fieldState
,
'1'
);
this
.
readonly
=
Object
.
is
(
this
.
model
.
fieldState
,
'2'
);
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"less"
>
@import "./app-login-input.less";
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/components/layout-element/media/app-field-image-dynamic/app-field-image-dynamic.less
0 → 100644
浏览文件 @
f8277bc8
This diff is collapsed.
Click to expand it.
app_Web/src/components/layout-element/media/app-field-image-dynamic/app-field-image-dynamic.vue
0 → 100644
浏览文件 @
f8277bc8
<
template
>
<div
:class=
"
{'app-field-image-dynamic':true,[cssClass]:cssClass?true:false}">
<img
:style=
"cssStyle"
:src=
"imgUrl"
/>
</div>
</
template
>
<
script
lang =
'ts'
>
import
{
Vue
,
Component
,
Prop
,
Watch
,
Provide
}
from
'vue-property-decorator'
;
import
{
ImgurlBase64
}
from
'@/utils'
;
import
{
Environment
}
from
"@/environments/environment"
;
@
Component
({})
export
default
class
AppFieldImageDynamic
extends
Vue
{
/**
* 输入值
*
* @type {string}
* @memberof AppRawItemImage
*/
@
Prop
()
public
value
:
any
;
/**
* 样式
*
* @type {string}
* @memberof AppRawItemImage
*/
@
Prop
()
public
cssStyle
?:
string
;
/**
* 样式表类名
*
* @type {string}
* @memberof AppRawItemImage
*/
@
Prop
({
default
:
''
})
public
cssClass
:
string
;
/**
* 动态图片路径
*
* @memberof AppPresetRawitem
*/
protected
dynaImgUrl
:
string
=
''
;
/**
* 下载文件路径
*
* @memberof AppPresetRawitem
*/
public
downloadUrl
=
Environment
.
ExportFile
;
/**
* 图片路径
*
* @memberof AppPresetRawitem
*/
get
imgUrl
():
string
{
return
this
.
dynaImgUrl
;
}
created
()
{
this
.
handleDynaImg
();
}
/**
* 处理动态图片
*
* @memberof AppPresetRawitem
*/
protected
handleDynaImg
()
{
if
(
this
.
value
&&
typeof
this
.
value
==
"string"
)
{
// 默认识别文件对象形式,识别失败则为全路径模式
try
{
const
_files
=
JSON
.
parse
(
this
.
value
);
const
file
=
_files
instanceof
Array
?
_files
[
0
]
:
null
;
const
url
=
file
&&
file
.
id
?
`
${
this
.
downloadUrl
}
/
${
file
.
id
}
`
:
""
;
ImgurlBase64
.
getInstance
()
.
getImgURLOfBase64
(
url
)
.
then
((
res
:
any
)
=>
{
this
.
dynaImgUrl
=
res
;
});
}
catch
(
error
)
{
this
.
dynaImgUrl
=
this
.
value
;
}
}
}
}
</
script
>
<
style
lang =
"less"
>
@import './app-field-image-dynamic.less';
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/components/layout-element/media/app-rawitem-carousel/app-rawitem-carousel.vue
浏览文件 @
f8277bc8
...
@@ -18,19 +18,50 @@
...
@@ -18,19 +18,50 @@
import
{
Component
,
Vue
,
Prop
,
Watch
}
from
'vue-property-decorator'
;
import
{
Component
,
Vue
,
Prop
,
Watch
}
from
'vue-property-decorator'
;
@
Component
({})
@
Component
({})
export
default
class
AppCarousel
extends
Vue
{
export
default
class
AppCarousel
extends
Vue
{
/**
* 父项所有数据
*
* @type {*}
* @memberof AppPresetCarousel
*/
@
Prop
()
public
contextData
?:
any
;
/**
/**
* @description 轮播图数据
* @description 轮播图数据
* @param {*}
* @param {*}
* @memberof AppCarousel
* @memberof AppCarousel
*/
*/
@
Prop
()
public
data
?:
any
;
@
Prop
()
public
value
?:
any
;
/**
/**
* @description 轮播图样式
* @description 轮播图样式
* @param {*}
* @param {*}
* @memberof AppCarousel
* @memberof AppCarousel
*/
*/
@
Prop
()
public
rawstyle
?:
any
;
@
Prop
()
public
cssStyle
?:
any
;
/**
* @description 样式表
* @param {*}
* @memberof AppCarousel
*/
@
Prop
()
public
cssClass
?:
any
;
/**
* 名称
*
* @type {string}
* @memberof AppCarousel
*/
@
Prop
()
public
name
!
:
string
;
/**
* 类型
*
* @type {string}
* @memberof AppCarousel
*/
@
Prop
()
public
type
?:
string
;
/**
/**
* @description 轮播图图片所有项数据
* @description 轮播图图片所有项数据
...
@@ -64,7 +95,7 @@ export default class AppCarousel extends Vue {
...
@@ -64,7 +95,7 @@ export default class AppCarousel extends Vue {
* @memberof AppCarousel
* @memberof AppCarousel
*/
*/
created
()
{
created
()
{
this
.
handleSwipData
(
this
.
data
);
this
.
handleSwipData
(
this
.
value
);
}
}
/**
/**
...
@@ -81,7 +112,7 @@ export default class AppCarousel extends Vue {
...
@@ -81,7 +112,7 @@ export default class AppCarousel extends Vue {
this
.
swipeData
=
data
.
slice
(
0
,
-
2
);
this
.
swipeData
=
data
.
slice
(
0
,
-
2
);
this
.
swipeConfig
=
this
.
setSwipeConfig
(
data
.
slice
(
-
2
));
this
.
swipeConfig
=
this
.
setSwipeConfig
(
data
.
slice
(
-
2
));
}
else
{
}
else
{
this
.
swipeData
=
this
.
data
;
this
.
swipeData
=
data
;
this
.
swipeConfig
=
this
.
setSwipeConfig
(
data
);
this
.
swipeConfig
=
this
.
setSwipeConfig
(
data
);
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/model/panel-detail/panel-button.ts
浏览文件 @
f8277bc8
...
@@ -11,9 +11,11 @@ export class PanelButtonModel extends PanelDetailModel {
...
@@ -11,9 +11,11 @@ export class PanelButtonModel extends PanelDetailModel {
constructor
(
opts
:
any
=
{})
{
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
super
(
opts
);
this
.
ui
action
=
opts
.
uia
ction
;
this
.
ui
Action
=
opts
.
uiA
ction
;
this
.
buttonStyle
=
opts
.
buttonStyle
;
this
.
buttonStyle
=
opts
.
buttonStyle
;
this
.
renderMode
=
opts
.
renderMode
;
this
.
renderMode
=
opts
.
renderMode
;
this
.
iconAlign
=
opts
.
iconAlign
||
'LEFT'
;
this
.
disabled
=
opts
.
disabled
?
true
:
false
;
}
}
/**
/**
...
@@ -22,8 +24,23 @@ export class PanelButtonModel extends PanelDetailModel {
...
@@ -22,8 +24,23 @@ export class PanelButtonModel extends PanelDetailModel {
* @type {*}
* @type {*}
* @memberof PanelButtonModel
* @memberof PanelButtonModel
*/
*/
public
ui
a
ction
:
any
;
public
ui
A
ction
:
any
;
/**
* 图标方向
*
* @type {('LEFT' | 'TOP' | 'RIGHT' | 'BOTTOM')}
* @memberof PanelButtonModel
*/
public
iconAlign
:
'LEFT'
|
'TOP'
|
'RIGHT'
|
'BOTTOM'
;
/**
* 是否禁用
*
* @type {boolean}
* @memberof PanelButtonModel
*/
public
disabled
:
boolean
=
false
;
/**
/**
* @description 按钮类型
* @description 按钮类型
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/model/panel-detail/panel-field.ts
浏览文件 @
f8277bc8
...
@@ -38,6 +38,16 @@ export class PanelFieldModel extends PanelDetailModel {
...
@@ -38,6 +38,16 @@ export class PanelFieldModel extends PanelDetailModel {
*/
*/
public
enableCond
:
number
|
0
|
1
|
2
|
3
=
3
;
public
enableCond
:
number
|
0
|
1
|
2
|
3
=
3
;
/**
* @description 默认状态
* 0 不启用
* 1 只读
* 2 禁用
* @type {('0' | '1' | '2')}
* @memberof PanelFieldModel
*/
public
fieldState
:
'0'
|
'1'
|
'2'
;
/**
/**
* Creates an instance of PanelFieldModel.
* Creates an instance of PanelFieldModel.
* PanelFieldModel 实例
* PanelFieldModel 实例
...
@@ -49,6 +59,7 @@ export class PanelFieldModel extends PanelDetailModel {
...
@@ -49,6 +59,7 @@ export class PanelFieldModel extends PanelDetailModel {
super
(
opts
);
super
(
opts
);
this
.
disabled
=
opts
.
disabled
?
true
:
false
;
this
.
disabled
=
opts
.
disabled
?
true
:
false
;
this
.
enableCond
=
opts
.
enableCond
;
this
.
enableCond
=
opts
.
enableCond
;
this
.
fieldState
=
opts
.
fieldState
;
}
}
/**
/**
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/ibizcustomer-media-test-edit-view/ibizcustomer-media-test-edit-view-base.vue
浏览文件 @
f8277bc8
此差异已折叠。
点击以展开。
app_Web/src/pages/sample/ibizorder-test-custom-layout-panel-grid-exp-view/ibizorder-test-custom-layout-panel-grid-exp-view-base.vue
浏览文件 @
f8277bc8
...
@@ -268,9 +268,9 @@ export default class IBIZOrderTestCustomLayoutPanelGridExpViewBase extends Vue {
...
@@ -268,9 +268,9 @@ export default class IBIZOrderTestCustomLayoutPanelGridExpViewBase extends Vue {
* @memberof IBIZOrderTestCustomLayoutPanelGridExpViewBase
* @memberof IBIZOrderTestCustomLayoutPanelGridExpViewBase
*/
*/
public
layoutModelDetails
:
any
=
{
public
layoutModelDetails
:
any
=
{
view_pagecaption
:
new
PanelFieldModel
({
name
:
'view_pagecaption'
,
caption
:
'页面标题'
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'FIELD'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
'FULL'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
fieldState
:
'0'
,
panel
:
this
}),
view_pagecaption
:
new
PanelFieldModel
({
name
:
'view_pagecaption'
,
caption
:
'页面标题'
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'FIELD'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
'FULL'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
fieldState
:
'0'
,
}),
container2
:
new
PanelContainerModel
({
name
:
'container2'
,
caption
:
'容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'TABLE_24COL'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'view_pagecaption'
]}),
container2
:
new
PanelContainerModel
({
name
:
'container2'
,
caption
:
'容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'TABLE_24COL'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'view_pagecaption'
]}),
nav_pos1
:
new
PanelRawitemModel
({
name
:
'nav_pos1'
,
caption
:
'导航区占位'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'RAWITEM'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
p
redefinedType
:
'NAV_POS'
,
contentType
:
''
,
contentStyle
:
''
,
rawContent
:
''
,
htmlContent
:
''
,
panel
:
this
,
viewType
:
'DEGRIDEXPVIEW'
}),
nav_pos1
:
new
PanelRawitemModel
({
name
:
'nav_pos1'
,
caption
:
'导航区占位'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'RAWITEM'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
p
anel
:
this
,
viewType
:
'DEGRIDEXPVIEW'
,
predefinedType
:
'NAV_POS'
,
contentType
:
''
,
contentStyle
:
''
,
rawContent
:
''
,
htmlContent
:
''
,
}),
container_scroll_main1
:
new
PanelContainerModel
({
name
:
'container_scroll_main1'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'nav_pos1'
]}),
container_scroll_main1
:
new
PanelContainerModel
({
name
:
'container_scroll_main1'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'nav_pos1'
]}),
gridexpbar
:
new
PanelCtrlPosModel
({
name
:
'gridexpbar'
,
caption
:
'表格导航栏'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
}),
gridexpbar
:
new
PanelCtrlPosModel
({
name
:
'gridexpbar'
,
caption
:
'表格导航栏'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
'CENTER'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
}),
container_scroll_left1
:
new
PanelContainerModel
({
name
:
'container_scroll_left1'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'WEST'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
200
,
widthMode
:
'PX'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'gridexpbar'
]}),
container_scroll_left1
:
new
PanelContainerModel
({
name
:
'container_scroll_left1'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'BORDER'
,
layoutPos
:
'WEST'
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
200
,
widthMode
:
'PX'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
0
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'gridexpbar'
]}),
...
@@ -291,6 +291,16 @@ export default class IBIZOrderTestCustomLayoutPanelGridExpViewBase extends Vue {
...
@@ -291,6 +291,16 @@ export default class IBIZOrderTestCustomLayoutPanelGridExpViewBase extends Vue {
this
.
layoutData
[
$event
.
name
]
=
$event
.
value
;
this
.
layoutData
[
$event
.
name
]
=
$event
.
value
;
}
}
/**
* 处理按钮点击
*
* @public
* @memberof IBIZOrderTestCustomLayoutPanelGridExpViewBase
*/
public
handleButtonClick
(
$event
:
any
)
{
}
/**
/**
* 视图引擎
* 视图引擎
*
*
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/ibizorder-usr2-grid-view/ibizorder-usr2-grid-view-base.vue
浏览文件 @
f8277bc8
...
@@ -341,7 +341,7 @@ export default class IBIZOrderUsr2GridViewBase extends Vue {
...
@@ -341,7 +341,7 @@ export default class IBIZOrderUsr2GridViewBase extends Vue {
* @memberof IBIZOrderUsr2GridViewBase
* @memberof IBIZOrderUsr2GridViewBase
*/
*/
public
layoutModelDetails
:
any
=
{
public
layoutModelDetails
:
any
=
{
view_pagecaption
:
new
PanelFieldModel
({
name
:
'view_pagecaption'
,
caption
:
'页面标题'
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'FIELD'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
'FULL'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
'LEFT'
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
fieldState
:
'0'
,
panel
:
this
}),
view_pagecaption
:
new
PanelFieldModel
({
name
:
'view_pagecaption'
,
caption
:
'页面标题'
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'FIELD'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
'FULL'
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
'LEFT'
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
fieldState
:
'0'
,
}),
container1
:
new
PanelContainerModel
({
name
:
'container1'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'SIMPLEFLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
6
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'view_pagecaption'
]}),
container1
:
new
PanelContainerModel
({
name
:
'container1'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'SIMPLEFLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
6
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'view_pagecaption'
]}),
quicksearchbar
:
new
PanelCtrlPosModel
({
name
:
'quicksearchbar'
,
caption
:
'QUICKSEARCHBAR'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
'RIGHT'
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
}),
quicksearchbar
:
new
PanelCtrlPosModel
({
name
:
'quicksearchbar'
,
caption
:
'QUICKSEARCHBAR'
,
isShowCaption
:
true
,
sysCss
:
''
,
itemType
:
'CTRLPOS'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
''
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
'FULL'
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
'RIGHT'
,
vAlignSelf
:
''
,
flexGrow
:
-
1
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
}),
container2
:
new
PanelContainerModel
({
name
:
'container2'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'SIMPLEFLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
3
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'quicksearchbar'
]}),
container2
:
new
PanelContainerModel
({
name
:
'container2'
,
caption
:
'面板容器'
,
titleBarCloseMode
:
0
,
isShowCaption
:
false
,
sysCss
:
''
,
itemType
:
'CONTAINER'
,
itemStyle
:
'DEFAULT'
,
visible
:
true
,
disabled
:
false
,
layout
:
'SIMPLEFLEX'
,
layoutPos
:
''
,
layoutHeight
:
0
,
heightMode
:
''
,
layoutWidth
:
0
,
widthMode
:
''
,
spacingBottom
:
''
,
spacingLeft
:
''
,
spacingRight
:
''
,
spacingTop
:
''
,
hAlignSelf
:
''
,
vAlignSelf
:
''
,
flexGrow
:
3
,
flexParams
:{
align
:
''
,
dir
:
''
,
vAlign
:
''
},
panel
:
this
,
details
:[
'quicksearchbar'
]}),
...
@@ -367,6 +367,16 @@ export default class IBIZOrderUsr2GridViewBase extends Vue {
...
@@ -367,6 +367,16 @@ export default class IBIZOrderUsr2GridViewBase extends Vue {
this
.
layoutData
[
$event
.
name
]
=
$event
.
value
;
this
.
layoutData
[
$event
.
name
]
=
$event
.
value
;
}
}
/**
* 处理按钮点击
*
* @public
* @memberof IBIZOrderUsr2GridViewBase
*/
public
handleButtonClick
(
$event
:
any
)
{
}
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/pages/sample/index/index-base.vue
浏览文件 @
f8277bc8
此差异已折叠。
点击以展开。
app_Web/src/pages/ungroup/app-index-view/app-index-view-base.vue
浏览文件 @
f8277bc8
此差异已折叠。
点击以展开。
app_Web/src/pages/ungroup/app-login-view/app-login-view-base.vue
浏览文件 @
f8277bc8
此差异已折叠。
点击以展开。
app_Web/src/utils/index.ts
浏览文件 @
f8277bc8
...
@@ -12,3 +12,4 @@ export { UIActionTool } from './uiaction-tool/uiaction-tool';
...
@@ -12,3 +12,4 @@ export { UIActionTool } from './uiaction-tool/uiaction-tool';
export
{
LoadAppData
}
from
'./load-app-data/load-app-data'
;
export
{
LoadAppData
}
from
'./load-app-data/load-app-data'
;
export
{
Interceptors
}
from
'./interceptor/interceptor'
;
export
{
Interceptors
}
from
'./interceptor/interceptor'
;
export
{
StudioActionUtil
}
from
'./studio-action/StudioActionUtil'
;
export
{
StudioActionUtil
}
from
'./studio-action/StudioActionUtil'
;
export
{
ImgurlBase64
}
from
'./util/imgurl-base64'
;
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/utils/util/imgurl-base64.ts
0 → 100644
浏览文件 @
f8277bc8
import
axios
from
'axios'
;
export
class
ImgurlBase64
{
/**
* 单例变量声明
*
* @memberof ImgurlBase64
*/
private
static
imgurlBase64
:
ImgurlBase64
;
/**
* 图片缓存(加载中)
*
* @type {Map<string,any>}
* @memberof ImgurlBase64
*/
public
static
imgCache
:
Map
<
string
,
any
>
=
new
Map
();
/**
* 图片缓存(已完成)
*
* @type {Map<string,any>}
* @memberof ImgurlBase64
*/
public
static
imgCached
:
Map
<
string
,
any
>
=
new
Map
();
/**
* 获取 ImgurlBase64 单例对象
*
* @memberof ImgurlBase64
*/
public
static
getInstance
()
{
if
(
!
this
.
imgurlBase64
)
{
this
.
imgurlBase64
=
new
ImgurlBase64
();
}
return
this
.
imgurlBase64
;
}
/**
* 手动获取图片
*
*
* @param url 图片url路径
* @returns
*/
public
async
getImgURLOfBase64
(
url
:
string
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
let
img
=
'/'
;
// 富文本CV上传图片与鼠标移出抛值冲突问题,上传成功回调还没执行时就抛值
var
reg
=
/^
\s
*data:
([
a-z
]
+
\/[
a-z0-9-+.
]
+
(
;
[
a-z-
]
+=
[
a-z0-9-
]
+
)?)?(
;base64
)?
,
([
a-z0-9!$&',()*+;=
\-
._~:@
\/
?%
\s]
*
?)\s
*$/i
;
if
(
reg
.
test
(
url
))
{
return
resolve
(
url
);
}
// 缓存中有从缓存中拿
if
(
ImgurlBase64
.
imgCached
.
get
(
url
))
{
let
img
=
ImgurlBase64
.
imgCached
.
get
(
url
);
resolve
(
img
);
}
const
callback
:
Function
=
(
url
:
string
,
promise
:
Promise
<
any
>
)
=>
{
promise
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
&&
response
.
data
)
{
// 获取文件名
const
disposition
=
response
.
headers
[
'content-disposition'
];
const
filename
=
disposition
.
split
(
'filename='
)[
1
];
let
type
=
'image/png'
;
if
(
filename
&&
filename
.
indexOf
(
'.'
)
>
0
)
{
const
start
=
filename
.
lastIndexOf
(
'.'
);
const
expandedName
=
filename
.
substring
(
start
+
1
);
if
(
expandedName
.
match
(
/
(
bmp|jpg|jpeg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp
)
/gi
)
!=
null
)
{
type
=
'image/'
+
expandedName
;
}
else
{
resolve
(
img
);
}
}
let
blob
=
new
Blob
([
response
.
data
],{
type
:
type
});
this
.
blobToBase64
(
blob
).
then
((
res
)
=>
{
// 转化后的base64
img
=
`
${
res
}
`
;
// 缓存图片
ImgurlBase64
.
imgCached
.
set
(
url
,
img
);
resolve
(
img
);
})
}
else
{
resolve
(
img
);
}
}).
catch
((
result
:
any
)
=>
{
return
resolve
(
img
);
})
}
// 加载中
if
(
ImgurlBase64
.
imgCache
.
get
(
url
))
{
callback
(
url
,
ImgurlBase64
.
imgCache
.
get
(
url
));
}
else
{
let
_url
=
url
;
if
(
!
Object
.
is
(
'/'
,
_url
.
substring
(
0
,
1
)))
{
_url
=
'/'
+
_url
;
}
let
result
:
Promise
<
any
>
=
axios
({
method
:
'get'
,
url
:
_url
,
responseType
:
'blob'
});
ImgurlBase64
.
imgCache
.
set
(
url
,
result
);
callback
(
url
,
result
);
}
});
}
/**
* 将blob转为base64
*
*
* @param blob blob对象
* @returns
*/
public
blobToBase64
(
blob
:
any
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
fileReader
=
new
FileReader
();
fileReader
.
onload
=
(
e
:
any
)
=>
{
resolve
(
e
.
target
.
result
);
};
// readAsDataURL
fileReader
.
readAsDataURL
(
blob
);
fileReader
.
onerror
=
()
=>
{
reject
(
new
Error
(
'blobToBase64 error'
));
};
});
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizbook/default-searchform/default-searchform-base.vue
浏览文件 @
f8277bc8
...
@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
load
(
opt
:
any
=
{}):
void
{
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
3
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
9
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
...
@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
void
{
public
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
void
{
if
(
!
this
.
loaddraftAction
){
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
3
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
9
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
}
;
const
arg
:
any
=
{
...
opt
}
;
...
...
This diff is collapsed.
Click to expand it.
app_Web/src/widgets/ibizorder/default-drbar/default-drbar-base.vue
浏览文件 @
f8277bc8
...
@@ -214,17 +214,24 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -214,17 +214,24 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
selection
:
any
=
{};
public
selection
:
any
=
{};
public
menuI
tems
:
any
[]
=
[
public
i
tems
:
any
[]
=
[
{
{
caption
:
'详细信息'
,
caption
:
'详细信息'
,
id
:
'a7c7923d37319b42645a41908d62bae9'
,
id
:
'a7c7923d37319b42645a41908d62bae9'
,
name
:
'a7c7923d37319b42645a41908d62bae9'
,
name
:
'a7c7923d37319b42645a41908d62bae9'
,
codeName
:
'a7c7923d37319b42645a41908d62bae9'
,
codeName
:
'a7c7923d37319b42645a41908d62bae9'
,
hidden
:
false
,
hidden
:
false
,
items
:
this
.
items
.
find
((
item
:
any
)
=>
item
.
groupCodeName
===
'a7c7923d37319b42645a41908d62bae9'
)
items
:
[
},
{
{
text
:
"订单明细"
,
disabled
:
false
,
id
:
"dritem2"
,
groupCodeName
:
'a7c7923d37319b42645a41908d62bae9'
,
drView
:
'ibizorder-detail-sgrid-view'
,
localContext
:{
CONTEXTPARAM1
:
"%orderstate%"
},
localViewParam
:{
param2
:
"%orderstate%"
}
},
]
},
},
]
]
...
@@ -292,8 +299,10 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -292,8 +299,10 @@ export default class DefaultBase extends Vue implements ControlInterface {
return
;
return
;
}
}
if
(
Object
.
is
(
'state'
,
action
))
{
if
(
Object
.
is
(
'state'
,
action
))
{
const
state
=
!
this
.
context
.
ibizorder
?
true
:
false
;
this
.
handleFormChange
(
data
);
this
.
setItemDisabled
(
this
.
items
,
state
);
}
if
(
Object
.
is
(
'change'
,
action
))
{
this
.
selection
=
data
;
}
}
});
});
}
}
...
@@ -323,28 +332,6 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -323,28 +332,6 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
}
}
/**
* 获取关系项
*
* @public
* @param {*} [arg={}]
* @returns {*}
* @memberof DefaultBase
*/
public
getDRBarItem
(
arg
:
any
=
{}):
any
{
let
expmode
=
arg
.
nodetype
;
if
(
!
expmode
)
{
expmode
=
''
;
}
if
(
Object
.
is
(
expmode
,
'dritem2'
))
{
return
{
viewname
:
'ibizorder-detail-sgrid-view'
,
parentdatajo
:
{},
};
}
return
undefined
;
}
/**
/**
* 处理数据
* 处理数据
*
*
...
@@ -392,67 +379,62 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -392,67 +379,62 @@ export default class DefaultBase extends Vue implements ControlInterface {
return
item
;
return
item
;
}
}
/**
* 初始化导航参数
*
* @param {*} drItem
* @memberof DefaultBase
*/
public
initNavParam
(
drItem
:
any
){
// let returnNavParam:any = {};
// if(drItem && drItem.id){
// let curDRItem:any = this.navParamsArray.find((item:any) =>{
// return Object.is(item.id,drItem.id);
// })
// if(curDRItem){
// let localContext:any = curDRItem.localContext;
// let localViewParam:any = curDRItem.localViewParam;
// if(localContext && Object.keys(localContext).length >0){
// let _context:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localContext);
// returnNavParam.localContext = _context;
// }
// if(localViewParam && Object.keys(localViewParam).length >0){
// let _params:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localViewParam);
// returnNavParam.localViewParam = _params;
// }
// return returnNavParam;
// }else{
// return null;
// }
// }
}
/**
/**
* 节点选中
* 节点选中
*
*
* @param {*} $event
* @param {*} $event
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
onSelect
(
$event
:
any
):
void
{
public
onSelect
(
key
:
string
):
void
{
if
(
key
===
this
.
selection
.
id
)
{
if
(
key
===
this
.
selection
.
id
)
{
return
;
return
;
}
}
const
selectItem
=
this
.
getItem
(
this
.
items
,
key
);
const
selectItem
=
this
.
getItem
(
this
.
items
,
key
);
if
(
!
selectItem
)
{
return
;
}
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempViewParams
=
Util
.
deepCopy
(
this
.
viewparams
);
const
tempViewParams
=
Util
.
deepCopy
(
this
.
viewparams
);
if
(
selectItem
.
localContext
&&
Object
.
keys
(
selectItem
.
localContext
).
length
>
0
)
{
const
_context
:
any
=
this
.
$util
.
computedNavData
(
this
.
formData
,
tempContext
,
tempViewParams
,
selectItem
.
localContext
);
Object
.
assign
(
tempContext
,
_context
);
}
if
(
this
.
formData
.
srfparentkey
)
{
Object
.
assign
(
tempContext
,
{
srfparentkey
:
this
.
formData
.
srfparentkey
});
Object
.
assign
(
tempViewParams
,
{
srfparentkey
:
this
.
formData
.
srfparentkey
});
}
if
(
selectItem
.
localViewParam
&&
Object
.
keys
(
selectItem
.
localViewParam
).
length
>
0
)
{
const
_params
:
any
=
this
.
$util
.
computedNavData
(
this
.
formData
,
tempContext
,
tempViewParams
,
selectItem
.
localViewParam
);
Object
.
assign
(
tempViewParams
,
_params
);
}
if
(
this
.
formData
.
srfparentdename
)
{
Object
.
assign
(
tempContext
,
{
srfparentdename
:
this
.
formData
.
srfparentdename
});
Object
.
assign
(
tempViewParams
,
{
srfparentdename
:
this
.
formData
.
srfparentdename
});
}
const
drItem
=
{
id
:
selectItem
.
id
,
drView
:
selectItem
.
drView
,
srfnavdata
:
{
context
:
tempContext
,
viewparams
:
tempViewParams
}
}
this
.
$emit
(
'selectionchange'
,
drItem
);
}
// this.$emit('selectionchange', [item]);
/**
// let localNavParam:any = this.initNavParam(item);
* 处理表单变化
// const refview = this.getDRBarItem({ nodetype: item.id });
*
// this.selection = {};
* @param {*} $event
// const _context: any = { ...JSON.parse(JSON.stringify(this.context)) };
* @memberof DefaultBase
// if(localNavParam && localNavParam.localContext){
*/
// Object.assign(_context,localNavParam.localContext);
public
handleFormChange
(
args
:
any
)
{
// }
if
(
args
&&
Object
.
is
(
args
.
srfuf
,
'1'
))
{
// const _params: any = {};
this
.
setDisabled
(
this
.
items
,
false
);
// if(localNavParam && localNavParam.localViewParam){
}
else
{
// Object.assign(_params,localNavParam.localViewParam);
this
.
setDisabled
(
this
.
items
,
true
);
// }
}
// if (refview && refview.parentdatajo) {
this
.
formData
=
args
;
// Object.assign(_context, refview.parentdatajo);
// Object.assign(this.selection, { view: { viewname: refview.viewname }, data: _context, param: _params });
// }
// Object.assign(this.selection, item);
}
}
/**
/**
...
@@ -492,21 +474,17 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -492,21 +474,17 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
* 设置
关系项
状态
* 设置
禁用
状态
*
*
* @param {any[]} items
* @param {boolean} state
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
set
Item
Disabled
(
items
:
any
[],
state
:
boolean
)
{
public
setDisabled
(
items
:
any
[],
state
:
boolean
)
{
items
.
forEach
((
item
:
any
)
=>
{
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
Object
.
is
(
item
.
id
,
'form'
))
{
item
.
disabled
=
state
;
item
.
disabled
=
state
;
if
(
item
&&
item
.
items
&&
item
.
items
.
length
>
0
)
{
this
.
setDisabled
(
item
.
items
,
state
);
}
}
if
(
item
.
items
&&
Array
.
isArray
(
item
.
items
))
{
})
this
.
setItemDisabled
(
item
.
items
,
state
);
}
});
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
config.xml
浏览文件 @
f8277bc8
...
@@ -55,23 +55,6 @@
...
@@ -55,23 +55,6 @@
git clone -b master $para2 demosys/
git clone -b master $para2 demosys/
export NODE_OPTIONS=--max-old-space-size=4096
export NODE_OPTIONS=--max-old-space-size=4096
cd demosys/
cd demosys/
cd demo-boot
mvn ibizlabcli:code
cd ..
set +e
git config user.name "ibizdev"
git add .
git commit -m "generator before deploy $para5"
git push origin master
git config user.name "root"
set -e
mvn package -Pboot
cd demo-boot
sed -i "s#dstimage#$para5#g" pom.xml
sed -i "s#dstimage#$para5#g" src/main/docker/demo-boot-demoapi.yaml
mvn -Pboot docker:build
mvn -Pboot docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/demo-boot-demoapi.yaml iBizDemo --with-registry-auth
</command>
</command>
</hudson.tasks.Shell>
</hudson.tasks.Shell>
</builders>
</builders>
...
...
This diff is collapsed.
Click to expand it.
demo-boot/src/main/docker/Dockerfile
浏览文件 @
f8277bc8
...
@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
...
@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /demo-boot.jar
java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /demo-boot.jar
EXPOSE
51000
EXPOSE
8081
ADD
demo-boot.jar /demo-boot.jar
ADD
demo-boot.jar /demo-boot.jar
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录