Commit 4a09c476 authored by zs嵩's avatar zs嵩

批量费用申请

parent 4711720c
......@@ -107,6 +107,24 @@ export function feeApplicationCreate(data) {
})
}
// 批量申请费用
export function feeApplicationBatch(data) {
return request({
url: "ecw/batch-order-fee-apply/create",
method: "post",
data: data
})
}
// 批量获取需要申请费用的订单详情
export function feeApplicationBatchGetOrderListByIds(data) {
return request({
url: "ecw/batch-order-fee-apply/getOrderListByIds",
method: "get",
params: data
})
}
// 批量申请费用
export function feeApplicationCreateBatch(data) {
return request({
......@@ -165,6 +183,7 @@ export function ApplicationListByOrderId(params) {
params: params
})
}
// 批量更新特需
export function specialNeedCreate(data) {
return request({
......@@ -932,7 +951,6 @@ export function noNeedPacks(data) {
})
}
// 完成打包
export function finishPacked(data) {
return request({
......
<template>
<el-dialog
:visible.sync="dialogVisible"
width="80%"
:before-close="
() => {
$emit('update:dialogVisible', false)
}
"
>
<div class="fee-application">
<h1>{{ $t("费用申请") }}-{{ orderDetails.orderNo }}</h1>
<h1>{{ $t("批量费用申请") }}</h1>
<el-divider></el-divider>
<el-form label-width="100px" inline>
<el-form-item :label="$t('订单号') + ':'">
<div class="content">
{{ orderDetails.orderNo }}
</div>
</el-form-item>
<el-form-item :label="$t('发货人') + ':'">
<div class="content">
{{ orderDetails.consignorVO ? orderDetails.consignorVO.name : "" }}
</div>
</el-form-item>
<el-form-item :label="$t('唛头')">
<div class="content">{{ orderDetails.marks }}</div>
</el-form-item>
<el-form-item>
<div class="flex-c-c">
<div class="fills"></div>
<el-button :disabled="!!processInstanceId" @click="addCost">{{ $t("添加申请") }} </el-button>
</el-form-item>
</el-form>
<el-table :data="list">
</div>
<el-table :data="batchApplyDetailsInfoVO.feeDetailsVOList" class="mt-20">
<el-table-column :label="$t('序号')" type="index"></el-table-column>
<el-table-column :label="$t('费用类型')">
<template v-slot:default="scope">
......@@ -84,7 +61,7 @@
</el-table-column>
</el-table>
<el-table ref="orderTable" border :data="orderList" @selection-change="handleSelectionChange" :row-style="rowStyle" class="mt-10">
<el-table ref="orderTable" border default-expand-all :data="batchApplyDetailsInfoVO.orderFeeDetailsVOList" @selection-change="handleSelectionChange" class="mt-10">
<el-table-column type="selection" width="50"></el-table-column>
<el-table-column :label="$t('序号')" width="50" type="index" align="center" />
<el-table-column prop="orderNo" :label="$t('订单号')" align="center" width="150">
......@@ -113,10 +90,7 @@
</template>
</el-table-column>
<el-table-column :label="$t('加价单价')" width="200">
<template slot-scope="scope">
<div>{{ $t("运费") }}:{{ form.freightFee || 0 }}{{ currencyMap[form.freightCurrencyId] }}/{{ unitMap[form.freightUnitId] }}</div>
<div>{{ $t("清关费") }}:{{ form.clearanceFee || 0 }}{{ currencyMap[form.clearanceCurrencyId] }}/{{ unitMap[form.clearanceUnitId] }}</div>
</template>
<template slot-scope="scope"> </template>
</el-table-column>
<el-table-column prop="salesmanName" :label="$t('客户经理')" align="center"></el-table-column>
<el-table-column prop="firstInTime" :label="$t('首次入仓时间')" align="center" width="150"></el-table-column>
......@@ -126,27 +100,82 @@
<template v-slot="scope">{{ scope.row.specialPriceType ? "" : "" }}</template>
</el-table-column>
<el-table-column type="expand" :label="$t('更多')">
<template v-slot="scope">
<batchMarkupComList :list="scope.row.orderItemBackVOList" :prodTypeList="prodTypeList" :attrList="attrList" :unitMap="unitMap" :currencyMap="currencyMap" />
<template slot-scope="{ row }">
<el-table :data="row.orderFeeApplicationBaseVOList || []">
<el-table-column :label="$t('序号')" type="index"></el-table-column>
<el-table-column :label="$t('费用类型')">
<template v-slot:default="scope">
<dict-selector :disabled="!scope.row.editMode && !!scope.row.status" :type="DICT_TYPE.FEE_TYPE" v-model="scope.row.feeType" @change="updatePayer(scope.row)" />
</template>
</el-table-column>
<el-table-column :label="$t('金额')">
<template v-slot:default="scope">
<el-input :disabled="!scope.row.editMode && !!scope.row.status" v-model="scope.row.applicationFee" type="number" @input="formatAmount(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('货币类型')">
<template v-slot:default="scope">
<el-select :disabled="!scope.row.editMode && !!scope.row.status" v-model="scope.row.applicationFeeCurrency">
<el-option v-for="item in JSON.parse(currencys)" :key="item.id" :label="isChinese ? item.titleZh : item.titleEn" :value="item.id" />
</el-select>
</template>
</el-table-column>
<el-table-column :label="$t('付款类型')">
<template v-slot="{ row }">
<dict-selector :disabled="!row.editMode && !!row.status" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
</template>
</el-table-column>
<el-table-column :label="$t('付款人')">
<template v-slot="{ row }">
<dict-selector :disabled="!row.editMode && !!row.status" :type="DICT_TYPE.DRAWEE" :filter="payerDictFilter" v-model="row.payer" />
</template>
</el-table-column>
<el-table-column :label="$t('备注')">
<template v-slot:default="scope">
<el-input :disabled="!scope.row.editMode && !!scope.row.status" v-model="scope.row.remarks" type="textarea"></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('确认收款')">
<template v-slot:default="scope">
<dict-tag :type="DICT_TYPE.ECW_RECEIVABLE_STATE" :value="scope.row.receiveFlag" />
</template>
</el-table-column>
<el-table-column :label="$t('申请人')">
<template v-slot:default="scope">
{{ scope.row.status === 0 ? $t("未提交") : scope.row.applicationAuthor }}
</template>
</el-table-column>
<el-table-column :label="$t('操作')">
<template v-slot:default="scope">
<el-tag v-if="scope.row.status !== 0 && !scope.row.editMode">{{ STATUS[scope.row.status] }} </el-tag>
<el-button type="text" v-if="scope.row.id && modifable(scope.row)" @click="modify(scope.row)">{{ $t("修改") }} </el-button>
<el-button type="text" v-if="scope.row.status === 0" @click="del(scope.$index)">删除 </el-button>
<el-button type="text" v-if="scope.row.id && scope.row.applicationFee === 0 && scope.row.status === 2 && !scope.row.editMode" @click="deleteByFeeIsZero(scope.row.id)">删除 </el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
</el-table>
<div style="padding: 20px">
<work-flow xmlkey="free_apply" v-model="selectedUsers" />
<work-flow xmlkey="batch_order_free_apply" v-model="selectedUsers" />
</div>
<div style="text-align: center; margin-top: 20px">
<el-button type="primary" v-if="!processInstanceId" style="margin-right: 30px" :disabled="!feeList.length && !editMode" @click="submit">{{ $t("提交") }} </el-button>
<el-button type="primary" v-if="!processInstanceId" style="margin-right: 30px" :disabled="!editMode" @click="submit">{{ $t("提交") }} </el-button>
<el-button type="primary" v-if="processInstanceId" style="margin-right: 30px" @click="goProcessDetail">{{ $t("审核中") }} </el-button>
<el-button type="primary" v-if="processInstanceId" style="margin-right: 30px" @click="cancel">{{ $t("取消审核") }} </el-button>
<el-button @click="$emit('update:dialogVisible', false)">{{ $t("返回") }} </el-button>
</div>
</div>
</el-dialog>
</template>
<script>
import { getOrder, feeApplicationCreateBatch, ApplicationListByOrderId, applicationUpdate, feeApplicationListByOrderId, feeApplicationCancel, getFeeApplicationApproveByOrderId, getBatchFeeByProcessId, qetBatchFeeByBusinessId, getBatchFeeByBusinessId, feeApplicationDelete, getFeeDraweeByFeeType } from "@/api/ecw/order"
import { getCurrencyList } from "@/api/ecw/currency"
import { getUnitList } from "@/api/ecw/unit"
import { getProductAttrList } from "@/api/ecw/productAttr"
import { getProductTypeList } from "@/api/ecw/productType"
import { getOrder, feeApplicationBatch, feeApplicationBatchGetOrderListByIds, applicationUpdate, feeApplicationCancel, getFeeApplicationApproveByOrderId, getBatchFeeByProcessId, qetBatchFeeByBusinessId, getBatchFeeByBusinessId, feeApplicationDelete, getFeeDraweeByFeeType } from "@/api/ecw/order"
import { getDictDatas, DICT_TYPE } from "@/utils/dict"
import workFlow from "@/components/WorkFlow"
import batchMarkupComList from "./batchMarkupComList"
......@@ -168,19 +197,22 @@ export default {
attrList: [],
unitList: [],
currencyList: [],
orderDetails: {},
// 费用列表
list: [],
// 审核ID,没有则表示不在审核中
processInstanceId: null,
DICT_TYPE,
getDictDatas,
STATUS: {},
selectedUsers: []
selectedUsers: [],
batchApplyDetailsInfoVO: {
feeDetailsVOList: [],
orderFeeDetailsVOList: []
}
}
},
computed: {
orderIds() {
return this.$route.query.orderIds || ""
},
currencyMap() {
let map = {}
this.currencyList.forEach((item) => {
......@@ -205,14 +237,14 @@ export default {
isChinese() {
return this.$i18n.locale === "zh_CN"
},
feeList() {
// return this.list.filter((item) => item.status === 0);
return this.list
},
// 正在编辑的费用申请
currentItem() {
return this.list.find((item) => item.editMode)
},
// feeList() {
// // return this.list.filter((item) => item.status === 0);
// return this.list
// },
// // 正在编辑的费用申请
// currentItem() {
// return this.list.find((item) => item.editMode)
// },
// 是否修改模式
editMode() {
return !!this.currentItem
......@@ -234,24 +266,19 @@ export default {
this.STATUS[e.value] = e.label
})
getOrder(this.orderId).then((res) => {
this.orderDetails = res.data
})
// 查询历史申请
feeApplicationListByOrderId({ orderId: this.orderId }).then((res) => {
this.list = res.data
feeApplicationBatchGetOrderListByIds({ orderIds: this.orderIds }).then((res) => {
this.batchApplyDetailsInfoVO.orderFeeDetailsVOList = res.data
})
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId(this.orderId).then((res) => {
if (res.data) {
this.processInstanceId = res.data.formId
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
this.list = res.data
})*/
}
})
// getFeeApplicationApproveByOrderId(this.orderId).then((res) => {
// if (res.data) {
// this.processInstanceId = res.data.formId
// /*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
// this.list = res.data
// })*/
// }
// })
getUnitList().then((res) => (this.unitList = res.data))
getCurrencyList().then((res) => (this.currencyList = res.data))
getProductAttrList().then((response) => {
......@@ -324,16 +351,22 @@ export default {
},
addCost() {
this.list.push({
orderId: this.orderId,
let obj = {
feeType: undefined, //费用申请类型
applicationFee: undefined, //金额
applicationFeeCurrency: undefined, // 费用申请货币类型
payer: this.orderDetails.drawee && this.orderDetails.drawee != 3 ? this.orderDetails.drawee : undefined, // 费用申请付款人
payer: undefined, // 费用申请付款人
remarks: undefined,
receiveFlag: 0,
applicationAuthor: undefined,
status: 0
}
this.batchApplyDetailsInfoVO.feeDetailsVOList.push(obj)
this.batchApplyDetailsInfoVO.orderFeeDetailsVOList.forEach((item) => {
if (!item.orderFeeApplicationBaseVOList) {
this.$set(item, "orderFeeApplicationBaseVOList", [])
}
item.orderFeeApplicationBaseVOList.push(obj)
})
},
deleteByFeeIsZero(id) {
......@@ -369,7 +402,7 @@ export default {
// });
// }
feeApplicationCreateBatch({
feeApplicationBatch({
orderFeeApplicationCreateReqVOList: this.feeList,
copyUserId: this.selectedUsers,
orderId: this.orderId
......
......@@ -589,7 +589,6 @@
<withdrawal v-if="show" :dialog-visible="show" :orderId="orderId"></withdrawal>
<batch-single-application @getList="getList" :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application>
<fee-application v-if="feeApplicationBol" :order-id="orderId" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBol" @refresh="getList"></fee-application>
<feeApplicationBatch v-if="feeApplicationBatch" :order-list="multipleSelection" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBatch" @refresh="getList" />
<merge-log :order-no="showMergedLogOrderNo" v-if="showMergedLogOrderNo !== null" @close="showMergedLogOrderNo = null" />
<pickup-log v-if="showPickupLogOrderNo" :order-no="showPickupLogOrderNo" @close="showPickupLogOrderNo = null" @delete="getList" />
<SplitRevoke
......@@ -622,7 +621,6 @@ import withdrawal from "@/views/ecw/order/withdrawal"
import UserSelector from "@/components/UserSelector"
import BatchSingleApplication from "@/views/ecw/order/batchSingleApplication"
import FeeApplication from "@/views/ecw/order/feeApplication"
import feeApplicationBatch from "@/views/ecw/order/feeApplicationBatch"
import MergeLog from "@/views/ecw/order/components/MergeLog"
import PickupLog from "./components/PickupLog"
import { getWarehouseList } from "@/api/ecw/warehouse"
......@@ -639,7 +637,6 @@ export default {
Template,
UserSelector,
FeeApplication,
feeApplicationBatch,
BatchSingleApplication,
MergeLog,
PickupLog,
......@@ -754,8 +751,7 @@ export default {
key: "eqPickRatio",
value: ""
},
autoHeight: null,
feeApplicationBatch: false
autoHeight: null
}
},
watch: {
......@@ -1447,7 +1443,7 @@ export default {
this.$message(this.$t("请先勾选订单"))
return
}
this.feeApplicationBatch = true
this.$router.push(`/order/feeApplicationBatch?orderIds=${this.ids.join(",")}`)
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment