mo 4 éve
szülő
commit
57e43fc4c4

+ 16 - 11
src/constant/index.js

@@ -92,21 +92,26 @@ export const payStatus = {
 }
 
 export const payOrderType = {
-  STUDENT:'个人',
-  SCHOOL:'学校'
+  STUDENT: '个人',
+  SCHOOL: '学校'
 }
 
 export const auditType = {
-  AUDITING:'审核中',
-  REJECT:'拒绝',
-  NO:'未开启缴费',
-  OPEN:'开启缴费',
-  OVER:'缴费已结束'
+  AUDITING: '审核中',
+  REJECT: '拒绝',
+  NO: '未开启缴费',
+  OPEN: '开启缴费',
+  OVER: '缴费已结束'
 }
 
 export const auditPaymentType = {
-  ADD_STUDENT:'新增学员',
-  ADD_COURSE:'临时加课',
-  MUSIC_APPLY:'乐团报名',
-  MUSIC_RENEW:'乐团续费'
+  ADD_STUDENT: '新增学员',
+  ADD_COURSE: '临时加课',
+  MUSIC_APPLY: '乐团报名',
+  MUSIC_RENEW: '乐团续费'
+}
+
+export const orderServerType = {
+  SERVICE: '服务收入',
+  SELL: '销售收入'
 }

+ 4 - 1
src/router/index.js

@@ -340,6 +340,9 @@ export const asyncRoutes = {
   // 抽奖记录
   lotteryRecord: () => import('@/views/luckyDraw/lotteryRecord'),
   // 审核列表
-  auditList: () => import('@/views/auditList/index')
+  auditList: () => import('@/views/auditList/index'),
+  // 订单审核
+  orderAudit: () => import('@/views/businessManager/orderManager/orderAudit'),
 }
+
 export default router

+ 2 - 0
src/store/modules/permission.js

@@ -15,11 +15,13 @@ function generateAsyncRouter (asyncRoutes, data) {
   }
 
   data.forEach((item) => {
+
     item.component = asyncRoutes[item.component]
     if (item.children && item.children.length > 0) {
       generateAsyncRouter(asyncRoutes, item.children)
     }
   })
+
   return data
 }
 

+ 2 - 2
src/utils/searchArray.js

@@ -1,5 +1,5 @@
 // 搜索用的下拉数据列表
-import { payOrderType, auditType, auditPaymentType } from '../constant'
+import { payOrderType, auditType, auditPaymentType, orderServerType } from '../constant'
 // 课程类型
 export const courseType = [
   { label: "单技课", value: "SINGLE" },
@@ -212,7 +212,7 @@ export const classTimeList = [
 export const payOrderTypeList = getValueForKey(payOrderType)
 export const auditTypeList = getValueForKey(auditType)
 export const auditPaymentTypeList = getValueForKey(auditPaymentType)
-
+export const orderServerList = getValueForKey(orderServerType)
 function getValueForKey (obj) {
   let arr = []
   for (let k in obj) {

+ 6 - 1
src/utils/vueFilter.js

@@ -1,7 +1,7 @@
 import Vue from 'vue'
 import dayjs from 'dayjs'
 import numeral from 'numeral'
-import { feeProject, feeType, saleType, payStatus, payOrderType, paymentPatternType, payUserType, userPaymentType, courseType, auditType, auditPaymentType } from '../constant'
+import { feeProject, feeType, saleType, payStatus, payOrderType, paymentPatternType, payUserType, userPaymentType, courseType, auditType, auditPaymentType, orderServerType } from '../constant'
 
 // 合并数组
 Vue.filter('joinArray', (value, type) => {
@@ -683,3 +683,8 @@ Vue.filter('auditType', value => {
 Vue.filter('auditPaymentType', value => {
   return auditPaymentType[value]
 })
+
+// 销售收入和服务收入 orderServerType
+Vue.filter('orderServer', value => {
+  return orderServerType[value]
+})

+ 41 - 10
src/views/businessManager/orderManager/financeManager.vue

@@ -253,6 +253,7 @@
         <el-form :model="form"
                  :rules="rules"
                  ref="ruleForm">
+          <div class="lookTitle">基本信息</div>
           <el-form-item label="所属分部"
                         prop="organId"
                         :label-width="formLabelWidth">
@@ -288,6 +289,7 @@
                       v-number
                       placeholder="请输入金额"></el-input>
           </el-form-item> -->
+          <div class="lookTitle">交易信息</div>
           <el-form-item label="交易流水号"
                         prop="transNo"
                         :label-width="formLabelWidth">
@@ -316,7 +318,23 @@
                             placeholder="选择交易日期">
             </el-date-picker>
           </el-form-item>
-          <el-form-item label="销售金额"
+          <el-form-item label="收入类型"
+                        :label-width="formLabelWidth"
+                        prop="applyType">
+            <el-select class="multiple"
+                       style="width: 100% !important;"
+                       v-model.trim="form.applyType"
+                       filterable
+                       clearable
+                       :disabled="!isAdd"
+                       placeholder="请选择收入类型">
+              <el-option v-for="(item,index) in orderServerList"
+                         :key="index"
+                         :label="item.label"
+                         :value="item.value"></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- <el-form-item label="销售金额"
                         prop="goodsAmount"
                         :label-width="formLabelWidth">
             <el-input v-model="form.goodsAmount"
@@ -324,17 +342,17 @@
                       type="number"
                       :disabled="!isAdd"
                       placeholder="请输入销售金额" />
-          </el-form-item>
-          <el-form-item label="服务金额"
+          </el-form-item> -->
+          <el-form-item label="收入金额"
                         prop="serviceAmount"
                         :label-width="formLabelWidth">
             <el-input type="number"
                       @mousewheel.native.prevent
                       :disabled="!isAdd"
                       v-model="form.serviceAmount"
-                      placeholder="请输入服务金额" />
+                      placeholder="请输入收入金额" />
           </el-form-item>
-          <div v-if="form.goodsAmount">
+          <div v-if="form.applyType == 'SELL'">
             <div v-for="(goodsList, index) in form.goodsList"
                  :key="index">
               <el-form-item :label="'商品名称' + (index + 1)"
@@ -378,14 +396,14 @@
                          style="margin-left: 5px;"></el-button>
             </div>
           </div>
-
+          <div class="lookTitle">其它</div>
           <el-form-item label="备注"
                         :label-width="formLabelWidth">
             <el-input placeholder="请输入备注"
                       :disabled="!isAdd"
                       v-model.trim="form.memo"
                       type="textarea"
-                      :rows="2"></el-input>
+                      :rows="3"></el-input>
           </el-form-item>
         </el-form>
         <span slot="footer"
@@ -414,6 +432,7 @@ import axios from "axios";
 import qs from "qs";
 import { getToken } from "@/utils/auth";
 import load from "@/utils/loading";
+import { orderServerList } from "@/utils/searchArray"
 let validAmount = (rule, value, callback) => {
   if (!value) {
     callback(new Error("请输入商品数量"));
@@ -452,6 +471,7 @@ export default {
       organList: [],
       shopList: [],
       cooperationList: [],
+      orderServerList,
       pageInfo: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -480,7 +500,8 @@ export default {
         goodsList: [{
           id: null,
           number: null
-        }]
+        }],
+        applyType: null
       },
       validAmount: [
         { required: true, validator: validAmount, trigger: 'blur' },
@@ -504,7 +525,9 @@ export default {
         payTime: [
           { required: true, message: "选择交易日期", trigger: "change" }
         ],
-
+        applyType: [
+          { required: true, message: "请选择收入类型", trigger: "change" }
+        ]
 
       }
     }
@@ -856,7 +879,7 @@ export default {
   }
 };
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
 .newBand {
   display: inline-block;
 }
@@ -866,4 +889,12 @@ export default {
 .setWidth {
   display: inline-block;
 }
+.lookTitle {
+  height: 40px;
+  line-height: 40px;
+  font-weight: bold;
+  background-color: rgb(237, 238, 240);
+  padding: 0 20px;
+  margin-bottom: 20px;
+}
 </style>

+ 178 - 0
src/views/businessManager/orderManager/orderAudit/index.vue

@@ -0,0 +1,178 @@
+<!--  -->
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>订单审核
+    </h2>
+    <div class="m-core">
+      <el-form :inline="true"
+               :model="searchForm">
+        <el-form-item>
+          <el-input v-model.trim="searchForm.search"
+                    @keyup.enter.native="search"
+                    placeholder='订单编号'></el-input>
+        </el-form-item>
+
+        <el-form-item prop="organId">
+          <el-select class="multiple"
+                     v-model.trim="searchForm.organId"
+                     filterable
+                     clearable
+                     placeholder="请选择分部">
+            <el-option v-for="(item,index) in organList"
+                       :key="index"
+                       :label="item.name"
+                       :value="item.id"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select class="multiple"
+                     v-model.trim="searchForm.organId"
+                     filterable
+                     clearable
+                     placeholder="请选择申请类型">
+            <el-option v-for="(item,index) in orderServerList"
+                       :key="index"
+                       :label="item.label"
+                       :value="item.value"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select class="multiple"
+                     v-model.trim="searchForm.organId"
+                     filterable
+                     clearable
+                     placeholder="请选择审核状态">
+            <el-option v-for="(item,index) in orderServerList"
+                       :key="index"
+                       :label="item.label"
+                       :value="item.value"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div class="tableWrap">
+        <el-table style="width: 100%"
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+                  :data="tableList">
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="交易流水号"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="分部"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="学校名称"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="收入类型">
+            <template>
+              <div>
+                {{|orderServer}}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="收入金额"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="备注"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="申请人"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="状态"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="交易日期"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="申请时间"></el-table-column>
+          <el-table-column align="center"
+                           prop="studentId"
+                           label="操作">
+            <template slot-scope="scope">
+              <div>
+                <el-button type="text"
+                           @click="lookDetail(scope.row)">查看</el-button>
+              </div>
+            </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" />
+
+      </div>
+    </div>
+    <el-dialog title="审核详情"
+               :visible.sync="orderVisible"
+               width="600px">
+      <orderAuditDetail />
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import axios from "axios";
+import { getToken } from "@/utils/auth";
+import pagination from "@/components/Pagination/index";
+import load from "@/utils/loading";
+import { getEmployeeOrgan } from "@/api/buildTeam";
+import { orderServerList } from "@/utils/searchArray"
+import orderAuditDetail from './orderAuditDetail'
+export default {
+  components: { pagination, orderAuditDetail },
+  data () {
+    return {
+      searchForm: {
+        search: null,
+        organId: null
+      },
+      tableList: [{}],
+      organList: [],
+      orderServerList,
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      orderVisible: false
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created () { },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted () {
+    getEmployeeOrgan().then(res => {
+      if (res.code == 200) {
+        this.organList = res.data;
+      }
+    });
+    // 获取分部
+
+    this.init();
+
+
+  },
+  // activated () {
+  //   this.init();
+  // },
+  methods: {
+    init () {
+    },
+    getList () { },
+    lookDetail (row) {
+      this.orderVisible = true
+    }
+  }
+};
+</script>
+<style lang='scss' scoped>
+</style>

+ 47 - 0
src/views/businessManager/orderManager/orderAudit/orderAuditDetail.vue

@@ -0,0 +1,47 @@
+<template>
+  <div>
+    <el-form :inline='true'>
+      <div class="lookTitle">申请信息</div>
+      <el-form-item label="申请人"
+                    label-width="80px">
+        <div style="width:180px"></div>
+      </el-form-item>
+      <el-form-item label="申请时间"
+                    label-width="80px">
+        <div style="width:180px"></div>
+      </el-form-item>
+    </el-form>
+    <el-form>
+      <div class="lookTitle">基本信息</div>
+      <el-form-item label="所属分部"
+                    label-width="80px">
+
+      </el-form-item>
+      <el-form-item label="所属学校"
+                    label-width="80px">
+
+      </el-form-item>
+      <el-form-item label="学员编号"
+                    label-width="80px">
+      </el-form-item>
+      <div class="lookTitle">交易信息</div>
+    </el-form>
+  </div>
+</template>
+<script>
+export default {
+  data () {
+    return {}
+  }
+}
+</script>
+<style lang="scss" scoped>
+.lookTitle {
+  height: 40px;
+  line-height: 40px;
+  font-weight: bold;
+  background-color: rgb(237, 238, 240);
+  padding: 0 20px;
+  margin-bottom: 20px;
+}
+</style>