Browse Source

修改权限

lex-xin 5 năm trước cách đây
mục cha
commit
7fcfa05fed

+ 284 - 0
src/views/categroyManager/insideSetting/chargeProfitManager.vue

@@ -0,0 +1,284 @@
+<template>
+  <div class='m-container'>
+    <h2>
+      <div class="squrt"></div>收费分润管理
+    </h2>
+    <div class="m-core">
+     
+      <el-form :inline="true"
+               class="searchForm"
+               @submit.native.prevent
+               v-model="searchForm">
+        <el-form-item>
+          <el-select v-model="form.organIdLists">
+            <el-option v-for="item in branchList"
+                       :key="item.value"
+                       :label="item.label"
+                       :value="item.value"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="search"
+                     type="danger">搜索</el-button>
+        </el-form-item>
+      </el-form>
+
+      <!-- 列表 -->
+      <div class="tableWrap">
+        <el-table :data='tableList'
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+          <el-table-column align='center'
+                           prop="realName"
+                           label="分部">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="phone"
+                           label="方式">
+          </el-table-column>
+          <el-table-column align='center'
+                           label="详情">
+            <template slot-scope="scope">
+              {{ scope.row.roleNames | joinArray(',') }}
+            </template>
+          </el-table-column>
+          <el-table-column align='center'
+                           width="250px"
+                           label="操作">
+            <template slot-scope="scope">
+              <el-button @click="roleOperation('update', scope.row)"
+                         type="text">修改</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination :total="pageInfo.total"
+                    :page.sync="pageInfo.page"
+                    :limit.sync="pageInfo.limit"
+                    :page-sizes="pageInfo.page_size"
+                    @pagination="getList" />
+      </div>
+    </div>
+
+    <el-dialog title="修改收费分润"
+               :visible.sync="chargeStatus"
+               @close="onFormClose('ruleForm')"
+               width="500px">
+      <el-form :model="form"
+               :rules="rules"
+               ref="ruleForm">
+        <el-form-item label="收费方式"
+                      prop="name"
+                      :label-width="formLabelWidth">
+            <el-radio v-model="form.radio" label="1">比例分润</el-radio>
+            <el-radio v-model="form.radio" label="2">收费种类</el-radio>
+        </el-form-item>
+
+        <div v-if="form.radio == 1">
+            <el-form-item label="公" :label-width="formLabelWidth">
+                <el-input></el-input>
+            </el-form-item>
+            <el-form-item label="私" :label-width="formLabelWidth">
+                <el-input></el-input>
+            </el-form-item>
+        </div>
+
+        <div v-if="form.radio == 2">
+            <el-form-item label="课程" :label-width="formLabelWidth">
+                <el-select placeholder="请选择方式" v-model="form.course">
+                    <el-option label="公" value="COM"></el-option>
+                    <el-option label="私" value="PER"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="乐器" :label-width="formLabelWidth">
+                <el-select placeholder="请选择方式" v-model="form.instrment">
+                    <el-option label="公" value="COM"></el-option>
+                    <el-option label="私" value="PER"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="辅件" :label-width="formLabelWidth">
+                <el-select placeholder="请选择方式" v-model="form.accessories">
+                    <el-option label="公" value="COM"></el-option>
+                    <el-option label="私" value="PER"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="其它" :label-width="formLabelWidth">
+                <el-select placeholder="请选择方式" v-model="form.other">
+                    <el-option label="公" value="COM"></el-option>
+                    <el-option label="私" value="PER"></el-option>
+                </el-select>
+            </el-form-item>
+        </div>
+
+
+      </el-form>
+      <span slot="footer"
+            class="dialog-footer">
+        <el-button @click="chargeStatus = false">取 消</el-button>
+        <el-button @click="onRoleSubmit('ruleForm')"
+                   type="primary">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import pagination from '@/components/Pagination/index'
+import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate } from '@/api/systemManage'
+import { branchQueryPage } from '@/api/specialSetting'
+import store from '@/store'
+
+export default {
+  components: { pagination },
+  name: 'adminManager',
+  data () {
+    return {
+      tableList: [],
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      chargeStatus: true,
+      roleList: [], // 角色列表
+      branchList: [], // 分部列表
+      formLabelWidth: '100px',
+      form: {
+        radio: '1',
+        course: 'COM',
+        instrment: 'COM',
+        accessories: 'COM',
+        other: 'COM'
+      },
+      rules: {
+        realName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
+        gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
+        phone: [{ type: 'number', required: true, trigger: 'blur' }],
+        roleIds: [{ type: 'array', required: true, message: '请选择分类', trigger: 'change' }],
+        organIdLists: [{ type: 'array', required: true, message: '请选择所属部门', trigger: 'change' }],
+        jobNature: [{ required: true, message: '请选择工作类型', trigger: 'change' }],
+        entryDate: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
+      },
+      searchForm: {
+        search: null
+      }
+    }
+  },
+  mounted () {
+    this.getList()
+    this.getRoleList()
+
+
+  },
+  methods: {
+    onBranchCheckAll () {
+      this.form.organIdLists = []
+      this.branchList.forEach(item => {
+        this.form.organIdLists.push(item.value)
+      })
+    },
+    onRoleSubmit (formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.form.organIdList = this.form.organIdLists.join(',')
+          if (this.formActionTitle == 'create') {
+            if (this.form.id) { // 判断有没有Id,如果有则删除
+              delete this.form.id
+            }
+            employeeAdd(this.form).then(res => {
+              this.messageTips('添加', res)
+            })
+          } else if (this.formActionTitle == 'update') {
+            employeeUpdate(this.form).then(res => {
+              this.messageTips('修改', res)
+            })
+          }
+        } else {
+          return
+        }
+      })
+    },
+    messageTips (title, res) {
+      if (res.code == 200) {
+        this.$message.success(title + '成功')
+        this.chargeStatus = false
+        this.getList()
+      } else {
+        this.$message.error(res.msg)
+      }
+    },
+    search () {
+      this.pageInfo.page = 1
+      this.getList()
+    },
+    getList () {
+      let params = this.searchForm
+      params.rows = this.pageInfo.limit
+      params.page = this.pageInfo.page
+      queryEmployByOrganId(params).then(res => {
+        if (res.code == 200 && res.data) {
+          this.tableList = res.data.rows
+          this.pageInfo.total = res.data.total
+        }
+      })
+    },
+    getRoleList () { // 获取角色
+      branchQueryPage({ // 获取分部
+        delFlag: 0,
+        rows: 9999
+      }).then(res => {
+        if (res.code == 200 && res.data && res.data.rows) {
+          res.data.rows.forEach(item => {
+            this.branchList.push({
+              label: item.name,
+              value: item.id
+            })
+          })
+        }
+      })
+    },
+    roleOperation (type, data) {
+      this.formActionTitle = type
+      this.chargeStatus = true
+      // 修改的时候
+    //   if (type == 'update') {
+    //     this.form = {
+    //       id: data.id,
+    //       realName: data.realName,
+    //       gender: data.gender,
+    //       phone: Number(data.phone),
+    //       roleIds: data.roleIds,
+    //       organIdLists: data.organIdList ? data.organIdList : [],
+    //       jobNature: data.jobNature,
+    //       entryDate: data.entryDate
+    //     }
+    //   }
+    },
+    onFormClose (formName) { // 关闭弹窗重置验证
+      this.form = {
+      }
+      this.$refs[formName].resetFields()
+    }
+  }
+}
+</script>
+<style lang="scss">
+.el-button--primary {
+  background: #14928a;
+  border-color: #14928a;
+  color: #fff;
+  &:hover,
+  &:active,
+  &:focus {
+    background: #14928a;
+    border-color: #14928a;
+    color: #fff;
+  }
+}
+.el-dialog__body {
+  padding: 0 20px;
+}
+.el-select,
+.el-date-editor.el-input {
+  width: 100% !important;
+}
+</style>

+ 18 - 10
src/views/journal/index.vue

@@ -5,25 +5,27 @@
     <div class="m-core">
       <el-tabs type="border-card"
                v-model="activeIndex" @tab-click="handleClick">
-        <el-tab-pane label="系统通知"
+        <el-tab-pane label="系统通知" v-if="permissionList.journalItem"
                      name='0'>
-          <item v-if="activeStatus[0]" />
+          <item v-if="activeIndex == 0" />
         </el-tab-pane>
-        <el-tab-pane label="学员申诉"
+        <el-tab-pane label="学员申诉" v-if="permissionList.studentComplain"
                      name='1'>
-          <studentComplain v-if="activeStatus[1]" />
+          <studentComplain v-if="activeIndex == 1" />
         </el-tab-pane>
-        <el-tab-pane label="退团退课"
+        <el-tab-pane label="退团退课" v-if="permissionList.musicGroupCourse"
                      name='2'>
-          <musicGroup v-if="activeStatus[2]" />
+          <musicGroup v-if="activeIndex == 2" />
         </el-tab-pane>
         <el-tab-pane label="请假处理"
+                     v-if="permissionList.leaveOperation"
                      name='3'>
-          <leaveOperation v-if="activeStatus[3]" />
+          <leaveOperation v-if="activeIndex == 3" />
         </el-tab-pane>
         <el-tab-pane label="VIP申请审核"
+                     v-if="permissionList.vipApply"
                      name='4'>
-          <vipApply v-if="activeStatus[4]" />
+          <vipApply v-if="activeIndex == 4" />
         </el-tab-pane>
       </el-tabs>
     </div>
@@ -35,6 +37,7 @@ import studentComplain from './studentComplain'
 import musicGroup from './musicGroup'
 import leaveOperation from './leaveOperation'
 import vipApply from './vipApply'
+import { permission } from '@/utils/directivePage'
 export default {
   components: {
     item, studentComplain, musicGroup, leaveOperation, vipApply
@@ -42,13 +45,18 @@ export default {
   data () {
     return {
       activeIndex: '0',
-      activeStatus: [true, false, false, false, false]
+      permissionList: {
+        journalItem: permission('/journalItem'),
+        studentComplain: permission('/studentComplain'),
+        musicGroupCourse: permission('/musicGroupCourse'),
+        leaveOperation: permission('/leaveOperation'),
+        vipApply: permission('/vipApply')
+      }
     }
   },
   methods: {
     handleClick (val) {
       this.activeIndex = val.name
-      this.activeStatus[val.name] = true
     }
   }
 }

+ 1 - 1
src/views/journal/leaveOperation.vue

@@ -84,7 +84,7 @@
 
         </div>
       </div>
-      <div class="infoFoot" v-if="showMessage.status == 'ING'">
+      <div v-permission="'teacherLeaveRecord/approve'" class="infoFoot" v-if="showMessage.status == 'ING'">
         <div class="noBtn" @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
         <div class="yesBtn" @click="onSubmit(showMessage, 'PASS')">同意</div>
       </div>

+ 5 - 6
src/views/journal/musicGroup.vue

@@ -35,7 +35,6 @@
           <el-col :span="24">
             <h3 class="title">学员退课
                 <el-tag v-if="showMessage.studentApplyRefunds.status == 'DONE'" type="success" effect="plain">已处理</el-tag>
-                <el-tag v-if="showMessage.studentApplyRefunds.status == 'WAIT_PAYMENT'" type="success" effect="plain">待支付</el-tag>
                 <el-tag v-if="showMessage.studentApplyRefunds.status == 'REJECT'" type="danger" effect="plain">已拒绝</el-tag>
               <span class="time">时间: {{ showMessage.studentApplyRefunds.createTime }}</span></h3>
           </el-col>
@@ -72,9 +71,9 @@
               </el-input>
           </el-col>
         </el-row>
-        <el-row>
+        <el-row v-permission="'musicGroupQuit/quitMusicGroup'">
           <el-col :span="24" v-if="showMessage.studentApplyRefunds.status == 'ING'">
-            <el-button type="primary" @click="onSubmit(showMessage.studentApplyRefunds.id, showMessage.type, 'WAIT_PAYMENT')">确认</el-button>
+            <el-button type="primary" @click="onSubmit(showMessage.studentApplyRefunds.id, showMessage.type, 'DONE')">确认</el-button>
             <el-button type="danger" @click="onSubmit(showMessage.studentApplyRefunds.id, showMessage.type, 'REJECT')">拒绝</el-button>
           </el-col>
         </el-row>
@@ -107,17 +106,17 @@
               v-model="remark"> </el-input>
           </el-col>
         </el-row>
-        <el-row>
+        <el-row v-permission="'vipGroupManage/applyRefundAudit'">
           <el-col :span="24" v-if="showMessage.status == 'PROCESSING'">
             <el-button type="primary" @click="onSubmitGroup(showMessage, 'APPROVED')">确认</el-button>
             <el-button type="danger" @click="onSubmitGroup(showMessage, 'DENIED')">拒绝</el-button>
           </el-col>
         </el-row>
 
-        <div class="infoFoot" v-if="showMessage.auditStatus == 'ING'">
+        <!-- <div class="infoFoot" v-if="showMessage.auditStatus == 'ING'">
           <div class="noBtn" @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
           <div class="yesBtn" @click="onSubmit(showMessage, 'PASS')">同意</div>
-        </div>
+        </div> -->
       </div>
     </div>
   </div>

+ 1 - 1
src/views/journal/studentComplain.vue

@@ -89,7 +89,7 @@
           </div>
         </el-col>
       </el-row>
-      <el-row v-if="showMessage.complaints.status == 'ING'">
+      <el-row v-permission="'courseSchedule/courseScheduleCommplaintAudit'" v-if="showMessage.complaints.status == 'ING'">
         <el-col :span="24">
           <el-button type="primary" @click="onSubmit(showMessage.complaints.id, 'submit')">确认</el-button>
           <el-button type="danger" @click="onSubmit(showMessage.complaints.id, 'reject')">拒绝</el-button>

+ 1 - 1
src/views/journal/vipApply.vue

@@ -87,7 +87,7 @@
 
         </div>
       </div>
-      <div class="infoFoot" v-if="showMessage.auditStatus == 'ING'">
+      <div v-permission="'vipGroupManage/vipApplyAudit'" class="infoFoot" v-if="showMessage.auditStatus == 'ING'">
         <div class="noBtn" @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
         <div class="yesBtn" @click="onSubmit(showMessage, 'PASS')">同意</div>
       </div>