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
309cb61e
Commit
309cb61e
authored
Jul 27, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
0935644f
17e50540
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
843 additions
and
1100 deletions
+843
-1100
backbill-form.vue
src/components/sale/backbill-form.vue
+514
-642
stopbill-form.vue
src/components/sale/stopbill-form.vue
+0
-9
changeClassManager.vue
src/pages/teacher/changeClassManager.vue
+329
-449
No files found.
src/components/sale/backbill-form.vue
View file @
309cb61e
<!--退课表单审核信息-->
<
style
>
.backbill-Dialog
.drawerTop
{
.backbill-Dialog
.drawerTop
{
width
:
100%
;
height
:
50px
;
display
:
flex
;
...
...
@@ -8,136 +8,135 @@
background-color
:
#f0f5fb
;
padding
:
5px
10px
;
align-items
:
center
;
}
}
.backbill-Dialog
.classFirst
{
.backbill-Dialog
.classFirst
{
color
:
#000000
;
font-weight
:
bold
;
}
}
.backbill-Dialog
.className
{
.backbill-Dialog
.className
{
margin-left
:
10px
;
}
}
.backbill-Dialog
.classStatus
{
.backbill-Dialog
.classStatus
{
padding
:
3px
8px
;
background-color
:
#c8d7fc
;
color
:
#2961fe
;
font-size
:
12px
;
border-radius
:
2px
;
margin-left
:
20px
;
}
}
.backbill-Dialog
.normalName
{
.backbill-Dialog
.normalName
{
color
:
#999999
;
}
}
.backbill-Dialog
.normalInner
{
.backbill-Dialog
.normalInner
{
color
:
#111111
;
}
}
.drop_NameDown
{
.drop_NameDown
{
margin-top
:
20px
;
width
:
300px
;
}
}
.backinfoContent
{
.backinfoContent
{
margin
:
10px
;
padding-bottom
:
80px
;
}
}
.backinfoContent
.role_Line
{
.backinfoContent
.role_Line
{
width
:
3px
;
height
:
11px
;
margin-right
:
10px
;
background-color
:
#3fc4ff
;
display
:
inline-block
;
}
}
.backinfoContent
.backinfo_Item
{
.backinfoContent
.backinfo_Item
{
color
:
#000000
;
font-weight
:
bold
;
}
}
.backinfoContent
.backInfo_One
{
.backinfoContent
.backInfo_One
{
margin
:
20px
0
;
}
}
.backinfoContent
.backOtherInfo
{
.backinfoContent
.backOtherInfo
{
color
:
#111111
;
}
}
.backinfoContent
.backInfo_Title
{
.backinfoContent
.backInfo_Title
{
display
:
inline-block
;
width
:
75px
;
text-align
:
left
;
color
:
#999999
;
}
}
.backinfoContent
.replayReason
{
.backinfoContent
.replayReason
{
width
:
100%
;
min-height
:
100px
;
background-color
:
#f0f5fb
;
border-radius
:
3px
;
padding
:
20px
;
margin
:
20px
0
;
}
}
.backinfoContent
.replay_Title
{
.backinfoContent
.replay_Title
{
font-weight
:
bold
;
color
:
#111111
;
}
}
.backinfoContent
.chaosong_Peo
{
.backinfoContent
.chaosong_Peo
{
display
:
inline-block
;
padding
:
2px
3px
;
color
:
#fff
;
border-radius
:
3px
;
margin
:
0
5px
5px
0
;
background-color
:
#9cf
;
}
}
.backinfoContent
.topBaseInfo
{
.backinfoContent
.topBaseInfo
{
/* height: 300px; */
overflow
:
auto
;
}
}
.topBaseInfo
::-webkit-scrollbar
{
.topBaseInfo
::-webkit-scrollbar
{
width
:
3px
;
height
:
3px
;
background-color
:
#f5f5f5
;
}
}
/*!*定义滚动条轨道 内阴影+圆角*!*/
.topBaseInfo
::-webkit-scrollbar-track
{
/*!*定义滚动条轨道 内阴影+圆角*!*/
.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
{
/*!*定义滑块 内阴影+圆角*!*/
.topBaseInfo
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
-webkit-box-shadow
:
-webkit-gradient
(
linear
,
-webkit-box-shadow
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
color-stop
(
0.5
,
rgba
(
255
,
255
,
255
,
0.2
)),
color-stop
(
0.5
,
transparent
),
to
(
transparent
)
);
to
(
transparent
));
background-color
:
#0ae
;
}
._addUpload_box
{
}
._addUpload_box
{
display
:
block
;
margin-top
:
15px
;
}
}
._addUpload_box
img
{
._addUpload_box
img
{
width
:
100%
;
}
}
._addUpload_box
>
div
{
._addUpload_box
>
div
{
float
:
left
;
width
:
138px
;
height
:
92px
;
...
...
@@ -149,21 +148,21 @@
margin-right
:
10px
;
position
:
relative
;
text-align
:
center
;
}
}
._addUpload_box
>
div
:hover
{
._addUpload_box
>
div
:hover
{
background-color
:
#f5f5f5
;
}
}
._addFile_name
{
._addFile_name
{
padding-left
:
15px
;
max-width
:
450px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
}
._addUpload_box
.icon-guanbi1
{
._addUpload_box
.icon-guanbi1
{
font-size
:
12px
;
color
:
white
;
display
:
inline-block
;
...
...
@@ -177,30 +176,31 @@
width
:
20px
;
text-align
:
center
;
line-height
:
20px
;
}
}
._addUpload_box
.icon-guanbi1
:hover
{
._addUpload_box
.icon-guanbi1
:hover
{
font-size
:
12px
;
color
:
#c94052
;
}
._addUpload_box
.icon-excel
,
._addUpload_box
.icon-pdf
,
._addUpload_box
.icon-txt
,
._addUpload_box
.icon-wenjian
,
._addUpload_box
.icon-yasuobao
,
._addUpload_box
.icon-shipin
,
._addUpload_box
.icon-word
{
}
._addUpload_box
.icon-excel
,
._addUpload_box
.icon-pdf
,
._addUpload_box
.icon-txt
,
._addUpload_box
.icon-wenjian
,
._addUpload_box
.icon-yasuobao
,
._addUpload_box
.icon-shipin
,
._addUpload_box
.icon-word
{
text-align
:
center
;
font-size
:
38px
;
color
:
green
;
line-height
:
75px
;
}
._addUpload_box
.icon-yasuobao
{
}
._addUpload_box
.icon-yasuobao
{
color
:
gray
;
}
}
._show_img_box
{
._show_img_box
{
position
:
fixed
;
background
:
rgba
(
0
,
0
,
0
,
0.6
);
left
:
0
;
...
...
@@ -209,35 +209,26 @@
height
:
100%
;
z-index
:
999
;
text-align
:
center
;
}
}
._addUpload_tips
{
._addUpload_tips
{
font-size
:
12px
;
color
:
#999999
;
}
}
._jump_page
{
._jump_page
{
cursor
:
pointer
;
text-decoration
:
underline
;
}
}
._jump_page
:hover
{
._jump_page
:hover
{
color
:
#c94052
;
}
}
</
style
>
<
template
>
<q-dialog
v-model=
"persistent"
maximized
full-height
seamless
position=
"right"
@
hide=
"closeShenheForm"
>
<q-card
style=
"margin-top: 61px; width: 850px"
class=
"no-border-radius backbill-Dialog"
>
<q-dialog
v-model=
"persistent"
maximized
full-height
seamless
position=
"right"
@
hide=
"closeShenheForm"
>
<q-card
style=
"margin-top: 61px; width: 850px"
class=
"no-border-radius backbill-Dialog"
>
<div
class=
"drawerTop"
>
<div
style=
"display: flex; align-items: center"
>
<div
class=
"className"
>
...
...
@@ -245,14 +236,7 @@
</div>
</div>
</div>
<q-tabs
style=
"margin: 15px"
v-model=
"tabCheck"
narrow-indicator
dense
align=
"left"
class=
"text-primary"
>
<q-tabs
style=
"margin: 15px"
v-model=
"tabCheck"
narrow-indicator
dense
align=
"left"
class=
"text-primary"
>
<q-tab
:ripple=
"false"
name=
"first"
label=
"详细信息"
/>
<q-tab
:ripple=
"false"
name=
"second"
label=
"审批记录"
/>
</q-tabs>
...
...
@@ -292,23 +276,18 @@
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
合同信息:
</span>
<span
class=
"backOtherInfo"
style=
"cursor: pointer; text-decoration: underline"
@
click=
"getlookContractNo(setingObj.DataObj.ContractId)"
v-if=
"
<span
class=
"backOtherInfo"
style=
"cursor: pointer; text-decoration: underline"
@
click=
"getlookContractNo(setingObj.DataObj.ContractId)"
v-if=
"
setingObj.DataObj.ContractNo &&
setingObj.DataObj.ContractNo != ''
"
>
"
>
{{
setingObj
.
DataObj
.
ContractNo
}}
</span>
<span
v-else
>
无
</span>
</div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color: #f28c1d"
></span
>
教学信息
<span
class=
"role_Line"
style=
"background-color: #f28c1d"
></span>
教学信息
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
...
...
@@ -321,11 +300,8 @@
<span
class=
"backInfo_Title"
>
班级信息:
</span>
<span
class=
"backOtherInfo"
>
{{
setingObj
.
DataObj
.
ClassName
}}
<span
style=
"color: #2961fe; cursor: pointer"
@
click=
"goClassManage(setingObj.DataObj.ClassName)"
>
{{
setingObj
.
DataObj
.
ClassNo
}}
</span
>
<span
style=
"color: #2961fe; cursor: pointer"
@
click=
"goClassManage(setingObj.DataObj.ClassName)"
>
{{
setingObj
.
DataObj
.
ClassNo
}}
</span>
</span>
</div>
</div>
...
...
@@ -344,8 +320,7 @@
</div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color: #02c499"
></span
>
学习信息
<span
class=
"role_Line"
style=
"background-color: #02c499"
></span>
学习信息
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col-6"
>
...
...
@@ -356,8 +331,7 @@
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
已学课时:
</span>
<span
class=
"backOtherInfo"
style=
"cursor: pointer; text-decoration: underline"
<span
class=
"backOtherInfo"
style=
"cursor: pointer; text-decoration: underline"
@
click=
"getlookFinishHours()"
>
{{
setingObj
.
DataObj
.
CompleteHours
}}
课时
</span>
...
...
@@ -373,49 +347,29 @@
<div
class=
"col-6"
></div>
</div>
<div
class=
"backinfo_Item"
>
<span
class=
"role_Line"
style=
"background-color: #8175fb"
></span
>
其他信息
<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; cursor: pointer"
@
click=
"goOrderStatic(setingObj.DataObj.OrderId)"
>
{{
setingObj
.
DataObj
.
OrderId
}}
</span
>
<span
class=
"backOtherInfo"
style=
"color: #2961fe; cursor: pointer"
@
click=
"goOrderStatic(setingObj.DataObj.OrderId)"
>
{{
setingObj
.
DataObj
.
OrderId
}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"backInfo_Title"
>
预计退费:
</span>
<span
class=
"backOtherInfo"
style=
"color: #f72e52"
>
¥
{{
setingObj
.
DataObj
.
BackMoney
}}
</span
>
<span
class=
"backOtherInfo"
style=
"color: #f72e52"
>
¥
{{
setingObj
.
DataObj
.
BackMoney
}}
</span>
</div>
</div>
</div>
<div
class=
"row"
>
<span
class=
"backInfo_Title"
>
附件:
<span
v-if=
"fj.length === 0"
>
无
</span></span
>
<span
class=
"backInfo_Title"
>
附件:
<span
v-if=
"fj.length === 0"
>
无
</span></span>
</div>
<div
class=
"row flex"
v-if=
"fj.length > 0"
>
<div
class=
"_addUpload_box clearfix flex"
>
<template
v-for=
"(item, index) in fj"
>
<div
style=
"width: 138px; height: 92px; overflow: hidden"
:key=
"index"
@
click=
"showUpLoadFile(item)"
>
<img
:src=
"item.url"
v-if=
"item.type === 2"
style=
"width: 100%; height: auto; overflow: hidden"
/>
<span
v-if=
"item.type === 1"
class=
"iconfont"
:class=
"
<div
style=
"width: 138px; height: 92px; overflow: hidden"
:key=
"index"
@
click=
"showUpLoadFile(item)"
>
<img
:src=
"item.url"
v-if=
"item.type === 2"
style=
"width: 100%; height: auto; overflow: hidden"
/>
<span
v-if=
"item.type === 1"
class=
"iconfont"
:class=
"
item.suffix == 'PDF'
? 'icon-pdf'
: item.suffix == 'TXT'
...
...
@@ -423,20 +377,10 @@
: item.suffix == 'DOCX' || item.suffix == 'DOC'
? 'icon-word'
: 'icon-excel'
"
></span>
<span
v-if=
"item.type === 3"
class=
"iconfont icon-yasuobao"
></span>
<span
v-if=
"item.type === 4"
class=
"iconfont icon-shipin"
></span>
<span
v-if=
"item.type === 5"
class=
"iconfont icon-wenjian"
></span>
"
></span>
<span
v-if=
"item.type === 3"
class=
"iconfont icon-yasuobao"
></span>
<span
v-if=
"item.type === 4"
class=
"iconfont icon-shipin"
></span>
<span
v-if=
"item.type === 5"
class=
"iconfont icon-wenjian"
></span>
</div>
</
template
>
</div>
...
...
@@ -449,116 +393,67 @@
</div>
<
template
v-if=
"setingObj.SpecialNode == 1"
>
<span>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"backBillMsg.BackMoney"
class=
"col-12"
label=
"退课金额"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"backBillMsg.BackMoney"
class=
"col-12"
label=
"退课金额"
/>
</span>
<span>
系统计算课时费为:
{{
classPriceObj
.
ClassHours
-
classPriceObj
.
FinishHours
}}
(课时)*
{{
classPriceObj
.
classHourPrice
}}
(课单价
)=
{{
}}
(课时)X
{{
classPriceObj
.
classHourPrice
}}
(课单价)X (1-0.1) (违约金
)=
{{
classPriceObj
.
backMoney
}}
元,请你最终确认退款金额
</span>
</
template
>
<div
v-if=
"showType == 2"
>
<div
style=
"
<div
style=
"
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 20px;
"
>
"
>
<div>
审批意见
</div>
<div>
<q-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"2"
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-radio
v-model=
"backBillMsg.AuditStatus"
:val=
"2"
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=
"审批意见"
/>
</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=
"
<div
style=
"
display: inline-block;
margin-left: 5px;
width: 340px;
"
>
<span
class=
"chaosong_Peo"
v-for=
"(childItem, cindex) in tempPeople"
>
"
>
<span
class=
"chaosong_Peo"
v-for=
"(childItem, cindex) in tempPeople"
>
{{
getName
(
childItem
)
}}
</span>
</div>
</
template
>
</div>
<div
class=
"col-6"
style=
"
<div
class=
"col-6"
style=
"
justify-content: flex-end;
display: flex;
align-items: center;
"
>
<i
class=
"iconfont icon-aite"
style=
"
"
>
<i
class=
"iconfont icon-aite"
style=
"
font-size: 20px;
margin: 7px 20px 0 0;
cursor: pointer;
"
v-if=
"showType == 2"
>
"
v-if=
"showType == 2"
>
<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"
>
<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"
>
...
...
@@ -572,12 +467,7 @@
</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()"
/>
<q-btn
v-if=
"showType == 2"
color=
"accent q-px-md"
label=
"确认"
@
click=
"saveBackClassInfo()"
/>
</div>
</div>
</div>
...
...
@@ -585,33 +475,19 @@
</div>
</div>
<div
v-if=
"tabCheck == 'second'"
>
<flowinfoForm
:seting-obj=
"setingObj"
:showType=
"showType"
@
close=
"closeShenheForm"
@
success=
"refreshPage"
>
<flowinfoForm
:seting-obj=
"setingObj"
:showType=
"showType"
@
close=
"closeShenheForm"
@
success=
"refreshPage"
>
</flowinfoForm>
</div>
</q-card>
<div
class=
"dialog-out-close"
@
click=
"closeShenheForm"
style=
"
<div
class=
"dialog-out-close"
@
click=
"closeShenheForm"
style=
"
height: 40px !important;
border-top-left-radius: 4px !important;
border-bottom-left-radius: 4px !important;
"
>
"
>
<q-icon
name=
"iconfont icon-jujue1"
size=
"26px"
/>
</div>
<div
v-if=
"picIsShow"
class=
"_show_img_box"
@
click=
"(picIsShow = false), (picObj = [])"
>
<div
style=
"
<div
v-if=
"picIsShow"
class=
"_show_img_box"
@
click=
"(picIsShow = false), (picObj = [])"
>
<div
style=
"
position: absolute;
width: 800px;
height: 600px;
...
...
@@ -619,19 +495,9 @@
top: 50%;
margin-left: -400px;
transform: translateY(-50%);
"
>
<el-carousel
:initial-index=
"initialIndex"
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
style=
"height: 600px; overflow: auto"
v-for=
"(item, index) in picObj"
:key=
"index"
>
"
>
<el-carousel
:initial-index=
"initialIndex"
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
style=
"height: 600px; overflow: auto"
v-for=
"(item, index) in picObj"
:key=
"index"
>
<img
:src=
"item"
style=
""
/>
</el-carousel-item>
</el-carousel>
...
...
@@ -641,11 +507,16 @@
</template>
<
script
>
import
flowinfoForm
from
"../sale/flowinfo-form"
;
import
{
saveBackBillAduit
,
queryBackBillMoney
}
from
"../../api/sale/bill"
;
import
{
queryEmployee
}
from
"../../api/users/user"
;
export
default
{
import
flowinfoForm
from
"../sale/flowinfo-form"
;
import
{
saveBackBillAduit
,
queryBackBillMoney
}
from
"../../api/sale/bill"
;
import
{
queryEmployee
}
from
"../../api/users/user"
;
export
default
{
props
:
{
setingObj
:
{
type
:
Object
,
...
...
@@ -885,5 +756,6 @@ export default {
a
.
click
();
},
},
};
};
</
script
>
src/components/sale/stopbill-form.vue
View file @
309cb61e
...
...
@@ -463,15 +463,6 @@
{{ setingObj.DataObj.Remarks || "无" }}
</div>
</div>
<!-- <template v-if="setingObj.SpecialNode==1">
<span>
<q-input filled stack-label :dense="false" v-model="stopBillMsg.BackMoney" class="col-12"
label="退课金额" />
</span>
<span>
系统计算课时费为:{{(classPriceObj.ClassHours-classPriceObj.FinishHours)}}(课时)*{{classPriceObj.classHourPrice}}(课单价)={{classPriceObj.backMoney}}元,请你最终确认退款金额
</span>
</template> -->
<div
v-if=
"showType == 2"
>
<div
style=
"
...
...
src/pages/teacher/changeClassManager.vue
View file @
309cb61e
<
style
>
.Sysuser_Date
.el-range-editor
.el-range-input
{
.Sysuser_Date
.el-range-editor
.el-range-input
{
background-color
:
transparent
;
}
}
.Sysuser_Date
.el-range-editor.el-input__inner
{
.Sysuser_Date
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
}
.ReceipTypeName
{
.ReceipTypeName
{
display
:
inline-block
;
padding
:
2px
8px
;
color
:
white
;
background-color
:
rgb
(
233
,
82
,
82
);
line-height
:
16px
;
border-radius
:
4px
;
}
}
</
style
>
<
template
>
<div
class=
"page-body"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"msg.Id"
label=
"单号"
maxlength=
"10"
/>
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"msg.Id"
label=
"单号"
maxlength=
"10"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.VerifyStatus"
:options=
"ShowOpts"
emit-value
map-options
label=
"审核状态"
/>
<q-select
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.VerifyStatus"
:options=
"ShowOpts"
emit-value
map-options
label=
"审核状态"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
clearable
filled
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.ReceiptType"
:options=
"OrderTypeList"
emit-value
map-options
label=
"单据类型"
/>
<q-select
@
input=
"resetSearch"
clearable
filled
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.ReceiptType"
:options=
"OrderTypeList"
emit-value
map-options
label=
"单据类型"
/>
</div>
<div
class=
"col-3 Sysuser_Date"
>
<q-field
filled
>
<template
v-slot:control
>
<el-date-picker
v-model=
"applyDateList"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border: none"
range-separator=
"至"
start-placeholder=
"申请开始日期"
end-placeholder=
"申请结束日期"
>
</el-date-picker
>
<el-date-picker
v-model=
"applyDateList"
@
change=
"resetSearch()"
value-format=
"yyyy-MM-dd"
type=
"daterange"
style=
"border: none"
range-separator=
"至"
start-placeholder=
"申请开始日期"
end-placeholder=
"申请结束日期"
>
</el-date-picker>
</
template
>
</q-field>
</div>
</div>
</div>
<div
class=
"page-content"
>
<q-tabs
style=
"margin-bottom: 20px"
v-model=
"tabCheck"
narrow-indicator
dense
align=
"left"
class=
"text-primary"
>
<q-tabs
style=
"margin-bottom: 20px"
v-model=
"tabCheck"
narrow-indicator
dense
align=
"left"
class=
"text-primary"
>
<q-tab
:ripple=
"false"
name=
"1"
label=
"我发起的"
/>
<q-tab
:ripple=
"false"
name=
"3"
label=
"待我审批"
/>
<q-tab
:ripple=
"false"
name=
"2"
label=
"已审批"
/>
<q-tab
:ripple=
"false"
name=
"4"
label=
"抄送给我的"
/>
</q-tabs>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table sticky-right-column-table"
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table sticky-right-column-table"
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<
template
v-slot:body-cell-ReceiptTypeName=
"props"
>
<q-td
:props=
"props"
>
<span
class=
"ReceipTypeName"
>
{{
props
.
row
.
ReceiptTypeName
}}
</span>
...
...
@@ -109,14 +61,12 @@
<
template
v-slot:body-cell-ApplyReason=
"props"
>
<q-td
:props=
"props"
>
<div
class=
"bill_Rearsons"
>
<template
v-if=
"
<template
v-if=
"
props.row.ReceiptType == 1 ||
props.row.ReceiptType == 5 ||
props.row.ReceiptType == 3 ||
props.row.ReceiptType == 4
"
>
"
>
<span
v-if=
"props.row.DataObj && props.row.DataObj.Remarks"
>
{{
props
.
row
.
DataObj
.
Remarks
}}
<q-tooltip
:offset=
"[0, 10]"
>
...
...
@@ -124,7 +74,7 @@
</q-tooltip>
</span>
</
template
>
<
template
v-if=
"props.row.ReceiptType == 2"
>
<
template
v-if=
"props.row.ReceiptType == 2
&& props.row.DataObj&&props.row.DataObj.ApplyReason
"
>
<span>
{{
props
.
row
.
DataObj
.
ApplyReason
}}
<q-tooltip
:offset=
"[0, 10]"
>
...
...
@@ -136,152 +86,82 @@
</q-td>
</template>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<template
v-if=
"tabCheck == '3'"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"审核"
@
click=
"showBillForm(props.row, 2)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"审核"
@
click=
"showBillForm(props.row, 2)"
/>
</
template
>
<
template
v-else
>
<template
v-if=
"
<template
v-if=
"
props.row.DataObj&&
props.row.VerifyStatus == 2 &&
props.row.ReceiptType == 2 &&
props.row.DataObj.FinanceId
<
=
0
&&
tabCheck =
=
'
1
'
"
>
<q-btn
flat
size=
"xs"
icon=
"directions"
color=
"secondary"
style=
"font-weight: 400"
label=
"制单"
@
click=
"createBillForm(props.row)"
/>
"
>
<q-btn
flat
size=
"xs"
icon=
"directions"
color=
"secondary"
style=
"font-weight: 400"
label=
"制单"
@
click=
"createBillForm(props.row)"
/>
</
template
>
<
template
v-if=
"
<
template
v-if=
"
props.row.DataObj &&
props.row.VerifyStatus == 2 &&
props.row.ReceiptType == 2 &&
props.row.DataObj.FinanceId > 0
"
>
<span
@
click=
"
"
>
<span
@
click=
"
goFinaceUrl('FinancialDocumentsDetail', props.row.DataObj)
"
title=
"退课财务单据号"
style=
"color: #2961fe; font-weight: bold; cursor: pointer"
>
{{
props
.
row
.
DataObj
.
FinanceId
}}
</span
>
"
title=
"退课财务单据号"
style=
"color: #2961fe; font-weight: bold; cursor: pointer"
>
{{
props
.
row
.
DataObj
.
FinanceId
}}
</span>
</
template
>
<q-btn
v-if=
"props.row.VerifyStatus == 0 && tabCheck == '1'"
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight: 400"
label=
"作废"
@
click=
"invalidBillForm(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"查看"
@
click=
"showBillForm(props.row, 1)"
/>
<q-btn
v-if=
"props.row.VerifyStatus == 0 && tabCheck == '1'"
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight: 400"
label=
"作废"
@
click=
"invalidBillForm(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"查看"
@
click=
"showBillForm(props.row, 1)"
/>
</template>
</q-td>
</template>
</q-table>
<backbill-form
v-if=
"isShowBillForm"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
<backbill-form
v-if=
"isShowBillForm"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
</backbill-form>
<createbackbill-form
v-if=
"isShowCreateBillForm"
:seting-obj=
"billObj"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
<createbackbill-form
v-if=
"isShowCreateBillForm"
:seting-obj=
"billObj"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
</createbackbill-form>
<changebill-form
v-if=
"isShowChangeBillForm"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
<changebill-form
v-if=
"isShowChangeBillForm"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
</changebill-form>
<stopbill-form
v-if=
"isShowStopBillForm"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
<stopbill-form
v-if=
"isShowStopBillForm"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
</stopbill-form>
<!-- 订单转班-查看 -->
<ordertrans-form
v-if=
"isShowClassTrans"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
<ordertrans-form
v-if=
"isShowClassTrans"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
</ordertrans-form>
<!-- 订单临时上课邀请-查看 -->
<temporaryClass-form
v-if=
"isShowTemporaryClass"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
<temporaryClass-form
v-if=
"isShowTemporaryClass"
:seting-obj=
"billObj"
:showType=
"showType"
@
close=
"closeBillForm"
@
success=
"refreshPage"
>
</temporaryClass-form>
</div>
</div>
</template>
<
script
>
import
{
import
{
GetEducationReceiptPage
,
GetEducationReceiptType
,
invalidReceiptInfo
,
}
from
"../../api/teacher/index"
;
}
from
"../../api/teacher/index"
;
import
backbillForm
from
"../../components/sale/backbill-form"
;
import
changebillForm
from
"../../components/sale/changebill-form"
;
import
stopbillForm
from
"../../components/sale/stopbill-form"
;
import
createbackbillForm
from
"../../components/sale/createbackbill-form"
;
import
ordertransForm
from
"../../components/sale/ordertrans-form"
;
import
temporaryClassForm
from
"../../components/sale/temporaryClassbill-form"
;
export
default
{
import
backbillForm
from
"../../components/sale/backbill-form"
;
import
changebillForm
from
"../../components/sale/changebill-form"
;
import
stopbillForm
from
"../../components/sale/stopbill-form"
;
import
createbackbillForm
from
"../../components/sale/createbackbill-form"
;
import
ordertransForm
from
"../../components/sale/ordertrans-form"
;
import
temporaryClassForm
from
"../../components/sale/temporaryClassbill-form"
;
export
default
{
meta
:
{
title
:
"业务单据"
,
},
...
...
@@ -296,8 +176,7 @@ export default {
data
()
{
return
{
currentUrl
:
""
,
columns
:
[
{
columns
:
[{
name
:
"Id"
,
label
:
"单号"
,
field
:
"Id"
,
...
...
@@ -342,8 +221,7 @@ export default {
data
:
[],
loading
:
true
,
applyDateList
:
[],
//申请日期
ShowOpts
:
[
{
ShowOpts
:
[{
label
:
"审核中"
,
value
:
"1"
,
},
...
...
@@ -546,8 +424,10 @@ export default {
this
.
resetSearch
();
},
},
};
};
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.sass')
</
style
>
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