Browse Source

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

mo 5 years ago
parent
commit
fa849e6ed1

+ 18 - 0
src/api/specialSetting.js

@@ -46,3 +46,21 @@ export function getParentArea(data) {
         method: 'get'
     })
 }
+
+// 分页查询科目列表
+export function subjectListTree(data) {
+    return request({
+        url: `/web-server/subject/queryPageTree`,
+        method: 'get',
+        params: data
+    })
+}
+
+// 分页查询科目列表
+export function subjectUpset(data) {
+    return request({
+        url: `/web-server/subject/upset`,
+        method: 'post',
+        data: qs.stringify(data)
+    })
+}

+ 1 - 1
src/api/systemManage.js

@@ -99,7 +99,7 @@ export function employeeUpdate(data) {
 // 获取用户角色列表
 export function getUserRole(data) {
     return request({
-        url: `/api-auth/user/getRole`,
+        url: `/api-auth/role/queryPage`,
         method: 'get',
         params: data
     })

+ 2 - 1
src/main.js

@@ -11,7 +11,8 @@ import '@/styles/index.scss' // global css
 import App from './App'
 import store from './store'
 import router from './router'
-
+import vueFilter from './utils/vueFilter'
+Vue.use(vueFilter)
 import '@/icons' // icon
 import '@/permission' // permission control
 

+ 23 - 0
src/utils/vueFilter.js

@@ -0,0 +1,23 @@
+import Vue from 'vue'
+
+// 合并数组
+Vue.filter('joinArray', (value, type) => {
+    if(!type) {
+        type = ' '
+    }
+    if(typeof value == 'object' && value != null) {
+        return value.join(type)
+    } else {
+        return value
+    }
+})
+
+// 合并数组
+Vue.filter('jobNature', (value) => {
+    let template = {
+        PART_TIME: "兼职",
+        FULL_TIME: "全职",
+        TEMPORARY: "零时工"
+    }
+    return template[value]
+})

+ 133 - 4
src/views/businessManager/shopManager/shopCategory.vue

@@ -1,12 +1,141 @@
 <template>
-  <div>
-    商品分类
+  <div class='m-container'>
+    <h2>商品分类</h2>
+    <div class="m-core">
+      <div class='newBand'>添加</div>
+      <!-- 列表 -->
+      <el-row class="music-title">
+        <el-col :span="6">
+          一级分类 
+          <el-popover placement="right_start" width="300" trigger="click">
+            <el-input v-model="oneTypeName" size="medium" style="width: 73%" autocomplete="off"></el-input>
+            <el-button type="primary" size="medium" >提交</el-button>
+            <el-button slot="reference" type="primary" size="mini" round icon="el-icon-plus">添加</el-button>
+          </el-popover>
+          
+        </el-col>
+        <el-col :span="18">
+          二级分类
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="6">
+          <el-button icon="el-icon-delete" circle></el-button>
+          <span class="one_name">一级分类</span>
+        </el-col>
+        <el-col :span="18" class="tow_col">
+          <el-input class="tow_input" v-model="input"></el-input>
+          <el-button type="primary" size="mini" round icon="el-icon-plus">添加</el-button>
+          <el-button type="info" size="mini" round icon="el-icon-check">保存</el-button>
+        </el-col>
+      </el-row>
+
+
+
+    </div>
   </div>
 </template>
 <script>
+import pagination from '@/components/Pagination/index'
+import store from '@/store'
 export default {
-
+  components: { pagination },
+  name: 'musicalManager',
+  data () {
+    return {
+      organId: store.getters.organ,
+      oneTypeName: null, // 添加一级分类名称
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    messageTips(title, res) {
+      if(res.code == 200) {
+        this.$message({
+          message: title + '成功',
+          type: 'success'
+        })
+        this.branchStatus = false
+        this.getList()
+      } else {
+        this.$message.error(res.msg)
+      }
+    },
+    getList () { 
+      
+    }
+  }
 }
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
+.el-popover {
+  .el-form {
+    display: flex;
+  }
+  .el-form-item__content {
+    margin-left: 0 !important;
+  }
+}
+.music-title {
+  font-size: 14px;
+  color: #444;
+  .el-col {
+    background-color: #EDEEF0;
+    padding-left: 36px;
+  }
+  .el-button {
+    float: right;
+    margin-top: 10px;
+    margin-right: 16px;
+  }
+}
+.el-row {
+  margin-bottom: 12px;
+  .el-col {
+    line-height: 48px;
+  }
+  .el-col-18 {
+    width: calc(75% - 20px);
+    margin-left: 20px;
+  }
+  .one_name {
+    padding-left: 10px;
+  }
+  .tow_col {
+    padding-left: 20px;
+    .el-button--primary{
+      background: #fff;
+      border-color: #979797;
+      color: #777;
+      &:hover, &:active, &:focus {
+        background: #fff;
+        border-color: #979797;
+        color: #777;
+      }
+    }
+  }
+  .tow_input {
+    width: 100px;
+    margin-right: 12px;
+  }
+}
+.el-input-group__append, .el-button--primary {
+  background: #14928a;
+  border-color: #14928a;
+  color: #fff;
+  &:hover, &:active, &:focus {
+    background: #14928a;
+    border-color: #14928a;
+    color: #FFF;
+  }
+}
+.el-date-editor.el-input{
+  width: 100% !important;
+}
+.el-select {
+  width: 98% !important;
+}
 </style>

+ 39 - 19
src/views/categroyManager/insideSetting/staffManager.vue

@@ -7,20 +7,29 @@
       <!-- 列表 -->
       <div class="tableWrap">
         <el-table :data='tableList'>
-          <el-table-column align='center' prop="username"
+          <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' prop="roleName"
+          <el-table-column align='center'
                            label="角色分类">
+            <template slot-scope="scope">
+              {{ scope.row.roleNames | joinArray(',') }}
+            </template>
           </el-table-column>
           <el-table-column align='center' prop="jobNature"
                            label="工作类型">
+            <template slot-scope="scope">
+              {{ scope.row.jobNature | jobNature }}
+            </template>
           </el-table-column>
-          <el-table-column align='center' prop="organName"
+          <el-table-column align='center'
                            label="所属部门">
+            <template slot-scope="scope">
+              {{ scope.row.organNameList | joinArray(',') }}
+            </template>
           </el-table-column>
           <el-table-column align='center'
                            label="状态" :formatter="formatLockFlag">
@@ -51,8 +60,8 @@
 
     <el-dialog :title="formTitle[formActionTitle]" :visible.sync="roleStatus" @close="onFormClose('ruleForm')" width="500px">
       <el-form :model="form" :rules="rules" ref="ruleForm">
-        <el-form-item label="姓名" prop="username" :label-width="formLabelWidth">
-          <el-input v-model="form.username" autocomplete="off"></el-input>
+        <el-form-item label="姓名" prop="realName" :label-width="formLabelWidth">
+          <el-input v-model="form.realName" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="性别" prop="gender" :label-width="formLabelWidth">
           <el-select v-model="form.gender">
@@ -68,8 +77,8 @@
             <el-option v-for="item in roleList" :key="item.value" :label="item.label" :value="item.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="所属部门" prop="organIDList" :label-width="formLabelWidth">
-          <el-select v-model="form.organIDList" multiple collapse-tags>
+        <el-form-item label="所属部门" prop="organIdList" :label-width="formLabelWidth">
+          <el-select v-model="form.organIdList" multiple collapse-tags>
             <el-option v-for="item in branchList" :key="item.value" 
               :label="item.label" :value="item.value"></el-option>
           </el-select>
@@ -125,20 +134,20 @@ export default {
       },
       formLabelWidth: '100px',
       form: {
-        username: null,
+        realName: null,
         gender: null,
         phone: null,
         roleName: null,
-        organIDList: [],
+        organIdList: [],
         jobNature: null,
         entryDate: null
       },
       rules: {
-        username: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
+        realName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
         gender: [{required: true, message: '请选择性别', trigger: 'change'}],
         phone: [{ type: 'number', required: true, message: '手机号输入有误', trigger: 'blur'}],
         roleName: [{required: true, message: '请选择分类', trigger: 'change'}],
-        organIDList: [{type: 'array', required: true, message: '请选择所属部门', trigger: 'change'}],
+        organIdList: [{type: 'array', required: true, message: '请选择所属部门', trigger: 'change'}],
         jobNature: [{required: true, message: '请选择工作类型', trigger: 'change'}],
         entryDate: [{ required: true, message: '请选择入职时间', trigger: 'blur'}],
       }
@@ -152,7 +161,7 @@ export default {
     onRoleSubmit(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
-          this.form.organIDList = this.form.organIDList.join(',')
+          this.form.organIdList = this.form.organIdList.join(',')
           if(this.formActionTitle == 'create') {
             employeeAdd(this.form).then(res => {
               this.messageTips('添加', res)
@@ -173,7 +182,7 @@ export default {
           message: title + '成功',
           type: 'success'
         })
-        this.branchStatus = false
+        this.roleStatus = false
         this.getList()
       } else {
         this.$message.error(res.msg)
@@ -187,9 +196,11 @@ export default {
       })
     },
     getRoleList() { // 获取角色
-      getUserRole().then(res => {
-        if(res.code == 200 && res.data && res.data.length > 0) {
-          res.data.forEach(item => {
+      getUserRole({ delFlag: 0, rows: 9999 }).then(res => {
+        console.log(res.data)
+        let result = res.data
+        if(res.code == 200 && result && result.rows.length > 0) {
+          result.rows.forEach(item => {
             this.roleList.push({
               label: item.roleName,
               value: item.id
@@ -218,18 +229,27 @@ export default {
       if(type == 'update') {
         this.form = {
           id: data.id,
-          username: data.username,
+          realName: data.realName,
           gender: data.gender,
           phone: Number(data.phone),
           roleName: data.roleName,
-          organIDList: data.organIDList ? data.organIDList : [],
+          organIdList: data.organIdList ? data.organIdList : [],
           jobNature: data.jobNature,
           entryDate: data.entryDate
         }
       }
     },
     onFormClose(formName) { // 关闭弹窗重置验证
-      this.$refs[formName].clearValidate()
+      this.form = {
+        realName: null,
+        gender: null,
+        phone: null,
+        roleName: null,
+        organIdList: [],
+        jobNature: null,
+        entryDate: null
+      }
+      this.$refs[formName].resetFields()
     },
     formatLockFlag(row) {
       let reuslt = ['正常', '冻结']

+ 29 - 11
src/views/categroyManager/specialSetup/musicalManager.vue

@@ -1,15 +1,15 @@
 <template>
   <div class='m-container'>
-    <h2>作业模板管理</h2>
+    <h2>声部管理</h2>
     <div class="m-core">
-      <div class='newBand'>添加</div>
+      <!-- <div class='newBand'>添加</div> -->
       <!-- 列表 -->
       <el-row class="music-title">
         <el-col :span="6">
           一级分类 
-          <el-popover placement="right_start" width="300" trigger="click">
+          <el-popover placement="right" width="300" trigger="click">
             <el-input v-model="oneTypeName" size="medium" style="width: 73%" autocomplete="off"></el-input>
-            <el-button type="primary" size="medium" >提交</el-button>
+            <el-button style="margin: 0;" type="primary" size="medium" >提交</el-button>
             <el-button slot="reference" type="primary" size="mini" round icon="el-icon-plus">添加</el-button>
           </el-popover>
           
@@ -19,26 +19,25 @@
         </el-col>
       </el-row>
 
-      <el-row>
+      <el-row v-for="item in subjectList" :key="item.id">
         <el-col :span="6">
-          <el-button icon="el-icon-delete" circle></el-button>
-          <span class="one_name">一级分类</span>
+          <el-button @click="subjectDelete(item)" icon="el-icon-delete" circle></el-button>
+          <span class="one_name">{{ item.name }}</span>
         </el-col>
         <el-col :span="18" class="tow_col">
-          <el-input class="tow_input" v-model="input"></el-input>
+          <el-input class="tow_input"></el-input>
           <el-button type="primary" size="mini" round icon="el-icon-plus">添加</el-button>
           <el-button type="info" size="mini" round icon="el-icon-check">保存</el-button>
         </el-col>
       </el-row>
 
-
-
     </div>
   </div>
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
+import { subjectListTree, subjectUpset } from '@/api/specialSetting'
 export default {
   components: { pagination },
   name: 'musicalManager',
@@ -46,12 +45,23 @@ export default {
     return {
       organId: store.getters.organ,
       oneTypeName: null, // 添加一级分类名称
+      subjectList: [],
     }
   },
   mounted() {
     this.getList()
   },
   methods: {
+    subjectDelete(item) { // 删除分类
+      subjectUpset({
+        delFlag: 1,
+        id: item.id,
+        parentSubjectId: item.parentSubjectId
+      }).then(res => {
+        let result = res.data
+        console.log(result)
+      })
+    },
     messageTips(title, res) {
       if(res.code == 200) {
         this.$message({
@@ -65,7 +75,15 @@ export default {
       }
     },
     getList () { 
-      
+      subjectListTree({
+        delFlag: 0,
+        rows: 9999
+      }).then(res => {
+        let result = res.data
+        if(res.code == 200) {
+          this.subjectList = result.rows
+        }
+      })
     }
   }
 }