|
@@ -2,252 +2,342 @@
|
|
<template>
|
|
<template>
|
|
<div class="m-container">
|
|
<div class="m-container">
|
|
<h2>
|
|
<h2>
|
|
- <div class="squrt"></div>课酬确认
|
|
|
|
|
|
+ <div class="squrt"></div>
|
|
|
|
+ 课酬确认
|
|
</h2>
|
|
</h2>
|
|
<div class="m-core">
|
|
<div class="m-core">
|
|
- <div @click="openSalary"
|
|
|
|
- v-if="isOpen == 0"
|
|
|
|
- v-permission="'courseScheduleTeacherSalary/openSalaryConfirm'"
|
|
|
|
- class="newBand">开启课酬确认</div>
|
|
|
|
- <div v-if="isOpen == 1"
|
|
|
|
- @click="closeSalary"
|
|
|
|
- v-permission="'courseScheduleTeacherSalary/closeSalaryConfirm'"
|
|
|
|
- class="newBand">关闭课酬确认</div>
|
|
|
|
- <el-form :inline="true"
|
|
|
|
- :model="searchForm">
|
|
|
|
|
|
+ <div
|
|
|
|
+ @click="openSalary"
|
|
|
|
+ v-if="isOpen == 0"
|
|
|
|
+ v-permission="'courseScheduleTeacherSalary/openSalaryConfirm'"
|
|
|
|
+ class="newBand"
|
|
|
|
+ >
|
|
|
|
+ 开启课酬确认
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="isOpen == 1"
|
|
|
|
+ @click="closeSalary"
|
|
|
|
+ v-permission="'courseScheduleTeacherSalary/closeSalaryConfirm'"
|
|
|
|
+ class="newBand"
|
|
|
|
+ >
|
|
|
|
+ 关闭课酬确认
|
|
|
|
+ </div>
|
|
|
|
+ <save-form
|
|
|
|
+ :inline="true"
|
|
|
|
+ @submit="search"
|
|
|
|
+ @reset="onReset"
|
|
|
|
+ :model="searchForm"
|
|
|
|
+ >
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-input v-model.trim="searchForm.search"
|
|
|
|
- @keyup.enter.native="search"
|
|
|
|
- placeholder="课程编号、课程组名称"></el-input>
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ v-model.trim="searchForm.search"
|
|
|
|
+ @keyup.enter.native="search"
|
|
|
|
+ placeholder="课程编号、课程组名称"
|
|
|
|
+ ></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item prop="organId">
|
|
<el-form-item prop="organId">
|
|
- <el-select class="multiple"
|
|
|
|
- v-model.trim="searchForm.organIdList"
|
|
|
|
- filterable
|
|
|
|
- clearable
|
|
|
|
- placeholder="请选择分部">
|
|
|
|
- <el-option v-for="(item,index) in organList"
|
|
|
|
- :key="index"
|
|
|
|
- :label="item.name"
|
|
|
|
- :value="item.id"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ class="multiple"
|
|
|
|
+ v-model.trim="searchForm.organIdList"
|
|
|
|
+ filterable
|
|
|
|
+ clearable
|
|
|
|
+ placeholder="请选择分部"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(item, index) in organList"
|
|
|
|
+ :key="index"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item prop="organId">
|
|
<el-form-item prop="organId">
|
|
- <el-select class="multiple"
|
|
|
|
- v-model.trim="searchForm.groupType"
|
|
|
|
- filterable
|
|
|
|
- clearable
|
|
|
|
- placeholder="请选择课程组类型">
|
|
|
|
- <el-option v-for="(item,index) in groupTypeList"
|
|
|
|
- :key="index"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ class="multiple"
|
|
|
|
+ v-model.trim="searchForm.groupType"
|
|
|
|
+ filterable
|
|
|
|
+ clearable
|
|
|
|
+ placeholder="请选择课程组类型"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(item, index) in groupTypeList"
|
|
|
|
+ :key="index"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-select placeholder="老师姓名"
|
|
|
|
- v-model="searchForm.teacherId"
|
|
|
|
- clearable
|
|
|
|
- filterable>
|
|
|
|
- <el-option v-for="(item,index) in teacherList"
|
|
|
|
- :label="item.realName"
|
|
|
|
- :value="item.id"
|
|
|
|
- :key="index"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ placeholder="老师姓名"
|
|
|
|
+ v-model="searchForm.teacherId"
|
|
|
|
+ clearable
|
|
|
|
+ filterable
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(item, index) in teacherList"
|
|
|
|
+ :label="item.realName"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ :key="index"
|
|
|
|
+ ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-select placeholder="正常签到"
|
|
|
|
- v-model="searchForm.signInStatus"
|
|
|
|
- clearable>
|
|
|
|
- <el-option label="是"
|
|
|
|
- value="1"></el-option>
|
|
|
|
- <el-option label="否"
|
|
|
|
- value="0"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ placeholder="正常签到"
|
|
|
|
+ v-model="searchForm.signInStatus"
|
|
|
|
+ clearable
|
|
|
|
+ >
|
|
|
|
+ <el-option label="是" value="1"></el-option>
|
|
|
|
+ <el-option label="否" value="0"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-select placeholder="正常签退"
|
|
|
|
- v-model="searchForm.signOutStatus"
|
|
|
|
- clearable>
|
|
|
|
- <el-option label="是"
|
|
|
|
- value="1"></el-option>
|
|
|
|
- <el-option label="否"
|
|
|
|
- value="0"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ placeholder="正常签退"
|
|
|
|
+ v-model="searchForm.signOutStatus"
|
|
|
|
+ clearable
|
|
|
|
+ >
|
|
|
|
+ <el-option label="是" value="1"></el-option>
|
|
|
|
+ <el-option label="否" value="0"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-select placeholder="状态"
|
|
|
|
- v-model="searchForm.confirmStatus"
|
|
|
|
- clearable>
|
|
|
|
- <el-option label="待确定"
|
|
|
|
- value="1"></el-option>
|
|
|
|
- <el-option label="已确定"
|
|
|
|
- value="2"></el-option>
|
|
|
|
- <el-option label="已完成"
|
|
|
|
- value="3"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ placeholder="状态"
|
|
|
|
+ v-model="searchForm.confirmStatus"
|
|
|
|
+ clearable
|
|
|
|
+ >
|
|
|
|
+ <el-option label="待确定" value="1"></el-option>
|
|
|
|
+ <el-option label="已确定" value="2"></el-option>
|
|
|
|
+ <el-option label="已完成" value="3"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-date-picker :clearable="false"
|
|
|
|
- v-model="searchForm.month"
|
|
|
|
- type="month"
|
|
|
|
- value-format="yyyy-MM"
|
|
|
|
- placeholder="选择年月"></el-date-picker>
|
|
|
|
|
|
+ <el-date-picker
|
|
|
|
+ :clearable="false"
|
|
|
|
+ v-model="searchForm.month"
|
|
|
|
+ type="month"
|
|
|
|
+ value-format="yyyy-MM"
|
|
|
|
+ placeholder="选择年月"
|
|
|
|
+ ></el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="danger"
|
|
|
|
- @click="search">搜索</el-button>
|
|
|
|
- <el-button @click="onReSet"
|
|
|
|
- type="primary">重置</el-button>
|
|
|
|
|
|
+ <el-button type="danger" native-type="submit" >搜索</el-button>
|
|
|
|
+ <el-button native-type="reset" type="primary">重置</el-button>
|
|
<!-- export/isSettlementCourseSalarys -->
|
|
<!-- export/isSettlementCourseSalarys -->
|
|
- <el-button @click="onExport"
|
|
|
|
- type="primary"
|
|
|
|
- v-permission="'export/exercisesSituations'"
|
|
|
|
- style=" background: #14928a; border:1px solid #14928a;">导出</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ @click="onExport"
|
|
|
|
+ type="primary"
|
|
|
|
+ v-permission="'export/exercisesSituations'"
|
|
|
|
+ style="background: #14928a; border: 1px solid #14928a"
|
|
|
|
+ >导出</el-button
|
|
|
|
+ >
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- </el-form>
|
|
|
|
|
|
+ </save-form>
|
|
<div class="tableWrap">
|
|
<div class="tableWrap">
|
|
- <el-table style="width: 100%"
|
|
|
|
- :header-cell-style="{background:'#EDEEF0',color:'#444'}"
|
|
|
|
- :data="tableList">
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- prop="organName"
|
|
|
|
- label="分部"></el-table-column>
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- prop="groupType"
|
|
|
|
- width="100"
|
|
|
|
- label="课程组类型">
|
|
|
|
- <template slot-scope="scope">{{scope.row.groupType | coursesType}}</template>
|
|
|
|
|
|
+ <el-table
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
|
+ :data="tableList"
|
|
|
|
+ >
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="organName"
|
|
|
|
+ label="分部"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="groupType"
|
|
|
|
+ width="100"
|
|
|
|
+ label="课程组类型"
|
|
|
|
+ >
|
|
|
|
+ <template slot-scope="scope">{{
|
|
|
|
+ scope.row.groupType | coursesType
|
|
|
|
+ }}</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop="courseScheduleId"
|
|
|
|
- label="课程编号"></el-table-column>
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- prop="courseScheduleId"
|
|
|
|
- width="150"
|
|
|
|
- label="时间">
|
|
|
|
- <template slot-scope="scope">{{scope.row.startClassTime | dateForMinFormat}}</template>
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="courseScheduleId"
|
|
|
|
+ label="课程编号"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="courseScheduleId"
|
|
|
|
+ width="150"
|
|
|
|
+ label="时间"
|
|
|
|
+ >
|
|
|
|
+ <template slot-scope="scope">{{
|
|
|
|
+ scope.row.startClassTime | dateForMinFormat
|
|
|
|
+ }}</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop="courseName"
|
|
|
|
- width="120"
|
|
|
|
- label="课程名称"></el-table-column>
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- prop="teacherId"
|
|
|
|
- label="老师编号"></el-table-column>
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- prop="teacherName"
|
|
|
|
- label="老师姓名"></el-table-column>
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- prop="courseScheduleId"
|
|
|
|
- width="150"
|
|
|
|
- label="签到时间">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="courseName"
|
|
|
|
+ width="120"
|
|
|
|
+ label="课程名称"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="teacherId"
|
|
|
|
+ label="老师编号"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="teacherName"
|
|
|
|
+ label="老师姓名"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="courseScheduleId"
|
|
|
|
+ width="150"
|
|
|
|
+ label="签到时间"
|
|
|
|
+ >
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <p :class="scope.row.signInStatus == 1?'':'red'">{{scope.row.signInTime | dateForMinFormat}}</p>
|
|
|
|
- <p :class="scope.row.signInStatus == 1?'':'red'">{{scope.row.signInStatus | attendanceType }}</p>
|
|
|
|
- <p class="red"
|
|
|
|
- v-if="!scope.row.signInStatus&&scope.row.signInStatus!=0">未签到</p>
|
|
|
|
|
|
+ <p :class="scope.row.signInStatus == 1 ? '' : 'red'">
|
|
|
|
+ {{ scope.row.signInTime | dateForMinFormat }}
|
|
|
|
+ </p>
|
|
|
|
+ <p :class="scope.row.signInStatus == 1 ? '' : 'red'">
|
|
|
|
+ {{ scope.row.signInStatus | attendanceType }}
|
|
|
|
+ </p>
|
|
|
|
+ <p
|
|
|
|
+ class="red"
|
|
|
|
+ v-if="!scope.row.signInStatus && scope.row.signInStatus != 0"
|
|
|
|
+ >
|
|
|
|
+ 未签到
|
|
|
|
+ </p>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop="courseScheduleId"
|
|
|
|
- width="150"
|
|
|
|
- label="签退时间">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="courseScheduleId"
|
|
|
|
+ width="150"
|
|
|
|
+ label="签退时间"
|
|
|
|
+ >
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <p :class="scope.row.signOutStatus == 1?'':'red'">{{scope.row.signOutTime | dateForMinFormat}}</p>
|
|
|
|
- <p :class="scope.row.signOutStatus == 1?'':'red'">{{scope.row.signOutStatus | attendanceOutType}}</p>
|
|
|
|
- <p class="red"
|
|
|
|
- v-if="!scope.row.signOutStatus&&scope.row.signOutStatus!=0">未签退</p>
|
|
|
|
|
|
+ <p :class="scope.row.signOutStatus == 1 ? '' : 'red'">
|
|
|
|
+ {{ scope.row.signOutTime | dateForMinFormat }}
|
|
|
|
+ </p>
|
|
|
|
+ <p :class="scope.row.signOutStatus == 1 ? '' : 'red'">
|
|
|
|
+ {{ scope.row.signOutStatus | attendanceOutType }}
|
|
|
|
+ </p>
|
|
|
|
+ <p
|
|
|
|
+ class="red"
|
|
|
|
+ v-if="!scope.row.signOutStatus && scope.row.signOutStatus != 0"
|
|
|
|
+ >
|
|
|
|
+ 未签退
|
|
|
|
+ </p>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<!-- <el-table-column align="center" prop="actualReceipts" label="实际收款">
|
|
<!-- <el-table-column align="center" prop="actualReceipts" label="实际收款">
|
|
<template slot-scope="scope">{{(scope.row.actualReceipts ? scope.row.actualReceipts : 0) + '元'}}</template>
|
|
<template slot-scope="scope">{{(scope.row.actualReceipts ? scope.row.actualReceipts : 0) + '元'}}</template>
|
|
</el-table-column> -->
|
|
</el-table-column> -->
|
|
<!-- expectSalary -->
|
|
<!-- expectSalary -->
|
|
- <el-table-column align="center"
|
|
|
|
- prop="actualSalary"
|
|
|
|
- label="应发课酬">
|
|
|
|
- <template slot-scope="scope">{{(scope.row.actualSalary) |moneyFormat }}元</template>
|
|
|
|
|
|
+ <el-table-column align="center" prop="actualSalary" label="应发课酬">
|
|
|
|
+ <template slot-scope="scope"
|
|
|
|
+ >{{ scope.row.actualSalary | moneyFormat }}元</template
|
|
|
|
+ >
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop="reduceSalary"
|
|
|
|
- label="课酬扣款">
|
|
|
|
- <template slot-scope="scope">{{(scope.row.reduceSalary) | moneyFormat}}元</template>
|
|
|
|
|
|
+ <el-table-column align="center" prop="reduceSalary" label="课酬扣款">
|
|
|
|
+ <template slot-scope="scope"
|
|
|
|
+ >{{ scope.row.reduceSalary | moneyFormat }}元</template
|
|
|
|
+ >
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop="finalSalary"
|
|
|
|
- label="结算课酬">
|
|
|
|
- <template slot-scope="scope">{{(scope.row.finalSalary) | moneyFormat}}元</template>
|
|
|
|
|
|
+ <el-table-column align="center" prop="finalSalary" label="结算课酬">
|
|
|
|
+ <template slot-scope="scope"
|
|
|
|
+ >{{ scope.row.finalSalary | moneyFormat }}元</template
|
|
|
|
+ >
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop
|
|
|
|
- label="状态"
|
|
|
|
- fixed="right">
|
|
|
|
- <template slot-scope="scope">{{scope.row.confirmStatus | confirmFilter }}</template>
|
|
|
|
|
|
+ <el-table-column align="center" prop label="状态" fixed="right">
|
|
|
|
+ <template slot-scope="scope">{{
|
|
|
|
+ scope.row.confirmStatus | confirmFilter
|
|
|
|
+ }}</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center"
|
|
|
|
- prop="memo"
|
|
|
|
- label="备注"
|
|
|
|
- width="300"
|
|
|
|
- fixed="right"></el-table-column>
|
|
|
|
- <el-table-column align="center"
|
|
|
|
- label="操作"
|
|
|
|
- fixed="right">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="memo"
|
|
|
|
+ label="备注"
|
|
|
|
+ width="300"
|
|
|
|
+ fixed="right"
|
|
|
|
+ ></el-table-column>
|
|
|
|
+ <el-table-column align="center" label="操作" fixed="right">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button type="text"
|
|
|
|
- @click="resetSalary(scope.row)">课酬调整</el-button>
|
|
|
|
|
|
+ <el-button type="text" @click="resetSalary(scope.row)"
|
|
|
|
+ >课酬调整</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- <pagination :total="rules.total"
|
|
|
|
- :page.sync="rules.page"
|
|
|
|
- :limit.sync="rules.limit"
|
|
|
|
- :page-sizes="rules.page_size"
|
|
|
|
- @pagination="getList" />
|
|
|
|
|
|
+ <pagination
|
|
|
|
+ :total="rules.total"
|
|
|
|
+ :page.sync="rules.page"
|
|
|
|
+ :limit.sync="rules.limit"
|
|
|
|
+ :page-sizes="rules.page_size"
|
|
|
|
+ @pagination="getList"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <el-dialog title="课酬调整"
|
|
|
|
- :visible.sync="dialogVisible"
|
|
|
|
- width="400px">
|
|
|
|
|
|
+ <el-dialog title="课酬调整" :visible.sync="dialogVisible" width="400px">
|
|
<div>
|
|
<div>
|
|
- <el-form ref="visibleForm"
|
|
|
|
- :model="visibleForm"
|
|
|
|
- class="visibleForm"
|
|
|
|
- :inline="true"
|
|
|
|
- label-width="60px">
|
|
|
|
- <el-form-item label="应发"
|
|
|
|
- :rules="[{ required: true, message: '请填写应发数',trigger: 'blur'}]"
|
|
|
|
- prop="actualSalary">
|
|
|
|
- <el-input v-model.trim="visibleForm.actualSalary"
|
|
|
|
- type="number"
|
|
|
|
- @mousewheel.native.prevent></el-input>
|
|
|
|
|
|
+ <el-form
|
|
|
|
+ ref="visibleForm"
|
|
|
|
+ :model="visibleForm"
|
|
|
|
+ class="visibleForm"
|
|
|
|
+ :inline="true"
|
|
|
|
+ label-width="60px"
|
|
|
|
+ >
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="应发"
|
|
|
|
+ :rules="[
|
|
|
|
+ { required: true, message: '请填写应发数', trigger: 'blur' },
|
|
|
|
+ ]"
|
|
|
|
+ prop="actualSalary"
|
|
|
|
+ >
|
|
|
|
+ <el-input
|
|
|
|
+ v-model.trim="visibleForm.actualSalary"
|
|
|
|
+ type="number"
|
|
|
|
+ @mousewheel.native.prevent
|
|
|
|
+ ></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="扣款"
|
|
|
|
- :rules="[{ required: true, message: '请填写扣款数',trigger: 'blur'}]"
|
|
|
|
- prop="reduceSalary">
|
|
|
|
- <el-input v-model.trim="visibleForm.reduceSalary"
|
|
|
|
- type="number"
|
|
|
|
- @mousewheel.native.prevent></el-input>
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="扣款"
|
|
|
|
+ :rules="[
|
|
|
|
+ { required: true, message: '请填写扣款数', trigger: 'blur' },
|
|
|
|
+ ]"
|
|
|
|
+ prop="reduceSalary"
|
|
|
|
+ >
|
|
|
|
+ <el-input
|
|
|
|
+ v-model.trim="visibleForm.reduceSalary"
|
|
|
|
+ type="number"
|
|
|
|
+ @mousewheel.native.prevent
|
|
|
|
+ ></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="实发">
|
|
<el-form-item label="实发">
|
|
- <el-input v-model.trim="visibleForm.finalSalary"
|
|
|
|
- disabled
|
|
|
|
- type="number"
|
|
|
|
- @mousewheel.native.prevent></el-input>
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ v-model.trim="visibleForm.finalSalary"
|
|
|
|
+ disabled
|
|
|
|
+ type="number"
|
|
|
|
+ @mousewheel.native.prevent
|
|
|
|
+ ></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="说明"
|
|
|
|
- :rules="[{ required: true, message: '请填写说明',trigger: 'blur'}]"
|
|
|
|
- prop="memo">
|
|
|
|
- <el-input type="textarea"
|
|
|
|
- :rows="5"
|
|
|
|
- v-model.trim="visibleForm.memo"></el-input>
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="说明"
|
|
|
|
+ :rules="[
|
|
|
|
+ { required: true, message: '请填写说明', trigger: 'blur' },
|
|
|
|
+ ]"
|
|
|
|
+ prop="memo"
|
|
|
|
+ >
|
|
|
|
+ <el-input
|
|
|
|
+ type="textarea"
|
|
|
|
+ :rows="5"
|
|
|
|
+ v-model.trim="visibleForm.memo"
|
|
|
|
+ ></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div slot="footer">
|
|
<div slot="footer">
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
- <el-button type="primary"
|
|
|
|
- @click="subreset">确 定</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="subreset">确 定</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
@@ -263,12 +353,12 @@ import {
|
|
findIsSettlementCourseSalarys,
|
|
findIsSettlementCourseSalarys,
|
|
openSalaryConfirm,
|
|
openSalaryConfirm,
|
|
closeSalaryConfirm,
|
|
closeSalaryConfirm,
|
|
- teacherSalaryModifyLog
|
|
|
|
|
|
+ teacherSalaryModifyLog,
|
|
} from "@/api/journal";
|
|
} from "@/api/journal";
|
|
import { courseListType } from "@/utils/searchArray";
|
|
import { courseListType } from "@/utils/searchArray";
|
|
export default {
|
|
export default {
|
|
components: { pagination },
|
|
components: { pagination },
|
|
- data () {
|
|
|
|
|
|
+ data() {
|
|
return {
|
|
return {
|
|
searchForm: {
|
|
searchForm: {
|
|
search: null,
|
|
search: null,
|
|
@@ -278,7 +368,7 @@ export default {
|
|
signInStatus: null,
|
|
signInStatus: null,
|
|
signOutStatus: null,
|
|
signOutStatus: null,
|
|
month: null,
|
|
month: null,
|
|
- confirmStatus: null
|
|
|
|
|
|
+ confirmStatus: null,
|
|
},
|
|
},
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
visibleForm: {
|
|
visibleForm: {
|
|
@@ -287,7 +377,7 @@ export default {
|
|
actualSalary: null,
|
|
actualSalary: null,
|
|
courseScheduleId: null,
|
|
courseScheduleId: null,
|
|
teacherId: null,
|
|
teacherId: null,
|
|
- memo: null
|
|
|
|
|
|
+ memo: null,
|
|
},
|
|
},
|
|
isOpen: null,
|
|
isOpen: null,
|
|
activeRow: null,
|
|
activeRow: null,
|
|
@@ -300,20 +390,20 @@ export default {
|
|
limit: 10, // 限制显示条数
|
|
limit: 10, // 限制显示条数
|
|
page: 1, // 当前页
|
|
page: 1, // 当前页
|
|
total: 0, // 总条数
|
|
total: 0, // 总条数
|
|
- page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
|
- }
|
|
|
|
|
|
+ page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
|
+ },
|
|
};
|
|
};
|
|
},
|
|
},
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
- created () { },
|
|
|
|
|
|
+ created() {},
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
- mounted () {
|
|
|
|
- getTeacher().then(res => {
|
|
|
|
|
|
+ mounted() {
|
|
|
|
+ getTeacher().then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.teacherList = res.data;
|
|
this.teacherList = res.data;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- getEmployeeOrgan().then(res => {
|
|
|
|
|
|
+ getEmployeeOrgan().then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.organList = res.data;
|
|
this.organList = res.data;
|
|
}
|
|
}
|
|
@@ -321,11 +411,11 @@ export default {
|
|
// 获取分部
|
|
// 获取分部
|
|
this.init();
|
|
this.init();
|
|
},
|
|
},
|
|
- activated () {
|
|
|
|
|
|
+ activated() {
|
|
this.init();
|
|
this.init();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- init () {
|
|
|
|
|
|
+ init() {
|
|
if (!this.searchForm.month) {
|
|
if (!this.searchForm.month) {
|
|
var now = new Date();
|
|
var now = new Date();
|
|
this.searchForm.month = new Date(
|
|
this.searchForm.month = new Date(
|
|
@@ -337,9 +427,9 @@ export default {
|
|
|
|
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
- getList () {
|
|
|
|
|
|
+ getList() {
|
|
let obj = this.getDate();
|
|
let obj = this.getDate();
|
|
- findIsSettlementCourseSalarys(obj).then(res => {
|
|
|
|
|
|
+ findIsSettlementCourseSalarys(obj).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.isOpen = res.data.isOpenConfirm;
|
|
this.isOpen = res.data.isOpenConfirm;
|
|
this.tableList = res.data.pageInfo.rows;
|
|
this.tableList = res.data.pageInfo.rows;
|
|
@@ -347,11 +437,11 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- search () {
|
|
|
|
|
|
+ search() {
|
|
this.rules.page = 1;
|
|
this.rules.page = 1;
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
- onReSet () {
|
|
|
|
|
|
+ onReSet() {
|
|
this.searchForm = {
|
|
this.searchForm = {
|
|
search: null,
|
|
search: null,
|
|
organIdList: null,
|
|
organIdList: null,
|
|
@@ -360,11 +450,11 @@ export default {
|
|
signInStatus: null,
|
|
signInStatus: null,
|
|
signOutStatus: null,
|
|
signOutStatus: null,
|
|
month: null,
|
|
month: null,
|
|
- confirmStatus: null
|
|
|
|
|
|
+ confirmStatus: null,
|
|
};
|
|
};
|
|
this.search();
|
|
this.search();
|
|
},
|
|
},
|
|
- getDate () {
|
|
|
|
|
|
+ getDate() {
|
|
let obj = {
|
|
let obj = {
|
|
search: this.searchForm.search,
|
|
search: this.searchForm.search,
|
|
organIdList: this.searchForm.organIdList || null,
|
|
organIdList: this.searchForm.organIdList || null,
|
|
@@ -375,17 +465,17 @@ export default {
|
|
month: this.searchForm.month || null,
|
|
month: this.searchForm.month || null,
|
|
confirmStatus: this.searchForm.confirmStatus || null,
|
|
confirmStatus: this.searchForm.confirmStatus || null,
|
|
page: this.rules.page,
|
|
page: this.rules.page,
|
|
- rows: this.rules.limit
|
|
|
|
|
|
+ rows: this.rules.limit,
|
|
};
|
|
};
|
|
return obj;
|
|
return obj;
|
|
},
|
|
},
|
|
- openSalary () {
|
|
|
|
|
|
+ openSalary() {
|
|
this.$confirm("您确定开启课酬确认?", "提示", {
|
|
this.$confirm("您确定开启课酬确认?", "提示", {
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
- type: "warning"
|
|
|
|
|
|
+ type: "warning",
|
|
}).then(() => {
|
|
}).then(() => {
|
|
- openSalaryConfirm({ month: this.searchForm.month }).then(res => {
|
|
|
|
|
|
+ openSalaryConfirm({ month: this.searchForm.month }).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.$message.success("开启成功");
|
|
this.$message.success("开启成功");
|
|
this.getList();
|
|
this.getList();
|
|
@@ -393,13 +483,13 @@ export default {
|
|
});
|
|
});
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- closeSalary () {
|
|
|
|
|
|
+ closeSalary() {
|
|
this.$confirm("您确定关闭课酬确认?", "提示", {
|
|
this.$confirm("您确定关闭课酬确认?", "提示", {
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
- type: "warning"
|
|
|
|
|
|
+ type: "warning",
|
|
}).then(() => {
|
|
}).then(() => {
|
|
- closeSalaryConfirm({ month: this.searchForm.month }).then(res => {
|
|
|
|
|
|
+ closeSalaryConfirm({ month: this.searchForm.month }).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.$message.success("关闭成功");
|
|
this.$message.success("关闭成功");
|
|
this.getList();
|
|
this.getList();
|
|
@@ -407,35 +497,35 @@ export default {
|
|
});
|
|
});
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- onExport () {
|
|
|
|
|
|
+ onExport() {
|
|
let url = "/api-web/export/isSettlementCourseSalarys";
|
|
let url = "/api-web/export/isSettlementCourseSalarys";
|
|
let obj = this.getDate();
|
|
let obj = this.getDate();
|
|
const options = {
|
|
const options = {
|
|
method: "get",
|
|
method: "get",
|
|
headers: {
|
|
headers: {
|
|
- Authorization: getToken()
|
|
|
|
|
|
+ Authorization: getToken(),
|
|
},
|
|
},
|
|
url,
|
|
url,
|
|
params: obj,
|
|
params: obj,
|
|
- responseType: "blob"
|
|
|
|
|
|
+ responseType: "blob",
|
|
};
|
|
};
|
|
|
|
|
|
this.$confirm("您确定导出列表?", "提示", {
|
|
this.$confirm("您确定导出列表?", "提示", {
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
- type: "warning"
|
|
|
|
|
|
+ type: "warning",
|
|
})
|
|
})
|
|
.then(() => {
|
|
.then(() => {
|
|
load.startLoading();
|
|
load.startLoading();
|
|
axios(options)
|
|
axios(options)
|
|
- .then(res => {
|
|
|
|
|
|
+ .then((res) => {
|
|
let blob = new Blob([res.data], {
|
|
let blob = new Blob([res.data], {
|
|
// type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
|
|
// type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
|
|
- type: "application/vnd.ms-excel;charset=utf-8"
|
|
|
|
|
|
+ type: "application/vnd.ms-excel;charset=utf-8",
|
|
// word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
|
|
// word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
|
|
});
|
|
});
|
|
let text = new Response(blob).text();
|
|
let text = new Response(blob).text();
|
|
- text.then(res => {
|
|
|
|
|
|
+ text.then((res) => {
|
|
// 判断是否报错
|
|
// 判断是否报错
|
|
if (res.indexOf("code") != -1) {
|
|
if (res.indexOf("code") != -1) {
|
|
let json = JSON.parse(res);
|
|
let json = JSON.parse(res);
|
|
@@ -464,37 +554,37 @@ export default {
|
|
|
|
|
|
load.endLoading();
|
|
load.endLoading();
|
|
})
|
|
})
|
|
- .catch(error => {
|
|
|
|
|
|
+ .catch((error) => {
|
|
this.$message.error("导出数据失败,请联系管理员");
|
|
this.$message.error("导出数据失败,请联系管理员");
|
|
load.endLoading();
|
|
load.endLoading();
|
|
});
|
|
});
|
|
})
|
|
})
|
|
- .catch(() => { });
|
|
|
|
|
|
+ .catch(() => {});
|
|
},
|
|
},
|
|
- resetSalary (row) {
|
|
|
|
|
|
+ resetSalary(row) {
|
|
let obj = {
|
|
let obj = {
|
|
finalSalary: row.finalSalary, // 实发
|
|
finalSalary: row.finalSalary, // 实发
|
|
reduceSalary: row.reduceSalary, // 扣款
|
|
reduceSalary: row.reduceSalary, // 扣款
|
|
actualSalary: row.actualSalary, // 应发
|
|
actualSalary: row.actualSalary, // 应发
|
|
courseScheduleId: row.courseScheduleId,
|
|
courseScheduleId: row.courseScheduleId,
|
|
memo: row.memo,
|
|
memo: row.memo,
|
|
- teacherId: row.teacherId
|
|
|
|
|
|
+ teacherId: row.teacherId,
|
|
};
|
|
};
|
|
- this.$set(this, 'visibleForm', obj)
|
|
|
|
- console.log(this.visibleForm.finalSalary)
|
|
|
|
|
|
+ this.$set(this, "visibleForm", obj);
|
|
|
|
+ console.log(this.visibleForm.finalSalary);
|
|
this.dialogVisible = true;
|
|
this.dialogVisible = true;
|
|
},
|
|
},
|
|
- subreset () {
|
|
|
|
- this.$refs["visibleForm"].validate(flag => {
|
|
|
|
|
|
+ subreset() {
|
|
|
|
+ this.$refs["visibleForm"].validate((flag) => {
|
|
if (flag) {
|
|
if (flag) {
|
|
let obj = {
|
|
let obj = {
|
|
courseScheduleId: this.visibleForm.courseScheduleId,
|
|
courseScheduleId: this.visibleForm.courseScheduleId,
|
|
currentExpectSalary: this.visibleForm.actualSalary,
|
|
currentExpectSalary: this.visibleForm.actualSalary,
|
|
currentReduceSalary: this.visibleForm.reduceSalary,
|
|
currentReduceSalary: this.visibleForm.reduceSalary,
|
|
memo: this.visibleForm.memo,
|
|
memo: this.visibleForm.memo,
|
|
- teacherId: this.visibleForm.teacherId
|
|
|
|
|
|
+ teacherId: this.visibleForm.teacherId,
|
|
};
|
|
};
|
|
- teacherSalaryModifyLog(obj).then(res => {
|
|
|
|
|
|
+ teacherSalaryModifyLog(obj).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.dialogVisible = false;
|
|
this.dialogVisible = false;
|
|
this.$message.success("调整成功");
|
|
this.$message.success("调整成功");
|
|
@@ -503,42 +593,42 @@ export default {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- }
|
|
|
|
|
|
+ },
|
|
},
|
|
},
|
|
filters: {
|
|
filters: {
|
|
- confirmFilter (val) {
|
|
|
|
|
|
+ confirmFilter(val) {
|
|
if (val) {
|
|
if (val) {
|
|
let template = {
|
|
let template = {
|
|
1: "待确认",
|
|
1: "待确认",
|
|
2: "已确认",
|
|
2: "已确认",
|
|
- 3: "已完成"
|
|
|
|
|
|
+ 3: "已完成",
|
|
};
|
|
};
|
|
return template[val];
|
|
return template[val];
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ },
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
- getActualsalary () {
|
|
|
|
|
|
+ getActualsalary() {
|
|
// 应发
|
|
// 应发
|
|
return this.visibleForm.actualSalary;
|
|
return this.visibleForm.actualSalary;
|
|
},
|
|
},
|
|
- getReduceSalary () {
|
|
|
|
|
|
+ getReduceSalary() {
|
|
// 扣款
|
|
// 扣款
|
|
return this.visibleForm.reduceSalary;
|
|
return this.visibleForm.reduceSalary;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
- getActualsalary (val) {
|
|
|
|
|
|
+ getActualsalary(val) {
|
|
this.visibleForm.finalSalary = parseFloat(
|
|
this.visibleForm.finalSalary = parseFloat(
|
|
val - this.getReduceSalary > 0 ? val - this.getReduceSalary : 0
|
|
val - this.getReduceSalary > 0 ? val - this.getReduceSalary : 0
|
|
);
|
|
);
|
|
},
|
|
},
|
|
- getReduceSalary (val) {
|
|
|
|
|
|
+ getReduceSalary(val) {
|
|
this.visibleForm.finalSalary = parseFloat(
|
|
this.visibleForm.finalSalary = parseFloat(
|
|
this.getActualsalary - val > 0 ? this.getActualsalary - val : 0
|
|
this.getActualsalary - val > 0 ? this.getActualsalary - val : 0
|
|
);
|
|
);
|
|
},
|
|
},
|
|
- dialogVisible (val) {
|
|
|
|
|
|
+ dialogVisible(val) {
|
|
if (!val) {
|
|
if (!val) {
|
|
this.visibleForm = {
|
|
this.visibleForm = {
|
|
expectSalary: null,
|
|
expectSalary: null,
|
|
@@ -546,12 +636,12 @@ export default {
|
|
actualSalary: null,
|
|
actualSalary: null,
|
|
courseScheduleId: null,
|
|
courseScheduleId: null,
|
|
teacherId: null,
|
|
teacherId: null,
|
|
- memo: null
|
|
|
|
|
|
+ memo: null,
|
|
};
|
|
};
|
|
this.$refs["visibleForm"].resetFields();
|
|
this.$refs["visibleForm"].resetFields();
|
|
}
|
|
}
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ },
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
<style lang='scss' scoped>
|
|
<style lang='scss' scoped>
|
|
@@ -564,4 +654,4 @@ export default {
|
|
width: 225px !important;
|
|
width: 225px !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-</style>
|
|
|
|
|
|
+</style>
|