Explorar o código

04/17 14:12

11
Xiao_Mo %!s(int64=5) %!d(string=hai) anos
pai
achega
cb038defe2

+ 36 - 0
src/api/journal.js

@@ -138,3 +138,39 @@ export function closeSalaryConfirm(data) {
     })
 }
 
+// 调整课酬
+export function teacherSalaryModifyLog(data) {
+    return request({
+        url: api + '/teacherSalaryModifyLog/add',
+        method: 'POST',
+        data: qs.stringify(data)
+    })
+}
+
+
+// 获取申述列表
+export function teacherSalaryComplaints(data) {
+    return request({
+        url: api + '/teacherSalaryComplaints/queryPage',
+        method: 'GET',
+        params: data
+    })
+}
+
+// 获取申述详情
+export function teacherSalaryComplaintsDetail(data) {
+    return request({
+        url: api + '/teacherSalaryComplaints/get',
+        method: 'GET',
+        params: data
+    })
+}
+
+// 申述处理
+export function complaintsDispose(data) {
+    return request({
+        url: api + '/teacherSalaryComplaints/complaintsDispose',
+        method: 'GET',
+        params: data
+    })
+}

+ 1 - 2
src/views/studentManager/studentList.vue

@@ -39,7 +39,7 @@
             placeholder="是否激活"
           >
             <el-option label="是" value="true"></el-option>
-            <el-option label="否" value="false"></el-option>isM
+            <el-option label="否" value="false"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item prop="hasCourse">
@@ -619,7 +619,6 @@ export default {
         serviceTag: row.serviceTag+'',
         operatingTag: row.operatingTag+''
       };
-       console.log( this.studentForm)
     },
     resetPassWrod(row) {
       this.activatedRow = row;

+ 6 - 0
src/views/teacherManager/teacherList.vue

@@ -123,6 +123,12 @@
           <el-table-column align="center" label="开放网管课">
             <template slot-scope="scope">{{ scope.row.isSupportExtraPracticeLesson ? '是' : '否' }}</template>
           </el-table-column>
+           <el-table-column align="center" label="服务指标">
+            <template slot-scope="scope">{{ scope.row.serviceIndex +'%' }}</template>
+          </el-table-column>
+           <el-table-column align="center" label="运营指标">
+            <template slot-scope="scope">{{ scope.row.operatingIndex +'%' }}</template>
+          </el-table-column>
           <el-table-column align="center" fixed="right" width="200" label="操作">
             <template slot-scope="scope">
               <!--   let search = JSON.stringify(this.searchForm)

+ 98 - 12
src/views/workBenchManager/classFeesIsOk.vue

@@ -176,24 +176,43 @@
     </div>
     <el-dialog title="课酬调整" :visible.sync="dialogVisible" width="400px">
       <div>
-        <el-form ref="visibleForm" :model="visibleForm" :inline="true">
-          <el-form-item label="应发">
-            <el-input v-model="visibleForm.expectSalary"></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="expectSalary">
+            <el-input
+              v-model.trim="visibleForm.expectSalary"
+              type="number"
+              @mousewheel.native.prevent
+            ></el-input>
           </el-form-item>
-          <el-form-item label="扣款">
-            <el-input v-model="visibleForm.reduceSalary"></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 label="实发">
-            <el-input v-model="visibleForm.actualSalary" disabled></el-input>
+            <el-input
+              v-model.trim="visibleForm.actualSalary"
+              disabled
+              type="number"
+              @mousewheel.native.prevent
+            ></el-input>
           </el-form-item>
-          <el-form-item label="实发">
-            <el-input type="textarea"  :rows="5" v-model="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>
       </div>
       <div slot="footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+        <el-button type="primary" @click="subreset">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -208,7 +227,8 @@ import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
 import {
   findIsSettlementCourseSalarys,
   openSalaryConfirm,
-  closeSalaryConfirm
+  closeSalaryConfirm,
+  teacherSalaryModifyLog
 } from "@/api/journal";
 import { courseType } from "@/utils/searchArray";
 export default {
@@ -230,7 +250,9 @@ export default {
         expectSalary: null,
         reduceSalary: null,
         actualSalary: null,
-        courseScheduleId: null
+        courseScheduleId: null,
+        teacherId:null,
+        memo:null
       },
       isOpen: null,
       activeRow: null,
@@ -431,9 +453,31 @@ export default {
         expectSalary: row.expectSalary,
         reduceSalary: row.reduceSalary,
         actualSalary: row.actualSalary,
-        courseScheduleId: row.courseScheduleId
+        courseScheduleId: row.courseScheduleId,
+        memo:row.memo,
+        teacherId:row.teacherId
       };
       this.dialogVisible = true;
+    },
+    subreset() {
+      this.$refs["visibleForm"].validate(flag => {
+        if (flag) {
+          let obj = {
+            courseScheduleId: this.visibleForm.courseScheduleId,
+            currentExpectSalary: this.visibleForm.expectSalary,
+            currentReduceSalary: this.visibleForm.reduceSalary,
+            memo: this.visibleForm.memo,
+            teacherId:this.visibleForm.teacherId,
+          };
+          teacherSalaryModifyLog(obj).then(res => {
+            if (res.code == 200) {
+              this.dialogVisible = false;
+              this.$message.success("调整成功");
+              this.getList();
+            }
+          });
+        }
+      });
     }
   },
   filters: {
@@ -447,6 +491,42 @@ export default {
         return template[val];
       }
     }
+  },
+  computed: {
+    getExpectSalaEry() {
+      return this.visibleForm.expectSalary;
+    },
+    getReduceSalary() {
+      return this.visibleForm.reduceSalary;
+    },
+    getActualSalary() {
+      return this.visibleForm.actualSalary;
+    }
+  },
+  watch: {
+    getExpectSalaEry(val) {
+      this.visibleForm.actualSalary = parseFloat(
+        val - this.getReduceSalary > 0 ? val - this.getReduceSalary : 0
+      );
+    },
+    getReduceSalary(val) {
+      this.visibleForm.actualSalary = parseFloat(
+        this.getExpectSalaEry - val > 0 ? this.getExpectSalaEry - val : 0
+      );
+    },
+    dialogVisible(val) {
+      if (!val) {
+        this.visibleForm = {
+          expectSalary: null,
+          reduceSalary: null,
+          actualSalary: null,
+          courseScheduleId: null,
+          teacherId:null,
+          memo:null
+        };
+        this.$refs["visibleForm"].resetFields();
+      }
+    }
   }
 };
 </script>
@@ -454,4 +534,10 @@ export default {
 .red {
   color: red;
 }
+.visibleForm {
+  /deep/.el-input__inner,
+  /deep/.el-textarea__inner {
+    width: 225px !important;
+  }
+}
 </style>

+ 76 - 6
src/views/workBenchManager/requestProcessing.vue

@@ -6,8 +6,50 @@
     </h2>
     <div class="m-core">
       <el-form :inline="true" :model="searchForm">
-        <el-form-item>
+        <!-- <el-form-item>
           <el-input v-model.trim="searchForm.search" @keyup.enter.native="search" placeholder></el-input>
+        </el-form-item>-->
+        <el-form-item prop="organId">
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item,index) in organList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </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>
+        </el-form-item>
+        <el-form-item>
+          <el-select placeholder="状态" v-model="searchForm.statusEnum" 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-form-item>
+        <el-form-item>
+          <el-date-picker
+            :clearable="false"
+            v-model="searchForm.salarySettlementMonth"
+            type="month"
+            value-format="yyyy-MM"
+            placeholder="选择年月"
+          ></el-date-picker>
         </el-form-item>
       </el-form>
       <div class="tableWrap">
@@ -17,6 +59,16 @@
           :data="tableList"
         >
           <el-table-column align="center" prop="studentId" label="分部"></el-table-column>
+          <el-table-column align="center" prop="studentId" 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 align="center" prop="courseScheduleId" width="150" label="申述提交">
+            <template slot-scope="scope">{{scope.row.startClassTime | dateForMinFormat}}</template>
+          </el-table-column>
+          <el-table-column align="center" prop="courseScheduleId" width="150" label="申述处理者"></el-table-column>
+          <el-table-column align="center" prop="courseScheduleId" width="150" label="备注"></el-table-column>
+           <el-table-column align="center" prop="courseScheduleId" width="150" label="操作"></el-table-column>
         </el-table>
         <pagination
           :total="rules.total"
@@ -36,13 +88,21 @@ import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
 import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
-
+import {
+ teacherSalaryComplaints,
+ teacherSalaryComplaintsDetail,
+ complaintsDispose
+} from "@/api/journal";
 export default {
   components: { pagination },
   data() {
     return {
       searchForm: {
-        search: null
+        search:null,
+        salarySettlementMonth:null,
+        statusEnum:null,
+        teacherId:null,
+        organId:null
       },
       teacherList: [],
       tableList: [],
@@ -60,12 +120,12 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-       getTeacher().then(res => {
+    getTeacher().then(res => {
       if (res.code == 200) {
         this.teacherList = res.data;
       }
     });
-      getEmployeeOrgan().then(res => {
+    getEmployeeOrgan().then(res => {
       if (res.code == 200) {
         this.organList = res.data;
       }
@@ -75,7 +135,17 @@ export default {
   },
   methods: {
     init() {},
-    getList() {}
+    getList() {
+      this.searchForm.page = this.rules.page;
+      this.searchForm.rows = this.rules.limit;
+      teacherSalaryComplaints(this.searchForm).then(res=>{
+        if(res.code == 200){
+          this.tableList = res.data.rows
+          this.rules.total = res.data.total
+        }
+      })
+    },
+  
   }
 };
 </script>