Commit 17e50540 authored by 黄奎's avatar 黄奎

页面修改

parent 14632dbb
<!--退课表单审核信息-->
<style>
.backbill-Dialog .drawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #f0f5fb;
padding: 5px 10px;
align-items: center;
}
.backbill-Dialog .classFirst {
color: #000000;
font-weight: bold;
}
.backbill-Dialog .className {
margin-left: 10px;
}
.backbill-Dialog .classStatus {
padding: 3px 8px;
background-color: #c8d7fc;
color: #2961fe;
font-size: 12px;
border-radius: 2px;
margin-left: 20px;
}
.backbill-Dialog .normalName {
color: #999999;
}
.backbill-Dialog .normalInner {
color: #111111;
}
.drop_NameDown {
margin-top: 20px;
width: 300px;
}
.backinfoContent {
margin: 10px;
padding-bottom: 80px;
}
.backinfoContent .role_Line {
width: 3px;
height: 11px;
margin-right: 10px;
background-color: #3fc4ff;
display: inline-block;
}
.backinfoContent .backinfo_Item {
color: #000000;
font-weight: bold;
}
.backinfoContent .backInfo_One {
margin: 20px 0;
}
.backinfoContent .backOtherInfo {
color: #111111;
}
.backinfoContent .backInfo_Title {
display: inline-block;
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(0.5, rgba(255, 255, 255, 0.2)),
color-stop(0.5, transparent),
to(transparent)
);
background-color: #0ae;
}
._addUpload_box {
display: block;
margin-top: 15px;
}
._addUpload_box img {
width: 100%;
}
._addUpload_box > div {
float: left;
width: 138px;
height: 92px;
border: 1px dashed rgba(210, 210, 210, 1);
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
text-align: center;
}
._addUpload_box > div:hover {
background-color: #f5f5f5;
}
._addFile_name {
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
._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 {
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
._addUpload_box .icon-yasuobao {
color: gray;
}
._show_img_box {
position: fixed;
background: rgba(0, 0, 0, 0.6);
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 999;
text-align: center;
}
._addUpload_tips {
font-size: 12px;
color: #999999;
}
._jump_page {
cursor: pointer;
text-decoration: underline;
}
._jump_page:hover {
color: #c94052;
}
.backbill-Dialog .drawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #f0f5fb;
padding: 5px 10px;
align-items: center;
}
.backbill-Dialog .classFirst {
color: #000000;
font-weight: bold;
}
.backbill-Dialog .className {
margin-left: 10px;
}
.backbill-Dialog .classStatus {
padding: 3px 8px;
background-color: #c8d7fc;
color: #2961fe;
font-size: 12px;
border-radius: 2px;
margin-left: 20px;
}
.backbill-Dialog .normalName {
color: #999999;
}
.backbill-Dialog .normalInner {
color: #111111;
}
.drop_NameDown {
margin-top: 20px;
width: 300px;
}
.backinfoContent {
margin: 10px;
padding-bottom: 80px;
}
.backinfoContent .role_Line {
width: 3px;
height: 11px;
margin-right: 10px;
background-color: #3fc4ff;
display: inline-block;
}
.backinfoContent .backinfo_Item {
color: #000000;
font-weight: bold;
}
.backinfoContent .backInfo_One {
margin: 20px 0;
}
.backinfoContent .backOtherInfo {
color: #111111;
}
.backinfoContent .backInfo_Title {
display: inline-block;
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(0.5, rgba(255, 255, 255, 0.2)),
color-stop(0.5, transparent),
to(transparent));
background-color: #0ae;
}
._addUpload_box {
display: block;
margin-top: 15px;
}
._addUpload_box img {
width: 100%;
}
._addUpload_box>div {
float: left;
width: 138px;
height: 92px;
border: 1px dashed rgba(210, 210, 210, 1);
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
text-align: center;
}
._addUpload_box>div:hover {
background-color: #f5f5f5;
}
._addFile_name {
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
._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 {
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
._addUpload_box .icon-yasuobao {
color: gray;
}
._show_img_box {
position: fixed;
background: rgba(0, 0, 0, 0.6);
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 999;
text-align: center;
}
._addUpload_tips {
font-size: 12px;
color: #999999;
}
._jump_page {
cursor: pointer;
text-decoration: underline;
}
._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="驳回"
/>
<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-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,249 +507,255 @@
</template>
<script>
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,
default: null,
},
showType: {
type: Number,
default: 1,
},
},
components: {
flowinfoForm,
},
data() {
return {
persistent: true,
tabCheck: "first", //默认选第一个
backBillMsg: {
Id: 0,
BackMoney: 0, //实际退款金额
Description: "", //审批意见
AuditStatus: 2, //审核状态
SpecialNode: 0, //是否特殊节点
RecipientIds: "", //抄送人
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,
default: null,
},
showType: {
type: Number,
default: 1,
},
classPriceObj: {}, //课程价格信息
EmployeeList: [],
AllemployeeList: [],
tempPeople: [], //抄送人数组
//附件---s
picIsShow: false,
picObj: [],
initialIndex: 0,
//附件---e
};
},
computed: {
fj() {
let arr = [];
let fjlist = this.setingObj.ReceiptFileList;
fjlist.map((item) => {
let suffix = item.split(".")[item.split(".").length - 1].toUpperCase();
if ("DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 1,
suffix: suffix,
};
arr.push(obj);
} else if ("GIF|JPG|JPEG|PNG|BMP|WEBP".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 2,
suffix: suffix,
};
arr.push(obj);
} else if ("ZIP|RAR|7Z|TAR".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 3,
suffix: suffix,
};
arr.push(obj);
} else if (
"MP4|3GP|AVI|MOV|WMV|RMVB|MKV|M4V|FLV".indexOf(suffix) != "-1"
) {
let obj = {
url: item,
type: 4,
suffix: suffix,
};
arr.push(obj);
} else {
let obj = {
url: item,
type: 5,
suffix: suffix,
};
arr.push(obj);
}
});
return arr;
},
},
created() {
this.getEmployee();
},
mounted() {
this.backBillMsg.Id = this.setingObj.Id;
this.backBillMsg.SpecialNode = this.setingObj.SpecialNode;
if (this.backBillMsg.SpecialNode == 1) {
this.getBackBillMoney();
}
},
methods: {
getBackBillMoney() {
queryBackBillMoney({
BackId: this.setingObj.RelationId,
}).then((res) => {
if (res.Code == 1) {
this.classPriceObj = res.Data;
}
});
components: {
flowinfoForm,
},
closeBackInfo() {
this.persistent = false;
this.$emit("close");
data() {
return {
persistent: true,
tabCheck: "first", //默认选第一个
backBillMsg: {
Id: 0,
BackMoney: 0, //实际退款金额
Description: "", //审批意见
AuditStatus: 2, //审核状态
SpecialNode: 0, //是否特殊节点
RecipientIds: "", //抄送人
},
classPriceObj: {}, //课程价格信息
EmployeeList: [],
AllemployeeList: [],
tempPeople: [], //抄送人数组
//附件---s
picIsShow: false,
picObj: [],
initialIndex: 0,
//附件---e
};
},
//退课单据审核
saveBackClassInfo() {
var str = "";
if (this.tempPeople && this.tempPeople.length > 0) {
this.tempPeople.forEach((item) => {
str += "," + item;
computed: {
fj() {
let arr = [];
let fjlist = this.setingObj.ReceiptFileList;
fjlist.map((item) => {
let suffix = item.split(".")[item.split(".").length - 1].toUpperCase();
if ("DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 1,
suffix: suffix,
};
arr.push(obj);
} else if ("GIF|JPG|JPEG|PNG|BMP|WEBP".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 2,
suffix: suffix,
};
arr.push(obj);
} else if ("ZIP|RAR|7Z|TAR".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 3,
suffix: suffix,
};
arr.push(obj);
} else if (
"MP4|3GP|AVI|MOV|WMV|RMVB|MKV|M4V|FLV".indexOf(suffix) != "-1"
) {
let obj = {
url: item,
type: 4,
suffix: suffix,
};
arr.push(obj);
} else {
let obj = {
url: item,
type: 5,
suffix: suffix,
};
arr.push(obj);
}
});
return arr;
},
},
created() {
this.getEmployee();
},
mounted() {
this.backBillMsg.Id = this.setingObj.Id;
this.backBillMsg.SpecialNode = this.setingObj.SpecialNode;
if (this.backBillMsg.SpecialNode == 1) {
this.getBackBillMoney();
}
if (str && str != "") {
str = str.substr(1);
}
this.backBillMsg.RecipientIds = str;
saveBackBillAduit(this.backBillMsg).then((res) => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "审核成功!",
position: "top",
});
//调用父页面成功方法
this.$emit("success");
this.$emit("close");
}
});
},
//获取员工列表
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));
methods: {
getBackBillMoney() {
queryBackBillMoney({
BackId: this.setingObj.RelationId,
}).then((res) => {
if (res.Code == 1) {
this.classPriceObj = res.Data;
}
});
},
closeBackInfo() {
this.persistent = false;
this.$emit("close");
},
//退课单据审核
saveBackClassInfo() {
var str = "";
if (this.tempPeople && this.tempPeople.length > 0) {
this.tempPeople.forEach((item) => {
str += "," + item;
});
}
});
},
//筛选员工
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
);
if (str && str != "") {
str = str.substr(1);
}
});
},
//获取员工姓名
getName(id) {
let str = "";
this.EmployeeList.forEach((x) => {
if (id == x.Id) {
str = x.EmployeeName;
}
});
return str;
},
//跳转到班级管理
goClassManage(ClassName) {
this.OpenNewUrl("/course/classManage", {
ClassName: ClassName,
});
},
//跳转到报名统计
goOrderStatic(OrderId) {
this.OpenNewUrl("/sale/orderStatistics", {
OrderId: OrderId,
});
},
getlookContractNo(ContractId) {
//跳转合同管理
let routeUrl = this.$router.resolve({
path: "/contractView",
query: {
ContractId: ContractId,
},
});
window.open(routeUrl.href, "_blank");
},
getlookFinishHours() {
//跳转学员消耗课时明细
let StartMonth = "";
let EndMonth = this.setingObj.CreateTime.split(" ")[0];
let Name = encodeURI(this.setingObj.DataObj.GuestName);
this.OpenNewUrl("/financial/studentsClassfee", {
ClassId: this.setingObj.DataObj.ClassId,
StartMonth: StartMonth,
EndMonth: EndMonth,
StudentName: Name,
comefrom: 1,
});
},
refreshPage() {
this.persistent = false;
this.$emit("success");
},
closeShenheForm() {
this.persistent = false;
this.$emit("close");
},
showUpLoadFile(i) {
// 预览上传文件
if (i.type == 2) {
this.picObj.push(i.url);
this.picIsShow = true;
} else if (i.type == 1) {
if (i.suffix == "PDF" || i.suffix == "TXT") {
this.previewPDF(i.url);
this.backBillMsg.RecipientIds = str;
saveBackBillAduit(this.backBillMsg).then((res) => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "审核成功!",
position: "top",
});
//调用父页面成功方法
this.$emit("success");
this.$emit("close");
}
});
},
//获取员工列表
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) {
str = x.EmployeeName;
}
});
return str;
},
//跳转到班级管理
goClassManage(ClassName) {
this.OpenNewUrl("/course/classManage", {
ClassName: ClassName,
});
},
//跳转到报名统计
goOrderStatic(OrderId) {
this.OpenNewUrl("/sale/orderStatistics", {
OrderId: OrderId,
});
},
getlookContractNo(ContractId) {
//跳转合同管理
let routeUrl = this.$router.resolve({
path: "/contractView",
query: {
ContractId: ContractId,
},
});
window.open(routeUrl.href, "_blank");
},
getlookFinishHours() {
//跳转学员消耗课时明细
let StartMonth = "";
let EndMonth = this.setingObj.CreateTime.split(" ")[0];
let Name = encodeURI(this.setingObj.DataObj.GuestName);
this.OpenNewUrl("/financial/studentsClassfee", {
ClassId: this.setingObj.DataObj.ClassId,
StartMonth: StartMonth,
EndMonth: EndMonth,
StudentName: Name,
comefrom: 1,
});
},
refreshPage() {
this.persistent = false;
this.$emit("success");
},
closeShenheForm() {
this.persistent = false;
this.$emit("close");
},
showUpLoadFile(i) {
// 预览上传文件
if (i.type == 2) {
this.picObj.push(i.url);
this.picIsShow = true;
} else if (i.type == 1) {
if (i.suffix == "PDF" || i.suffix == "TXT") {
this.previewPDF(i.url);
} else {
this.downloadFile(i);
}
} else {
this.downloadFile(i);
}
} else {
this.downloadFile(i);
}
},
downloadFile(i) {
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute("href", i.url);
a.click();
},
downloadFile(i) {
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute("href", i.url);
a.click();
},
},
},
};
};
</script>
......@@ -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="
......
<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;
}
.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;
}
.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,418 +86,348 @@
</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 {
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: "业务单据",
},
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,
});
},
//生成财务单据
createBillForm(item) {
this.$q.dialog({
title: "提示信息",
message: '退课单据将扣除10%违约金',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
})
.onOk(() => {
this.isShowCreateBillForm = true;
this.billObj = item;
})
.onCancel(() => {});
},
//关闭表单
closeBillForm() {
this.isShowBillForm = false;
this.isShowChangeBillForm = false;
this.isShowCreateBillForm = false;
this.isShowStopBillForm = false;
this.isShowClassTrans = false;
this.isShowTemporaryClass = false;
this.billObj = {};
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: "业务单据",
},
//显示表单
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;
components: {
backbillForm,
createbackbillForm,
changebillForm,
stopbillForm,
ordertransForm,
temporaryClassForm,
},
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getStuBackBill();
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, //是否显示临时上课邀请订单详情
};
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
created() {},
mounted() {
this.currentUrl = this.$route.path;
this.getEducationType();
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) => {
this.loading = false;
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
})
.catch(() => {
this.loading = false;
methods: {
//跳转到财务单据
goFinaceUrl(path, rowData) {
this.OpenNewUrl("/financial/financalDocument/" + path, {
id: rowData.FinanceId,
});
},
//刷新页面
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 = "是否要作废此单据?";
this.$q.dialog({
title: "提示信息",
message: message,
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
})
.onOk(() => {
invalidReceiptInfo(delMsg).then((res) => {
},
//生成财务单据
createBillForm(item) {
this.$q.dialog({
title: "提示信息",
message: '退课单据将扣除10%违约金',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
})
.onOk(() => {
this.isShowCreateBillForm = true;
this.billObj = item;
})
.onCancel(() => {});
},
//关闭表单
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) => {
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) => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "删除成功!",
position: "top",
});
this.refreshPage();
} else {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: res.Message,
position: "top",
});
this.OrderTypeList = res.Data;
}
});
})
.onCancel(() => {});
})
.catch(() => {});
},
//作废
invalidBillForm(item) {
let delMsg = {
Id: item.Id,
};
var message = "是否要作废此单据?";
this.$q.dialog({
title: "提示信息",
message: message,
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
})
.onOk(() => {
invalidReceiptInfo(delMsg).then((res) => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "删除成功!",
position: "top",
});
this.refreshPage();
} else {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: res.Message,
position: "top",
});
}
});
})
.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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment