lex-xin 3 éve
szülő
commit
e14353489a

+ 98 - 0
src/views/studentManager/modals/studentExt.vue

@@ -0,0 +1,98 @@
+<template>
+  <div>
+    <el-form :model="student" label-width="100px" ref="form">
+      <el-form-item
+        label="扩展声部"
+        prop="extSubjectIds"
+        :rules="[
+          { required: true, message: '请选择扩展声部', trigger: 'blur' }
+        ]"
+      >
+        <el-select
+          v-model.trim="student.extSubjectIds"
+          filterable
+          style="width: 100% !important"
+          clearable
+          multiple
+          placeholder="请选择扩展声部"
+        >
+          <el-option-group
+            v-for="group in subjectList"
+            :key="group.value"
+            :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-form-item>
+    </el-form>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="$listeners.close()">取 消</el-button>
+      <el-button type="primary" @click="addMusicSubmit">确 定</el-button>
+    </span>
+  </div>
+</template>
+<script>
+import { updateStudent } from "@/api/studentManager";
+import dayjs from "dayjs";
+export default {
+  props: ["subjectList", "detail"],
+  data() {
+    return {
+      student: {
+        extSubjectIds: [],
+        phone: null,
+        cooperationOrganId: null
+      }
+    };
+  },
+  async mounted() {
+    console.log(this.subjectList, this.detail, 'detail')
+    const { extSubjectIds, ...rest } = this.detail
+    // extSubjectIds = extSubjectIds ? extSubjectIds.split(',').map(item => { return Number(item) }) : []
+    let tempExtSubject = extSubjectIds ? extSubjectIds.split(',') : []
+    tempExtSubject = tempExtSubject.map((item) => {
+      return Number(item)
+    })
+    console.log(extSubjectIds)
+    this.student = Object.assign({}, ...rest);
+    this.student.extSubjectIds = tempExtSubject
+  },
+  methods: {
+    addMusicSubmit() {
+      this.$refs.form.validate(async res => {
+        if (res) {
+          try {
+            const { extSubjectIds, cooperationOrganId, ...res } = this.student
+            updateStudent({
+              ...res,
+              cooperationOrganId: cooperationOrganId || null,
+              extSubjectIds: extSubjectIds.join(",")
+            }).then((res) => {
+              if (res.code == 200) {
+                this.$message.success("修改成功");
+                this.$emit("close");
+                this.$emit("getList");
+              }
+            });
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    }
+  }
+};
+</script>
+<style lang="scss" scoped>
+.dialog-footer {
+  display: block;
+  text-align: right;
+  margin-top: 20px;
+}
+</style>

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

@@ -521,6 +521,12 @@
               <el-button
                 type="text"
                 style="padding-left: 10px"
+                @click="setStudent(scope.row)"
+                >设置扩展分部</el-button
+              >
+              <el-button
+                type="text"
+                style="padding-left: 10px"
                 v-permission="'studentManage/studentUpdate'"
                 @click="resetStudent(scope.row)"
                 >修改</el-button
@@ -848,6 +854,10 @@
       <protocol-model v-if="protocolVisible" @close="protocolVisible = false" :protocolVersions="protocolVersions" />
     </el-dialog>
 
+    <el-dialog title="设置扩展分部" :visible.sync="extVisible" width="500px">
+      <student-ext v-if="extVisible" :subjectList="subjectList" :detail="extDetail" @getList="getList" @close="extVisible = false" />
+    </el-dialog>
+
     <el-dialog
       title="创建团练宝缴费"
       width="500px"
@@ -887,11 +897,14 @@ import qs from "qs";
 import { getToken, getTenantId } from "@/utils/auth";
 import load from "@/utils/loading";
 import createMember from "./modals/createMember";
+import studentExt from './modals/studentExt'
 export default {
   name: "studentManagerList",
-  components: { pagination, qrCode, createMember, protocolModel },
+  components: { pagination, qrCode, createMember, protocolModel, studentExt },
   data() {
     return {
+      extVisible: false,
+      extDetail: {},
       studentVisible: false,
       searchForm: {
         organId: [],
@@ -1303,6 +1316,28 @@ export default {
         };
       });
     },
+    async setStudent(row) { // 设置扩展分部
+      await this.getSubjectList();
+      this.extDetail = {
+        id: row.userId,
+        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,
+        isNewUser: row.isNewUser,
+        subjectIdList: Number(row.subjectIdList) || null,
+        carePackage: row.carePackage,
+        comeOnPackage: row.comeOnPackage,
+        cooperationOrganId: row.cooperationOrganId || null,
+      }
+      console.log(row, 'show')
+      this.extVisible = true
+    },
     onMaskClose(formName) {
       this.$refs[formName].resetFields();
     },