Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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
罗超
confucius
Commits
73d3a3ec
Commit
73d3a3ec
authored
Apr 20, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增资产审核,一键登录资产系统
parent
02c848e9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1870 additions
and
11 deletions
+1870
-11
AssetsShenpi.js
src/api/administration/AssetsShenpi.js
+24
-0
Travelslider.png
src/assets/img/Travelslider.png
+0
-0
step2.png
src/assets/img/step2.png
+0
-0
axios.js
src/boot/axios.js
+3
-0
notify.vue
src/components/global/notify.vue
+8
-8
user-right-box.vue
src/components/global/user-right-box.vue
+21
-0
AssetsShenpi.vue
src/pages/administration/AssetsSystem/AssetsShenpi.vue
+1352
-0
CheckDetails.vue
src/pages/administration/AssetsSystem/CheckDetails.vue
+342
-0
WorkEntrustmentMy.vue
src/pages/financial/financalDocument/WorkEntrustmentMy.vue
+4
-3
routes.js
src/router/routes.js
+8
-0
request.js
src/utils/request.js
+1
-0
request_zc.js
src/utils/request_zc.js
+107
-0
No files found.
src/api/administration/AssetsShenpi.js
0 → 100644
View file @
73d3a3ec
import
request
from
'../../utils/request_zc'
export
function
getAuditChangeLogPageList
(
data
)
{
return
request
({
url
:
'/property/GetAuditChangeLogPageList'
,
method
:
'post'
,
data
});
}
export
function
auditOrRefund
(
data
)
{
return
request
({
url
:
'/property/AuditOrRefund'
,
method
:
'post'
,
data
});
}
export
function
getPropertyAuditDetail
(
data
)
{
return
request
({
url
:
'/property/GetPropertyAuditDetail'
,
method
:
'post'
,
data
});
}
\ No newline at end of file
src/assets/img/Travelslider.png
0 → 100644
View file @
73d3a3ec
948 Bytes
src/assets/img/step2.png
0 → 100644
View file @
73d3a3ec
380 Bytes
src/boot/axios.js
View file @
73d3a3ec
...
@@ -2,6 +2,7 @@ import Vue from 'vue'
...
@@ -2,6 +2,7 @@ import Vue from 'vue'
import
ElementUI
from
'element-ui'
import
ElementUI
from
'element-ui'
import
'element-ui/lib/theme-chalk/index.css'
import
'element-ui/lib/theme-chalk/index.css'
import
Erpindex
from
'../utils/erpindex'
import
Erpindex
from
'../utils/erpindex'
import
request_zc
from
'../utils/request_zc'
import
axios
from
'axios'
import
axios
from
'axios'
import
'vue-easytable/libs/themes-base/index.css'
import
'vue-easytable/libs/themes-base/index.css'
import
{
VTable
,
VPagination
}
from
'vue-easytable'
import
{
VTable
,
VPagination
}
from
'vue-easytable'
...
@@ -33,6 +34,8 @@ Date.prototype.Format = function (fmt) {
...
@@ -33,6 +34,8 @@ Date.prototype.Format = function (fmt) {
};
};
Vue
.
use
(
ElementUI
)
Vue
.
use
(
ElementUI
)
Vue
.
use
(
Erpindex
)
Vue
.
use
(
Erpindex
)
Vue
.
use
(
request_zc
)
Vue
.
use
(
Viewer
);
Vue
.
use
(
Viewer
);
Vue
.
component
(
VTable
.
name
,
VTable
)
Vue
.
component
(
VTable
.
name
,
VTable
)
Vue
.
component
(
VPagination
.
name
,
VPagination
)
Vue
.
component
(
VPagination
.
name
,
VPagination
)
...
...
src/components/global/notify.vue
View file @
73d3a3ec
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
class=
"no-border-radius flex column"
>
class=
"no-border-radius flex column"
>
<q-tabs
v-model=
"tab"
class=
"text-grey"
active-color=
"secondary"
indicator-color=
"secondary"
align=
"justify"
<q-tabs
v-model=
"tab"
class=
"text-grey"
active-color=
"secondary"
indicator-color=
"secondary"
align=
"justify"
narrow-indicator
inline-label
>
narrow-indicator
inline-label
>
<q-tab
alert=
"negative"
name=
"msg"
style=
"display:none;"
>
<q-tab
alert=
"negative"
name=
"msg"
>
<inline-svg
class=
"svg-icon q-mr-xs"
:class=
"[tab=='msg'?'svg-icon-secondary':'svg-icon-grey']"
<inline-svg
class=
"svg-icon q-mr-xs"
:class=
"[tab=='msg'?'svg-icon-secondary':'svg-icon-grey']"
src=
"icons/svg/Communication/Chat-check.svg"
></inline-svg>
src=
"icons/svg/Communication/Chat-check.svg"
></inline-svg>
<span>
消息
</span>
<span>
消息
</span>
...
@@ -269,13 +269,13 @@
...
@@ -269,13 +269,13 @@
return
temp
return
temp
}
}
},
},
undefinedGongneng
()
{
undefinedGongneng
(
item
)
{
this
.
$
q
.
dialog
({
this
.
$
router
.
push
(
"/AssetsShenpi"
)
title
:
'功能提示'
,
// this.$q.dialog({
message
:
'灰度测试功能,即将在下版本中开启'
// title: '功能提示',
}).
onOk
(()
=>
{
// message: '灰度测试功能,即将在下版本中开启'
// }).onOk(() => {
});
//
});
},
},
//请求公告数据
//请求公告数据
getNotify
()
{
getNotify
()
{
...
...
src/components/global/user-right-box.vue
View file @
73d3a3ec
...
@@ -34,6 +34,17 @@
...
@@ -34,6 +34,17 @@
<q-item-label
class=
"font-pfb"
>
{{
item
.
MenuName
}}
</q-item-label>
<q-item-label
class=
"font-pfb"
>
{{
item
.
MenuName
}}
</q-item-label>
</q-item-section>
</q-item-section>
</q-item>
</q-item>
<!-- 跳转资产 -->
<q-item
class=
"q-my-sm"
clickable
v-ripple
@
click=
"goUrlZC"
>
<q-item-section
avatar
>
<q-avatar
style=
"background-color: #F3F6F9;"
rounded
size=
"40px"
text-color=
"primary"
>
<!--
<i
:class=
"[item.MenuIcon]"
></i>
-->
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label
class=
"font-pfb"
>
资产管理
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-list>
<q-separator
color=
"grey-2"
class=
"q-my-md"
></q-separator>
<q-separator
color=
"grey-2"
class=
"q-my-md"
></q-separator>
<div
class=
"text-weight-bold"
style=
"font-size:16px;"
>
常用功能
</div>
<div
class=
"text-weight-bold"
style=
"font-size:16px;"
>
常用功能
</div>
...
@@ -91,6 +102,7 @@
...
@@ -91,6 +102,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
Lockr
from
"lockr"
export
default
{
export
default
{
props
:
{
props
:
{
showObj
:
{
showObj
:
{
...
@@ -129,6 +141,15 @@ export default {
...
@@ -129,6 +141,15 @@ export default {
})
})
},
},
goUrlZC
()
{
let
userinfo
=
this
.
getLocalStorage
();
let
token
=
Lockr
.
get
(
"Token"
);
let
url
=
"http://www.test.com:8080/#/Autologin?ObjInfo="
+
token
+
"&SecretKey="
+
userinfo
.
UploadConfig
.
SecretKey
;
// let url = "http://zcyx.oytour.com/#/Autologin?ObjInfo=" + token
// let url = "http://www.test.com:8080/#/Autologin?ObjInfo=" + token
window
.
open
(
url
)
},
},
},
}
}
</
script
>
</
script
>
...
...
src/pages/administration/AssetsSystem/AssetsShenpi.vue
0 → 100644
View file @
73d3a3ec
This diff is collapsed.
Click to expand it.
src/pages/administration/AssetsSystem/CheckDetails.vue
0 → 100644
View file @
73d3a3ec
<
template
>
<div
class=
"CheckDetails basefix"
>
<div
class=
"left"
>
<el-carousel
v-if=
"datainfo.ImageList.length>0"
height=
"500px"
>
<el-carousel-item
style=
"display:flex;align-items:center"
v-for=
"(item,index) in datainfo.ImageList"
:key=
"index"
>
<img
style=
"width:100%;"
:src=
"item"
alt=
""
>
</el-carousel-item>
</el-carousel>
<img
v-else
style=
"width:100%;height:500px;border: 1px solid #ccc;"
src=
"../../../assets/img/Travelslider.png"
alt=
""
>
</div>
<div
class=
"right overflowY"
style=
"height:500px"
>
<div
class=
"baseTitle f12"
>
使用信息
</div>
<div
class=
"desItem"
>
<p>
使用人
</p>
<p>
<span
v-if=
"datainfo.EmName && datainfo.EmName!=''"
>
{{
datainfo
.
EmName
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
领取时间
</p>
<p>
{{
datainfo
.
GetTime
}}
</p>
</div>
<div
class=
"baseTitle f12"
>
基本信息
</div>
<div
class=
"baseDiv"
>
<div
class=
"desItem"
>
<p>
资产名称
</p>
<p>
{{
datainfo
.
Name
}}
</p>
</div>
<div
class=
"desItem"
>
<p>
资产分类
</p>
<p>
<span
v-if=
"datainfo.CategoryName && datainfo.CategoryName!=''"
>
{{
datainfo
.
CategoryName
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
品牌
</p>
<p>
{{
datainfo
.
BrandName
}}
</p>
</div>
<div
class=
"desItem"
>
<p>
型号
</p>
<p>
<span
v-if=
"datainfo.PropertyModel && datainfo.PropertyModel!=''"
>
{{
datainfo
.
PropertyModel
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
单位
</p>
<p>
<span
v-if=
"datainfo.Units && datainfo.Units!=''"
>
{{
datainfo
.
Units
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
序列号
</p>
<p>
<span
v-if=
"datainfo.SerialNumber && datainfo.SerialNumber!=''"
>
{{
datainfo
.
SerialNumber
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
购置日期
</p>
<p>
{{
datainfo
.
BuyDate
}}
</p>
</div>
<div
class=
"desItem"
>
<p>
购置方式
</p>
<p>
{{
datainfo
.
BuyTypeName
}}
</p>
</div>
<div
class=
"desItem"
>
<p>
金额
</p>
<p>
<span
v-if=
"datainfo.Money && datainfo.Money!=''"
>
{{
datainfo
.
Money
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
使用类型
</p>
<p>
{{
datainfo
.
UseStatusName
}}
</p>
</div>
<div
class=
"desItem"
>
<p>
公司
</p>
<p>
<span
v-if=
"datainfo.BranchName && datainfo.BranchName!=''"
>
{{
datainfo
.
BranchName
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
备注
</p>
<p>
<span
v-if=
"datainfo.Remark && datainfo.Remark!=''"
>
{{
datainfo
.
Remark
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
<div
class=
"desItem"
>
<p>
供应商
</p>
<p>
<span
v-if=
"datainfo.SupplierName && datainfo.SupplierName!=''"
>
{{
datainfo
.
SupplierName
}}
</span>
<span
v-else
>
无
</span>
</p>
</div>
</div>
<div
class=
"baseTitle f12"
>
操作记录
</div>
<table
class=
"myTable miniTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<th>
类型
</th>
<th>
内容
</th>
<th>
签名图片
</th>
<th>
操作人/时间
</th>
</thead>
<tbody>
<tr
v-for=
"(item, index) in OperationList"
:key=
"index"
>
<td>
{{
item
.
TypeName
}}
</td>
<td>
{{
item
.
Content
}}
</td>
<td>
<img
v-if=
"item.SignImage && item.SignImage != ''"
style=
"height: 45px;width: 55px;"
:src=
"item.SignImage"
alt=
""
/>
<span
class=
"c99"
v-else
>
-
</span>
</td>
<td>
<p>
{{
item
.
CreateBy
}}
</p>
<p>
{{
item
.
CreateDate
}}
</p>
</td>
</tr>
<tr
v-show=
"OperationList.length == 0"
>
<td
colspan=
"4"
align=
"center"
>
暂无数据
</td>
</tr>
</tbody>
</table>
<el-pagination
@
current-change=
"currentChange"
background
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
''
,
data
(){
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
5
,
PropertyId
:
""
},
OperationList
:[],
total
:
0
,
datainfo
:{
ImageList
:[],
},
PropertyId
:
''
,
}
},
created
(){
},
mounted
(){
},
methods
:{
InitData
(
id
){
this
.
PropertyId
=
id
;
this
.
msg
.
PropertyId
=
id
;
this
.
getOperation
();
this
.
getDataInfo
();
},
currentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getOperation
();
},
getOperation
()
{
this
.
apiJavaPost
(
"/api/property/GetPropertyLogPageList"
,
this
.
msg
,
res
=>
{
this
.
OperationLoad
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
OperationList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getDataInfo
(){
this
.
apiJavaPost
(
"/api/property/GetPropertyInfo"
,
{
Id
:
this
.
PropertyId
},
res
=>
{
this
.
OperationLoad
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
datainfo
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
},
}
</
script
>
<
style
scoped
>
.myTable
{
width
:
100%
;
font-size
:
12px
;
border-collapse
:
collapse
;
font-family
:
"宋体"
!important
;
}
.myTable
thead
th
{
color
:
#A6C6C6
;
padding-left
:
20px
;
height
:
50px
;
line-height
:
50px
;
font-weight
:
bold
;
text-align
:
left
;
}
.myTable
thead
tr
{
background
:
transparent
!important
;
}
.myTable
.hoverSpan1
{
left
:
-20px
;
}
.myTable
.hoverSpan2
{
right
:
-20px
;
}
.myTable
.commonStyle
{
height
:
100%
;
background
:
#fff
;
position
:
absolute
;
width
:
20px
;
top
:
0
;
display
:
none
;
}
.miniTable
tr
td
{
padding
:
6px
0
6px
20px
!important
;
}
.myTable
tr
{
background
:
#fff
;
border-bottom
:
4px
solid
#F8FAFB
;
cursor
:
pointer
;
}
.noHoverTable
tr
{
border-bottom
:
none
!important
;
}
.myTable
.trNobottom
{
border-top
:
4px
solid
#F8FAFB
!important
;
border-bottom
:
none
!important
;
}
.myTable
tbody
tr
:hover
{
box-shadow
:
0px
0
20px
0px
rgba
(
176
,
176
,
176
,
0.2
);
transition
:
transform
.5s
ease
;
/* transform: scaleX(1.02); */
}
.noHoverTable
tbody
tr
:hover
{
box-shadow
:
0
0
0
transparent
!important
;
}
.myTable
tbody
tr
:hover
.commonStyle
{
display
:
block
;
transition
:
transform
.5s
ease
;
box-shadow
:
0px
0px
0px
0px
rgba
(
176
,
176
,
176
,
0.2
);
}
.myTable
tbody
tr
:hover
td
{
border-radius
:
0
!important
;
}
.myTable
tbody
tr
:first-child
td
:first-child
{
border-radius
:
20px
0
0
0
;
}
.myTable
tbody
tr
:first-child
td
:last-child
{
border-radius
:
0
20px
0
0
;
}
.myTable
tbody
tr
:last-child
td
:first-child
{
border-radius
:
0
0
0
20px
;
}
.myTable
tbody
tr
:last-child
td
:last-child
{
border-radius
:
0
0
20px
0
;
}
.myTable
tr
td
{
position
:
relative
;
padding
:
11px
0
11px
20px
;
}
.overflowY
{
overflow-y
:
scroll
;
height
:
100%
;
box-sizing
:
border-box
;
position
:
relative
;
}
.CheckDetails
.baseDiv
.desItem
:nth-child
(
3n
)
{
margin-right
:
0
;
}
.CheckDetails
p
{
margin
:
0
;
}
.CheckDetails
.desItem
p
:first-child
{
margin-bottom
:
4px
;
}
.CheckDetails
.desItem
{
display
:
inline-block
;
background
:
#F1F1F1
;
box-sizing
:
border-box
;
border-radius
:
10px
;
width
:
200px
;
margin
:
10px
10px
10px
0
;
padding
:
6px
10px
;
}
.CheckDetails
.baseTitle
{
padding
:
5px
0
;
border-bottom
:
1px
dashed
#ccc
;
margin-bottom
:
10px
}
.CheckDetails
>
div
{
float
:
left
;
font-size
:
12px
;
}
.CheckDetails
.left
{
width
:
440px
;
box-sizing
:
border-box
;
padding
:
25px
;
}
.CheckDetails
.right
{
width
:
680px
;
padding
:
0
10px
0
15px
;
box-sizing
:
border-box
;
}
</
style
>
src/pages/financial/financalDocument/WorkEntrustmentMy.vue
View file @
73d3a3ec
...
@@ -119,9 +119,10 @@
...
@@ -119,9 +119,10 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"受委内容:"
>
<el-form-item
label=
"受委内容:"
>
<el-checkbox-group
v-model=
"delegateContent"
>
<el-checkbox-group
v-model=
"delegateContent"
>
<!-- <el-checkbox label="1" name="1" key="1">工作审批</el-checkbox>-->
<!--<el-checkbox label="1" name="1" key="1">工作审批</el-checkbox>-->
<el-checkbox
label=
"2"
name=
"2"
key=
"2"
>
财务审批
</el-checkbox>
<el-checkbox
label=
"2"
name=
"2"
key=
"2"
>
财务审批
</el-checkbox>
<!-- <el-checkbox label="3" name="3" key="3">客户审批</el-checkbox>-->
<!-- <el-checkbox label="3" name="3" key="3">客户审批</el-checkbox>-->
<el-checkbox
label=
"4"
name=
"4"
key=
"4"
>
资产审批
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
...
src/router/routes.js
View file @
73d3a3ec
...
@@ -681,6 +681,14 @@ const routes = [{
...
@@ -681,6 +681,14 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/financial/financalDocument/PrintPageN.vue"
)
import
(
"pages/financial/financalDocument/PrintPageN.vue"
)
},
},
{
path
:
'/AssetsShenpi'
,
//资产管理审批
name
:
'AssetsShenpi'
,
component
:
()
=>
import
(
'pages/administration/AssetsSystem/AssetsShenpi'
),
meta
:
{
title
:
'资产管理'
},
},
{
{
path
:
"*"
,
path
:
"*"
,
component
:
()
=>
component
:
()
=>
...
...
src/utils/request.js
View file @
73d3a3ec
...
@@ -39,6 +39,7 @@ service.interceptors.request.use(
...
@@ -39,6 +39,7 @@ service.interceptors.request.use(
"Msg"
:
config
.
data
"Msg"
:
config
.
data
}
}
}
}
return
config
;
return
config
;
},
},
error
=>
{
error
=>
{
...
...
src/utils/request_zc.js
0 → 100644
View file @
73d3a3ec
import
axios
from
"axios"
;
import
Lockr
from
"lockr"
import
{
removeAuth
}
from
"../utils/auth"
;
import
qs
from
"qs"
;
import
{
Dialog
,
Notify
}
from
'quasar'
let
url_zc
=
'http://192.168.1.13:8087/api'
var
showLoginMessageBox
=
false
;
axios
.
defaults
.
headers
[
"Content-Type"
]
=
"application/json;charset=UTF-8"
;
//application/x-www-form-urlencoded;charset=UTF-8
let
token
=
Lockr
.
get
(
"Token"
);
const
service
=
axios
.
create
({
baseURL
:
url_zc
,
timeout
:
15000
});
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
if
(
config
.
headers
[
"responseType"
]
==
"arraybuffer"
)
{
config
.
responseType
=
"arraybuffer"
;
}
const
flag
=
config
.
headers
[
"Content-Type"
]
&&
config
.
headers
[
"Content-Type"
].
indexOf
(
"application/json"
)
!==
-
1
;
if
(
!
flag
)
{
const
mult
=
config
.
headers
[
"Content-Type"
]
&&
config
.
headers
[
"Content-Type"
].
indexOf
(
"multipart/form-data"
)
!==
-
1
;
if
(
mult
)
{
config
.
data
=
config
.
data
;
}
else
{
config
.
data
=
qs
.
stringify
(
config
.
data
);
}
}
else
{
config
.
data
=
{
"Msg"
:
config
.
data
,
token
:
token
}
}
return
config
;
},
error
=>
{
//TODO 新增网络请求异常处理业务
return
Promise
.
reject
(
error
);
}
);
// response 拦截器
service
.
interceptors
.
response
.
use
(
response
=>
{
const
res
=
response
.
data
;
console
.
log
(
res
)
// TODO 确定后台的CODE码
if
(
response
.
status
===
200
)
{
// 文件类型特殊处理
return
response
;
}
else
if
(
res
.
resultCode
!=
1
)
{
// TODO 确定后台的CODE码
if
(
res
.
resultCode
==
10000
)
{
if
(
!
showLoginMessageBox
)
{
showLoginMessageBox
=
true
;
Dialog
.
create
({
title
:
"登出"
,
message
:
"抱歉,你的账户信息已失效,你需要重新登录使用"
,
persistent
:
true
}).
onOk
(()
=>
{
removeAuth
()
.
then
(()
=>
{
location
.
reload
();
// 为了重新实例化vue-router对象 避免bug
})
.
catch
(()
=>
{
location
.
reload
();
});
});
}
}
else
{
if
(
res
.
Message
)
{
Notify
.
create
({
icon
:
"error"
,
color
:
"negative"
,
message
:
res
.
Message
,
position
:
"top"
});
}
}
return
Promise
.
reject
(
res
);
}
else
{
return
res
;
}
},
error
=>
{
Notify
.
create
({
icon
:
"error"
,
color
:
"negative"
,
message
:
"网络请求失败,请稍候再试"
,
position
:
"top"
});
return
Promise
.
reject
(
error
);
}
);
export
default
service
;
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