瀏覽代碼

修改字段

lex 1 年之前
父節點
當前提交
acc1d08e00
共有 2 個文件被更改,包括 276 次插入179 次删除
  1. 94 34
      src/views/categroyManager/specialSetup/branchSetting.vue
  2. 182 145
      src/views/organManager/components/memberSetting.vue

+ 94 - 34
src/views/categroyManager/specialSetup/branchSetting.vue

@@ -20,7 +20,7 @@
             clearable
             placeholder="分部名称/编号/地址"
             @keyup.enter.native="
-              (e) => {
+              e => {
                 e.target.blur();
                 $refs.searchForm.save();
                 search();
@@ -197,7 +197,7 @@
             type="date"
             value-format="yyyy-MM-dd"
             :picker-options="{
-              firstDayOfWeek: 1,
+              firstDayOfWeek: 1
             }"
             placeholder="选择成立时间"
           ></el-date-picker>
@@ -212,10 +212,38 @@
             placeholder="请输入乐器分润上限"
             autocomplete="off"
           >
-          <template slot="append">元</template>
+            <template slot="append"
+              >元</template
+            >
           </el-input>
         </el-form-item>
         <el-form-item
+          label="可用教材"
+          prop="teachingMaterialId"
+          :label-width="formLabelWidth"
+        >
+          <el-cascader
+            v-model.trim="form.teachingMaterialId"
+            style="width: 100% !important"
+            :options="teachList"
+            :props="{ multiple: true }"
+            :show-all-levels="false"
+            collapse-tags
+            ref="cascader"
+            clearable
+          ></el-cascader>
+
+          <el-tag
+            :key="tag.id"
+            v-show="isDisabled"
+            v-for="tag in dynamicTags"
+            :disable-transitions="false"
+            @close="handleClose(tag)"
+          >
+            {{ tag.name }}
+          </el-tag>
+        </el-form-item>
+        <el-form-item
           label="公司名称"
           prop="corporateName"
           :label-width="formLabelWidth"
@@ -270,7 +298,7 @@
                 autoCropHeight: 300, //默认生成截图框高度
                 fixedBox: true, //是否固定截图框大小 不允许改变
                 previewsCircle: false, //预览图是否是圆形
-                title: '上传企业公章', //模态框上显示的标题
+                title: '上传企业公章' //模态框上显示的标题
               }"
               isDelete
               :imgSize="5"
@@ -318,7 +346,7 @@
                 autoCropHeight: 300, //默认生成截图框高度
                 fixedBox: true, //是否固定截图框大小 不允许改变
                 previewsCircle: false, //预览图是否是圆形
-                title: '上传企业财务公章', //模态框上显示的标题
+                title: '上传企业财务公章' //模态框上显示的标题
               }"
               isDelete
               :imgSize="5"
@@ -430,18 +458,19 @@ import {
   areaQueryChild,
   branchAdd,
   branchUpdate,
-  getParentArea,
+  getParentArea
 } from "@/api/specialSetting";
 import { vaildStudentUrl } from "@/utils/validate";
 import { queryEmployByOrganId } from "@/api/systemManage";
 import ImageCropper from "@/components/ImageCropper";
+import { queryTree } from "../../accompaniment/api";
 export default {
   name: "branchSetting",
   components: { pagination, qrCode, ImageCropper },
   data() {
     return {
       headers: {
-        Authorization: getToken(),
+        Authorization: getToken()
       },
       tableList: [],
       pageInfo: {
@@ -449,19 +478,20 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       organId: null,
       formActionTitle: "create",
       formTitle: {
         create: "添加分部",
-        update: "修改分部",
+        update: "修改分部"
       },
       formLabelWidth: "120px",
       branchStatus: false,
       provinceList: [], // 省列表
       cityList: [], // 市列表
       employeeList: [], // 分部下的员工集合
+      teachList: [], // 可用教材列表
       form: {
         name: null,
         province: null,
@@ -477,43 +507,72 @@ export default {
         corporateCode: null,
         corporateSeal: null,
         corporateFinancialSeal: null,
-        maxMusicalInstrumentsProfits:null
+        maxMusicalInstrumentsProfits: null,
+        teachingMaterialId: []
       },
       rules: {
         name: [{ required: true, message: "请输入分部名称", trigger: "blur" }],
         province: [{ required: true, message: "请选择省", trigger: "change" }],
         city: [{ required: true, message: "请选择市", trigger: "change" }],
         address: [
-          { required: true, message: "请输入分部地址", trigger: "blur" },
+          { required: true, message: "请输入分部地址", trigger: "blur" }
         ],
         registerDate: [
-          { required: true, message: "请选择成立时间", trigger: "change" },
+          { required: true, message: "请选择成立时间", trigger: "change" }
         ],
         gradeType: [
-          { required: true, message: "请选择学年制", trigger: "change" },
+          { required: true, message: "请选择学年制", trigger: "change" }
         ],
         maxMusicalInstrumentsProfits: [
           { required: true, message: "请输入乐器分润上线", trigger: "change" },
           {
-            pattern:
-              /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
-            message: "请输入正确的金额",
-          },
-        ],
+            pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+            message: "请输入正确的金额"
+          }
+        ]
       },
       codeStatus: false,
       qrCodeUrl: null,
       codeTitle: "注册二维码",
       searchForm: {
-        search: "",
-      },
+        search: ""
+      }
     };
   },
   mounted() {
+    this.__init();
     this.getList();
     this.getAreaList();
   },
   methods: {
+    async __init() {
+      try {
+        // 不管是添加、查看、修改都传-1
+        const tenantId = -1;
+        const res = await queryTree({ enable: 1, tenantId });
+        const rows = res.data || [];
+        rows.forEach(item => {
+          let children = [];
+          item.label = item.name;
+          item.value = item.id;
+          let childList = item.sysMusicScoreCategoriesList
+            ? item.sysMusicScoreCategoriesList
+            : [];
+          if (childList.length > 0) {
+            childList.forEach(child => {
+              child.label = child.name;
+              child.value = child.id;
+              child.sysMusicScoreCategoriesList = [];
+              children.push(child);
+            });
+          }
+          item.children = children.length > 0 ? children : null;
+          this.teachList.push(item);
+        });
+      } catch (e) {
+        console.log(e);
+      }
+    },
     cropSuccess1(data) {
       this.form.corporateSeal = data.data.url;
     },
@@ -530,7 +589,7 @@ export default {
     },
     beforeAvatarUpload(file) {
       const imageType = {
-        "image/png": true,
+        "image/png": true
       };
       const isImage = imageType[file.type];
       const isLt2M = file.size / 1024 / 1024 < 5;
@@ -551,7 +610,7 @@ export default {
       this.form.corporateFinancialSeal = res.data.url;
     },
     onBranchSubmit(formName) {
-      this.$refs[formName].validate((valid) => {
+      this.$refs[formName].validate(valid => {
         if (!valid) return;
         this.form.areaId = this.form.city;
         let obj = {
@@ -560,6 +619,7 @@ export default {
           educationId: this.form.educationId.join(","),
           repairId: this.form.repairId.join(","),
           joinTeacherId: this.form.joinTeacherId.join(","),
+          teachingMaterialId: this.form.teachingMaterialId.join(",")
         };
 
         if (this.formActionTitle == "create") {
@@ -567,11 +627,11 @@ export default {
             // 判断有没有Id,如果有则删除
             delete obj.id;
           }
-          branchAdd(obj).then((res) => {
+          branchAdd(obj).then(res => {
             this.messageTips("添加", res);
           });
         } else if (this.formActionTitle == "update") {
-          branchUpdate(obj).then((res) => {
+          branchUpdate(obj).then(res => {
             this.messageTips("修改", res);
           });
         }
@@ -590,8 +650,8 @@ export default {
       branchQueryPage({
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
-        ...this.searchForm,
-      }).then((res) => {
+        ...this.searchForm
+      }).then(res => {
         if (res.code == 200 && res.data) {
           this.tableList = res.data.rows;
           this.pageInfo.total = res.data.total;
@@ -605,13 +665,13 @@ export default {
     },
     getAreaList(parentId, callback) {
       parentId = parentId ? parentId : 0;
-      areaQueryChild({ parentId: parentId }).then((res) => {
+      areaQueryChild({ parentId: parentId }).then(res => {
         if (res.code == 200 && res.data) {
           let tempData = [];
-          res.data.forEach((item) => {
+          res.data.forEach(item => {
             tempData.push({
               label: item.name,
-              value: item.id,
+              value: item.id
             });
           });
           if (parentId) {
@@ -639,7 +699,7 @@ export default {
             organId: row.id,
             rows: 9999,
             demissionflag: false,
-            lockFlag: false,
+            lockFlag: false
           });
           this.$set(this, "employeeList", res.data.rows);
         } catch (e) {
@@ -649,7 +709,7 @@ export default {
       this.formActionTitle = type;
 
       if (type == "update") {
-        getParentArea({ id: row.areaId }).then((res) => {
+        getParentArea({ id: row.areaId }).then(res => {
           if (res.code == 200 && res.data) {
             this.getAreaList(res.data.id, () => {
               this.form = {
@@ -672,7 +732,7 @@ export default {
                 corporateCode: row.corporateCode,
                 corporateSeal: row.corporateSeal,
                 corporateFinancialSeal: row.corporateFinancialSeal,
-                maxMusicalInstrumentsProfits:row.maxMusicalInstrumentsProfits
+                maxMusicalInstrumentsProfits: row.maxMusicalInstrumentsProfits
               };
             });
             this.branchStatus = true;
@@ -687,8 +747,8 @@ export default {
         vaildStudentUrl() + "/project/register/index.html?organId=" + row.id;
       this.codeStatus = true;
       // qrCodeUrl:null,
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>

+ 182 - 145
src/views/organManager/components/memberSetting.vue

@@ -2,96 +2,129 @@
 <template>
   <div>
     <el-alert
-        title="会员设置"
-        type="info"
-        :closable="false"
-        style="margin-bottom: 20px"
-      ></el-alert>
-      <el-form ref="form" label-position="top" :model="form" label-width="140px"  :inline="true">
-        <el-form-item label="按天会员激活金额" prop="day_divide"
-          :rules="[{ required: true, message: '请输入会员激活金额', trigger: 'blur' }]">
-          <el-input
-            :disabled="isDisabled"
-            placeholder="请输入会员激活金额"
-            v-model="form.day_divide"
-            @keyup.native='keyupEvent($event)'
-            style="width: 238px;"
-          >
-            <div slot="append">元/天/人</div>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="月度会员激活价" prop="month_divide"
-          :rules="[{ required: true, message: '请输入会员激活价', trigger: 'blur' }]">
-          <el-input
-            :disabled="isDisabled"
-            placeholder="请输入会员激活价"
-            v-model="form.month_divide"
-            @keyup.native='keyupEvent($event)'
-            style="width: 238px;"
-          >
-            <div slot="append">元/月/人</div>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="季度会员激活价" prop="quarter_divide"
-          :rules="[{ required: true, message: '请输入会员激活价', trigger: 'blur' }]">
-          <el-input
-            :disabled="isDisabled"
-            placeholder="请输入会员激活价"
-            v-model="form.quarter_divide"
-            @keyup.native='keyupEvent($event)'
-            style="width: 238px;"
-          >
-            <div slot="append">元/季/人</div>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="半年会员激活价" prop="half_year_divide"
-          :rules="[{ required: true, message: '请输入会员激活价', trigger: 'blur' }]">
-          <el-input
-            :disabled="isDisabled"
-            placeholder="请输入会员激活价"
-            @keyup.native='keyupEvent($event)'
-            v-model="form.half_year_divide"
-            style="width: 238px;"
-          >
-            <div slot="append">元/半年/人</div>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="年度会员激活价" prop="year_divide"
-          :rules="[{ required: true, message: '请输入会员激活价', trigger: 'blur' }]">
-          <el-input
-            :disabled="isDisabled"
-            placeholder="请输入会员激活价"
-            @keyup.native='keyupEvent($event)'
-            v-model="form.year_divide"
-            style="width: 238px;"
-          >
-            <div slot="append">元/年/人</div>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="可用教材" prop="teachingMaterialId">
-          <el-cascader
-            v-model.trim="form.teachingMaterialId"
-            :disabled="isDisabled"
-            v-show="!isDisabled"
-            style="width: 300px !important"
-            :options="teachList"
-            :props="{ multiple: true }"
-            :show-all-levels="false"
-            collapse-tags
-            ref="cascader"
-            @change="onChange"
-            clearable></el-cascader>
+      title="会员设置"
+      type="info"
+      :closable="false"
+      style="margin-bottom: 20px"
+    ></el-alert>
+    <el-form
+      ref="form"
+      label-position="top"
+      :model="form"
+      label-width="140px"
+      :inline="true"
+    >
+      <el-form-item
+        label="按天会员激活金额"
+        prop="day_divide"
+        :rules="[
+          { required: true, message: '请输入会员激活金额', trigger: 'blur' }
+        ]"
+      >
+        <el-input
+          :disabled="isDisabled"
+          placeholder="请输入会员激活金额"
+          v-model="form.day_divide"
+          @keyup.native="keyupEvent($event)"
+          style="width: 238px;"
+        >
+          <div slot="append">元/天/人</div>
+        </el-input>
+      </el-form-item>
+      <el-form-item
+        label="月度会员激活价"
+        prop="month_divide"
+        :rules="[
+          { required: true, message: '请输入会员激活价', trigger: 'blur' }
+        ]"
+      >
+        <el-input
+          :disabled="isDisabled"
+          placeholder="请输入会员激活价"
+          v-model="form.month_divide"
+          @keyup.native="keyupEvent($event)"
+          style="width: 238px;"
+        >
+          <div slot="append">元/月/人</div>
+        </el-input>
+      </el-form-item>
+      <el-form-item
+        label="季度会员激活价"
+        prop="quarter_divide"
+        :rules="[
+          { required: true, message: '请输入会员激活价', trigger: 'blur' }
+        ]"
+      >
+        <el-input
+          :disabled="isDisabled"
+          placeholder="请输入会员激活价"
+          v-model="form.quarter_divide"
+          @keyup.native="keyupEvent($event)"
+          style="width: 238px;"
+        >
+          <div slot="append">元/季/人</div>
+        </el-input>
+      </el-form-item>
+      <el-form-item
+        label="半年会员激活价"
+        prop="half_year_divide"
+        :rules="[
+          { required: true, message: '请输入会员激活价', trigger: 'blur' }
+        ]"
+      >
+        <el-input
+          :disabled="isDisabled"
+          placeholder="请输入会员激活价"
+          @keyup.native="keyupEvent($event)"
+          v-model="form.half_year_divide"
+          style="width: 238px;"
+        >
+          <div slot="append">元/半年/人</div>
+        </el-input>
+      </el-form-item>
+      <el-form-item
+        label="年度会员激活价"
+        prop="year_divide"
+        :rules="[
+          { required: true, message: '请输入会员激活价', trigger: 'blur' }
+        ]"
+      >
+        <el-input
+          :disabled="isDisabled"
+          placeholder="请输入会员激活价"
+          @keyup.native="keyupEvent($event)"
+          v-model="form.year_divide"
+          style="width: 238px;"
+        >
+          <div slot="append">元/年/人</div>
+        </el-input>
+      </el-form-item>
+      <el-form-item label="可用教材" prop="teachingMaterialId">
+        <el-cascader
+          v-model.trim="form.teachingMaterialId"
+          :disabled="isDisabled"
+          v-show="!isDisabled"
+          style="width: 300px !important"
+          :options="teachList"
+          :props="{ multiple: true }"
+          :show-all-levels="false"
+          collapse-tags
+          ref="cascader"
+          @change="onChange"
+          clearable
+        ></el-cascader>
 
-          <el-tag
-            :key="tag.id"
-            v-show="isDisabled"
-            v-for="tag in dynamicTags"
-            :disable-transitions="false"
-            @close="handleClose(tag)">
-            {{tag.name}}
-          </el-tag>
-        </el-form-item>
-      </el-form>
+        <el-tag
+          :key="tag.id"
+          v-show="isDisabled"
+          v-for="tag in dynamicTags"
+          :disable-transitions="false"
+          @close="handleClose(tag)"
+        >
+          {{ tag.name }}
+        </el-tag>
+      </el-form-item>
+    </el-form>
   </div>
 </template>
 
@@ -113,11 +146,11 @@
 //     }
 // }
 // import { getSysMusicScoreList } from '@/views/teachManager/api'
-import { queryTree } from '../../accompaniment/api'
-import _ from 'lodash'
+import { queryTree } from "../../accompaniment/api";
+import _ from "lodash";
 export default {
-  props: ['type', 'data'],
-  data () {
+  props: ["type", "data"],
+  data() {
     return {
       form: {
         day_divide: null,
@@ -125,72 +158,76 @@ export default {
         quarter_divide: null,
         half_year_divide: null,
         year_divide: null,
-        teachingMaterialId: [], // 可用教材
+        teachingMaterialId: [] // 可用教材
       },
       teachList: [], // 教材列表
       dynamicTags: []
     };
   },
-  async mounted () {
-    await this.__init()
-    if(this.data) {
-      const { config, teachingMaterialId } = this.data
-      const tmpConfig = config ? JSON.parse(config) : {}
-      let tempIdArr = []
-      if(teachingMaterialId) {
-        const tempIds = teachingMaterialId.split(',').map(i => Number(i))
+  async mounted() {
+    await this.__init();
+    if (this.data) {
+      const { config, teachingMaterialId } = this.data;
+      const tmpConfig = config ? JSON.parse(config) : {};
+      let tempIdArr = [];
+      if (teachingMaterialId) {
+        const tempIds = teachingMaterialId.split(",").map(i => Number(i));
         tempIds.forEach(id => {
-          tempIdArr.push(this.formatParentId(id, this.teachList))
-        })
+          tempIdArr.push(this.formatParentId(id, this.teachList));
+        });
       }
       this.form = {
         ...tmpConfig.member_config,
         teachingMaterialId: tempIdArr
-      }
+      };
       this.$nextTick(() => {
-        this.onChange()
-      })
+        this.onChange();
+      });
     }
   },
   computed: {
     isDisabled() {
-      return this.type == 'setting' ? true : false
+      return this.type == "setting" ? true : false;
     }
   },
   methods: {
     async __init() {
       try {
         // 不管是添加、查看、修改都传-1
-        const tenantId = -1
-        const res = await queryTree({ enable: 1, tenantId })
-        const rows = res.data || []
+        const tenantId = -1;
+        const res = await queryTree({ enable: 1, tenantId });
+        const rows = res.data || [];
         rows.forEach(item => {
-          let children = []
-          item.label = item.name
-          item.value = item.id
-          let childList = item.sysMusicScoreCategoriesList ? item.sysMusicScoreCategoriesList : []
-          if(childList.length > 0) {
+          let children = [];
+          item.label = item.name;
+          item.value = item.id;
+          let childList = item.sysMusicScoreCategoriesList
+            ? item.sysMusicScoreCategoriesList
+            : [];
+          if (childList.length > 0) {
             childList.forEach(child => {
-              child.label = child.name
-              child.value = child.id
-              child.sysMusicScoreCategoriesList = []
-              children.push(child)
-            })
+              child.label = child.name;
+              child.value = child.id;
+              child.sysMusicScoreCategoriesList = [];
+              children.push(child);
+            });
           }
-          item.children = children.length > 0 ? children : null
-          this.teachList.push(item)
-        })
-      } catch(e) { console.log(e) }
+          item.children = children.length > 0 ? children : null;
+          this.teachList.push(item);
+        });
+      } catch (e) {
+        console.log(e);
+      }
     },
     onChange() {
-      let childNodes = this.$refs.cascader.getCheckedNodes(true)
-      this.dynamicTags = []
+      let childNodes = this.$refs.cascader.getCheckedNodes(true);
+      this.dynamicTags = [];
       childNodes.forEach(node => {
         this.dynamicTags.push({
           name: node.label,
           id: node.value
-        })
-      })
+        });
+      });
     },
     formatParentId(id, list, ids = []) {
       for (const item of list) {
@@ -210,35 +247,35 @@ export default {
       }
       return ids;
     },
-    handleClose(tag) {
-
-    },
+    handleClose(tag) {},
     onSubmit() {
-      let status = false
+      let status = false;
       this.$refs.form.validate(_ => {
-        status = _
-      })
-      return status
+        status = _;
+      });
+      return status;
     },
     getValues() {
-      const { teachingMaterialId, ...res } = this.form
-      let tempArr = []
+      const { teachingMaterialId, ...res } = this.form;
+      let tempArr = [];
       teachingMaterialId.forEach(ids => {
-        tempArr.push(_.last(ids))
-      })
+        tempArr.push(_.last(ids));
+      });
       return {
         member_config: { ...res },
         teachingMaterialId: tempArr
-      }
-    },
-  },
+      };
+    }
+  }
 };
 </script>
-<style lang='scss' scoped>
+<style lang="scss" scoped>
 .el-tag + .el-tag {
   margin-left: 10px;
 }
-.el-input, .el-select, .el-cascader__dropdown {
+.el-input,
+.el-select,
+.el-cascader__dropdown {
   width: 300px !important;
 }
 .el-cascader-menu {