Browse Source

添加新页面

lex-xin 5 years ago
parent
commit
be4c0f91d2

+ 43 - 0
src/api/systemManage.js

@@ -244,4 +244,47 @@ export function getSchool (data) {
     method: 'get',
     params: data
   })
+}
+
+// 分页查询支付配置列表
+export function paymentConfigQueryPage(data) {
+  return request({
+    url: api + '/paymentConfig/queryPage',
+    method: 'get',
+    params: data
+  })
+}
+
+// 根据支付配置编号查询支付配置
+export function paymentConfigGet(data) {
+  return request({
+    url: api + '/paymentConfig/get/' + data.id,
+    method: 'get',
+  })
+}
+
+// 新增支付配置
+export function paymentConfigAdd(data) {
+  return request({
+    url: api + '/paymentConfig/add',
+    method: 'post',
+    data: qs.stringify(data)
+  })
+}
+
+// 修改支付配置
+export function paymentConfigUpdate(data) {
+  return request({
+    url: api + '/paymentConfig/update',
+    method: 'post',
+    data: qs.stringify(data)
+  })
+}
+
+// 删除支付配置
+export function paymentConfigDel(data) {
+  return request({
+    url: api + '/paymentConfig/del/' + data.id,
+    method: 'post'
+  })
 }

+ 40 - 6
src/views/categroyManager/insideSetting/addressManager.vue

@@ -7,6 +7,29 @@
       <div @click="openTeaching('create')"
            v-permission="'school/add'"
            class='newBand'>新建</div>
+      <el-form :inline="true"
+               class="searchForm"
+               @submit.native.prevent
+               v-model="searchForm">
+        <el-form-item>
+          <el-input type="text"
+                    v-model="searchForm.search"
+                    @keyup.enter.native='search'
+                    placeholder="教学点名称"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-select v-model="searchForm.organId" clearable placeholder="请选择分部">
+            <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'
@@ -20,14 +43,20 @@
                            prop="name"
                            label="教学点名称">
           </el-table-column>
+          <el-table-column align="center"
+                           prop="organName"
+                           label="所属分部">
+          </el-table-column>
           <el-table-column align='center'
                            label="教学点来源"
-                           :formatter="filterOrgan">
+                           :formatter="filterOrgan"
+                           width="120px">
             <!-- <template slot-scope="scope">
               {{ scope.row.cooperationOrganId ? scope.row.cooperationOrganId : '租赁' }}
             </template>  -->
           </el-table-column>
           <el-table-column align='center'
+                           width="120px"
                            label="费用">
             <template slot-scope="scope">
               {{ scope.row.cooperationOrganId ? '免费' : scope.row.remark }}
@@ -232,7 +261,8 @@ export default {
     let self = this
     return {
       searchForm: {
-        status: ''
+        search: null,
+        organId: null
       },
       searchLsit: [],
       tableList: [],
@@ -405,10 +435,10 @@ export default {
       }
     },
     getList () {
-      schoolQueryPage({
-        rows: this.pageInfo.limit,
-        page: this.pageInfo.page
-      }).then(res => {
+      let params = this.searchForm
+      params.rows = this.pageInfo.limit
+      params.page = this.pageInfo.page
+      schoolQueryPage(params).then(res => {
         if (res.code == 200 && res.data) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
@@ -536,6 +566,10 @@ export default {
           }
         })
       })
+    },
+    search() {
+      this.pageInfo.page = 1
+      this.getList()
     }
   }
 }

+ 121 - 67
src/views/categroyManager/insideSetting/chargeProfitManager.vue

@@ -4,8 +4,9 @@
       <div class="squrt"></div>收费分润管理
     </h2>
     <div class="m-core">
-
-      <el-form :inline="true"
+      <div @click="chargeOperation('create')"
+           class='newBand'>添加</div>
+      <!-- <el-form :inline="true"
                class="searchForm"
                @submit.native.prevent
                v-model="searchForm">
@@ -21,32 +22,44 @@
           <el-button @click="search"
                      type="danger">搜索</el-button>
         </el-form-item>
-      </el-form>
+      </el-form> -->
 
       <!-- 列表 -->
       <div class="tableWrap">
         <el-table :data='tableList'
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
           <el-table-column align='center'
-                           prop="realName"
+                           prop="organName"
                            label="分部">
           </el-table-column>
           <el-table-column align='center'
-                           prop="phone"
                            label="方式">
+            <template slot-scope="scope">
+              {{ scope.row.type == 1 ? '比例分润' : '收费类型' }}
+            </template>
           </el-table-column>
           <el-table-column align='center'
                            label="详情">
             <template slot-scope="scope">
-              {{ scope.row.roleNames | joinArray(',') }}
+              <span v-if="scope.row.type == 1">
+                比例:公{{ scope.row.comScale }} &nbsp;&nbsp;&nbsp;  私{{ scope.row.perScale }}
+              </span>
+              <span v-if="scope.row.type == 2">
+                课程:{{ scope.row.courseFee == 'COM' ? '公' : '私' }};
+                乐器:{{ scope.row.instrumentFee == 'COM' ? '公' : '私' }};
+                辅件:{{ scope.row.accessoriesFee == 'COM' ? '公' : '私' }};
+                其它:{{ scope.row.otherFee == 'COM' ? '公' : '私' }};
+              </span>
             </template>
           </el-table-column>
           <el-table-column align='center'
                            width="250px"
                            label="操作">
             <template slot-scope="scope">
-              <el-button @click="roleOperation('update', scope.row)"
+              <el-button @click="chargeOperation('update', scope.row)"
                          type="text">修改</el-button>
+              <el-button @click="chargeDel(scope.row)"
+                         type="text">删除</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -58,68 +71,69 @@
       </div>
     </div>
 
-    <el-dialog title="修改收费分润"
+    <el-dialog :title="formTitle[formActionTitle]"
                :visible.sync="chargeStatus"
                @close="onFormClose('ruleForm')"
                width="500px">
       <el-form :model="form"
                :rules="rules"
                ref="ruleForm">
-        <el-form-item label="收费方式"
-                      prop="name"
+        <el-form-item label="收费方式" required
                       :label-width="formLabelWidth">
-          <el-radio v-model="form.radio"
-                    label="1">比例分润</el-radio>
-          <el-radio v-model="form.radio"
-                    label="2">收费种类</el-radio>
+          <el-radio v-model.number="form.type"
+                    :label="1">比例分润</el-radio>
+          <el-radio v-model.number="form.type"
+                    :label="2">收费种类</el-radio>
         </el-form-item>
 
-        <div v-if="form.radio == 1">
+        <div v-if="form.type == 1">
           <el-form-item label="公"
+                        prop="comScale"
                         :label-width="formLabelWidth">
-            <el-input></el-input>
+            <el-input type="number" min="0" max="10" v-model="form.comScale"></el-input>
           </el-form-item>
           <el-form-item label="私"
+                        prop="perScale"
                         :label-width="formLabelWidth">
-            <el-input></el-input>
+            <el-input type="number" min="0" max="10" v-model="form.perScale"></el-input>
           </el-form-item>
         </div>
 
-        <div v-if="form.radio == 2">
-          <el-form-item label="课程"
+        <div v-if="form.type == 2">
+          <el-form-item label="课程" required
                         :label-width="formLabelWidth">
             <el-select placeholder="请选择方式"
-                       v-model="form.course">
+                       v-model="form.courseFee">
               <el-option label="公"
                          value="COM"></el-option>
               <el-option label="私"
                          value="PER"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="乐器"
+          <el-form-item label="乐器" required
                         :label-width="formLabelWidth">
             <el-select placeholder="请选择方式"
-                       v-model="form.instrment">
+                       v-model="form.instrumentFee">
               <el-option label="公"
                          value="COM"></el-option>
               <el-option label="私"
                          value="PER"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="辅件"
+          <el-form-item label="辅件" required
                         :label-width="formLabelWidth">
             <el-select placeholder="请选择方式"
-                       v-model="form.accessories">
+                       v-model="form.accessoriesFee">
               <el-option label="公"
                          value="COM"></el-option>
               <el-option label="私"
                          value="PER"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="其它"
+          <el-form-item label="其它" required
                         :label-width="formLabelWidth">
             <el-select placeholder="请选择方式"
-                       v-model="form.other">
+                       v-model="form.otherFee">
               <el-option label="公"
                          value="COM"></el-option>
               <el-option label="私"
@@ -127,12 +141,20 @@
             </el-select>
           </el-form-item>
         </div>
+        <el-form-item label="所属分部" prop="organId" :label-width="formLabelWidth">
+          <el-select v-model="form.organId">
+            <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>
       <span slot="footer"
             class="dialog-footer">
         <el-button @click="chargeStatus = false">取 消</el-button>
-        <el-button @click="onRoleSubmit('ruleForm')"
+        <el-button @click="onChargeSubmit('ruleForm')"
                    type="primary">确 定</el-button>
       </span>
     </el-dialog>
@@ -140,7 +162,7 @@
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
-import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate } from '@/api/systemManage'
+import { paymentConfigQueryPage, paymentConfigGet, paymentConfigAdd, paymentConfigUpdate, paymentConfigDel } from '@/api/systemManage'
 import { branchQueryPage } from '@/api/specialSetting'
 import store from '@/store'
 
@@ -156,25 +178,29 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
-      chargeStatus: true,
+      chargeStatus: false,
       roleList: [], // 角色列表
       branchList: [], // 分部列表
+      formActionTitle: 'create',
       formLabelWidth: '100px',
+      formTitle: {
+        create: '添加收费分润',
+        update: '修改收费分润'
+      },
       form: {
-        radio: '1',
-        course: 'COM',
-        instrment: 'COM',
-        accessories: 'COM',
-        other: 'COM'
+        type: 1,
+        comScale: null,
+        perScale: null,
+        courseFee: 'COM',
+        instrumentFee: 'COM',
+        accessoriesFee: 'COM',
+        otherFee: 'COM',
+        organId: null
       },
       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' }],
+        comScale: [{ required: true, message: '请输入数值', trigger: 'blur' }],
+        perScale: [{ required: true, message: '请输入数值', trigger: 'blur' }],
+        organId: [{ required: true, message: '请选择所属分部', trigger: 'change' }]
       },
       searchForm: {
         search: null
@@ -184,29 +210,36 @@ export default {
   mounted () {
     this.getList()
     this.getRoleList()
-
-
   },
-  methods: {
-    onBranchCheckAll () {
-      this.form.organIdLists = []
-      this.branchList.forEach(item => {
-        this.form.organIdLists.push(item.value)
-      })
+  watch: {
+    'form.comScale': {
+      handler(newvalue, oldvalue) {
+        if(newvalue) {
+          this.form.perScale = 10 - newvalue
+        }
+      }
     },
-    onRoleSubmit (formName) {
+    'form.perScale': {
+      handler(newvalue, oldvalue) {
+        if(newvalue) {
+          this.form.comScale = 10 - newvalue
+        }
+      }
+    }
+  },
+  methods: {
+    onChargeSubmit (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 => {
+            paymentConfigAdd(this.form).then(res => {
               this.messageTips('添加', res)
             })
           } else if (this.formActionTitle == 'update') {
-            employeeUpdate(this.form).then(res => {
+            paymentConfigUpdate(this.form).then(res => {
               this.messageTips('修改', res)
             })
           }
@@ -232,7 +265,7 @@ export default {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
-      queryEmployByOrganId(params).then(res => {
+      paymentConfigQueryPage(params).then(res => {
         if (res.code == 200 && res.data) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
@@ -254,25 +287,46 @@ export default {
         }
       })
     },
-    roleOperation (type, data) {
+    chargeOperation (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
-      //     }
-      //   }
+      if (type == 'update') {
+        this.form = {
+          id: data.id,
+          type: Number(data.type),
+          comScale: data.comScale,
+          perScale: data.perScale,
+          courseFee: data.courseFee,
+          instrumentFee: data.instrumentFee,
+          accessoriesFee: data.accessoriesFee,
+          otherFee: data.otherFee,
+          organId: data.organId
+        }
+      }
+    },
+    chargeDel(row) { // 删除数据
+      // paymentConfigDel
+      this.$confirm('你确定删除?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        paymentConfigDel({ id: row.id }).then(res => {
+          this.messageTips('删除', res)
+        })
+      }).catch()
     },
     onFormClose (formName) { // 关闭弹窗重置验证
       this.form = {
+        type: 1,
+        comScale: null,
+        perScale: null,
+        courseFee: 'COM',
+        instrumentFee: 'COM',
+        accessoriesFee: 'COM',
+        otherFee: 'COM',
+        organId: ''
       }
       this.$refs[formName].resetFields()
     }