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
632f359f
Commit
632f359f
authored
Jul 26, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
83b16c6a
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
512 additions
and
646 deletions
+512
-646
backbill-form.vue
src/components/sale/backbill-form.vue
+14
-5
changebill-form.vue
src/components/sale/changebill-form.vue
+8
-2
ordertrans-form.vue
src/components/sale/ordertrans-form.vue
+35
-335
stopbill-form.vue
src/components/sale/stopbill-form.vue
+6
-3
temporaryClassbill-form.vue
src/components/sale/temporaryClassbill-form.vue
+8
-2
stopLessonForm.vue
src/components/teacher/stopLessonForm.vue
+2
-0
changeClassManager.vue
src/pages/teacher/changeClassManager.vue
+439
-299
No files found.
src/components/sale/backbill-form.vue
View file @
632f359f
...
...
@@ -375,9 +375,11 @@
</div>
</div>
<div
class=
"row"
>
<span
class=
"backInfo_Title"
>
附件:
</span>
<span
class=
"backInfo_Title"
>
附件:
<span
v-if=
"fj.length === 0"
>
无
</span></span
>
</div>
<div
class=
"row flex"
>
<div
class=
"row flex"
v-if=
"fj.length > 0"
>
<div
class=
"_addUpload_box clearfix flex"
>
<template
v-for=
"(item, index) in fj"
>
<div
...
...
@@ -399,7 +401,7 @@
<span
v-if=
"item.type === 3"
class=
""
@
click=
"
showUpL
oadFile(item)"
@
click=
"
downl
oadFile(item)"
>
{{
item
.
url
}}
</span
>
</div>
...
...
@@ -640,9 +642,11 @@ export default {
EmployeeList
:
[],
AllemployeeList
:
[],
tempPeople
:
[],
//抄送人数组
//附件---s
picIsShow
:
false
,
picObj
:
[],
initialIndex
:
0
,
//附件---e
};
},
computed
:
{
...
...
@@ -651,7 +655,6 @@ export default {
let
fjlist
=
this
.
setingObj
.
ReceiptFileList
;
fjlist
.
map
((
item
)
=>
{
let
suffix
=
item
.
split
(
"."
)[
item
.
split
(
"."
).
length
-
1
].
toUpperCase
();
console
.
log
(
653
,
item
.
split
(
"."
));
if
(
"DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT"
.
indexOf
(
suffix
)
!=
"-1"
)
{
let
obj
=
{
url
:
item
,
...
...
@@ -817,7 +820,7 @@ export default {
this
.
picObj
.
push
(
i
.
url
);
this
.
picIsShow
=
true
;
}
else
{
if
(
i
.
suffix
==
"PDF"
)
{
if
(
i
.
suffix
==
"PDF"
||
i
.
suffix
==
"TXT"
)
{
this
.
previewPDF
(
i
.
url
);
}
else
{
window
.
open
(
...
...
@@ -826,6 +829,12 @@ export default {
}
}
},
downloadFile
(
i
)
{
const
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"download"
,
""
);
a
.
setAttribute
(
"href"
,
i
.
url
);
a
.
click
();
},
},
};
</
script
>
src/components/sale/changebill-form.vue
View file @
632f359f
...
...
@@ -586,7 +586,7 @@
<span
v-if=
"item.type === 3"
class=
""
@
click=
"
showUpL
oadFile(item)"
@
click=
"
downl
oadFile(item)"
>
{{
item
.
url
}}
</span
>
</div>
...
...
@@ -1084,7 +1084,7 @@ export default {
this
.
picObj
.
push
(
i
.
url
);
this
.
picIsShow
=
true
;
}
else
{
if
(
i
.
suffix
==
"PDF"
)
{
if
(
i
.
suffix
==
"PDF"
||
i
.
suffix
==
"TXT"
)
{
this
.
previewPDF
(
i
.
url
);
}
else
{
window
.
open
(
...
...
@@ -1093,6 +1093,12 @@ export default {
}
}
},
downloadFile
(
i
)
{
const
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"download"
,
""
);
a
.
setAttribute
(
"href"
,
i
.
url
);
a
.
click
();
},
},
};
</
script
>
src/components/sale/ordertrans-form.vue
View file @
632f359f
...
...
@@ -284,303 +284,38 @@
</div>
</div>
</div>
<q-table
no-data-label=
"暂无相关数据"
flat
style=
"width: 100%"
v-if=
"dataList && dataList.length > 0"
:pagination=
"pages"
class=
"sticky-column-table no-bottom-table"
separator=
"none"
:data=
"dataList"
:columns=
"setingObj.DataObj.ChangeType == 1 ? columns : columns2"
>
<template
v-slot:body-cell-PlanTimeList=
"props"
>
<q-td
:props=
"props"
>
<div
v-for=
"(item, index) in props.row.PlanTimeList"
>
{{
index
+
1
}}
节课
{{
item
.
StartTime
}}
-
{{
item
.
EndTime
}}
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-ClassDate2=
"props"
>
<q-td
:prop=
"props"
>
<span
style=
"color: red"
>
{{
props
.
row
.
ClassDate2
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-ClassRoomName=
"props"
>
<q-td
:prop=
"props"
>
<span
:class=
"
{
BillredClass:
setingObj.DataObj.ChangeType == 3
&&
setingObj.DataObj.MoveType == 1,
}"
>
{{
props
.
row
.
ClassRoomName
}}
</span
>
</q-td>
</
template
>
<
template
v-slot:body-cell-TeacherName=
"props"
>
<q-td
:prop=
"props"
>
<span
:class=
"
{
BillredClass:
setingObj.DataObj.ChangeType == 2
&&
setingObj.DataObj.MoveType == 1,
}"
>
{{
props
.
row
.
TeacherName
}}
</span
>
</q-td>
</
template
>
<
template
v-slot:body-cell-PlanTimeList2=
"props"
>
<q-td
:props=
"props"
>
<div
:class=
"
{
BillredClass:
setingObj.DataObj.ChangeType == 1
&&
setingObj.DataObj.MoveType == 1,
}"
v-for="(item, index) in props.row.PlanTimeList2"
>
{{
index
+
1
}}
节课
{{
item
.
StartTime
}}
-
{{
item
.
EndTime
}}
</div>
</q-td>
</
template
>
</q-table>
<!--全局调整-->
<
template
v-if=
"setingObj.DataObj.MoveType == 2"
>
<!--全局调整课程-->
<template
v-if=
"setingObj.DataObj.ChangeType == 1"
>
<div
class=
"row backInfo_One"
>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
开班时间
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
AllChangePlanModel
.
OpenTimeStr
}}
</div>
</div>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
排课安排
</div>
<div
class=
"normalInner"
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 1
"
>
按周排课
</span
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 2
"
>
按月排课
</span
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 3
"
>
固定日期
</span
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 4
"
>
约课
</span
>
</div>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 1
"
>
按周排课
</span
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 2
"
>
按月排课
</span
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 3
"
>
固定日期
</span
>
<span
v-if=
"
setingObj.DataObj.AllChangePlanModel.ClassStyle == 4
"
>
约课
</span
>
</div>
<div
class=
"row"
>
<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
class=
"normalInner
"
style=
"width: 100%; word-break: break-all
"
style=
"width: 138px; height: 92px; overflow: hidden
"
:key=
"index
"
>
<img
:src=
"item.url"
v-if=
"item.type === 2"
style=
"width: 100%; height: auto; overflow: hidden"
@
click=
"showUpLoadFile(item)"
/>
<span
style=
"margin: 0 5px 5px 0; display: inline-block"
v-for=
"(item, index) in setingObj.DataObj
.AllChangePlanModel.WeekDayList"
>
{{
item
}}
</span
>
</div>
</div>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
学习课时
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
AllChangePlanModel
.
ClassHours
}}
</div>
</div>
</div>
<div
class=
"row backInfo_One"
>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
课时分钟数
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
AllChangePlanModel
.
ClassHourMinute
}}
</div>
</div>
</div>
<table
style=
"width: 100%; border-collapse: collapse"
class=
"changeBTable"
>
<thead>
<tr>
<th>
日期/周
</th>
<th>
开始时间
</th>
<th>
结束时间
</th>
<th>
消耗课时
</th>
</tr>
</thead>
<tbody
v-for=
"(nItem, nIndex) in setingObj.DataObj
.AllChangePlanModel.DefaultTimeList"
:key=
"nIndex + 10000"
>
<tr
v-for=
"(sItem, sIndex) in nItem.TimeList"
>
<td
:rowspan=
"nItem.TimeList.length"
v-if=
"sIndex == 0"
>
<span
style=
"margin-right: 5px"
v-for=
"oItem in nItem.DateList"
>
{{
oItem
}}
</span
>
</td>
<td>
{{
sItem
.
StartTime
}}
</td>
<td>
{{
sItem
.
EndTime
}}
</td>
<td>
{{
sItem
.
TimeHour
}}
</td>
</tr>
</tbody>
</table>
</
template
>
<!--全局调整老师-->
<
template
v-if=
"setingObj.DataObj.ChangeType == 2"
>
<div
class=
"row backInfo_One"
>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
变更后老师:
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
AllChangePlanModel
.
TeacherName
}}
</div>
</div>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
生效时间
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
TakeEffectTime
.
split
(
"T"
)[
0
]
}}
</div>
</div>
</div>
</
template
>
<!--全局调整教室-->
<
template
v-if=
"setingObj.DataObj.ChangeType == 3"
>
<div
class=
"row backInfo_One"
>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
变更后教室:
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
AllChangePlanModel
.
ClassRoomName
}}
</div>
</div>
<div
class=
"col EmpList"
>
<div
class=
"normalName"
>
生效时间
</div>
<div
class=
"normalInner"
>
{{
setingObj
.
DataObj
.
TakeEffectTime
.
split
(
"T"
)[
0
]
}}
</div>
</div>
</div>
</
template
>
</template>
<!--固定日期调整-->
<
template
v-if=
"setingObj.DataObj.MoveType == 1"
>
<!--取消课程-->
<template
v-if=
"setingObj.DataObj.ChangeType == 4"
>
<div
class=
"row backInfo_One"
style=
"margin-top: 0"
>
<table
style=
"width: 100%"
>
<tr>
<td
style=
"
width: 75px;
text-align: left;
color: #999999;
vertical-align: top;
v-if=
"item.type === 1"
class=
"iconfont"
:class=
"
item.suffix == 'PDF' ? 'icon-pdf' : 'icon-excel'
"
>
取消:
</td>
<td
style=
"text-align: left"
>
<span
style=
"margin-right: 10px; display: inline-block"
v-if=
"
setingObj.DataObj.OldChangePlanItemList &&
setingObj.DataObj.OldChangePlanItemList.length > 0
"
v-for=
"(sItem, sIndex) in setingObj.DataObj
.OldChangePlanItemList"
>
{{
sItem
.
ClassDateStr
}}
</span
>
</td>
</tr>
</table>
@
click=
"showUpLoadFile(item)"
></span>
<span
v-if=
"item.type === 3"
class=
"iconfont icon-excel"
@
click=
"downloadFile(item)"
></span>
</div>
</
template
>
</div>
</
template
>
</template>
<div
class=
"row"
>
<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"
>
<img
:src=
"item.url"
v-if=
"item.type === 2"
style=
"width: 100%; height: auto; overflow: hidden"
@
click=
"showUpLoadFile(item)"
/>
<span
v-if=
"item.type === 1"
class=
"iconfont"
:class=
"item.suffix == 'PDF' ? 'icon-pdf' : 'icon-excel'"
@
click=
"showUpLoadFile(item)"
></span>
<span
v-if=
"item.type === 3"
class=
""
@
click=
"showUpLoadFile(item)"
>
{{
item
.
url
}}
</span
>
</div>
</
template
>
</div>
</div>
<div
class=
"replayReason"
>
...
...
@@ -862,13 +597,11 @@ export default {
align
:
"left"
,
},
],
pages
:
{
rowsPerPage
:
100000
,
},
dataList
:
[],
//附件---s
picIsShow
:
false
,
picObj
:
[],
initialIndex
:
0
,
//附件---e
};
},
computed
:
{
...
...
@@ -877,7 +610,6 @@ export default {
let
fjlist
=
this
.
setingObj
.
ReceiptFileList
;
fjlist
.
map
((
item
)
=>
{
let
suffix
=
item
.
split
(
"."
)[
item
.
split
(
"."
).
length
-
1
].
toUpperCase
();
console
.
log
(
653
,
item
.
split
(
"."
));
if
(
"DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT"
.
indexOf
(
suffix
)
!=
"-1"
)
{
let
obj
=
{
url
:
item
,
...
...
@@ -910,44 +642,6 @@ export default {
mounted
()
{
this
.
changeBillMsg
.
Id
=
this
.
setingObj
.
Id
;
this
.
changeBillMsg
.
SpecialNode
=
this
.
setingObj
.
SpecialNode
;
if
(
this
.
setingObj
.
DataObj
.
ChangeType
==
1
)
{
this
.
changeTitle
=
"课程时间变更"
;
if
(
this
.
setingObj
.
DataObj
.
MoveType
==
1
)
{
this
.
dataList
=
[];
if
(
this
.
setingObj
.
DataObj
.
OldChangePlanItemList
&&
this
.
setingObj
.
DataObj
.
NewChangePlanItemList
)
{
this
.
setingObj
.
DataObj
.
OldChangePlanItemList
.
forEach
((
x
,
index
)
=>
{
var
obj
=
{
ClassRoomName
:
x
.
ClassRoomName
,
ClassDateStr
:
x
.
ClassDateStr
,
TeacherName
:
x
.
TeacherName
,
PlanTimeList
:
x
.
PlanTimeList
,
ClassDate2
:
this
.
setingObj
.
DataObj
.
NewChangePlanItemList
[
index
]
.
ClassDateStr
,
PlanTimeList2
:
this
.
setingObj
.
DataObj
.
NewChangePlanItemList
[
index
]
.
PlanTimeList
,
};
this
.
dataList
.
push
(
obj
);
});
}
}
}
if
(
this
.
setingObj
.
DataObj
.
ChangeType
==
2
)
{
this
.
changeTitle
=
"老师变更"
;
this
.
dataList
=
this
.
setingObj
.
DataObj
.
NewChangePlanItemList
;
}
if
(
this
.
setingObj
.
DataObj
.
ChangeType
==
3
)
{
this
.
changeTitle
=
"教室变更"
;
this
.
dataList
=
this
.
setingObj
.
DataObj
.
NewChangePlanItemList
;
}
if
(
this
.
setingObj
.
DataObj
.
ChangeType
==
4
)
{
this
.
changeTitle
=
"取消上课变更"
;
this
.
dataList
=
this
.
setingObj
.
DataObj
.
NewChangePlanItemList
;
}
},
methods
:
{
closeBackInfo
()
{
...
...
@@ -1083,6 +777,12 @@ export default {
}
}
},
downloadFile
(
i
)
{
const
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"download"
,
""
);
a
.
setAttribute
(
"href"
,
i
.
url
);
a
.
click
();
},
},
};
</
script
>
src/components/sale/stopbill-form.vue
View file @
632f359f
...
...
@@ -396,9 +396,11 @@
</div>
</div>
<div
class=
"row"
>
<span
class=
"backInfo_Title"
>
附件:
</span>
<span
class=
"backInfo_Title"
>
附件:
<span
v-if=
"fj.length === 0"
>
无
</span></span
>
</div>
<div
class=
"row flex"
>
<div
class=
"row flex"
v-if=
"fj.length > 0"
>
<div
class=
"_addUpload_box clearfix flex"
>
<template
v-for=
"(item, index) in fj"
>
<div
...
...
@@ -659,9 +661,11 @@ export default {
EmployeeList
:
[],
AllemployeeList
:
[],
tempPeople
:
[],
//抄送人数组
//附件---s
picIsShow
:
false
,
picObj
:
[],
initialIndex
:
0
,
//附件---e
};
},
computed
:
{
...
...
@@ -670,7 +674,6 @@ export default {
let
fjlist
=
this
.
setingObj
.
ReceiptFileList
;
fjlist
.
map
((
item
)
=>
{
let
suffix
=
item
.
split
(
"."
)[
item
.
split
(
"."
).
length
-
1
].
toUpperCase
();
console
.
log
(
653
,
item
.
split
(
"."
));
if
(
"DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT"
.
indexOf
(
suffix
)
!=
"-1"
)
{
let
obj
=
{
url
:
item
,
...
...
src/components/sale/temporaryClassbill-form.vue
View file @
632f359f
...
...
@@ -382,7 +382,7 @@
<span
v-if=
"item.type === 3"
class=
""
@
click=
"
showUpL
oadFile(item)"
@
click=
"
downl
oadFile(item)"
>
{{
item
.
url
}}
</span
>
</div>
...
...
@@ -842,7 +842,7 @@ export default {
this
.
picObj
.
push
(
i
.
url
);
this
.
picIsShow
=
true
;
}
else
{
if
(
i
.
suffix
==
"PDF"
)
{
if
(
i
.
suffix
==
"PDF"
||
i
.
suffix
==
"TXT"
)
{
this
.
previewPDF
(
i
.
url
);
}
else
{
window
.
open
(
...
...
@@ -851,6 +851,12 @@ export default {
}
}
},
downloadFile
(
i
)
{
const
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"download"
,
""
);
a
.
setAttribute
(
"href"
,
i
.
url
);
a
.
click
();
},
},
};
</
script
>
src/components/teacher/stopLessonForm.vue
View file @
632f359f
...
...
@@ -182,9 +182,11 @@ export default {
},
},
saveMsg
:
[],
//附件---s
picIsShow
:
false
,
picObj
:
[],
initialIndex
:
0
,
//附件---e
};
},
mounted
()
{
...
...
src/pages/teacher/changeClassManager.vue
View file @
632f359f
<
style
>
.Sysuser_Date
.el-range-editor
.el-range-input
{
background-color
:
transparent
;
}
.Sysuser_Date
.el-range-editor
.el-range-input
{
background-color
:
transparent
;
}
.Sysuser_Date
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
.ReceipTypeName
{
display
:
inline-block
;
padding
:
2px
8px
;
color
:
white
;
background-color
:
rgb
(
233
,
82
,
82
);
line-height
:
16px
;
border-radius
:
4px
;
}
.Sysuser_Date
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
.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"
filled
v-model=
"msg.ReceiptType"
:options=
"OrderTypeList"
emit-value
map-options
label=
"单据类型"
/>
<q-select
@
input=
"resetSearch"
clearable
filled
option-value=
"Id"
option-label=
"Name"
filled
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>
<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
>
</
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>
<span
class=
"ReceipTypeName"
>
{{
props
.
row
.
ReceiptTypeName
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-ApplyReason=
"props"
>
<q-td
:props=
"props"
>
<div
class=
"bill_Rearsons"
>
<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
}}
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]"
>
{{
props
.
row
.
DataObj
.
Remarks
}}
{{
props
.
row
.
DataObj
.
Remarks
}}
</q-tooltip>
</span>
</
template
>
<
template
v-if=
"props.row.ReceiptType
==
2"
>
<
template
v-if=
"props.row.ReceiptType
==
2"
>
<span>
{{
props
.
row
.
DataObj
.
ApplyReason
}}
{{
props
.
row
.
DataObj
.
ApplyReason
}}
<q-tooltip
:offset=
"[0, 10]"
>
{{
props
.
row
.
DataObj
.
ApplyReason
}}
{{
props
.
row
.
DataObj
.
ApplyReason
}}
</q-tooltip>
</span>
</
template
>
...
...
@@ -82,323 +137,408 @@
</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)"
/>
<template
v-if=
"tabCheck == '3'"
>
<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=
"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)"
/>
v-if=
"
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)"
/>
</
template
>
<
template
v-if=
"props.row.VerifyStatus==2&&props.row.ReceiptType==2&&props.row.DataObj.FinanceId>0"
>
<span
@
click=
"goFinaceUrl('FinancialDocumentsDetail',props.row.DataObj)"
title=
"退课财务单据号"
style=
"color: #2961FE;font-weight: bold;cursor: pointer;"
>
{{
props
.
row
.
DataObj
.
FinanceId
}}
</span>
<
template
v-if=
"
props.row.VerifyStatus == 2 &&
props.row.ReceiptType == 2 &&
props.row.DataObj.FinanceId > 0
"
>
<span
@
click=
"
goFinaceUrl('FinancialDocumentsDetail', props.row.DataObj)
"
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
{
GetEducationReceiptPage
,
GetEducationReceiptType
,
invalidReceiptInfo
}
from
'../../api/teacher/index'
import
{
GetEducationReceiptPage
,
GetEducationReceiptType
,
invalidReceiptInfo
,
}
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
{
meta
:
{
title
:
"业务单据"
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
:
"业务单据"
,
},
components
:
{
backbillForm
,
createbackbillForm
,
changebillForm
,
stopbillForm
,
ordertransForm
,
temporaryClassForm
,
},
data
()
{
return
{
currentUrl
:
""
,
columns
:
[
{
name
:
"Id"
,
label
:
"单号"
,
field
:
"Id"
,
align
:
"left"
,
},
{
name
:
"ReceiptTypeName"
,
label
:
"单据类型"
,
field
:
"ReceiptTypeName"
,
align
:
"left"
,
},
{
name
:
"AuditStatusName"
,
label
:
"审核状态"
,
field
:
"AuditStatusName"
,
align
:
"left"
,
},
{
name
:
"CreateByName"
,
label
:
"创建人"
,
field
:
"CreateByName"
,
align
:
"left"
,
},
{
name
:
"CreateTime"
,
label
:
"创建时间"
,
field
:
"CreateTime"
,
align
:
"left"
,
},
{
name
:
"ApplyReason"
,
label
:
"申请原因"
,
field
:
"ApplyReason"
,
align
:
"left"
,
},
{
name
:
"optioned"
,
label
:
"操作"
,
field
:
"BackId"
,
},
],
data
:
[],
loading
:
true
,
applyDateList
:
[],
//申请日期
ShowOpts
:
[
{
label
:
"审核中"
,
value
:
"1"
,
},
{
label
:
"通过"
,
value
:
"2"
,
},
{
label
:
"驳回"
,
value
:
"3"
,
},
{
label
:
"作废"
,
value
:
"6"
,
},
],
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
rowsPerPage
:
12
,
Id
:
""
,
VerifyStatus
:
""
,
//审核状态
StartTime
:
""
,
//开始时间
EndTime
:
""
,
//结束时间
Conditon
:
1
,
ReceiptType
:
""
,
//单据类型
},
tabCheck
:
"1"
,
pageCount
:
0
,
isShowBillForm
:
false
,
//是否显示单据表单
isShowCreateBillForm
:
false
,
//是否显示制单表单
isShowChangeBillForm
:
false
,
//是否显示调课单据
billObj
:
{},
//单据信息
showType
:
1
,
//1-查看,2-审核
OrderTypeList
:
[],
isShowStopBillForm
:
false
,
//是否显示停课订单详情
isShowClassTrans
:
false
,
//是否显示订单转班详情
isShowTemporaryClass
:
false
,
//是否显示临时上课邀请订单详情
};
},
created
()
{},
mounted
()
{
this
.
currentUrl
=
this
.
$route
.
path
;
this
.
getEducationType
();
this
.
getStuBackBill
();
},
methods
:
{
//跳转到财务单据
goFinaceUrl
(
path
,
rowData
)
{
this
.
OpenNewUrl
(
"/financial/financalDocument/"
+
path
,
{
id
:
rowData
.
FinanceId
,
});
},
components
:
{
backbillForm
,
createbackbillForm
,
changebillForm
,
stopbillForm
,
ordertransForm
,
temporaryClassForm
//生成财务单据
createBillForm
(
item
)
{
this
.
isShowCreateBillForm
=
true
;
this
.
billObj
=
item
;
},
data
()
{
return
{
currentUrl
:
""
,
columns
:
[{
name
:
'Id'
,
label
:
'单号'
,
field
:
'Id'
,
align
:
'left'
},
{
name
:
'ReceiptTypeName'
,
label
:
'单据类型'
,
field
:
'ReceiptTypeName'
,
align
:
'left'
},
{
name
:
'AuditStatusName'
,
label
:
'审核状态'
,
field
:
'AuditStatusName'
,
align
:
'left'
},
{
name
:
'CreateByName'
,
label
:
'创建人'
,
field
:
'CreateByName'
,
align
:
'left'
},
{
name
:
'CreateTime'
,
label
:
'创建时间'
,
field
:
'CreateTime'
,
align
:
'left'
},
{
name
:
'ApplyReason'
,
label
:
'申请原因'
,
field
:
'ApplyReason'
,
align
:
'left'
},
{
name
:
'optioned'
,
label
:
'操作'
,
field
:
'BackId'
}
],
data
:
[],
loading
:
true
,
applyDateList
:
[],
//申请日期
ShowOpts
:
[{
label
:
'审核中'
,
value
:
'1'
},
{
label
:
'通过'
,
value
:
'2'
},
{
label
:
'驳回'
,
value
:
'3'
},
{
label
:
'作废'
,
value
:
'6'
}
],
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
rowsPerPage
:
12
,
Id
:
""
,
VerifyStatus
:
""
,
//审核状态
StartTime
:
""
,
//开始时间
EndTime
:
""
,
//结束时间
Conditon
:
1
,
ReceiptType
:
''
//单据类型
},
tabCheck
:
"1"
,
pageCount
:
0
,
isShowBillForm
:
false
,
//是否显示单据表单
isShowCreateBillForm
:
false
,
//是否显示制单表单
isShowChangeBillForm
:
false
,
//是否显示调课单据
billObj
:
{},
//单据信息
showType
:
1
,
//1-查看,2-审核
OrderTypeList
:
[],
isShowStopBillForm
:
false
,
//是否显示停课订单详情
isShowClassTrans
:
false
,
//是否显示订单转班详情
isShowTemporaryClass
:
false
,
//是否显示临时上课邀请订单详情
//关闭表单
closeBillForm
()
{
this
.
isShowBillForm
=
false
;
this
.
isShowChangeBillForm
=
false
;
this
.
isShowCreateBillForm
=
false
;
this
.
isShowStopBillForm
=
false
;
this
.
isShowClassTrans
=
false
;
this
.
isShowTemporaryClass
=
false
;
this
.
billObj
=
{};
},
//显示表单
showBillForm
(
item
,
type
)
{
//调课
if
(
item
.
ReceiptType
==
1
)
{
this
.
isShowChangeBillForm
=
true
;
}
//退课
else
if
(
item
.
ReceiptType
==
2
)
{
this
.
isShowBillForm
=
true
;
}
//停课
else
if
(
item
.
ReceiptType
==
3
)
{
this
.
isShowStopBillForm
=
true
;
}
//临时上课邀请
else
if
(
item
.
ReceiptType
==
4
)
{
this
.
isShowTemporaryClass
=
true
;
}
//转班
else
if
(
item
.
ReceiptType
==
5
||
item
.
ReceiptType
==
6
)
{
this
.
isShowClassTrans
=
true
;
}
this
.
showType
=
type
;
this
.
billObj
=
item
;
},
created
()
{
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getStuBackBill
();
},
mounted
()
{
this
.
currentUrl
=
this
.
$route
.
path
;
this
.
getEducationType
()
;
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getStuBackBill
();
},
methods
:
{
//跳转到财务单据
goFinaceUrl
(
path
,
rowData
)
{
this
.
OpenNewUrl
(
'/financial/financalDocument/'
+
path
,
{
'id'
:
rowData
.
FinanceId
})
},
//生成财务单据
createBillForm
(
item
)
{
this
.
isShowCreateBillForm
=
true
;
this
.
billObj
=
item
;
},
//关闭表单
closeBillForm
()
{
this
.
isShowBillForm
=
false
;
this
.
isShowChangeBillForm
=
false
;
this
.
isShowCreateBillForm
=
false
;
this
.
isShowStopBillForm
=
false
;
this
.
isShowClassTrans
=
false
;
this
.
isShowTemporaryClass
=
false
;
this
.
billObj
=
{};
},
//显示表单
showBillForm
(
item
,
type
)
{
//调课
if
(
item
.
ReceiptType
==
1
)
{
this
.
isShowChangeBillForm
=
true
;
}
//退课
else
if
(
item
.
ReceiptType
==
2
)
{
this
.
isShowBillForm
=
true
;
}
//停课
else
if
(
item
.
ReceiptType
==
3
)
{
this
.
isShowStopBillForm
=
true
;
}
//临时上课邀请
else
if
(
item
.
ReceiptType
==
4
)
{
this
.
isShowTemporaryClass
=
true
;
}
//转班
else
if
(
item
.
ReceiptType
==
5
||
item
.
ReceiptType
==
6
)
{
this
.
isShowClassTrans
=
true
;
}
this
.
showType
=
type
;
this
.
billObj
=
item
;
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getStuBackBill
();
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getStuBackBill
();
},
//获取退课单据分页列表
getStuBackBill
()
{
this
.
loading
=
true
;
this
.
data
=
[];
this
.
pageCount
=
0
;
this
.
msg
.
Conditon
=
this
.
tabCheck
;
if
(
this
.
applyDateList
&&
this
.
applyDateList
.
length
>
0
)
{
this
.
msg
.
StartTime
=
this
.
applyDateList
[
0
];
this
.
msg
.
EndTime
=
this
.
applyDateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
GetEducationReceiptPage
(
this
.
msg
).
then
(
res
=>
{
//获取退课单据分页列表
getStuBackBill
()
{
this
.
loading
=
true
;
this
.
data
=
[];
this
.
pageCount
=
0
;
this
.
msg
.
Conditon
=
this
.
tabCheck
;
if
(
this
.
applyDateList
&&
this
.
applyDateList
.
length
>
0
)
{
this
.
msg
.
StartTime
=
this
.
applyDateList
[
0
];
this
.
msg
.
EndTime
=
this
.
applyDateList
[
1
];
}
else
{
this
.
msg
.
StartTime
=
""
;
this
.
msg
.
EndTime
=
""
;
}
GetEducationReceiptPage
(
this
.
msg
)
.
then
((
res
)
=>
{
this
.
loading
=
false
;
this
.
data
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
}).
catch
(()
=>
{
this
.
loading
=
false
;
})
},
//刷新页面
refreshPage
()
{
this
.
isShowBillForm
=
false
;
this
.
isShowChangeBillForm
=
false
;
this
.
isShowCreateBillForm
=
false
;
this
.
isShowStopBillForm
=
false
;
this
.
isShowClassTrans
=
false
;
this
.
billObj
=
{};
this
.
getStuBackBill
();
},
//获取下拉数据
getEducationType
()
{
GetEducationReceiptType
().
then
(
res
=>
{
.
catch
(()
=>
{
this
.
loading
=
false
;
});
},
//刷新页面
refreshPage
()
{
this
.
isShowBillForm
=
false
;
this
.
isShowChangeBillForm
=
false
;
this
.
isShowCreateBillForm
=
false
;
this
.
isShowStopBillForm
=
false
;
this
.
isShowClassTrans
=
false
;
this
.
billObj
=
{};
this
.
getStuBackBill
();
},
//获取下拉数据
getEducationType
()
{
GetEducationReceiptType
()
.
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
OrderTypeList
=
res
.
Data
;
}
}).
catch
(()
=>
{})
},
//作废
invalidBillForm
(
item
)
{
let
delMsg
=
{
Id
:
item
.
Id
,
};
var
message
=
"是否要作废此单据?"
;
})
.
catch
(()
=>
{});
},
//作废
invalidBillForm
(
item
)
{
let
delMsg
=
{
Id
:
item
.
Id
,
};
var
message
=
"是否要作废此单据?"
;
this
.
$q
.
dialog
({
title
:
'提示信息'
,
this
.
$q
.
dialog
({
title
:
"提示信息"
,
message
:
message
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
invalidReceiptInfo
(
delMsg
).
then
(
res
=>
{
})
.
onOk
(()
=>
{
invalidReceiptInfo
(
delMsg
).
then
((
res
)
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
icon
:
"iconfont icon-chenggong"
,
color
:
"accent"
,
timeout
:
2000
,
message
:
'删除成功!'
,
position
:
'top'
})
message
:
"删除成功!"
,
position
:
"top"
,
})
;
this
.
refreshPage
();
}
else
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
icon
:
"iconfont icon-chenggong"
,
color
:
"accent"
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
position
:
"top"
,
})
;
}
})
}).
onCancel
(()
=>
{
});
}
});
})
.
onCancel
(()
=>
{});
},
watch
:
{
tabCheck
:
function
(
val
)
{
this
.
resetSearch
();
}
}
}
},
watch
:
{
tabCheck
:
function
(
val
)
{
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