Browse Source

添加功能

lex-xin 5 years ago
parent
commit
c6e5093d9b

+ 11 - 0
src/api/businessManager.js

@@ -0,0 +1,11 @@
+// 通用设置api文件
+import request from '@/utils/request'
+import qs from 'qs'
+// 分页查询商品(教材、辅件)列表
+export function goodsQuery(data) {
+    return request({
+        url: '/web-server/goods/queryPage',
+        method: 'get',
+        params: data
+    })
+}

+ 11 - 2
src/api/specialSetting.js

@@ -56,11 +56,20 @@ export function subjectListTree(data) {
     })
 }
 
-// 分页查询科目列表
+// 修改、新增科目
 export function subjectUpset(data) {
     return request({
         url: `/web-server/subject/upset`,
         method: 'post',
-        data: qs.stringify(data)
+        data: data
     })
 }
+
+// 分页查询收费类型列表
+export function chargeTypeList(data) {
+    return request({
+        url: '/web-server/chargeType/queryPage',
+        method: 'get',
+        params: data
+    })
+}

+ 3 - 3
src/api/systemManage.js

@@ -84,7 +84,7 @@ export function employeeAdd(data) {
     return request({
         url: `/web-server/employee/add`,
         method: 'post',
-        data: qs.stringify(data)
+        data: data
     })
 }
 // 修改员工
@@ -92,7 +92,7 @@ export function employeeUpdate(data) {
     return request({
         url: `/web-server/employee/update`,
         method: 'post',
-        data: qs.stringify(data)
+        data: data
     })
 }
 
@@ -145,7 +145,7 @@ export function roleUpdate(data) {
     return request({
         url: `/api-auth/role/update`,
         method: 'post',
-        data: qs.stringify(data)
+        data: data
     })
 }
 

+ 1 - 0
src/router/index.js

@@ -623,6 +623,7 @@ export const asyncRoutes = {
   backOrder: () => import('@/views/businessManager/orderManager/backMoney'),
   expend: () => import('@/views/businessManager/orderManager/expend'),
   shopManager: () => import('@/views/businessManager/shopManager/shopList'),
+  shopCategory: () => import('@/views/businessManager/shopManager/shopCategory'),
   reportForm: () => import('@/views/reportForm/index'),
   musicalManager: () => import('@/views/categroyManager/specialSetup/musicalManager'),
   specialSetup: () => import('@/views/categroyManager/specialSetup/index'),

+ 89 - 14
src/views/businessManager/shopManager/shopCategory.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;" @click="onAddMusic" 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,36 @@
         </el-col>
       </el-row>
 
-      <el-row>
+      <el-row v-for="(item, index) 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-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-tag v-for="s in item.subjects" :key="s.id" type="info" effect="dark"
+            closable :disable-transitions="false"
+            @close="subjectDelete(s)"> {{s.name}}</el-tag>
+          <span style="display: inline-block;">
+            <el-input class="input-new-tag"
+              v-if="item.inputStatus"
+              v-model="inputValue[index]" key="tag"
+              ref="saveTagInput"
+              size="small">
+            </el-input>
+            <el-button v-else key="tag" type="primary" size="mini" round icon="el-icon-plus" @click="item.inputStatus = true">添加</el-button>
+            <el-button v-if="item.inputStatus" type="info" size="mini" round icon="el-icon-check" @click="onSave(item, index)">保存</el-button>
+          </span>
         </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,26 +56,68 @@ export default {
     return {
       organId: store.getters.organ,
       oneTypeName: null, // 添加一级分类名称
+      subjectList: [],
+      inputValue: []
     }
   },
   mounted() {
     this.getList()
   },
   methods: {
+    onAddMusic() {
+      // 添加一级分类 
+      if(!this.oneTypeName) return
+      subjectUpset({
+        parentSubjectId: 0,
+        name: this.oneTypeName
+      }).then(res => {
+        this.messageTips('添加', res)
+      })
+    },
+    onSave(item, index) { 
+      // 添加二级分类 
+      if(!this.inputValue[index]) return
+      subjectUpset({
+        parentSubjectId: item.id,
+        name: this.inputValue[index]
+      }).then(res => {
+        this.messageTips('添加', res)
+      })
+    },
+    subjectDelete(item) { // 删除分类
+      subjectUpset({
+        delFlag: 'YES',
+        id: item.id
+      }).then(res => {
+        this.messageTips('删除', res)
+      })
+    },
     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 () { 
-      
+      subjectListTree({
+        delFlag: 0,
+        rows: 9999
+      }).then(res => {
+        let result = res.data
+        if(res.code == 200) {
+          let tempArray = []
+          result.rows.forEach(item => {
+            item.inputStatus = false
+            tempArray.push(item)
+          })
+          this.subjectList = tempArray
+        }
+      })
     }
   }
 }
@@ -138,4 +190,27 @@ export default {
 .el-select {
   width: 98% !important;
 }
+.el-tag + .el-tag {
+  margin-left: 10px;
+}
+.button-new-tag {
+  margin-left: 10px;
+  height: 32px;
+  line-height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+}
+.input-new-tag {
+  width: 90px;
+  // margin-left: 10px;
+  vertical-align: bottom;
+}
+.el-tag--dark.el-tag--info {
+  background-color: #F0F2F5;
+  border-color: #F0F2F5;
+  color: #5A5E66;
+  .el-tag__close {
+    background-color: #C0C4CC;
+  }
+}
 </style>

+ 37 - 20
src/views/businessManager/shopManager/shopList.vue

@@ -3,7 +3,7 @@
     <h2>商品列表</h2>
     <div class="m-core">
       <!-- 搜索类型 -->
-      <el-form :inline="true"
+      <!-- <el-form :inline="true"
                class="searchForm"
                v-model="searchForm">
         <el-form-item>
@@ -13,9 +13,9 @@
                        value="1"></el-option>
           </el-select>
         </el-form-item>
-      </el-form>
+      </el-form> -->
       <!-- 查询列表 -->
-      <div class="searchWrap">
+      <!-- <div class="searchWrap">
         <p>查询条件:</p>
         <div class="searchItem"
              @click="closeSearch(item)"
@@ -23,55 +23,63 @@
           {{ item.key }}
           <i class="el-icon-close"></i>
         </div>
-      </div>
+      </div> -->
       <!-- 列表 -->
       <div class="tableWrap">
         <el-table :data='tableList'>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="id"
                            label="商品编号">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="brand"
                            label="品牌">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="name"
                            label="商品名称">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="goodsCategoryId"
                            label="商品类型">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="specification"
                            label="具体型号">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="marketPrice"
                            label="商品价格">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="groupPurchasePrice"
                            label="商品团购价">
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="discountPrice"
                            label="商品采购价">
           </el-table-column>
           <el-table-column align='center'
                            label="商品缩略图片">
+            <template slot-scope="scope">
+              <img :src="scope.image" alt="" srcset="">
+            </template>
           </el-table-column>
-          <el-table-column align='center'
+          <el-table-column align='center' prop="desc"
                            label="商品明细">
           </el-table-column>
           <el-table-column align='center'
                            label="操作">
+            <template slot-scope="scope">
+              <el-button type="text">上架</el-button>
+              <el-button type="text">下架</el-button>
+            </template>
           </el-table-column>
         </el-table>
-        <pagination :total="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
+        <pagination :total="pageInfo.total"
+                    :page.sync="pageInfo.page"
+                    :limit.sync="pageInfo.limit"
+                    :page-sizes="pageInfo.page_size"
+                    @pagination="getList"  />
       </div>
     </div>
   </div>
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
+import { goodsQuery } from '@/api/businessManager'
 export default {
   components: { pagination },
   data () {
@@ -81,7 +89,7 @@ export default {
       },
       searchLsit: [],
       tableList: [],
-      rules: {
+      pageInfo: {
         // 分页规则
         limit: 10, // 限制显示条数
         page: 1, // 当前页
@@ -90,8 +98,17 @@ export default {
       },
     }
   },
+  mounted() {
+    this.getList()
+  },
   methods: {
-    getList () { }
+    getList () { 
+      goodsQuery().then(res => {
+        if(res.code == 200 && res.data) {
+          this.tableList = res.data.rows
+        }
+      })
+    }
   }
 }
 </script>

+ 30 - 10
src/views/categroyManager/insideSetting/addressManager.vue

@@ -2,7 +2,7 @@
   <div class='m-container'>
     <h2>分部教学点</h2>
     <div class="m-core">
-      <div @click="teachingStatus = true"
+      <div @click="openTeaching('create')"
            class='newBand'>新建</div>
       <!-- 搜索类型 -->
       <!-- <el-form :inline="true"
@@ -120,12 +120,22 @@
         <el-form-item label="教学点来源"
                       prop="source"
                       :label-width="formLabelWidth">
-          <el-select v-model="form.source">
+          <template v-if="formActionTitle == 'update'">
+            <el-select v-model="form.source" disabled>
             <el-option label="合作单位"
                        value="1"></el-option>
             <el-option label="租赁"
                        value="2"></el-option>
           </el-select>
+          </template>
+          <template v-else>
+            <el-select v-model="form.source">
+            <el-option label="合作单位"
+                       value="1"></el-option>
+            <el-option label="租赁"
+                       value="2"></el-option>
+          </el-select>
+          </template>
         </el-form-item>
         <el-form-item v-if="form.source == 1"
                       prop="cooperationOrganId"
@@ -402,13 +412,13 @@ export default {
     },
     openTeaching (type, row) {
       // 重置数据
-      this.form = {
-        id: null,
-        name: null, // 教学点名称
-        linkman: null, // 来源
-        job: null,  // 费用
-        mobileNo: null, // 合作单位
-      }
+      // this.form = {
+      //   id: null,
+      //   name: null, // 教学点名称
+      //   linkman: null, // 来源
+      //   job: null,  // 费用
+      //   mobileNo: null, // 合作单位
+      // }
       this.teachingStatus = true
       this.formActionTitle = type
       // 修改的时候赋值
@@ -430,7 +440,17 @@ export default {
       }
     },
     onFormClose (formName) { // 关闭弹窗重置验证
-      this.$refs[formName].clearValidate()
+      // this.$refs[formName].clearValidate()
+      this.form = {
+        name: null, // 教学点名称
+        source: null, // 来源
+        cooperationOrganId: null, // 合作单位
+        remark: null,  // 费用
+        address: null, // 上课地点
+        subsidy: null, // 课酬补贴
+        organId: store.getters.organ
+      }
+      this.$refs[formName].resetFields()
     },
     filterOrgan (val) {
       let result = ''

+ 4 - 0
src/views/categroyManager/insideSetting/adminOperation.vue

@@ -18,6 +18,7 @@
             @check="onTreeCheck"
             ref="tree"
             highlight-current
+            :default-checked-keys="result.menuIds"
             :props="defaultProps">
           </el-tree>
         </el-form-item>
@@ -100,6 +101,9 @@ export default {
         getRoleInfo({ id: this.id }).then(res => {
           if(res.code == 200) {
             this.result = res.data
+            this.checkAll = res.data.menuIds.length >= 38
+            this.isIndeterminate = res.data.menuIds.length > 0 && res.data.menuIds.length < 38
+
           }
         })
       }

+ 14 - 13
src/views/categroyManager/insideSetting/staffManager.vue

@@ -46,7 +46,7 @@
               <el-button @click="roleOperation('update', scope.row)" type="text">修改</el-button>
               <el-button @click="onStaffOperation('RESET_PASSWORD', scope.row)" type="text">重置密码</el-button>
               <el-button @click="onStaffOperation('LOCK_UNLOCK', scope.row)" type="text">{{ scope.row.lockFlag == 1 ? '解冻' : '冻结' }}</el-button> 
-              <el-button @click="onStaffOperation('DEMISSION', scope.row)" type="text">离职</el-button>
+              <el-button @click="onStaffOperation('DEMISSION', scope.row)" type="text">{{ scope.row.demissionDate ? '复职' : '离职' }}</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -72,28 +72,29 @@
         <el-form-item label="手机号" prop="phone" :label-width="formLabelWidth">
           <el-input v-model.number="form.phone" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="角色分类" prop="roleName" :label-width="formLabelWidth">
-          <el-select v-model="form.roleName">
+        <el-form-item label="角色分类" prop="roleIds" :label-width="formLabelWidth">
+          <el-select v-model="form.roleIds" multiple >
             <el-option v-for="item in roleList" :key="item.value" :label="item.label" :value="item.value"></el-option>
           </el-select>
+          <!-- collapse-tags -->
         </el-form-item>
         <el-form-item label="所属部门" prop="organIdList" :label-width="formLabelWidth">
-          <el-select v-model="form.organIdList" multiple collapse-tags>
+          <el-select v-model="form.organIdList" multiple>
             <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 label="工作类型" prop="jobNature" :label-width="formLabelWidth">
           <el-select v-model="form.jobNature">
-            <el-option label="全职" value="PART_TIME"></el-option>
-            <el-option label="兼职" value="FULL_TIME"></el-option>
+            <el-option label="全职" value="FULL_TIME"></el-option>
+            <el-option label="兼职" value="PART_TIME"></el-option>
             <el-option label="临时" value="TEMPORARY"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="入职时间" prop="entryDate" :label-width="formLabelWidth">
           <el-date-picker
             v-model="form.entryDate"
-            type="date" value-format="yyyy-MM-dd"
+            type="date" value-format="yyyy-MM-dd HH:mm:ss"
             placeholder="选择日期">
           </el-date-picker>
         </el-form-item>
@@ -137,16 +138,16 @@ export default {
         realName: null,
         gender: null,
         phone: null,
-        roleName: null,
+        roleIds: [],
         organIdList: [],
         jobNature: null,
-        entryDate: null
+        entryDate: null,
       },
       rules: {
         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'}],
+        roleIds: [{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'}],
@@ -161,7 +162,9 @@ export default {
     onRoleSubmit(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
+          this.form.organId = this.organId
           this.form.organIdList = this.form.organIdList.join(',')
+          // this.form.roleIds = this.form.roleIds.join(',')
           if(this.formActionTitle == 'create') {
             employeeAdd(this.form).then(res => {
               this.messageTips('添加', res)
@@ -197,7 +200,6 @@ export default {
     },
     getRoleList() { // 获取角色
       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 => {
@@ -232,7 +234,7 @@ export default {
           realName: data.realName,
           gender: data.gender,
           phone: Number(data.phone),
-          roleName: data.roleName,
+          roleIds: data.roleIds,
           organIdList: data.organIdList ? data.organIdList : [],
           jobNature: data.jobNature,
           entryDate: data.entryDate
@@ -264,7 +266,6 @@ export default {
         employeeId: data.id,
         operate: type
       }).then(res => {
-        console.log(res)
         if(res.code == 200) {
           this.$message({
             message: '更改成功',

+ 69 - 12
src/views/categroyManager/specialSetup/musicalManager.vue

@@ -9,7 +9,7 @@
           一级分类 
           <el-popover placement="right" width="300" trigger="click">
             <el-input v-model="oneTypeName" size="medium" style="width: 73%" autocomplete="off"></el-input>
-            <el-button style="margin: 0;" type="primary" size="medium" >提交</el-button>
+            <el-button style="margin: 0;" @click="onAddMusic" type="primary" size="medium" >提交</el-button>
             <el-button slot="reference" type="primary" size="mini" round icon="el-icon-plus">添加</el-button>
           </el-popover>
           
@@ -19,15 +19,26 @@
         </el-col>
       </el-row>
 
-      <el-row v-for="item in subjectList" :key="item.id">
+      <el-row v-for="(item, index) in subjectList" :key="item.id">
         <el-col :span="6">
           <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"></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-tag v-for="s in item.subjects" :key="s.id" type="info" effect="dark"
+            closable :disable-transitions="false"
+            @close="subjectDelete(s)"> {{s.name}}</el-tag>
+          <span style="display: inline-block;">
+            <el-input class="input-new-tag"
+              v-if="item.inputStatus"
+              v-model="inputValue[index]" key="tag"
+              ref="saveTagInput"
+              size="small">
+            </el-input>
+            <el-button v-else key="tag" type="primary" size="mini" round icon="el-icon-plus" @click="item.inputStatus = true">添加</el-button>
+            <el-button v-if="item.inputStatus" type="info" size="mini" round icon="el-icon-check" @click="onSave(item, index)">保存</el-button>
+          </span>
         </el-col>
       </el-row>
 
@@ -46,20 +57,39 @@ export default {
       organId: store.getters.organ,
       oneTypeName: null, // 添加一级分类名称
       subjectList: [],
+      inputValue: []
     }
   },
   mounted() {
     this.getList()
   },
   methods: {
+    onAddMusic() {
+      // 添加一级分类 
+      if(!this.oneTypeName) return
+      subjectUpset({
+        parentSubjectId: 0,
+        name: this.oneTypeName
+      }).then(res => {
+        this.messageTips('添加', res)
+      })
+    },
+    onSave(item, index) { 
+      // 添加二级分类 
+      if(!this.inputValue[index]) return
+      subjectUpset({
+        parentSubjectId: item.id,
+        name: this.inputValue[index]
+      }).then(res => {
+        this.messageTips('添加', res)
+      })
+    },
     subjectDelete(item) { // 删除分类
       subjectUpset({
-        delFlag: 1,
-        id: item.id,
-        parentSubjectId: item.parentSubjectId
+        delFlag: 'YES',
+        id: item.id
       }).then(res => {
-        let result = res.data
-        console.log(result)
+        this.messageTips('删除', res)
       })
     },
     messageTips(title, res) {
@@ -68,7 +98,6 @@ export default {
           message: title + '成功',
           type: 'success'
         })
-        this.branchStatus = false
         this.getList()
       } else {
         this.$message.error(res.msg)
@@ -81,7 +110,12 @@ export default {
       }).then(res => {
         let result = res.data
         if(res.code == 200) {
-          this.subjectList = result.rows
+          let tempArray = []
+          result.rows.forEach(item => {
+            item.inputStatus = false
+            tempArray.push(item)
+          })
+          this.subjectList = tempArray
         }
       })
     }
@@ -156,4 +190,27 @@ export default {
 .el-select {
   width: 98% !important;
 }
+.el-tag + .el-tag {
+  margin-left: 10px;
+}
+.button-new-tag {
+  margin-left: 10px;
+  height: 32px;
+  line-height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+}
+.input-new-tag {
+  width: 90px;
+  // margin-left: 10px;
+  vertical-align: bottom;
+}
+.el-tag--dark.el-tag--info {
+  background-color: #F0F2F5;
+  border-color: #F0F2F5;
+  color: #5A5E66;
+  .el-tag__close {
+    background-color: #C0C4CC;
+  }
+}
 </style>

+ 96 - 3
src/views/categroyManager/specialSetup/typesManager.vue

@@ -1,5 +1,98 @@
 <template>
-  <div>
-    收费类型设置
+  <div class='m-container'>
+    <h2>收费类型设置</h2>
+    <div class="m-core">
+      <div class='newBand'>添加</div>
+      <!-- 列表 -->
+      <div class="tableWrap">
+        <el-table :data='tableList'>
+          <el-table-column align='center'
+                           label="收费类型">
+          </el-table-column>
+          <el-table-column align='center'
+                           label="声部组合">
+          </el-table-column>
+          <el-table-column align='center'
+                           label="教学规划">
+          </el-table-column>
+          <el-table-column align='center'
+                           label="操作">
+            <template slot-scope="scope">
+              <el-button type="text">修改</el-button>
+              <el-button 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>
+
   </div>
-</template>
+</template>
+<script>
+import pagination from '@/components/Pagination/index'
+import store from '@/store'
+import { chargeTypeList } from '@/api/specialSetting'
+export default {
+  components: { pagination },
+  name: 'adminManager',
+  data () {
+    return {
+      tableList: [],
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      organId: store.getters.organ
+    }
+  },
+  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 () { 
+      chargeTypeList().then(res => {
+        let result = res.data
+        console.log(result)
+      })
+    }
+  }
+}
+</script>
+<style lang="scss">
+.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>

+ 83 - 25
src/views/setSilder/addSilder.vue

@@ -1,10 +1,9 @@
 <template>
   <div class="slider-container">
-    <el-button @click='addSilder'>添加按钮</el-button>
-    <el-button @click='removeSilder'>删除按钮</el-button>
-    <el-button @click='resetSilder'>修改按钮</el-button>
-    <el-button @click="lookSilder"
-               type='error'>查询</el-button>
+    <el-button @click='onOperation("create")'>添加按钮</el-button>
+    <!-- <el-button @click='removeSilder'>删除按钮</el-button> -->
+    <!-- <el-button @click='resetSilder'>修改按钮</el-button> -->
+    <!-- <el-button @click="lookSilder" type='error'>查询</el-button> -->
 
     <el-table
       :data="tableList"
@@ -16,12 +15,12 @@
         label="菜单名称">
       </el-table-column>
       <el-table-column
-        prop="parentId"
+        prop="id"
         label="元素ID">
       </el-table-column>
       <el-table-column
         prop="path"
-        label="接口路径">
+        label="文件路径">
       </el-table-column>
       <el-table-column
         prop="permission"
@@ -34,11 +33,38 @@
       <el-table-column
         label="操作">
         <template slot-scope="scope">
-          <el-button @click="onUpdate(scope.row)" type="text">修改</el-button>
-          <el-button @click="onDelete(scope.row)" type="text">删除</el-button>
+          <el-button @click="onOperation('update', scope.rows)" type="text">修改</el-button>
+          <el-button @click="onDelete(scope.rows)" type="text">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
+
+     <el-dialog title="侧边栏管理" :visible.sync="branchStatus" @close="onFormClose('ruleForm')" width="500px">
+      <el-form :model="form" ref="ruleForm">
+        <el-form-item label="菜单名" :label-width="formLabelWidth">
+          <el-input v-model="form.name" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="文件路径" :label-width="formLabelWidth">
+          <el-input v-model="form.path" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="权限标识" :label-width="formLabelWidth">
+          <el-input v-model="form.permission" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="组件名" :label-width="formLabelWidth">
+          <el-input v-model="form.component" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="父元素ID" :label-width="formLabelWidth">
+          <el-input v-model="form.parentId" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="排序" :label-width="formLabelWidth">
+          <el-input v-model="form.sort" autocomplete="off"></el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="branchStatus = false">取 消</el-button>
+        <el-button @click="onBranchSubmit" type="primary">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -47,6 +73,16 @@ export default {
   data () {
     return {
       tableList: [], // 数据列表
+      formLabelWidth: '100px',
+      branchStatus: false,
+      form: {
+        name: null,
+        path: null,
+        permission: null,
+        parentId: null,
+        sort: 1,
+        component: null,
+      }
     }
   },
   mounted () {
@@ -66,29 +102,41 @@ export default {
         ]
       }
      */
-    //  Layout
-    addSilder () {
+    onOperation(type, row) {
+      this.branchStatus = true
+      if(type == 'update') {
+        console.log(row)
+        this.form = {
+          name: row.name,
+          path: row.path,
+          permission: row.permission,
+          parentId: row.parentId,
+          sort: row.sort,
+          component: row.component,
+        }
+      }
+    },
+    onBranchSubmit(type) {
+      let form = this.form
       addSilder({
-        path: 'jobTemplateSetting',
-        component: 'jobTemplateSetting',
-        name: '作业模板管理',
-        permission: '/jobTemplateSetting',
-        sort: '1',
-        parentId: '22'
+        path: form.path,
+        component: form.component,
+        name: form.name,
+        permission: form.permission,
+        sort: form.sort,
+        parentId: form.parentId
       }).then(res => {
         if(res.code == 200) {
           this.$message({
             message: '添加成功',
             type: 'success'
           })
+          this.lookSilder()
+          this.branchStatus = false
         }
       })
     },
-    removeSilder () {
-      deleteSilder().then(res => {
-        console.log(res);
-      })
-    },
+    
     lookSilder () {
       getSilder().then(res => {
         if(res.code != 200) return
@@ -116,10 +164,20 @@ export default {
       return list
     },
     onDelete(row) { // 删除左则菜单
-
+      deleteSilder(row.id).then(res => {
+        console.log(res);
+      })
     },
-    onUpdate(row) {// 修改左则菜单
-
+    onFormClose(formName) { // 关闭弹窗重置验证
+      this.form = {
+        name: null,
+        path: null,
+        permission: null,
+        parentId: null,
+        sort: 1,
+        component: null,
+      }
+      this.$refs[formName].resetFields()
     },
     // 修改菜单栏
     resetSilder () {

+ 1 - 1
vue.config.js

@@ -19,7 +19,7 @@ const name = defaultSettings.title || 'vue Admin Template' // page title
 
 // let target = 'http://192.168.3.8:8000' //勇哥
 // let target = 'http://47.99.212.176:8000' // 测试服
-let target = 'http://192.168.3.48:8000' // 乔
+let target = 'http://192.168.3.28:8000' // 
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
   /**