|
@@ -5,14 +5,29 @@
|
|
|
</h2>
|
|
|
<div class="m-core">
|
|
|
<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"
|
|
|
+ @click="onOrderExport"
|
|
|
+ v-permission="{child: 'export/routeOrderList', parent: '/financeManager'}">报表导出</div>
|
|
|
+
|
|
|
+ <div class="newBand"
|
|
|
v-permission="{child: 'adapay/exportBill', parent: '/financeManager'}"
|
|
|
@click="onAdaPayExport">汇付订单导出</div>
|
|
|
+ <div class="newBand"
|
|
|
+ @click="onDownload"
|
|
|
+ v-permission="'import/downloadTemplate'">下载模板</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"
|
|
@@ -335,9 +350,9 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="销售金额"
|
|
|
v-if="form.applyType == 'SELL' || !isAdd"
|
|
|
- prop="goodsAmount"
|
|
|
+ prop="saleAmount"
|
|
|
:label-width="formLabelWidth">
|
|
|
- <el-input v-model="form.goodsAmount"
|
|
|
+ <el-input v-model="form.saleAmount"
|
|
|
@mousewheel.native.prevent
|
|
|
type="number"
|
|
|
:disabled="!isAdd"
|
|
@@ -434,6 +449,9 @@ 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("请输入商品数量"));
|
|
@@ -496,7 +514,7 @@ export default {
|
|
|
memo: null,
|
|
|
payTime: null,
|
|
|
serviceAmount: null,
|
|
|
- goodsAmount: null,
|
|
|
+ saleAmount: null,
|
|
|
schoolId: null,
|
|
|
goodsList: [{
|
|
|
id: null,
|
|
@@ -531,7 +549,10 @@ export default {
|
|
|
{ required: true, message: "请选择收入类型", trigger: "change" }
|
|
|
]
|
|
|
|
|
|
- }
|
|
|
+ },
|
|
|
+ headers: {
|
|
|
+ Authorization: getToken()
|
|
|
+ },
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
@@ -576,17 +597,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("添加成功");
|
|
@@ -842,22 +864,26 @@ 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.saleAmount,
|
|
|
+ schoolId: parseInt(orderInfo.musicGroupId) || ' ',
|
|
|
+ goodsList: res.data.sellOrders.map(item => { return { id: item.goodsId, number: item.num } })
|
|
|
+ },
|
|
|
+ console.log(this.form)
|
|
|
this.routeOrderStatus = true
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -878,7 +904,42 @@ 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 {
|
|
|
+ this.$message.error(response.msg)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleError (err, file, fileList) {
|
|
|
+ load.endLoading()
|
|
|
+ console.log(err, file, fileList)
|
|
|
+ },
|
|
|
}
|
|
|
};
|
|
|
</script>
|