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
51e4fecb
Commit
51e4fecb
authored
Dec 23, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
01e2253e
478aa15a
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
460 additions
and
248 deletions
+460
-248
App.vue
src/App.vue
+1
-1
administration.js
src/api/administration/administration.js
+21
-0
backinfo-form.vue
src/components/sale/backinfo-form.vue
+269
-94
orderlist.vue
src/components/sale/orderlist.vue
+33
-7
AttendanceRules.vue
src/pages/administration/AttendanceRules.vue
+53
-44
leaveApproval.vue
src/pages/administration/leaveApproval.vue
+81
-101
achievements.vue
src/pages/course/achievements.vue
+1
-1
myOrder.vue
src/pages/sale/myOrder.vue
+1
-0
No files found.
src/App.vue
View file @
51e4fecb
...
@@ -12,7 +12,7 @@ export default {
...
@@ -12,7 +12,7 @@ export default {
<
style
>
<
style
>
@import
url('~assets/css/font.css')
;
@import
url('~assets/css/font.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
pzn5murglf
.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
ykxxzo63hxp
.css')
;
html
,
html
,
body
,
body
,
...
...
src/api/administration/administration.js
View file @
51e4fecb
...
@@ -197,6 +197,27 @@ export function setAttendanceInfo(data) {
...
@@ -197,6 +197,27 @@ export function setAttendanceInfo(data) {
data
data
});
});
}
}
/**
*
*/
export
function
getTimeSpanValue
(
data
)
{
return
request
({
url
:
'/usercenter/GetTimeSpanValue'
,
method
:
'post'
,
data
});
}
/**
*审批的获取和发起 根据类型不用的接口名称 第二为接口名称
*/
export
function
getleaveCmd
(
data
,
cmd
)
{
return
request
({
url
:
cmd
,
method
:
'post'
,
data
});
}
...
...
src/components/sale/backinfo-form.vue
View file @
51e4fecb
<
template
>
<
style
>
<div>
.backinfoContent
{
基本信息
margin
:
10px
;
<br
/>
padding-bottom
:
80px
;
<span>
}
编号:
{{
setingObj
.
BackNum
}}
</span>
<br
/>
<span>
申请人:
{{
setingObj
.
CreateByName
}}
</span>
<br
/>
<span>
学员姓名:
{{
setingObj
.
GuestName
}}
</span>
<br
/>
<span>
申请时间:
{{
setingObj
.
CreateTimeStr
}}
</span>
<br
/>
.backinfoContent
.role_Line
{
<br
/>
width
:
3px
;
教学信息
height
:
11px
;
<br
/>
margin-right
:
10px
;
<span>
background-color
:
#3FC4FF
;
校区:
{{
setingObj
.
SchoolName
}}
display
:
inline-block
;
</span>
}
<br
/>
<span>
班级名称:
{{
setingObj
.
ClassName
}}
</span>
<br
/>
<span>
代课老师:
{{
setingObj
.
TeacherName
}}
</span>
<br
/>
<span>
学习课程:
{{
setingObj
.
CourseName
}}
</span>
<br
/>
.backinfoContent
.backinfo_Item
{
<br
/>
学习信息
color
:
#000000
;
<br
/>
font-weight
:
bold
;
<span>
}
学习课时:
{{
setingObj
.
FinishHours
}}
课时
</span>
<br
/>
<span>
缺勤次数:暂无
</span>
<br
/>
<span>
考试评分:暂无
</span>
<br
/>
.backinfoContent
.backInfo_One
{
<br
/>
margin
:
20px
0
;
其他信息
}
<br
/>
<span>
关联订单号:
{{
setingObj
.
OrderId
}}
</span>
<br
/>
<span>
关联销售:
{{
setingObj
.
EnterName
}}
</span>
<br
/>
<span>
语句退课费用:
{{
setingObj
.
BackMoney
}}
</span>
<br
/>
<span>
.backinfoContent
.backOtherInfo
{
申请原因:
{{
setingObj
.
ApplyReason
}}
color
:
#111111
;
</span>
}
<br
/>
.backinfoContent
.backInfo_Title
{
<template
v-if=
"showType==1"
>
display
:
inline-block
;
<span>
width
:
75px
;
text-align
:
left
;
color
:
#999999
;
}
.backinfoContent
.replayReason
{
width
:
100%
;
min-height
:
100px
;
background-color
:
#F0F5FB
;
border-radius
:
3px
;
padding
:
20px
;
margin
:
20px
0
;
}
.backinfoContent
.replay_Title
{
font-weight
:
bold
;
color
:
#111111
;
}
.backinfoContent
.chaosong_Peo
{
display
:
inline-block
;
padding
:
2px
3px
;
color
:
#fff
;
border-radius
:
3px
;
margin
:
0
5px
5px
0
;
background-color
:
#9cf
;
}
.backinfoContent
.topBaseInfo
{
height
:
300px
;
overflow
:
auto
;
}
.topBaseInfo
::-webkit-scrollbar
{
width
:
3px
;
height
:
3px
;
background-color
:
#F5F5F5
;
}
/*!*定义滚动条轨道 内阴影+圆角*!*/
.topBaseInfo
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
6px
rgba
(
0
,
0
,
0
,
0.3
);
border-radius
:
10px
;
background-color
:
#F5F5F5
;
}
/*!*定义滑块 内阴影+圆角*!*/
.topBaseInfo
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
-webkit-box-shadow
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
color-stop
(
.5
,
rgba
(
255
,
255
,
255
,
.2
)),
color-stop
(
.5
,
transparent
),
to
(
transparent
));
background-color
:
#0ae
;
}
</
style
>
<
template
>
<div
class=
"backinfoContent"
>
<div>
<div
class=
"topBaseInfo"
>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
></span>
基本信息
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
编号:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
BackNum
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
申请人:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
CreateByName
}}
</span>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
学员姓名:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
GuestName
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
申请时间:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
CreateTimeStr
}}
</span>
</div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color:#F28C1D"
></span>
教学信息
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
校区:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
SchoolName
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
班级信息:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
ClassName
}}
</span>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
带班老师:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
TeacherName
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
学习课程:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
CourseName
}}
</span>
</div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color:#02C499"
></span>
学习信息
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
学习课时:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
FinishHours
}}
课时
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
缺勤次数:
</span>
<span
class=
"backOtherInfo"
>
暂无
</span>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
考试评分:
</span>
<span
class=
"backOtherInfo"
>
暂无
</span>
</div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color:#8175FB"
></span>
其他信息
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
关联单号:
</span>
<span
class=
"backOtherInfo"
style=
"color:#2961FE"
>
{{
setingObj
.
OrderId
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
关联销售:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
EnterName
}}
</span>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
预计退费:
</span>
<span
class=
"backOtherInfo"
style=
"color:#F72E52"
>
¥
{{
setingObj
.
BackMoney
}}
</span>
</div>
</div>
</div>
<div
class=
"replayReason"
>
<div
class=
"replay_Title"
>
退课原因
</div>
<div
style=
"color:#666666;margin-top:5px;"
>
{{
setingObj
.
ApplyReason
}}
</div>
</div>
<template>
<span
v-if=
"showType==1"
>
退课金额:
{{
setingObj
.
BackMoney
}}
退课金额:
{{
setingObj
.
BackMoney
}}
</span>
</span>
</
template
>
</
template
>
...
@@ -86,27 +181,67 @@
...
@@ -86,27 +181,67 @@
:rules=
"[val => !!val || '请填退课金额']"
/>
:rules=
"[val => !!val || '请填退课金额']"
/>
</span>
</span>
</
template
>
</
template
>
<div
v-if=
"showType==2"
>
<br
/>
<div
style=
"display:flex;justify-content:space-between;align-items:center;"
>
<div>
审批意见
</div>
<div>
<div>
抄送:
RecipientIds
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"closeBackInfo"
/>
<q-btn
v-if=
"showType==2"
label=
"确认"
@
click=
"saveBackClassInfo()"
/>
</div>
<span
v-if=
"showType==2"
>
审批意见:
<q-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"2"
label=
"通过"
/>
<q-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"2"
label=
"通过"
/>
<q-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"3"
label=
"驳回"
/>
<q-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"3"
label=
"驳回"
/>
</div>
</div>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"backBillMsg.Description"
type=
"textarea"
label=
"审批意见"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"backBillMsg.Description"
type=
"textarea"
label=
"审批意见"
/>
</div>
<div
style=
"margin-top:20px;"
>
<div
class=
"row"
>
<div
class=
"col-6"
style=
"display:flex;align-items:top;"
>
<
template
v-if=
"tempPeople.length>0"
>
<div
style=
"display:inline-block;width:45px;"
>
抄送:
</div>
<!-- RecipientIds -->
<div
style=
"display:inline-block;margin-left:5px;width:340px;"
>
<span
class=
"chaosong_Peo"
v-for=
"(childItem,cindex) in tempPeople"
>
{{
getName
(
childItem
)
}}
</span>
</span>
</div>
</div>
</
template
>
</div>
<div
class=
"col-6"
style=
"justify-content: flex-end;display:flex;align-items:center;"
>
<i
class=
"iconfont icon-aite"
style=
"font-size:20px;margin:7px 20px 0 0;cursor:pointer;"
>
<q-popup-proxy>
<q-banner>
<div
style=
"width:350px;"
>
<div
style=
"margin:10px 0 15px 0;"
>
抄送
</div>
<q-select
class=
"col-6 q-pb-lg q-pr-lg"
multiple
clearable
filled
stack-label
use-input
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"tempPeople"
ref=
"ManagerId"
:options=
"EmployeeList"
label=
"选择人员"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
</q-banner>
</q-popup-proxy>
</i>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"closeBackInfo"
/>
<q-btn
v-if=
"showType==2"
color=
"accent q-px-md"
label=
"确认"
@
click=
"saveBackClassInfo()"
/>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
saveBackBillAduit
saveBackBillAduit
}
from
'../../api/sale/bill'
}
from
'../../api/sale/bill'
import
{
queryEmployee
}
from
'../../api/users/user'
export
default
{
export
default
{
props
:
{
props
:
{
setingObj
:
{
setingObj
:
{
...
@@ -130,12 +265,16 @@
...
@@ -130,12 +265,16 @@
Description
:
""
,
//审批意见
Description
:
""
,
//审批意见
AuditStatus
:
0
,
//审核状态
AuditStatus
:
0
,
//审核状态
},
},
EmployeeList
:
[],
AllemployeeList
:
[],
tempPeople
:
[],
//抄送人数组
}
}
},
},
created
()
{},
created
()
{},
mounted
()
{
mounted
()
{
this
.
backBillMsg
.
BackId
=
this
.
setingObj
.
BackId
;
this
.
backBillMsg
.
BackId
=
this
.
setingObj
.
BackId
;
console
.
log
(
"setingObj"
,
this
.
setingObj
);
console
.
log
(
"setingObj"
,
this
.
setingObj
);
this
.
getEmployee
();
},
},
methods
:
{
methods
:
{
closeBackInfo
()
{
closeBackInfo
()
{
...
@@ -147,6 +286,42 @@
...
@@ -147,6 +286,42 @@
saveBackBillAduit
(
this
.
backBillMsg
).
then
(
res
=>
{
saveBackBillAduit
(
this
.
backBillMsg
).
then
(
res
=>
{
console
.
log
(
"res"
,
res
);
console
.
log
(
"res"
,
res
);
})
})
},
//获取员工列表
getEmployee
()
{
var
qMsg
=
{
EmployeeName
:
""
}
queryEmployee
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
jsonData
=
res
.
Data
;
if
(
jsonData
&&
jsonData
.
length
>
0
)
{
this
.
AllemployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));;
}
}
})
},
//筛选员工
filterFn
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
''
)
{
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllemployeeList
))
}
else
{
const
needle
=
val
.
toLowerCase
()
this
.
EmployeeList
=
this
.
AllemployeeList
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
)
}
})
},
getName
(
id
){
let
str
=
''
this
.
EmployeeList
.
forEach
(
x
=>
{
if
(
id
==
x
.
Id
){
console
.
log
(
x
,
'x'
);
str
=
x
.
EmployeeName
;
}
})
return
str
;
}
}
},
},
}
}
...
...
src/components/sale/orderlist.vue
View file @
51e4fecb
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<div
style=
"margin-top: 30px;margin-bottom: 10px"
>
班级
</div>
<div
style=
"margin-top: 30px;margin-bottom: 10px"
>
班级
</div>
<div
style=
"font-weight: bold;color:#2961FE;cursor:pointer;"
@
click=
"getClassInfo(item)"
>
{{
item
.
ClassName
}}
</div>
<div
style=
"font-weight: bold;color:#2961FE;cursor:pointer;"
@
click=
"getClassInfo(item)"
>
{{
item
.
ClassName
}}
</div>
</
template
>
</
template
>
<
template
v-if=
"
!isShowClass&&
item.IsCommissionGive==1"
>
<
template
v-if=
"item.IsCommissionGive==1"
>
<div
style=
"margin-top:30px;"
>
提成:
{{
item
.
CommissionMoney
}}
</div>
<div
style=
"margin-top:30px;"
>
提成:
{{
item
.
CommissionMoney
}}
</div>
</
template
>
</
template
>
<
template
>
<
template
>
...
@@ -118,9 +118,16 @@
...
@@ -118,9 +118,16 @@
</tr>
</tr>
<tr>
<tr>
<td
:colspan=
"11"
style=
"text-align: left"
>
<td
:colspan=
"11"
style=
"text-align: left"
>
<div
class=
"row"
v-if=
"item.GuestList.length>0"
>
学生名单:
学生名单:
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"item.GuestList.length>0"
style=
"color:#2961FE;"
>
{{x.GuestName}}
</span>
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"x.GuestState==1"
style=
"color:#2961FE;margin-right: 5px"
>
{{x.GuestName}}
</span>
</div>
<div
class=
"row"
v-if=
" item.GuestList.length>0&&getTkshow(item.GuestList)"
>
退课名单:
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"x.GuestState==2"
style=
"color:#f5576c;margin-right: 5px"
>
{{x.GuestName}}
</span>
</div>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -293,8 +300,14 @@
...
@@ -293,8 +300,14 @@
</tr>
</tr>
<tr>
<tr>
<td
:colspan=
"11"
style=
"text-align: left"
>
<td
:colspan=
"11"
style=
"text-align: left"
>
<div
class=
"row"
v-if=
"item.GuestList.length>0"
>
学生名单:
学生名单:
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"item.GuestList.length>0"
style=
"color:#2961FE;"
>
{{x.GuestName}}
</span>
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"x.GuestState==1"
style=
"color:#2961FE;margin-right: 5px"
>
{{x.GuestName}}
</span>
</div>
<div
class=
"row"
v-if=
" item.GuestList.length>0&&getTkshow(item.GuestList)"
>
退课名单:
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"x.GuestState==2"
style=
"color:#f5576c;margin-right: 5px"
>
{{x.GuestName}}
</span>
</div>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
</td>
</td>
</tr>
</tr>
...
@@ -396,7 +409,7 @@
...
@@ -396,7 +409,7 @@
<div
class=
"col"
>
<div
class=
"col"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
收款单据:
</span>
<span>
收款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"isShowClass"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
...
@@ -408,7 +421,7 @@
...
@@ -408,7 +421,7 @@
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"isShowClass"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.RefundFinanceList"
:index=
"j"
:style=
"{
<div
class=
"finance row"
v-for=
"(x,j) in item.RefundFinanceList"
:index=
"j"
:style=
"{
...
@@ -507,10 +520,23 @@ export default {
...
@@ -507,10 +520,23 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
Employee
()
this
.
Employee
()
},
},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
getTkshow
(
data
){
let
Tkshow
=
false
;
if
(
data
.
length
>
0
){
data
.
forEach
(
x
=>
{
if
(
x
.
GuestState
==
2
){
Tkshow
=
true
}
});
}
return
Tkshow
},
//显示退课申请
//显示退课申请
showBackClassForm
(
item
)
{
showBackClassForm
(
item
)
{
this
.
orderObj
=
item
;
this
.
orderObj
=
item
;
...
...
src/pages/administration/AttendanceRules.vue
View file @
51e4fecb
...
@@ -287,6 +287,7 @@
...
@@ -287,6 +287,7 @@
import
{
import
{
getDepartmentGetList
,
getDepartmentGetList
,
getAttendanceInfo
,
getAttendanceInfo
,
getTimeSpanValue
,
setAttendanceInfo
setAttendanceInfo
}
from
'../../api/administration/administration'
}
from
'../../api/administration/administration'
import
{
import
{
...
@@ -448,12 +449,6 @@
...
@@ -448,12 +449,6 @@
})
})
},
},
getEmployee
(
id
)
{
getEmployee
(
id
)
{
// this.employeeMsg.departmentId = id
// this.apipost('app_get_company_employee', this.employeeMsg, res => {
// if(res.data.resultCode == 1) {
// this.employeeList = res.data.data;
// }
// }, err => {})
let
msg
=
{
let
msg
=
{
Dept_Id
:
id
,
Dept_Id
:
id
,
EmployeeName
:
""
,
EmployeeName
:
""
,
...
@@ -502,22 +497,32 @@
...
@@ -502,22 +497,32 @@
},
},
getDateArr
()
{
getDateArr
()
{
if
(
this
.
fwStartTime
!=
''
&&
this
.
fwEndTime
!=
''
)
{
if
(
this
.
fwStartTime
!=
''
&&
this
.
fwEndTime
!=
''
)
{
this
.
apipost
(
'User_get_AttendanceGetTimeSpanValue'
,
{
getTimeSpanValue
(
{
StartTime
:
this
.
fwStartTime
,
StartTime
:
this
.
fwStartTime
,
EndTime
:
this
.
fwEndTime
EndTime
:
this
.
fwEndTime
},
res
=>
{
}
this
.
fwdateArr
=
res
.
data
.
data
).
then
(
res
=>
{
},
err
=>
{})
if
(
res
.
Code
==
1
){
this
.
fwdateArr
=
res
.
Data
}
}).
catch
(()
=>
{
})
}
}
},
},
getDateArr1
()
{
getDateArr1
()
{
if
(
this
.
fwStartTime1
!=
''
&&
this
.
fwEndTime1
!=
''
)
{
if
(
this
.
fwStartTime1
!=
''
&&
this
.
fwEndTime1
!=
''
)
{
this
.
apipost
(
'User_get_AttendanceGetTimeSpanValue'
,
{
getTimeSpanValue
(
{
StartTime
:
this
.
fwStartTime1
,
StartTime
:
this
.
fwStartTime1
,
EndTime
:
this
.
fwEndTime1
EndTime
:
this
.
fwEndTime1
},
res
=>
{
}
this
.
fwdateArr1
=
res
.
data
.
data
).
then
(
res
=>
{
},
err
=>
{})
if
(
res
.
Code
==
1
){
this
.
fwdateArr1
=
res
.
Data
}
}).
catch
(()
=>
{
})
}
}
},
},
onSearchResult
(
pois
)
{
onSearchResult
(
pois
)
{
...
@@ -876,40 +881,44 @@
...
@@ -876,40 +881,44 @@
this
.
addMsg
.
NottdList
=
this
.
signOutDates
;
//不用打卡的日期
this
.
addMsg
.
NottdList
=
this
.
signOutDates
;
//不用打卡的日期
this
.
addMsg
.
awList
=
this
.
awListData
;
//根据地点考勤
this
.
addMsg
.
awList
=
this
.
awListData
;
//根据地点考勤
this
.
addMsg
.
awWifiList
=
this
.
awWifiListDates
;
//根据Wifi考勤
this
.
addMsg
.
awWifiList
=
this
.
awWifiListDates
;
//根据Wifi考勤
this
.
apipost
(
'User_post_AttendanceSet'
,
this
.
addMsg
,
res
=>
{
setAttendanceInfo
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
data
.
result
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
m
essage
)
this
.
$message
.
success
(
res
.
M
essage
)
this
.
goBack
()
this
.
goBack
()
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
m
essage
)
this
.
$message
.
error
(
res
.
M
essage
)
}
}
}).
catch
(()
=>
{
}
,
err
=>
{}
)
})
},
},
getUpdateList
()
{
//获取修改数据
getUpdateList
()
{
//获取修改数据
this
.
apipost
(
'User_get_AttendanceGet'
,
{
attendanceId
:
this
.
addMsg
.
attendanceId
getAttendanceInfo
({
attendanceId
:
this
.
addMsg
.
attendanceId
}).
then
(
res
=>
{
},
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
listArr
=
res
.
data
.
d
ata
.
WdList
;
this
.
listArr
=
res
.
D
ata
.
WdList
;
this
.
listArr
.
forEach
((
item
,
index
)
=>
{
this
.
listArr
.
forEach
((
item
,
index
)
=>
{
item
.
IsCheck
=
res
.
data
.
d
ata
.
WdList
[
index
].
IsCheck
==
'1'
?
true
:
false
item
.
IsCheck
=
res
.
D
ata
.
WdList
[
index
].
IsCheck
==
'1'
?
true
:
false
})
})
this
.
signInDates
=
res
.
data
.
d
ata
.
TdList
;
this
.
signInDates
=
res
.
D
ata
.
TdList
;
this
.
signInDates
.
forEach
(
item
=>
{
this
.
signInDates
.
forEach
(
item
=>
{
item
.
Date
=
item
.
Date
.
substring
(
0
,
10
)
item
.
Date
=
item
.
Date
.
substring
(
0
,
10
)
})
})
this
.
signOutDates
=
res
.
data
.
d
ata
.
NottdList
;
this
.
signOutDates
=
res
.
D
ata
.
NottdList
;
this
.
signOutDates
.
forEach
(
item
=>
{
this
.
signOutDates
.
forEach
(
item
=>
{
item
.
Date
=
item
.
Date
.
substring
(
0
,
10
)
item
.
Date
=
item
.
Date
.
substring
(
0
,
10
)
})
})
this
.
getSpecialDates
();
this
.
getSpecialDates
();
this
.
awListData
=
res
.
data
.
data
.
AwList
;
this
.
awListData
=
res
.
Data
.
AwList
;
this
.
awWifiListDates
=
res
.
data
.
data
.
AwWifiList
;
this
.
awWifiListDates
=
res
.
Data
.
AwWifiList
;
if
(
res
.
data
.
data
.
AwList
.
length
>
0
)
{
if
(
res
.
Data
.
AwList
.
length
>
0
)
{
this
.
addressRange
=
res
.
data
.
data
.
AwList
[
0
].
Scope
.
toString
();
this
.
addressRange
=
res
.
Data
.
AwList
[
0
].
Scope
.
toString
();
}
}
}
}).
catch
(()
=>
{
})
},
err
=>
{})
},
},
goBack
()
{
goBack
()
{
history
.
back
(
-
1
)
history
.
back
(
-
1
)
...
...
src/pages/administration/leaveApproval.vue
View file @
51e4fecb
...
@@ -63,7 +63,8 @@
...
@@ -63,7 +63,8 @@
}
from
'../../api/common/common'
}
from
'../../api/common/common'
import
{
import
{
getDictValueList
,
getDictValueList
,
calculateDuration
calculateDuration
,
getleaveCmd
}
from
'../../api/administration/administration'
;
}
from
'../../api/administration/administration'
;
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -100,53 +101,34 @@
...
@@ -100,53 +101,34 @@
},
},
methods
:
{
methods
:
{
getLunchTime
()
{
getLunchTime
()
{
this
.
apipost
(
'dict_post_GetList'
,
{
getDictValueList
({
Key
:
'SK_AskForLeaveSet_LunchBreak'
}).
then
(
res
=>
{
Key
:
'SK_AskForLeaveSet_LunchBreak'
if
(
res
.
Code
==
1
)
{
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
()
this
.
getList
()
if
(
res
.
data
.
data
[
0
].
Content
!=
''
&&
res
.
data
.
d
ata
[
0
].
Content
!=
null
)
if
(
res
.
Data
[
0
].
Content
!=
''
&&
res
.
D
ata
[
0
].
Content
!=
null
)
{
{
this
.
lunchTime
=
res
.
data
.
d
ata
[
0
].
Content
this
.
lunchTime
=
res
.
D
ata
[
0
].
Content
}
else
{
}
else
{
this
.
lunchTime
=
'12:00-13:00'
this
.
lunchTime
=
'12:00-13:00'
}
}
}
}
},
err
=>
{})
}).
catch
(()
=>
{
})
// getDictValueList({Key: 'SK_AskForLeaveSet_LunchBreak'}).then(res => {
// if(res.Code == 1) {
//
// }
// }).catch(() => {
// this.getList()
// if(res.data.data[0].Content!=''&&res.data.data[0].Content!=null)
// {
// this.lunchTime = res.data.data[0].Content
// }else{
// this.lunchTime='12:00-13:00'
// }
// })
},
},
getKey
()
{
getKey
()
{
this
.
apipost
(
'dict_post_GetList'
,
{
getDictValueList
({
Key
:
'SK_AskForLeaveSet_Month'
}).
then
(
res
=>
{
Key
:
'SK_AskForLeaveSet_Month'
if
(
res
.
Code
==
1
)
{
},
res
=>
{
this
.
keyContent
=
res
.
Data
[
0
].
Content
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
keyContent
=
res
.
data
.
data
[
0
].
Content
}
}
},
err
=>
{})
}).
catch
(()
=>
{
})
},
},
getKeyBefore
()
{
getKeyBefore
()
{
this
.
apipost
(
'dict_post_GetList'
,
{
getDictValueList
({
Key
:
'SK_AskForLeaveSet_Befor'
}).
then
(
res
=>
{
Key
:
'SK_AskForLeaveSet_Befor'
if
(
res
.
Code
==
1
)
{
},
res
=>
{
this
.
keyContentBefor
=
res
.
Data
[
0
].
Content
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
keyContentBefor
=
res
.
data
.
data
[
0
].
Content
}
}
},
err
=>
{})
}).
catch
(()
=>
{
})
},
},
isYearLeave
(
val
)
{
isYearLeave
(
val
)
{
if
(
val
==
1
)
{
if
(
val
==
1
)
{
...
@@ -236,11 +218,13 @@
...
@@ -236,11 +218,13 @@
})
})
},
},
getList
()
{
getList
()
{
this
.
apipost
(
this
.
cmd
,
{
getleaveCmd
({
workFlowId
:
this
.
workFlowId
workFlowId
:
this
.
workFlowId
},
res
=>
{
},
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
cmd
this
.
list
=
res
.
data
.
data
).
then
(
res
=>
{
this
.
list
=
res
.
Data
this
.
list
.
forEach
(
item
=>
{
this
.
list
.
forEach
(
item
=>
{
if
(
item
.
formType
==
'selectField'
&&
item
.
value
==
0
)
{
if
(
item
.
formType
==
'selectField'
&&
item
.
value
==
0
)
{
item
.
value
=
''
;
item
.
value
=
''
;
...
@@ -278,8 +262,16 @@
...
@@ -278,8 +262,16 @@
}
else
{
}
else
{
this
.
yearLeave
=
false
this
.
yearLeave
=
false
}
}
}
}).
catch
(()
=>
{
},
err
=>
{})
})
// this.apipost(this.cmd, {
// workFlowId: this.workFlowId
// }, res => {
// if(res.data.resultCode == 1) {
//
// }
// }, err => {})
},
},
getDuration
(
obj
,
index
)
{
getDuration
(
obj
,
index
)
{
let
starTime
=
''
let
starTime
=
''
...
@@ -326,32 +318,17 @@
...
@@ -326,32 +318,17 @@
})
})
}
}
if
(
starTime
!=
''
&&
endTime
!=
''
)
{
if
(
starTime
!=
''
&&
endTime
!=
''
)
{
calculateDuration
({
// calculateDuration({
// startTime: starTime,
// endTime: endTime,
// templateId: this.type,
// LunchTime: this.lunchTime
// }).then(res => {
// if(res.Code == 1) {
//
// }
// }).catch(() => {
//
// })
this
.
apipost
(
'app_user_workflow_calculate_duration'
,
{
startTime
:
starTime
,
startTime
:
starTime
,
endTime
:
endTime
,
endTime
:
endTime
,
templateId
:
this
.
type
,
templateId
:
this
.
type
,
LunchTime
:
this
.
lunchTime
LunchTime
:
this
.
lunchTime
}
,
res
=>
{
}
).
then
(
res
=>
{
if
(
res
.
data
.
result
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
totalList
=
[];
this
.
totalList
=
[];
obj
.
forEach
(
item
=>
{
obj
.
forEach
(
item
=>
{
if
(
item
.
formType
==
'durationField'
)
{
if
(
item
.
formType
==
'durationField'
)
{
item
.
value
=
res
.
data
.
d
ata
.
duration
;
item
.
value
=
res
.
D
ata
.
duration
;
let
totalDurationField
=
0
;
let
totalDurationField
=
0
;
this
.
list
.
forEach
(
item
=>
{
this
.
list
.
forEach
(
item
=>
{
if
(
item
.
formType
==
'childField'
)
{
if
(
item
.
formType
==
'childField'
)
{
...
@@ -373,7 +350,11 @@
...
@@ -373,7 +350,11 @@
}
}
})
})
}
}
},
err
=>
{})
}).
catch
(()
=>
{
})
}
}
},
},
...
@@ -439,17 +420,16 @@
...
@@ -439,17 +420,16 @@
this
.
msg
.
endTime
=
this
.
msg
.
endTime
+
' 23:59:59'
this
.
msg
.
endTime
=
this
.
msg
.
endTime
+
' 23:59:59'
}
}
}
}
getleaveCmd
(
this
.
msg
,
this
.
submitCmd
).
then
(
res
=>
{
this
.
apipost
(
this
.
submitCmd
,
this
.
msg
,
res
=>
{
if
(
res
.
Code
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
Message
)
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
loading
=
false
this
.
loading
=
false
//this.goback()
}
else
{
}
else
{
this
.
$message
.
warning
(
res
.
Message
)
this
.
$message
.
warning
(
res
.
data
.
message
)
this
.
loading
=
false
this
.
loading
=
false
}
}
},
err
=>
{})
}).
catch
(()
=>
{
})
},
},
},
},
mounted
()
{
mounted
()
{
...
...
src/pages/course/achievements.vue
View file @
51e4fecb
...
@@ -182,7 +182,7 @@
...
@@ -182,7 +182,7 @@
</div>
</div>
<div
class=
"d7"
>
<div
class=
"d7"
>
<div
class=
"row"
style=
"align-items: center;color: #3FC4FF;cursor: pointer"
v-if=
"item.PerfState==2"
@
click=
"systemShan(item)"
>
<div
class=
"row"
style=
"align-items: center;color: #3FC4FF;cursor: pointer"
v-if=
"item.PerfState==2
&& item.FinanceId==0
"
@
click=
"systemShan(item)"
>
<img
src=
"../../assets/images/course/zhidan.png"
alt=
""
style=
"width: 16px;height: 12px;margin-right: 5px;"
>
<img
src=
"../../assets/images/course/zhidan.png"
alt=
""
style=
"width: 16px;height: 12px;margin-right: 5px;"
>
自动生成单据
自动生成单据
</div>
</div>
...
...
src/pages/sale/myOrder.vue
View file @
51e4fecb
...
@@ -265,6 +265,7 @@
...
@@ -265,6 +265,7 @@
this
.
loading
=
false
this
.
loading
=
false
OrderIds
=
OrderIds
.
join
(
','
)
OrderIds
=
OrderIds
.
join
(
','
)
// this.getOrderFinanceList(OrderIds)
// this.getOrderFinanceList(OrderIds)
if
(
this
.
data
.
List
.
length
>
0
){
if
(
this
.
data
.
List
.
length
>
0
){
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
1
)
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
1
)
...
...
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