|
@@ -14,179 +14,127 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="drawer__panel">
|
|
|
+ <div>
|
|
|
+ <div style="flex:1">
|
|
|
+ <div class="mt-10">
|
|
|
+ <p class="normal-title inline-16">支付信息</p>
|
|
|
+ </div>
|
|
|
+ <div class="reveive__panel normal-margin">
|
|
|
+ <p class="flex-align-center"><small>结算企业: </small><b>{{defaultData.finance.enterprisename}}</b> <financeEnterprise @select="onSelect"></financeEnterprise></p>
|
|
|
+ <div class="flex-align-center">
|
|
|
+ <p class="inline-16"><small>账户余额: </small><b>¥{{tool.formatAmount(defaultData.accountclass.balance?defaultData.accountclass.balance:0,2)}}</b></p>
|
|
|
+ <p class="inline-16"><small>账户名称: </small>{{defaultData.accountclass.accountname?defaultData.accountclass.accountname:'未选择账户'}}</p>
|
|
|
+ <p><small>本单金额: </small>{{tool.formatAmount(data.amount - rebateamount,2)}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="(data.type === '标准订单' || data.type === '特殊订单') && isusedrebate === 1">
|
|
|
+ <el-checkbox v-model="checked" :true-label="1" :false-label="0">使用返利金</el-checkbox>
|
|
|
+ <div v-if="checked" class="flex-align-center">
|
|
|
+ <p class="inline-16"><b>返利金余额:{{tool.formatAmount(defaultData.rebatebalance,2)}}</b></p>
|
|
|
+ <el-input class="inline-16" size="mini" style="width:150px" v-model="rebateamount" @blur="useRebate" placeholder="输入使用金额"></el-input>
|
|
|
+ <small>(返利金最高使用比例{{data.order_rebate_userate}}%,本单上限:{{tool.formatAmount(data.amount * data.order_rebate_userate / 100,2)}})</small>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="flex-align-center normal-margin">
|
|
|
- <div style="flex:1;margin-right:10px">
|
|
|
+ <div style="flex:1; margin-right:10px">
|
|
|
<div class="mt-10">
|
|
|
- <p class="normal-title inline-16">收货信息</p>
|
|
|
+ <p class="normal-title inline-16">选择财务信息</p>
|
|
|
<el-popover
|
|
|
placement="bottom"
|
|
|
- title="选择地址"
|
|
|
+ title="选择财务信息"
|
|
|
trigger="click"
|
|
|
- v-model="visible">
|
|
|
+ v-model="visible2">
|
|
|
<el-table
|
|
|
- :data="receiveAddresslist"
|
|
|
+ :data="financiallist"
|
|
|
style="width: 100%"
|
|
|
size="mini">
|
|
|
<el-table-column
|
|
|
- prop="name"
|
|
|
- label="联系人"
|
|
|
- width="90">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="phonenumber"
|
|
|
- label="电话"
|
|
|
+ prop="enterprisename"
|
|
|
+ label="公司抬头"
|
|
|
width="120">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- label="地址"
|
|
|
- width="360">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="操作"
|
|
|
- width="90">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button type="text" @click="(defaultData.re_info = scope.row,visible = false)" size="mini">选 择</el-button>
|
|
|
- </template>
|
|
|
+ prop="address"
|
|
|
+ label="开票地址"
|
|
|
+ width="120">
|
|
|
</el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
|
|
|
- </el-popover>
|
|
|
- </div>
|
|
|
- <div class="reveive__panel normal-margin">
|
|
|
- <p><span class="inline-16"><b>{{defaultData.re_info.name}}</b></span><small>{{defaultData.re_info.phonenumber}}</small></p>
|
|
|
- <small>{{defaultData.re_info.province}}{{defaultData.re_info.city}}{{defaultData.re_info.county}}{{defaultData.re_info.address?defaultData.re_info.address:'--'}}</small>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="flex:1;margin-right:10px">
|
|
|
- <div class="mt-10">
|
|
|
- <p class="normal-title inline-16">物流公司</p>
|
|
|
- <el-popover
|
|
|
- placement="bottom"
|
|
|
- title="选择公司"
|
|
|
- trigger="click"
|
|
|
- v-model="visible1">
|
|
|
- <el-table
|
|
|
- :data="logisticcomlist"
|
|
|
- style="width: 100%"
|
|
|
- size="mini">
|
|
|
<el-table-column
|
|
|
- prop="abbreviation"
|
|
|
- label="公司简称"
|
|
|
+ prop="bank"
|
|
|
+ label="开户行"
|
|
|
width="120">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="kd100id"
|
|
|
- label="快递100ID"
|
|
|
+ prop="bankcardno"
|
|
|
+ label="开户账号"
|
|
|
width="120">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
width="90">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button type="text" @click="(defaultData.logist_info = scope.row,visible1 = false)" size="mini">选 择</el-button>
|
|
|
+ <el-button type="text" @click="(defaultData.fin_info = scope.row,visible2 = false)" size="mini">选 择</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-button slot="reference" type="text" size="mini">选择其他公司</el-button>
|
|
|
+ <el-button slot="reference" type="text" size="mini">选择其他</el-button>
|
|
|
</el-popover>
|
|
|
</div>
|
|
|
<div class="reveive__panel normal-margin">
|
|
|
- <p><span class="inline-16"><b>{{defaultData.logist_info.abbreviation}}</b></span></p>
|
|
|
- <small>快递100ID: {{defaultData.logist_info.kd100id}}</small>
|
|
|
+ <p><small>抬头: </small><span class="inline-16"><b>{{defaultData.fin_info.enterprisename}}</b></span></p>
|
|
|
+ <div class="flex-align-center">
|
|
|
+ <p class="inline-16"><small>开票地址: </small>{{defaultData.fin_info.address?defaultData.fin_info.address:'--'}}</p>
|
|
|
+ <p><small>开户行: </small> {{defaultData.fin_info.bank}}  <small>开户账号: </small> {{defaultData.fin_info.bankcardno}}</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="flex:1">
|
|
|
+ <div style="flex:1;">
|
|
|
<div class="mt-10">
|
|
|
- <p class="normal-title inline-16">选择账户</p>
|
|
|
+ <p class="normal-title inline-16">收货信息</p>
|
|
|
<el-popover
|
|
|
placement="bottom"
|
|
|
- title="选择账户"
|
|
|
+ title="选择地址"
|
|
|
trigger="click"
|
|
|
- v-model="visible3">
|
|
|
+ v-model="visible">
|
|
|
<el-table
|
|
|
- :data="accountlist"
|
|
|
+ :data="receiveAddresslist"
|
|
|
style="width: 100%"
|
|
|
size="mini">
|
|
|
<el-table-column
|
|
|
- prop="accountname"
|
|
|
- label="账户名称"
|
|
|
- width="120">
|
|
|
+ prop="name"
|
|
|
+ label="联系人"
|
|
|
+ width="90">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="balance"
|
|
|
- label="账户余额"
|
|
|
+ prop="phonenumber"
|
|
|
+ label="电话"
|
|
|
width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="地址"
|
|
|
+ width="360">
|
|
|
<template slot-scope="scope">
|
|
|
- ¥{{tool.formatAmount(scope.row.balance,2)}}
|
|
|
+ {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
width="90">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button type="text" @click="(defaultData.accountclass = scope.row,visible3 = false)" size="mini">选 择</el-button>
|
|
|
+ <el-button type="text" @click="(defaultData.re_info = scope.row,visible = false)" size="mini">选 择</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-button slot="reference" type="text" size="mini">选择其他账户</el-button>
|
|
|
+ <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
|
|
|
</el-popover>
|
|
|
</div>
|
|
|
<div class="reveive__panel normal-margin">
|
|
|
- <p><b>¥{{tool.formatAmount(defaultData.accountclass.balance,2)}}</b></p>
|
|
|
- <small>{{defaultData.accountclass.accountname}}</small>
|
|
|
+ <p><span class="inline-16"><b>{{defaultData.re_info.name}}</b></span><small>{{defaultData.re_info.phonenumber}}</small></p>
|
|
|
+ <small>{{defaultData.re_info.province?defaultData.re_info.province:'--'}}{{defaultData.re_info.city}}{{defaultData.re_info.county}}{{defaultData.re_info.address?defaultData.re_info.address:''}}</small>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="mt-10">
|
|
|
- <p class="normal-title inline-16">选择财务信息</p>
|
|
|
- <el-popover
|
|
|
- placement="bottom"
|
|
|
- title="选择财务信息"
|
|
|
- trigger="click"
|
|
|
- v-model="visible2">
|
|
|
- <el-table
|
|
|
- :data="financiallist"
|
|
|
- style="width: 100%"
|
|
|
- size="mini">
|
|
|
- <el-table-column
|
|
|
- prop="enterprisename"
|
|
|
- label="公司抬头"
|
|
|
- width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="address"
|
|
|
- label="开票地址"
|
|
|
- width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="bank"
|
|
|
- label="开户行"
|
|
|
- width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="bankcardno"
|
|
|
- label="开户账号"
|
|
|
- width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="操作"
|
|
|
- width="90">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button type="text" @click="(defaultData.fin_info = scope.row,visible2 = false)" size="mini">选 择</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-button slot="reference" type="text" size="mini">选择其他</el-button>
|
|
|
- </el-popover>
|
|
|
- </div>
|
|
|
- <div class="reveive__panel normal-margin">
|
|
|
- <p><small>抬头: </small><span class="inline-16"><b>{{defaultData.fin_info.enterprisename}}</b></span></p>
|
|
|
- <p><small>开票地址: </small>{{defaultData.fin_info.address}}</p>
|
|
|
- <p><small>开户行: </small> {{defaultData.fin_info.bank}}  <small>开户账号: </small> {{defaultData.fin_info.bankcardno}}</p>
|
|
|
+
|
|
|
</div>
|
|
|
<div class="mt-10">
|
|
|
<div>
|
|
@@ -198,7 +146,7 @@
|
|
|
<product-list ref="prolist" :data="data" :type="'edit'" @onSuccess="onEditSuccess"></product-list>
|
|
|
</el-col>
|
|
|
<el-col :span="24 - setcol">
|
|
|
- <add-product ref="addpro" @onConfirm="onConfirm"></add-product>
|
|
|
+ <add-product ref="addpro" :data="data" @onConfirm="onConfirm"></add-product>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
@@ -215,15 +163,18 @@
|
|
|
import previewImage from '@/components/previewImage/index.vue'
|
|
|
import productList from './productlist.vue'
|
|
|
import addProduct from '@/template/orderCanUseProduct/index.vue'
|
|
|
+import financeEnterprise from '@/template/orderCanUseFinance/index.vue'
|
|
|
export default {
|
|
|
props:['data'],
|
|
|
components:{
|
|
|
previewImage,
|
|
|
productList,
|
|
|
- addProduct
|
|
|
+ addProduct,
|
|
|
+ financeEnterprise
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
+ checked:0,
|
|
|
visible:false,
|
|
|
visible1:false,
|
|
|
visible2:false,
|
|
@@ -231,99 +182,62 @@ export default {
|
|
|
drawer:false,
|
|
|
receiveAddresslist:[],
|
|
|
accountlist:[],
|
|
|
+ rebateAccount:[],
|
|
|
logisticcomlist:[],
|
|
|
financiallist:[],
|
|
|
defaultData:{
|
|
|
re_info:{},
|
|
|
logist_info:{},
|
|
|
fin_info:{},
|
|
|
+ finance:{},
|
|
|
accountclass:{},
|
|
|
account_index:0,
|
|
|
remarks:this.data.remarks
|
|
|
},
|
|
|
- agnetInfo:{},
|
|
|
total:0,
|
|
|
- setcol:24
|
|
|
+ setcol:24,
|
|
|
+ rebateamount:null,
|
|
|
+ isusedrebate:0
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
onShow () {
|
|
|
- this.queryAgentiInfo()
|
|
|
+ this.initPage()
|
|
|
},
|
|
|
- async queryAgentiInfo () {
|
|
|
- const res = await this.$api.requested({
|
|
|
- "id": "20221022165203",
|
|
|
- "content": {
|
|
|
- sys_enterpriseid:this.data.sys_enterpriseid
|
|
|
- }
|
|
|
- })
|
|
|
- this.agnetInfo = res.data
|
|
|
+ async initPage () {
|
|
|
|
|
|
- this.receiveAddress()
|
|
|
+ this.setDefaultData()
|
|
|
|
|
|
- this.queryAccount()
|
|
|
+ this.receiveAddress()
|
|
|
|
|
|
- this.queryLogisticcom()
|
|
|
+ this.queryUsedrebate()
|
|
|
|
|
|
- this.queryFinancial()
|
|
|
+ this.checked = this.data.rebate_used
|
|
|
+ this.rebateamount = this.data.rebateamount
|
|
|
},
|
|
|
// 收货信息:合作企业联系人
|
|
|
async receiveAddress () {
|
|
|
const res = await this.$api.requested({
|
|
|
- "id": "20221009155803",
|
|
|
+ "id": "20230220002602",
|
|
|
"content": {
|
|
|
- "sys_enterpriseid":this.agnetInfo.sys_enterpriseid,
|
|
|
- "where":{
|
|
|
- "condition":"",
|
|
|
- "workaddress":0
|
|
|
+ "pageSize":100,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
})
|
|
|
this.receiveAddresslist = res.data
|
|
|
- this.defaultData.re_info = res.data[0]
|
|
|
- },
|
|
|
-
|
|
|
- // 账号信息
|
|
|
- async queryAccount () {
|
|
|
- const res = await this.$api.requested({
|
|
|
- "id": "20221008134803",
|
|
|
- "content": {
|
|
|
- "pageNumber": 1,
|
|
|
- "pageSize": 100,
|
|
|
- "where":{
|
|
|
- "isused":1
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- this.accountlist = res.data
|
|
|
- this.defaultData.accountclass = this.data.accountclass
|
|
|
},
|
|
|
|
|
|
- // 物流企业
|
|
|
- async queryLogisticcom () {
|
|
|
- const res = await this.$api.requested({
|
|
|
- "id": "20221121135804",
|
|
|
- "content": {
|
|
|
- "pageNumber": 1,
|
|
|
- "pageSize": 100
|
|
|
- }
|
|
|
- })
|
|
|
- this.logisticcomlist = res.data
|
|
|
- this.defaultData.logist_info = this.data.logiscomp
|
|
|
- },
|
|
|
- // 财务信息
|
|
|
- async queryFinancial () {
|
|
|
- const res = await this.$api.requested({
|
|
|
- "id": "20221013160602",
|
|
|
- "content": {
|
|
|
- "sys_enterpriseid":this.agnetInfo.sys_enterpriseid,
|
|
|
- "pageNumber": 1,
|
|
|
- "pageSize": 100
|
|
|
- }
|
|
|
- })
|
|
|
- this.financiallist = res.data
|
|
|
+ // 账号信息与结算企业
|
|
|
+ async setDefaultData () {
|
|
|
+ this.defaultData.rebatebalance = this.data.rebatebalance
|
|
|
+ this.defaultData.finance = this.data.finance
|
|
|
this.defaultData.fin_info = this.data.finance
|
|
|
+ this.defaultData.accountclass = this.data.accountclass
|
|
|
+ this.defaultData.re_info = this.data.contacts
|
|
|
},
|
|
|
+
|
|
|
async onSubmit() {
|
|
|
const res = await this.$api.requested({
|
|
|
"id": 20221108111402,
|
|
@@ -347,7 +261,7 @@ export default {
|
|
|
})
|
|
|
this.tool.showMessage(res,()=>{
|
|
|
this.$emit('onSuccess')
|
|
|
- // this.onConfirm()
|
|
|
+ this.useRebate()
|
|
|
this.drawer = false
|
|
|
})
|
|
|
},
|
|
@@ -378,10 +292,62 @@ export default {
|
|
|
this.tool.showMessage(res,()=>{
|
|
|
this.setcol = 24
|
|
|
this.$refs['prolist'].listData()
|
|
|
+ this.$emit('onSuccess')
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
+ async useRebate () {
|
|
|
+ let that = this
|
|
|
+ if (this.rebateamount > this.defaultData.rebatebalance ||this.rebateamount > (this.data.amount * this.data.order_rebate_userate / 100) ) return this.$message({
|
|
|
+ message:`余额不足或已超过可用上限!`,
|
|
|
+ type:function () {
|
|
|
+ that.rebateamount = 0
|
|
|
+ return 'error'
|
|
|
+ }()
|
|
|
+ })
|
|
|
+ if (this.rebateamount == null) return this.$message({
|
|
|
+ message:"返利金不能为空",
|
|
|
+ type:'error'
|
|
|
+ })
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": 20230218225002,
|
|
|
+ "content": {
|
|
|
+ "sa_orderid": this.data.sa_orderid, //订单金额
|
|
|
+ "isused": this.checked, //是否使用
|
|
|
+ "rebateamount": this.rebateamount //返利金使用金额
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if (res.code === 0) this.$message({
|
|
|
+ message:`使用返利金失败!${res.msg}`,
|
|
|
+ type:'error'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 查询站点是否使用返利金
|
|
|
+ async queryUsedrebate () {
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "classname": "webmanage.site.site",
|
|
|
+ "method": "querySite_Parameter",
|
|
|
+ "content": {
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.isusedrebate = res.data.order_rebate_used
|
|
|
+ },
|
|
|
+ // 选择结算企业
|
|
|
+ onSelect (data) {
|
|
|
+ console.log(data)
|
|
|
+ this.defaultData.finance = data
|
|
|
+ this.financiallist = data.finance
|
|
|
+ data.finance.forEach(e => {
|
|
|
+ if (e.isdefault === 1) {
|
|
|
+ this.defaultData.fin_info = e
|
|
|
+ } else {
|
|
|
+ this.defaultData.fin_info = data.finance.length > 0 ?data.finance[0]:{}
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
},
|
|
|
mounted () {
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -390,14 +356,14 @@ export default {
|
|
|
</style>
|
|
|
<style scoped>
|
|
|
.reveive__panel{
|
|
|
- font-size: 14px;
|
|
|
+ font-size: 16px;
|
|
|
line-height: 30px;
|
|
|
padding: 10px;
|
|
|
background: #d9ecff;
|
|
|
border: 1px dashed #0676e7;
|
|
|
}
|
|
|
.account__panel small,.reveive__panel small{
|
|
|
- color:#666
|
|
|
+ color:#888
|
|
|
}
|
|
|
.account__panel{
|
|
|
width: calc(25% - 26px);
|