Commit 13fe9053 authored by dragondean@qq.com's avatar dragondean@qq.com

解决海运冲突

parents f5728349 0a1f3df5
......@@ -9,7 +9,7 @@ export function createDeptTarget(data) {
})
}
// 我的业绩
// 我的部门业绩
export function myDeptAchievementByPage(data) {
return request({
url: '/sale/dept-target/myDeptAchievementByPage',
......@@ -17,7 +17,7 @@ export function myDeptAchievementByPage(data) {
data: data
})
}
// 我的部门业绩
// 我的业绩
export function myAchievementByPage(data) {
return request({
url: '/sale/dept-target/myAchievementByPage',
......@@ -26,6 +26,15 @@ export function myAchievementByPage(data) {
})
}
// 全部业绩
export function allAchievementByPage(data) {
return request({
url: '/sale/dept-target/allAchievementByPage',
method: 'post',
data: data
})
}
// 更新部门业绩目标设置
export function updateDeptTarget(data) {
return request({
......@@ -67,6 +76,15 @@ export function getDeptTargetPage(query) {
})
}
// 获得我的部门及以下业绩目标设置分页
export function getMyDeptTargetPage(query) {
return request({
url: '/sale/dept-target/deptStatistics/page',
method: 'get',
params: query
})
}
// 获得个人目标进度分页
export function getPersonTargetPage(query) {
return request({
......@@ -85,3 +103,23 @@ export function exportDeptTargetExcel(query) {
responseType: 'blob'
})
}
// 导出部门业绩目标设置 Excel
export function exportDetailExcel(query) {
return request({
url: '/sale/dept-target/exportDetailExcel',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 导出部门业绩目标设置 Excel
export function exportStatisticsExcel(query) {
return request({
url: '/sale/dept-target/exportStatisticsExcel',
method: 'get',
params: query,
responseType: 'blob'
})
}
......@@ -78,4 +78,11 @@ export function calculationPrice(data){
method: 'post',
data: data
})
}
\ No newline at end of file
}
//新增商品可用优惠信息列表
export function product_coupon_newProd(){
return request({
url:'/product/coupon/newProd/list',
method:'get',
})
}
......@@ -171,7 +171,16 @@ export default {
});
});
});
this.tallyList = list;
let relist = []
list.forEach(l=>{
let index = relist.findIndex(i=>i.orderId == l.orderId && i.positionNo == l.positionNo)
if(index == -1){
relist.push(l)
}else{
relist[index].warehouseInInfo.cartonsNum = parseInt(relist[index].warehouseInInfo.cartonsNum)+parseInt(l.warehouseInInfo.cartonsNum)
}
})
this.tallyList = relist;
});
},
// 选中
......
This diff is collapsed.
This diff is collapsed.
......@@ -10,7 +10,7 @@
<el-card>
<div v-if="id" slot="header" class="card-title">{{ $t('修改收款单') }}</div>
<div v-else slot="header" class="card-title">{{ $t('新增收款单') }}</div>
<!-- <el-descriptions :column="3" border> -->
<!-- <el-descriptions :column="3" border>-->
<!-- <el-descriptions-item > -->
<el-form-item
:label="$t('客户')"
......
......@@ -195,7 +195,49 @@
</el-table-column>
<el-table-column :label="$t('货值')" prop="worth" />
</el-table>
<!-- 未分配客户经理 -->
<div v-if="orderExceptionData.orderExceptionType=='not_customer_service_exception'">
<el-row :gutter="20">
<el-col :span="8" v-if="orderData.consignorVO">
<el-descriptions class="margin-top" border :title="$t('发货人')" :column="1" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('发货人')">{{orderData.consignorVO.name}}</el-descriptions-item>
<el-descriptions-item :label="$t('发货人电话')">
+{{orderData.consignorVO.countryCode}} {{orderData.consignorVO.phone}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货人邮箱')">{{orderData.consignorVO.email}}</el-descriptions-item>
<el-descriptions-item :label="$t('发货人公司名称')">
{{orderData.consignorVO.company}}
</el-descriptions-item>
</el-descriptions>
</el-col>
<el-col :span="16" v-if="orderData.consigneeVO">
<el-descriptions class="margin-top" border :title="$t('收货人')" :column="2" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('收货人')">{{orderData.consigneeVO.name}}</el-descriptions-item>
<el-descriptions-item :label="$t('收货人电话')">
+{{orderData.consigneeVO.countryCode}} {{orderData.consigneeVO.phone}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货人邮箱')">{{orderData.consigneeVO.email}}</el-descriptions-item>
<el-descriptions-item :label="$t('收货人公司名称')">
{{orderData.consigneeVO.company}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货方式')">
<dict-tag :type="DICT_TYPE.ECW_HARVEST_METHOD" :value="orderData.consigneeVO.harvestMethod" />
</el-descriptions-item>
<el-descriptions-item :label="$t('收货地区')">
{{region}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货地址')">
{{orderData.consigneeVO.address}}
</el-descriptions-item>
</el-descriptions>
</el-col>
</el-row>
<div class="link-text">
<router-link :to="{path: '/customer/query/'+orderData.customerId}" class="link-type">
<span>{{$t('归属客户')}}:{{ customerData.name||'' }} </span><span>{{$t('客户编号')}}:{{ customerData.number||'' }}</span>
</router-link>
</div>
</div>
<el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('订单总金额')+':'">
......@@ -273,7 +315,7 @@
</template>
</el-form-item>
<!--预付异常的备选需要根据接口数据过滤-->
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'||orderExceptionData.orderExceptionType=='not_customer_service_exception'">
<el-form-item :label="$t('处理结果')+':'" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" :placeholder="$t('请选择')" clearable>
<template v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')">
......@@ -289,10 +331,16 @@
<el-option :disabled="dict.value=='pending'" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
</template>
</el-select>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='not_customer_service_exception'&&handlerParams.orderExceptionHandlerResult=='allocate'">
<el-form-item :label="$t('移交客户经理')+':'" required>
<el-select v-model="handlerParams.customerService" :placeholder="$t('请选择客户经理')" clearable>
<el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/>
</el-select>
</el-form-item>
</el-row>
<!-- 代收货款 时需要填写代收金额 -->
<el-row v-if="handlerParams.orderExceptionHandlerResult == 'cod'" >
<el-form-item :label="$t('代收金额')+':'" size="medium" required>
......@@ -314,7 +362,7 @@
</el-select>
</el-form-item>
</el-row>
<el-row :span="8">
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='not_customer_service_exception'">
<el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item>
......@@ -393,7 +441,9 @@
import {getFirstReceivableListByOrderId} from '@/api/ecw/financial'
import WorkFlow from '@/components/WorkFlow'
import {listByIds} from '@/api/ecw/region'
import {listServiceUser} from "@/api/system/user";
import {cancelProcessInstance} from '@/api/bpm/processInstance'
import {getCustomer} from '@/api/ecw/customer'
export default {
name: "PrepayDeal",
components: {
......@@ -428,7 +478,9 @@
timers:"", //时间戳
FilePreAll:[], // 预览数组
TragetPic:{},
region:''
region:'',
customerData:{},//归属客户
customerServiceList:[],//客户经理
};
},
created() {
......@@ -438,6 +490,9 @@
this.getList()
}
listServiceUser().then(r=>{
this.customerServiceList = r.data;
})
getCurrencyList().then(res => this.currencyList = res.data)
},
watch:{
......@@ -491,7 +546,7 @@
that.orderExceptionData = response.data;
// that.orderExceptionData.orderExceptionType = 'order_other_exception'
// that.orderExceptionData.orderExceptionType = 'order_miss_exception'
// that.orderExceptionData.orderExceptionType = 'order_pay_exception'
// that.orderExceptionData.orderExceptionType = 'not_customer_service_exception'
that.loading = false;
that.orderId = response.data.orderId
that.getOrderData()
......@@ -515,8 +570,16 @@
getOrderData(){
getOrder(this.orderId).then(response => {
this.orderData = response.data
if(response.data.customerId){
this.getCustomerData(response.data.customerId)
}
});
},
getCustomerData(id){
getCustomer(id).then(res=>{
this.customerData = res.data
})
},
getOrderFeeByIdData(){
getOrderFeeById({id:this.orderId}).then(response => {
this.orderFee = response.data
......@@ -636,6 +699,7 @@
.link-text span{
font-size:16px;
font-weight:600;
margin-right:20px;
}
.card-title{
font-size: 18px;
......
......@@ -106,9 +106,9 @@
<el-table-column :label="$t('修改时间')" align="center">
<template slot-scope="scope">
<span>{{parseTime(scope.row.updateTime)}}</span>
</template>
</el-table-column>
<span>{{parseTime(scope.row.updateTime)}}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="status" align="center" :label="$t('状态')" width="120">
<template slot-scope="scope">
......@@ -206,11 +206,24 @@
<el-radio v-model.number="form.needBook" :label="1">{{$t('是')}}</el-radio>
<el-radio v-model.number="form.needBook" :label="0">{{$t('否')}}</el-radio>
</el-form-item>
<!-- <el-form-item :label="$t('可参与优惠活动')" prop="you">
<el-select v-model="form.you" :placeholder="$t('可参与优惠活动')" clearable>
<el-option v-for="packageItem in packagingList" :key="packageItem.value" :label="packageItem.label" :value="packageItem.value" />
</el-select>
</el-form-item> -->
<el-form-item v-if="this.form.id == null " :label="$t('可参与优惠')">
<!-- <el-select multiple v-model="form.couponlds" size="5" style="min-width: 300px; border:1px solid #DCDFE6; border-radius:4px">-->
<!-- <el-option v-for="item in preferentialList" :value="item.couponId" :label="item.titleZh" :key="item.couponId" :disabled="item.mandatory">{{item.titleZh}}</el-option>-->
<!-- </el-select>-->
<div style="width: 300px;height: 400px;border: 1px solid;overflow-y: auto">
<div @click="selectMoveAbout(item)" style="display: flex;justify-content: space-between; align-items: center;" :style="{'cursor':item.mandatory ? 'no-drop' : 'pointer' }" v-for="item in preferentialList">
<div>
{{$l(item, 'title')}}
</div>
<i v-if="form.couponIds.includes(item.couponId)" style="margin-right: 20px;" class="el-icon-check"></i>
</div>
</div>
</el-form-item>
<!-- <el-form-item :label="$t('可参与优惠活动')" prop="you">
<el-select v-model="form.you" :placeholder="$t('可参与优惠活动')" clearable>
<el-option v-for="packageItem in packagingList" :key="packageItem.value" :label="packageItem.label" :value="packageItem.value" />
</el-select>
</el-form-item> -->
<el-form-item :label="$t('每日入仓上限')" prop="dayLimit" v-if="form.needBook==1">
<el-input v-model.number="form.dayLimit" type="number">
<template slot="append">{{$t('立方米')}}</template>
......@@ -227,7 +240,15 @@
</template>
<script>
import { createProduct, updateProduct, deleteProduct, getProduct, getProductPage, exportProductExcel } from "@/api/ecw/product";
import {
createProduct,
updateProduct,
deleteProduct,
getProduct,
getProductPage,
exportProductExcel,
product_coupon_newProd
} from "@/api/ecw/product";
import { getProductAttrList } from "@/api/ecw/productAttr";
import { getProductTypeList } from "@/api/ecw/productType";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
......@@ -305,7 +326,8 @@ export default {
auditStatusDictDatas: getDictDatas(DICT_TYPE.AUDIT_STATUS),
materialList: getDictDatas(DICT_TYPE.ECW_PRODUCT_MATERIAL),
packagingList: getDictDatas(DICT_TYPE.ECW_PACKAGING_TYPE),
locationList: getDictDatas(DICT_TYPE.ECW_CONTAINER_LOCATION)
locationList: getDictDatas(DICT_TYPE.ECW_CONTAINER_LOCATION),
preferentialList:[],
};
},
......@@ -360,6 +382,10 @@ export default {
this.getAttrList();
this.getTypeList();
this.getList();
product_coupon_newProd().then(r => {
this.preferentialList = r.data
this.reset()
})
},
methods: {
/** 获取产品属性列表 */
......@@ -433,8 +459,11 @@ export default {
auditStatus: undefined,
status: undefined,
requirements: 0,
needBook: 0
needBook: 0,
couponIds:[],
};
let c = this.preferentialList.filter(i => i.isDefault).map(i => i.couponId)
this.form.couponIds = c
this.resetForm("form");
},
/** 搜索按钮操作 */
......@@ -485,7 +514,6 @@ export default {
}
//商品特性转字符串
this.form.attrId = this.form.attrArray.join(',');
// 修改的提交
if (this.form.id != null) {
updateProduct(this.form).then(response => {
......@@ -576,7 +604,21 @@ export default {
ids: this.ids
}
});
},
selectMoveAbout(val){
if(!val.mandatory){
let index = this.form.couponIds.findIndex(i => val.couponId == i)
if(index >= 0){
this.form.couponIds.splice(index,1)
}else {
this.form.couponIds.push(val.couponId)
}
}
}
}
};
</script>
<style lang="scss" scoped>
</style>
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