Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
7ddf539e
Commit
7ddf539e
authored
Feb 25, 2019
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
没有什么提交的
parents
e3b56bcc
207bb545
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1027 additions
and
905 deletions
+1027
-905
App.vue
src/App.vue
+1
-1
feture2.css
src/assets/css/feture2.css
+9
-0
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+18
-11
FinancialDocuments.vue
src/components/FinancialModule/FinancialDocuments.vue
+59
-1
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+24
-23
saleReceivablesTotal.vue
src/components/SalesModule/saleReceivablesTotal.vue
+2
-2
confirmationOrderDownLoad.vue
src/components/confirmationOrderDownLoad.vue
+5
-4
TravelFeature.vue
...nts/newTravelmanager/TravelGroupControl/TravelFeature.vue
+20
-8
travelFeature3.vue
...lmanager/TravelGroupControl/TravelTemp/travelFeature3.vue
+73
-41
index.js
src/plug/index.js
+816
-814
No files found.
src/App.vue
View file @
7ddf539e
...
...
@@ -108,7 +108,7 @@ export default {
}
</
script
>
<
style
>
@import
"//at.alicdn.com/t/font_635492_t
jcw5hoim2
.css"
;
@import
"//at.alicdn.com/t/font_635492_t
6jc0sd8qcj
.css"
;
@import
"./assets/css/Semibold.css"
;
@import
"./assets/css/global/config.css"
;
@import
"./assets/css/fileIcon.css"
;
...
...
src/assets/css/feture2.css
View file @
7ddf539e
...
...
@@ -1983,3 +1983,12 @@ div{
.__flower_J
{
left
:
-135px
;
}
.template_bg_1
{
background-color
:
#f6dc61
!important
}
.template_bg_2
{
background-color
:
#ffc2ca
!important
}
.template_bg_3
{
background-color
:
#9cdaff
!important
}
\ No newline at end of file
src/components/FinancialModule/BasicDocuments.vue
View file @
7ddf539e
...
...
@@ -239,6 +239,7 @@
}
._zhuan_msg
{
font-size
:
12px
;
margin-top
:
10px
;
padding-bottom
:
10px
;
}
._zhuan_msg
span
{
...
...
@@ -468,12 +469,6 @@
</div>
</div>
<div
class=
"_right_content"
v-for=
"(son,sindex) in item.AuditRecordList"
v-if=
"son.AuditStatus!=2"
>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<span
class=
"_sm"
>
<p
class=
"_name"
>
<span
class=
"_n"
>
{{son.AuditName}}
</span>
...
...
@@ -481,6 +476,12 @@
<span
class=
"_sn"
v-if=
"son.AuditStatus==2"
>
通过
</span>
<span
class=
"_m"
v-if=
"son.AuditStatus==4"
>
驳回
</span>
</p>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
</span>
</div>
<textarea
v-if=
"item.SpecialNode!=2||AuditOrRefundMsg.Status=='3'"
class=
"_textarea"
v-model=
"AuditOrRefundMsg.Description"
placeholder=
"请输入..."
></textarea>
...
...
@@ -681,6 +682,12 @@
<p
class=
"_name _mgt_15"
v-for=
"(son,sindex) in item.AuditRecordList"
>
<span
class=
"_n"
>
{{son.AuditName}}
</span>
<span
class=
"_sm"
v-if=
"item.Status==1"
>
待审
</span>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
</p>
<textarea
v-if=
"item.SpecialNode!=2||AuditOrRefundMsg.Status=='3'"
class=
"_textarea"
v-model=
"AuditOrRefundMsg.Description"
placeholder=
"请输入..."
></textarea>
<!-- <textarea v-if="AuditOrRefundMsg.Status=='3'&&item.SpecialNode!=0" class="_textarea" v-model="AuditOrRefundMsg.Description" placeholder="请输入..."></textarea> -->
...
...
@@ -905,16 +912,16 @@
</div>
<div
class=
"_right_content"
v-else
>
<div
class=
"_more"
v-for=
"(son,sindex) in item.AuditRecordList"
>
<p
class=
"_name"
v-if=
"son.AuditStatus==2"
>
{{son.AuditName}}
<span
class=
"_sm"
>
{{item.AuditDescription}}
</span>
<span
class=
"_time _time_n"
>
{{son.AduitDate}}
</span>
</p>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<p
class=
"_name"
v-if=
"son.AuditStatus==2"
>
{{son.AuditName}}
<span
class=
"_sm"
>
{{item.AuditDescription}}
</span>
<span
class=
"_time _time_n"
>
{{son.AduitDate}}
</span>
</p>
</
template
>
<div
class=
"_right_content"
v-if=
"son.AuditStatus==2"
>
<div
class=
"_pp_info"
>
<p>
{{son.Remark?son.Remark:'无'}}
</p>
...
...
src/components/FinancialModule/FinancialDocuments.vue
View file @
7ddf539e
...
...
@@ -96,6 +96,7 @@
.w216
{
width
:
216px
;
}
._icon_btn
i
.icon-tiaozheng
{
background-color
:
#1296db
;
font-size
:
16px
;}
</
style
>
<
template
>
...
...
@@ -506,6 +507,9 @@
<el-tooltip
class=
"item"
effect=
"dark"
content=
"作废"
placement=
"top"
>
<i
v-if=
"((msg.Conditon==1 ||msg.Conditon==7) && (item.InOrNotProcess==1 || item.Status==3 || item.Status==0))"
class=
"iconfont icon-quxiao1"
@
click=
"financeRemove(item.FrID)"
></i>
</el-tooltip>
<el-tooltip
v-if=
"ActionMenuCode.indexOf('F_Update_TradeDate')!=-1"
class=
"item"
content=
"调整交易日期"
placement=
"top"
>
<i
v-if=
"msg.Conditon==2 && item.TradeDate"
class=
"iconfont icon-tiaozheng"
@
click=
"dialogFormVisible=true,updateMsg.FrID=item.FrID,updateMsg.OTradeDate=item.TradeDate"
></i>
</el-tooltip>
</td>
</tr>
</table>
...
...
@@ -554,6 +558,32 @@
<button
class=
"hollowFixedBtn"
@
click=
"zhuanBox=false"
>
{{$t('pub.cancelBtn')}}
</button>
</div>
</el-dialog>
<el-dialog
:title=
"'单号:' + updateMsg.FrID + ' 调整交易日期'"
width=
"400px"
:visible
.
sync=
"dialogFormVisible"
center
:before-close=
"closeChangeMachie"
>
<el-form
label-width=
"110px"
>
<el-form-item
label=
"原交易日期"
>
<el-date-picker
v-model=
"updateMsg.OTradeDate"
type=
"date"
:disabled=
'true'
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"交易日期"
>
<el-date-picker
v-model=
"updateMsg.TradeDate"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"说明"
>
<el-input
type=
"textarea"
v-model=
"updateMsg.Description"
class=
"w216"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"hollowFixedBtn"
@
click=
"dialogFormVisible=false"
>
取 消
</el-button>
<el-button
class=
"normalBtn"
type=
"primary"
@
click=
"UpdateTradeDate()"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
...
...
@@ -595,7 +625,7 @@ export default {
QEndDate
:
''
,
QStartDate
:
''
,
UpdateBy
:
''
,
Sort
:
'2'
,
Sort
:
'2'
,
},
getCompanyMsg
:{
// 公司
RB_Group_Id
:
'0'
,
...
...
@@ -620,6 +650,12 @@ export default {
WorkFlowId
:
0
,
Description
:
''
},
updateMsg
:{
FrID
:
0
,
OTradeDate
:
''
,
TradeDate
:
''
,
Description
:
''
},
DataList
:[],
GetFinancLogList
:[],
StatusList
:[],
...
...
@@ -659,8 +695,11 @@ export default {
DepartIDs
:
''
,
zhuanBox
:
false
,
loading2
:
false
,
dialogFormVisible
:
false
,
searchList
:[],
minHeight
:
400
,
//当前登录用户功能权限
ActionMenuCode
:
''
}
},
created
(){
...
...
@@ -693,6 +732,7 @@ export default {
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
this
.
employeeMsg
.
GroupId
=
this
.
getDepartmentMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
this
.
ActionMenuCode
=
userInfo
.
ActionMenuCode
;
this
.
DepartIDs
=
userInfo
.
RB_Department_Id
;
this
.
userId
=
userInfo
.
EmployeeId
;
this
.
financeinfo_post_GetList
();
...
...
@@ -713,6 +753,7 @@ export default {
},
zhuanBtn
(){
if
(
!
this
.
zhuanMsg
.
AuditEmId
)
return
this
.
$message
.
error
(
'请选择转交人'
);
if
(
!
this
.
zhuanMsg
.
Description
)
return
this
.
$message
.
error
(
'请填写转交备注'
);
let
msg
=
[];
msg
.
push
(
this
.
zhuanMsg
);
this
.
apipost
(
"Financial_post_Transfer"
,
msg
,
res
=>
{
...
...
@@ -726,6 +767,23 @@ export default {
}
},
err
=>
{});
},
goUrl
(){
this
.
dialogFormVisible
=
true
;
},
UpdateTradeDate
(){
if
(
!
this
.
updateMsg
.
TradeDate
)
return
this
.
$message
.
error
(
'请选择调整后的交易日期'
);
if
(
!
this
.
updateMsg
.
Description
)
return
this
.
$message
.
error
(
'请填写说明'
);
this
.
apipost
(
"Financial_get_SetTradeDate"
,
this
.
updateMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
dialogFormVisible
=
false
;
this
.
msg
.
Conditon
=
2
;
this
.
getPageList
();
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{});
},
remoteMethod
(
query
)
{
// 转交人模糊查询
if
(
query
!==
''
||
this
.
addShow
)
{
this
.
loading2
=
true
;
...
...
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
7ddf539e
...
...
@@ -232,6 +232,7 @@
}
._zhuan_msg
{
font-size
:
12px
;
margin-top
:
10px
;
padding-bottom
:
10px
;
}
._zhuan_msg
span
{
...
...
@@ -568,17 +569,17 @@
</p>
<div
class=
"_more _mgt_15"
v-for=
"(son,sindex) in item.AuditRecordList"
v-if=
"son.AuditStatus==2"
>
<div
class=
"_right_content"
>
<p
class=
"_name"
>
<span
class=
"_n PingFangSC"
>
{{
son
.
AuditName
}}
</span>
<span
class=
"_sn"
v-if=
"son.AuditStatus==2"
>
通过
</span>
<span
class=
"_time _time_n"
>
{{
son
.
AduitDate
}}
</span>
</p>
<template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<p
class=
"_name"
>
<span
class=
"_n PingFangSC"
>
{{son.AuditName}}
</span>
<span
class=
"_sn"
v-if=
"son.AuditStatus==2"
>
通过
</span>
<span
class=
"_time _time_n"
>
{{son.AduitDate}}
</span>
</p>
<div
class=
"_pp_info"
v-if=
"son.AuditStatus!=1"
>
<p>
{{son.Remark!=''?son.Remark:'无'}}
</p>
<div
class=
"_info_img"
v-if=
"son.Image!=null&&son.AuditStatus==2"
>
...
...
@@ -597,12 +598,6 @@
</div>
<div
class=
"_more _mgt_15"
v-for=
"(son,sindex) in item.AuditRecordList"
v-if=
"son.AuditStatus!=2"
>
<div
class=
"_right_content"
v-if=
"item.AuditWay==2&&son.AuditStatus!=2"
>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<p
class=
"_name"
>
<span
class=
"_n PingFangSC"
>
{{son.AuditName}}
</span>
<span
class=
"_sn"
v-if=
"son.AuditStatus==2"
>
通过
</span>
...
...
@@ -610,6 +605,12 @@
<span
class=
"_sm"
v-else-if=
"son.AuditStatus==1"
>
待审
</span>
<span
class=
"_time _time_n"
v-if=
"item.Status!=1"
>
{{son.AduitDate}}
</span>
</p>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<div
class=
"_pp_info"
v-if=
"item.Status!=1"
>
<p>
{{son.Remark!=''?son.Remark:'无'}}
</p>
<div
class=
"_info_img"
v-if=
"son.Image!=null&&item.Status!=1"
>
...
...
@@ -626,12 +627,6 @@
</div>
</div>
<div
class=
"_right_content"
v-else-if=
"item.AuditWay==3 && son.AuditStatus==1"
>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<p
class=
"_name"
>
<span
class=
"_n PingFangSC"
>
{{son.AuditName}}
</span>
<span
class=
"_sm"
v-if=
"item.Status==2 && item.Sort!=0"
>
通过
</span>
...
...
@@ -639,6 +634,12 @@
<span
class=
"_sm _left_radius_sus"
v-else-if=
"son.AuditStatus==1"
>
待审
</span>
<span
class=
"_time _time_n"
v-if=
"item.Status!=1"
>
{{son.AduitDate}}
</span>
</p>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<div
class=
"_pp_info"
v-if=
"item.Status!=1"
>
<p>
{{son.Remark!=''?son.Remark:'无'}}
</p>
<div
class=
"_info_img"
v-if=
"son.Image!=null&&item.Status!=1"
>
...
...
@@ -655,12 +656,6 @@
</div>
</div>
<div
class=
"_right_content"
v-else-if=
"item.AuditWay==3 && son.AuditStatus==4"
>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<p
class=
"_name"
>
<span
class=
"_n PingFangSC"
>
{{son.AuditName}}
</span>
<span
class=
"_sm"
v-if=
"item.Status==2 && item.Sort!=0"
>
通过
</span>
...
...
@@ -668,6 +663,12 @@
<span
class=
"_sm _left_radius_sus"
v-else-if=
"son.AuditStatus==1"
>
待审
</span>
<span
class=
"_time _time_n"
v-if=
"item.Status!=1"
>
{{son.AduitDate}}
</span>
</p>
<
template
v-if=
"son.CareOfRemarks"
>
<div
class=
"_zhuan_msg"
v-for=
"(z,zIndex) in JSON.parse(son.CareOfRemarks)"
>
<p><span>
由
</span>
{{
z
.
BeFrom
}}
<span><i
class=
"_color_green"
>
转交
</i>
给
</span>
{{
z
.
Target
}}
</p>
<p
class=
"_pp_info"
>
转交备注:
{{
z
.
Remarks
?
z
.
Remarks
:
'无'
}}
</p>
</div>
</
template
>
<div
class=
"_pp_info"
v-if=
"item.Status!=1"
>
<p>
{{son.Remark!=''?son.Remark:'无'}}
</p>
<div
class=
"_info_img"
v-if=
"son.Image!=null&&item.Status!=1"
>
...
...
src/components/SalesModule/saleReceivablesTotal.vue
View file @
7ddf539e
...
...
@@ -142,9 +142,9 @@
</
script
>
<
style
>
._bank_type
{
background-color
:
#2AAEF2
}
.
workTotalSearch
.
_bank_type
{
background-color
:
#2AAEF2
}
._bank_type2
{
background-color
:
#FF9C01
}
.
_bank_name
,
._bank_type
{
display
:
inline-block
;
background-color
:
#333333
;
color
:
white
;
padding
:
2px
4px
;
border-radius
:
4px
;
margin-left
:
10px
;}
.
workTotalSearch
._bank_name
,
.workTotalSearch
._bank_type
{
display
:
inline-block
;
background-color
:
#333333
;
color
:
white
;
padding
:
2px
4px
;
border-radius
:
4px
;
margin-left
:
10px
;}
._fex_cen
{
display
:
flex
;
align-items
:
center
}
.workTotalSearch
{
width
:
100%
;
min-height
:
auto
;
padding
:
0
0
20px
0
;}
.workTotalSearch
li
{
float
:
left
;
font-size
:
12px
;
color
:
#666
;
margin
:
20px
10px
0px
0
;}
...
...
src/components/confirmationOrderDownLoad.vue
View file @
7ddf539e
...
...
@@ -214,7 +214,7 @@
<div
class=
"zidingyi"
v-if=
"showType==3&&loadNone==false&&vshowC"
>
<div
v-html=
"feature.featureContent"
></div>
</div>
<div
class=
"template-box"
v-if=
"(showType
==4||showType==5
)&&loadNone==false&&vshowC"
>
<div
class=
"template-box"
v-if=
"(showType
>=4
)&&loadNone==false&&vshowC"
>
<div
v-if=
"vshowC"
class=
"module-title"
>
<h2>
行程特色
</h2>
<div
class=
"short-line"
></div>
...
...
@@ -648,7 +648,7 @@
let
tcid
=
this
.
$route
.
query
.
tcid
;
let
UploadUrl
=
this
.
domainManager
().
UploadUrl
let
_this
=
this
if
(
this
.
showType
===
4
||
this
.
showType
===
5
)
{
// 判断是否为行程特色
if
(
this
.
showType
>=
4
)
{
// 判断是否为行程特色
$
.
ajax
({
//调用是否已经存在文件夹接口判断是否进行上传图片操作
url
:
UploadUrl
+
'/Upload/GetImage?filePath=Feature/'
+
tcid
,
type
:
"POST"
,
...
...
@@ -658,7 +658,6 @@
if
(
msg
.
ResultCode
)
{
// 已经存在文件 直接调用下载
_this
.
ToWord
(
_this
.
orderMsg
.
startDate
+
_this
.
orderMsg
.
lineteamName
+
_this
.
orderMsg
.
dayNum
+
'日游'
,
isPc
)
}
else
{
// 不存在图片保存图片后下载
console
.
log
(
document
.
querySelector
(
"#gernalCanvas"
).
querySelectorAll
(
'img'
).
length
)
if
(
document
.
querySelector
(
"#gernalCanvas"
).
querySelectorAll
(
'img'
).
length
===
0
)
{
_this
.
ToWord
(
_this
.
orderMsg
.
startDate
+
_this
.
orderMsg
.
lineteamName
+
_this
.
orderMsg
.
dayNum
+
'日游'
,
isPc
)
return
...
...
@@ -674,7 +673,7 @@
let
cName
=
''
if
(
_this
.
showType
==
4
){
cName
=
'.feature-box'
}
else
if
(
_this
.
showType
==
5
){
}
else
if
(
_this
.
showType
>
4
){
cName
=
'.travle_page'
}
if
(
cName
!=
''
){
...
...
@@ -942,6 +941,8 @@
isShowVisa
:
this
.
vshowH
?
1
:
0
,
//isPc是否PC下载
isPc
:
isPc
,
//模板参数
templateId
:
this
.
showType
,
};
this
.
GetLocalFile
(
"DownLoadTripWord"
,
msg
,
title
+
".doc"
,
res
=>
{
this
.
pdfLoading
=
false
...
...
src/components/newTravelmanager/TravelGroupControl/TravelFeature.vue
View file @
7ddf539e
...
...
@@ -155,7 +155,7 @@
</div>
-->
<new-feature
ref=
'newFeature'
:data=
'FeatureData'
></new-feature>
</div>
<div
v-if=
"
FeatureData.FeatureType===FeatureTypeState.travelSpecial2
&& FeatureDataFlag"
>
<div
v-if=
"
(FeatureData.FeatureType===FeatureTypeState.travelSpecial2 || FeatureData.FeatureType===6 || FeatureData.FeatureType===7)
&& FeatureDataFlag"
>
<!--
<newFeature2
ref=
'newFeature2'
:data=
'FeatureData'
></newFeature2>
-->
<newFeature2
ref=
'newFeature2'
:FeatureData=
'FeatureData'
></newFeature2>
</div>
...
...
@@ -222,7 +222,7 @@
nineGrid
:
2
,
userDefined
:
3
,
travelSpecial
:
4
,
travelSpecial2
:
5
travelSpecial2
:
5
,
},
TypeArray
:
[{
ckTitle
:
"自定义"
,
...
...
@@ -249,27 +249,40 @@
TypeState
:
4
},
{
ckTitle
:
"行程特色
2
"
,
ckTitle
:
"行程特色
-黄
"
,
isShow
:
false
,
imgUrl
:
Travelslider
,
TypeState
:
5
},
{
ckTitle
:
"行程特色-粉"
,
isShow
:
false
,
imgUrl
:
Travelslider
,
TypeState
:
6
},
{
ckTitle
:
"行程特色-蓝"
,
isShow
:
false
,
imgUrl
:
Travelslider
,
TypeState
:
7
}
],
//tab数组
templateColorArray
:[
{
id
:
1
,
color
:
'yellow'
,
text
:
'
黄色
'
text
:
'
土黄黄
'
},
{
id
:
2
,
color
:
'pink'
,
text
:
'
粉色
'
text
:
'
樱桃粉
'
},
{
id
:
3
,
color
:
'blue'
,
text
:
'
蓝色
'
text
:
'
水蓝蓝
'
},
],
travelsList
:
[],
...
...
@@ -383,7 +396,6 @@
}
setTimeout
(()
=>
{
try
{
FeatureData
.
FeatureHtml
=
document
.
getElementById
(
"newFeatureBox"
).
innerHTML
;
}
catch
(
err
)
{
}
...
...
@@ -473,7 +485,7 @@
//切换tab事件
clickFeature
(
item
)
{
let
state
=
this
.
FeatureData
.
FeatureType
if
(
state
===
4
&&
item
.
TypeState
===
5
)
{
if
(
(
state
===
4
&&
item
.
TypeState
===
5
)
||
(
state
===
4
&&
item
.
TypeState
===
6
)
||
(
state
===
4
&&
item
.
TypeState
===
7
)
)
{
this
.
$confirm
(
'尊敬的用户,行程特色“1”切换为行程特色“2”将会清空行程特色“1”里面的所有内容,您确定切换吗?'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
...
...
src/components/newTravelmanager/TravelGroupControl/TravelTemp/travelFeature3.vue
View file @
7ddf539e
...
...
@@ -6,16 +6,16 @@
<!-- 酒店1 -->
<div
class=
"travel_hotel_1"
v-if=
"item === 0 && hotelObj.list!=null && hotelObj.list.length>0"
>
<div
class=
"hotel_1_header"
>
<img
class=
"hotel_1_header_bg"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/top-1.jpg
"
>
<img
class=
"hotel_1_header_bg2"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/title-1.png
"
>
<img
class=
"hotel_1_header_bg"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_top_$
{templateType}.jpg`
">
<img
class=
"hotel_1_header_bg2"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_title1_$
{templateType}.jpg`
">
<div
class=
"hotel_1_header_title"
>
<div>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.title.first"
></vEditDiv>
</div>
<div>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-5.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_5.jpg`
"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.title.second"
></vEditDiv>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-4.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_4.jpg`
"
>
</div>
</div>
</div>
...
...
@@ -93,13 +93,13 @@
</div>
</div>
<div
class=
"hotel_1_info_1_info"
>
<img
class=
"__flower"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/bg1.png
"
>
<img
class=
"__flower"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_bg_$
{templateType}.jpg`
">
<div
class=
"hotel_1_info_1_info_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-1.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_1.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"hotel_1_info_1_info_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2].name"
></vEditDiv></div>
<div
class=
"hotel_1_info_1_info_right_Ename"
><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2].Ename"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2].description"
></vEditDiv></div>
</div>
...
...
@@ -206,11 +206,11 @@
</div>
</div>
<div
class=
"hotel_1_info_2_bottom_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-1.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_1.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"hotel_1_info_2_bottom_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2+1].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2+1].name"
></vEditDiv></div>
<div
class=
"hotel_1_info_1_info_right_Ename"
><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2+1].Ename"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2+1].description"
></vEditDiv></div>
</div>
...
...
@@ -238,7 +238,7 @@
@
toDelete=
"bolckToDelete"
>
</vToolBar>
</div>
<img
class=
"hotel_2_info_1_bg"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/top-2.jpg
"
>
<img
class=
"hotel_2_info_1_bg"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_top2_$
{templateType}.jpg`
">
<div
class=
"hotel_2_info_1_content"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2].name"
></vEditDiv></div>
<div
class=
"hotel_1_info_1_info_right_Ename"
><vEditDiv
:canEdit=
'canEdit'
v-model=
"hotelObj.list[item*2].Ename"
></vEditDiv></div>
...
...
@@ -374,7 +374,7 @@
</div>
</div>
<div
class=
"hotel_2_info_2_top_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-1.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_1.jpg`
"
>
<div></div>
</div>
<div
class=
"hotel_2_info_2_top_right"
>
...
...
@@ -445,8 +445,8 @@
<!-- 景点1 -->
<div
class=
"travel_viewSpot_1"
v-if=
"item === 0"
>
<div
class=
"viewSpot_1_header"
>
<img
class=
"viewSpot_1_header_bg"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/top-1.jpg
"
>
<img
class=
"viewSpot_1_header_bg2"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/title-3.jpg
"
>
<img
class=
"viewSpot_1_header_bg"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_top_$
{templateType}.jpg`
">
<img
class=
"viewSpot_1_header_bg2"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_title2_$
{templateType}.jpg`
">
<div
class=
"viewSpot_1_header_title"
>
<div>
<div>
看见
</div>
...
...
@@ -454,9 +454,9 @@
<div>
之美
</div>
</div>
<div>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-5.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_5.jpg`
"
>
<div>
放慢旅途步伐·畅游自在假期
</div>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-4.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_4.jpg`
"
>
</div>
</div>
</div>
...
...
@@ -506,13 +506,13 @@
</div>
</div>
<div
class=
"viewSpot_1_info_1_info"
>
<img
class=
"__flower __flower_J"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/bg1.png
"
>
<img
class=
"__flower __flower_J"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_bg_$
{templateType}.jpg`
">
<div
class=
"viewSpot_1_info_1_info_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-3.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_3.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"viewSpot_1_info_1_info_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4].name"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4].description"
></vEditDiv></div>
</div>
</div>
...
...
@@ -597,11 +597,11 @@
</div>
</div>
<div
class=
"viewSpot_1_info_2_bottom_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-3.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_3.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"viewSpot_1_info_2_bottom_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].name"
></vEditDiv></div>
<div
class=
"hotel_1_info_1_info_right_Ename"
><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].Ename"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].description"
></vEditDiv></div>
</div>
...
...
@@ -631,11 +631,11 @@
</div>
<div
class=
"viewSpot_2_info_1_info"
>
<div
class=
"viewSpot_2_info_1_info_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-3.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_3.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"viewSpot_2_info_1_info_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4-2].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4-2].name"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4-2].description"
></vEditDiv></div>
</div>
</div>
...
...
@@ -722,15 +722,15 @@
</div>
<div
class=
"viewSpot_2_info_2"
>
<div
class=
"viewSpot_2_info_2_info_1"
v-if=
"viewSpotObj.list[item*4-1]"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4-1].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4-1].name"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4-1].description"
></vEditDiv></div>
</div>
<div
class=
"viewSpot_2_info_2_info_2"
v-if=
"viewSpotObj.list[item*4]"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4].name"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4].description"
></vEditDiv></div>
</div>
<div
class=
"viewSpot_2_info_2_info_3"
v-if=
"viewSpotObj.list[item*4+1]"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].name"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"viewSpotObj.list[item*4+1].description"
></vEditDiv></div>
</div>
<div
class=
"viewSpot_2_info_2_img"
v-if=
"viewSpotObj.list[item*4-1]"
>
...
...
@@ -883,8 +883,8 @@
<div
class=
"travle_page"
v-for=
"(item, index) in restaurantObj.pageList"
:key=
"'restaurant'+index"
v-if=
"restaurantObj.list.length>0"
>
<div
class=
"travel_restaurant_1"
>
<div
class=
"restaurant_1_header"
v-if=
"item === 0"
>
<img
class=
"restaurant_1_header_bg"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/top-1.jpg
"
>
<img
class=
"restaurant_1_header_bg2"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/title-3.jpg
"
>
<img
class=
"restaurant_1_header_bg"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_top_$
{templateType}.jpg`
">
<img
class=
"restaurant_1_header_bg2"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_title3_$
{templateType}.jpg`
">
<div
class=
"restaurant_1_header_title"
>
<div>
<div>
品尝
</div>
...
...
@@ -892,9 +892,9 @@
<div>
之味
</div>
</div>
<div>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-5.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_5.jpg`
"
>
<div>
特色美味,征服你的味蕾
</div>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-4.png
"
>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_4.jpg`
"
>
</div>
</div>
</div>
...
...
@@ -944,13 +944,13 @@
</div>
</div>
<div
class=
"restaurant_1_info_1_info"
>
<img
class=
"__flower __flower_J"
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/bg1.png
"
>
<img
class=
"__flower __flower_J"
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_bg_$
{templateType}.jpg`
">
<div
class=
"restaurant_1_info_1_info_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-2.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_2.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"restaurant_1_info_1_info_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2].name"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2].description"
></vEditDiv></div>
</div>
</div>
...
...
@@ -1059,11 +1059,11 @@
</div>
<div
class=
"restaurant_1_info_2_right_bottom"
>
<div
class=
"restaurant_1_info_2_right_bottom_left"
>
<img
src=
"https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/PictureMaterial/Web/icon-2.png
"
>
<div></div>
<img
:src=
"`https://reborndev.oss-cn-hangzhou.aliyuncs.com/Upload/BackgroundImg/featurebg/template_icon_2.jpg`
"
>
<div
:class=
"`template_bg_$
{templateType}`"
>
</div>
</div>
<div
class=
"restaurant_1_info_2_right_bottom_right"
>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2+1].name"
></vEditDiv></div>
<div
:class=
"`template_bg_$
{templateType}`"
>
<vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2+1].name"
></vEditDiv></div>
<div
class=
"hotel_1_info_1_info_right_Ename"
><vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2+1].Ename"
></vEditDiv></div>
<div><vEditDiv
:canEdit=
'canEdit'
v-model=
"restaurantObj.list[item*2+1].description"
></vEditDiv></div>
</div>
...
...
@@ -1157,6 +1157,7 @@
ReadOnly
:
false
,
jsonTravelFeature2
:
null
,
theFirstTime
:
true
,
templateType
:
"1"
}
},
methods
:
{
...
...
@@ -1873,6 +1874,19 @@
canEditChange: function (val) {
this.canEdit = val;
this.$forceUpdate()
},
setTemplateType: function () {
switch (this.FeatureData.FeatureType) {
case 5:
this.templateType = "
1
";
break;
case 6:
this.templateType = "
2
";
break;
case 7:
this.templateType = "
3
";
break;
}
}
},
computed: {
...
...
@@ -1897,9 +1911,27 @@
}
},
deep: true
},
"
FeatureData
.
FeatureType
":{
handler: function (val, oldVal) {
if (val !== oldVal)
this.setTemplateType()
},
deep: true
}
},
mounted: function () {
switch (this.FeatureData.FeatureType) {
case 5:
this.templateType = "
1
";
break;
case 6:
this.templateType = "
2
";
break;
case 7:
this.templateType = "
3
";
break;
}
this.MsgBus.$on('saveTravel', (val)=> {
this.ReadOnly = val;
this.theFirstTime = true;
...
...
src/plug/index.js
View file @
7ddf539e
...
...
@@ -4,835 +4,837 @@ import co from 'co'
import
OSS
from
'ali-oss'
import
MsgBus
from
'../assets/utils/msgBus'
export
default
{
data
:
{
loginUser
:
{},
apiurl
:
''
},
install
(
Vue
,
options
)
{
Vue
.
prototype
.
MsgBus
=
MsgBus
;
Vue
.
prototype
.
md5
=
md5
;
Vue
.
prototype
.
orderBy
=
function
(
source
,
orders
,
type
)
{
if
(
source
instanceof
Array
&&
orders
instanceof
Array
&&
orders
.
length
>
0
)
{
var
ordersc
=
orders
.
concat
([]);
var
sorttype
=
type
||
"asc"
;
var
results
=
[];
var
totalSum
=
{};
function
grouporder
(
source
,
orders
,
totalSum
)
{
source
.
sort
(
function
(
a
,
b
)
{
var
convertA
=
a
[
orders
[
0
]];
var
convertB
=
b
[
orders
[
0
]];
if
(
typeof
convertA
==
"string"
&&
typeof
convertB
==
"string"
)
{
if
(
sorttype
.
toUpperCase
()
==
"ASC"
)
{
return
convertA
.
localeCompare
(
convertB
);
}
else
{
return
convertB
.
localeCompare
(
convertA
);
}
}
else
{
if
(
sorttype
.
toUpperCase
()
==
"ASC"
)
{
return
convertA
-
convertB
;
}
else
{
return
convertB
-
convertA
;
}
}
});
var
groupmap
=
new
Map
();
source
.
forEach
(
item
=>
{
if
(
groupmap
.
has
(
item
[
orders
[
0
]]))
{
groupmap
.
get
(
item
[
orders
[
0
]]).
push
(
item
);
}
else
{
groupmap
.
set
(
item
[
orders
[
0
]],
[]);
groupmap
.
get
(
item
[
orders
[
0
]]).
push
(
item
);
}
});
orders
.
shift
();
for
(
let
[
key
,
val
]
of
groupmap
)
{
totalSum
[
key
]
=
{};
totalSum
[
key
].
name
=
key
;
totalSum
[
key
].
value
=
val
.
length
;
if
(
orders
.
length
==
0
)
{
results
=
results
.
concat
(
val
);
}
else
{
totalSum
[
key
].
children
=
{};
var
orderscopy
=
orders
.
concat
([]);
grouporder
(
val
,
orderscopy
,
totalSum
[
key
].
children
);
}
}
}
data
:
{
loginUser
:
{},
apiurl
:
''
},
install
(
Vue
,
options
)
{
Vue
.
prototype
.
MsgBus
=
MsgBus
;
Vue
.
prototype
.
md5
=
md5
;
Vue
.
prototype
.
orderBy
=
function
(
source
,
orders
,
type
)
{
if
(
source
instanceof
Array
&&
orders
instanceof
Array
&&
orders
.
length
>
0
)
{
var
ordersc
=
orders
.
concat
([]);
var
sorttype
=
type
||
"asc"
;
var
results
=
[];
var
totalSum
=
{};
function
grouporder
(
source
,
orders
,
totalSum
)
{
source
.
sort
(
function
(
a
,
b
)
{
var
convertA
=
a
[
orders
[
0
]];
var
convertB
=
b
[
orders
[
0
]];
if
(
typeof
convertA
==
"string"
&&
typeof
convertB
==
"string"
)
{
if
(
sorttype
.
toUpperCase
()
==
"ASC"
)
{
return
convertA
.
localeCompare
(
convertB
);
}
else
{
return
convertB
.
localeCompare
(
convertA
);
}
}
else
{
if
(
sorttype
.
toUpperCase
()
==
"ASC"
)
{
return
convertA
-
convertB
;
}
else
{
return
convertB
-
convertA
;
}
}
});
var
groupmap
=
new
Map
();
source
.
forEach
(
item
=>
{
if
(
groupmap
.
has
(
item
[
orders
[
0
]]))
{
groupmap
.
get
(
item
[
orders
[
0
]]).
push
(
item
);
}
else
{
groupmap
.
set
(
item
[
orders
[
0
]],
[]);
groupmap
.
get
(
item
[
orders
[
0
]]).
push
(
item
);
}
});
orders
.
shift
();
for
(
let
[
key
,
val
]
of
groupmap
)
{
totalSum
[
key
]
=
{};
totalSum
[
key
].
name
=
key
;
totalSum
[
key
].
value
=
val
.
length
;
if
(
orders
.
length
==
0
)
{
results
=
results
.
concat
(
val
);
}
else
{
totalSum
[
key
].
children
=
{};
var
orderscopy
=
orders
.
concat
([]);
grouporder
(
val
,
orderscopy
,
totalSum
[
key
].
children
);
}
}
}
grouporder
(
source
,
ordersc
,
totalSum
);
grouporder
(
source
,
ordersc
,
totalSum
);
return
{
results
:
results
,
totalSum
:
totalSum
};
}
else
{
return
source
;
}
},
Vue
.
prototype
.
calcPageSize
=
function
(
itemHeight
)
{
let
yuHeight
=
itemHeight
try
{
let
obj
=
null
document
.
querySelectorAll
(
'.frame-box'
).
forEach
(
x
=>
{
if
(
x
.
style
.
display
!=
'none'
)
{
obj
=
x
}
})
let
dom
=
obj
.
offsetHeight
yuHeight
=
dom
-
(
obj
.
querySelector
(
'.v-table-header'
)
?
obj
.
querySelector
(
'.v-table-header'
).
offsetHeight
:
39
)
-
50
//减去面包屑,减去表格头部,减去分页,减去偏量
//减去其它同级元素
obj
.
childNodes
[
0
].
childNodes
.
forEach
(
x
=>
{
if
(
x
.
className
&&
x
.
className
.
indexOf
(
'v-table-views'
)
==
-
1
)
{
yuHeight
-=
x
.
offsetHeight
?
x
.
offsetHeight
:
0
}
})
}
catch
(
error
)
{
console
.
log
(
error
)
}
return
Math
.
floor
(
yuHeight
/
itemHeight
)
return
{
results
:
results
,
totalSum
:
totalSum
};
}
else
{
return
source
;
}
},
Vue
.
prototype
.
calcPageSize
=
function
(
itemHeight
){
let
yuHeight
=
itemHeight
try
{
let
obj
=
null
document
.
querySelectorAll
(
'.frame-box'
).
forEach
(
x
=>
{
if
(
x
.
style
.
display
!=
'none'
){
obj
=
x
}
})
let
dom
=
obj
.
offsetHeight
yuHeight
=
dom
-
(
obj
.
querySelector
(
'.v-table-header'
)?
obj
.
querySelector
(
'.v-table-header'
).
offsetHeight
:
39
)
-
50
//减去面包屑,减去表格头部,减去分页,减去偏量
//减去其它同级元素
obj
.
childNodes
[
0
].
childNodes
.
forEach
(
x
=>
{
if
(
x
.
className
&&
x
.
className
.
indexOf
(
'v-table-views'
)
==-
1
){
yuHeight
-=
x
.
offsetHeight
?
x
.
offsetHeight
:
0
}
})
}
catch
(
error
)
{
console
.
log
(
error
)}
return
Math
.
floor
(
yuHeight
/
itemHeight
)
}
Vue
.
prototype
.
random_string
=
function
(
len
)
{
len
=
len
||
32
;
var
chars
=
'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
;
var
maxPos
=
chars
.
length
;
var
pwd
=
''
;
for
(
let
i
=
0
;
i
<
len
;
i
++
)
{
pwd
+=
chars
.
charAt
(
Math
.
floor
(
Math
.
random
()
*
maxPos
));
}
return
pwd
;
},
//是否是线上环境【发布时修改为true】
Vue
.
prototype
.
isOnline
=
function
()
{
return
process
.
env
.
NODE_ENV
!==
'development'
;
},
//域名管理对象
Vue
.
prototype
.
domainManager
=
function
()
{
let
domainUrl
=
''
;
let
locationName
=
window
.
location
.
hostname
;
domainUrl
=
"http://127.0.0.1"
;
//214主域名
// 127.0.0.12
// domainUrl = "http://192.168.2.88"; //王悦主域名
// domainUrl = "http://127.0.0.1"; //214主域名
// domainUrl = "http://192.168.2.16:8083"; //王悦主域名
// domainUrl = "http://127.0.0.1"; //214主域名
// domainUrl = "http://192.168.2.65:8025"; //吴春主域名
// domainUrl = "http://192.168.2.106:8082"; //罗超主域名
if
(
locationName
.
indexOf
(
'oytour'
)
!==-
1
)
{
domainUrl
=
"https://reborn.oytour.com"
;
}
else
if
(
locationName
.
indexOf
(
'viitto'
)
!==-
1
)
{
domainUrl
=
"https://test.viitto.com"
;
}
var
obj
=
{
//主地址
DomainUrl
:
domainUrl
,
//常用提交数据URL
PostUrl
:
domainUrl
+
"/api/common/post"
,
//上传文件URL
UploadFileUrl
:
domainUrl
+
'/api/File/post'
,
//本站模板文件下载地址
LocalTemplateFileDownLoadUrl
:
domainUrl
,
//阿里服务器地址
AliUrl
:
"https://reborndev.oss-cn-hangzhou.aliyuncs.com"
,
//本站文件流下载地址
LocalFileStreamDownLoadUrl
:
domainUrl
+
"/api/file/GetFileFromWebApi"
,
//PDF文件预览地址
PDFViewUrl
:
domainUrl
+
"/plug/pdf/web/viewer.html?file="
,
//SocketUrl
WebSocketUrl
:
"ws://192.168.1.110:8080?account="
,
//google地图Url
GoogleMapUrl
:
"http://ditu.google.cn/maps/api/js?key=AIzaSyAZ5MIfzicStzKbIkbI3RcBBeZBjQFKsp0&sensor=false&language=zh-CN"
,
//google地图图片地址
GoogleMapImageUrl
:
"http://super.oytour.com"
,
// "http://upload.oytour.com"
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://upload.oytour.com"
:
"http://127.0.0.1:8120"
,
// 读取文件
ViittoFileUrl
:
'http://imgfile.oytour.com'
// UploadUrl: "http://upload.oytour.com"
};
return
obj
;
},
Vue
.
prototype
.
yinyanFn
=
function
(
url
,
successCall
,
faildCall
)
{
this
.
$http
.
jsonp
(
url
,
)
.
then
(
res
=>
{
successCall
(
res
)
},
faildCall
)
},
//消息成功提示
Vue
.
prototype
.
Success
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"success"
});
},
//错误提示
Vue
.
prototype
.
Error
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"error"
});
},
//一般提示
Vue
.
prototype
.
Info
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"info"
});
},
//警告提示
Vue
.
prototype
.
Warning
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"warning"
});
},
//Confirm
Vue
.
prototype
.
Confirm
=
function
(
msg
,
callback
)
{
this
.
$confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
if
(
typeof
callback
===
'function'
)
{
callback
();
}
Vue
.
prototype
.
random_string
=
function
(
len
)
{
len
=
len
||
32
;
var
chars
=
'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
;
var
maxPos
=
chars
.
length
;
var
pwd
=
''
;
for
(
let
i
=
0
;
i
<
len
;
i
++
)
{
pwd
+=
chars
.
charAt
(
Math
.
floor
(
Math
.
random
()
*
maxPos
));
}
return
pwd
;
},
//是否是线上环境【发布时修改为true】
Vue
.
prototype
.
isOnline
=
function
()
{
return
process
.
env
.
NODE_ENV
!==
'development'
;
},
//域名管理对象
Vue
.
prototype
.
domainManager
=
function
()
{
let
domainUrl
=
''
;
let
locationName
=
window
.
location
.
hostname
;
// domainUrl = "http://127.0.0.1"; //214主域名
// 127.0.0.12
// domainUrl = "http://192.168.2.88"; //王悦主域名
// domainUrl = "http://127.0.0.1"; //214主域名
// domainUrl = "http://192.168.2.16:8083"; //王悦主域名
// domainUrl = "http://127.0.0.1"; //214主域名
domainUrl
=
"http://192.168.2.65:8025"
;
//吴春主域名
// domainUrl = "http://192.168.2.106:8082"; //罗超主域名
if
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
)
{
domainUrl
=
"https://reborn.oytour.com"
;
}
else
if
(
locationName
.
indexOf
(
'viitto'
)
!==
-
1
)
{
domainUrl
=
"https://test.viitto.com"
;
}
var
obj
=
{
//主地址
DomainUrl
:
domainUrl
,
//常用提交数据URL
PostUrl
:
domainUrl
+
"/api/common/post"
,
//上传文件URL
UploadFileUrl
:
domainUrl
+
'/api/File/post'
,
//本站模板文件下载地址
LocalTemplateFileDownLoadUrl
:
domainUrl
,
//阿里服务器地址
AliUrl
:
"https://reborndev.oss-cn-hangzhou.aliyuncs.com"
,
//本站文件流下载地址
LocalFileStreamDownLoadUrl
:
domainUrl
+
"/api/file/GetFileFromWebApi"
,
//PDF文件预览地址
PDFViewUrl
:
domainUrl
+
"/plug/pdf/web/viewer.html?file="
,
//SocketUrl
WebSocketUrl
:
"ws://192.168.1.110:8080?account="
,
//google地图Url
GoogleMapUrl
:
"http://ditu.google.cn/maps/api/js?key=AIzaSyAZ5MIfzicStzKbIkbI3RcBBeZBjQFKsp0&sensor=false&language=zh-CN"
,
//google地图图片地址
GoogleMapImageUrl
:
"http://super.oytour.com"
,
// "http://upload.oytour.com"
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://upload.oytour.com"
:
"http://127.0.0.1:8120"
// UploadUrl: "http://upload.oytour.com"
};
return
obj
;
},
Vue
.
prototype
.
yinyanFn
=
function
(
url
,
successCall
,
faildCall
)
{
this
.
$http
.
jsonp
(
url
,
)
.
then
(
res
=>
{
successCall
(
res
)
},
faildCall
)
},
//消息成功提示
Vue
.
prototype
.
Success
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"success"
});
},
//错误提示
Vue
.
prototype
.
Error
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"error"
});
},
})
.
catch
(()
=>
{
this
.
Info
(
"已取消操作"
);
});
},
//打开新窗口连接
Vue
.
prototype
.
OpenNewUrl
=
function
(
URL
)
{
if
(
URL
!=
''
)
{
window
.
open
(
'http://'
+
URL
,
'_blank'
);
}
}
Vue
.
prototype
.
uploadImg
=
function
(
tcID
,
msg
,
successCall
,
faildCall
)
{
var
apiurl
=
this
.
domainManager
().
Upload
+
'/Upload/UploadBase64?fileType=1&fileLimit=5&&filePath=Freature/TCID'
+
tcID
;
this
.
$http
.
post
(
apiurl
,
msg
,
{
datatype
:
"jsonP"
,
}).
then
(
res
=>
{
successCall
(
res
);
},
faildCall
)
}
//HTTP提交数据
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
}
var
apiurl
=
this
.
domainManager
().
PostUrl
;
var
timestamp
=
(
new
Date
()).
valueOf
();
this
.
apiurl
=
apiurl
;
if
(
this
.
$route
.
path
.
toLowerCase
()
==
"/signature"
)
{
this
.
$router
.
push
({
path
:
'/signature'
})
}
else
{
if
(
!
localStorage
.
userInfo
&&
localStorage
.
userInfo
!=
""
&&
this
.
$route
.
path
.
toLowerCase
()
!=
"/login"
)
{
this
.
$router
.
push
({
path
:
'/login'
})
}
}
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"msg"
:
msg
,
"cmd"
:
cmd
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Referer-Viitto'
:
this
.
$route
.
path
}
})
.
then
(
res
=>
{
if
(
res
.
data
.
resultCode
==
10000
||
res
.
data
.
resultCode
==
10001
)
{
this
.
$router
.
push
({
path
:
'/login'
});
}
else
if
(
res
.
resultCode
==
10005
)
{
this
.
$router
.
go
(
-
1
);
}
else
{
successCall
(
res
);
}
},
faildCall
)
},
//下载文件
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
successCall
)
{
var
apiurl
=
this
.
domainManager
().
LocalFileStreamDownLoadUrl
;
var
timestamp
=
(
new
Date
()).
valueOf
();
if
(
!
localStorage
.
userInfo
&&
localStorage
.
userInfo
!=
""
&&
this
.
$route
.
path
.
toLowerCase
()
!=
"/login"
)
{
this
.
$router
.
push
({
path
:
'/login'
})
}
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"msg"
:
msg
,
"cmd"
:
cmd
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
responseType
:
'arraybuffer'
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
})
let
url
=
URL
.
createObjectURL
(
blob
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
successCall
(
res
);
}).
catch
(
function
(
res
)
{});
},
Vue
.
prototype
.
getCookieItem
=
function
()
{
return
JSON
.
parse
(
this
.
getCookie
(
"userInfo"
))
},
Vue
.
prototype
.
getLocalStorage
=
function
()
{
var
localStorageData
=
window
.
localStorage
[
"userInfo"
];
if
(
localStorageData
!==
undefined
&&
localStorageData
!=
'undefined'
)
{
return
JSON
.
parse
(
localStorageData
);
}
else
{
return
null
;
}
},
Vue
.
prototype
.
getCookie
=
function
(
cookieName
)
{
var
strCookie
=
document
.
cookie
;
var
arrCookie
=
strCookie
.
split
(
"; "
);
for
(
var
i
=
0
;
i
<
arrCookie
.
length
;
i
++
)
{
var
arr
=
arrCookie
[
i
].
split
(
"="
);
if
(
cookieName
==
arr
[
0
])
{
return
arr
[
1
];
}
}
return
""
;
},
Vue
.
prototype
.
getLoginUser
=
function
()
{
return
this
.
loginUser
},
Vue
.
prototype
.
setLoginUser
=
function
(
user
)
{
this
.
loginUser
=
user
}
//PDF预览
Vue
.
prototype
.
previewPDF
=
function
(
url
)
{
window
.
open
(
this
.
domainManager
().
PDFViewUrl
+
url
);
},
Vue
.
prototype
.
downloadFile
=
function
(
objectKey
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
oss
.
signatureUrl
(
objectKey
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
},
Vue
.
prototype
.
downloadFileRename
=
function
(
objectKey
,
filename
,
fileurl
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
''
;
if
(
fileurl
)
url
=
fileurl
else
url
=
oss
.
signatureUrl
(
objectKey
);
let
getBlob
=
new
Promise
(
resolve
=>
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'GET'
,
url
,
true
);
xhr
.
responseType
=
'blob'
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
resolve
(
xhr
.
response
);
}
};
xhr
.
send
();
});
getBlob
.
then
(
blob
=>
{
if
(
window
.
navigator
.
msSaveOrOpenBlob
)
{
navigator
.
msSaveBlob
(
blob
,
filename
);
}
else
{
const
link
=
document
.
createElement
(
'a'
);
const
body
=
document
.
querySelector
(
'body'
);
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
download
=
filename
;
link
.
style
.
display
=
'none'
;
body
.
appendChild
(
link
);
link
.
click
();
body
.
removeChild
(
link
);
window
.
URL
.
revokeObjectURL
(
link
.
href
);
}
});
},
Vue
.
prototype
.
getFileBlob
=
function
(
objectKey
,
filename
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
oss
.
signatureUrl
(
objectKey
);
let
getBlob
=
new
Promise
(
resolve
=>
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'GET'
,
url
,
true
);
xhr
.
responseType
=
'blob'
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
resolve
(
xhr
.
response
);
}
};
xhr
.
send
();
});
return
getBlob
},
//path 请按照"/模块名称/用户ID/自定义文件夹/" /谁搞错一次5块红包
//files 文件数组
//p 进度回调函数
Vue
.
prototype
.
uploadFile
=
function
(
path
,
files
,
successCall
)
{
if
(
files
&&
files
.
length
>
0
)
{
let
nameList
=
new
Array
()
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
nameList
.
push
(
this
.
random_string
());
}
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
that
=
this
co
(
function
*
()
{
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
let
fileName
=
nameList
[
index
]
fileName
=
path
+
fileName
+
"."
+
files
[
index
].
name
.
split
(
'.'
).
pop
()
var
result
=
yield
oss
.
multipartUpload
(
fileName
,
files
[
index
],
{
progress
:
function
*
(
p
)
{},
mime
:
'application/octet-stream'
})
successCall
(
result
);
}
}).
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
},
Vue
.
prototype
.
uploadBlob
=
function
(
path
,
files
,
successCall
)
{
if
(
files
&&
files
.
length
>
0
)
{
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
that
=
this
co
(
function
*
()
{
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
var
result
=
yield
oss
.
multipartUpload
(
path
,
files
[
index
],
{
progress
:
function
*
(
p
)
{},
mime
:
'application/octet-stream'
})
successCall
(
result
);
}
}).
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
},
//验证只能输入2位小数【负数:isMinus传true】
Vue
.
prototype
.
checkPrice
=
function
(
item
,
filed
,
isMinus
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
t
=
value
.
charAt
(
0
);
value
=
value
.
replace
(
/
[^\d
.
]
/g
,
""
);
//清除“数字”和“.”以外的字符
value
=
value
.
replace
(
/
\.{2,}
/g
,
"."
);
//只保留第一个. 清除多余的
value
=
value
.
replace
(
"."
,
"$#$"
)
.
replace
(
/
\.
/g
,
""
)
.
replace
(
"$#$"
,
"."
);
value
=
value
.
replace
(
/^
(\-)
*
(\d
+
)\.(\d\d)
.*$/
,
'$1$2.$3'
);
//只能输入两个小数
//如果第一位是负号,则允许添加 如果不允许添加负号 可以把这块注释掉
//是否允许负数
if
(
isMinus
&&
t
==
'-'
)
{
value
=
'-'
+
value
;
}
item
[
filed
]
=
value
;
}
//验证输入6位小数汇率
Vue
.
prototype
.
checkRate
=
function
(
item
,
filed
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
p1
=
/
[^\d\.]
/g
;
// 过滤非数字及小数点 /g :所有范围中过滤
var
p2
=
/
(\.\d{6})\d
*$/g
;
var
p4
=
/
(\.)(\d
*
)\1
/g
;
value
=
value
.
replace
(
p1
,
""
).
replace
(
p2
,
"$1"
).
replace
(
p4
,
"$1$2"
);
value
=
value
.
replace
(
/
[^
0-9.
]
/g
,
''
);
var
p5
=
/
\.
+/g
;
//多个点的话只取1个点,屏蔽1....234的情况
value
=
value
.
replace
(
p5
,
"."
)
var
p6
=
/
(\.
+
)(\d
+
)(\.
+
)
/g
;
//屏蔽1....234.的情况
value
=
value
.
replace
(
p6
,
"$1$2"
)
// 屏蔽最后一位的.
item
[
filed
]
=
value
;
}
//一般提示
Vue
.
prototype
.
Info
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"info"
});
},
//警告提示
Vue
.
prototype
.
Warning
=
function
(
msg
)
{
this
.
$message
({
message
:
msg
,
duration
:
2000
,
type
:
"warning"
});
},
//Confirm
Vue
.
prototype
.
Confirm
=
function
(
msg
,
callback
)
{
this
.
$confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
if
(
typeof
callback
===
'function'
)
{
callback
();
}
})
.
catch
(()
=>
{
this
.
Info
(
"已取消操作"
);
});
},
//验证只能输入整数【负数:isMinus传true】
Vue
.
prototype
.
checkInteger
=
function
(
item
,
filed
,
isMinus
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
t
=
value
.
charAt
(
0
);
value
=
value
.
replace
(
this
.
$commonUtils
.
Regex
.
isInteger
,
""
);
//是否允许负数
if
(
isMinus
&&
t
==
'-'
)
{
value
=
'-'
+
value
;
}
item
[
filed
]
=
value
;
}
//打开新窗口连接
Vue
.
prototype
.
OpenNewUrl
=
function
(
URL
)
{
if
(
URL
!=
''
)
{
window
.
open
(
'http://'
+
URL
,
'_blank'
);
}
}
//价钱格式化,三位数逗号分隔,保留两位小数 duanjun
Vue
.
prototype
.
moneyFormat
=
function
(
value
)
{
let
nStr
=
Number
(
value
).
toFixed
(
2
)
nStr
+=
''
;
let
x
=
nStr
.
split
(
'.'
);
let
x1
=
x
[
0
];
let
x2
=
x
.
length
>
1
?
'.'
+
x
[
1
]
:
''
;
var
rgx
=
/
(\d
+
)(\d{3})
/
;
while
(
rgx
.
test
(
x1
))
{
x1
=
x1
.
replace
(
rgx
,
'$1'
+
','
+
'$2'
);
}
return
x1
+
x2
;
},
Vue
.
prototype
.
uploadImg
=
function
(
tcID
,
msg
,
successCall
,
faildCall
)
{
var
apiurl
=
this
.
domainManager
().
Upload
+
'/Upload/UploadBase64?fileType=1&fileLimit=5&&filePath=Freature/TCID'
+
tcID
;
this
.
$http
.
post
(
apiurl
,
msg
,
{
datatype
:
"jsonP"
,
}).
then
(
res
=>
{
successCall
(
res
);
},
faildCall
)
}
//HTTP提交数据
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
}
var
apiurl
=
this
.
domainManager
().
PostUrl
;
var
timestamp
=
(
new
Date
()).
valueOf
();
this
.
apiurl
=
apiurl
;
if
(
this
.
$route
.
path
.
toLowerCase
()
==
"/signature"
)
{
this
.
$router
.
push
({
path
:
'/signature'
})
}
else
{
if
(
!
localStorage
.
userInfo
&&
localStorage
.
userInfo
!=
""
&&
this
.
$route
.
path
.
toLowerCase
()
!=
"/login"
)
{
this
.
$router
.
push
({
path
:
'/login'
})
}
}
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"msg"
:
msg
,
"cmd"
:
cmd
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Referer-Viitto'
:
this
.
$route
.
path
}
})
.
then
(
res
=>
{
if
(
res
.
data
.
resultCode
==
10000
||
res
.
data
.
resultCode
==
10001
)
{
this
.
$router
.
push
({
path
:
'/login'
});
}
else
if
(
res
.
resultCode
==
10005
)
{
this
.
$router
.
go
(
-
1
);
}
else
{
successCall
(
res
);
}
},
faildCall
)
},
Vue
.
prototype
.
loadFileICON
=
function
(
suffix
)
{
let
icons
=
[{
"name"
:
"
\
u7f51
\
u76d8BT
\
u79bb
\
u7ebf
\
u4e0b
\
u8f7d"
,
//下载文件
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
successCall
)
{
var
apiurl
=
this
.
domainManager
().
LocalFileStreamDownLoadUrl
;
var
timestamp
=
(
new
Date
()).
valueOf
();
if
(
!
localStorage
.
userInfo
&&
localStorage
.
userInfo
!=
""
&&
this
.
$route
.
path
.
toLowerCase
()
!=
"/login"
)
{
this
.
$router
.
push
({
path
:
'/login'
})
}
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"msg"
:
msg
,
"cmd"
:
cmd
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
responseType
:
'arraybuffer'
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
})
let
url
=
URL
.
createObjectURL
(
blob
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
successCall
(
res
);
}).
catch
(
function
(
res
)
{});
},
Vue
.
prototype
.
getCookieItem
=
function
()
{
return
JSON
.
parse
(
this
.
getCookie
(
"userInfo"
))
},
Vue
.
prototype
.
getLocalStorage
=
function
()
{
var
localStorageData
=
window
.
localStorage
[
"userInfo"
];
if
(
localStorageData
!==
undefined
&&
localStorageData
!=
'undefined'
)
{
return
JSON
.
parse
(
localStorageData
);
}
else
{
return
null
;
}
"filesType"
:
"*.bt,*.torrent"
,
"filesIcon"
:
{
"bt"
:
[
"fileicon-small-bt"
,
"fileicon-large-bt"
,
"fileicon-middle-bt"
],
"torrent"
:
[
"fileicon-small-bt"
,
"fileicon-large-bt"
,
"fileicon-middle-bt"
]
},
Vue
.
prototype
.
getCookie
=
function
(
cookieName
)
{
var
strCookie
=
document
.
cookie
;
var
arrCookie
=
strCookie
.
split
(
"; "
);
for
(
var
i
=
0
;
i
<
arrCookie
.
length
;
i
++
)
{
var
arr
=
arrCookie
[
i
].
split
(
"="
);
if
(
cookieName
==
arr
[
0
])
{
return
arr
[
1
];
}
}
return
""
;
"entranceFile"
:
"file-widget-1:bt
\
/start.js"
},
{
"name"
:
"
\
u6d69
\
u8fb0CAD"
,
"group"
:
"com.gstarcad.web"
,
"notSupport"
:
"ie6"
,
"filesIcon"
:
{
"dws"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"dwt"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"dxf"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"dwg"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"cad"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
]
},
Vue
.
prototype
.
getLoginUser
=
function
()
{
return
this
.
loginUser
"entranceFile"
:
"file-widget-1:cad
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u4ee3
\
u7801
\
u9605
\
u8bfb
\
u5668"
,
"notSupport"
:
"ie"
,
"filesType"
:
"*.txt,*.as,*.sh,*.c,*.cpp,*.h,*.cs,*.asp,*.css,*.pas,*.diff,*.patch,*.erl,*.groovy,*.java,*.jsp,*.js,*.json,*.pl,*.php,*.py,*.rb,*.sass,*.scss,*.scala,*.sql,*.vb,*.xml,*.xhtml,*.html,*.htm,*.md,*.less,*.lua,*.go,*.bat,*.wml"
,
"filesIcon"
:
{
"as"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"sh"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"c"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"cpp"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"h"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"cs"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"asp"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"css"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"pas"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"diff"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"patch"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"erl"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"groovy"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"java"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"jsp"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"js"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"json"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"pl"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"php"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"py"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"rb"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"sass"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"scss"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"scala"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"sql"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"vb"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"xml"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"xhtml"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"html"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"htm"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"md"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"less"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"lua"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"go"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"bat"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"wml"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
]
},
Vue
.
prototype
.
setLoginUser
=
function
(
user
)
{
this
.
loginUser
=
user
}
//PDF预览
Vue
.
prototype
.
previewPDF
=
function
(
url
)
{
window
.
open
(
this
.
domainManager
().
PDFViewUrl
+
url
);
"entranceFile"
:
"file-widget-1:codeReader
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u89e3
\
u538b
\
u7f29"
,
"filesType"
:
"*.rar,*.zip"
,
"notSupport"
:
"ie6"
,
"filesIcon"
:
{
"rar"
:
[
"fileicon-small-zip"
,
"fileicon-large-zip"
,
"fileicon-middle-zip"
],
"zip"
:
[
"fileicon-small-zip"
,
"fileicon-large-zip"
,
"fileicon-middle-zip"
]
},
Vue
.
prototype
.
downloadFile
=
function
(
objectKey
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
oss
.
signatureUrl
(
objectKey
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
"depsFiles"
:
[
"file-widget-1:zip
\
/util
\
/css
\
/fileUnzip.css"
,
"file-widget-1:zip
\
/util
\
/css
\
/list-view.css"
],
"entranceFile"
:
"file-widget-1:zip
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u6587
\
u6863
\
u9605
\
u8bfb
\
u5668"
,
"filesType"
:
"*.txt,*.pdf,*.doc,*.docx,*.ppt,*.pptx,*.xls,*.xlsx,*.rtf"
,
"filesIcon"
:
{
"txt"
:
[
"fileicon-small-txt"
,
"fileicon-large-txt"
,
"fileicon-middle-txt"
],
"rtf"
:
[
"fileicon-small-txt"
,
"fileicon-large-txt"
,
"fileicon-middle-txt"
],
"pdf"
:
[
"fileicon-small-pdf"
,
"fileicon-large-pdf"
,
"fileicon-middle-pdf"
],
"doc"
:
[
"fileicon-small-doc"
,
"fileicon-large-doc"
,
"fileicon-middle-doc"
],
"docx"
:
[
"fileicon-small-doc"
,
"fileicon-large-doc"
,
"fileicon-middle-doc"
],
"ppt"
:
[
"fileicon-small-ppt"
,
"fileicon-large-ppt"
,
"fileicon-middle-ppt"
],
"pptx"
:
[
"fileicon-small-ppt"
,
"fileicon-large-ppt"
,
"fileicon-middle-ppt"
],
"xls"
:
[
"fileicon-small-xls"
,
"fileicon-large-xls"
,
"fileicon-middle-xls"
],
"xlsx"
:
[
"fileicon-small-xls"
,
"fileicon-large-xls"
,
"fileicon-middle-xls"
],
"vsd"
:
[
"fileicon-small-vsd"
,
"fileicon-large-vsd"
,
"fileicon-middle-vsd"
]
},
Vue
.
prototype
.
downloadFileRename
=
function
(
objectKey
,
filename
,
fileurl
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
''
;
if
(
fileurl
)
url
=
fileurl
else
url
=
oss
.
signatureUrl
(
objectKey
);
let
getBlob
=
new
Promise
(
resolve
=>
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'GET'
,
url
,
true
);
xhr
.
responseType
=
'blob'
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
resolve
(
xhr
.
response
);
}
};
xhr
.
send
();
});
getBlob
.
then
(
blob
=>
{
if
(
window
.
navigator
.
msSaveOrOpenBlob
)
{
navigator
.
msSaveBlob
(
blob
,
filename
);
}
else
{
const
link
=
document
.
createElement
(
'a'
);
const
body
=
document
.
querySelector
(
'body'
);
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
download
=
filename
;
link
.
style
.
display
=
'none'
;
body
.
appendChild
(
link
);
link
.
click
();
body
.
removeChild
(
link
);
window
.
URL
.
revokeObjectURL
(
link
.
href
);
}
});
"depsFiles"
:
[
"file-widget-1:doc
\
/util
\
/docReader.css"
,
"file-widget-1:doc
\
/pdfJsReader
\
/pdfJsReader.less"
,
"base:thirdParty
\
/pdfjs
\
/_nomd5_nomod
\
/web
\
/trans-viewer.less"
,
"base:thirdParty
\
/pdfjs
\
/_nomd5_nomod
\
/web
\
/viewer.less"
],
"entranceFile"
:
"file-widget-1:doc
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u56fe
\
u7247
\
u9884
\
u89c8"
,
"filesType"
:
"*.jpg,*.jpeg,*.livp,*.gif,*bmp,*.png,*jpe,*.cur,*.svgz,*.ico,*.heic,*.heif,*.avci,*.webp"
,
"filesIcon"
:
{
"jpg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpeg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"livp"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"gif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"bmp"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"png"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpe"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"cur"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"svgz"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tiff"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"ico"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"heic"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"heif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"avci"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
]
},
Vue
.
prototype
.
getFileBlob
=
function
(
objectKey
,
filename
)
{
var
co
=
require
(
'co'
);
var
OSS
=
require
(
'ali-oss'
);
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
url
=
oss
.
signatureUrl
(
objectKey
);
let
getBlob
=
new
Promise
(
resolve
=>
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'GET'
,
url
,
true
);
xhr
.
responseType
=
'blob'
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
resolve
(
xhr
.
response
);
}
};
xhr
.
send
();
});
return
getBlob
"depsFiles"
:
[
"file-widget-1:image
\
/util
\
/picCategory-dialog
\
/css
\
/picCategory-dialog.css"
,
"file-widget-1:image
\
/util
\
/picPreview
\
/css
\
/picPreview.css"
,
"file-widget-1:image
\
/util
\
/picPreviewAside
\
/css
\
/picPreviewAside.css"
,
"file-widget-1:image
\
/util
\
/showPic
\
/css
\
/showPic.css"
,
"file-widget-1:image
\
/util
\
/thumbnailPic
\
/css
\
/thumbnailPic.css"
,
"base:thirdParty
\
/videojs
\
/_nomd5_nomod
\
/video-js.css"
],
"entranceFile"
:
"file-widget-1:image
\
/start.js"
},
{
"name"
:
"
\
u767e
\
u5ea6
\
u8111
\
u56fe"
,
"group"
:
"com.baidu.naotu"
,
"filesType"
:
"*.mmap,*.xmind,*.mm"
,
"notSupport"
:
"ie6"
,
"filesIcon"
:
{
"mmap"
:
[
"fileicon-small-mmap"
,
"fileicon-large-mmap"
,
"fileicon-middle-mmap"
],
"xmind"
:
[
"fileicon-small-xmind"
,
"fileicon-large-xmind"
,
"fileicon-middle-xmind"
],
"mm"
:
[
"fileicon-small-mm"
,
"fileicon-large-mm"
,
"fileicon-middle-mm"
]
},
//path 请按照"/模块名称/用户ID/自定义文件夹/" /谁搞错一次5块红包
//files 文件数组
//p 进度回调函数
Vue
.
prototype
.
uploadFile
=
function
(
path
,
files
,
successCall
)
{
if
(
files
&&
files
.
length
>
0
)
{
let
nameList
=
new
Array
()
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
nameList
.
push
(
this
.
random_string
());
}
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
that
=
this
co
(
function
*
()
{
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
let
fileName
=
nameList
[
index
]
fileName
=
path
+
fileName
+
"."
+
files
[
index
].
name
.
split
(
'.'
).
pop
()
var
result
=
yield
oss
.
multipartUpload
(
fileName
,
files
[
index
],
{
progress
:
function
*
(
p
)
{},
mime
:
'application/octet-stream'
})
successCall
(
result
);
}
}).
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
"entranceFile"
:
"file-widget-1:mindmap
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u97f3
\
u9891
\
u64ad
\
u653e
\
u5668"
,
"notSupport"
:
"ie6"
,
"filesType"
:
"*.wma,*.wav,*.mp3,*.aac,*.ra,*.ram,*.mp2,*.ogg,*.aif,*.mpega,*.amr,*.mid,*.midi,*.m4a"
,
"filesIcon"
:
{
"wma"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"wav"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mp3"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"aac"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"ra"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"ram"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mp2"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"ogg"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"aif"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mpega"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"amr"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mid"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"midi"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"m4a"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
]
},
Vue
.
prototype
.
uploadBlob
=
function
(
path
,
files
,
successCall
)
{
if
(
files
&&
files
.
length
>
0
)
{
var
oss
=
new
OSS
({
region
:
'oss-cn-hangzhou'
,
accessKeyId
:
'LTAIwE7l9dImZSa3'
,
accessKeySecret
:
'j47Ajn0d0WzUCIX8Biyj3P2r8QDltI'
,
bucket
:
'reborndev'
})
let
that
=
this
co
(
function
*
()
{
for
(
let
index
=
0
;
index
<
files
.
length
;
index
++
)
{
var
result
=
yield
oss
.
multipartUpload
(
path
,
files
[
index
],
{
progress
:
function
*
(
p
)
{},
mime
:
'application/octet-stream'
})
successCall
(
result
);
}
}).
catch
(
function
(
err
)
{
console
.
log
(
err
);
});
}
"buttons"
:
[{
"title"
:
"
\
u97f3
\
u4e50
\
u64ad
\
u653e"
,
"name"
:
"play-music"
,
"position"
:
"listTools"
,
"index"
:
2
,
"disabled"
:
"none"
,
"icon"
:
"icon-play"
,
"buttonStyle"
:
"normal"
,
"conditions"
:
{
"pageModule"
:
"list,share,search,category,searchGlobal"
,
"filesType"
:
"wma,wav,mp3,aac,ra,ram,mp2,ogg,aif,mpega,amr,mid,midi,m4a"
,
"filesTypeStrongMatch"
:
true
}
}],
"depsFiles"
:
[
"file-widget-1:musicPlay
\
/util
\
/mbox
\
/musicbox.css"
],
"entranceFile"
:
"file-widget-1:musicPlay
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u5927
\
u56fe
\
u9884
\
u89c8"
,
"filesType"
:
"*.jpg,*.jpeg,*.gif,*bmp,*.png,*jpe,*.cur,*.svgz,*.ico"
,
"filesIcon"
:
{
"jpg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpeg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"gif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"bmp"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"png"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpe"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"cur"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"svgz"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tiff"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"ico"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
]
},
//验证只能输入2位小数【负数:isMinus传true】
Vue
.
prototype
.
checkPrice
=
function
(
item
,
filed
,
isMinus
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
t
=
value
.
charAt
(
0
);
value
=
value
.
replace
(
/
[^\d
.
]
/g
,
""
);
//清除“数字”和“.”以外的字符
value
=
value
.
replace
(
/
\.{2,}
/g
,
"."
);
//只保留第一个. 清除多余的
value
=
value
.
replace
(
"."
,
"$#$"
)
.
replace
(
/
\.
/g
,
""
)
.
replace
(
"$#$"
,
"."
);
value
=
value
.
replace
(
/^
(\-)
*
(\d
+
)\.(\d\d)
.*$/
,
'$1$2.$3'
);
//只能输入两个小数
//如果第一位是负号,则允许添加 如果不允许添加负号 可以把这块注释掉
//是否允许负数
if
(
isMinus
&&
t
==
'-'
)
{
value
=
'-'
+
value
;
}
item
[
filed
]
=
value
;
"depsFiles"
:
[
"file-widget-1:preview
\
/picPreview.css"
],
"entranceFile"
:
"file-widget-1:preview
\
/start.js"
},
{
"name"
:
"sysIcon"
,
"filesType"
:
"*.exe,*.msi,*.dmg,*.pkg,*.psd,*.apk,*.key,*.ai,*.ipa"
,
"filesIcon"
:
{
"exe"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-exe"
],
"msi"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-exe"
],
"dmg"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-dmg"
],
"pkg"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-dmg"
],
"psd"
:
[
"fileicon-sys-s-psd"
,
"fileicon-sys-l-psd"
],
"apk"
:
[
"fileicon-sys-s-apk"
,
"fileicon-sys-l-apk"
],
"key"
:
[
"fileicon-sys-s-key"
,
"fileicon-sys-l-key"
],
"ai"
:
[
"fileicon-sys-s-ai"
,
"fileicon-sys-l-ai"
],
"ipa"
:
[
"fileicon-sys-s-ipa"
,
"fileicon-sys-l-ipa"
],
"pages"
:
[
"fileicon-sys-s-pages"
,
"fileicon-sys-l-pages"
],
"numbers"
:
[
"fileicon-sys-s-numbers"
,
"fileicon-sys-l-numbers"
],
"eot"
:
[
"fileicon-sys-s-fonts"
,
"fileicon-sys-l-fonts"
],
"ttf"
:
[
"fileicon-sys-s-fonts"
,
"fileicon-sys-l-fonts"
],
"woff"
:
[
"fileicon-sys-s-fonts"
,
"fileicon-sys-l-fonts"
],
"eps"
:
[
"fileicon-sys-s-eps"
,
"fileicon-sys-l-eps"
],
"lnk"
:
[
"fileicon-sys-s-links"
,
"fileicon-sys-l-links"
],
"link"
:
[
"fileicon-sys-s-links"
,
"fileicon-sys-l-links"
],
"swf"
:
[
"fileicon-sys-s-swf"
,
"fileicon-sys-l-swf"
],
"php"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"c"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"js"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"css"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"html"
:
[
"fileicon-sys-s-web"
,
"fileicon-sys-l-web"
],
"htm"
:
[
"fileicon-sys-s-web"
,
"fileicon-sys-l-web"
],
"xhtml"
:
[
"fileicon-sys-s-web"
,
"fileicon-sys-l-web"
],
"java"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"cc"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"python"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"json"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"sh"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"bat"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"ejs"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"xml"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"ts"
:
[
"fileicon-sys-s-video"
,
"fileicon-sys-l-video"
]
}
//验证输入6位小数汇率
Vue
.
prototype
.
checkRate
=
function
(
item
,
filed
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
p1
=
/
[^\d\.]
/g
;
// 过滤非数字及小数点 /g :所有范围中过滤
var
p2
=
/
(\.\d{6})\d
*$/g
;
var
p4
=
/
(\.)(\d
*
)\1
/g
;
value
=
value
.
replace
(
p1
,
""
).
replace
(
p2
,
"$1"
).
replace
(
p4
,
"$1$2"
);
value
=
value
.
replace
(
/
[^
0-9.
]
/g
,
''
);
var
p5
=
/
\.
+/g
;
//多个点的话只取1个点,屏蔽1....234的情况
value
=
value
.
replace
(
p5
,
"."
)
var
p6
=
/
(\.
+
)(\d
+
)(\.
+
)
/g
;
//屏蔽1....234.的情况
value
=
value
.
replace
(
p6
,
"$1$2"
)
// 屏蔽最后一位的.
item
[
filed
]
=
value
;
}
//验证只能输入整数【负数:isMinus传true】
Vue
.
prototype
.
checkInteger
=
function
(
item
,
filed
,
isMinus
)
{
var
value
=
""
+
item
[
filed
];
//转字符串
var
t
=
value
.
charAt
(
0
);
value
=
value
.
replace
(
this
.
$commonUtils
.
Regex
.
isInteger
,
""
);
//是否允许负数
if
(
isMinus
&&
t
==
'-'
)
{
value
=
'-'
+
value
;
}
item
[
filed
]
=
value
;
}
//价钱格式化,三位数逗号分隔,保留两位小数 duanjun
Vue
.
prototype
.
moneyFormat
=
function
(
value
)
{
let
nStr
=
Number
(
value
).
toFixed
(
2
)
nStr
+=
''
;
let
x
=
nStr
.
split
(
'.'
);
let
x1
=
x
[
0
];
let
x2
=
x
.
length
>
1
?
'.'
+
x
[
1
]
:
''
;
var
rgx
=
/
(\d
+
)(\d{3})
/
;
while
(
rgx
.
test
(
x1
))
{
x1
=
x1
.
replace
(
rgx
,
'$1'
+
','
+
'$2'
);
}
return
x1
+
x2
;
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u89c6
\
u9891"
,
"filesType"
:
"*.wmv,*.rmvb,*.mpeg4,*.mpeg2,*.flv,*.avi,*.3gp,*.mpga,*.qt,*.rm,*.wmz,*.wmd,*.wvx,*.wmx,*.wm,*.mpg,*.mp4,*.mkv,*.mpeg,*mov,*.asf,*.m4v,*.m3u8"
,
"filesIcon"
:
{
"wmv"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"rmvb"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpeg4"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpeg2"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"flv"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"avi"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"3gp"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpga"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"qt"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"rm"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wmz"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wmd"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wvx"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wmx"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wm"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpg"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mp4"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mkv"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpeg"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mov"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"asf"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"m4v"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"m3u8"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
]
},
Vue
.
prototype
.
loadFileICON
=
function
(
suffix
)
{
let
icons
=
[{
"name"
:
"
\
u7f51
\
u76d8BT
\
u79bb
\
u7ebf
\
u4e0b
\
u8f7d"
,
"filesType"
:
"*.bt,*.torrent"
,
"filesIcon"
:
{
"bt"
:
[
"fileicon-small-bt"
,
"fileicon-large-bt"
,
"fileicon-middle-bt"
],
"torrent"
:
[
"fileicon-small-bt"
,
"fileicon-large-bt"
,
"fileicon-middle-bt"
]
},
"entranceFile"
:
"file-widget-1:bt
\
/start.js"
},
{
"name"
:
"
\
u6d69
\
u8fb0CAD"
,
"group"
:
"com.gstarcad.web"
,
"notSupport"
:
"ie6"
,
"filesIcon"
:
{
"dws"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"dwt"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"dxf"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"dwg"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
],
"cad"
:
[
"fileicon-small-dws"
,
"fileicon-large-dws"
,
"fileicon-middle-dws"
]
},
"entranceFile"
:
"file-widget-1:cad
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u4ee3
\
u7801
\
u9605
\
u8bfb
\
u5668"
,
"notSupport"
:
"ie"
,
"filesType"
:
"*.txt,*.as,*.sh,*.c,*.cpp,*.h,*.cs,*.asp,*.css,*.pas,*.diff,*.patch,*.erl,*.groovy,*.java,*.jsp,*.js,*.json,*.pl,*.php,*.py,*.rb,*.sass,*.scss,*.scala,*.sql,*.vb,*.xml,*.xhtml,*.html,*.htm,*.md,*.less,*.lua,*.go,*.bat,*.wml"
,
"filesIcon"
:
{
"as"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"sh"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"c"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"cpp"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"h"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"cs"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"asp"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"css"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"pas"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"diff"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"patch"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"erl"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"groovy"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"java"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"jsp"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"js"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"json"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"pl"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"php"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"py"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"rb"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"sass"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"scss"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"scala"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"sql"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"vb"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"xml"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"xhtml"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"html"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"htm"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"md"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"less"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"lua"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"go"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"bat"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
],
"wml"
:
[
"fileicon-small-code"
,
"fileicon-large-code"
]
},
"entranceFile"
:
"file-widget-1:codeReader
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u89e3
\
u538b
\
u7f29"
,
"filesType"
:
"*.rar,*.zip"
,
"notSupport"
:
"ie6"
,
"filesIcon"
:
{
"rar"
:
[
"fileicon-small-zip"
,
"fileicon-large-zip"
,
"fileicon-middle-zip"
],
"zip"
:
[
"fileicon-small-zip"
,
"fileicon-large-zip"
,
"fileicon-middle-zip"
]
},
"depsFiles"
:
[
"file-widget-1:zip
\
/util
\
/css
\
/fileUnzip.css"
,
"file-widget-1:zip
\
/util
\
/css
\
/list-view.css"
],
"entranceFile"
:
"file-widget-1:zip
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u6587
\
u6863
\
u9605
\
u8bfb
\
u5668"
,
"filesType"
:
"*.txt,*.pdf,*.doc,*.docx,*.ppt,*.pptx,*.xls,*.xlsx,*.rtf"
,
"filesIcon"
:
{
"txt"
:
[
"fileicon-small-txt"
,
"fileicon-large-txt"
,
"fileicon-middle-txt"
],
"rtf"
:
[
"fileicon-small-txt"
,
"fileicon-large-txt"
,
"fileicon-middle-txt"
],
"pdf"
:
[
"fileicon-small-pdf"
,
"fileicon-large-pdf"
,
"fileicon-middle-pdf"
],
"doc"
:
[
"fileicon-small-doc"
,
"fileicon-large-doc"
,
"fileicon-middle-doc"
],
"docx"
:
[
"fileicon-small-doc"
,
"fileicon-large-doc"
,
"fileicon-middle-doc"
],
"ppt"
:
[
"fileicon-small-ppt"
,
"fileicon-large-ppt"
,
"fileicon-middle-ppt"
],
"pptx"
:
[
"fileicon-small-ppt"
,
"fileicon-large-ppt"
,
"fileicon-middle-ppt"
],
"xls"
:
[
"fileicon-small-xls"
,
"fileicon-large-xls"
,
"fileicon-middle-xls"
],
"xlsx"
:
[
"fileicon-small-xls"
,
"fileicon-large-xls"
,
"fileicon-middle-xls"
],
"vsd"
:
[
"fileicon-small-vsd"
,
"fileicon-large-vsd"
,
"fileicon-middle-vsd"
]
},
"depsFiles"
:
[
"file-widget-1:doc
\
/util
\
/docReader.css"
,
"file-widget-1:doc
\
/pdfJsReader
\
/pdfJsReader.less"
,
"base:thirdParty
\
/pdfjs
\
/_nomd5_nomod
\
/web
\
/trans-viewer.less"
,
"base:thirdParty
\
/pdfjs
\
/_nomd5_nomod
\
/web
\
/viewer.less"
],
"entranceFile"
:
"file-widget-1:doc
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u56fe
\
u7247
\
u9884
\
u89c8"
,
"filesType"
:
"*.jpg,*.jpeg,*.livp,*.gif,*bmp,*.png,*jpe,*.cur,*.svgz,*.ico,*.heic,*.heif,*.avci,*.webp"
,
"filesIcon"
:
{
"jpg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpeg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"livp"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"gif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"bmp"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"png"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpe"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"cur"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"svgz"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tiff"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"ico"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"heic"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"heif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"avci"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
]
},
"depsFiles"
:
[
"file-widget-1:image
\
/util
\
/picCategory-dialog
\
/css
\
/picCategory-dialog.css"
,
"file-widget-1:image
\
/util
\
/picPreview
\
/css
\
/picPreview.css"
,
"file-widget-1:image
\
/util
\
/picPreviewAside
\
/css
\
/picPreviewAside.css"
,
"file-widget-1:image
\
/util
\
/showPic
\
/css
\
/showPic.css"
,
"file-widget-1:image
\
/util
\
/thumbnailPic
\
/css
\
/thumbnailPic.css"
,
"base:thirdParty
\
/videojs
\
/_nomd5_nomod
\
/video-js.css"
],
"entranceFile"
:
"file-widget-1:image
\
/start.js"
},
{
"name"
:
"
\
u767e
\
u5ea6
\
u8111
\
u56fe"
,
"group"
:
"com.baidu.naotu"
,
"filesType"
:
"*.mmap,*.xmind,*.mm"
,
"notSupport"
:
"ie6"
,
"filesIcon"
:
{
"mmap"
:
[
"fileicon-small-mmap"
,
"fileicon-large-mmap"
,
"fileicon-middle-mmap"
],
"xmind"
:
[
"fileicon-small-xmind"
,
"fileicon-large-xmind"
,
"fileicon-middle-xmind"
],
"mm"
:
[
"fileicon-small-mm"
,
"fileicon-large-mm"
,
"fileicon-middle-mm"
]
},
"entranceFile"
:
"file-widget-1:mindmap
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u97f3
\
u9891
\
u64ad
\
u653e
\
u5668"
,
"notSupport"
:
"ie6"
,
"filesType"
:
"*.wma,*.wav,*.mp3,*.aac,*.ra,*.ram,*.mp2,*.ogg,*.aif,*.mpega,*.amr,*.mid,*.midi,*.m4a"
,
"filesIcon"
:
{
"wma"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"wav"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mp3"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"aac"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"ra"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"ram"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mp2"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"ogg"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"aif"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mpega"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"amr"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"mid"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"midi"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
],
"m4a"
:
[
"fileicon-small-mp3"
,
"fileicon-large-mp3"
,
"fileicon-middle-mp3"
]
},
"buttons"
:
[{
"title"
:
"
\
u97f3
\
u4e50
\
u64ad
\
u653e"
,
"name"
:
"play-music"
,
"position"
:
"listTools"
,
"index"
:
2
,
"disabled"
:
"none"
,
"icon"
:
"icon-play"
,
"buttonStyle"
:
"normal"
,
"conditions"
:
{
"pageModule"
:
"list,share,search,category,searchGlobal"
,
"filesType"
:
"wma,wav,mp3,aac,ra,ram,mp2,ogg,aif,mpega,amr,mid,midi,m4a"
,
"filesTypeStrongMatch"
:
true
}
}],
"depsFiles"
:
[
"file-widget-1:musicPlay
\
/util
\
/mbox
\
/musicbox.css"
],
"entranceFile"
:
"file-widget-1:musicPlay
\
/start.js"
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u5927
\
u56fe
\
u9884
\
u89c8"
,
"filesType"
:
"*.jpg,*.jpeg,*.gif,*bmp,*.png,*jpe,*.cur,*.svgz,*.ico"
,
"filesIcon"
:
{
"jpg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpeg"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"gif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"bmp"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"png"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"jpe"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"cur"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"svgz"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tif"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"tiff"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
],
"ico"
:
[
"fileicon-small-pic"
,
"default-large"
,
"fileicon-middle-pic"
]
},
"depsFiles"
:
[
"file-widget-1:preview
\
/picPreview.css"
],
"entranceFile"
:
"file-widget-1:preview
\
/start.js"
},
{
"name"
:
"sysIcon"
,
"filesType"
:
"*.exe,*.msi,*.dmg,*.pkg,*.psd,*.apk,*.key,*.ai,*.ipa"
,
"filesIcon"
:
{
"exe"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-exe"
],
"msi"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-exe"
],
"dmg"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-dmg"
],
"pkg"
:
[
"fileicon-sys-s-exe"
,
"fileicon-sys-l-dmg"
],
"psd"
:
[
"fileicon-sys-s-psd"
,
"fileicon-sys-l-psd"
],
"apk"
:
[
"fileicon-sys-s-apk"
,
"fileicon-sys-l-apk"
],
"key"
:
[
"fileicon-sys-s-key"
,
"fileicon-sys-l-key"
],
"ai"
:
[
"fileicon-sys-s-ai"
,
"fileicon-sys-l-ai"
],
"ipa"
:
[
"fileicon-sys-s-ipa"
,
"fileicon-sys-l-ipa"
],
"pages"
:
[
"fileicon-sys-s-pages"
,
"fileicon-sys-l-pages"
],
"numbers"
:
[
"fileicon-sys-s-numbers"
,
"fileicon-sys-l-numbers"
],
"eot"
:
[
"fileicon-sys-s-fonts"
,
"fileicon-sys-l-fonts"
],
"ttf"
:
[
"fileicon-sys-s-fonts"
,
"fileicon-sys-l-fonts"
],
"woff"
:
[
"fileicon-sys-s-fonts"
,
"fileicon-sys-l-fonts"
],
"eps"
:
[
"fileicon-sys-s-eps"
,
"fileicon-sys-l-eps"
],
"lnk"
:
[
"fileicon-sys-s-links"
,
"fileicon-sys-l-links"
],
"link"
:
[
"fileicon-sys-s-links"
,
"fileicon-sys-l-links"
],
"swf"
:
[
"fileicon-sys-s-swf"
,
"fileicon-sys-l-swf"
],
"php"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"c"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"js"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"css"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"html"
:
[
"fileicon-sys-s-web"
,
"fileicon-sys-l-web"
],
"htm"
:
[
"fileicon-sys-s-web"
,
"fileicon-sys-l-web"
],
"xhtml"
:
[
"fileicon-sys-s-web"
,
"fileicon-sys-l-web"
],
"java"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"cc"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"python"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"json"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"sh"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"bat"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"ejs"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"xml"
:
[
"fileicon-sys-s-code"
,
"fileicon-sys-l-code"
],
"ts"
:
[
"fileicon-sys-s-video"
,
"fileicon-sys-l-video"
]
}
},
{
"name"
:
"
\
u7f51
\
u76d8
\
u89c6
\
u9891"
,
"filesType"
:
"*.wmv,*.rmvb,*.mpeg4,*.mpeg2,*.flv,*.avi,*.3gp,*.mpga,*.qt,*.rm,*.wmz,*.wmd,*.wvx,*.wmx,*.wm,*.mpg,*.mp4,*.mkv,*.mpeg,*mov,*.asf,*.m4v,*.m3u8"
,
"filesIcon"
:
{
"wmv"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"rmvb"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpeg4"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpeg2"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"flv"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"avi"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"3gp"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpga"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"qt"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"rm"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wmz"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wmd"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wvx"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wmx"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"wm"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpg"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mp4"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mkv"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mpeg"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"mov"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"asf"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"m4v"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
],
"m3u8"
:
[
"fileicon-small-video"
,
"fileicon-large-video"
,
"fileicon-middle-video"
]
},
"preload"
:
true
,
"entranceFile"
:
"file-widget-1:video
\
/start.js"
}
]
if
(
suffix
==
""
)
return
"dir-small"
let
css
=
""
icons
.
forEach
(
x
=>
{
//console.log(x.filesIcon.hasOwnProperty(suffix))
if
(
x
.
filesIcon
.
hasOwnProperty
(
suffix
))
{
css
=
x
.
filesIcon
[
suffix
][
0
]
return
false
}
})
if
(
css
==
''
)
{
css
=
'default-small'
}
return
css
;
}
}
}
\ No newline at end of file
"preload"
:
true
,
"entranceFile"
:
"file-widget-1:video
\
/start.js"
}
]
if
(
suffix
==
""
)
return
"dir-small"
let
css
=
""
icons
.
forEach
(
x
=>
{
//console.log(x.filesIcon.hasOwnProperty(suffix))
if
(
x
.
filesIcon
.
hasOwnProperty
(
suffix
))
{
css
=
x
.
filesIcon
[
suffix
][
0
]
return
false
}
})
if
(
css
==
''
)
{
css
=
'default-small'
}
return
css
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment