Przeglądaj źródła

Merge branch 'Nov16thResetMusic' into online

mo 4 lat temu
rodzic
commit
7b05eaecce

+ 13 - 1
src/views/businessManager/orderManager/financeManager.vue

@@ -390,6 +390,17 @@
             </el-select>
           </el-form-item>
           <el-form-item
+            label="缴费单号"
+            prop="calenderId"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model.trim="form.calenderId"
+              :disabled="!isAdd"
+              placeholder="请输入缴费单号"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
             label="学员编号"
             prop="userId"
             :label-width="formLabelWidth"
@@ -671,6 +682,7 @@ export default {
         ],
         applyType: null,
         userId: "",
+        calenderId:""
       },
       validAmount: [
         { required: true, validator: validAmount, trigger: "blur" },
@@ -1179,4 +1191,4 @@ export default {
   padding: 0 20px;
   margin-bottom: 20px;
 }
-</style>
+</style>

+ 14 - 1
src/views/businessManager/orderManager/orderAudit/orderAuditDetail.vue

@@ -55,6 +55,17 @@
           ></el-option>
         </el-select>
       </el-form-item>
+          <el-form-item
+            label="缴费单号"
+            prop="calenderId"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model.trim="form.calenderId"
+              :disabled="!isAdd"
+              placeholder="请输入缴费单号"
+            ></el-input>
+          </el-form-item>
       <el-form-item
         label="学员编号"
         prop="userId"
@@ -315,6 +326,7 @@ export default {
         applyType: null,
         userId: "",
         auditComment: "",
+        calenderId:''
       },
       isAdd: !this.isLook,
       cooperationList: [],
@@ -347,6 +359,7 @@ export default {
             userId: orderInfo.userId ? orderInfo.userId : "",
             auditComment: orderInfo.auditComment,
             applyType: orderInfo.saleAmount ? "SELL" : "SERVICE",
+            calenderId:orderInfo.calenderId
           };
           this.auditStatus = orderInfo.auditStatus;
           this.$set(
@@ -471,4 +484,4 @@ export default {
 .setWidth {
   display: inline-block;
 }
-</style>
+</style>

+ 2 - 2
src/views/recodeManager/recodeList.vue

@@ -2,7 +2,7 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>考勤列表
+      <div class="squrt"></div>老师考勤列表
     </h2>
     <div class="m-core">
       <el-form :inline="true"
@@ -331,4 +331,4 @@ export default {
 };
 </script>
 <style lang='scss' scoped>
-</style>
+</style>

+ 71 - 55
src/views/teacherManager/teacherDetail/components/resetComponent.vue

@@ -5,61 +5,77 @@
       <el-table :data="tableList"
                 :header-cell-style="{background:'#EDEEF0',color:'#444'}">
         <el-table-column align="center"
-                         prop="organName"
-                         label="分部名称"></el-table-column>
-        <el-table-column align="center"
-                         width="130px"
-                         prop="musicGroupId"
-                         label="乐团/课程组编号"></el-table-column>
-        <el-table-column align="center"
-                         prop="id"
-                         label="课程编号"></el-table-column>
-        <el-table-column align="center"
-                         width="200px"
-                         label="时间">
-          <template slot-scope="scope">{{ scope.row.startClassTime ? scope.row.startClassTime.substr(0, 16) : '' }}-{{ scope.row.endClassTime ? scope.row.endClassTime.substr(11,5) : ''}}</template>
-        </el-table-column>
-        <!-- <el-table-column align="center" prop="groupName" label="乐团/VIP名"></el-table-column> -->
-        <!-- <el-table-column align="center" prop="classGroupName" label="班级名称"></el-table-column> -->
-        <el-table-column align="center"
-                         prop="studentId"
-                         label="学生ID">
-          <template slot-scope="scope">
-            <div v-if="scope.row.groupType != 'MUSIC'">{{scope.row.studentId}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
-                         prop="subjectName"
-                         label="声部"></el-table-column>
-        <el-table-column align="center"
-                         prop="name"
-                         label="课程名称"></el-table-column>
-        <el-table-column align="center"
-                         label="课程类型">
-          <template slot-scope="scope">
-            <div>{{ scope.row.type | coursesType}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
-                         label="教学模式">
-          <template slot-scope="scope">
-            <div>{{ scope.row.teachMode | teachMode}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
-                         prop="schoolName"
-                         label="教学点">
-          <template slot-scope="scope">
-            <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
-                         prop="courseScheduleStatus"
-                         label="课程状态">
-          <template slot-scope="scope">
-            <div>{{ scope.row.status | coursesStatus }}</div>
-          </template>
-        </el-table-column>
+                           prop="organName"
+                           label="分部名称"></el-table-column>
+          <el-table-column align="center"
+                           width="130px"
+                           prop="musicGroupId"
+                           label="乐团/课程组编号"></el-table-column>
+          <el-table-column align="center"
+                           prop="id"
+                           label="课程编号"></el-table-column>
+          <el-table-column align="center"
+                           width="200px"
+                           label="上课时间">
+            <template slot-scope="scope">{{ scope.row.startClassTime ? scope.row.startClassTime.substr(0, 16) : '' }}-{{ scope.row.endClassTime ? scope.row.endClassTime.substr(11,5) : ''}}</template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="subjectName"
+                           label="声部"></el-table-column>
+          <el-table-column align="center"
+                           prop="name"
+                           label="课程名称"></el-table-column>
+          <el-table-column align="center"
+                           width="150px"
+                           label="课程类型">
+            <template slot-scope="scope">
+              <div>{{ scope.row.type | coursesType}}</div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           label="教学模式">
+            <template slot-scope="scope">
+              <div>{{ scope.row.teachMode | teachMode}}</div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="schoolName"
+                           label="教学点">
+            <template slot-scope="scope">
+              <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="courseScheduleStatus"
+                           label="课程状态">
+            <template slot-scope="scope">
+              <div>{{ scope.row.status | coursesStatus }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           label="考勤申诉">
+            <template slot-scope="scope">
+              <div>{{ scope.row.isComplaints==1?'是':'否'}}</div>
+            </template>
+          </el-table-column>
+
+          <el-table-column align="center"
+                           prop="isLock"
+                           label="是否冻结">
+            <template slot-scope="scope">{{ scope.row.isLock ? '是' : '否' }}</template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="newCourseId"
+                           label="是否被合并"
+                           width="130px">
+            <template slot-scope="scope">{{ scope.row.newCourseId > 0 ? '是' : '否' }}</template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="isCallNames"
+                           label="是否点名"
+                           fixed="right">
+            <template slot-scope="scope">{{ scope.row.isCallNames ? '是' : '否' }}</template>
+          </el-table-column>
         <el-table-column align="center"
                          label="操作"
                          fixed="right"

+ 1 - 0
src/views/teamBuild/signupList.vue

@@ -1203,6 +1203,7 @@ export default {
       this.$refs.visitForm.validate(res => {
         if (res) {
           this.visitForm.visitType = null;
+          this.visitForm.musicGroupId= this.id
           addVisit(cleanDeep(this.visitForm)).then(res => {
             if (res.code === 200) {
               this.$message.success('新增成功')

+ 248 - 181
src/views/teamDetail/componentCourse/resetClass.vue

@@ -1,144 +1,175 @@
 <template>
   <div>
-    <el-form :model="maskForm"
-             class="maskForm"
-             ref="maskForm"
-             :rules="maskRules"
-             label-position="right"
-             label-width="120px"
-             :inline="true">
+    <el-form
+      :model="maskForm"
+      class="maskForm"
+      ref="maskForm"
+      :rules="maskRules"
+      label-position="right"
+      label-width="120px"
+      :inline="true"
+    >
       <!--    -->
-      <el-form-item label="主教老师"
-                    v-if="maskForm.type == 'VIP'"
-                    prop="teacher">
-        <el-select v-model.trim="maskForm.teacher"
-                   style="width:220px!important"
-                   @change="changeTeacher"
-                   clearable
-                   filterable>
-          <el-option v-for="(item,index) in teacherList"
-                     :key="index"
-                     :value="item.id"
-                     :label="item.realName"></el-option>
+      <el-form-item
+        label="主教老师"
+        v-if="maskForm.type == 'VIP'"
+        prop="teacher"
+      >
+        <el-select
+          v-model.trim="maskForm.teacher"
+          style="width: 220px !important"
+          @change="changeTeacher"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="(item, index) in selects.teachers"
+            :key="index"
+            :value="item.id"
+            :label="item.realName"
+          ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="主教老师"
-                    v-else
-                    prop="teacher">
-        <el-select v-model.trim="maskForm.teacher"
-                   style="width:220px!important"
-                   clearable
-                   filterable>
-          <el-option v-for="(item,index) in teacherList"
-                     :key="index"
-                     :value="item.id"
-                     :label="item.realName"></el-option>
+      <el-form-item label="主教老师" v-else prop="teacher">
+        <el-select
+          v-model.trim="maskForm.teacher"
+          style="width: 220px !important"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="(item, index) in selects.teachers"
+            :key="index"
+            :value="item.id"
+            :label="item.realName"
+          ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="助教老师"
-                    v-if="maskForm.type != 'MUSIC_NETWORK'&&maskForm.type != 'HIGH_ONLINE'&&maskForm.groupType == 'MUSIC'"
-                    prop="assistant">
-        <el-select v-model.trim="maskForm.assistant"
-                   style="width:220px!important"
-                   clearable
-                   filterable
-                   multiple
-                   collapse-tags>
-          <el-option v-for="(item,index) in teacherList"
-                     :key="index"
-                     :value="item.id"
-                     :label="item.realName"></el-option>
+      <el-form-item
+        label="助教老师"
+        v-if="
+          maskForm.type != 'MUSIC_NETWORK' &&
+          maskForm.type != 'HIGH_ONLINE' &&
+          maskForm.groupType == 'MUSIC'
+        "
+        prop="assistant"
+      >
+        <el-select
+          v-model.trim="maskForm.assistant"
+          style="width: 220px !important"
+          clearable
+          filterable
+          multiple
+          collapse-tags
+        >
+          <el-option
+            v-for="(item, index) in selects.teachers"
+            :key="index"
+            :value="item.id"
+            :label="item.realName"
+          ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="上课日期"
-                    prop="date">
-        <el-date-picker v-model.trim="maskForm.date"
-                        type="date"
-                        :picker-options="{
-                            firstDayOfWeek:1
-                          }"
-                        value-format="yyyy-MM-dd"
-                        placeholder="选择日期"></el-date-picker>
+      <el-form-item label="上课日期" prop="date">
+        <el-date-picker
+          v-model.trim="maskForm.date"
+          type="date"
+          :picker-options="{
+            firstDayOfWeek: 1,
+          }"
+          value-format="yyyy-MM-dd"
+          placeholder="选择日期"
+        ></el-date-picker>
       </el-form-item>
-      <el-form-item label="课程时长"
-                    prop="timer">
-        <el-input type='number'
-                  :disabled='isDisabled'
-                  style="width:220px!important"
-                  v-model="maskForm.timer">
-                     <template slot="append">分钟</template>
-                  </el-input>
+      <el-form-item label="课程时长" prop="timer">
+        <el-select v-model="maskForm.timer" @change="changeTime">
+          <el-option
+            v-for="(item, index) in typeTimeList"
+            :key="index"
+            :value="parseInt(item)"
+            :label="item"
+          ></el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="开始时间"
-                    prop="startTime">
-        <el-time-picker placeholder="起始时间"
-                        v-model.trim="maskForm.startTime"
-                        @change="changeStartTime"
-                        format='HH:mm'
-                        value-format='HH:mm'
-                        :picker-options="{
-                            selectableRange: '04:30:00 - 23:30:00'
-                            }"></el-time-picker>
+      <el-form-item label="开始时间" prop="startTime">
+        <el-time-picker
+          placeholder="起始时间"
+          v-model.trim="maskForm.startTime"
+          @change="changeStartTime"
+          format="HH:mm"
+          value-format="HH:mm"
+          :picker-options="{
+            selectableRange: '04:30:00 - 23:30:00',
+          }"
+        ></el-time-picker>
       </el-form-item>
-      <el-form-item label="结束时间"
-                    prop="endTime">
-        <el-time-picker placeholder="结束时间"
-                        v-model.trim="maskForm.endTime"
-                        disabled
-                        format='HH:mm'
-                        value-format='HH:mm'
-                        :picker-options="{
-                            start: '04:30',
-                            step: '00:05',
-                            end: '23:30',
-                            minTime: maskForm.startTime
-                          }"></el-time-picker>
+      <el-form-item label="结束时间" prop="endTime">
+        <el-time-picker
+          placeholder="结束时间"
+          v-model.trim="maskForm.endTime"
+          disabled
+          format="HH:mm"
+          value-format="HH:mm"
+          :picker-options="{
+            start: '04:30',
+            step: '00:05',
+            end: '23:30',
+            minTime: maskForm.startTime,
+          }"
+        ></el-time-picker>
       </el-form-item>
-      <el-form-item label="课程类型"
-                    v-if="maskForm.type == 'VIP'"
-                    prop="courseType">
-        <el-select clearable
-                   @change="typeChange"
-                   style="width:220px!important"
-                   v-model.trim="maskForm.teachMode">
-          <el-option label="线上课"
-                     value="ONLINE"></el-option>
-          <el-option label="线下课"
-                     value="OFFLINE"></el-option>
+      <el-form-item
+        label="课程类型"
+        v-if="maskForm.type == 'VIP'"
+        prop="courseType"
+      >
+        <el-select
+          clearable
+          @change="typeChange"
+          style="width: 220px !important"
+          v-model.trim="maskForm.teachMode"
+        >
+          <el-option label="线上课" value="ONLINE"></el-option>
+          <el-option label="线下课" value="OFFLINE"></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="教学地点"
-                    v-if="maskForm.teachMode == 'OFFLINE'">
-        <el-select v-model.trim="
-                    maskForm.address"
-                   style="width:220px!important"
-                   filterable
-                   clearable>
-          <el-option v-for="(item,index) in schoolList"
-                     :key="index"
-                     :value="item.id"
-                     :label="item.name"></el-option>
+      <el-form-item label="教学地点" v-if="maskForm.teachMode == 'OFFLINE'">
+        <el-select
+          v-model.trim="maskForm.address"
+          style="width: 220px !important"
+          filterable
+          clearable
+        >
+          <el-option
+            v-for="(item, index) in schoolList"
+            :key="index"
+            :value="item.id"
+            :label="item.name"
+          ></el-option>
         </el-select>
       </el-form-item>
     </el-form>
-    <div slot="footer"
-         class="dialog-footer">
+    <div slot="footer" class="dialog-footer">
       <el-button @click="$listeners.closeReset">取 消</el-button>
-      <el-button type="primary"
-                 @click="submitResetClass">确 定</el-button>
+      <el-button type="primary" @click="submitResetClass">确 定</el-button>
     </div>
   </div>
 </template>
 <script>
-import { diffTimerFormMinute, addTimerFormMinute } from '@/utils/date'
-import { getTeacher, resetCourse, getCourseScheduleDetail } from "@/api/buildTeam";
+import { diffTimerFormMinute, addTimerFormMinute } from "@/utils/date";
+import {
+  getTeacher,
+  resetCourse,
+  getCourseScheduleDetail,
+  getOrganCourseDurationSettings,
+} from "@/api/buildTeam";
 import { getTeachSchool } from "@/api/teacherManager";
-import { getSchool } from "@/api/systemManage"
-import cleanDeep from 'clean-deep'
-import dayjs from 'dayjs';
+import { getSchool } from "@/api/systemManage";
+import cleanDeep from "clean-deep";
+import dayjs from "dayjs";
 export default {
   props: ["show", "id", "isDisabled"],
-  data () {
+  data() {
     return {
       courseVisible: false,
       maskForm: {
@@ -147,32 +178,38 @@ export default {
         date: null,
         timer: null,
         startTime: null,
-        endTime: null
+        endTime: null,
       },
       maskRules: {
         teacher: [
-          { required: true, message: "请选择主教老师名称", trigger: "blur" }
+          { required: true, message: "请选择主教老师名称", trigger: "blur" },
         ],
         date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
-        startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
-        endTime: [{ required: true, message: '请选择上课结束时间', trigger: 'blur' },],
+        startTime: [
+          { required: true, message: "请选择上课开始时间", trigger: "blur" },
+        ],
+        endTime: [
+          { required: true, message: "请选择上课结束时间", trigger: "blur" },
+        ],
       },
       teacherList: [],
-      schoolList: []
-    }
+      schoolList: [],
+      typeTimeList: [],
+      courseTimeList: {},
+      organId: "",
+    };
   },
-  async mounted () {
-    await getTeacher().then(res => {
-      if (res.code == 200) {
-        this.teacherList = res.data;
-      }
-    });
-
-    this.getDetail(this.id)
-
+  async mounted() {
+    // await getTeacher().then((res) => {
+    //   if (res.code == 200) {
+    //     this.teacherList = res.data;
+    //   }
+    // });
+    this.$store.dispatch("setTeachers");
+    this.getDetail(this.id);
   },
   methods: {
-    submitResetClass () {
+    submitResetClass() {
       let maskForm = this.maskForm;
       if (!maskForm.startTime || !maskForm.endTime) {
         this.$message.error("请填写开始时间或结束时间");
@@ -181,7 +218,7 @@ export default {
       this.$confirm("是否确定?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
           let teachingTeacherIdList = maskForm.assistant.join(",");
@@ -200,108 +237,138 @@ export default {
             schoolId: this.maskForm.address,
             teachMode: this.maskForm.teachMode,
           };
-          resetCourse(cleanDeep(obj)).then(res => {
+          resetCourse(cleanDeep(obj)).then((res) => {
             if (res.code == 200) {
               this.$message.success("修改成功");
-              this.$emit('getList')
-              this.$emit('closeReset')
+              this.$emit("getList");
+              this.$emit("closeReset");
               // this.getList();
               // this.courseVisible = false;
             }
           });
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     typeChange() {
-      this.$set(this.maskForm, 'address', null)
+      this.$set(this.maskForm, "address", null);
     },
-    changeStartTime (val) {
-
-      this.$nextTick(res => {
+    changeStartTime(val) {
+      this.$nextTick((res) => {
         if (val) {
-          this.$set(this.maskForm, 'endTime', addTimerFormMinute(this.maskForm.date, val, this.maskForm.timer))
+          this.$set(
+            this.maskForm,
+            "endTime",
+            addTimerFormMinute(this.maskForm.date, val, this.maskForm.timer)
+          );
         } else {
-          this.$set(this.maskForm, 'endTime', '')
+          this.$set(this.maskForm, "endTime", "");
         }
-
-      })
+      });
     },
-    changeTeacher (val) {
+    changeTime(val) {
+      this.$nextTick((res) => {
+        this.maskForm.endTime = addTimerFormMinute(
+          this.maskForm.date,
+          this.maskForm.startTime,
+          val
+        );
+      });
+    },
+    changeTeacher(val) {
       if (val) {
         getTeachSchool({
-          userId: val
-        }).then(res => {
+          userId: val,
+        }).then((res) => {
           if (res.code == 200) {
             this.schoolList = res.data;
           }
-        })
-        this.maskForm.address = null
+        });
+        this.maskForm.address = null;
       }
     },
-    getDetail (id) {
-      getCourseScheduleDetail({ courseScheduleId: id }).then(res => {
+    getDetail(id) {
+      getCourseScheduleDetail({ courseScheduleId: id }).then(async (res) => {
         if (res.code == 200) {
           this.maskForm = {
             id: res.data.id,
             teacher: res.data.actualTeacherId,
             assistant: [],
-            date: dayjs(res.data.classDate).format('YYYY-MM-DD'),
-            startTime: dayjs(res.data.startClassTime).format('HH:mm'),
-            endTime: dayjs(res.data.endClassTime).format('HH:mm'),
+            date: dayjs(res.data.classDate).format("YYYY-MM-DD"),
+            startTime: dayjs(res.data.startClassTime).format("HH:mm"),
+            endTime: dayjs(res.data.endClassTime).format("HH:mm"),
             timer: null,
             type: res.data.type,
             groupType: res.data.groupType,
             address: res.data.schoolId,
             teachMode: res.data.teachMode,
+          };
+          for (let key in this.courseTimeList) {
+            if (key == row.courseScheduleType) {
+              this.typeTimeList = this.courseTimeList[key].split(",");
+            }
           }
           this.maskForm.assistant = res.data.teachingTeacherIdList;
-          // for (let i in res.data.teachingTeachers) {
-          //   if (res.data.teachingTeachers[i].teacherRole == "TEACHING") {
-          //     this.maskForm.assistant.push(res.data.teachingTeachers[i].userId);
-          //   }
-          // }
-          let time = diffTimerFormMinute(dayjs(res.data.classDate).format('YYYY-MM-DD'), dayjs(res.data.startClassTime).format('HH:mm'), dayjs(res.data.endClassTime).format('HH:mm'))
-          console.log(dayjs(res.data.startClassTime).format('HH:mm'))
+          let time = diffTimerFormMinute(
+            dayjs(res.data.classDate).format("YYYY-MM-DD"),
+            dayjs(res.data.startClassTime).format("HH:mm"),
+            dayjs(res.data.endClassTime).format("HH:mm")
+          );
+          this.organId = res.data.organId;
+          let type = res.data.type
+          try {
+            const res = await getOrganCourseDurationSettings({
+              organId: this.organId,
+            });
+            this.courseTimeList = res.data;
+            for (let key in this.courseTimeList) {
+              if (key == type) {
+                this.typeTimeList = this.courseTimeList[key].split(",");
+              }
+            }
+          } catch (e) {}
+
           this.maskForm.timer = time;
-          if (this.maskForm.teacher && this.maskForm.type == 'VIP') {
+          if (this.maskForm.teacher && this.maskForm.type == "VIP") {
             getTeachSchool({
-              userId: this.maskForm.teacher
-            }).then(res => {
+              userId: this.maskForm.teacher,
+            }).then((res) => {
               if (res.code == 200) {
                 this.schoolList = res.data;
               }
-            })
+            });
           } else {
-            getSchool({ organId: res.data.organId }).then(res => {
+            getSchool({ organId: res.data.organId }).then((res) => {
               if (res.code == 200) {
                 this.schoolList = res.data;
               }
-            })
+            });
           }
         }
-      })
-    }
+      });
+    },
   },
 
   watch: {
-    id (val) {
+    id(val) {
       if (val) {
-        this.getDetail(val)
+        this.getDetail(val);
       }
     },
-    'maskForm.timer' (val) {
-      this.$nextTick(res => {
+    "maskForm.timer"(val) {
+      this.$nextTick((res) => {
         if (val) {
-          this.$set(this.maskForm, 'endTime', addTimerFormMinute(this.maskForm.date, this.maskForm.startTime, val))
+          this.$set(
+            this.maskForm,
+            "endTime",
+            addTimerFormMinute(this.maskForm.date, this.maskForm.startTime, val)
+          );
         } else {
-          this.$set(this.maskForm, 'endTime', '')
+          this.$set(this.maskForm, "endTime", "");
         }
-
-      })
-    }
-  }
-
-}
+      });
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 /deep/.dialog-footer {

+ 1 - 1
src/views/teamDetail/componentCourse/studentRollCall.vue

@@ -44,7 +44,7 @@
                          label="签到时间">
           <template slot-scope="scope">
             <div>
-              {{(scope.row.signInTime?scope.row.signInTime:scope.row.createTime) | dateForMinFormat}}
+              {{scope.row.signInTime | dateForMinFormat}}
             </div>
           </template>
         </el-table-column>

+ 41 - 32
src/views/teamDetail/components/baseInfo.vue

@@ -2,7 +2,7 @@
   <div class='basea-container'>
     <div class="baseTop">
       <div class="left">
-        <el-form :inline="true"
+        <!-- <el-form :inline="true"
                  class="form-list"
                  label-width="110px"
                  :model="topForm">
@@ -31,7 +31,7 @@
             <el-input v-model.trim="topForm.repairUserName"
                       disabled></el-input>
           </el-form-item>
-          <!-- ownershipType  -->
+
           <el-form-item label="合作单位">
             <el-input v-model.trim="topForm.cooperate"
                       disabled></el-input>
@@ -68,8 +68,10 @@
                       disabled></el-input>
           </el-form-item>
 
-        </el-form>
-        <el-button type="text"
+        </el-form> -->
+        <teambaseinfo />
+        <div class="wrap">
+              <el-button type="text"
                    v-if="lookType!=='look'"
                    v-permission="'order/musicalListExport'"
                    @click="musicalListExport">订货清单导出</el-button>
@@ -78,12 +80,15 @@
                    v-if="lookType!=='look'"
                    v-permission="'order/musicalListDetailExport'"
                    @click="musicalListDetailExport">分发清单导出</el-button>
+        </div>
+
       </div>
     </div>
   </div>
 </template>
 <script>
 import { getMusicGroup, getMusicGroupProcess } from '@/api/buildTeam'
+import teambaseinfo from '@/views/teamBuild/components/teamBaseInfo'
 import axios from 'axios'
 import qs from 'qs'
 import {
@@ -91,6 +96,7 @@ import {
 } from '@/utils/auth'
 import load from '@/utils/loading'
 export default {
+  components:{teambaseinfo},
   name: "tbaseInfo",
   data () {
     return {
@@ -117,37 +123,37 @@ export default {
     }
   },
   created () {
-    this.init()
+    // this.init()
   },
   activated () {
-    this.init()
+    // this.init()
   },
   methods: {
-    init () {
-      this.teamid = this.$route.query.id;
-      this.lookType = this.$route.query.type
-      getMusicGroup({
-        musicGroupId: this.teamid
-      }).then(res => {
-        if (res.code == 200) {
-          this.topForm.num = res.data.id;
-          this.topForm.teacher = res.data.educationalTeacherName;
-          this.topForm.boss = res.data.directorUserName;
-          this.topForm.paymentPattern = res.data.paymentPattern;
-          this.topForm.paymentValidStartDate = res.data.paymentValidStartDate;
-          this.topForm.paymentValidEndDate = res.data.paymentValidEndDate;
-          this.topForm.cooperate = res.data.schoolName;
-          this.topForm.type = res.data.chargeTypeName;
-          this.topForm.section = res.data.organName;
-          this.topForm.add = res.data.address
-          this.topForm.teamTeacherName = res.data.teamTeacherName
-          this.topForm.ownershipType = res.data.ownershipType
-          this.topForm.repairUserName = res.data.repairUserName
-          // 差上课地点
-          this.$emit('getname', res.data.name)
-        }
-      })
-    },
+    // init () {
+    //   this.teamid = this.$route.query.id;
+    //   this.lookType = this.$route.query.type
+    //   getMusicGroup({
+    //     musicGroupId: this.teamid
+    //   }).then(res => {
+    //     if (res.code == 200) {
+    //       this.topForm.num = res.data.id;
+    //       this.topForm.teacher = res.data.educationalTeacherName;
+    //       this.topForm.boss = res.data.directorUserName;
+    //       this.topForm.paymentPattern = res.data.paymentPattern;
+    //       this.topForm.paymentValidStartDate = res.data.paymentValidStartDate;
+    //       this.topForm.paymentValidEndDate = res.data.paymentValidEndDate;
+    //       this.topForm.cooperate = res.data.schoolName;
+    //       this.topForm.type = res.data.chargeTypeName;
+    //       this.topForm.section = res.data.organName;
+    //       this.topForm.add = res.data.address
+    //       this.topForm.teamTeacherName = res.data.teamTeacherName
+    //       this.topForm.ownershipType = res.data.ownershipType
+    //       this.topForm.repairUserName = res.data.repairUserName
+    //       // 差上课地点
+    //       this.$emit('getname', res.data.name)
+    //     }
+    //   })
+    // },
     musicalListExport () { // 报表导出
       let url = '/api-web/order/musicalListExport'
       let data = {
@@ -260,7 +266,7 @@ export default {
   },
 }
 </script>
-<style lang="scss" scope>
+<style lang="scss" scoped>
 .basea-container {
   margin-top: 35px;
 
@@ -322,5 +328,8 @@ export default {
       }
     }
   }
+  .wrap {
+    padding-left: 60px;
+  }
 }
 </style>

+ 0 - 6
src/views/teamDetail/components/courseList.vue

@@ -231,11 +231,6 @@
         <el-form-item label="课程时长"
                       v-if="courseVisible"
                       prop="timer">
-          <!-- <el-input type='number'
-                    disabled
-                    v-model="maskForm.timer">
-                        <template slot="append">分钟</template>
-                    </el-input> -->
           <el-select v-model="maskForm.timer" @change="changeTime">
               <el-option v-for="(item,index) in typeTimeList"
                        :key="index"
@@ -629,7 +624,6 @@ export default {
           this.typeTimeList = this.courseTimeList[key].split(',')
         }
       }
-      console.log(this.typeTimeList)
       // this.maskForm.type = row.courseScheduleType;
       this.maskForm.assistant = [];
       for (let i in row.teachingTeachers) {

+ 1 - 1
src/views/teamDetail/teamList.vue

@@ -535,7 +535,7 @@ export default {
         case 'PROGRESS': {
           // 进行中
           // 调到乐团详情 teamDetails
-          this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name,  organId: row.organId } })
+          this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name,  organId: row.organId ,type:'look' } })
           break
         }
         case 'CANCELED': {

+ 26 - 16
src/views/workBenchManager/classFeesIsOk.vue

@@ -291,40 +291,44 @@
             label="应发"
             :rules="[
               { required: true, message: '请填写应发数', trigger: 'blur' },
-                { pattern: /^[0-9]+?[0-9]*$/, message: '请输入大于0的数字' }
             ]"
             prop="actualSalary"
           >
-            <el-input
-            :min='0'
+            <el-input-number
+              :controls="false"
+              :min="0"
+              :precision="2"
               v-model.trim="visibleForm.actualSalary"
               type="number"
               @mousewheel.native.prevent
-            ></el-input>
+            ></el-input-number>
           </el-form-item>
           <el-form-item
             label="扣款"
             :rules="[
               { required: true, message: '请填写扣款数', trigger: 'blur' },
-               { pattern: /^[0-9]+?[0-9]*$/, message: '请输入大于0的数字' }
             ]"
             prop="reduceSalary"
           >
-            <el-input
+            <el-input-number
+              :controls="false"
+              :min="0"
+              :precision="2"
               v-model.trim="visibleForm.reduceSalary"
-              :min='0'
               type="number"
               @mousewheel.native.prevent
-            ></el-input>
+            ></el-input-number>
           </el-form-item>
           <el-form-item label="实发">
-            <el-input
+            <el-input-number
+              :controls="false"
+              :min="0"
+              :precision="2"
               v-model.trim="visibleForm.finalSalary"
               disabled
-              :min='0'
               type="number"
               @mousewheel.native.prevent
-            ></el-input>
+            ></el-input-number>
           </el-form-item>
           <el-form-item
             label="说明"
@@ -350,6 +354,7 @@
 </template>
 
 <script>
+import numeral from "numeral";
 import axios from "axios";
 import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
@@ -625,14 +630,16 @@ export default {
   },
   watch: {
     getActualsalary(val) {
-      this.visibleForm.finalSalary = parseFloat(
-        val - this.getReduceSalary > 0 ? val - this.getReduceSalary : 0
+      var number = numeral(val);
+
+      this.visibleForm.finalSalary = Math.max(
+        number.subtract(this.getReduceSalary).value(),
+        0
       );
     },
     getReduceSalary(val) {
-      this.visibleForm.finalSalary = parseFloat(
-        this.getActualsalary - val > 0 ? this.getActualsalary - val : 0
-      );
+      var number = numeral(this.getActualsalary);
+      this.visibleForm.finalSalary = Math.max(number.subtract(val).value(), 0);
     },
     dialogVisible(val) {
       if (!val) {
@@ -660,4 +667,7 @@ export default {
     width: 225px !important;
   }
 }
+/deep/.el-input-number .el-input__inner {
+  text-align: left;
+}
 </style>