Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
company_app
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
毛细亚
company_app
Commits
b768d9b4
提交
b768d9b4
authored
6月 10, 2025
作者:
毛细亚
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '1.1' into 1.2
上级
d6a6ddb5
e63b1b00
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
151 行增加
和
82 行删除
+151
-82
App.vue
src/App.vue
+13
-13
index.js
src/router/index.js
+18
-15
refundLog.vue
src/views/components/order/refundLog.vue
+17
-27
orderList.vue
src/views/orderList.vue
+47
-20
userInfo.vue
src/views/userInfo/userInfo.vue
+56
-7
没有找到文件。
src/App.vue
浏览文件 @
b768d9b4
...
...
@@ -57,25 +57,25 @@ export default {
return
{
menuList
:
[
{
label
:
'客户
信息
'
,
label
:
'客户
资料
'
,
path
:
'/userInfo'
},
{
label
:
'角色信息'
,
path
:
'/roleInfo'
},
{
label
:
'订单信息'
,
path
:
'/orderList'
},
//
{
//
label: '角色信息',
//
path: '/roleInfo'
//
},
//
{
//
label: '订单信息',
//
path: '/orderList'
//
},
{
label
:
'快捷回复'
,
path
:
'/quickReply'
},
{
label
:
'违规记录'
,
path
:
'/violationRecord'
},
//
{
//
label: '违规记录',
//
path: '/violationRecord'
//
},
{
label
:
'礼包记录'
,
path
:
'/giftRecord'
...
...
src/router/index.js
浏览文件 @
b768d9b4
...
...
@@ -29,16 +29,18 @@ const routes = [
name
:
'userInfo'
,
component
:
userInfo
},
{
path
:
'/roleInfo'
,
name
:
'roleInfo'
,
component
:
roleInfo
},
{
path
:
'/violationRecord'
,
name
:
'violationRecord'
,
component
:
violationRecord
},
// 已经将角色信息集成到userInfo中,注释掉单独的路由
// {
// path: '/roleInfo',
// name: 'roleInfo',
// component: roleInfo
// },
// 已经将违规记录集成到userInfo中,注释掉单独的路由
// {
// path: '/violationRecord',
// name: 'violationRecord',
// component: violationRecord
// },
{
path
:
'/quickReply'
,
name
:
'quickReply'
,
...
...
@@ -59,11 +61,12 @@ const routes = [
name
:
'addressBook'
,
component
:
addressBook
},
{
path
:
'/orderList'
,
name
:
'orderList'
,
component
:
orderList
},
// 已经将订单列表集成到userInfo中,注释掉单独的路由
// {
// path: '/orderList',
// name: 'orderList',
// component: orderList
// },
{
path
:
'/taskRecord'
,
name
:
'taskRecord'
,
...
...
src/views/components/order/refundLog.vue
浏览文件 @
b768d9b4
<
template
>
<div
class=
"detailsRefund columnFlex"
>
<div
class=
"content refundContent"
>
<div
class=
"filter
List
"
>
<
div
class=
"rowFlex columnCenter
"
>
<
span
class=
"label"
>
订单号:
</span
>
<div
class=
"filter
-container
"
>
<
el-form
class=
"filter-form"
label-position=
"top"
label-width=
"auto
"
>
<
el-form-item
label=
"订单号:"
>
<el-input
v-model=
"requestData.order_id"
placeholder=
"请输入订单号"
...
...
@@ -12,16 +12,17 @@
class=
"searchInput"
@
change=
"searchInput"
></el-input>
</div
>
<div
class=
"rowFlex columnCenter"
>
<
span
class=
"label"
>
角色名称:
</span
>
<searchSelect
class=
"searchInput
"
placeholder=
"请输入角色名称"
@
result=
"selectResult"
/>
</div
>
<div
class=
"rowFlex columnCenter "
>
<
span
class=
"label"
>
审批状态:
</span
>
</el-form-item
>
<
el-form-item
label=
"角色名称:"
>
<searchSelect
class=
"searchInput"
style=
"width: 100%;
"
placeholder=
"请输入角色名称"
@
result=
"selectResult"
/>
</el-form-item
>
<
el-form-item
label=
"审批状态:"
>
<el-select
v-model=
"requestData.refund_status"
clearable
style=
"width: 100%;"
class=
"searchInput"
placeholder=
"请选择退款状态"
@
change=
"payTypeResult"
...
...
@@ -29,12 +30,13 @@
<el-option
v-for=
"item in refundStatus"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div
>
<div
class=
"rowFlex columnCenter "
>
<
span
class=
"label"
>
审批状态:
</span
>
</el-form-item
>
<
el-form-item
label=
"审批状态:"
>
<el-select
v-model=
"requestData.approval_status"
clearable
style=
"width: 100%;"
class=
"searchInput"
placeholder=
"请选择审批状态"
@
change=
"payTypeResult"
...
...
@@ -42,7 +44,8 @@
<el-option
v-for=
"item in approvalList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
</el-form-item>
</el-form>
</div>
<!-- 订单列表 -->
<div
...
...
@@ -626,18 +629,6 @@
}
}
}
.
filterList
{
margin
-
bottom
:
10
px
;
.
label
{
min
-
width
:
60
px
;
}
.
searchInput
{
width
:
100
%
;
margin
-
bottom
:
10
px
;
}
}
.
detailsRefundScroll
{
width
:
100
%
;
height
:
calc
(
100
%
-
250
px
);
...
...
@@ -646,7 +637,6 @@
padding
-
right
:
10
px
;
border
-
radius
:
5
px
;
}
.
orderDetails
{
width
:
100
%
;
height
:
auto
;
...
...
src/views/orderList.vue
浏览文件 @
b768d9b4
<
template
>
<div
class=
"order-info-list columnFlex"
>
<div
class=
"content"
>
<div
class=
"tabSelect rowFlex"
>
<div
v-for=
"(item, index) in orderTypeList"
:key=
"index"
class=
"rowFlex allCenter flex1"
>
<span
class=
"tabSelectItem"
:class=
"activeType == item.type ? 'tabSelectItemActive' : ''"
@
click=
"handleClick(item)"
>
{{
item
.
label
}}
</span>
</div>
</div>
<el-tabs
v-model=
"activeTypeStr"
@
tab-click=
"handleTabClick"
class=
"order-tabs"
>
<el-tab-pane
v-for=
"(item, index) in orderTypeList"
:key=
"index"
:label=
"item.label"
:name=
"String(item.value)"
>
</el-tab-pane>
</el-tabs>
<!-- 订单的一些信息 -->
<div
v-show=
"activeType!==3"
>
<div
class=
"orderMoney rowFlex flexWarp"
>
...
...
@@ -179,15 +181,16 @@
return
{
sanjiaoxing
,
loading
:
false
,
activeType
:
2
,
activeType
:
4
,
activeTypeStr
:
'4'
,
dateDetailsValue
:
[],
isloadMore
:
true
,
collapseValue
:
[
'1'
],
orderTypeList
:
[
{
label
:
'全部订单'
,
type
:
''
},
{
label
:
'已支付'
,
typ
e
:
2
},
{
label
:
'未支付'
,
typ
e
:
1
},
{
label
:
'退款记录'
,
typ
e
:
3
}
{
label
:
'全部订单'
,
value
:
4
},
{
label
:
'已支付'
,
valu
e
:
2
},
{
label
:
'未支付'
,
valu
e
:
1
},
{
label
:
'退款记录'
,
valu
e
:
3
}
],
orderList
:
[],
payList
:
[],
...
...
@@ -225,6 +228,12 @@
...
mapState
(
'user'
,
[
'userInfo'
])
},
watch
:
{
activeTypeStr
(
newVal
)
{
this
.
activeType
=
parseInt
(
newVal
);
},
activeType
(
newVal
)
{
this
.
activeTypeStr
=
String
(
newVal
);
},
accountSelect
(
newVal
,
oldVal
)
{
if
(
newVal
&&
newVal
!==
''
&&
this
.
activeType
!==
3
)
{
this
.
pageInfo
=
{
...
...
@@ -359,8 +368,11 @@
// }
// })
// },
handleClick
(
item
)
{
this
.
activeType
=
item
.
type
handleTabClick
(
tab
)
{
console
.
log
(
'Tab clicked:'
,
tab
.
name
,
typeof
tab
.
name
);
// 确保activeTypeStr与tab.name同步
this
.
activeTypeStr
=
tab
.
name
;
if
(
this
.
activeType
!==
3
)
{
this
.
isloadMore
=
true
this
.
pageInfo
=
{
...
...
@@ -369,7 +381,7 @@
total
:
0
}
this
.
orderList
=
[]
this
.
requestOrderList
(
'msg'
)
this
.
requestOrderList
()
}
},
handleChange
(
val
)
{
...
...
@@ -463,17 +475,16 @@
overflow-x
:
hidden
;
.tabSelect
{
width
:
100%
;
height
:
60
px
;
height
:
32
px
;
border-bottom
:
1px
solid
#ebeef5
;
cursor
:
pointer
;
.tabSelectItem
{
font-size
:
1
6
px
;
font-size
:
1
4
px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#333333
;
padding-top
:
10px
;
cursor
:
pointer
;
line-height
:
40
px
;
line-height
:
32
px
;
}
.tabSelectItemActive
{
color
:
#409EFF
;
...
...
@@ -688,13 +699,28 @@
}
}
}
}
.order-tabs
{
margin-bottom
:
15px
;
::v-deep
.el-tabs__header
{
margin-bottom
:
15px
;
}
::v-deep
.el-tabs__item
{
line-height
:
26px
;
font-size
:
16px
;
height
:
40px
;
line-height
:
40px
;
font-size
:
14px
;
&.is-active
{
color
:
#3491FA
;
font-weight
:
500
;
}
}
/* 已移除局部 el-collapse 样式,使用全局样式 */
::v-deep
.el-tabs__active-bar
{
background-color
:
#3491FA
;
}
}
</
style
>
\ No newline at end of file
src/views/userInfo/userInfo.vue
浏览文件 @
b768d9b4
<
template
>
<div
class=
"userInfo-content"
>
<el-tabs
v-model=
"activeTab"
class=
"user-tabs"
>
<el-tab-pane
label=
"客户信息"
name=
"info"
>
<Info
:chatUserDetails=
"chatUserInfo"
/>
</el-tab-pane>
<el-tab-pane
label=
"角色信息"
name=
"role"
>
<roleInfo
v-if=
"activeTab === 'role'"
/>
</el-tab-pane>
<el-tab-pane
label=
"订单信息"
name=
"order"
>
<orderList
v-if=
"activeTab === 'order'"
/>
</el-tab-pane>
<el-tab-pane
label=
"违规记录"
name=
"violation"
>
<violationRecord
v-if=
"activeTab === 'violation'"
/>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
Info
from
'./components/Info.vue'
import
{
mapState
,
mapMutations
}
from
'vuex'
import
roleInfo
from
'@/views/roleInfo.vue'
import
orderList
from
'@/views/orderList.vue'
import
violationRecord
from
'@/views/ViolationRecord.vue'
import
{
mapState
,
mapMutations
}
from
'vuex'
export
default
{
name
:
'UserInfo'
,
components
:{
components
:
{
Info
,
roleInfo
,
orderList
,
violationRecord
},
mounted
()
{
},
data
()
{
return
{
activeTab
:
'info'
}
},
computed
:{
...
mapState
(
'game'
,[
'chatUserInfo'
]),
computed
:
{
...
mapState
(
'game'
,
[
'chatUserInfo'
]),
},
created
(){
created
()
{
// 初始化 vuex 中的值
},
methods
:{
methods
:
{
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.userInfo-content
{
.userInfo-content
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
font-size
:
14px
;
.user-tabs
{
width
:
100%
;
::v-deep
.el-tabs__header
{
margin-bottom
:
15px
;
padding
:
0
10px
;
}
::v-deep
.el-tabs__nav-wrap
::after
{
height
:
1px
;
}
::v-deep
.el-tabs__item
{
height
:
40px
;
line-height
:
40px
;
font-size
:
14px
;
}
::v-deep
.el-tabs__active-bar
{
height
:
2px
;
}
::v-deep
.el-tabs__content
{
height
:
calc
(
100%
-
55px
);
overflow-y
:
auto
;
}
}
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论