Browse Source

Merge branch 'Nov16thResetMusic' of http://git.dayaedu.com/molingzhide/dy-admin-manager into Nov16thResetMusic

mo 4 years ago
parent
commit
c6b07e1e4d

+ 1 - 1
src/components/Tooltip/index.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
   <el-tooltip effect="dark" placement="top">
   <el-tooltip effect="dark" placement="top">
-    <div slot="content" style="max-width: 200px">{{ content }}</div>
+    <div slot="content" style="max-width: 200px; max-height: 250px; overflow-y: auto;">{{ content }}</div>
     <span class="content-tooltip">{{ content }}</span>
     <span class="content-tooltip">{{ content }}</span>
   </el-tooltip>
   </el-tooltip>
 </template>
 </template>

+ 5 - 3
src/views/app/suggestion.vue

@@ -21,12 +21,13 @@
                            label="内容"
                            label="内容"
                            prop="content">
                            prop="content">
             <template slot-scope="scope">
             <template slot-scope="scope">
-              <el-popover placement="top-start"
+              <tooltip :content="scope.row.content" />
+              <!-- <el-popover placement="top-start"
                           width="300"
                           width="300"
                           trigger="hover"
                           trigger="hover"
                           :content="scope.row.content">
                           :content="scope.row.content">
                 <span slot="reference">{{ scope.row.content }}</span>
                 <span slot="reference">{{ scope.row.content }}</span>
-              </el-popover>
+              </el-popover> -->
               <!-- <div :title="scope.row.content">{{ scope.row.content }}</div> -->
               <!-- <div :title="scope.row.content">{{ scope.row.content }}</div> -->
             </template>
             </template>
           </el-table-column>
           </el-table-column>
@@ -60,8 +61,9 @@
 <script>
 <script>
 import pagination from '@/components/Pagination/index'
 import pagination from '@/components/Pagination/index'
 import { sysSuggestionList } from '@/api/appTenant'
 import { sysSuggestionList } from '@/api/appTenant'
+import Tooltip from '@/components/Tooltip/index'
 export default {
 export default {
-  components: { pagination },
+  components: { pagination, Tooltip },
   name: 'chargesList',
   name: 'chargesList',
   data () {
   data () {
     return {
     return {

+ 1 - 1
src/views/sporadicManager/sporadicList.vue

@@ -443,7 +443,7 @@ export default {
         { label: '声部更改', value: 2 },
         { label: '声部更改', value: 2 },
         // { label: '乐器更换', value: 3 },
         // { label: '乐器更换', value: 3 },
         // { label: '配件销售', value: 4 },
         // { label: '配件销售', value: 4 },
-        { label: '双十一活动', value: 12 },
+        // { label: '双十一活动', value: 12 },
         { label: '上门费', value: 7 },
         { label: '上门费', value: 7 },
         { label: '账户充值', value: 9 },
         { label: '账户充值', value: 9 },
         { label: '乐保服务', value: 10 },
         { label: '乐保服务', value: 10 },

+ 108 - 85
src/views/studentManager/studentList.vue

@@ -53,7 +53,7 @@
                        value="false"></el-option>
                        value="false"></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item prop="hasCourse">
+        <!-- <el-form-item prop="hasCourse">
           <el-select class="multiple"
           <el-select class="multiple"
                      v-model.trim="searchForm.hasCourse"
                      v-model.trim="searchForm.hasCourse"
                      clearable
                      clearable
@@ -63,7 +63,7 @@
             <el-option label="无"
             <el-option label="无"
                        value="0"></el-option>
                        value="0"></el-option>
           </el-select>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <!-- <el-form-item prop="isMake">
         <!-- <el-form-item prop="isMake">
           <el-select
           <el-select
             class="multiple"
             class="multiple"
@@ -75,7 +75,7 @@
             <el-option label="否" value="false"></el-option>
             <el-option label="否" value="false"></el-option>
           </el-select>
           </el-select>
         </el-form-item> -->
         </el-form-item> -->
-        <el-form-item prop="hasPracticeCourse">
+        <!-- <el-form-item prop="hasPracticeCourse">
           <el-select class="multiple"
           <el-select class="multiple"
                      v-model.trim="searchForm.hasPracticeCourse"
                      v-model.trim="searchForm.hasPracticeCourse"
                      clearable
                      clearable
@@ -85,7 +85,7 @@
             <el-option label="否"
             <el-option label="否"
                        value="false"></el-option>
                        value="false"></el-option>
           </el-select>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item prop="hasCourse">
         <el-form-item prop="hasCourse">
           <el-select class="multiple"
           <el-select class="multiple"
                      v-model.trim="searchForm.operatingTag"
                      v-model.trim="searchForm.operatingTag"
@@ -213,6 +213,7 @@
                width="700px"
                width="700px"
                label-position="right"
                label-position="right"
                class="studentInfo"
                class="studentInfo"
+               @close="onMaskClose('studentForm')"
                :close-on-click-modal='false'
                :close-on-click-modal='false'
                :visible.sync="studentVisible">
                :visible.sync="studentVisible">
       <el-divider>基本信息</el-divider>
       <el-divider>基本信息</el-divider>
@@ -253,10 +254,26 @@
                      v-model.trim="studentForm.sex"
                      v-model.trim="studentForm.sex"
                      clearable
                      clearable
                      placeholder="请选择性别">
                      placeholder="请选择性别">
-            <el-option :value="0"
-                       label="女"></el-option>
             <el-option :value="1"
             <el-option :value="1"
                        label="男"></el-option>
                        label="男"></el-option>
+            <el-option :value="0"
+                       label="女"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="学生声部"
+                      prop="subjectIdList">
+          <el-select v-model.trim="studentForm.subjectIdList"
+                     filterable
+                     clearable
+                     placeholder="学员声部">
+            <el-option-group v-for="group in subjectList"
+                             :key="group.label"
+                             :label="group.label">
+              <el-option v-for="item in group.options"
+                         :key="item.value"
+                         :label="item.label"
+                         :value="item.value"></el-option>
+            </el-option-group>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
 
 
@@ -294,11 +311,11 @@
                        :key="index"></el-option>
                        :key="index"></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="家长姓名">
+        <el-form-item label="家长姓名" prop="parseName">
           <el-input v-model.trim="studentForm.parseName"></el-input>
           <el-input v-model.trim="studentForm.parseName"></el-input>
         </el-form-item>
         </el-form-item>
 
 
-        <el-form-item label="出生日期">
+        <el-form-item label="出生日期" prop="date">
           <el-date-picker v-model.trim="studentForm.date"
           <el-date-picker v-model.trim="studentForm.date"
                           style="width: 185px;"
                           style="width: 185px;"
                           value-format="yyyy-MM-dd"
                           value-format="yyyy-MM-dd"
@@ -381,6 +398,7 @@ import {
 import cleanDeep from 'clean-deep'
 import cleanDeep from 'clean-deep'
 import { vaildStudentUrl } from "@/utils/validate";
 import { vaildStudentUrl } from "@/utils/validate";
 import { getEmployeeOrgan, resetPassword2, getTeacher } from "@/api/buildTeam";
 import { getEmployeeOrgan, resetPassword2, getTeacher } from "@/api/buildTeam";
+import { subjectListTree } from '@/api/specialSetting'
 import QRCode from "qrcodejs2";
 import QRCode from "qrcodejs2";
 import store from "@/store";
 import store from "@/store";
 import axios from "axios";
 import axios from "axios";
@@ -411,6 +429,7 @@ export default {
       organList: [],
       organList: [],
       teacherList: [],
       teacherList: [],
       maskTeacherList: [],
       maskTeacherList: [],
+      subjectList: [], // 声部列表
       pageInfo: {
       pageInfo: {
         // 分页规则
         // 分页规则
         limit: 10, // 限制显示条数
         limit: 10, // 限制显示条数
@@ -425,17 +444,17 @@ export default {
         sex: "",
         sex: "",
         parseName: "",
         parseName: "",
         date: "",
         date: "",
-        nation: "",
         serviceTag: null,
         serviceTag: null,
         operatingTag: null,
         operatingTag: null,
-        teacherId: null
+        teacherId: null,
+        subjectIdList: null
       },
       },
       studentRules: {
       studentRules: {
         name: [{ required: true, message: "请输入学生姓名" }],
         name: [{ required: true, message: "请输入学生姓名" }],
         sex: [{ required: true, message: "请选择学生性别" }],
         sex: [{ required: true, message: "请选择学生性别" }],
         date: [{ required: true, message: "请选择出生日期" }],
         date: [{ required: true, message: "请选择出生日期" }],
         organId: [{ required: true, message: "请选择分部" }],
         organId: [{ required: true, message: "请选择分部" }],
-        nation: [{ required: true, message: "请输入名族" }],
+        subjectIdList: [{ required: true, message: "请选择声部" }],
         serviceTag: [{ required: true, message: "请选择是否参与服务" }],
         serviceTag: [{ required: true, message: "请选择是否参与服务" }],
         operatingTag: [{ required: true, message: "请选择是否参与运营" }],
         operatingTag: [{ required: true, message: "请选择是否参与运营" }],
         teacherId: [{ required: true, message: "请选择指导老师" }]
         teacherId: [{ required: true, message: "请选择指导老师" }]
@@ -474,7 +493,6 @@ export default {
     getTeacher().then(res => {
     getTeacher().then(res => {
       if (res.code == 200) {
       if (res.code == 200) {
         this.teacherList = res.data;
         this.teacherList = res.data;
-        console.log(this.teacherList.length)
       }
       }
     });
     });
     this.getList();
     this.getList();
@@ -587,7 +605,7 @@ export default {
                     nowTime.getFullYear() +
                     nowTime.getFullYear() +
                     (nowTime.getMonth() + 1) +
                     (nowTime.getMonth() + 1) +
                     nowTime.getDate();
                     nowTime.getDate();
-                  let fname = `导出学员名单` + ymd; //下载文件的名字
+                  let fname = `导出学员名单` + ymd + '.xlsx'; //下载文件的名字
                   link.href = objectUrl;
                   link.href = objectUrl;
                   link.setAttribute("download", fname);
                   link.setAttribute("download", fname);
                   document.body.appendChild(link);
                   document.body.appendChild(link);
@@ -615,7 +633,7 @@ export default {
                 name: res.data.name,
                 name: res.data.name,
                 sex: res.data.gender,
                 sex: res.data.gender,
                 parseName: res.data.parentsName,
                 parseName: res.data.parentsName,
-                // sound: parseInt(res.data.subjectId),
+                // sound: parseInt(res.data.subjectIdList),
                 phone: val,
                 phone: val,
                 date: res.data.birthdate
                 date: res.data.birthdate
               };
               };
@@ -625,20 +643,21 @@ export default {
       }
       }
     },
     },
     submitAddStudent () {
     submitAddStudent () {
+      const studentForm = this.studentForm
       // 效验  然后组数据提交
       // 效验  然后组数据提交
       this.$refs["studentForm"].validate(item => {
       this.$refs["studentForm"].validate(item => {
         if (item) {
         if (item) {
           let obj = {
           let obj = {
-            phone: this.studentForm.phone,
-            username: this.studentForm.name,
-            gender: this.studentForm.sex,
-            realName: this.studentForm.parseName,
-            birthdate: this.studentForm.date,
-            organId: this.studentForm.organId,
-            nation: this.studentForm.nation,
-            serviceTag: this.studentForm.serviceTag,
-            operatingTag: this.studentForm.operatingTag,
-            teacherId: this.studentForm.teacherId
+            phone: studentForm.phone,
+            username: studentForm.name,
+            gender: studentForm.sex,
+            realName: studentForm.parseName,
+            birthdate: studentForm.date,
+            organId: studentForm.organId,
+            serviceTag: studentForm.serviceTag,
+            operatingTag: studentForm.operatingTag,
+            teacherId: studentForm.teacherId,
+            subjectIdList: studentForm.subjectIdList
           };
           };
           registerStudent(obj).then(res => {
           registerStudent(obj).then(res => {
             if (res.code == 200) {
             if (res.code == 200) {
@@ -652,20 +671,21 @@ export default {
     },
     },
     // 修改学生信息
     // 修改学生信息
     resetStudentSubmie () {
     resetStudentSubmie () {
+      const studentForm = this.studentForm
       this.$refs["studentForm"].validate(item => {
       this.$refs["studentForm"].validate(item => {
         if (item) {
         if (item) {
           let obj = {
           let obj = {
-            phone: this.studentForm.phone,
-            username: this.studentForm.name,
-            gender: this.studentForm.sex,
-            realName: this.studentForm.parseName,
-            birthdate: this.studentForm.date,
-            organId: this.studentForm.organId,
+            phone: studentForm.phone,
+            username: studentForm.name,
+            gender: studentForm.sex,
+            realName: studentForm.parseName,
+            birthdate: studentForm.date,
+            organId: studentForm.organId,
             id: this.active.userId,
             id: this.active.userId,
-            nation: this.studentForm.nation,
-            serviceTag: this.studentForm.serviceTag,
-            operatingTag: this.studentForm.operatingTag,
-            teacherId: this.studentForm.teacherId
+            serviceTag: studentForm.serviceTag,
+            operatingTag: studentForm.operatingTag,
+            teacherId: studentForm.teacherId,
+            subjectIdList: studentForm.subjectIdList
           };
           };
           updateStudent(obj).then(res => {
           updateStudent(obj).then(res => {
             if (res.code == 200) {
             if (res.code == 200) {
@@ -677,42 +697,63 @@ export default {
         }
         }
       });
       });
     },
     },
-    addStudent () {
-      getTeacher().then(res => {
+    async getSubjectList () {
+      await subjectListTree({
+        delFlag: 0,
+        rows: 9999
+      }).then(res => {
+        let result = res.data;
         if (res.code == 200) {
         if (res.code == 200) {
-          this.maskTeacherList = res.data;
-          this.isNew = true;
-          this.studentVisible = true;
-          this.maskName = "新增学员";
+          let tempArray = [];
+          result.rows.forEach((item, index) => {
+            let subject = [];
+            item.subjects.forEach(s => {
+              subject.push({
+                value: s.id,
+                label: s.name
+              });
+            });
+
+            tempArray[index] = {
+              label: item.name,
+              options: subject
+            };
+          });
+          this.subjectList = tempArray;
         }
         }
       });
       });
     },
     },
-    resetStudent (row) {
+    async addStudent () {
+      await this.getSubjectList()
+      this.isNew = true;
+      this.studentVisible = true;
+      this.maskName = "新增学员";
+    },
+    async resetStudent (row) {
       let organId = row.organId;
       let organId = row.organId;
-      getTeacher({ organId }).then(res => {
-        if (res.code == 200) {
-          this.maskTeacherList = res.data;
-          this.isNew = false;
-          this.active = row;
-          this.studentVisible = true;
-          this.maskName = "修改学员";
-          console.log(row)
-          this.studentForm = {
-            phone: row.parentsPhone || null,
-            name: row.username || null,
-            sex: row.gender,
-            parseName: row.realName || null,
-            date: row.birthdate || null,
-            organId: row.organId || null,
-            nation: row.nation || null,
-            serviceTag: row.serviceTag || null,
-            operatingTag: row.operatingTag || null,
-            teacherId: row.teacherId || null
-          }
-
-
+      await this.getSubjectList()
+      await this.changeStudentOrgan(row.organId)
+      this.isNew = false;
+      this.active = row;
+      this.studentVisible = true;
+      this.maskName = "修改学员";
+      this.$nextTick(() => {
+        this.studentForm = {
+          phone: row.parentsPhone || null,
+          name: row.username || null,
+          sex: row.gender,
+          parseName: row.realName || null,
+          date: row.birthdate || null,
+          organId: row.organId || null,
+          serviceTag: row.serviceTag,
+          operatingTag: row.operatingTag,
+          teacherId: row.teacherId || null,
+          subjectIdList: Number(row.subjectIdList) || null
         }
         }
-      });
+      })
+    },
+    onMaskClose(formName) {
+      this.$refs[formName].resetFields()
     },
     },
     resetPassWrod (row) {
     resetPassWrod (row) {
       this.activatedRow = row;
       this.activatedRow = row;
@@ -751,8 +792,9 @@ export default {
         }
         }
       });
       });
     },
     },
-    changeStudentOrgan (val) {
-      getTeacher({ organId: val }).then(res => {
+    async changeStudentOrgan (val) {
+      this.studentForm.teacherId = null
+      await getTeacher({ organId: val }).then(res => {
         if (res.code == 200) {
         if (res.code == 200) {
           this.maskTeacherList = res.data;
           this.maskTeacherList = res.data;
         }
         }
@@ -765,25 +807,6 @@ export default {
         }
         }
       })
       })
     }
     }
-  },
-  watch: {
-    studentVisible (val) {
-      if (!val) {
-        this.studentForm = {
-          phone: "",
-          organId: "",
-          name: "",
-          sex: "",
-          parseName: "",
-          date: "",
-          nation: "",
-          serviceTag: null,
-          operatingTag: null,
-          teacherId: null
-        };
-        this.$refs["studentForm"].resetFields();
-      }
-    }
   }
   }
 };
 };
 </script>
 </script>