瀏覽代碼

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

wolyshaw 4 年之前
父節點
當前提交
7cfc419727

+ 27 - 0
src/api/orderManager.js

@@ -215,3 +215,30 @@ export function orderDelete (data) {
     data: qs.stringify(data)
   })
 }
+
+// 审核列表查询
+export function getRouteOrderList (data) {
+  return request({
+    url: api + '/routeOrder/queryPage',
+    method: 'get',
+    params: data
+  })
+}
+
+// 审核详情
+export function getRouteOrderInfo (data) {
+  return request({
+    url: api + '/routeOrder/query',
+    method: 'get',
+    params: data
+  })
+}
+
+// 订单审核
+export function auditOutOrder (data) {
+  return request({
+    url: api + '/routeOrder/auditOutOrder',
+    method: 'post',
+    data: qs.stringify(data)
+  })
+}

+ 11 - 0
src/constant/index.js

@@ -112,3 +112,14 @@ export const auditPaymentType = {
   MUSIC_APPLY: '乐团报名',
   MUSIC_RENEW: '乐团续费'
 }
+
+export const orderServerType = {
+  SERVICE: '服务收入',
+  SELL: '销售收入'
+}
+
+export const orderAuditType = {
+  ING: '审核中',
+  REJECT: '审核驳回',
+  PASS: '审核通过'
+}

+ 3 - 0
src/router/index.js

@@ -341,7 +341,10 @@ export const asyncRoutes = {
   lotteryRecord: () => import('@/views/luckyDraw/lotteryRecord'),
   // 审核列表
   auditList: () => import('@/views/auditList/index'),
+  // 订单审核
+  orderAudit: () => import('@/views/businessManager/orderManager/orderAudit'),
   // 长三角比赛
   matchManager: () => import('@/views/matchManager/index')
 }
+
 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
 }
 

+ 3 - 2
src/utils/searchArray.js

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

+ 12 - 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, orderAuditType } from '../constant'
 
 // 合并数组
 Vue.filter('joinArray', (value, type) => {
@@ -683,3 +683,14 @@ Vue.filter('auditType', value => {
 Vue.filter('auditPaymentType', value => {
   return auditPaymentType[value]
 })
+
+// 销售收入和服务收入 
+Vue.filter('orderServer', value => {
+  return orderServerType[value]
+})
+
+// 订单审核状态 orderAuditType
+Vue.filter('orderAuditType', value => {
+  orderAuditType[''] = '审核通过'
+  return orderAuditType[value]
+})

+ 156 - 44
src/views/businessManager/orderManager/financeManager.vue

@@ -5,14 +5,29 @@
     </h2>
     <div class="m-core">
       <div class="newBand"
+           v-permission="{child: 'routeOrder/add', parent: '/financeManager'}"
+           @click="()=>{routeOrderStatus = true;isAdd=true,form.applyType = null}">添加订单</div>
+      <div class="newBand"
            @click="onOrderExport"
            v-permission="{child: 'export/routeOrderList', parent: '/financeManager'}">报表导出</div>
-      <div class="newBand"
-           v-permission="{child: 'routeOrder/add', parent: '/financeManager'}"
-           @click="()=>{routeOrderStatus = true;isAdd=true}">添加订单</div>
+
       <div class="newBand"
            v-permission="{child: 'adapay/exportBill', parent: '/financeManager'}"
            @click="onAdaPayExport">汇付订单导出</div>
+      <div class="newBand"
+           @click="onDownload"
+           v-permission="'import/downloadTemplate?financeManager'">下载模板</div>
+      <el-upload v-permission="'import/routeOrder'"
+                 style="display: inline-block; margin: 0 10px;"
+                 action="/api-web/import/routeOrder"
+                 :show-file-list="false"
+                 :before-upload="beforeUpload"
+                 accept=".xlsx,.xls"
+                 :headers="headers"
+                 :on-error="handleError"
+                 :on-success="handleSuccess">
+        <div class="newBand">导入</div>
+      </el-upload>
       <!-- 搜索类型 -->
       <el-form :inline="true"
                class="searchForm"
@@ -253,10 +268,11 @@
         <el-form :model="form"
                  :rules="rules"
                  ref="ruleForm">
+          <div class="lookTitle">基本信息</div>
           <el-form-item label="所属分部"
-                        prop="organId"
+                        prop="routeOrganId"
                         :label-width="formLabelWidth">
-            <el-select v-model.trim="form.organId"
+            <el-select v-model.trim="form.routeOrganId"
                        :disabled="!isAdd"
                        @change="changeOrgin"
                        style="width: 100% !important;">
@@ -279,15 +295,14 @@
                          :value="item.id"></el-option>
             </el-select>
           </el-form-item>
-          <!-- <el-form-item label="金额(元)"
-                        prop="actualAmount"
+          <el-form-item label="学员编号"
+                        prop="userId"
                         :label-width="formLabelWidth">
-            <el-input v-model="form.actualAmount"
-                      type="number"
-                      @mousewheel.native.prevent
-                      v-number
-                      placeholder="请输入金额"></el-input>
-          </el-form-item> -->
+            <el-input v-model.trim="form.userId"
+                      :disabled="!isAdd"
+                      placeholder="请输入学员编号"></el-input>
+          </el-form-item>
+          <div class="lookTitle">交易信息</div>
           <el-form-item label="交易流水号"
                         prop="transNo"
                         :label-width="formLabelWidth">
@@ -316,25 +331,44 @@
                             placeholder="选择交易日期">
             </el-date-picker>
           </el-form-item>
+          <el-form-item label="收入类型"
+                        v-if="isAdd"
+                        :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"
+                        v-if="form.applyType == 'SELL' || !isAdd"
+                        prop="saleAmount"
                         :label-width="formLabelWidth">
-            <el-input v-model="form.goodsAmount"
+            <el-input v-model="form.saleAmount"
                       @mousewheel.native.prevent
                       type="number"
                       :disabled="!isAdd"
                       placeholder="请输入销售金额" />
           </el-form-item>
           <el-form-item label="服务金额"
+                        v-if="form.applyType == 'SERVICE' || !isAdd"
                         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 +412,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 +448,10 @@ import axios from "axios";
 import qs from "qs";
 import { getToken } from "@/utils/auth";
 import load from "@/utils/loading";
+import { orderServerList } from "@/utils/searchArray"
+import {
+  Export
+} from '@/utils/downLoadFile'
 let validAmount = (rule, value, callback) => {
   if (!value) {
     callback(new Error("请输入商品数量"));
@@ -452,6 +490,7 @@ export default {
       organList: [],
       shopList: [],
       cooperationList: [],
+      orderServerList: orderServerList,
       pageInfo: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -467,7 +506,7 @@ export default {
       routeOrderStatus: false,
       isAdd: true,
       form: {
-        organId: null,
+        routeOrganId: null,
         transNo: null,
         type: "OTHER",
         merNo: null,
@@ -475,12 +514,14 @@ export default {
         memo: null,
         payTime: null,
         serviceAmount: null,
-        goodsAmount: null,
+        saleAmount: null,
         schoolId: null,
         goodsList: [{
           id: null,
           number: null
-        }]
+        }],
+        applyType: null,
+        userId: ''
       },
       validAmount: [
         { required: true, validator: validAmount, trigger: 'blur' },
@@ -504,9 +545,14 @@ export default {
         payTime: [
           { required: true, message: "选择交易日期", trigger: "change" }
         ],
+        applyType: [
+          { required: true, message: "请选择收入类型", trigger: "change" }
+        ]
 
-
-      }
+      },
+      headers: {
+        Authorization: getToken()
+      },
     }
   },
   mounted () {
@@ -550,17 +596,18 @@ export default {
     onOrderSubmit (formName) { // 添加订单
       this.$refs[formName].validate(valid => {
         if (valid) {
-          if (!this.form.goodsAmount && !this.form.serviceAmount) {
+          if (!this.form.saleAmount && !this.form.serviceAmount) {
             this.$message.error('请输入销售收入或服务收入')
             return
           }
-          if (!this.form.goodsAmount) {
+          if (!this.form.saleAmount) {
             this.form.goodsList = null
           }
-          this.form.goodies = {}
+          let goodsJson = {}
           for (let i in this.form.goodsList) {
-            this.form.goodies[this.form.goodsList[i]['id']] = this.form.goodsList[i]['number']
+            goodsJson[this.form.goodsList[i]['id']] = this.form.goodsList[i]['number']
           }
+          this.form.goodsJson = JSON.stringify(goodsJson)
           routeOrderAdd(this.form).then(res => {
             if (res.code == 200) {
               this.$message.success("添加成功");
@@ -816,22 +863,27 @@ export default {
 
       getOrderInfo({ orderId: row.id }).then(res => {
         if (res.code === 200) {
-          let orderInfo = res.data.studentPaymentOrder;
-          this.changeOrgin(parseInt(orderInfo.organId))
-          this.form = {
-            organId: orderInfo.organId,
-            transNo: orderInfo.transNo,
-            type: "OTHER",
-            merNo: orderInfo.merNos,
-            actualAmount: orderInfo.actualAmount,
-            memo: orderInfo.memo,
-            payTime: orderInfo.payTime,
-            serviceAmount: res.data.serviceAmount,
-            goodsAmount: res.data.goodsAmount,
-            schoolId: parseInt(orderInfo.musicGroupId) || '    ',
-            goodsList: res.data.sellOrders.map(item => { return { id: item.goodsId, number: item.num } })
-          },
+          this.$nextTick(some => {
+            let orderInfo = res.data.studentPaymentOrder;
+            this.changeOrgin(parseInt(orderInfo.organId))
+            this.form = {
+              routeOrganId: orderInfo.organId,
+              transNo: orderInfo.transNo,
+              userId: orderInfo.userId,
+              type: "OTHER",
+              merNo: orderInfo.merNos,
+              actualAmount: orderInfo.actualAmount,
+              memo: orderInfo.memo,
+              payTime: orderInfo.payTime,
+              serviceAmount: res.data.serviceAmount,
+              saleAmount: res.data.goodsAmount,
+              schoolId: parseInt(orderInfo.musicGroupId) || '    ',
+              applyType: 'SELL'
+            },
+              this.$set(this.form, 'goodsList', res.data.sellOrders.map(item => { return { id: item.goodsId, number: item.num } }))
+            console.log(this.form)
             this.routeOrderStatus = true
+          })
         }
       })
     },
@@ -852,11 +904,63 @@ export default {
         })
         .catch();
       // orderDelete
+    },
+    onDownload () { // 下载模板
+      // // 报表导出
+      Export(this, {
+        url: "/api-web/import/downloadTemplate",
+        params: {
+          templateType: 'ROUTE_ORDER'
+        },
+        fileName: '财务管理导入模板.xlsx'
+      })
+    },
+    beforeUpload (file) {
+      // console.log(file.type)
+      // const isJPG = file.type === '.xlsx' || file.type === '.xls';
+      // // const isLt2M = file.size / 1024 / 1024 < 2;
+      // if (!isJPG) {
+      //   this.$message.error('上传头像图片只能是 JPG 格式!');
+      // }
+      // return isJPG;
+      // this.goodsLoading = true
+      load.startLoading()
+    },
+    handleSuccess (response, file, fileList) { // 导入商品
+      // 报表导出
+      load.endLoading()
+      if (response.code == 200) {
+        this.$message.success('导入成功')
+        // this.getList()
+      } else if (response.code == 0) {
+        let str = this.fomatStr(response.msg)
+        this.$alert(str, '导入结果', {
+          confirmButtonText: '确定',
+          dangerouslyUseHTMLString: true,
+          callback: action => {
+            // this.getList()
+          }
+        });
+      } else {
+        this.$message.error(response.msg)
+      }
+    },
+    handleError (err, file, fileList) {
+      load.endLoading()
+      console.log(err, file, fileList)
+    },
+    fomatStr (str) {
+      let arr = str.split(';')
+      let newStr = ''
+      arr.forEach(item => {
+        newStr += `<p>${item}</p>`
+      })
+      return newStr
     }
   }
 };
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
 .newBand {
   display: inline-block;
 }
@@ -866,4 +970,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>

+ 9 - 7
src/views/businessManager/orderManager/orderAudit/index.vue

@@ -176,7 +176,7 @@ export default {
         auditStatus: null,
         type: null
       },
-      tableList: [{}],
+      tableList: [],
       organList: [],
       orderServerList,
       orderAuditTypeList,
@@ -211,9 +211,9 @@ export default {
 
     this.init();
   },
-  // activated () {
-  //   this.init();
-  // },
+  activated () {
+    this.init();
+  },
   methods: {
     init () {
       this.getList()
@@ -251,16 +251,18 @@ export default {
       this.orderVisible = true
     },
     submit (str) {
-      this.$confirm(`是否`, "提示", {
+      let message;
+      str == 'REJECT' ? message = '驳回' : message = '同意'
+      this.$confirm(`是否${message}审核`, "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"
       })
         .then(() => {
-          router.replace(query.path);
+          this.$refs.orderAuditDetail.auditOutOrder(str)
         })
         .catch(() => { });
-      this.$refs.orderAuditDetail.auditOutOrder(str)
+
     }
   }
 };

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

@@ -0,0 +1,303 @@
+<template>
+  <div>
+    <el-form :inline='true'>
+      <div class="lookTitle">申请信息</div>
+      <el-form-item label="申请人"
+                    label-width="80px">
+        <div style="width:180px">
+          <p v-if="form.operator&&form.operator.username">{{form.operator.username}}</p>
+        </div>
+      </el-form-item>
+      <el-form-item label="申请时间"
+                    label-width="80px">
+        <div style="width:180px">{{form.createTime}}</div>
+      </el-form-item>
+    </el-form>
+    <el-form :model="form"
+             ref="ruleForm">
+      <div class="lookTitle">基本信息</div>
+      <el-form-item label="所属分部"
+                    prop="organId"
+                    :label-width="formLabelWidth">
+        <!--    -->
+        <el-select v-model.trim="form.organId"
+                   :disabled="!isAdd"
+                   @change="changeOrgin"
+                   style="width: 100% !important;">
+          <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 label="所属学校"
+                    prop="schoolId"
+                    :label-width="formLabelWidth">
+        <!--    @change="checkSchool" -->
+        <el-select v-model="form.schoolId"
+                   :disabled="!isAdd"
+                   style="width: 100% !important;">
+          <el-option v-for="(item,index) in cooperationList"
+                     :key="index"
+                     :label="item.name"
+                     :value="item.id"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="学员编号"
+                    prop="userId"
+                    :label-width="formLabelWidth">
+        <el-input v-model.trim="form.userId"
+                  :disabled="!isAdd"
+                  placeholder="请输入学员编号"></el-input>
+      </el-form-item>
+      <div class="lookTitle">交易信息</div>
+      <el-form-item label="交易流水号"
+                    prop="transNo"
+                    :label-width="formLabelWidth">
+        <el-input placeholder="请输入交易流水号"
+                  type="text"
+                  :disabled="!isAdd"
+                  v-model.trim="form.transNo"></el-input>
+      </el-form-item>
+      <el-form-item label="收款账户"
+                    prop="merNo"
+                    :label-width="formLabelWidth">
+        <el-input placeholder="请输入收款账户"
+                  type="text"
+                  :disabled="!isAdd"
+                  v-model.trim="form.merNo"></el-input>
+      </el-form-item>
+      <el-form-item label="交易日期"
+                    prop="payTime"
+                    :label-width="formLabelWidth">
+        <el-date-picker style="width: 100%;"
+                        :disabled="!isAdd"
+                        v-model="form.payTime"
+                        type="datetime"
+                        format="yyyy-MM-dd HH:mm:ss"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+                        placeholder="选择交易日期">
+        </el-date-picker>
+      </el-form-item>
+      <!-- <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="saleAmount"
+                    :label-width="formLabelWidth">
+        <el-input v-model="form.saleAmount"
+                  @mousewheel.native.prevent
+                  type="number"
+                  :disabled="!isAdd"
+                  placeholder="请输入销售金额" />
+      </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="请输入收入金额" />
+      </el-form-item>
+      <div>
+        <div v-for="(goodsList, index) in form.goodsList"
+             :key="index">
+          <el-form-item :label="'商品名称' + (index + 1)"
+                        :label-width="formLabelWidth"
+                        class="setWidth"
+                        :prop="'goodsList.' + index + '.id'"
+                        :rules="[{ required: true, message: '请选择商品', trigger: 'change' }]">
+            <el-select v-model.trim="goodsList.id"
+                       filterable
+                       :disabled="!isAdd"
+                       placeholder="请选择商品">
+              <el-option v-for="(item,index) in shopList"
+                         :key="index"
+                         :label="item.name"
+                         :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item class="setWidth"
+                        style="margin-right: 10px"
+                        :prop="'goodsList.' + index + '.number'">
+            <!--  :rules="validAmount" <el-input-number style="width: 160px;" v-model="goodsList.number" placeholder="商品数量"></el-input-number> -->
+            <el-input type="age"
+                      style="width: 160px;"
+                      :disabled="!isAdd"
+                      clearable
+                      placeholder="请输入商品数量"
+                      @mousewheel.native.prevent
+                      v-model.number="goodsList.number"></el-input>
+          </el-form-item>
+          <!-- <el-button icon="el-icon-minus"
+                     :disabled="!isAdd"
+                     v-if="form.goodsList.length > 1"
+                     circle
+                     @click.prevent="removeGoodsList(goodsList)"></el-button>
+          <el-button icon="el-icon-plus"
+                     :disabled="!isAdd"
+                     @click.prevent="addGoodsList"
+                     circle
+                     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="3"></el-input>
+      </el-form-item>
+
+    </el-form>
+    <div class="lookTitle"
+         v-if="auditStatus == 'ING'">审核意见</div>
+    <el-form :model="submitForm"
+             v-if="auditStatus == 'ING'"
+             ref="submitForm">
+      <el-form-item prop="memo"
+                    :rules=" [{ required: true, message:'请输入审核意见',trigger: 'blur'}]">
+        <el-input type='textarea'
+                  :rows="4"
+                  v-model="submitForm.memo"></el-input>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+<script>
+import { getRouteOrderInfo, auditOutOrder } from '@/api/orderManager'
+import { getCooperation } from "@/api/buildTeam";
+export default {
+  props: ['orderId', 'shopList', 'organList'],
+  data () {
+    return {
+      formLabelWidth: "100px",
+      form: {
+        organId: null,
+        transNo: null,
+        type: "OTHER",
+        merNo: null,
+        actualAmount: null,
+        memo: null,
+        payTime: null,
+        serviceAmount: null,
+        goodsAmount: null,
+        schoolId: null,
+        goodsList: [{
+          id: null,
+          number: null
+        }],
+        applyType: null,
+        userId: ''
+      },
+      isAdd: false,
+      cooperationList: [],
+      submitForm: {
+        memo: ''
+      },
+      auditStatus: ''
+    }
+  },
+  mounted () {
+    if (this.orderId) {
+      getRouteOrderInfo({ id: this.orderId }).then(res => {
+        if (res.code == 200) {
+          let orderInfo = res.data
+          this.form = {
+            createTime: orderInfo.createTime,
+            operator: orderInfo.operator,
+            organId: orderInfo.routeOrganId,
+            transNo: orderInfo.transNo,
+            type: "OTHER",
+            merNo: orderInfo.merNo,
+            actualAmount: orderInfo.actualAmount,
+            memo: orderInfo.memo,
+            payTime: orderInfo.payTime,
+            serviceAmount: orderInfo.serviceAmount,
+            saleAmount: orderInfo.saleAmount,
+            schoolId: orderInfo.schoolId,
+            userId: orderInfo.userId
+          }
+          this.auditStatus = orderInfo.auditStatus
+          this.$set(this.form, 'goodsList', this.getShopList(orderInfo.goodsJson))
+          console.log(this.form)
+          this.changeOrgin(orderInfo.routeOrganId)
+        }
+      })
+    }
+
+  },
+  methods: {
+    changeOrgin (val) {
+      // this.$set(this.form, 'schoolId', null)
+      if (val) {
+        getCooperation({ rows: 9999, organId: val }).then(res => {
+          if (res.code === 200) {
+            this.cooperationList = res.data.rows
+          }
+        })
+      }
+    },
+    getShopList (str) {
+      let arr = []
+      try {
+        const obj = JSON.parse(str)
+
+        // id: item.goodsId, number: item.num
+        for (let i in obj) {
+
+          arr.push({ id: parseInt(i), number: obj[i] })
+        }
+
+      } catch {
+      }
+      console.log(arr)
+      return arr
+    },
+    auditOutOrder (status) {
+      const that = this;
+      this.$refs.submitForm.validate(res => {
+        if (res) {
+          auditOutOrder({ auditStatus: status, memo: this.submitForm.memo, studentPaymentRouteOrderId: this.orderId }).then(res => {
+            if (res.code == 200) {
+              this.$message.success('审核成功')
+              that.$emit('getList')
+              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;
+}
+.setWidth {
+  display: inline-block;
+}
+</style>

+ 25 - 1
src/views/businessManager/orderManager/salesList.vue

@@ -8,12 +8,18 @@
       <el-form :inline="true"
                class="searchForm"
                v-model.trim="searchForm">
+
         <el-form-item>
           <el-input v-model.trim="searchForm.search"
                     placeholder="请输入流水号、订单号"
                     type="text"></el-input>
         </el-form-item>
         <el-form-item>
+          <el-input placeholder="学生姓名"
+                    type="text"
+                    v-model.trim="searchForm.userName"></el-input>
+        </el-form-item>
+        <el-form-item>
           <el-input v-model.trim="searchForm.goodsName"
                     placeholder="请输入商品名称"
                     type="text"></el-input>
@@ -71,6 +77,9 @@
                      type="primary">重置</el-button>
         </el-form-item>
       </el-form>
+      <div class="newBand"
+           @click="onOrderExport"
+           v-permission="{child: 'export/exportSellOrders', parent: '/salesList'}">报表导出</div>
       <!-- 列表 -->
       <div class="tableWrap">
         <el-table :data='tableList'
@@ -303,6 +312,7 @@ import pagination from '@/components/Pagination/index'
 import { getSellOrder, updateSellOrder, refundSellOrder } from '@/api/orderManager'
 import { getEmployeeOrgan, getCooperation, findEducationUsers } from '@/api/buildTeam'
 import { paymentChannelStatus } from '@/utils/searchArray'
+import { Export } from '@/utils/downLoadFile'
 import dayjs from 'dayjs'
 export default {
   components: { pagination },
@@ -319,7 +329,8 @@ export default {
         cooperationOrganId: '',
         startTime: null,
         endTime: null,
-        organIdList: []
+        organIdList: [],
+        userName: ''
       },
       tableList: [],
       organList: [],
@@ -489,6 +500,19 @@ export default {
         eduTeacherId: row.eduTeacherId ? row.eduTeacherId : null
       }
       // applyRefundAudit()
+    },
+    onOrderExport () {
+      let params = this.searchForm
+      params.rows = this.pageInfo.limit
+      params.page = this.pageInfo.page
+      this.searchOrderDate(this.orderDate)
+      Export(this, {
+        url: '/api-web/export/exportSellOrders',
+        params: {
+          ...params,
+          organIdList: [...this.searchForm.organIdList].join()
+        }
+      }, '是否确认导出报表?')
     }
   }
 }

+ 14 - 18
src/views/teamDetail/components/studentList.vue

@@ -700,24 +700,20 @@
                    @click="submitAddVisit">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog
-      title="选择班级"
-      destroy-on-close
-      width="700px"
-      :visible.sync="createUserPayVisible"
-    >
-      <createUserPay
-        :signList="signList"
-        :mixList="mixList"
-        :highList="highList"
-        :snapList="snapList"
-        :musicGroupId="this.teamid"
-        :organizationCourseUnitPriceSettings="organizationCourseUnitPriceSettings"
-        :createdUserId="createdUserId"
-        :baseInfo="baseInfo"
-        @submited="getList"
-        @close="createUserPayVisible = false"
-      />
+    <el-dialog title="选择班级"
+               destroy-on-close
+               width="700px"
+               :visible.sync="createUserPayVisible">
+      <createUserPay :signList="signList"
+                     :mixList="mixList"
+                     :highList="highList"
+                     :snapList="snapList"
+                     :musicGroupId="this.teamid"
+                     :organizationCourseUnitPriceSettings="organizationCourseUnitPriceSettings"
+                     :createdUserId="createdUserId"
+                     :baseInfo="baseInfo"
+                     @submited="getList"
+                     @close="createUserPayVisible = false" />
     </el-dialog>
   </div>
 </template>

+ 5 - 4
vue.config.js

@@ -19,8 +19,8 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // let target = 'https://online.dayaedu.com' //线上
 // let target = 'http://dyme.utools.club' //test环境
 // let target = 'http://192.168.3.139:8000' // 箭河
-// let target = 'http://192.168.3.248:8000' //邹璇
-// let target = 'http://192.168.3.8:8000' //勇哥
+// let target = 'http://192.168.3.30:8080' //邹璇
+// let target = 'http://192.168.3.204:8000' //勇哥
 let target = 'http://dev.dayaedu.com' // 测试服
 // let target = 'http://192.168.3.196' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
@@ -60,7 +60,7 @@ module.exports = {
       // http://47.99.212.176:8000
       // http://192.168.3.28:8000
       '/api-auth': {
-        target: target,
+        target: 'http://dev.dayaedu.com',
         changeOrigin: true,
         pathRewrite: {
           '^api-auth': ''
@@ -97,7 +97,8 @@ module.exports = {
       '/jiari': {
         target: 'http://tool.bitefu.net',
         changeOrigin: true,
-      }
+      },
+
     },
   },
   configureWebpack: {