|
@@ -0,0 +1,200 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <el-form :inline="true"
|
|
|
+ class="searchForm"
|
|
|
+ v-model="searchForm">
|
|
|
+ <el-form-item>
|
|
|
+ <el-date-picker v-model="searchForm.date"
|
|
|
+ style='width:400;'
|
|
|
+ type="daterange"
|
|
|
+ align="right"
|
|
|
+ unlink-panels
|
|
|
+ range-separator="-"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ :picker-options="pickerOptions">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <!-- 查询列表 -->
|
|
|
+ <div class="searchWrap">
|
|
|
+ <p>查询条件:</p>
|
|
|
+ <div class="searchItem"
|
|
|
+ @click="closeSearch(item)"
|
|
|
+ v-for="(item,index) in searchLsit">
|
|
|
+ {{ item.key }}
|
|
|
+ <i class="el-icon-close"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 列表 -->
|
|
|
+ <div class="tableWrap">
|
|
|
+ <el-table :data='tableList'>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="班级名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="课程类型">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="当前课次">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="指导老师">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="老师课酬">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="课时补贴">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="操作">
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ </el-table>
|
|
|
+ <pagination :total="rules.total"
|
|
|
+ :page.sync="rules.page"
|
|
|
+ :limit.sync="rules.limit"
|
|
|
+ :page-sizes="rules.page_size"
|
|
|
+ @pagination="getList" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import pagination from '@/components/Pagination/index'
|
|
|
+export default {
|
|
|
+ name: 'salaryList',
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ searchForm: {
|
|
|
+ date: '' // 时间选择器返回的值
|
|
|
+ },
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick (picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick (picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick (picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ }, // 时间选择器默认选项
|
|
|
+ tableList: [], // table列表
|
|
|
+ rules: {
|
|
|
+ // 分页规则
|
|
|
+ limit: 10, // 限制显示条数
|
|
|
+ page: 1, // 当前页
|
|
|
+ total: 0, // 总条数
|
|
|
+ page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
+ },
|
|
|
+ searchLsit: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ pagination
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getList () { },
|
|
|
+ setSearchList (obj) {
|
|
|
+ //
|
|
|
+ // 没有相同的key=>添加这个对象
|
|
|
+ // 有相同的key => 替换这个对象
|
|
|
+ if (obj.type == 1) {
|
|
|
+ let flag = false;
|
|
|
+ this.searchLsit = this.searchLsit.map(item => {
|
|
|
+ if (item.id == obj.id) {
|
|
|
+ item = obj;
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+ if (!flag) {
|
|
|
+ this.searchLsit.push(obj)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let flag = false;
|
|
|
+ this.searchLsit = this.searchLsit.map(item => {
|
|
|
+ if (item.key == obj.key) {
|
|
|
+ // 多选框的再次点击=> 等于 就是删除
|
|
|
+ item = obj;
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+ if (!flag) {
|
|
|
+ this.searchLsit.push(obj)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ closeSearch (item) {
|
|
|
+ // 1.删除search里的元素
|
|
|
+ if (item.type == 1) {
|
|
|
+ for (let some in this.searchLsit) {
|
|
|
+ if (this.searchLsit[some].id == item.id) {
|
|
|
+ this.searchLsit.splice(some, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 2.清空对应元素所对应的的值
|
|
|
+ this.searchForm[item.id] = '';
|
|
|
+ } else {
|
|
|
+ for (let i = 0; i < this.searchForm[item.id].length; i++) {
|
|
|
+ if (this.searchForm[item.id][i] == item.value) {
|
|
|
+ this.searchForm[item.id].splice(i, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 处理search
|
|
|
+ for (let some in this.searchLsit) {
|
|
|
+ if (this.searchLsit[some].value == item.value && this.searchLsit[some].id == item.id) {
|
|
|
+ this.searchLsit.splice(some, 1);
|
|
|
+ }
|
|
|
+ // id: 'school', key: this.schools[item].text, value: val, type: 1
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ searchDate (val) {
|
|
|
+ if (val != '') {
|
|
|
+ this.setSearchList({ id: 'date', key: val, value: val, type: 1 })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ searchDate () {
|
|
|
+ if (this.searchForm.date) {
|
|
|
+ return this.searchForm.date[0] + ' 至 ' + this.searchForm.date[1]
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scope>
|
|
|
+</style>
|