Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
XBRLPX-LS-h5
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
刘旭
XBRLPX-LS-h5
Commits
45e13e52
提交
45e13e52
authored
11月 08, 2023
作者:
刘旭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新
上级
d0cf9173
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
142 行增加
和
118 行删除
+142
-118
index.html
index.html
+1
-1
index.vue
src/components/header/index.vue
+14
-14
classEvaluate.vue
src/pages/class/classEvaluate.vue
+9
-0
classItem.vue
src/pages/class/components/classItem.vue
+6
-5
attendanceDetails.vue
src/pages/course/attendanceDetails.vue
+1
-1
courseItem.vue
src/pages/course/components/courseItem.vue
+3
-1
detailsItem.vue
src/pages/course/components/detailsItem.vue
+23
-18
seeMore.vue
src/pages/course/seeMore.vue
+0
-42
index.vue
src/pages/home/index.vue
+3
-28
lecturerItem.vue
src/pages/lecturer/components/lecturerItem.vue
+18
-5
taughtsPopup.vue
src/pages/lecturer/components/taughtsPopup.vue
+57
-0
index.vue
src/pages/login/index.vue
+7
-2
util.ts
src/utils/util.ts
+0
-1
没有找到文件。
index.html
浏览文件 @
45e13e52
...
...
@@ -3,7 +3,7 @@
<head>
<meta
charset=
"UTF-8"
/>
<link
rel=
"icon"
href=
""
type=
"png/x-icon"
/>
<
meta
http-equiv=
"Content-Security-Policy"
content=
"upgrade-insecure-requests"
>
<
!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> --
>
<link
rel=
"stylesheet"
href=
"./src/static/iconfont/iconfont.css"
/>
<script>
var
coverSupport
=
...
...
src/components/header/index.vue
浏览文件 @
45e13e52
...
...
@@ -54,11 +54,11 @@ defineProps({
},
backIconName
:
{
type
:
String
,
default
:
"arrow-left"
,
//
default: "arrow-left",
},
iconName
:
{
type
:
String
,
default
:
"more-dot-fill"
,
//
default: "more-dot-fill",
},
background
:
{
type
:
String
,
...
...
@@ -76,9 +76,9 @@ defineProps({
type
:
Boolean
,
default
:
true
,
},
})
})
;
const
emits
=
defineEmits
([
"handleRight"
,
"goback"
,
"submit"
])
const
emits
=
defineEmits
([
"handleRight"
,
"goback"
,
"submit"
])
;
const
sheetState
=
reactive
({
list
:
[
...
...
@@ -96,31 +96,31 @@ const sheetState = reactive({
},
],
show
:
false
,
})
})
;
const
handleRight
=
()
=>
{
sheetState
.
show
=
true
sheetState
.
show
=
true
;
// emits('handleRight')
}
}
;
// 点击左侧返回图标
const
handleLeftIconClick
=
()
=>
{
uni
.
navigateBack
()
}
uni
.
navigateBack
()
;
}
;
const
onConfirm
=
(
index
:
number
)
=>
{
const
item
=
sheetState
.
list
[
index
]
console
.
log
(
item
)
const
item
=
sheetState
.
list
[
index
]
;
console
.
log
(
item
)
;
// switch (item.options.operate) {
// case 'save':
// break;
// }
}
}
;
const
submit
=
()
=>
{
emits
(
"submit"
)
}
emits
(
"submit"
)
;
}
;
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages/class/classEvaluate.vue
浏览文件 @
45e13e52
...
...
@@ -2,6 +2,7 @@
<!--
<headers
title=
"我的班级"
/>
-->
<view
style=
"padding: 0 32rpx 168rpx"
>
<u-tabs
v-show=
"!parentCurrent"
:list=
"tabsState.list"
:is-scroll=
"false"
v-model=
"tabsState.current"
...
...
@@ -75,11 +76,18 @@ const tabsState = reactive({
],
current
:
0
,
});
const
status
=
ref
(
"loadmore"
);
const
addressBookList
=
ref
([]
as
any
);
const
parentCurrent
=
ref
();
onLoad
((
options
:
any
)
=>
{
listQuery
.
classId
=
options
.
classId
;
if
(
options
.
current
!=
2
)
{
tabsState
.
current
=
options
.
current
;
parentCurrent
.
value
=
options
.
current
;
listQuery
.
type
=
1
;
}
init
();
});
...
...
@@ -119,6 +127,7 @@ const init = async () => {
listQuery
.
total
=
res
.
total
;
}
};
// 上拉加载数据
onReachBottom
(()
=>
{
// 判断是否还有下一页数据
...
...
src/pages/class/components/classItem.vue
浏览文件 @
45e13e52
...
...
@@ -106,6 +106,7 @@ const toAddressBook = () => {
url
:
"/pages/class/addressBook?classId="
+
props
.
classItem
.
classId
,
});
};
const
toCourseArrange
=
()
=>
{
uni
.
navigateTo
({
url
:
"/pages/class/courseArrange?classId="
+
props
.
classItem
.
classId
,
...
...
@@ -114,13 +115,13 @@ const toCourseArrange = () => {
const
toEvaluate
=
()
=>
{
uni
.
navigateTo
({
url
:
"/pages/class/classEvaluate?classId="
+
props
.
classItem
.
classId
,
url
:
"/pages/class/classEvaluate?classId="
+
props
.
classItem
.
classId
+
"¤t="
+
props
.
current
,
});
};
const
contact
=
(
tel
:
string
)
=>
{
location
.
href
=
"tel:"
+
tel
;
};
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages/course/attendanceDetails.vue
浏览文件 @
45e13e52
...
...
@@ -48,7 +48,7 @@ const tagList = ref([
{
type
:
"info"
,
name
:
"正常"
},
{
type
:
"info"
,
name
:
"缺勤"
},
{
type
:
"info"
,
name
:
"请假"
},
{
type
:
"info"
,
name
:
"补签"
},
//
{ type: "info", name: "补签" },
]);
const
detailList
=
ref
([]
as
any
);
...
...
src/pages/course/components/courseItem.vue
浏览文件 @
45e13e52
...
...
@@ -17,7 +17,9 @@
<view
class=
"item"
>
<u-icon
size=
"34"
name=
"account"
/>
<block
v-for=
"(item, i) in courseItem.Management"
>
<text>
{{
item
.
teachName
}}
</text>
<text
style=
"color: #05a8ff"
@
tap=
"toSeeMore"
>
{{
item
.
teachName
}}
</text
>
</block>
</view>
<view
class=
"item"
>
...
...
src/pages/course/components/detailsItem.vue
浏览文件 @
45e13e52
...
...
@@ -107,12 +107,12 @@ const fillRef = ref();
const
tagList
=
[
{
color
:
"#04A7FF"
,
status
:
"正常出勤"
},
{
color
:
"#FF
3333
"
,
status
:
"缺勤"
},
{
color
:
"#FF
0606
"
,
status
:
"缺勤"
},
{
color
:
"#5363FF"
,
status
:
"未签退"
},
{
color
:
"#5363FF"
,
status
:
"
签到
请假"
},
{
color
:
"#5363FF"
,
status
:
"
签退
请假"
},
{
color
:
"#19be6b"
,
status
:
"
已补签
"
},
{
color
:
"#19be6b"
,
status
:
"
签退补签
"
},
{
color
:
"#5363FF"
,
status
:
"请假"
},
{
color
:
"#5363FF"
,
status
:
"请假"
},
{
color
:
"#19be6b"
,
status
:
"
正常出勤
"
},
{
color
:
"#19be6b"
,
status
:
"
正常出勤
"
},
// { color: "#5363FF", status: "未签到" },
]
as
any
;
...
...
@@ -131,9 +131,8 @@ const state: any = computed(() => {
"QD-QT"
:
tagList
[
0
],
"QD-"
:
tagList
[
2
],
"QDQJ-"
:
tagList
[
3
],
// "QDQJ-QT": tagList[3],
"QD-QTQJ"
:
tagList
[
4
],
"QDBQ-"
:
tagList
[
5
],
"QDBQ-"
:
tagList
[
1
],
"QD-QTBQ"
:
tagList
[
6
],
// "-QT": tagList[7],
}
as
any
;
...
...
@@ -147,13 +146,14 @@ const state: any = computed(() => {
return
data
;
});
// 签到状态
const
signInStatus
=
(
status
:
string
)
=>
{
if
(
status
)
{
return
status
===
"QDBQ"
?
"已补签"
:
status
===
"QD"
return
status
===
"QDBQ"
||
status
===
"QD"
?
"已签到"
:
status
===
"QDQJ"
:
// : status === "QD"
// ? "已签到"
status
===
"QDQJ"
?
"签到请假"
:
"未签到"
;
}
else
{
...
...
@@ -161,15 +161,17 @@ const signInStatus = (status: string) => {
}
};
// 签退状态
const
signOutStatus
=
(
status
:
string
)
=>
{
if
(
props
.
detailItem
?.
State
[
0
]?.
Value
[
0
].
SingIn
===
"QDBQ"
)
{
return
"已补签"
;
}
else
if
(
status
)
{
return
status
===
"QTBQ"
?
"签退补签"
:
status
===
"QT"
// if (props.detailItem?.State[0]?.Value[0].SingIn === "QDBQ") {
// return "已补签";
// } else
if
(
status
)
{
return
status
===
"QTBQ"
||
status
===
"QT"
?
"已签退"
:
status
===
"QTQJ"
:
// : status === "QT"
// ? "已签退"
status
===
"QTQJ"
?
"签退请假"
:
"未签退"
;
}
else
{
...
...
@@ -177,11 +179,14 @@ const signOutStatus = (status: string) => {
}
};
// 请假
const
leave
=
()
=>
{
fillState
.
label
=
"请假"
;
fillRef
.
value
.
init
(
"签到请假"
);
fillState
.
show
=
true
;
};
// 补签
const
repair
=
()
=>
{
fillState
.
label
=
"补签"
;
fillRef
.
value
.
init
(
"签到补签"
);
...
...
src/pages/course/seeMore.vue
浏览文件 @
45e13e52
...
...
@@ -17,48 +17,6 @@
{{
Teachs
[
0
].
teachMsg
}}
</view>
</view>
<!--
<block
v-for=
"(item, index) in Teachs"
>
<u-card
:show-head=
"false"
:show-foot=
"false"
margin=
"0"
>
<template
#
body
>
<u-section
title=
"讲师介绍"
font-size=
"34"
:arrow=
"false"
:right=
"false"
line-color=
"#2979ff"
/>
<view
class=
"info"
>
<u-image
width=
"100rpx"
height=
"100rpx"
border-radius=
"10"
:src=
"baseUrl + '/' + item.Url"
/>
<view
class=
"info-text"
>
<text>
{{
item
.
teachName
}}
</text>
<text>
{{
item
.
teachTle
}}
</text>
</view>
</view>
<view
class=
"detail"
>
{{
item
.
teachMsg
}}
</view>
</
template
>
</u-card>
<u-card
:show-head=
"false"
:show-foot=
"false"
margin=
"0"
>
<
template
#
body
>
<u-section
title=
"课程介绍"
font-size=
"34"
:arrow=
"false"
:right=
"false"
line-color=
"#2979ff"
/>
<view
class=
"detail"
>
{{
item
.
courseMsg
}}
</view>
</
template
>
</u-card>
</block>
-->
</view>
</
template
>
...
...
src/pages/home/index.vue
浏览文件 @
45e13e52
...
...
@@ -8,14 +8,13 @@
<u-image
width=
"240rpx"
height=
"240rpx"
:src=
"baseUrl + '/' + globalStore.infoData?.Image"
mode=
"aspectFit"
:src=
"'data:image/png;base64,' + globalStore.infoData?.img"
border-radius=
"24"
/>
<text
class=
"name"
>
{{
globalStore
.
infoData
?.
Name
}}
</text>
<view
v-if=
"globalStore.Phone"
class=
"info"
>
<text>
{{
globalStore
.
infoData
.
Type
==
"BZR"
?
"班主任"
:
"讲师"
}}
</text>
<text>
班主任
</text>
</view>
</view>
...
...
@@ -24,28 +23,6 @@
<view
class=
"title"
>
服务功能
</view>
</view>
<!--
<view
class=
"user-menu"
>
<view
class=
"content"
>
<u-grid
:col=
"3"
>
<u-grid-item
@
tap=
"toClass"
>
<u-icon
name=
"man-add-fill"
:size=
"53"
></u-icon>
<view
class=
"grid-text"
>
管理班级
</view>
</u-grid-item>
<u-grid-item
@
tap=
"toCourse"
>
<u-icon
name=
"grid-fill"
:size=
"53"
></u-icon>
<view
class=
"grid-text"
>
我的课程
</view>
</u-grid-item>
<u-grid-item
@
tap=
"toSetPositioning"
>
<u-icon
name=
"list-dot"
:size=
"53"
></u-icon>
<view
class=
"grid-text"
>
设置考勤定位
</view>
</u-grid-item>
<u-grid-item
@
tap=
"toTeachPoints"
>
<u-icon
name=
"search"
:size=
"53"
></u-icon>
<view
class=
"grid-text"
>
现场教学点
</view>
</u-grid-item>
</u-grid>
</view>
</view>
-->
<view
class=
"user-menu"
>
<view
class=
"menu-item"
...
...
@@ -53,7 +30,6 @@
:key=
"item.id"
@
tap=
"gridChange(item.id)"
>
<!-- Ribbon2 Ribbon5 -->
<u-image
:src=
"item.src"
width=
"120rpx"
height=
"120rpx"
/>
<text>
{{
item
.
name
}}
</text>
</view>
...
...
@@ -70,7 +46,6 @@
<
script
setup
lang=
"ts"
>
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
baseUrl
}
from
"@/utils/request"
;
const
globalStore
=
useGlobalStore
();
...
...
src/pages/lecturer/components/lecturerItem.vue
浏览文件 @
45e13e52
...
...
@@ -17,15 +17,17 @@
<text
class=
"line"
></text>
<text>
{{
lecturerItem
.
FTITLE
}}
</text>
</view>
<view
class=
"body-left-header-right-bottom"
>
党性学习第一节
</view
>
<view
class=
"body-left-header-right-bottom"
>
{{
lecturerItem
.
FCANCOURSE
}}
</view
>
</view>
</view>
<view
class=
"body-left-bottom"
>
<view
class=
"item"
>
可授课程:
{{
lecturerItem
.
FCANCOURSE
}}
<view
class=
"item-sub"
>
查看全部可授课程
</view>
<view
class=
"item-sub"
@
tap=
"showTaughts"
>
查看全部可授课程
</view
>
</view>
<view
class=
"item"
>
课酬参考:
{{
lecturerItem
.
FSALARY
}}
</view>
<view
class=
"item"
...
...
@@ -53,11 +55,13 @@
</
template
>
</u-card>
</view>
<taughtsPopup
ref=
"taughtsRef"
v-model:show=
"show"
/>
</template>
<
script
setup
lang=
"ts"
>
import
{
baseUrl
}
from
"@/utils/request"
;
import
{
hidePhoneNumber
,
toast
}
from
"@/utils/util"
;
import
taughtsPopup
from
"./taughtsPopup.vue"
;
const
props
=
defineProps
({
lecturerItem
:
{
...
...
@@ -65,13 +69,16 @@ const props = defineProps({
}
as
any
,
});
const
show
=
ref
(
false
);
const
taughtsRef
=
ref
();
const
downTitleImage
=
()
=>
{
try
{
uni
.
downloadFile
({
url
:
baseUrl
+
"/"
+
props
.
lecturerItem
.
FTITLEPROVE
,
// 这里是你接口地址 若要传参 直接 url拼接参数即可
success
:
(
res
)
=>
{
console
.
log
(
res
,
"res"
);
var
tempFilePath
=
res
.
tempFilePath
;
// 这里拿到后端返回的图片路径
const
tempFilePath
=
res
.
tempFilePath
;
// 这里拿到后端返回的图片路径
const
url
=
tempFilePath
;
const
a
=
document
.
createElement
(
"a"
);
a
.
href
=
url
;
...
...
@@ -86,6 +93,12 @@ const downTitleImage = () => {
toast
(
"下载失败"
);
}
};
const
showTaughts
=
()
=>
{
taughtsRef
.
value
.
taughtList
=
props
.
lecturerItem
.
FCANCOURSES
;
console
.
log
(
taughtsRef
.
value
.
taughtList
);
show
.
value
=
true
;
};
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages/lecturer/components/taughtsPopup.vue
0 → 100644
浏览文件 @
45e13e52
<
template
>
<u-popup
v-model=
"props.show"
mode=
"center"
closeable
width=
"400rpx"
border-radius=
"24"
@
close=
"handleClose"
>
<view
class=
"taught"
>
<view
class=
"title"
>
可授课程
</view>
<u-table>
<u-tr>
<u-th>
课程
</u-th>
</u-tr>
<u-tr
v-for=
"(item, index) in taughtList"
:key=
"index"
>
<u-td>
{{
item
.
FDATAVALUE
}}
</u-td>
</u-tr>
</u-table>
</view>
</u-popup>
</
template
>
<
script
setup
lang=
"ts"
>
const
props
=
defineProps
({
show
:
{
type
:
Boolean
,
default
:
false
,
},
});
const
emits
=
defineEmits
([
"update:show"
]);
const
formRef
=
ref
();
const
taughtList
=
ref
();
const
handleClose
=
()
=>
{
formRef
.
value
?.
resetFields
();
emits
(
"update:show"
,
false
);
};
defineExpose
({
taughtList
,
});
</
script
>
<
style
lang=
"scss"
scoped
>
.taught
{
padding
:
40rpx
32rpx
;
.title
{
font-size
:
34rpx
;
font-weight
:
500
;
color
:
#000000
;
margin-bottom
:
32rpx
;
}
}
</
style
>
src/pages/login/index.vue
浏览文件 @
45e13e52
...
...
@@ -8,7 +8,12 @@
/>
</view>
<view
class=
"logo"
>
<u-image
src=
"../../static/img/logo.png"
width=
"100%"
height=
"240rpx"
/>
<u-image
src=
"../../static/img/logo.png"
width=
"100%"
height=
"240rpx"
mode=
"aspectFit"
/>
<view
class=
"logo-detail"
>
培训系统
</view>
</view>
<view
class=
"container"
>
...
...
@@ -63,7 +68,7 @@ const hideshow = ref(true);
const
docmHeight
=
document
.
documentElement
.
clientHeight
;
const
data
=
reactive
({
formData
:
{
Phone
:
"1
5077060245
"
,
Phone
:
"1
6673514373
"
,
Password
:
"123456"
,
}
as
Login
.
LoginForm
,
rules
:
{
...
...
src/utils/util.ts
浏览文件 @
45e13e52
...
...
@@ -145,7 +145,6 @@ export const hidePhoneNumber = (phoneNumber: string) => {
};
export
const
callPhone
=
(
phone
:
string
)
=>
{
console
.
log
(
phone
);
if
(
!
phone
)
return
toast
(
"电话号码为空"
);
location
.
href
=
"tel:"
+
phone
;
};
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论