Commit 73cdcae1 authored by ylpmty's avatar ylpmty
parents 2316c39e c0604e3b
import request from '@/utils/request'
// 创建收款单
export function createReceipt(data) {
return request({
url: '/ecw/receipt/create',
method: 'post',
data: data
})
}
// 更新收款单
export function updateReceipt(data) {
return request({
url: '/ecw/receipt/update',
method: 'put',
data: data
})
}
// 删除收款单
export function deleteReceipt(id) {
return request({
url: '/ecw/receipt/delete?id=' + id,
method: 'delete'
})
}
// 获得收款单
export function getReceipt(id) {
return request({
url: '/ecw/receipt/get?id=' + id,
method: 'get'
})
}
// 获得收款单分页
export function getReceiptPage(query) {
return request({
url: '/ecw/receipt/page',
method: 'get',
params: query
})
}
// 导出收款单 Excel
export function exportReceiptExcel(query) {
return request({
url: '/ecw/receipt/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
......@@ -6,16 +6,16 @@
width="600px"
:before-close="handleClose()"
>
<el-tabs v-model="activeName" type="card">
<el-tabs v-model="activeName" type="card" @tab-click="activeWarehouse = {}">
<el-tab-pane :label="item.name" :name="'' + index" v-for="(item, index) in area" :key="index">
<div>
<div style="text-align: center">区域</div>
<div style="background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px">
<el-row :gutter="10">
<el-row :gutter="20">
<el-col :span="12" v-for="(warehouse, i) in item.children" :key="i">
<div
class="warehouse-block warehouse-block-selected"
:class="{active: selected.find(domain => domain.pid === warehouse.id)}"
class="warehouse-block"
:class="{'warehouse-block-selected': warehouse.selected, 'warehouse-block-active': warehouse.id === activeWarehouse.id}"
@click="handleSelectWarehouse(warehouse)"
>
{{ warehouse.name }}
......@@ -26,10 +26,20 @@
</div>
<div>
<div style="text-align: center">仓位</div>
<div class="position-group">
<div class="position" v-for="position in activeWarehouse.positionList" :key="item.id">
<div
class="position-item"
v-for="item in position.children"
@click="handleSelectPosition(item)"
:class="{'position-item-active': item.selected}">
{{ item.code }}
</div>
</div>
</div>
</div>
<el-divider></el-divider>
已选择:
已选择:{{ selected.join(', ') }}
<el-divider></el-divider>
</el-tab-pane>
</el-tabs>
......@@ -58,9 +68,12 @@ export default {
opened: false,
key: 0,
orderId: '',
area: [],
activeName: '0',
selected: []
selectedWarehouse: [],
selectedPosition: [],
activeWarehouse: {}
};
},
......@@ -82,7 +95,46 @@ export default {
methods: {
handleClose() {},
handleSelectWarehouse(warehouse) {
console.log(warehouse)
this.activeWarehouse = warehouse
if (!!warehouse.selected) {
warehouse.selected = false
} else {
warehouse.selected = true
// 区域被选,清空该区域下的位置
warehouse.positionList.forEach(g => {
g.children.forEach(k => {
k.selected = false
})
})
}
},
handleSelectPosition(position) {
if (!!position.selected) {
position.selected = false
// 反选位置时,检查父区域下是否所有位置被反选,若是,选父区域
const parentAre = this.area.find(e => e.id === position.domainId).children.find(f => f.id === position.areaId)
if (!parentAre.selected) {
// 检查父区域下是否所有位置被反选
let hasSelected = false
parentAre.positionList.forEach(g => {
// 位置
g.children.forEach(k => {
// 子位置
if (k.selected) hasSelected = true
})
})
// 所有子位置被反选,选父区域
if (!hasSelected) parentAre.selected = true
}
} else {
position.selected = true
// 选位置时,父区域反选
this.area.find(e => e.id === position.domainId).children.find(f => f.id === position.areaId).selected = false
}
}
},
......@@ -92,9 +144,48 @@ export default {
}
getByWarehouseId().then(r => {
this.area = r.data
const area = r.data
area.forEach(e => {
// 仓库
e.children.forEach(f => {
// 区域
f.selected = false
f.positionList.forEach(g => {
// 位置
g.children.forEach(k => {
// 子位置
k.selected = false
})
})
})
})
this.area = area
})
},
computed: {
selected() {
const result = []
this.area.forEach(e => {
// 仓库
e.children.forEach(f => {
// 区域
if (f.selected) result.push(f.code)
f.positionList.forEach(g => {
// 位置
g.children.forEach(k => {
// 子位置
if (k.selected) result.push(k.code)
})
})
})
})
return result
}
}
}
</script>
......@@ -105,14 +196,58 @@ export default {
height: 42px;
line-height: 42px;
text-align: center;
margin-bottom: 10px;
margin-bottom: 15px;
cursor: pointer;
transition: 0.5s;
box-shadow: #bfbfbf 3px 3px 14px 0;
}
.warehouse-block:hover, .warehouse-block .active{
color: #ffffff;
background-color: #388fe5;
.warehouse-block:hover{
opacity: 0.9;
transition: 0.5s;
transform: scale(1.02);
box-shadow: #8f8f8f 7px 5px 14px 0;
}
.warehouse-block-active{
box-shadow: #7e9dbd 7px 5px 14px 0;
transform: scale(1.04);
}
.warehouse-block-selected{
border: #388fe5 solid 5px;
color: #ffffff;
background-color: #4085e3;
}
.position-group{
display: flex;
background-color: #EFEFEF;
border: 1px #EFEFEF solid;
gap: 1px;
min-height: 64px;
}
.position{
width: 20%;
height: 64px;
display: flex;
flex-direction: column;
gap: 1px;
}
.position-item{
width: 100%;
background-color: #FFFFFF;
flex: 1;
cursor: pointer;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}
.position-item:hover{
background-color: #d7dbe3;
}
.position-item-active{
background-color: #4085e3;
color: white;
}
.position-item-active:hover{
background-color: #4085e3;
opacity: 0.8;
}
</style>
......@@ -12,7 +12,7 @@ import store from './store'
import router from './router'
import directive from './directive' // directive
import plugins from './plugins' // plugins
import Print from 'vue-print-nb'
import './assets/icons' // icon
import './permission' // permission control
import './tongji' // 百度统计
......@@ -80,6 +80,7 @@ import VueMeta from 'vue-meta'
Vue.use(directive)
Vue.use(plugins)
Vue.use(VueMeta)
Vue.use(Print)
// Vue.use(hljs.vuePlugin);
// bpmnProcessDesigner 需要引入
......
......@@ -96,6 +96,7 @@ export const DICT_TYPE = {
ECW_IS_BRAND: 'is_brand', // 有无品牌
ECW_OFFER_TYPE: 'offer_type', // 跟进类型
ECW_OFFER_METHOD: 'offer_method', // 跟进方式
ECW_RECEIPT_STATE: 'receipt_state',//收款单状态
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......@@ -133,9 +134,10 @@ export const DICT_TYPE = {
ORDER_TYPE: 'order_type', // 订单类型
PRODUCT_RECORD_ATTRIBUTE: 'product_record_attribute', //产品备案属性
CONTROL_GOODS_STATUS: 'control_goods_status', //控货状态
DISBURSEMENT_TYPE: 'disbursement_type', //垫付类型
DISBURSEMENT_TYPE: 'disbursement_type',//垫付类型
DRAWEE: 'drawee', // 付款人
BEGINTIME_TYPE_ENDTYPE: 'begintime_type_endtime', //时间筛选类别
ORDER_STATUS: 'order_status',//订单状态
BEGINTIME_TYPE_ENDTIME: 'begintime_type_endtime',//订单日期筛选类别
}
/**
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">新增收款单</div>
<el-form ref="form" :model="form" label-width="120px" label-position="left">
<el-descriptions :column="3" border>
<el-descriptions-item label="客户" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="customerId" required error="客户不能为空">
<customer-selector v-model="form.customerId" @change="consignor = $event" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="部门" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="departmentId" required error="部门不能为空">
<el-select v-model="form.departmentId" style="width: 300px;" placeholder="请选择部门">
<el-option v-for="item in deptData" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="业务员" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="consignorId" required error="客户不能为空">
<el-select v-model="form.salesmanId" placeholder="请选择业务员">
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="手续费(RMB)" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="feeRate" required error="手续费不能为空">
<el-input v-model="form.feeRate" placeholder="请输入手续费"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="备注" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="remark" required error="备注不能为空">
<el-input v-model="form.remark" placeholder="备注"></el-input>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</el-form>
</el-card>
<el-card class="card">
<div slot="header" class="card-title">订单信息</div>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" style="padding: 10px;margin-bottom: 10px;"
>添加未收客户款项</el-button>
</el-col>
<el-table v-loading="loadings" :data="list" border>
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="运输方式" align="center" prop="transportId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="channelName" />
<el-table-column label="始发地" align="center" prop="toDepartureId" />
<el-table-column label="目的地" align="center" prop="toDepartureId" />
<el-table-column label="品名" align="center" prop="toDepartureId" />
<el-table-column label="箱数" align="center" prop="sumNum" />
<el-table-column label="体积/重量" align="center" prop="sumVolume">
<template slot-scope="scope">
{{scope.row.sumVolume/scope.row.sumWeight}}
</template>
</el-table-column>
<el-table-column label="收入类型" align="center" prop="sumWeight" />
<el-table-column label="收款类型" align="center" prop="payType" />
<el-table-column label="应收金额" align="center" prop="sumWeight" />
<el-table-column label="收款类型" align="center" prop="payType" />
<el-table-column label="总金额美元" align="center" prop="sumWeight" />
<el-table-column label="总金额RMB" align="center" prop="payType" />
<el-table-column label="实收金额" align="center" prop="actualAmount" />
</el-table>
<el-form ref="forms" :model="form" label-width="120px" label-position="left">
<el-descriptions :column="2" border class="card">
<el-descriptions-item label="收款账户" style="width: 50%;">
<el-form-item label="" label-width="0" style="margin-bottom: 0;" prop="consignorId" required error="请选择收款账户">
<el-select v-model="form.platformAccountId" placeholder="请选择收款账户">
<el-option v-for="item in bankData" :key="item.id" :label="item.baAccountName+'('+item.baAccountNum+')'" :value="item.id"/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="是否需要开票" style="width: 50%;">
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="consignorId" required error="请选择是否需要开票">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="form.transportId" />
</el-form-item>
</el-descriptions-item>
</el-descriptions>
<div class="card">
<el-form-item label="收款附件" label-width="120px" style="margin-bottom: 0;width: 33%;display: inline-block" prop="consignorId">
<el-upload
class="upload-demo"
:action="uploadFileUrl"
:headers="headers"
:on-success="handleUploadSuccess"
:before-upload="handleBeforeUpload"
:on-error="handleUploadError"
:before-remove="beforeRemove"
multiple
>
<el-button size="small" type="primary">上传附件</el-button>
</el-upload>
</el-form-item>
<el-form-item label="水单号:" label-width="120px" style="margin-bottom: 0;width: 31%;margin-left: 2%;display: inline-block" prop="waterBillNo" required error="水单号不能为空">
<el-input v-model="form.waterBillNo" maxlength="200" placeholder="请输入水单号"></el-input>
</el-form-item>
<el-form-item label="实收日期:" label-width="120px" style="margin-bottom: 0;width: 31%;margin-left: 2%;display: inline-block" prop="payedAt" required error="实收日期不能为空">
<el-date-picker clearable v-model="form.payedAt" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择实收日期" />
</el-form-item>
</div>
</el-form>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">保 存</el-button>
<el-button type="primary" @click="submitForm">新 增</el-button>
</div>
<el-dialog :visible.sync="open" title="添加未收客户款项" width="80%" append-to-body>
<div>
<!-- <div slot="header" class="card-title">添加未收客户款项</div> -->
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px">
<el-row>
<el-form-item label="始发城市">
<el-select v-model="queryParams.departureId" placeholder="请选择始发地">
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的城市">
<el-select v-model="queryParams.objectiveId" placeholder="请选择始发地">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="运输方式" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" />
</el-form-item>
<el-form-item label="出货渠道" >
<el-select v-model="queryParams.channelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="报关方式">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" />
</el-form-item>
<el-form-item label="控货">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" />
</el-form-item>
<el-form-item label="客户名称" >
<customer-selector v-model="queryParams.consignorId" @change="consignor = $event" />
</el-form-item>
</el-row>
<el-form-item label="订单编号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="自编号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">查询</el-button>
</el-form-item>
</el-form>
</el-col>
<el-table v-loading="loadings" :data="orderData" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column label="自编号" align="center" prop="orderNo" />
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="运输方式" align="center" prop="transportId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="channelName" />
<el-table-column label="始发地" align="center" prop="toDepartureId" />
<el-table-column label="目的地" align="center" prop="toDepartureId" />
<el-table-column label="商品信息" align="center" prop="toDepartureId" />
<el-table-column label="箱数" align="center" prop="sumNum" />
<el-table-column label="体积/重量" align="center" prop="weight">
<template slot-scope="scope">
{{scope.row.volume/scope.row.weight}}
</template>
</el-table-column>
<el-table-column label="费用类型" align="center" prop="feeType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column label="单价" align="center" prop="unitPrice" />
<el-table-column label="总金额美元" align="center" prop="totalAmount" />
</el-table>
<!-- </el-card> -->
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确认添加</el-button>
<el-button @click="hiddenDialog">取 消</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { userList } from "@/api/system/user"
import {DICT_TYPE} from '@/utils/dict'
import { getToken } from "@/utils/auth";
import CustomerSelector from '@/components/CustomerSelector'
import { getBankAccountPage } from "@/api/ecw/bankAccount";
import { listSimpleDepts } from "@/api/system/dept"
import {getChannelList} from '@/api/ecw/channel'
import {getTradeCityList} from '@/api/ecw/region'
export default {
name: "CreatCollection",
components: {
CustomerSelector
},
data() {
return {
loadings: false,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址
form:{},
creatorData:[],
list:[],
fileList:[],
orderData:[],
headers: {
Authorization: "Bearer " + getToken(),
},
loading:'',
open:false,
bankData:[],
params:{
page:1,
rows:20,
},
deptData:[],
deptArr:[],
oadings: false,
channelList: [],
queryParams:{
page:1,
rows:20,
},
multipleSelection:[],
tradeCityList:[]
}
},
created() {
let that = this
if(that.$route.query.receiptNo){
this.form.receiptNo = this.$route.query.receiptNo
}
if(that.$route.query.consignorId){
this.queryParams.consignorId = this.$route.query.consignorId
}
if(that.$route.query.writeOffName){
this.form.writeOffName = this.$route.query.writeOffName
}
userList('salesman').then(res =>that.creatorData = res.data)
getChannelList().then(res => that.channelList = res.data)
getTradeCityList().then(res => that.tradeCityList = res.data)
getBankAccountPage(that.params).then(res =>that.bankData = res.data.list)
listSimpleDepts().then(res =>{
res.data.forEach((item)=>{
if(item.parentId==0){
that.deptArr.push(item)
}else{
that.deptData.push(item)
}
})
that.deptData.forEach((value)=>{
var dept = that.deptArr.filter(itt=>itt.id==value.parentId)
if(dept.length>0){
value.name =dept[0].name+' | '+ value.name
}
})
})
},
computed:{
expoerCityList(){
return this.tradeCityList.filter(item => item.type == 2)
},
importCityList(){
return this.tradeCityList.filter(item => item.type == 1)
},
},
methods: {
beforeRemove(file, fileList) {
return this.$confirm(`确定移除?`);
},
handleUploadSuccess(res,file,fileList) {
var arr = []
fileList.forEach((item)=>{
arr.push(item.response.data)
})
this.fileList= arr
console.log(this.fileList)
this.loading.close();
},
handleBeforeUpload() {
this.loading = this.$loading({
lock: true,
text: "上传中",
background: "rgba(0, 0, 0, 0.7)",
});
},
handleUploadError() {
this.$message({
type: "error",
message: "上传失败",
});
this.loading.close();
},
/** 新增按钮操作 */
handleAdd() {
this.open = true;
},
hiddenDialog(){
this.open = false
},
submitForm(){
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.page = 1;
},
},
}
</script>
<style>
.card{
margin-top: 20px;
}
.dialog-footer{
padding: 40px;
}
.card-title{
font-size: 18px;
font-weight: bold;
}
</style>
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">请款单</div>
<el-form ref="form" :model="form" label-width="120px" label-position="left">
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="供应商" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="supplierId" required error="供应商不能为空">
<customer-selector v-model="form.supplierId" @change="consignor = $event" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="部门" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="departmentId" required error="部门不能为空">
<el-select v-model="form.departmentId" style="width: 300px;" placeholder="请选择部门">
<el-option v-for="item in deptData" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="业务员" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="salesmanId" required error="客户不能为空">
<el-select v-model="form.salesmanId" placeholder="请选择业务员">
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="2" border class="card">
<el-descriptions-item label="申请日期" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="consignorId" required error="申请日期不能为空">
<el-date-picker clearable v-model="form.followUpTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择申请日期" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="供应商银行账号" style="width: 50%;">
<el-form-item label="" label-width="0" style="margin-bottom: 0;" prop="consignorId" required error="请选择收款账户">
<el-select v-model="form.followUpSalesmanId" placeholder="请选择收款账户">
<el-option v-for="item in bankData" :key="item.id" :label="item.baAccountName+'('+item.baAccountNum+')'" :value="item.id"/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="最后付款日期" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="latestPayAt" required error="最后付款日期不能为空">
<el-date-picker clearable v-model="form.latestPayAt" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择最后付款日期" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="结算方式" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="settlementType" required error="选择结算方式">
<dict-selector :type="DICT_TYPE.CUSTOMER_BALANCE" v-model="form.settlementType" />
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</el-form>
</el-card>
<el-card class="card">
<div slot="header" class="card-title">费用信息</div>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" style="padding: 10px;margin-bottom: 10px;"
>添加供应商未付款项</el-button>
</el-col>
<el-table v-loading="loadings" :data="list" border>
<el-table-column label="订单编号" align="center" prop="orderNo" />
<el-table-column label="费用类型" align="center" prop="transportId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="发票号码" align="center" prop="channelName" />
<el-table-column label="应付金额" align="center" prop="toDepartureId" />
<el-table-column label="币种" align="center" prop="toDepartureId" />
<el-table-column label="汇率" align="center" prop="toDepartureId" />
<el-table-column label="税率" align="center" prop="sumNum" />
<el-table-column label="价格合计(RMB)" align="center" prop="payType" />
</el-table>
<el-form ref="forms" :model="form" label-width="120px" label-position="left">
<el-descriptions :column="1" border class="card">
<el-descriptions-item label="账单号" style="width: 50%;">
<el-form-item label="" label-width="0" style="margin-bottom: 0;" prop="paymentNo" required error="账单号不能为空">
<el-input v-model="form.paymentNo" placeholder="请输入账单号"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="发票" style="width: 50%;">
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="invoiceStatus" required error="请选择是否开票">
<el-select v-model="form.invoiceStatus" placeholder="请选择是否开票">
<el-option label="未开票" value="0"/>
<el-option label="已开票" value="1"/>
</el-select>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</el-form>
</el-card>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">保 存</el-button>
<el-button type="primary" @click="submitForm">新 增</el-button>
</div>
<el-dialog :visible.sync="open" title="添加未收客户款项" width="80%" append-to-body>
<div>
<!-- <div slot="header" class="card-title">添加未收客户款项</div> -->
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px">
<el-row>
<el-form-item label="供应商">
<customer-selector v-model="form.supplierId" @change="consignor = $event" />
</el-form-item>
<el-form-item label="始发城市">
<el-select v-model="queryParams.departureId" placeholder="请选择始发地">
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的城市">
<el-select v-model="queryParams.objectiveId" placeholder="请选择始发地">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="运输方式" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" />
</el-form-item>
<el-form-item label="出货渠道" >
<el-select v-model="queryParams.channelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="报关方式">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" />
</el-form-item>
<el-form-item label="控货">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" />
</el-form-item>
<el-form-item label="客户名称" >
<customer-selector v-model="queryParams.consignorId" @change="consignor = $event" />
</el-form-item>
</el-row>
<el-form-item label="订单编号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable/>
</el-form-item>
<el-form-item label="自编号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入自编号" clearable/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">查询</el-button>
</el-form-item>
</el-form>
</el-col>
<el-table v-loading="loadings" :data="orderData" border @selection-change="handleSelectionChange">>
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column label="自编号" align="center" prop="orderNo" />
<el-table-column label="柜号" align="center" prop="orderNo" />
<el-table-column label="运输方式" align="center" prop="transportId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="channelName" />
<el-table-column label="始发地" align="center" prop="toDepartureId" />
<el-table-column label="目的地" align="center" prop="toDepartureId" />
<el-table-column label="金额" align="center" prop="totalAmount" />
<el-table-column label="备注" align="center" prop="toDepartureId" />
</el-table>
<!-- </el-card> -->
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确认添加</el-button>
<el-button @click="hiddenDialog">取 消</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { userList } from "@/api/system/user"
import {DICT_TYPE} from '@/utils/dict'
import { getToken } from "@/utils/auth"
import {getChannelList} from '@/api/ecw/channel'
import CustomerSelector from '@/components/CustomerSelector'
import { getBankAccountPage } from "@/api/ecw/bankAccount"
import { listSimpleDepts } from "@/api/system/dept"
import {getTradeCityList} from '@/api/ecw/region'
export default {
name: "CreatPayment",
components: {
CustomerSelector
},
data() {
return {
orderData:[],
loadings: false,
open:false,
form:{},
creatorData:[],
list:[],
channelList:[],
loading:'',
bankData:[],
params:{
page:1,
rows:20,
},
deptData:[],
deptArr:[],
queryParams:{
page:1,
rows:20,
},
multipleSelection:[],
tradeCityList:[]
}
},
created() {
let that = this
userList('salesman').then(res =>that.creatorData = res.data)
getChannelList().then(res => that.channelList = res.data)
getTradeCityList().then(res => that.tradeCityList = res.data)
getBankAccountPage(that.params).then(res =>that.bankData = res.data.list)
listSimpleDepts().then(res =>{
res.data.forEach((item)=>{
if(item.parentId==0){
that.deptArr.push(item)
}else{
that.deptData.push(item)
}
})
that.deptData.forEach((value)=>{
var dept = that.deptArr.filter(itt=>itt.id==value.parentId)
if(dept.length>0){
value.name =dept[0].name+' | '+ value.name
}
})
})
},
computed:{
expoerCityList(){
return this.tradeCityList.filter(item => item.type == 2)
},
importCityList(){
return this.tradeCityList.filter(item => item.type == 1)
},
},
methods: {
/** 新增按钮操作 */
handleAdd() {
this.open = true
},
submitForm(){
},
handleQuery(){
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
hiddenDialog(){
this.open = false
}
},
}
</script>
<style>
.card{
margin-top: 20px;
}
.dialog-footer{
padding: 40px;
}
.card-title{
font-size: 18px;
font-weight: bold;
}
</style>
<template>
<div class="app-container">
<div slot="header" class="card-title">应付款</div>
<!-- 搜索工作栏 -->
<el-card v-show="showSearch">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px" class="card">
<el-row>
<el-form-item label="柜号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入柜号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="自编号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="订单号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入订单号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="付款单号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入付款单号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="供应商名称:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入供应商名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="状态:">
<dict-selector :type="DICT_TYPE.ECW_RECEIPT_STATE" v-model="queryParams.control" />
</el-form-item>
<el-form-item label="业务员:">
<el-select v-model="form.salesmanId" placeholder="请选择业务员">
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="收款时间:" >
<el-date-picker
v-model="dateType"
type="datetimerange"
range-separator="到"
start-placeholder="请选择日期"
end-placeholder="请选择日期">
</el-date-picker>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="商品名称:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入商品名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="费用类型:" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.feeType"></dict-selector>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查找</el-button>
<el-button style="margin-left:10px" type="success" @click="handleAdd(0)">新增请款单</el-button>
</el-form-item>
</el-row>
</el-form>
</el-card>
<el-table v-loading="loadings" :data="list" border class="card">
<el-table-column label="货柜号" align="center" prop="orderNo" />
<el-table-column label="供应商" align="center" prop="orderNo" />
<el-table-column label="费用类型" align="center" prop="feeType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column label="总金额美元" align="center" prop="totalAmount" />
<el-table-column label="创建时间" align="center" prop="channelName" />
<el-table-column label="创建人" align="center" prop="toDepartureId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="success" @click="open=true">编辑</el-button>
<el-button size="mini" @click="handleAdd(scope.row.consignorId)">请款</el-button>
<el-button size="mini" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog title="费用登记" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="操作步骤" prop="receiptNo">
<el-input v-model="form.receiptNo" placeholder="请输入收款单号(例:SKD001)" />
</el-form-item>
<el-form-item label="费用类型" prop="departmentId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.feeType"></dict-selector>
</el-form-item>
<el-form-item label="供应商" prop="departmentName">
<el-input v-model="form.departmentName" placeholder="请输入供应商" />
</el-form-item>
<el-form-item label="金额" prop="salesmanId" style="flex">
<el-input-number v-model="form.num" controls-position="right" :min="1"></el-input-number>
<dict-selector style="width: 120px;" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="queryParams.feeType"></dict-selector>
</el-form-item>
<el-form-item label="备注" prop="departmentName">
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { userList } from "@/api/system/user"
import {DICT_TYPE} from '@/utils/dict'
import { getBankAccountPage } from "@/api/ecw/bankAccount"
import { listSimpleDepts } from "@/api/system/dept"
import {getTradeCityList} from '@/api/ecw/region'
export default {
name: "Payable",
components: {
},
data() {
return {
open:false,
showSearch:true,
loadings: false,
form:{},
creatorData:[],
list:[],
total:0,
dateType:[],
loading:'',
params:{
page:1,
rows:20,
},
queryParams:{
page:1,
rows:20,
},
}
},
created() {
let that = this
userList('salesman').then(res =>that.creatorData = res.data)
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getReceiptPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 新增按钮操作 */
handleAdd(id) {
return this.$router.push('creatPayment?consignorId='+id)
},
submitForm(){
this.open = false;
},
/** 取消按钮 */
cancel() {
this.open = false;
},
},
}
</script>
<style>
.card{
margin-top: 20px;
}
.dialog-footer{
padding: 40px;
}
.card-title{
font-size: 18px;
font-weight: bold;
}
</style>
<template>
<div class="app-container">
<div slot="header" class="card-title">待收款</div>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8" style="margin-right: 60px;">
<el-button style="float: right;margin-left:10px" type="primary" size="mini" @click="handleAdd(0)">新增收款单</el-button>
<el-button v-if="showSearch" style="float: right;" type="primary" size="mini" icon="el-icon-s-unfold" @click="showSearch=!showSearch"></el-button>
<el-button v-else style="float: right;" type="primary" size="mini" icon="el-icon-s-fold" @click="showSearch=!showSearch"></el-button>
</el-row>
<!-- 搜索工作栏 -->
<el-card v-show="showSearch">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px" class="card">
<el-row :column="4" >
<el-form-item label="始发城市:">
<el-select v-model="queryParams.departureId" placeholder="请选择始发地">
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的城市:">
<el-select v-model="queryParams.objectiveId" placeholder="请选择始发地">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="运输方式:" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" />
</el-form-item>
<el-form-item label="控货:">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" />
</el-form-item>
</el-row>
<el-row :column="4" >
<el-form-item label="订单状态:">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.control" />
</el-form-item>
<el-form-item label="报关方式:">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" />
</el-form-item>
<el-form-item label="订单号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="品名:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入品名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row :column="4" >
<el-form-item label="提单号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入提单号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="唛头:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入唛头" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="费用类型:" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.feeType"></dict-selector>
</el-form-item>
<el-form-item label="发货人:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入发货人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row :column="4" >
<el-form-item label="收货人:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入收货人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="自编号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<dict-selector :type="DICT_TYPE.BEGINTIME_TYPE_ENDTIME" v-model="queryParams.date"></dict-selector>
<el-date-picker
v-model="dateType"
type="datetimerange"
range-separator="-"
start-placeholder="请选择日期"
end-placeholder="请选择日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</el-form-item>
</el-row>
</el-form>
</el-card>
<el-table v-loading="loadings" :data="list" border class="card">
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="唛头" align="center" prop="orderNo" />
<el-table-column label="品名" align="center" prop="orderNo" />
<el-table-column label="箱数" align="center" prop="sumNum" />
<el-table-column label="体积/重量" align="center" prop="weight" />
<el-table-column label="发货人" align="center" prop="orderNo" />
<el-table-column label="收货人" align="center" prop="orderNo" />
<el-table-column label="运输方式" align="center" prop="transportId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="channelName" />
<el-table-column label="始发地" align="center" prop="toDepartureId" />
<el-table-column label="目的地" align="center" prop="toDepartureId" />
<el-table-column label="商品信息" align="center" prop="toDepartureId" />
<el-table-column label="订单状态" align="center" prop="orderStatus">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.orderStatus" />
</template>
</el-table-column>
<el-table-column label="收入类型" align="center" prop="feeType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column label="总金额美元" align="center" prop="totalAmount" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleAdd(scope.row.consignorId)"
>收款</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows"
@pagination="getList"/>
</div>
</template>
<script>
import { userList } from "@/api/system/user"
import {DICT_TYPE} from '@/utils/dict'
import CustomerSelector from '@/components/CustomerSelector'
import {getTradeCityList} from '@/api/ecw/region'
export default {
name: "Receivable",
components: {
CustomerSelector
},
data() {
return {
showSearch:true,
loadings: false,
form:{},
creatorData:[],
list:[],
total:0,
dateType:[],
loading:'',
params:{
page:1,
rows:20,
},
queryParams:{
page:1,
rows:20,
},
tradeCityList:[],
}
},
created() {
let that = this
userList('salesman').then(res =>that.creatorData = res.data)
getTradeCityList().then(res => that.tradeCityList = res.data)
},
computed:{
expoerCityList(){
return this.tradeCityList.filter(item => item.type == 2)
},
importCityList(){
return this.tradeCityList.filter(item => item.type == 1)
},
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getReceiptPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 新增按钮操作 */
handleAdd(id) {
return this.$router.push('creatCollection?consignorId='+id)
},
submitForm(){
}
},
}
</script>
<style>
.card{
margin-top: 20px;
}
.dialog-footer{
padding: 40px;
}
.card-title{
font-size: 18px;
font-weight: bold;
}
</style>
......@@ -22,48 +22,48 @@
</div>
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="发货人:">
{{consigneeData[0].name || ''}}
{{consigneeData.length>0?consigneeData[0].name||'':''}}
</el-descriptions-item>
<el-descriptions-item label="手机号:">
{{consigneeData[0].defaultContactPhone || ''}}
{{consigneeData.length>0?consigneeData[0].defaultContactPhone||'':''}}
</el-descriptions-item>
<el-descriptions-item label="联系地址:">
{{consigneeData[0].address || ''}}
{{consigneeData.length>0?consigneeData[0].address||'':''}}
</el-descriptions-item>
<el-descriptions-item label="客户来源:">
{{consigneeData[0].source || ''}}
{{consigneeData.length>0?consigneeData[0].source||'':''}}
</el-descriptions-item>
<el-descriptions-item label="发货人公司名称:">
{{consigneeData[0].company || ''}}
{{consigneeData.length>0?consigneeData[0].company||'':''}}
</el-descriptions-item>
<el-descriptions-item label="社交软件:">
{{consigneeData[0].defaultSocial?consigneeData[0].defaultSocial:''+' '+consigneeData[0].defaultSocialNumber?consigneeData[0].defaultSocialNumber:''}}
{{consigneeData.length>0?consigneeData[0].defaultSocial||'':''+' '+consigneeData.length>0?consigneeData[0].defaultSocialNumber||'':''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="收货人:">
{{consigneeData[1].name|| ''}}
{{consigneeData.length>1?consigneeData[1].name||'':''}}
</el-descriptions-item>
<el-descriptions-item label="手机号:">
{{consigneeData[1].defaultContactPhone|| ''}}
{{consigneeData.length>1?consigneeData[1].defaultContactPhone||'':''}}
</el-descriptions-item>
<el-descriptions-item label="联系地址:">
{{consigneeData[1].address|| ''}}
{{consigneeData.length>1?consigneeData[1].address||'':''}}
</el-descriptions-item>
<el-descriptions-item label="客户来源:">
{{consigneeData[1].source|| ''}}
{{consigneeData.length>1?consigneeData[1].source||'':''}}
</el-descriptions-item>
<el-descriptions-item label="收货人公司名称:">
{{consigneeData[1].company|| ''}}
{{consigneeData.length>1?consigneeData[1].company||'':''}}
</el-descriptions-item>
<el-descriptions-item label="社交软件:">
{{consigneeData[1].defaultSocial?consigneeData[1].defaultSocial:''+' '+consigneeData[1].defaultSocialNumber?consigneeData[1].defaultSocialNumber:''}}
{{consigneeData.length>1?consigneeData[1].defaultSocial||'':''+' '+consigneeData.length>1?consigneeData[1].defaultSocialNumber||'':''}}
</el-descriptions-item>
</el-descriptions>
<div class="title-font">
<label>始发地:{{list.departureName}}</label>
<label>目的地:{{list.objectiveName}}</label>
<label>始发地:{{list.departureName||''}}</label>
<label>目的地:{{list.objectiveName||''}}</label>
</div>
</div>
......@@ -124,13 +124,13 @@
<div slot="header" class="card-title">费用小计</div>
<el-descriptions border class="card">
<el-descriptions-item label="总件数:">
{{list.estCostVO.totalNum}}
{{list.estCostVO?list.estCostVO.totalNum||'0':0}}
</el-descriptions-item>
<el-descriptions-item label="总货值:">
{{list.estCostVO.totalWorth}}
{{list.estCostVO?list.estCostVO.totalWorth||'0':0}}
</el-descriptions-item>
<el-descriptions-item label="报价费:">
{{list.estCostVO.insuranceFee}}
{{list.estCostVO?list.estCostVO.insuranceFee||'0':0}}
</el-descriptions-item>
</el-descriptions>
<!-- <el-descriptions border class="card">
......
......@@ -141,6 +141,8 @@
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">编辑</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">入仓</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">退仓</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="header">
<div class="card-title">新增收款单</div>
<el-button type="primary" icon="el-icon-arrow-left" @click="$router.back()">返回</el-button>
</div>
<el-form :model="orderData" ref="queryForm" size="small" :inline="true" label-width="120px" class="card">
<el-row>
<el-form-item label="订单号:">
{{orderData?orderData.orderNo:''}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="产品名称:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="英文名称:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="运输路线:" >
{{orderData?getRouterNameById(orderData.customerName):''}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="填单参数:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="入仓参数:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row :span="12">
<el-form-item label="异常描述:">
{{orderData.totalMoney}}
</el-form-item>
<el-button type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row>
</el-form>
<el-table v-loading="loading" border :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column label="品名" align="center" prop="goodsType">
<template slot-scope="scope">
{{scope.row.prodTitleZh+'('+scope.row.prodTitleEn+')'}}
</template>
</el-table-column>
<el-table-column label="箱数" prop="num" />
<el-table-column label="体积/重量"prop="volume">
<template slot-scope="scope">
{{scope.row.volume+'/'+scope.row.weight}}
</template>
</el-table-column>
<el-table-column label="收款类型">
<template >
'预付'
</template>
</el-table-column>
<el-table-column label="收入类型">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column label="应收金额" prop="num" />
<el-table-column label="总金额美元" align="center" prop="totalAmount" />
<el-table-column label="总金额RMB" align="center" prop="totalAmount" />
<el-table-column label="实收金额" prop="volume" />
<el-table-column label="付款人" prop="weight" />
<el-table-column label="付款状态" prop="worth">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_RECEIPT_STATE" :value="scope.row.state"></dict-tag>
</template>
</el-table-column>
</el-table>
<el-form :model="orderData" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row>
<el-form-item label="应付金额:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="核销金额:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="核销比例:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="处理结果:" >
<el-select v-model="orderData.objectiveId" placeholder="处理结果">
<el-option label="待处理" value="1"></el-option>
<el-option label="不需要预付" value="2"></el-option>
<el-option label="已确认收款" value="3"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8">
<el-form-item label="备注:" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="orderData.remark" />
</el-form-item>
</el-row>
</el-form>
</el-card>
<div slot="footer" class="dialog-footer">
<div>
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button plain type="primary" @click="submitForm">取消</el-button>
</div>
<el-button type="primary" @click="submitForm">转交</el-button>
</div>
</div>
</template>
<script>
import {DICT_TYPE} from '@/utils/dict'
import {openedRouterList as getOpenedRouterList} from '@/api/ecw/warehouse'
export default {
name: "PrepayDeal",
components: {
},
data() {
return {
// 遮罩层
loading: false,
list: [],
types:'package,bag',
importance:1,
orderData:{},
orderId:0,
//发货/收货人信息
consigneeData:[],
routerList:[],
multipleSelection:[]
};
},
created() {
if(this.$route.query.orderId){
this.orderId = this.$route.query.orderId
this.getList();
}
},
methods: {
/** 查询列表 */
getList() {
let that = this
// that.loading = true;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
// 获取路线
getOpenedRouterList(){
let params = {}
if(this.list.departureId){
params.startCityId = this.list.departureId
}
if(this.list.objectiveId){
params.destCityId = this.list.objectiveId
}
getOpenedRouterList(params).then(res => this.routerList = res.data)
},
// 根据线路id显示线路名称
getRouterNameById(routerId){
// return routerId => {
let router = this.routerList.find(item => item.id == routerId)
console.log({router})
if(router){
return router.startTitleZh + ' >>>' + router.destTitleZh
}
return '-'
// }
},
submitForm(){
},
/** 跟进按钮操作 */
handleAdd() {
// this.$router.push({
// path: "/offer/logList",
// query:{
// offerId:this.offerId,
// relationId:this.list.consignorId
// }
// });
},
}
};
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
margin-top: 10px;
}
.header{
width: 60%;
display: flex;
align-items: center;
justify-content: space-between;
}
.card{
margin-top: 20px;
}
.dialog-footer{
padding: 40px;
width: 60%;
align-items: center;
display: flex;
justify-content: space-between;
}
</style>
<template>
<div class="app-container">
<h2>入仓操作-NC1231231N</h2>
<h2>入仓操作-{{ order.orderNo }}</h2>
<order-base-info :order="order"></order-base-info>
<div style="margin-top: 10px">
<span>储位:</span><el-button type="primary" size="mini">选择</el-button>
<div style="margin-top: 20px">
<span>储位:</span><el-button type="primary" size="mini" @click="areaVisible = true">选择</el-button>
</div>
<h2>货物信息</h2>
......@@ -154,27 +154,35 @@
<el-button type="primary">完成入仓</el-button>
</div>
</el-form>
<warehouse-area-dialog :visible.sync="areaVisible"></warehouse-area-dialog>
</div>
</template>
<script>
import {getCurrencyList} from "@/api/ecw/currency"
import {getOrder} from "@/api/ecw/order"
import orderBaseInfo from "@/views/ecw/order/warehousing/components/orderBaseInfo"
import orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
export default {
name: "Warehousing",
components: {
orderBaseInfo
orderBaseInfo,
WarehouseAreaDialog
},
mounted() {
if(this.$route.query.id){
this.orderId = this.$route.query.id
getOrder(this.orderId).then(r => this.order = r.data)
}
getCurrencyList().then(res => this.currencyList = res.data)
getOrder(15).then(r => this.order = r.data)
},
data() {
return {
areaVisible: false,
form: {
a: '',
b: 3
......
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