Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7-Res
提交
41afcf10
提交
41afcf10
编写于
9月 07, 2020
作者:
zhujiamin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
多语言 组件i18n国际化支持
上级
48b58e78
变更
12
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
175 行增加
和
50 行删除
+175
-50
404.vue
src/components/404/404.vue
+15
-3
500.vue
src/components/500/500.vue
+15
-3
app-card-list.vue
src/components/app-card-list/app-card-list.vue
+18
-4
app-mob-file-upload.vue
src/components/app-mob-file-upload/app-mob-file-upload.vue
+7
-5
app-mob-picture.vue
src/components/app-mob-picture/app-mob-picture.vue
+14
-3
app-mob-recorder.vue
src/components/app-mob-recorder/app-mob-recorder.vue
+13
-11
app-mob-select-drop-down.vue
...nts/app-mob-select-drop-down/app-mob-select-drop-down.vue
+22
-6
app-point-list.vue
src/components/app-point-list/app-point-list.vue
+12
-2
app-status-list.vue
src/components/app-status-list/app-status-list.vue
+21
-5
app-van-select.vue
src/components/app-van-select/app-van-select.vue
+15
-3
app-wf-approval.vue
src/components/app-wf-approval/app-wf-approval.vue
+17
-3
login.vue
src/components/login/login.vue
+6
-2
未找到文件。
src/components/404/404.vue
浏览文件 @
41afcf10
...
...
@@ -2,8 +2,8 @@
<div
class=
"app-404"
>
<img
src=
"assets/images/404.jpg"
alt
/>
<div
class=
"btnbox"
>
<ion-button
class=
"backbtn"
@
click=
"back"
>
上一步
</ion-button>
<ion-button
class=
"backbtn"
@
click=
"backindex"
>
返回首页
</ion-button>
<ion-button
class=
"backbtn"
@
click=
"back"
>
{{
$t
(
'previous'
)
}}
</ion-button>
<ion-button
class=
"backbtn"
@
click=
"backindex"
>
{{
$t
(
'homepage'
)
}}
</ion-button>
</div>
</div>
</
template
>
...
...
@@ -18,7 +18,19 @@ import {
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
previous
:
'上一步'
,
homepage
:
'返回首页'
,
},
'EN-US'
:
{
previous
:
'Previous'
,
homepage
:
'Back to homepage'
,
}
}
}
})
export
default
class
App404
extends
Vue
{
/**
...
...
src/components/500/500.vue
浏览文件 @
41afcf10
...
...
@@ -2,8 +2,8 @@
<div
class=
"app-500"
>
<img
src=
"assets/images/500.jpg"
alt
/>
<div
class=
"btnbox"
>
<ion-button
class=
"backbtn"
@
click=
"back"
>
上一步
</ion-button>
<ion-button
class=
"backbtn"
@
click=
"backindex"
>
返回首页
</ion-button>
<ion-button
class=
"backbtn"
@
click=
"back"
>
{{
$t
(
'previous'
)
}}
</ion-button>
<ion-button
class=
"backbtn"
@
click=
"backindex"
>
{{
$t
(
'homepage'
)
}}
</ion-button>
</div>
</div>
</
template
>
...
...
@@ -18,7 +18,19 @@ import {
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
previous
:
'上一步'
,
homepage
:
'返回首页'
,
},
'EN-US'
:
{
previous
:
'Previous'
,
homepage
:
'Homepage'
,
}
}
}
})
export
default
class
App404
extends
Vue
{
/**
...
...
src/components/app-card-list/app-card-list.vue
浏览文件 @
41afcf10
...
...
@@ -16,16 +16,16 @@
<div
class=
"infoline"
>
<div
class=
"booktypebox"
>
<div
>
<p
class=
"type-p"
>
副标题
</p>
<p
class=
"type-p"
>
{{
$t
(
'subtitle'
)
}}
</p>
</div>
<p
class=
"typeinfo"
v-if=
"item.subtitle"
>
{{
item
.
subtitle
}}
</p>
</div>
<div>
<p
class=
"type-p"
>
数量
</p>
<p
class=
"type-p"
>
{{
$t
(
'number'
)
}}
</p>
<p
class=
"typeinfo"
v-if=
"item.num"
>
{{
item
.
num
}}
</p>
</div>
<div>
<p
class=
"type-p"
>
内容
</p>
<p
class=
"type-p"
>
{{
$t
(
'content'
)
}}
</p>
<p
class=
"typeinfo"
v-if=
"item.content"
>
{{
item
.
content
}}
</p>
</div>
</div>
...
...
@@ -45,7 +45,21 @@ import {
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
subtitle
:
'副标题'
,
number
:
'数量'
,
content
:
'内容'
,
},
'EN-US'
:
{
subtitle
:
'Subtitle'
,
number
:
'Number'
,
content
:
'Content'
,
}
}
}
})
export
default
class
AppCardList
extends
Vue
{
...
...
src/components/app-mob-file-upload/app-mob-file-upload.vue
浏览文件 @
41afcf10
...
...
@@ -40,13 +40,15 @@ Vue.use(Uploader);
i18n
:
{
messages
:
{
'ZH-CN'
:
{
uploadtext
:
'上传文件'
one_doc
:
'该功能只支持单个文件上传'
,
upload_failed
:
'上传失败!'
,
},
'EN-US'
:
{
uploadtext
:
'upload files'
one_doc
:
'This function only supports single file upload'
,
upload_failed
:
'Upload failed!'
,
}
}
}
},
components
:
{}
})
export
default
class
AppMobFileUpload
extends
Vue
{
...
...
@@ -123,7 +125,7 @@ export default class AppMobFileUpload extends Vue {
public
beforeRead
(
file
:
any
,
detail
:
any
):
boolean
{
this
.
dataProcess
();
if
(
file
&&
Array
.
isArray
(
file
))
{
this
.
$notice
.
warning
(
'该功能只支持单个文件上传'
);
this
.
$notice
.
warning
(
`
${
this
.
$t
(
'one_doc'
)}
`
);
return
false
;
}
return
true
;
...
...
@@ -468,7 +470,7 @@ export default class AppMobFileUpload extends Vue {
* @memberof AppMobFileUpload
*/
public
onError
(
error
:
any
,
file
:
any
,
fileList
:
any
)
{
this
.
$notice
.
error
(
'上传失败'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'upload_failed'
)}
`
);
}
/**
...
...
src/components/app-mob-picture/app-mob-picture.vue
浏览文件 @
41afcf10
...
...
@@ -37,7 +37,18 @@ import { Uploader } from 'vant';
import
{
Loading
,
Util
}
from
'@/ibiz-core/utils'
;
Vue
.
use
(
Uploader
);
@
Component
({
components
:
{
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
one_doc
:
'该功能只支持单个文件上传'
,
upload_failed
:
'上传失败!'
,
},
'EN-US'
:
{
one_doc
:
'This function only supports single file upload'
,
upload_failed
:
'Upload failed!'
,
}
}
}
})
export
default
class
AppMobPicture
extends
Vue
{
...
...
@@ -119,7 +130,7 @@ export default class AppMobPicture extends Vue {
public
beforeRead
(
file
:
any
,
detail
:
any
):
boolean
{
this
.
dataProcess
();
if
(
file
&&
Array
.
isArray
(
file
))
{
this
.
$notify
({
type
:
'warning'
,
message
:
'该功能只支持单个文件上传
'
});
this
.
$notify
({
type
:
'warning'
,
message
:
this
.
$t
(
'one_doc'
)
+
'
'
});
return
false
;
}
return
true
;
...
...
@@ -464,7 +475,7 @@ export default class AppMobPicture extends Vue {
* @memberof AppMobPicture
*/
public
onError
(
error
:
any
,
file
:
any
,
fileList
:
any
)
{
this
.
$notify
({
type
:
'danger'
,
message
:
'上传失败
'
});
this
.
$notify
({
type
:
'danger'
,
message
:
this
.
$t
(
'upload_failed'
)
+
'
'
});
}
/**
...
...
src/components/app-mob-recorder/app-mob-recorder.vue
浏览文件 @
41afcf10
...
...
@@ -56,14 +56,16 @@ const Recorder = require('recorder-core/recorder.mp3.min');
i18n
:
{
messages
:
{
'ZH-CN'
:
{
openrecorder
:
'打开录音'
,
startrecorder
:
'开始录音'
,
endrecorder
:
'结束录音'
,
notopenrecorder
:
'未打开录音'
,
recorderhasopened
:
'录音功能已打开'
,
recorderopenfailed
:
'录音功能打开失败'
,
uploadfailed
:
'上传失败!'
,
},
'EN-US'
:
{
openrecorder
:
'open recorder'
,
startrecorder
:
'start recorder'
,
endrecorder
:
'end recorder'
,
notopenrecorder
:
'Recorder is not turned on'
,
recorderhasopened
:
'Recorder is turned on'
,
recorderopenfailed
:
'Recorder failed to open'
,
uploadfailed
:
'Upload failed!'
,
}
}
}
...
...
@@ -177,7 +179,7 @@ export default class AppMobRecorder extends Vue {
this
.
rec
=
null
;
if
(
!
rec
)
{
// This.reclog("未打开录音", 1);
this
.
$notice
.
error
(
'未打开录音'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'notopenrecorder'
)}
`
);
return
;
}
...
...
@@ -200,7 +202,7 @@ export default class AppMobRecorder extends Vue {
public
recStart
()
{
if
(
!
this
.
rec
)
{
// this.reclog("未打开录音", 1);
this
.
$notice
.
error
(
'未打开录音'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'notopenrecorder'
)}
`
);
return
;
}
this
.
rec
.
start
();
...
...
@@ -234,13 +236,13 @@ export default class AppMobRecorder extends Vue {
rec
.
open
(()
=>
{
// This.dialogCancel();
// This.reclog("已打开:" + This.type + " " + This.sampleRate + "hz " + This.bitRate + "kbps", 2);
this
.
$notice
.
success
(
'录音功能已打开'
);
this
.
$notice
.
success
(
`
${
this
.
$t
(
'recorderhasopened'
)}
`
);
// this.wave = Recorder.WaveView({ elem: this.$refs.recorder });
},
(
msg
:
any
,
isUserNotAllow
:
any
)
=>
{
// This.dialogCancel();
// This.reclog((isUserNotAllow ? "UserNotAllow," : "") + "打开失败:" + msg, 1);
this
.
$notice
.
success
(
'录音功能打开失败'
);
this
.
$notice
.
success
(
`
${
this
.
$t
(
'recorderopenfailed'
)}
`
);
});
// This.waitDialogClickFn = () => {
// This.dialogCancel();
...
...
@@ -639,7 +641,7 @@ export default class AppMobRecorder extends Vue {
* @memberof AppMobRecorder
*/
public
onError
(
error
:
any
,
file
:
any
,
fileList
:
any
)
{
this
.
$notify
({
type
:
'danger'
,
message
:
'上传失败
'
});
this
.
$notify
({
type
:
'danger'
,
message
:
this
.
$t
(
'uploadfailed'
)
+
'
'
});
}
/**
...
...
src/components/app-mob-select-drop-down/app-mob-select-drop-down.vue
浏览文件 @
41afcf10
...
...
@@ -13,7 +13,23 @@ import { Vue, Component, Prop, Watch, Model } from "vue-property-decorator";
import
{
Subject
}
from
'rxjs'
;
import
{
ViewOpenService
}
from
'../../utils/view-open-service/view-open-service'
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
associated_entity
:
'请在对应实体属性中配置关联实体与数据集!'
,
error_request
:
'错误,请求异常!'
,
error_system
:
'错误,系统异常!'
,
error_value
:
'错误,值项异常!'
,
},
'EN-US'
:
{
associated_entity
:
'Please configure the associated entity and data set in the corresponding entity properties!'
,
error_request
:
'Error, request exception!'
,
error_system
:
'Error, the system is abnormal!'
,
error_value
:
'Error, abnormal value item!'
,
}
}
}
})
export
default
class
AppSelectDropDown
extends
Vue
{
/**
...
...
@@ -312,7 +328,7 @@ export default class AppSelectDropDown extends Vue {
this
.
inputState
=
false
;
Object
.
assign
(
_param
,
{
query
:
query
});
if
(
!
this
.
acParams
.
serviceName
||
!
this
.
acParams
.
interfaceName
)
{
this
.
$notice
.
error
(
'请在对应实体属性中配置关联实体与数据集!'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'associated_entity'
)}
`
);
return
;
}
const
appEntityServiceConstructor
=
window
.
appEntityServiceConstructor
;
...
...
@@ -324,7 +340,7 @@ export default class AppSelectDropDown extends Vue {
this
.
items
=
response
.
data
;
this
.
result
(
this
.
items
);
}
else
{
this
.
$notice
.
error
(
'错误,请求异常!'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'error_request'
)}
`
);
}
}
}
...
...
@@ -513,7 +529,7 @@ export default class AppSelectDropDown extends Vue {
private
openRedirectView
(
$event
:
any
,
view
:
any
,
data
:
any
):
void
{
this
.
$http
.
get
(
view
.
url
,
data
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$notice
.
error
(
'错误,请求异常!'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'error_request'
)}
`
);
}
if
(
response
.
status
===
401
)
{
return
;
...
...
@@ -565,7 +581,7 @@ export default class AppSelectDropDown extends Vue {
}
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$notice
.
error
(
'错误,系统异常!'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'error_system'
)}
`
);
return
;
}
if
(
response
.
status
===
401
)
{
...
...
@@ -584,7 +600,7 @@ export default class AppSelectDropDown extends Vue {
return
;
}
if
(
!
this
.
data
||
!
this
.
valueitem
||
!
this
.
data
[
this
.
valueitem
])
{
this
.
$notice
.
error
(
'错误,值项异常'
);
this
.
$notice
.
error
(
`
${
this
.
$t
(
'error_value'
)}
`
);
return
;
}
// 公共参数处理
...
...
src/components/app-point-list/app-point-list.vue
浏览文件 @
41afcf10
...
...
@@ -6,7 +6,7 @@
<van-cell
v-if=
"i.group == item"
:title=
"i.srfmajortext"
@
click=
"test"
/>
</div>
</div>
<div
v-if=
"marklist.length==0"
>
没有group属性无法分组
</div>
<div
v-if=
"marklist.length==0"
>
{{
$t
(
'without_group'
)
}}
</div>
</van-index-bar>
</
template
>
<
script
lang=
"ts"
>
...
...
@@ -20,7 +20,17 @@ import {
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
without_group
:
'没有group属性无法分组'
,
},
'EN-US'
:
{
without_group
:
'Cannot group without group attribute'
,
}
}
}
})
export
default
class
AppPointList
extends
Vue
{
/**
...
...
src/components/app-status-list/app-status-list.vue
浏览文件 @
41afcf10
...
...
@@ -8,22 +8,22 @@
{{
item
.
srfmajortext
}}
</label>
<div
class=
"status_s"
>
状态
{{
$t
(
'status'
)
}}
</div>
</div>
<div
class=
"list-hr"
></div>
<div
class=
"list03-box-line"
>
<div>
<p
class=
"typeinfo"
v-if=
"item.subtitle"
>
{{
item
.
subtitle
}}
</p>
<p
class=
"type-p"
>
字段一
</p>
<p
class=
"type-p"
>
{{
$t
(
'field_one'
)
}}
</p>
</div>
<div>
<p
class=
"typeinfo"
v-if=
"item.content"
>
{{
item
.
content
}}
</p>
<p
class=
"type-p"
>
字段二
</p>
<p
class=
"type-p"
>
{{
$t
(
'field_two'
)
}}
</p>
</div>
<div>
<p
class=
"typeinfo"
v-if=
"item.time"
>
{{
item
.
time
.
substr
(
0
,
10
)
}}
</p>
<p
class=
"type-p"
>
字段三
</p>
<p
class=
"type-p"
>
{{
$t
(
'field_three'
)
}}
</p>
</div>
</div>
</div>
...
...
@@ -41,7 +41,23 @@ import {
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
status
:
'状态'
,
field_one
:
'字段一'
,
field_two
:
'字段二'
,
field_three
:
'字段三'
,
},
'EN-US'
:
{
status
:
'Status'
,
field_one
:
'Field one'
,
field_two
:
'Field two'
,
field_three
:
'Field three'
,
}
}
}
})
export
default
class
AppStatusList
extends
Vue
{
...
...
src/components/app-van-select/app-van-select.vue
浏览文件 @
41afcf10
...
...
@@ -7,8 +7,8 @@
<div
class=
"dropdown-item-text"
>
{{
item
.
label
}}
</div>
</div>
</div>
<van-button
class=
"dropdown-btn"
@
click=
"onReset"
>
重置
</van-button>
<van-button
class=
"dropdown-btn"
type=
"info"
@
click=
"onConfirm"
>
确定
</van-button>
<van-button
class=
"dropdown-btn"
@
click=
"onReset"
>
{{
$t
(
'reset'
)
}}
</van-button>
<van-button
class=
"dropdown-btn"
type=
"info"
@
click=
"onConfirm"
>
{{
$t
(
'confirm'
)
}}
</van-button>
</van-dropdown-item>
</van-dropdown-menu>
</
template
>
...
...
@@ -24,7 +24,19 @@ import {
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
components
:
{},
i18n
:
{
messages
:
{
'ZH-CN'
:
{
confirm
:
'确定'
,
reset
:
'重置'
,
},
'EN-US'
:
{
confirm
:
'Confirm'
,
reset
:
'Reset'
,
}
}
}
})
export
default
class
AppVanSelect
extends
Vue
{
...
...
src/components/app-wf-approval/app-wf-approval.vue
浏览文件 @
41afcf10
...
...
@@ -4,7 +4,7 @@
<van-step>
<div
class=
"step-item"
>
<div
class=
"step-start-user"
>
<div
class=
"step-text"
>
发起申请
</div>
<div
class=
"step-text"
>
{{
$t
(
'start'
)
}}
</div>
<div
class=
"step-start-user-name"
>
{{
data
.
startUserName
}}
</div>
</div>
<div
class=
"step-start-time"
>
{{
data
.
startTime
}}
</div>
...
...
@@ -13,7 +13,7 @@
<template
v-for=
"(usertask,index) in data.usertasks"
>
<van-step
v-if=
"usertask.identitylinks.length >0"
:key=
"index+'identitylinks'"
>
<div
class=
"step-start-user"
>
<div
class=
"step-text"
>
等待处理
</div>
<div
class=
"step-text"
>
{{
$t
(
'wait'
)
}}
</div>
<div
class=
"step-start-user-name"
>
<span
v-for=
"(identitylink,inx) in usertask.identitylinks"
:key=
"inx"
>
{{
identitylink
.
displayname
}}
<span
v-if=
"inx >0"
>
、
</span></span>
</div>
...
...
@@ -41,7 +41,21 @@
<
script
lang
=
'ts'
>
import
{
Vue
,
Component
,
Prop
,
Model
}
from
"vue-property-decorator"
;
@
Component
({
}
)
@
Component
({
components
:
{
}
,
i18n
:
{
messages
:
{
'ZH-CN'
:
{
start
:
'发起申请'
,
wait
:
'等待处理'
,
}
,
'EN-US'
:
{
start
:
'Initiate an application'
,
wait
:
'Waiting to be processed'
,
}
}
}
}
)
export
default
class
AppWFApproval
extends
Vue
{
/**
...
...
src/components/login/login.vue
浏览文件 @
41afcf10
...
...
@@ -49,6 +49,8 @@ import { DingTalkService } from '../../ibiz-core/third-party-service/DingTalkSer
submit
:
'提交'
,
usernametipinfo
:
'用户名为空'
,
passwordtipinfo
:
'密码为空'
,
dingdingfailed
:
'钉钉认证失败,请联系管理员'
,
badlogin
:
'登录异常'
,
},
'EN-US'
:
{
username
:
'User name'
,
...
...
@@ -56,6 +58,8 @@ import { DingTalkService } from '../../ibiz-core/third-party-service/DingTalkSer
submit
:
'Submit'
,
usernametipinfo
:
'User name is empty.'
,
passwordtipinfo
:
'Password id empty.'
,
dingdingfailed
:
'Dingding authentication failed, please contact the administrator'
,
badlogin
:
'Login exception'
,
}
}
}
...
...
@@ -110,7 +114,7 @@ export default class Login extends Vue {
public
async
thirdLogin
(){
let
loginStatus
:
any
=
await
this
.
thirdPartyService
.
login
();
if
(
!
loginStatus
.
issuccess
){
this
.
$notice
.
error
(
loginStatus
.
message
?
loginStatus
.
message
:
"钉钉认证失败,请联系管理员"
);
this
.
$notice
.
error
(
loginStatus
.
message
?
loginStatus
.
message
:
this
.
$t
(
'dingdingfailed'
)
+
''
);
setTimeout
(()
=>
{
this
.
thirdPartyService
.
close
();
},
1500
);
...
...
@@ -181,7 +185,7 @@ export default class Login extends Vue {
}
}).
catch
((
error
:
any
)
=>
{
this
.
isLoadding
=
false
;
this
.
$notice
.
error
(
error
?
error
.
error
.
message
:
"登录异常"
);
this
.
$notice
.
error
(
error
?
error
.
error
.
message
:
this
.
$t
(
'badlogin'
)
+
''
);
});
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录