Commit 904cc53a authored by dragondean@qq.com's avatar dragondean@qq.com
parents 5a884623 b4a8d946
......@@ -203,3 +203,28 @@ export function orderStatistics(params){
params
})
}
//创建客户信用日志
export function creditLogCreate(data){
return request({
url:'/customer/credit-log/create',
method:'post',
data
})
}
//获得客户统计
export function creditScoreStatistic(params){
return request({
url:'/customer/detail/infoList/creditScoreStatistic',
method:'get',
params
})
}
//获取账单数据
export function infoListReceiptPage(params){
return request({
url:'/customer/detail/infoList/receiptPage',
method:'get',
params
})
}
......@@ -59,12 +59,13 @@
title="客户跟进"
:visible.sync="customerFollow.dialogVisible"
:close-on-click-modal="false"
:before-close="customerFollowClose"
width="680px">
<el-form ref="customerFollowForm" :model="customerFollow.form" label-width="80px">
<el-row :gutter="10">
<el-col>
<el-form-item label="跟进类型" required>
<dict-selector form-type="radio" v-model="customerFollow.form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector>
<dict-selector ref="dictType" form-type="radio" v-model="customerFollow.form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -98,7 +99,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="跟进方式" required>
<dict-selector v-model="customerFollow.form.followMethod" :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD"></dict-selector>
<dict-selector ref="dictMethod" v-model="customerFollow.form.followMethod" :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD"></dict-selector>
</el-form-item>
</el-col>
<el-col>
......@@ -114,7 +115,7 @@
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="customerFollow.dialogVisible = false">取 消</el-button>
<el-button @click="customerFollowClose">取 消</el-button>
<el-button type="primary" @click="customerFollowSubmit">确 定</el-button>
</span>
</el-dialog>
......@@ -157,7 +158,7 @@ export default {
},
created() {
this.resetCustomerFollowForm()
// this.resetCustomerFollowForm()
if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.customerContactsList = r.data
this.customerFollow.form.customerId = this.customerId
......@@ -202,14 +203,17 @@ export default {
return
}
createCustomerFollow(this.customerFollow.form).then(r => {
this.resetCustomerFollowForm()
this.customerFollowClose()
this.getCustomerFollowList()
this.customerFollow.dialogVisible = false
})
})
},
customerFollowClose(){
this.resetCustomerFollowForm()
this.customerFollow.dialogVisible = false
},
resetCustomerFollowForm() {
console.log(11)
this.customerFollow.form = {
"bizId": this.id,
"contactName": undefined,
......@@ -220,6 +224,8 @@ export default {
"followUserId": undefined,
"result": undefined
}
this.$refs.dictType.changeValue(this.customerFollow.form.followType);
this.$refs.dictMethod.changeValue(this.customerFollow.form.followMethod);
},
getCustomerFollowList() {
getCustomerFollowPage({bizId: this.id}).then(r => {
......
......@@ -5,22 +5,23 @@
title="客户跟进"
:visible.sync="customerFollow.dialogVisible"
:close-on-click-modal="false"
:before-close="customerFollowClose"
width="680px">
<el-form ref="customerFollowForm" :model="customerFollow.form" label-width="80px">
<el-form ref="customerFollowForm" :model="form" label-width="80px">
<el-row :gutter="10">
<el-col>
<el-form-item label="跟进类型" required>
<dict-selector form-type="radio" v-model="customerFollow.form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector>
<dict-selector ref="dictTag" form-type="radio" v-model="form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="跟进时间" required>
<el-date-picker v-model="customerFollow.form.followTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择跟进时间"></el-date-picker>
<el-date-picker v-model="form.followTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择跟进时间"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系人" required>
<el-select v-model="customerFollow.form.contactName" placeholder="请选择">
<el-select v-model="form.contactName" placeholder="请选择">
<el-option
v-for="(item, index) in customerContactsList"
:key="index"
......@@ -32,7 +33,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="跟进业务" required>
<el-select v-model="customerFollow.form.followUserId" placeholder="请选择">
<el-select v-model="form.followUserId" placeholder="请选择">
<el-option
v-for="item in serviceUserList"
:key="item.id"
......@@ -44,23 +45,23 @@
</el-col>
<el-col :span="12">
<el-form-item label="跟进方式" required>
<dict-selector v-model="customerFollow.form.followMethod" :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD"></dict-selector>
<dict-selector ref='dictMethod' v-model="form.followMethod" :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD"></dict-selector>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="客户反馈" required>
<el-input type="textarea" v-model="customerFollow.form.feedback"></el-input>
<el-input type="textarea" v-model="form.feedback"></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="处理结果" required>
<el-input type="textarea" v-model="customerFollow.form.result"></el-input>
<el-input type="textarea" v-model="form.result"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="customerFollow.dialogVisible = false">取 消</el-button>
<el-button @click="customerFollowClose">取 消</el-button>
<el-button type="primary" @click="customerFollowSubmit">确 定</el-button>
</span>
</el-dialog>
......@@ -94,19 +95,18 @@ export default {
customerFollowList: [],
serviceUserList: [],
customerContactsList: [],
customerFollow: {
customerFollow:{
dialogVisible: false,
form: {}
},
form: {}
}
},
created() {
this.resetCustomerFollowForm()
// this.resetCustomerFollowForm()
if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.customerContactsList = r.data
this.$set(this.customerFollow.form, 'customerId', this.customerId)
// this.$set(form, 'customerId', this.customerId)
// this.customerFollow.form.customerId = this.customerId
})
listServiceUser().then(r => {
......@@ -115,49 +115,52 @@ export default {
},
methods: {
customerFollowSubmit() {
console.log(this.form)
this.$refs["customerFollowForm"].validate(valid => {
if (!valid) {
return
}
if(!this.customerFollow.form.followType){
if(!this.form.followType){
this.$modal.msgError("请选择跟进类型");
return
}
if(!this.customerFollow.form.followTime){
if(!this.form.followTime){
this.$modal.msgError("请选择跟进时间");
return
}
if(!this.customerFollow.form.contactName){
if(!this.form.contactName){
this.$modal.msgError("请选择联系人");
return
}
if(!this.customerFollow.form.followUserId){
if(!this.form.followUserId){
this.$modal.msgError("请选择跟进业务");
return
}
if(!this.customerFollow.form.followMethod){
if(!this.form.followMethod){
this.$modal.msgError("请选择跟进方式");
return
}
if(!this.customerFollow.form.feedback){
if(!this.form.feedback){
this.$modal.msgError("请输入客户反馈");
return
}
if(!this.customerFollow.form.result){
if(!this.form.result){
this.$modal.msgError("请输入处理结果");
return
}
createCustomerFollow(this.customerFollow.form).then(r => {
this.resetCustomerFollowForm()
this.customerFollow.dialogVisible = false
this.$set(this.form, 'customerId', this.customerId)
createCustomerFollow(this.form).then(r => {
this.customerFollowClose()
})
})
},
customerFollowClose(){
this.resetCustomerFollowForm()
this.customerFollow.dialogVisible = false
},
resetCustomerFollowForm() {
this.customerFollow.form = {
var form = {
"bizId":this.id,
"customerId":this.customerId,
"contactName": undefined,
"feedback": undefined,
"followMethod": undefined,
......@@ -166,12 +169,15 @@ export default {
"followUserId": undefined,
"result": undefined
}
this.form = Object.assign({},form)
this.$refs.dictTag.changeValue(this.form.followType);
this.$refs.dictMethod.changeValue(this.form.followMethod);
},
},
watch:{
customerId(val){
this.customerFollow.form.bizId = val;
this.form.bizId = val;
if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.customerContactsList = r.data
})
......
......@@ -93,7 +93,7 @@ export default {
created(){
this.setValueSync()
this.setDefault()
},
},
methods:{
format(val){
if(val === null || val == undefined) return val
......@@ -104,8 +104,11 @@ export default {
}
return formatter(val)
},
changeValue(val){
this.valueSync = val
},
setValueSync(){
if(this.value === null || this.value === undefined || this.value === '') return
if(this.value === null || this.value === undefined || this.value === '') return
if(this.multiple){
let value = []
if(typeof this.value == 'string'){
......@@ -113,9 +116,9 @@ export default {
}
this.valueSync = value.map(item => this.format(item))
}else{
this.valueSync = this.format(this.value)
this.valueSync = this.format(this.value)
}
/* if(this.forceString && this.multiple){
this.valueSync = this.value.split(',')
}else this.valueSync = this.forceString ? String(this.value) : this.value */
......@@ -124,7 +127,7 @@ export default {
return this.getDictDatas(this.type)
},
setDefault(){
if(!this.defaultable) return
if(!this.defaultable) return
if(this.dictList.length && (this.valueSync === null || this.valueSync == '')){
this.valueSync = this.multiple ? [] : this.formattedList[0].value
}
......@@ -136,4 +139,4 @@ export default {
.dict-selector{
display: inline-block;
}
</style>
\ No newline at end of file
</style>
......@@ -73,7 +73,7 @@ export default {
number: 0,
uploadList: [],
baseUrl: process.env.VUE_APP_BASE_API,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的文件服务器地址
uploadFileUrl: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/org-name/up", // 上传的文件服务器地址
headers: {
Authorization: "Bearer " + getToken(),
},
......
......@@ -233,20 +233,28 @@
<customer-complaint ref="customerComplaint" :customer-id="id" hidden-search></customer-complaint>
</el-tab-pane>
<el-tab-pane label="账单">
<el-table style="width: 100%">
<el-table-column label="序号"></el-table-column>
<el-table-column label="账单"></el-table-column>
<el-table-column label="订单号"></el-table-column>
<el-table-column label="箱数"></el-table-column>
<el-table-column label="方数"></el-table-column>
<el-table-column label="重量"></el-table-column>
<el-table-column label="类型"></el-table-column>
<el-table-column label="费用类型"></el-table-column>
<el-table-column label="金额"></el-table-column>
<el-table-column label="汇率"></el-table-column>
<el-table-column label="实收金额"></el-table-column>
<el-table-column label="实收日期"></el-table-column>
<el-table-column label="业务员"></el-table-column>
<el-table style="width: 100%" :data="infoListReceiptList">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="账单" prop="receiptNo"></el-table-column>
<el-table-column label="订单号" prop="orderNo"></el-table-column>
<el-table-column label="箱数" prop="num"></el-table-column>
<el-table-column label="方数" prop="volume" ></el-table-column>
<el-table-column label="重量" prop="weight" ></el-table-column>
<el-table-column label="类型">
<template v-slot="{row}">
<dict-tag :type="DICT_TYPE.PAYMENT_TYPE" :value="row.collectionType" />
</template>
</el-table-column>
<el-table-column label="费用类型">
<template v-slot="{row}">
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType" />
</template>
</el-table-column>
<el-table-column label="金额" prop="totalAmount">
</el-table-column>
<el-table-column label="已核销比例" prop="writeOffScale"></el-table-column>
<el-table-column label="实收日期" prop="writeOffAt"></el-table-column>
<el-table-column label="业务员" prop="salesmanName"></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="数据">
......@@ -312,11 +320,7 @@
<div slot="header" class="clearfix">
<el-button style="float: right;" type="primary" @click="dialogVisible = true" >添加信用日志</el-button>
<el-descriptions :column="5" border>
<el-descriptions-item label="信用分"></el-descriptions-item>
<el-descriptions-item label="身份认证"></el-descriptions-item>
<el-descriptions-item label="贷款"></el-descriptions-item>
<el-descriptions-item label="提货率"></el-descriptions-item>
<el-descriptions-item label="发货"></el-descriptions-item>
<el-descriptions-item v-for="(item,index) in creditScoreStatisticObj" :key="index" :label="creditScoreCalculation(item.type)">{{item.score}}</el-descriptions-item>
</el-descriptions>
</div>
<el-table :data="customerCreditLogList">
......@@ -329,7 +333,7 @@
</el-table-column>
<el-table-column prop="score" label="规则得分"></el-table-column>
<el-table-column prop="remark" label="备注"></el-table-column>
<el-table-column label="添加人"></el-table-column>
<el-table-column label="添加人" prop="createName"></el-table-column>
<el-table-column label="时间">
<template v-slot="{row}">
{{parseTime(row.createTime)}}
......@@ -366,20 +370,22 @@
width="30%"
>
<h1 slot="title">
给客户【小六子】添加信用日志
给客户【{{customer.name}}】添加信用日志
</h1>
<el-form label-width="100">
<el-form-item label="客户编号:"></el-form-item>
<el-form-item label="客户编号:">{{customer.number}}</el-form-item>
<el-form-item label="信用类别">
<el-select ></el-select>
<el-select v-model="creditFrom.ruleId">
<el-option v-for="(item,index) in creditTypeList" :key="index" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="信用分"></el-form-item>
<el-form-item v-if="creditTypeList.length > 0" label="信用分">{{(creditTypeList.find(r=>creditFrom.ruleId === r.id) || {}).score }}</el-form-item>
<el-form-item label="备注">
<el-input type="textarea"> </el-input>
<el-input type="textarea" v-model="creditFrom.remark"> </el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button>提交</el-button>
<el-button @click="submit">提交</el-button>
<el-button @click="dialogVisible = false" >取消</el-button>
</span>
</el-dialog>
......@@ -392,7 +398,13 @@ import {
getCustomerSelect,
getBrankByCustomer,
levelLogPage,
customerCreditLogPage, infoListOrderPage, infoListOfferPage, orderStatistics
customerCreditLogPage,
infoListOrderPage,
infoListOfferPage,
orderStatistics,
creditLogCreate,
creditScoreStatistic,
infoListReceiptPage
} from '@/api/ecw/customer'
import { DICT_TYPE, getDictDataLabel } from '@/utils/dict'
import { getProductTypeList } from '@/api/ecw/productType'
......@@ -404,6 +416,7 @@ import { listServiceUser } from '@/api/system/user'
import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import {getOrderPage} from "@/api/ecw/order";
import Template from "@/views/cms/template";
import {getCreditRulePage} from "@/api/customer/creditRule";
export default {
name: 'query',
......@@ -416,6 +429,10 @@ export default {
CustomerComplaint
},
created() {
//获取信用类型
getCreditRulePage({page:1,rows:999,type:2}).then(r => {
this.creditTypeList = r.data.list
})
getNodeList().then(r => {
this.nodeList = r.data
})
......@@ -442,6 +459,8 @@ export default {
this.getorderList()
this.getInfoListOfferPage()
this.getOrderStatistics()
this.creditScoreStatisticFn()
this.infoListReceiptFn()
},
data() {
return {
......@@ -531,7 +550,16 @@ export default {
},
infoListOfferTotal:0,
infoListOfferList:[],
orderStatisticsObj:{}
orderStatisticsObj:{},
creditTypeList:[],
creditFrom:{},//添加信用 日志
creditScoreStatisticObj:[],
infoListReceiptList:[],
infoListReceiptFrom:{
pageNo:1,
pageSize:10,
},
infoListReceiptTotal:0
}
},
computed: {
......@@ -551,6 +579,15 @@ export default {
},
id() {
return this.customerId ? parseInt(this.customerId) : undefined
},
creditScoreCalculation(){
return (val)=>{
if(val === 'all'){
return '信用分'
}else{
return (this.getDictDatas(DICT_TYPE.CUSTOMER_CREDIT_RULE_TYPE).find(i => i.value === val)||{}).label
}
}
}
},
methods:{
......@@ -614,6 +651,32 @@ export default {
this.orderStatisticsObj = r.data
}
})
},
submit(){
creditLogCreate({customerId:this.id,...this.creditFrom}).then(r => {
if(r.code === 0){
this.creditLogPage();
this.creditFrom = {};
this.dialogVisible = false;
}
})
},
//获得信用客户统计
creditScoreStatisticFn(){
creditScoreStatistic({customerId:this.id}).then(r => {
console.log(r)
if(r.code === 0) this.creditScoreStatisticObj = r.data
})
},
// 获取账单数据
infoListReceiptFn(){
infoListReceiptPage({...this.infoListReceiptFrom,customerId:this.id}).then(r => {
console.log(r)
if(r.code === 0){
this.infoListReceiptList = r.data.list;
this.infoListReceiptTotal = r.data.total;
}
})
}
}
}
......
......@@ -571,8 +571,4 @@ export default {
.formShow div{
flex: 1;
}
.dialog-footer{
display: flex;
flex-direction: row !important;
}
</style>
......@@ -136,7 +136,7 @@
};
</script>
<style>
<style scoped>
.dialog-footer{
padding: 40px;
}
......
......@@ -121,8 +121,11 @@
<el-table-column :label="$t('运费')" width="200px">
<template slot-scope="scope">
<div>{{$t('运费')+":"+scope.row.seaFreight}}{{currentcyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</div>
<div>{{$t('清关费')+':'+scope.row.clearanceFreight}}{{currentcyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}</div>
<div v-if="scope.row.seaFreight">
<div>{{$t('运费')+":"+scope.row.seaFreight}}{{currentcyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</div>
<div>{{$t('清关费')+':'+scope.row.clearanceFreight}}{{currentcyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}</div>
</div>
<div v-else>未报价</div>
</template>
</el-table-column>
</el-table>
......@@ -221,8 +224,8 @@
</div>
</el-descriptions-item>
<el-descriptions-item :label="$t('预计费用')">
<template v-for="item in estimatedCosts">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
<template >
<div v-for="item in estimatedCosts" :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
</el-descriptions>
......@@ -623,7 +626,7 @@
};
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -108,7 +108,7 @@ export default {
}
};
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -40,7 +40,8 @@
</template>
</el-table-column>
<el-table-column label="出货渠道">
<template v-slot="{row}">
{{row.channelName || '/'}}</template>
</el-table-column>
<!-- <el-table-column label="始发仓" prop="startWarehouseName"></el-table-column>-->
<el-table-column label="目的地" prop="objectiveName"></el-table-column>
......@@ -122,6 +123,8 @@ import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
import {getOrderPage} from "@/api/ecw/order";
import workFlow from "@/components/WorkFlow";
import Template from "@/views/cms/template";
import {arrryToKeyedObjectBy} from "@/utils";
import {getChannelList} from "@/api/ecw/channel";
export default {
name: "batchSingleApplication",
......@@ -137,6 +140,9 @@ export default {
warehouseDetails,
workFlow
},
created() {
getChannelList().then(res => this.channelList = res.data)
},
watch: {
dialogVisible(val) {
if (val) {
......@@ -154,6 +160,17 @@ export default {
computed: {
adjustmentBol() {
return this.applyStatus?.orderWarehouseAdjustBackVO?.status === 1
},
getShipChannelName() {
return shippingChannelId => {
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
}
}
return '/'
}
}
},
data() {
......@@ -170,7 +187,8 @@ export default {
warehouseOutId: undefined,
copyUserId: [],
},
applyStatus:{}//调仓-查看状态
applyStatus:{},//调仓-查看状态,
channelList:[]
}
},
......@@ -217,7 +235,8 @@ export default {
message: '取消成功'
});
});
}
},
}
}
</script>
......
......@@ -2,16 +2,16 @@
<div>
<el-descriptions class="margin-top" border :column="4">
<el-descriptions-item label="唛头">{{details.marks}}</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">{{details.sumQuantity || 0}}/{{details.totalsumNum || 0}}</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">{{details.sumNum || 0}}/{{details.costVO ? details.costVO.totalNum : 0}}</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="details.status" />
</el-descriptions-item>
<el-descriptions-item label="送货日期"></el-descriptions-item>
<el-descriptions-item label="送货日期">{{details.deliveryDate}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="details.transportId"></dict-tag>
</el-descriptions-item>
<el-descriptions-item label="出货渠道">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="details.channelId"></dict-tag>
{{details.channelName || '/'}}
</el-descriptions-item>
<el-descriptions-item label="始发地">{{ details.logisticsInfoDto ? details.logisticsInfoDto.startTitleZh :''}}</el-descriptions-item>
<el-descriptions-item label="目的地">{{details.logisticsInfoDto ? details.logisticsInfoDto.destTitleZh : ''}}</el-descriptions-item>
......
......@@ -15,48 +15,48 @@
<el-form-item> <el-button @click="addCost">添加申请</el-button></el-form-item>
</el-form>
<el-table :data="list">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="费用类型">
<template v-slot:default = "scope">
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.FEE_TYPE" v-model="scope.row.feeType" />
</template>
</el-table-column>
<el-table-column label="金额">
<template v-slot:default = 'scope'>
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFee" ></el-input>
</template>
</el-table-column>
<el-table-column label="货币类型">
<template v-slot:default = 'scope'>
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="scope.row.applicationFeeCurrency" />
</template>
</el-table-column>
<el-table-column label="付款类型">
<template v-slot = {row}>
<dict-selector :disabled="isModify[forbidden(row)]" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
</template>
</el-table-column>
<el-table-column label="备注">
<template v-slot:default="scope">
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.remarks" type="textarea"></el-input>
</template>
</el-table-column>
<el-table-column label="确认收款">
<template v-slot:default ="scope">
<dict-tag :type="DICT_TYPE.RECEIVE_FLAG" :value="scope.row.receiveFlag" />
</template>
</el-table-column>
<el-table-column label="申请人">
<template v-slot:default ="scope">
{{scope.row.status === 0 ?'未提交': scope.row.applicationAuthor}}
</template>
</el-table-column>
<el-table-column label="操作">
<template v-slot:default = 'scope'>
<el-button type="text" v-if="scope.row.status !== 0">{{STATUS[scope.row.status]}}</el-button>
<el-button type="text" v-if="scope.row.status === 2" @click="modify(scope.row)">修改</el-button>
</template>
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="费用类型">
<template v-slot:default = "scope">
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.FEE_TYPE" v-model="scope.row.feeType" />
</template>
</el-table-column>
<el-table-column label="金额">
<template v-slot:default = 'scope'>
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFee" ></el-input>
</template>
</el-table-column>
<el-table-column label="货币类型">
<template v-slot:default = 'scope'>
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="scope.row.applicationFeeCurrency" />
</template>
</el-table-column>
<el-table-column label="付款类型">
<template v-slot = {row}>
<dict-selector :disabled="isModify[forbidden(row)]" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
</template>
</el-table-column>
<el-table-column label="备注">
<template v-slot:default="scope">
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.remarks" type="textarea"></el-input>
</template>
</el-table-column>
<el-table-column label="确认收款">
<template v-slot:default ="scope">
<dict-tag :type="DICT_TYPE.RECEIVE_FLAG" :value="scope.row.receiveFlag" />
</template>
</el-table-column>
<el-table-column label="申请人">
<template v-slot:default ="scope">
{{scope.row.status === 0 ?'未提交': scope.row.applicationAuthor}}
</template>
</el-table-column>
<el-table-column label="操作">
<template v-slot:default = 'scope'>
<el-button type="text" v-if="scope.row.status !== 0">{{STATUS[scope.row.status]}}</el-button>
<el-button type="text" v-if="scope.row.status === 2" @click="modify(scope.row)">修改</el-button>
</template>
</el-table-column>
</el-table>
<div style="padding: 20px">
<work-flow xmlkey="free_apply" v-model="selectedUsers" />
......@@ -114,7 +114,7 @@ export default {
computed:{
forbidden(){
return (row)=>{
return this.list.findIndex(e => e.id = row.id)
return this.list.findIndex(e => e.id === row.id)
}
},
IsExamine(){
......@@ -173,8 +173,9 @@ export default {
})
},
modify(row){
if(this.list.some(i => i.status === 0 || i.status === 1))return this.$message.warning('当前有未提交的数据或审核中的数据不能修改')
this.isModifyIf = true;
this.$set(this.isModify, this.list.findIndex(e => e.id = row.id), false )
this.$set(this.isModify, this.list.findIndex(e => e.id === row.id), false )
},
examineFn(){
let item = this.list.find(e => e.status === 1);
......@@ -200,6 +201,7 @@ export default {
watch:{
dialogVisible(val){
if(val){
this.isModify = []
this.getOrderList()
getOrder(this.orderId).then(r =>{
if(r.code === 0){
......
......@@ -100,8 +100,8 @@
v-hasPermi="['ecw:order:create']">{{$t('新增')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-setting" size="mini" @click="handleEdit" :disabled="!batchWarehouseAdjustment">{{$t('批量调仓')}}
</el-button>
<!-- <el-button type="primary" plain icon="el-icon-setting" size="mini" @click="handleEdit" :disabled="!batchWarehouseAdjustment">{{$t('批量调仓')}}-->
<!-- </el-button>-->
<el-button type="primary" plain icon="el-icon-setting" size="mini" @click="showBatchPickup=true">{{$t('批量提货')}}</el-button>
</el-col>
<el-col :span="1.5">
......@@ -210,9 +210,12 @@
v-hasPermi="['ecw:order:update']">{{$t('入仓')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="show = true;orderId = scope.row.orderId; "
v-hasPermi="['ecw:order:update']">{{$t('退仓')}}</el-button>
<el-button type="text" :disabled="!(scope.row.status === 5 && (scope.row.inWarehouseState === 215 ||scope.row.inWarehouseState === 0))" size="mini" @click="orderId = scope.row.orderId;warehouseBol=true;">{{$t('调仓')}}</el-button>
<el-button type="text" :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 213)" size="mini" @click="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >{{$t('调拨出仓')}}</el-button>
<el-button type="text" :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 214)" size="mini" @click="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >{{$t('调拨到仓')}}</el-button>
<!-- :disabled="!(scope.row.status === 5 && (scope.row.inWarehouseState === 215 ||scope.row.inWarehouseState === 0))"-->
<el-button type="text" size="mini" @click="orderId = scope.row.orderId;warehouseBol=true;">{{$t('调仓')}}</el-button>
<!-- :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 213)"-->
<el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >{{$t('调拨出仓')}}</el-button>
<!-- :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 214)"-->
<el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >{{$t('调拨到仓')}}</el-button>
</div>
</el-popover>
......
......@@ -377,7 +377,7 @@
};
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -290,7 +290,7 @@ export default {
}
}
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -222,7 +222,7 @@ export default {
}
}
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -36,45 +36,24 @@
</el-form-item>
<el-form-item label="新运费" required style="width: 400px">
<el-input v-model="form.freight" type="number" class="input-with-select">
<el-select v-model="form.freightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.freightVolume" placeholder="请选择" slot="append" style="width: 100px">
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<div slot="prepend" style="width: 60px">{{ currentMap[form.freightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.freightVolume] }}</div>
</el-input>
</el-form-item>
<el-form-item label="新清关费" required style="width: 400px">
<el-input v-model="form.clearanceFreight" type="number" class="input-with-select">
<el-select v-model="form.clearanceFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.clearanceFreightVolume" placeholder="请选择" slot="append" style="width: 100px">
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<div slot="prepend" style="width: 60px">{{ currentMap[form.clearanceFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.clearanceFreightVolume] }}</div>
</el-input>
</el-form-item>
</el-form>
<div >
<h2>审批流程</h2>
<work-flow xmlkey="free_apply" v-model="form.channelId" />
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div>
<div v-if="!readonly">
<el-button type="primary" @click="handleSubmit">提交</el-button>
</div>
......@@ -107,6 +86,7 @@ import {getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductAttrList } from '@/api/ecw/productAttr'
import {openedRouterList} from "@/api/ecw/warehouse"
import WorkFlow from "@/components/WorkFlow"
export default {
name: "specialDiscount",
......@@ -119,7 +99,8 @@ export default {
}
},
components: {
DictSelector
DictSelector,
WorkFlow
},
created() {
// 临时
......@@ -227,6 +208,7 @@ export default {
freightVolume: this.form.freightVolume,
}).then(r => {
this.$message.success(r.msg || '提交成功')
this.$tab.closePage()
})
},
getOrderSpecial(){
......@@ -287,9 +269,4 @@ export default {
</script>
<style scoped lang="scss">
::v-deep .input-with-select {
.el-input-group__prepend, .el-input-group__append {
background-color: #fff;
}
}
</style>
......@@ -36,7 +36,7 @@
体积:{{ row.warehouseInInfoVO.volume }}<br>
重量:{{ row.warehouseInInfoVO.weight }}Kg
</template>
<span v-else>展示没有入库信息</span>
<span v-else>暂时没有入库信息</span>
</template>
</el-table-column>
<el-table-column
......@@ -88,8 +88,8 @@
</el-table>
<div style="text-align: center;margin-top: 80px">
<el-button type="primary" @click="toweight" v-if="hasWarehouseInInfo && order.transportId === 1">申请重货优惠</el-button>
<el-button type="primary" @click="tolight" v-if="hasWarehouseInInfo && order.transportId === 2">申请泡货优惠</el-button>
<el-button type="primary" @click="toweight" v-if="hasWarehouseInInfo && (order.transportId === 1 || order.transportId === 2)">申请重货优惠</el-button>
<el-button type="primary" @click="tolight" v-if="hasWarehouseInInfo && (order.transportId === 3 || order.transportId === 4)">申请泡货优惠</el-button>
<el-button type="primary" @click="$tab.closePage()">关闭窗口</el-button>
</div>
</el-card>
......@@ -200,7 +200,7 @@ export default {
};
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -118,7 +118,7 @@ export default {
}
}
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -119,7 +119,7 @@ export default {
}
}
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -550,7 +550,7 @@ export default {
}
}
</script>
<style>
<style scoped>
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -8,7 +8,7 @@
<el-divider content-position="left">
货物信息
</el-divider>
<el-table :show-summary="true" :summary-method="totalFn" :data=" orderDetails.orderItemVOList && orderDetails.orderItemVOList.length > 0 ? orderDetails.orderItemVOList : [] ">
<el-table :show-summary="true" :summary-method="totalFn" :data="orderItemVOList">
<el-table-column width="80" type="index" label="序号"></el-table-column>
<el-table-column label="品名">
<template v-slot="{row}">
......@@ -18,32 +18,30 @@
</el-table-column>
<el-table-column label="填单货物属性">
<template v-slot="{row}">
<el-descriptions size="mini" :column="2">
<el-descriptions-item label="品牌">{{ row.brand }}</el-descriptions-item>
<el-descriptions-item label="箱数">{{ row.num }}</el-descriptions-item>
<el-descriptions-item label="体积">{{ row.volume }}</el-descriptions-item>
<el-descriptions-item label="重量">{{row.weight}}Kg</el-descriptions-item>
</el-descriptions>
<div>品牌:{{ row.brand }}</div><div>箱数:{{row.num}}</div><div>体积:{{ row.volume }}</div><div>重量{{row.weight}}Kg</div>
</template>
</el-table-column>
<el-table-column label="入库货物属性">
<template v-slot="{row}">
<el-descriptions size="mini" :column="2">
<el-descriptions-item label="品牌">{{ row.brand }}</el-descriptions-item>
<el-descriptions-item label="箱数"> {{ row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum :'' }}</el-descriptions-item>
<el-descriptions-item label="体积">{{ row.warehouseInInfoVO ? row.warehouseInInfoVO.volume :'' }}</el-descriptions-item>
<el-descriptions-item label="重量"> {{row.warehouseInInfoVO ? row.warehouseInInfoVO.weight : '' }}Kg</el-descriptions-item>
</el-descriptions>
<div v-for="(item,index) in row.orderWarehouseInBackItemDoList" :key="index">
<div>规格:{{item.boxGauge}}</div>
<div style="display: flex;justify-content: space-between;">
<div>品牌:{{row.brand}}</div>
<div>箱数:{{item.cartonsNum}}</div>
<div>体积:{{item.volume}} CMB</div>
<div>重量:{{item.weight}}KG</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="最后操作时间">
<template v-slot="{row}">
{{parseTime(row.createTime)}}
{{parseTime(row.updateTime)}}
</template>
</el-table-column>
<el-table-column label="状态">
<template v-slot="{row}">
<dict-tag :value=" row.warehouseInInfoVO ? row.warehouseInInfoVO.diffType :''" :type="DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"/>
{{calculationStatus(row.cartonsNumDiff)}}
</template>
</el-table-column>
</el-table>
......@@ -65,10 +63,6 @@
{{STATUS[row.status]}}
</template>
</el-table-column>
<el-table-column label="操作">
<template v-slot="{row}">
</template>
</el-table-column>
</el-table>
<el-descriptions style="margin-top: 20px" :column="4" border>
<el-descriptions-item label="集运仓库">{{ warehouseDetails && warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : '' }}</el-descriptions-item>
......@@ -149,7 +143,7 @@ import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import {
cancelAdjust,
getAdjustInfo,
getOrder, listByOrderId,
getOrder, getOrderWarehouseIn, listByOrderId,
orderWarehouseInGetAdjustInfo,
orderWarehousePicturePage, warehouseAdjustArrived,
warehouseAdjustSendOut
......@@ -202,7 +196,8 @@ export default {
warehouseInShi:0,
expressList:[],
storageSpaceList:[],
applyStatus:{}
applyStatus:{},
orderItemVOList:[]
}
},
......@@ -239,6 +234,17 @@ export default {
urls: this.params.urls,
}
},
calculationStatus(){
return (val)=>{
if(val > 0){
return `多${val}箱`
}else if(val < 0){
return `少${Math.abs(val)}箱`
}else {
return '准确到齐 '
}
}
}
},
created() {
......@@ -295,6 +301,11 @@ export default {
}
})
})
getOrderWarehouseIn(this.orderId).then(r => {
if(r.code === 0){
this.orderItemVOList = r.data;
}
})
},
methods:{
submit(){
......@@ -323,9 +334,11 @@ export default {
volume += Number(i.volume)
num += Number(i.num)
weight += Number(i.weight)
Wvolume += Number(i.warehouseInInfoVO ? i.warehouseInInfoVO.volume : 0);
Wnum += Number(i.warehouseInInfoVO ? i.warehouseInInfoVO.cartonsNum : 0)
Wweight += Number(i.warehouseInInfoVO ? i.warehouseInInfoVO.weight : 0)
i.orderWarehouseInBackItemDoList.forEach(m => {
Wvolume += Number(m.volume || 0)
Wnum += Number(m.cartonsNum || 0)
Wweight += Number(m.weight || 0)
})
})
let text = `下单统计:${num}${volume}${weight}Kg`
let text2 =` 入仓统计:${Wnum}${Wvolume}${Wweight}Kg`
......@@ -350,10 +363,6 @@ export default {
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
});
});
},
},
......
......@@ -74,9 +74,9 @@
</el-table-column>
<el-table-column :label="$t('入库货物属性')" align="center" >
<template slot-scope="scope">
<span>{{$t('品牌')}}{{scope.row.boxGauge||0}}</span>
<span>{{$t('箱规')}}{{scope.row.boxGauge||0}}</span>
<p>
<span>品牌<dict-tag :value="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" /></span>
<span>{{$t('品牌')}}<dict-tag :value="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" /></span>
<span>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}</span>
<span>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM</span>
<span>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG</span>
......
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