瀏覽代碼

09/18 17:40

111
mo 4 年之前
父節點
當前提交
59f3822ac0
共有 4 個文件被更改,包括 159 次插入64 次删除
  1. 17 0
      src/api/orderManager.js
  2. 5 4
      src/utils/searchArray.js
  3. 2 1
      src/utils/vueFilter.js
  4. 135 59
      src/views/businessManager/orderManager/financeManager.vue

+ 17 - 0
src/api/orderManager.js

@@ -185,3 +185,20 @@ export function updateSellOrder (data) {
     params: data
   })
 }
+// 获取订单详情
+export function getOrderInfo (data) {
+  return request({
+    url: api + '/routeOrder/getOrderInfo',
+    method: 'GET',
+    params: data
+  })
+}
+
+// 删除订单
+export function orderDelete (data) {
+  return request({
+    url: api + '/routeOrder/delete',
+    method: 'POST',
+    data: qs.stringify(data)
+  })
+}

+ 5 - 4
src/utils/searchArray.js

@@ -63,7 +63,8 @@ const orderStatus = [
   { value: "LUCK", label: "福袋活动" },
   { value: "PRACTICE_GROUP_BUY", label: "网管课" },
   { value: 'PRACTICE_GROUP_RENEW', label: '网管课续费' },
-  { value: 'REPAIR', label: '乐器维修' }
+  { value: 'REPAIR', label: '乐器维修' },
+  { value: 'OUTORDER', label: '外部收入' }
 
 ]
 
@@ -136,9 +137,9 @@ const visitChiose = [
 
 // 交易状态
 const paymentChannelStatus = [
-  { value: 'YQPAY', label: '双乾'},
-  { value: 'BALANCE', label: '余额'},
-  { value: 'ADAPAY', label: '汇付'}
+  { value: 'YQPAY', label: '双乾' },
+  { value: 'BALANCE', label: '余额' },
+  { value: 'ADAPAY', label: '汇付' }
 ]
 
 export {

+ 2 - 1
src/utils/vueFilter.js

@@ -240,7 +240,8 @@ Vue.filter('orderType', value => {
     PRACTICE: '网管课',
     PRACTICE_GROUP_BUY: '网管课购买',
     PRACTICE_GROUP_RENEW: '网管课续费',
-    REPAIR: '乐器维修'
+    REPAIR: '乐器维修',
+    OUTORDER: '外部收入'
 
   }
   return template[value]

+ 135 - 59
src/views/businessManager/orderManager/financeManager.vue

@@ -9,7 +9,7 @@
            v-permission="{child: 'export/routeOrderList', parent: '/financeManager'}">报表导出</div>
       <div class="newBand"
            v-permission="{child: 'routeOrder/add', parent: '/financeManager'}"
-           @click="routeOrderStatus = true">添加订单</div>
+           @click="()=>{routeOrderStatus = true;isAdd=true}">添加订单</div>
       <div class="newBand"
            v-permission="{child: 'adapay/exportBill', parent: '/financeManager'}"
            @click="onAdaPayExport">汇付订单导出</div>
@@ -182,8 +182,10 @@
                            label="操作">
             <template slot-scope="scope">
               <div v-if="scope.row.groupType == 'OUTORDER'">
-                <el-button type="text">查看</el-button>
-                <el-button type="text">删除</el-button>
+                <el-button type="text"
+                           @click='lookOrderInfo(scope.row)'>查看</el-button>
+                <el-button type="text"
+                           @click="removeOrderInfo(scope.row)">删除</el-button>
               </div>
             </template>
           </el-table-column>
@@ -195,7 +197,7 @@
                     @pagination="getList" />
       </div>
 
-      <el-dialog title="添加订单"
+      <el-dialog :title="isAdd?'添加订单':'查看'"
                  :visible.sync="routeOrderStatus"
                  @close="onFormClose('ruleForm')"
                  width="600px">
@@ -206,6 +208,7 @@
                         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"
@@ -218,26 +221,29 @@
                         prop="schoolId"
                         :label-width="formLabelWidth">
             <el-select v-model="form.schoolId"
+                       :disabled="!isAdd"
                        style="width: 100% !important;">
-              <el-option v-for="(item,index) in cooperationList"`
+              <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="金额(元)"
+          <!-- <el-form-item label="金额(元)"
                         prop="actualAmount"
                         :label-width="formLabelWidth">
             <el-input v-model="form.actualAmount"
                       type="number"
+                      @mousewheel.native.prevent
                       v-number
                       placeholder="请输入金额"></el-input>
-          </el-form-item>
+          </el-form-item> -->
           <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="收款账户"
@@ -245,12 +251,14 @@
                         :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"
@@ -258,57 +266,72 @@
                             placeholder="选择交易日期">
             </el-date-picker>
           </el-form-item>
-          <el-form-item label="收入类型"
-                        prop="saleType"
+          <el-form-item label="销售金额"
+                        prop="goodsAmount"
                         :label-width="formLabelWidth">
-            <el-select v-model.trim="form.saleType"
-                       style="width: 100% !important;">
-              <el-option label="服务收入"
-                         value="1"></el-option>
-              <el-option label="销售收入"
-                         value="2"></el-option>
-            </el-select>
+            <el-input v-model="form.goodsAmount"
+                      @mousewheel.native.prevent
+                      type="number"
+                      :disabled="!isAdd"
+                      placeholder="请输入销售金额" />
           </el-form-item>
-          <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"
-                         @change="checkgoods"
-                         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;"
-                        clearable
-                        placeholder="请输入商品数量"
-                        @mousewheel.native.prevent
-                        v-model.number="goodsList.number"></el-input>
-            </el-form-item>
-            <el-button icon="el-icon-minus"
-                       v-if="form.goodsList.length > 1"
-                       circle
-                       @click.prevent="removeGoodsList(goodsList)"></el-button>
-            <el-button icon="el-icon-plus"
-                       @click.prevent="addGoodsList"
-                       circle
-                       style="margin-left: 5px;"></el-button>
+          <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 v-if="form.goodsAmount">
+            <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"
+                           :disabled="!isAdd"
+                           @change="checkgoods"
+                           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>
+
           <el-form-item label="备注"
                         :label-width="formLabelWidth">
             <el-input placeholder="请输入备注"
+                      :disabled="!isAdd"
                       v-model.trim="form.memo"
                       type="textarea"
                       :rows="2"></el-input>
@@ -317,7 +340,11 @@
         <span slot="footer"
               class="dialog-footer">
           <el-button @click="routeOrderStatus = false">取 消</el-button>
-          <el-button @click="onOrderSubmit('ruleForm')"
+          <el-button v-if="!isAdd"
+                     @click="routeOrderStatus = false"
+                     type="primary">确 定</el-button>
+          <el-button v-else
+                     @click="onOrderSubmit('ruleForm')"
                      type="primary">确 定</el-button>
         </span>
       </el-dialog>
@@ -326,7 +353,7 @@
 </template>
 <script>
 import pagination from "@/components/Pagination/index";
-import { routeOrderFinance, routeOrderAdd } from "@/api/orderManager";
+import { routeOrderFinance, routeOrderAdd, getOrderInfo, orderDelete } from "@/api/orderManager";
 import { goodsQuery } from '@/api/businessManager'
 import { getEmployeeOrgan, getAddress, getCooperation } from "@/api/buildTeam";
 // import store from '@/store'
@@ -385,6 +412,7 @@ export default {
       totalRevenueAmount: 0,
       formLabelWidth: "100px",
       routeOrderStatus: false,
+      isAdd: true,
       form: {
         organId: null,
         transNo: null,
@@ -393,7 +421,8 @@ export default {
         actualAmount: null,
         memo: null,
         payTime: null,
-        saleType: null,
+        serviceAmount: null,
+        goodsAmount: null,
         schoolId: null,
         goodsList: [{
           id: null,
@@ -422,11 +451,10 @@ export default {
         payTime: [
           { required: true, message: "选择交易日期", trigger: "change" }
         ],
-        saleType: [
-          { required: true, message: "请选择收入类型", trigger: "change" }
-        ],
+
+
       }
-    };
+    }
   },
   mounted () {
     getEmployeeOrgan().then(res => {
@@ -469,6 +497,10 @@ export default {
     onOrderSubmit (formName) { // 添加订单
       this.$refs[formName].validate(valid => {
         if (valid) {
+          if (!this.form.goodsAmount && !this.form.serviceAmount) {
+            this.$message.error('请输入销售收入或服务收入')
+            return
+          }
           this.form.goodies = {}
           for (let i in this.form.goodsList) {
             this.form.goodies[this.form.goodsList[i]['id']] = this.form.goodsList[i]['number']
@@ -716,6 +748,50 @@ export default {
         }
 
       }
+    },
+    lookOrderInfo (row) {
+      //orderNo
+      this.isAdd = false
+
+      getOrderInfo({ orderId: row.id }).then(res => {
+        if (res.code === 200) {
+          let orderInfo = res.data.studentPaymentOrder;
+          console.log(parseInt(orderInfo.organId))
+          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.routeOrderStatus = true
+        }
+      })
+    },
+    removeOrderInfo (row) {
+      this.$confirm("确定删除?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          orderDelete({ orderId: row.id }).then(res => {
+            if (res.code === 200) {
+              this.$message.success('删除成功')
+              this.getList()
+              // this.routeOrderStatus = false;
+            }
+          })
+        })
+        .catch();
+      // orderDelete
     }
   }
 };