|
@@ -0,0 +1,241 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <save-form
|
|
|
+ :inline="true"
|
|
|
+ :model="searchForm"
|
|
|
+ ref="searchForm"
|
|
|
+ @submit="search"
|
|
|
+ @reset="onReSet"
|
|
|
+ saveKey="/main/main/teamSchedule"
|
|
|
+ >
|
|
|
+ <el-form-item prop="organIds">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="searchForm.organIds"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择分部"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in selects.branchs"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="timer">
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="searchForm.timer"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :picker-options="{
|
|
|
+ firstDayOfWeek: 1,
|
|
|
+ }"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button native-type="submit" type="primary">搜索</el-button>
|
|
|
+ <el-button native-type="reset" type="danger">重置</el-button>
|
|
|
+ <el-button type="primary">导出</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </save-form>
|
|
|
+ <el-table
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
+ :data="tableList"
|
|
|
+ >
|
|
|
+ <el-table-column align="center" prop="month" label="日期">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.generateTime }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="organName" label="分部">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <copy-text>{{ scope.row.organName }}</copy-text>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="userName"
|
|
|
+ label="乐团巡查事项异常剩余/总数"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.musicPatrolItemSurplus?scope.row.musicPatrolItemSurplus:'--'}} / {{ scope.row.musicPatrolItem?scope.row.musicPatrolItem:'--'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="item"
|
|
|
+ label="乐团巡查任务未提交剩余/总数"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.inspectionItemPlanSurplus?scope.row.inspectionItemPlanSurplus:'--'}} / {{ scope.row.inspectionItemPlan?scope.row.inspectionItemPlan:'--'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="times"
|
|
|
+ label="回访任务未完成剩余/总数"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.studentVisitSurplus?scope.row.studentVisitSurplus:'--'}} / {{ scope.row.studentVisit?scope.row.studentVisit:'--'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="plannedTimes"
|
|
|
+ label="课程考勤异常剩余/总数"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.teacherExceptionAttendanceSurplus?scope.row.teacherExceptionAttendanceSurplus:'--'}} / {{scope.row.teacherExceptionAttendance?scope.row.teacherExceptionAttendance:'--'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="submittedTimes"
|
|
|
+ label="课程异常剩余/总数"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div
|
|
|
+
|
|
|
+ >
|
|
|
+ {{ scope.row.teacherNotAClassSurplus?scope.row.teacherNotAClassSurplus:'-'+'/'+ scope.row.teacherNotAClass?scope.row.teacherNotAClass:'-'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ sync
|
|
|
+ :total.sync="rules.total"
|
|
|
+ save-key="teamSchedule"
|
|
|
+ :page.sync="rules.page"
|
|
|
+ :limit.sync="rules.limit"
|
|
|
+ :page-sizes="rules.page_size"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+// import { getInspectionItem, resetInspectionItem } from "../api";
|
|
|
+import { permission } from "@/utils/directivePage";
|
|
|
+import pagination from "@/components/Pagination/index";
|
|
|
+import { getIndexErrData } from "../api";
|
|
|
+import dayjs from "dayjs";
|
|
|
+import { getTimes } from "@/utils";
|
|
|
+export default {
|
|
|
+ props: ["searchType"],
|
|
|
+ components: { pagination },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ searchForm: {
|
|
|
+ organIds: "",
|
|
|
+ timer: [],
|
|
|
+ },
|
|
|
+ tableList: [],
|
|
|
+ handleVisible: false,
|
|
|
+ rules: {
|
|
|
+ // 分页规则
|
|
|
+ limit: 10, // 限制显示条数
|
|
|
+ page: 1, // 当前页
|
|
|
+ total: 0, // 总条数
|
|
|
+ page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.$store.dispatch("setBranchs");
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ permission(str) {
|
|
|
+ return permission(str);
|
|
|
+ },
|
|
|
+ onReSet() {
|
|
|
+ this.$refs.searchForm.resetFields();
|
|
|
+ this.search();
|
|
|
+ },
|
|
|
+ search() {
|
|
|
+ this.rules.page = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ async getList() {
|
|
|
+ let { timer, ...rest } = this.searchForm;
|
|
|
+ let params = {
|
|
|
+ ...rest,
|
|
|
+ page: this.rules.page,
|
|
|
+ rows: this.rules.limit,
|
|
|
+ ...getTimes(timer, ["startDate", "endDate"]),
|
|
|
+ searchType: this.searchType,
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ const res = await getIndexErrData(params);
|
|
|
+ this.tableList = res.data.rows;
|
|
|
+ this.rules.total = res.data.total;
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ resetLine(row) {
|
|
|
+ let { id, memo } = row;
|
|
|
+ this.handleForm = { id, memo };
|
|
|
+ this.handleVisible = true;
|
|
|
+ },
|
|
|
+ // async submitHandle() {
|
|
|
+ // try {
|
|
|
+ // const res = await resetInspectionItem(this.handleForm);
|
|
|
+ // this.$message.success("提交成功");
|
|
|
+ // this.getList();
|
|
|
+ // this.handleVisible = false;
|
|
|
+ // } catch (e) {
|
|
|
+ // console.log(e);
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ gotoHander(row) {
|
|
|
+ let startTime = dayjs(row.month).startOf("month").format("YYYY-MM-DD");
|
|
|
+ let endTime = dayjs(row.month).endOf("month").format("YYYY-MM-DD");
|
|
|
+ if (row.item == "VISIT") {
|
|
|
+ // 学员回访
|
|
|
+ // 跳到回访页面 搜索条件 教务老师 时间范围
|
|
|
+ this.$router.push({
|
|
|
+ path: "/studentManager/returnVisitList",
|
|
|
+ query: { teacher: row.userName, timer: [startTime, endTime] },
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 下校巡查
|
|
|
+ this.$router.push({
|
|
|
+ path: "/main/scheduleDetail",
|
|
|
+ query: {
|
|
|
+ teacher: row.userId,
|
|
|
+ startTime,
|
|
|
+ endTime,
|
|
|
+ name: row.userName,
|
|
|
+ organId: row.organId,
|
|
|
+ itemId: row.id,
|
|
|
+ times: row.times,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+</style>
|