Commit 632f359f authored by 罗超's avatar 罗超

1

parent 83b16c6a
...@@ -375,9 +375,11 @@ ...@@ -375,9 +375,11 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<span class="backInfo_Title">附件:</span> <span class="backInfo_Title"
>附件:<span v-if="fj.length === 0"></span></span
>
</div> </div>
<div class="row flex"> <div class="row flex" v-if="fj.length > 0">
<div class="_addUpload_box clearfix flex"> <div class="_addUpload_box clearfix flex">
<template v-for="(item, index) in fj"> <template v-for="(item, index) in fj">
<div <div
...@@ -399,7 +401,7 @@ ...@@ -399,7 +401,7 @@
<span <span
v-if="item.type === 3" v-if="item.type === 3"
class="" class=""
@click="showUpLoadFile(item)" @click="downloadFile(item)"
>{{ item.url }}</span >{{ item.url }}</span
> >
</div> </div>
...@@ -640,9 +642,11 @@ export default { ...@@ -640,9 +642,11 @@ export default {
EmployeeList: [], EmployeeList: [],
AllemployeeList: [], AllemployeeList: [],
tempPeople: [], //抄送人数组 tempPeople: [], //抄送人数组
//附件---s
picIsShow: false, picIsShow: false,
picObj: [], picObj: [],
initialIndex: 0, initialIndex: 0,
//附件---e
}; };
}, },
computed: { computed: {
...@@ -651,7 +655,6 @@ export default { ...@@ -651,7 +655,6 @@ export default {
let fjlist = this.setingObj.ReceiptFileList; let fjlist = this.setingObj.ReceiptFileList;
fjlist.map((item) => { fjlist.map((item) => {
let suffix = item.split(".")[item.split(".").length - 1].toUpperCase(); 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") { if ("DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT".indexOf(suffix) != "-1") {
let obj = { let obj = {
url: item, url: item,
...@@ -817,7 +820,7 @@ export default { ...@@ -817,7 +820,7 @@ export default {
this.picObj.push(i.url); this.picObj.push(i.url);
this.picIsShow = true; this.picIsShow = true;
} else { } else {
if (i.suffix == "PDF") { if (i.suffix == "PDF" || i.suffix == "TXT") {
this.previewPDF(i.url); this.previewPDF(i.url);
} else { } else {
window.open( window.open(
...@@ -826,6 +829,12 @@ export default { ...@@ -826,6 +829,12 @@ export default {
} }
} }
}, },
downloadFile(i) {
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute("href", i.url);
a.click();
},
}, },
}; };
</script> </script>
...@@ -586,7 +586,7 @@ ...@@ -586,7 +586,7 @@
<span <span
v-if="item.type === 3" v-if="item.type === 3"
class="" class=""
@click="showUpLoadFile(item)" @click="downloadFile(item)"
>{{ item.url }}</span >{{ item.url }}</span
> >
</div> </div>
...@@ -1084,7 +1084,7 @@ export default { ...@@ -1084,7 +1084,7 @@ export default {
this.picObj.push(i.url); this.picObj.push(i.url);
this.picIsShow = true; this.picIsShow = true;
} else { } else {
if (i.suffix == "PDF") { if (i.suffix == "PDF" || i.suffix == "TXT") {
this.previewPDF(i.url); this.previewPDF(i.url);
} else { } else {
window.open( window.open(
...@@ -1093,6 +1093,12 @@ export default { ...@@ -1093,6 +1093,12 @@ export default {
} }
} }
}, },
downloadFile(i) {
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute("href", i.url);
a.click();
},
}, },
}; };
</script> </script>
...@@ -284,277 +284,10 @@ ...@@ -284,277 +284,10 @@
</div> </div>
</div> </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="normalInner"
style="width: 100%; word-break: break-all"
>
<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;
"
>
取消:
</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>
</div>
</template>
</template>
<div class="row"> <div class="row">
<span class="backInfo_Title" <span class="backInfo_Title">附件:<span v-if="fj.length===0"></span></span>
>附件:<span v-if="fj.length === 0"></span></span
>
</div> </div>
<div class="row flex" v-if="fj.length > 0"> <div class="row flex" v-if="fj.length>0">
<div class="_addUpload_box clearfix flex"> <div class="_addUpload_box clearfix flex">
<template v-for="(item, index) in fj"> <template v-for="(item, index) in fj">
<div <div
...@@ -570,19 +303,21 @@ ...@@ -570,19 +303,21 @@
<span <span
v-if="item.type === 1" v-if="item.type === 1"
class="iconfont" class="iconfont"
:class="item.suffix == 'PDF' ? 'icon-pdf' : 'icon-excel'" :class="
item.suffix == 'PDF' ? 'icon-pdf' : 'icon-excel'
"
@click="showUpLoadFile(item)" @click="showUpLoadFile(item)"
></span> ></span>
<span <span
v-if="item.type === 3" v-if="item.type === 3"
class="" class="iconfont icon-excel"
@click="showUpLoadFile(item)" @click="downloadFile(item)"
>{{ item.url }}</span ></span>
>
</div> </div>
</template> </template>
</div> </div>
</div> </div>
</div>
<div class="replayReason"> <div class="replayReason">
<div class="replay_Title">变更原因</div> <div class="replay_Title">变更原因</div>
<div style="color: rgb(102, 102, 102); margin-top: 5px"> <div style="color: rgb(102, 102, 102); margin-top: 5px">
...@@ -862,13 +597,11 @@ export default { ...@@ -862,13 +597,11 @@ export default {
align: "left", align: "left",
}, },
], ],
pages: { //附件---s
rowsPerPage: 100000,
},
dataList: [],
picIsShow: false, picIsShow: false,
picObj: [], picObj: [],
initialIndex: 0, initialIndex: 0,
//附件---e
}; };
}, },
computed: { computed: {
...@@ -877,7 +610,6 @@ export default { ...@@ -877,7 +610,6 @@ export default {
let fjlist = this.setingObj.ReceiptFileList; let fjlist = this.setingObj.ReceiptFileList;
fjlist.map((item) => { fjlist.map((item) => {
let suffix = item.split(".")[item.split(".").length - 1].toUpperCase(); 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") { if ("DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT".indexOf(suffix) != "-1") {
let obj = { let obj = {
url: item, url: item,
...@@ -910,44 +642,6 @@ export default { ...@@ -910,44 +642,6 @@ export default {
mounted() { mounted() {
this.changeBillMsg.Id = this.setingObj.Id; this.changeBillMsg.Id = this.setingObj.Id;
this.changeBillMsg.SpecialNode = this.setingObj.SpecialNode; 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: { methods: {
closeBackInfo() { closeBackInfo() {
...@@ -1083,6 +777,12 @@ export default { ...@@ -1083,6 +777,12 @@ export default {
} }
} }
}, },
downloadFile(i) {
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute("href", i.url);
a.click();
},
}, },
}; };
</script> </script>
...@@ -396,9 +396,11 @@ ...@@ -396,9 +396,11 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<span class="backInfo_Title">附件:</span> <span class="backInfo_Title"
>附件:<span v-if="fj.length === 0"></span></span
>
</div> </div>
<div class="row flex"> <div class="row flex" v-if="fj.length > 0">
<div class="_addUpload_box clearfix flex"> <div class="_addUpload_box clearfix flex">
<template v-for="(item, index) in fj"> <template v-for="(item, index) in fj">
<div <div
...@@ -659,9 +661,11 @@ export default { ...@@ -659,9 +661,11 @@ export default {
EmployeeList: [], EmployeeList: [],
AllemployeeList: [], AllemployeeList: [],
tempPeople: [], //抄送人数组 tempPeople: [], //抄送人数组
//附件---s
picIsShow: false, picIsShow: false,
picObj: [], picObj: [],
initialIndex: 0, initialIndex: 0,
//附件---e
}; };
}, },
computed: { computed: {
...@@ -670,7 +674,6 @@ export default { ...@@ -670,7 +674,6 @@ export default {
let fjlist = this.setingObj.ReceiptFileList; let fjlist = this.setingObj.ReceiptFileList;
fjlist.map((item) => { fjlist.map((item) => {
let suffix = item.split(".")[item.split(".").length - 1].toUpperCase(); 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") { if ("DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT".indexOf(suffix) != "-1") {
let obj = { let obj = {
url: item, url: item,
......
...@@ -382,7 +382,7 @@ ...@@ -382,7 +382,7 @@
<span <span
v-if="item.type === 3" v-if="item.type === 3"
class="" class=""
@click="showUpLoadFile(item)" @click="downloadFile(item)"
>{{ item.url }}</span >{{ item.url }}</span
> >
</div> </div>
...@@ -842,7 +842,7 @@ export default { ...@@ -842,7 +842,7 @@ export default {
this.picObj.push(i.url); this.picObj.push(i.url);
this.picIsShow = true; this.picIsShow = true;
} else { } else {
if (i.suffix == "PDF") { if (i.suffix == "PDF" || i.suffix == "TXT") {
this.previewPDF(i.url); this.previewPDF(i.url);
} else { } else {
window.open( window.open(
...@@ -851,6 +851,12 @@ export default { ...@@ -851,6 +851,12 @@ export default {
} }
} }
}, },
downloadFile(i) {
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute("href", i.url);
a.click();
},
}, },
}; };
</script> </script>
...@@ -182,9 +182,11 @@ export default { ...@@ -182,9 +182,11 @@ export default {
}, },
}, },
saveMsg: [], saveMsg: [],
//附件---s
picIsShow: false, picIsShow: false,
picObj: [], picObj: [],
initialIndex: 0, initialIndex: 0,
//附件---e
}; };
}, },
mounted() { mounted() {
......
<style> <style>
.Sysuser_Date .el-range-editor .el-range-input { .Sysuser_Date .el-range-editor .el-range-input {
background-color: transparent; background-color: transparent;
} }
.Sysuser_Date .el-range-editor.el-input__inner { .Sysuser_Date .el-range-editor.el-input__inner {
background-color: transparent; background-color: transparent;
} }
.ReceipTypeName { .ReceipTypeName {
display: inline-block; display: inline-block;
padding: 2px 8px; padding: 2px 8px;
color: white; color: white;
background-color: rgb(233, 82, 82); background-color: rgb(233, 82, 82);
line-height: 16px; line-height: 16px;
border-radius: 4px; border-radius: 4px;
} }
</style> </style>
<template> <template>
<div class="page-body"> <div class="page-body">
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-col-gutter-md"> <div class="col row wrap q-col-gutter-md">
<div class="col-3"> <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>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" clearable filled v-model="msg.VerifyStatus" :options="ShowOpts" emit-value <q-select
map-options label="审核状态" /> @input="resetSearch"
clearable
filled
v-model="msg.VerifyStatus"
:options="ShowOpts"
emit-value
map-options
label="审核状态"
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" clearable filled option-value="Id" option-label="Name" filled <q-select
v-model="msg.ReceiptType" :options="OrderTypeList" emit-value map-options label="单据类型" /> @input="resetSearch"
clearable
filled
option-value="Id"
option-label="Name"
filled
v-model="msg.ReceiptType"
:options="OrderTypeList"
emit-value
map-options
label="单据类型"
/>
</div> </div>
<div class="col-3 Sysuser_Date"> <div class="col-3 Sysuser_Date">
<q-field filled> <q-field filled>
 <template v-slot:control>  <template v-slot:control>
<el-date-picker v-model="applyDateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;" <el-date-picker
 range-separator="至"  start-placeholder="申请开始日期"  end-placeholder="申请结束日期"> v-model="applyDateList"
 </el-date-picker>        @change="resetSearch()"
value-format="yyyy-MM-dd"
type="daterange"
style="border: none"
range-separator="至"
start-placeholder="申请开始日期"
end-placeholder="申请结束日期"
>
 </el-date-picker
>       
</template> </template>
</q-field> </q-field>
</div> </div>
</div> </div>
</div> </div>
<div class="page-content"> <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="1" label="我发起的" />
<q-tab :ripple="false" name="3" label="待我审批" /> <q-tab :ripple="false" name="3" label="待我审批" />
<q-tab :ripple="false" name="2" label="已审批" /> <q-tab :ripple="false" name="2" label="已审批" />
<q-tab :ripple="false" name="4" label="抄送给我的" /> <q-tab :ripple="false" name="4" label="抄送给我的" />
</q-tabs> </q-tabs>
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat <q-table
class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns" :pagination="msg"
row-key="name"> :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"> <template v-slot:body-cell-ReceiptTypeName="props">
<q-td :props="props"> <q-td :props="props">
<span class="ReceipTypeName">{{props.row.ReceiptTypeName}}</span> <span class="ReceipTypeName">{{ props.row.ReceiptTypeName }}</span>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-ApplyReason="props"> <template v-slot:body-cell-ApplyReason="props">
<q-td :props="props"> <q-td :props="props">
<div class="bill_Rearsons"> <div class="bill_Rearsons">
<template <template
v-if="props.row.ReceiptType==1||props.row.ReceiptType==5||props.row.ReceiptType==3||props.row.ReceiptType==4"> v-if="
<span v-if="props.row.DataObj&&props.row.DataObj.Remarks"> props.row.ReceiptType == 1 ||
{{props.row.DataObj.Remarks}} 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]"> <q-tooltip :offset="[0, 10]">
{{props.row.DataObj.Remarks}} {{ props.row.DataObj.Remarks }}
</q-tooltip> </q-tooltip>
</span> </span>
</template> </template>
<template v-if="props.row.ReceiptType==2"> <template v-if="props.row.ReceiptType == 2">
<span> <span>
{{props.row.DataObj.ApplyReason}} {{ props.row.DataObj.ApplyReason }}
<q-tooltip :offset="[0, 10]"> <q-tooltip :offset="[0, 10]">
{{props.row.DataObj.ApplyReason}} {{ props.row.DataObj.ApplyReason }}
</q-tooltip> </q-tooltip>
</span> </span>
</template> </template>
...@@ -82,72 +137,154 @@ ...@@ -82,72 +137,154 @@
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" <q-pagination
:input="true" @input="changePage" /> class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template> </template>
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<template v-if="tabCheck=='3'"> <template v-if="tabCheck == '3'">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="审核" <q-btn
@click="showBillForm(props.row,2)" /> flat
size="xs"
icon="edit"
color="accent"
style="font-weight: 400"
label="审核"
@click="showBillForm(props.row, 2)"
/>
</template> </template>
<template v-else> <template v-else>
<template <template
v-if="props.row.VerifyStatus==2&&props.row.ReceiptType==2&&props.row.DataObj.FinanceId<=0&& tabCheck=='1'"> v-if="
<q-btn flat size="xs" icon="directions" color="secondary" style="font-weight:400" label="制单" props.row.VerifyStatus == 2 &&
@click="createBillForm(props.row)" /> 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>
<template v-if="props.row.VerifyStatus==2&&props.row.ReceiptType==2&&props.row.DataObj.FinanceId>0"> <template
<span @click="goFinaceUrl('FinancialDocumentsDetail',props.row.DataObj)" title="退课财务单据号" v-if="
style="color: #2961FE;font-weight: bold;cursor: pointer;">{{props.row.DataObj.FinanceId}}</span> 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> </template>
<q-btn v-if="props.row.VerifyStatus==0 && tabCheck=='1'" flat size="xs" icon="delete" color="negative" <q-btn
style="font-weight:400" label="作废" @click="invalidBillForm(props.row)" /> v-if="props.row.VerifyStatus == 0 && tabCheck == '1'"
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="查看" flat
@click="showBillForm(props.row,1)" /> 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> </template>
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<backbill-form v-if="isShowBillForm" :seting-obj="billObj" :showType="showType" @close="closeBillForm" <backbill-form
@success="refreshPage"> v-if="isShowBillForm"
:seting-obj="billObj"
:showType="showType"
@close="closeBillForm"
@success="refreshPage"
>
</backbill-form> </backbill-form>
<createbackbill-form v-if="isShowCreateBillForm" :seting-obj="billObj" @close="closeBillForm" <createbackbill-form
@success="refreshPage"> v-if="isShowCreateBillForm"
:seting-obj="billObj"
@close="closeBillForm"
@success="refreshPage"
>
</createbackbill-form> </createbackbill-form>
<changebill-form v-if="isShowChangeBillForm" :seting-obj="billObj" :showType="showType" @close="closeBillForm" <changebill-form
@success="refreshPage"> v-if="isShowChangeBillForm"
:seting-obj="billObj"
:showType="showType"
@close="closeBillForm"
@success="refreshPage"
>
</changebill-form> </changebill-form>
<stopbill-form v-if="isShowStopBillForm" :seting-obj="billObj" :showType="showType" @close="closeBillForm" <stopbill-form
@success="refreshPage"> v-if="isShowStopBillForm"
:seting-obj="billObj"
:showType="showType"
@close="closeBillForm"
@success="refreshPage"
>
</stopbill-form> </stopbill-form>
<!-- 订单转班-查看 --> <!-- 订单转班-查看 -->
<ordertrans-form v-if="isShowClassTrans" :seting-obj="billObj" :showType="showType" @close="closeBillForm" <ordertrans-form
@success="refreshPage"> v-if="isShowClassTrans"
:seting-obj="billObj"
:showType="showType"
@close="closeBillForm"
@success="refreshPage"
>
</ordertrans-form> </ordertrans-form>
<!-- 订单临时上课邀请-查看 --> <!-- 订单临时上课邀请-查看 -->
<temporaryClass-form v-if="isShowTemporaryClass" :seting-obj="billObj" :showType="showType" @close="closeBillForm" <temporaryClass-form
@success="refreshPage"> v-if="isShowTemporaryClass"
:seting-obj="billObj"
:showType="showType"
@close="closeBillForm"
@success="refreshPage"
>
</temporaryClass-form> </temporaryClass-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import {
GetEducationReceiptPage, GetEducationReceiptPage,
GetEducationReceiptType, GetEducationReceiptType,
invalidReceiptInfo invalidReceiptInfo,
} from '../../api/teacher/index' } from "../../api/teacher/index";
import backbillForm from '../../components/sale/backbill-form'; import backbillForm from "../../components/sale/backbill-form";
import changebillForm from '../../components/sale/changebill-form'; import changebillForm from "../../components/sale/changebill-form";
import stopbillForm from '../../components/sale/stopbill-form'; import stopbillForm from "../../components/sale/stopbill-form";
import createbackbillForm from '../../components/sale/createbackbill-form'; import createbackbillForm from "../../components/sale/createbackbill-form";
import ordertransForm from '../../components/sale/ordertrans-form'; import ordertransForm from "../../components/sale/ordertrans-form";
import temporaryClassForm from '../../components/sale/temporaryClassbill-form'; import temporaryClassForm from "../../components/sale/temporaryClassbill-form";
export default { export default {
meta: { meta: {
title: "业务单据" title: "业务单据",
}, },
components: { components: {
backbillForm, backbillForm,
...@@ -155,72 +292,74 @@ ...@@ -155,72 +292,74 @@
changebillForm, changebillForm,
stopbillForm, stopbillForm,
ordertransForm, ordertransForm,
temporaryClassForm temporaryClassForm,
}, },
data() { data() {
return { return {
currentUrl: "", currentUrl: "",
columns: [{ columns: [
name: 'Id', {
label: '单号', name: "Id",
field: 'Id', label: "单号",
align: 'left' field: "Id",
align: "left",
}, },
{ {
name: 'ReceiptTypeName', name: "ReceiptTypeName",
label: '单据类型', label: "单据类型",
field: 'ReceiptTypeName', field: "ReceiptTypeName",
align: 'left' align: "left",
}, },
{ {
name: 'AuditStatusName', name: "AuditStatusName",
label: '审核状态', label: "审核状态",
field: 'AuditStatusName', field: "AuditStatusName",
align: 'left' align: "left",
}, },
{ {
name: 'CreateByName', name: "CreateByName",
label: '创建人', label: "创建人",
field: 'CreateByName', field: "CreateByName",
align: 'left' align: "left",
}, },
{ {
name: 'CreateTime', name: "CreateTime",
label: '创建时间', label: "创建时间",
field: 'CreateTime', field: "CreateTime",
align: 'left' align: "left",
}, },
{ {
name: 'ApplyReason', name: "ApplyReason",
label: '申请原因', label: "申请原因",
field: 'ApplyReason', field: "ApplyReason",
align: 'left' align: "left",
}, },
{ {
name: 'optioned', name: "optioned",
label: '操作', label: "操作",
field: 'BackId' field: "BackId",
} },
], ],
data: [], data: [],
loading: true, loading: true,
applyDateList: [], //申请日期 applyDateList: [], //申请日期
ShowOpts: [{ ShowOpts: [
label: '审核中', {
value: '1' label: "审核中",
value: "1",
}, },
{ {
label: '通过', label: "通过",
value: '2' value: "2",
}, },
{ {
label: '驳回', label: "驳回",
value: '3' value: "3",
}, },
{ {
label: '作废', label: "作废",
value: '6' value: "6",
} },
], ],
msg: { msg: {
pageIndex: 1, pageIndex: 1,
...@@ -231,7 +370,7 @@ ...@@ -231,7 +370,7 @@
StartTime: "", //开始时间 StartTime: "", //开始时间
EndTime: "", //结束时间 EndTime: "", //结束时间
Conditon: 1, Conditon: 1,
ReceiptType: '' //单据类型 ReceiptType: "", //单据类型
}, },
tabCheck: "1", tabCheck: "1",
pageCount: 0, pageCount: 0,
...@@ -244,11 +383,9 @@ ...@@ -244,11 +383,9 @@
isShowStopBillForm: false, //是否显示停课订单详情 isShowStopBillForm: false, //是否显示停课订单详情
isShowClassTrans: false, //是否显示订单转班详情 isShowClassTrans: false, //是否显示订单转班详情
isShowTemporaryClass: false, //是否显示临时上课邀请订单详情 isShowTemporaryClass: false, //是否显示临时上课邀请订单详情
} };
},
created() {
}, },
created() {},
mounted() { mounted() {
this.currentUrl = this.$route.path; this.currentUrl = this.$route.path;
this.getEducationType(); this.getEducationType();
...@@ -257,9 +394,9 @@ ...@@ -257,9 +394,9 @@
methods: { methods: {
//跳转到财务单据 //跳转到财务单据
goFinaceUrl(path, rowData) { goFinaceUrl(path, rowData) {
this.OpenNewUrl('/financial/financalDocument/' + path, { this.OpenNewUrl("/financial/financalDocument/" + path, {
'id': rowData.FinanceId id: rowData.FinanceId,
}) });
}, },
//生成财务单据 //生成财务单据
createBillForm(item) { createBillForm(item) {
...@@ -321,16 +458,18 @@ ...@@ -321,16 +458,18 @@
this.msg.StartTime = this.applyDateList[0]; this.msg.StartTime = this.applyDateList[0];
this.msg.EndTime = this.applyDateList[1]; this.msg.EndTime = this.applyDateList[1];
} else { } else {
this.msg.StartTime = ''; this.msg.StartTime = "";
this.msg.EndTime = ''; this.msg.EndTime = "";
} }
GetEducationReceiptPage(this.msg).then(res => { GetEducationReceiptPage(this.msg)
.then((res) => {
this.loading = false; this.loading = false;
this.data = res.Data.PageData; this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount; this.pageCount = res.Data.PageCount;
}).catch(() => {
this.loading = false;
}) })
.catch(() => {
this.loading = false;
});
}, },
//刷新页面 //刷新页面
refreshPage() { refreshPage() {
...@@ -344,11 +483,13 @@ ...@@ -344,11 +483,13 @@
}, },
//获取下拉数据 //获取下拉数据
getEducationType() { getEducationType() {
GetEducationReceiptType().then(res => { GetEducationReceiptType()
.then((res) => {
if (res.Code == 1) { if (res.Code == 1) {
this.OrderTypeList = res.Data; this.OrderTypeList = res.Data;
} }
}).catch(() => {}) })
.catch(() => {});
}, },
//作废 //作废
invalidBillForm(item) { invalidBillForm(item) {
...@@ -357,48 +498,47 @@ ...@@ -357,48 +498,47 @@
}; };
var message = "是否要作废此单据?"; var message = "是否要作废此单据?";
this.$q.dialog({ this.$q
title: '提示信息', .dialog({
title: "提示信息",
message: message, message: message,
cancel: true, cancel: true,
persistent: true, persistent: true,
ok: "确定", ok: "确定",
cancel: "取消", cancel: "取消",
}).onOk(() => { })
invalidReceiptInfo(delMsg).then(res => { .onOk(() => {
invalidReceiptInfo(delMsg).then((res) => {
if (res.Code == 1) { if (res.Code == 1) {
this.$q.notify({ this.$q.notify({
icon: 'iconfont icon-chenggong', icon: "iconfont icon-chenggong",
color: 'accent', color: "accent",
timeout: 2000, timeout: 2000,
message: '删除成功!', message: "删除成功!",
position: 'top' position: "top",
}) });
this.refreshPage(); this.refreshPage();
} else { } else {
this.$q.notify({ this.$q.notify({
icon: 'iconfont icon-chenggong', icon: "iconfont icon-chenggong",
color: 'accent', color: "accent",
timeout: 2000, timeout: 2000,
message: res.Message, message: res.Message,
position: 'top' position: "top",
})
}
})
}).onCancel(() => {
}); });
} }
});
})
.onCancel(() => {});
},
}, },
watch: { watch: {
tabCheck: function (val) { tabCheck: function (val) {
this.resetSearch(); this.resetSearch();
} },
} },
} };
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </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