Commit 1f4bdf88 authored by 邓春圆's avatar 邓春圆

添加业绩类型

parent 9d808430
...@@ -58,6 +58,12 @@ ...@@ -58,6 +58,12 @@
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="业绩类型">
<el-select v-model="queryParams.achieveType">
<el-option :value="1" label="新客户"></el-option>
<el-option :value="0" label="旧客户"></el-option>
</el-select>
</el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button @click="resetQuery">{{$t('重置')}}</el-button> <el-button @click="resetQuery">{{$t('重置')}}</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExportDetail" :loading="exportLoading" v-hasPermi="['ecw:achievement:export']">{{ $t('导出明细') }}</el-button> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExportDetail" :loading="exportLoading" v-hasPermi="['ecw:achievement:export']">{{ $t('导出明细') }}</el-button>
......
...@@ -7,19 +7,21 @@ ...@@ -7,19 +7,21 @@
<el-input v-model="queryParams.key" :placeholder="$t('请输入关键字查找')" clearable/> <el-input v-model="queryParams.key" :placeholder="$t('请输入关键字查找')" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportType"> <el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" clearable/> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number"
clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('唛头')" prop="marks"> <el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入关键字查找')" clearable /> <el-input v-model="queryParams.marks" :placeholder="$t('请输入关键字查找')" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('资源类型')" prop="customerType"> <el-form-item :label="$t('资源类型')" prop="customerType">
<!-- <el-select clearable v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable size="small"> <!-- <el-select clearable v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_ESOURCE_TYPE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_ESOURCE_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> --> </el-select> -->
<dict-selector :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable ></dict-selector> <dict-selector :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" v-model="queryParams.customerType"
:placeholder="$t('请选择资源类型')" clearable></dict-selector>
</el-form-item> </el-form-item>
<!-- <el-form-item :label="$t('客户经理')" prop="customerService"> <!-- <el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small"> <el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-option v-for="dict in customerServiceList" <el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/> :key="dict.id" :label="dict.nickname" :value="dict.id"/>
...@@ -32,12 +34,14 @@ ...@@ -32,12 +34,14 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item prop="dateFilter"> <el-form-item prop="dateFilter">
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-"
<!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>--> :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"
value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
</el-form-item> </el-form-item>
<!-- <el-form-item :label="$t('结束时间')" prop="endStartTime">--> <!-- <el-form-item :label="$t('结束时间')" prop="endStartTime">-->
<!-- <el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>--> <!-- <el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-form-item :label="$t('报价单号')" prop="key"> <el-form-item :label="$t('报价单号')" prop="key">
<el-input v-model="queryParams.number" :placeholder="$t('请输入报价单号')" clearable/> <el-input v-model="queryParams.number" :placeholder="$t('请输入报价单号')" clearable/>
...@@ -56,17 +60,26 @@ ...@@ -56,17 +60,26 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId"> <el-form-item :label="$t('始发仓')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发仓')" clearable> <el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发仓')" clearable>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id"
:key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的仓')" prop="destWarehouseIdArr"> <el-form-item :label="$t('目的仓')" prop="destWarehouseIdArr">
<el-select :multiple="true" v-model="queryParams.destWarehouseIdArr" multiple :placeholder="$t('请选择目的仓')" clearable> <el-select :multiple="true" v-model="queryParams.destWarehouseIdArr" multiple
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> :placeholder="$t('请选择目的仓')" clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id"
:key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-form-item label="业绩类型">
<el-button type="primary" icon="el-icon-search" @click="resetQuery">{{$t('重置')}}</el-button> <el-select v-model="queryParams.achieveType">
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" <el-option :value="1" label="新客户"></el-option>
<el-option :value="0" label="旧客户"></el-option>
</el-select>
</el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('搜索') }}</el-button>
<el-button type="primary" icon="el-icon-search" @click="resetQuery">{{ $t('重置') }}</el-button>
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
>{{$t('导出')}}</el-button> --> >{{$t('导出')}}</el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -86,10 +99,10 @@ ...@@ -86,10 +99,10 @@
<el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/> <el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/>
<el-table-column :label="$t('报价单号')" align="center" width="180"> <el-table-column :label="$t('报价单号')" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.number}}</span> <span>{{ scope.row.number }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column :label="$t('报价结果')" align="center"> <!-- <el-table-column :label="$t('报价结果')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/> <dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/>
</template> </template>
...@@ -101,7 +114,7 @@ ...@@ -101,7 +114,7 @@
<el-table-column :label="$t('订单状态')" align="center" prop="statusMsg"/> <el-table-column :label="$t('订单状态')" align="center" prop="statusMsg"/>
<el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl"> <el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.isCargoControl?$t(''):$t('')}} {{ scope.row.isCargoControl ? $t('') : $t('') }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('重量')" align="center" prop="completeWeight"/> <el-table-column :label="$t('重量')" align="center" prop="completeWeight"/>
...@@ -118,7 +131,7 @@ ...@@ -118,7 +131,7 @@
</template> </template>
<script> <script>
import { import {
createDeptTarget, createDeptTarget,
updateDeptTarget, updateDeptTarget,
deleteDeptTarget, deleteDeptTarget,
...@@ -128,15 +141,15 @@ ...@@ -128,15 +141,15 @@
getCreateInitData, getCreateInitData,
getPersonTargetPage, getPersonTargetPage,
myAchievementByPage myAchievementByPage
} from "@/api/ecw/deptTarget"; } from "@/api/ecw/deptTarget";
import {listSimpleDepts} from "@/api/system/dept"; import {listSimpleDepts} from "@/api/system/dept";
import {getChannelList} from '@/api/ecw/channel'; import {getChannelList} from '@/api/ecw/channel';
import dayjs from "dayjs"; import dayjs from "dayjs";
import {listServiceUser} from "@/api/system/user"; import {listServiceUser} from "@/api/system/user";
import {getWarehouseList} from '@/api/ecw/warehouse' import {getWarehouseList} from '@/api/ecw/warehouse'
import Total_num from "@/views/ecw/deptTarget/total_num.vue"; import Total_num from "@/views/ecw/deptTarget/total_num.vue";
export default { export default {
name: "EcwDepttargetMyachievement", name: "EcwDepttargetMyachievement",
components: {Total_num}, components: {Total_num},
data() { data() {
...@@ -155,7 +168,7 @@ ...@@ -155,7 +168,7 @@
tableList: [], tableList: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
dateFilter:[], dateFilter: [],
detail: { detail: {
deptName: null, deptName: null,
targetType: null, targetType: null,
...@@ -180,7 +193,7 @@ ...@@ -180,7 +193,7 @@
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
beginStartTime:null, beginStartTime: null,
transportType: null, transportType: null,
shippingChannel: null, shippingChannel: null,
endStartTime: null, endStartTime: null,
...@@ -192,26 +205,26 @@ ...@@ -192,26 +205,26 @@
}, },
// 表单参数 // 表单参数
form: {}, form: {},
customerServiceList:[], customerServiceList: [],
// 表单校验 // 表单校验
rules: { rules: {
deptId: [{required: true, message: this.$t("部门ID不能为空"), trigger: "blur"}], deptId: [{required: true, message: this.$t("部门ID不能为空"), trigger: "blur"}],
targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}], targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}],
cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}], cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}],
}, },
totalData:{ totalData: {
companyWeight:0, companyWeight: 0,
companyVolume:0, companyVolume: 0,
companyNum:0, companyNum: 0,
developWeight:0, developWeight: 0,
developVolume:0, developVolume: 0,
developNum:0, developNum: 0,
sumWeight:0, sumWeight: 0,
sumVolume:0, sumVolume: 0,
sumNum:0, sumNum: 0,
}, },
myAchievementData:{}, myAchievementData: {},
warehouseList:[] warehouseList: []
}; };
}, },
computed: { computed: {
...@@ -226,11 +239,11 @@ ...@@ -226,11 +239,11 @@
return '/' return '/'
} }
}, },
exportWarehouseList(){ exportWarehouseList() {
/* tradeType 1 进口,2出口,3进出口 */ /* tradeType 1 进口,2出口,3进出口 */
return this.warehouseList.filter(item => item.tradeType == 2 || item.tradeType == 3) return this.warehouseList.filter(item => item.tradeType == 2 || item.tradeType == 3)
}, },
importWarehouseList(){ importWarehouseList() {
return this.warehouseList.filter(item => item.tradeType == 1 || item.tradeType == 3) return this.warehouseList.filter(item => item.tradeType == 1 || item.tradeType == 3)
}, },
}, },
...@@ -241,7 +254,7 @@ ...@@ -241,7 +254,7 @@
created() { created() {
this.getChannelList(); this.getChannelList();
this.getList(); this.getList();
listServiceUser().then(r=>{ listServiceUser().then(r => {
this.customerServiceList = r.data; this.customerServiceList = r.data;
}) })
getWarehouseList().then(res => { getWarehouseList().then(res => {
...@@ -275,11 +288,11 @@ ...@@ -275,11 +288,11 @@
} }
}) })
}, },
customerServiceFn(val){ customerServiceFn(val) {
if(this.customerServiceList.length > 0){ if (this.customerServiceList.length > 0) {
let index =this.customerServiceList.findIndex(item => item.id === val.userId); let index = this.customerServiceList.findIndex(item => item.id === val.userId);
return index !== -1 ? this.customerServiceList[index]?.nickname :'' return index !== -1 ? this.customerServiceList[index]?.nickname : ''
}else { } else {
return '' return ''
} }
}, },
...@@ -287,7 +300,7 @@ ...@@ -287,7 +300,7 @@
getList() { getList() {
this.loading = true; this.loading = true;
const params = {...this.queryParams} const params = {...this.queryParams}
if(params.destWarehouseIdArr?.length){ if (params.destWarehouseIdArr?.length) {
params.destWarehouseIds = params.destWarehouseIdArr.join(',') params.destWarehouseIds = params.destWarehouseIdArr.join(',')
} }
// 执行查询 // 执行查询
...@@ -295,21 +308,21 @@ ...@@ -295,21 +308,21 @@
this.list = response.data.myAchievementDtos.list; this.list = response.data.myAchievementDtos.list;
this.total = response.data.myAchievementDtos.total; this.total = response.data.myAchievementDtos.total;
this.myAchievementData = response.data this.myAchievementData = response.data
this.totalData.sumWeight =this.myAchievementData.totalWeight this.totalData.sumWeight = this.myAchievementData.totalWeight
this.totalData.sumVolume =this.myAchievementData.totalVolume this.totalData.sumVolume = this.myAchievementData.totalVolume
this.totalData.sumNum =this.myAchievementData.totalNum this.totalData.sumNum = this.myAchievementData.totalNum
this.totalData.companyWeight =this.myAchievementData.companyTotalWeight this.totalData.companyWeight = this.myAchievementData.companyTotalWeight
this.totalData.companyVolume =this.myAchievementData.companyTotalVolume this.totalData.companyVolume = this.myAchievementData.companyTotalVolume
this.totalData.companyNum =this.myAchievementData.companyTotalNum this.totalData.companyNum = this.myAchievementData.companyTotalNum
this.totalData.developWeight =this.myAchievementData.devTotalWeight this.totalData.developWeight = this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume this.totalData.developVolume = this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum this.totalData.developNum = this.myAchievementData.devTotalNum
this.$set(this.totalData,'newTotalNum',this.myAchievementData.newTotalNum ) this.$set(this.totalData, 'newTotalNum', this.myAchievementData.newTotalNum)
this.$set(this.totalData,'newTotalVolume',this.myAchievementData.newTotalVolume) this.$set(this.totalData, 'newTotalVolume', this.myAchievementData.newTotalVolume)
this.$set(this.totalData,'newTotalWeight',this.myAchievementData.newTotalWeight) this.$set(this.totalData, 'newTotalWeight', this.myAchievementData.newTotalWeight)
this.$set(this.totalData,'oldTotalNum',this.myAchievementData.oldTotalNum) this.$set(this.totalData, 'oldTotalNum', this.myAchievementData.oldTotalNum)
this.$set(this.totalData,'oldTotalVolume',this.myAchievementData.oldTotalVolume) this.$set(this.totalData, 'oldTotalVolume', this.myAchievementData.oldTotalVolume)
this.$set(this.totalData,'oldTotalWeight',this.myAchievementData.oldTotalWeight) this.$set(this.totalData, 'oldTotalWeight', this.myAchievementData.oldTotalWeight)
this.loading = false; this.loading = false;
}); });
}, },
...@@ -336,19 +349,21 @@ ...@@ -336,19 +349,21 @@
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1;
this.queryParams.beginStartTime=this.dateFilter[0]; this.queryParams.beginStartTime = this.dateFilter[0];
this.queryParams.endStartTime=this.dateFilter[1]; this.queryParams.endStartTime = this.dateFilter[1];
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateFilter = [] this.queryParams = {page: 1,pageSize:10}
this.dateRangeCreateTime = []; // this.dateFilter = []
this.dateRangeStartTime = []; // this.dateRangeCreateTime = [];
this.dateRangeEndTime = []; // this.dateRangeStartTime = [];
this.resetForm("queryForm"); // this.dateRangeEndTime = [];
this.handleQuery(); // this.resetForm("queryForm");
// this.handleQuery();
this.getList()
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
...@@ -421,25 +436,25 @@ ...@@ -421,25 +436,25 @@
}).catch(() => { }).catch(() => {
}); });
}, },
handleSelectionChange(val){ handleSelectionChange(val) {
if(val&&val.length>0){ if (val && val.length > 0) {
var data={ var data = {
companyWeight:0, companyWeight: 0,
companyVolume:0, companyVolume: 0,
companyNum:0, companyNum: 0,
developWeight:0, developWeight: 0,
developVolume:0, developVolume: 0,
developNum:0, developNum: 0,
sumWeight:0, sumWeight: 0,
sumVolume:0, sumVolume: 0,
sumNum:0, sumNum: 0,
} }
val.forEach(item=>{ val.forEach(item => {
if(item.customerType==1){ if (item.customerType == 1) {
data.developWeight += item.completeWeight data.developWeight += item.completeWeight
data.developVolume += item.completeVolume data.developVolume += item.completeVolume
data.developNum += item.sumNum data.developNum += item.sumNum
}else{ } else {
data.companyWeight += item.completeWeight data.companyWeight += item.completeWeight
data.companyVolume += item.completeVolume data.companyVolume += item.completeVolume
data.companyNum += item.sumNum data.companyNum += item.sumNum
...@@ -451,17 +466,17 @@ ...@@ -451,17 +466,17 @@
data.developVolume = data.developVolume.toFixed(2); data.developVolume = data.developVolume.toFixed(2);
data.companyVolume = data.companyVolume.toFixed(2); data.companyVolume = data.companyVolume.toFixed(2);
data.sumVolume = data.sumVolume.toFixed(2); data.sumVolume = data.sumVolume.toFixed(2);
this.$set(this,'totalData',data) this.$set(this, 'totalData', data)
}else{ } else {
this.totalData.sumWeight =this.myAchievementData.totalWeight this.totalData.sumWeight = this.myAchievementData.totalWeight
this.totalData.sumVolume =this.myAchievementData.totalVolume this.totalData.sumVolume = this.myAchievementData.totalVolume
this.totalData.sumNum =this.myAchievementData.totalNum this.totalData.sumNum = this.myAchievementData.totalNum
this.totalData.companyWeight =this.myAchievementData.companyTotalWeight this.totalData.companyWeight = this.myAchievementData.companyTotalWeight
this.totalData.companyVolume =this.myAchievementData.companyTotalVolume this.totalData.companyVolume = this.myAchievementData.companyTotalVolume
this.totalData.companyNum =this.myAchievementData.companyTotalNum this.totalData.companyNum = this.myAchievementData.companyTotalNum
this.totalData.developWeight =this.myAchievementData.devTotalWeight this.totalData.developWeight = this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume this.totalData.developVolume = this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum this.totalData.developNum = this.myAchievementData.devTotalNum
} }
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
...@@ -485,19 +500,20 @@ ...@@ -485,19 +500,20 @@
}); });
} }
} }
}; };
</script> </script>
<style scoped > <style scoped>
.total_num{ .total_num {
display:flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
margin:20px 0; margin: 20px 0;
font-size:15px; font-size: 15px;
} }
.total_num span{
.total_num span {
margin: 0 8px; margin: 0 8px;
} }
</style> </style>
...@@ -4,22 +4,23 @@ ...@@ -4,22 +4,23 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('关键字')" prop="key"> <el-form-item :label="$t('关键字')" prop="key">
<el-input v-model="queryParams.key" :placeholder="$t('请输入关键字查找')" /> <el-input v-model="queryParams.key" :placeholder="$t('请输入关键字查找')"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportType"> <el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number"/> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('唛头')" prop="marks"> <el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入关键字查找')" /> <el-input v-model="queryParams.marks" :placeholder="$t('请输入关键字查找')"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('资源类型')" prop="customerType"> <el-form-item :label="$t('资源类型')" prop="customerType">
<!-- <el-select clearable v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable size="small"> <!-- <el-select clearable v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_ESOURCE_TYPE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_ESOURCE_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> --> </el-select> -->
<dict-selector :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable ></dict-selector> <dict-selector :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" v-model="queryParams.customerType"
:placeholder="$t('请选择资源类型')" clearable></dict-selector>
</el-form-item> </el-form-item>
<!-- <el-form-item :label="$t('客户经理')" prop="customerService"> <!-- <el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small"> <el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-option v-for="dict in customerServiceList" <el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/> :key="dict.id" :label="dict.nickname" :value="dict.id"/>
...@@ -32,12 +33,13 @@ ...@@ -32,12 +33,13 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item> <el-form-item>
<el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')"
<!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>--> :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
</el-form-item> </el-form-item>
<!-- <el-form-item :label="$t('结束时间')" prop="endStartTime">--> <!-- <el-form-item :label="$t('结束时间')" prop="endStartTime">-->
<!-- <el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>--> <!-- <el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-form-item :label="$t('报价单号')" prop="key"> <el-form-item :label="$t('报价单号')" prop="key">
<el-input v-model="queryParams.number" :placeholder="$t('请输入报价单号')" clearable/> <el-input v-model="queryParams.number" :placeholder="$t('请输入报价单号')" clearable/>
...@@ -56,20 +58,30 @@ ...@@ -56,20 +58,30 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId"> <el-form-item :label="$t('始发仓')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发仓')" clearable> <el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发仓')" clearable>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id"
:key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的仓')" prop="destWarehouseIdArr"> <el-form-item :label="$t('目的仓')" prop="destWarehouseIdArr">
<el-select :multiple="true" v-model="queryParams.destWarehouseIdArr" multiple :placeholder="$t('请选择目的仓')" clearable> <el-select :multiple="true" v-model="queryParams.destWarehouseIdArr" multiple
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> :placeholder="$t('请选择目的仓')" clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id"
:key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-form-item label="业绩类型">
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" <el-select v-model="queryParams.achieveType">
<el-option :value="1" label="新客户"></el-option>
<el-option :value="0" label="旧客户"></el-option>
</el-select>
</el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('搜索') }}</el-button>
<el-button type="primary" icon="el-icon-search" @click="resetQuery">{{ $t('重置') }}</el-button>
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
>{{$t('导出')}}</el-button> --> >{{$t('导出')}}</el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<total_num :total-data="totalData" ></total_num> <total_num :total-data="totalData"></total_num>
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<!-- <el-table-column :label="$t('序号')" align="center" type="index"></el-table-column> --> <!-- <el-table-column :label="$t('序号')" align="center" type="index"></el-table-column> -->
...@@ -85,10 +97,10 @@ ...@@ -85,10 +97,10 @@
<el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/> <el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/>
<el-table-column :label="$t('报价单号')" align="center" width="180"> <el-table-column :label="$t('报价单号')" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.number}}</span> <span>{{ scope.row.number }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column :label="$t('报价结果')" align="center"> <!-- <el-table-column :label="$t('报价结果')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/> <dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/>
</template> </template>
...@@ -100,7 +112,7 @@ ...@@ -100,7 +112,7 @@
<el-table-column :label="$t('订单状态')" align="center" prop="statusMsg"/> <el-table-column :label="$t('订单状态')" align="center" prop="statusMsg"/>
<el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl"> <el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.isCargoControl?$t(''):$t('')}} {{ scope.row.isCargoControl ? $t('') : $t('') }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('重量')" align="center" prop="completeWeight"/> <el-table-column :label="$t('重量')" align="center" prop="completeWeight"/>
...@@ -117,7 +129,7 @@ ...@@ -117,7 +129,7 @@
</template> </template>
<script> <script>
import { import {
createDeptTarget, createDeptTarget,
updateDeptTarget, updateDeptTarget,
deleteDeptTarget, deleteDeptTarget,
...@@ -128,15 +140,15 @@ ...@@ -128,15 +140,15 @@
getPersonTargetPage, getPersonTargetPage,
myAchievementByPage, myAchievementByPage,
myDeptAchievementByPage myDeptAchievementByPage
} from "@/api/ecw/deptTarget"; } from "@/api/ecw/deptTarget";
import {listSimpleDepts} from "@/api/system/dept"; import {listSimpleDepts} from "@/api/system/dept";
import {getChannelList} from '@/api/ecw/channel'; import {getChannelList} from '@/api/ecw/channel';
import dayjs from "dayjs"; import dayjs from "dayjs";
import {listServiceUser} from "@/api/system/user"; import {listServiceUser} from "@/api/system/user";
import {getWarehouseList} from '@/api/ecw/warehouse' import {getWarehouseList} from '@/api/ecw/warehouse'
import Total_num from "@/views/ecw/deptTarget/total_num.vue"; import Total_num from "@/views/ecw/deptTarget/total_num.vue";
export default { export default {
name: "EcwDepttargetMydeptachievement", name: "EcwDepttargetMydeptachievement",
components: {Total_num}, components: {Total_num},
data() { data() {
...@@ -155,7 +167,7 @@ ...@@ -155,7 +167,7 @@
tableList: [], tableList: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
dateFilter:[], dateFilter: [],
detail: { detail: {
deptName: null, deptName: null,
targetType: null, targetType: null,
...@@ -180,11 +192,11 @@ ...@@ -180,11 +192,11 @@
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
beginStartTime:null, beginStartTime: null,
transportType: null, transportType: null,
shippingChannel: null, shippingChannel: null,
endStartTime: null, endStartTime: null,
destWarehouseIdArr:[] destWarehouseIdArr: []
}, },
tableQueryParams: { tableQueryParams: {
pageNo: 1, pageNo: 1,
...@@ -193,26 +205,26 @@ ...@@ -193,26 +205,26 @@
}, },
// 表单参数 // 表单参数
form: {}, form: {},
customerServiceList:[], customerServiceList: [],
// 表单校验 // 表单校验
rules: { rules: {
deptId: [{required: true, message: this.$t("部门ID不能为空"), trigger: "blur"}], deptId: [{required: true, message: this.$t("部门ID不能为空"), trigger: "blur"}],
targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}], targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}],
cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}], cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}],
}, },
totalData:{ totalData: {
companyWeight:0, companyWeight: 0,
companyVolume:0, companyVolume: 0,
companyNum:0, companyNum: 0,
developWeight:0, developWeight: 0,
developVolume:0, developVolume: 0,
developNum:0, developNum: 0,
sumWeight:0, sumWeight: 0,
sumVolume:0, sumVolume: 0,
sumNum:0, sumNum: 0,
}, },
myAchievementData:{}, myAchievementData: {},
warehouseList:[] warehouseList: []
}; };
}, },
computed: { computed: {
...@@ -227,18 +239,18 @@ ...@@ -227,18 +239,18 @@
return '/' return '/'
} }
}, },
exportWarehouseList(){ exportWarehouseList() {
/* tradeType 1 进口,2出口,3进出口 */ /* tradeType 1 进口,2出口,3进出口 */
return this.warehouseList.filter(item => item.tradeType == 2 || item.tradeType == 3) return this.warehouseList.filter(item => item.tradeType == 2 || item.tradeType == 3)
}, },
importWarehouseList(){ importWarehouseList() {
return this.warehouseList.filter(item => item.tradeType == 1 || item.tradeType == 3) return this.warehouseList.filter(item => item.tradeType == 1 || item.tradeType == 3)
}, },
}, },
created() { created() {
this.getChannelList(); this.getChannelList();
this.getList(); this.getList();
listServiceUser().then(r=>{ listServiceUser().then(r => {
this.customerServiceList = r.data; this.customerServiceList = r.data;
}) })
getWarehouseList().then(res => { getWarehouseList().then(res => {
...@@ -272,11 +284,11 @@ ...@@ -272,11 +284,11 @@
} }
}) })
}, },
customerServiceFn(val){ customerServiceFn(val) {
if(this.customerServiceList.length > 0){ if (this.customerServiceList.length > 0) {
let index =this.customerServiceList.findIndex(item => item.id === val.userId); let index = this.customerServiceList.findIndex(item => item.id === val.userId);
return index !== -1 ? this.customerServiceList[index]?.nickname :'' return index !== -1 ? this.customerServiceList[index]?.nickname : ''
}else { } else {
return '' return ''
} }
}, },
...@@ -284,7 +296,7 @@ ...@@ -284,7 +296,7 @@
getList() { getList() {
this.loading = true; this.loading = true;
const params = {...this.queryParams} const params = {...this.queryParams}
if(params.destWarehouseIdArr?.length){ if (params.destWarehouseIdArr?.length) {
params.destWarehouseIds = params.destWarehouseIdArr.join(',') params.destWarehouseIds = params.destWarehouseIdArr.join(',')
} }
// 执行查询 // 执行查询
...@@ -292,21 +304,21 @@ ...@@ -292,21 +304,21 @@
this.list = response.data.myAchievementDtos.list; this.list = response.data.myAchievementDtos.list;
this.total = response.data.myAchievementDtos.total; this.total = response.data.myAchievementDtos.total;
this.myAchievementData = response.data this.myAchievementData = response.data
this.totalData.sumWeight =this.myAchievementData.totalWeight this.totalData.sumWeight = this.myAchievementData.totalWeight
this.totalData.sumVolume =this.myAchievementData.totalVolume this.totalData.sumVolume = this.myAchievementData.totalVolume
this.totalData.sumNum =this.myAchievementData.totalNum this.totalData.sumNum = this.myAchievementData.totalNum
this.totalData.companyWeight =this.myAchievementData.companyTotalWeight this.totalData.companyWeight = this.myAchievementData.companyTotalWeight
this.totalData.companyVolume =this.myAchievementData.companyTotalVolume this.totalData.companyVolume = this.myAchievementData.companyTotalVolume
this.totalData.companyNum =this.myAchievementData.companyTotalNum this.totalData.companyNum = this.myAchievementData.companyTotalNum
this.totalData.developWeight =this.myAchievementData.devTotalWeight this.totalData.developWeight = this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume this.totalData.developVolume = this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum this.totalData.developNum = this.myAchievementData.devTotalNum
this.$set(this.totalData,'newTotalNum',this.myAchievementData.newTotalNum ) this.$set(this.totalData, 'newTotalNum', this.myAchievementData.newTotalNum)
this.$set(this.totalData,'newTotalVolume',this.myAchievementData.newTotalVolume) this.$set(this.totalData, 'newTotalVolume', this.myAchievementData.newTotalVolume)
this.$set(this.totalData,'newTotalWeight',this.myAchievementData.newTotalWeight) this.$set(this.totalData, 'newTotalWeight', this.myAchievementData.newTotalWeight)
this.$set(this.totalData,'oldTotalNum',this.myAchievementData.oldTotalNum) this.$set(this.totalData, 'oldTotalNum', this.myAchievementData.oldTotalNum)
this.$set(this.totalData,'oldTotalVolume',this.myAchievementData.oldTotalVolume) this.$set(this.totalData, 'oldTotalVolume', this.myAchievementData.oldTotalVolume)
this.$set(this.totalData,'oldTotalWeight',this.myAchievementData.oldTotalWeight) this.$set(this.totalData, 'oldTotalWeight', this.myAchievementData.oldTotalWeight)
this.loading = false; this.loading = false;
}); });
}, },
...@@ -327,23 +339,21 @@ ...@@ -327,23 +339,21 @@
transportType: undefined, transportType: undefined,
shippingChannel: undefined, shippingChannel: undefined,
cubeNum: undefined, cubeNum: undefined,
achieveType: undefined
}; };
this.resetForm("form"); this.resetForm("form");
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1;
this.queryParams.beginStartTime=this.dateFilter[0]; this.queryParams.beginStartTime = this.dateFilter[0];
this.queryParams.endStartTime=this.dateFilter[1]; this.queryParams.endStartTime = this.dateFilter[1];
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateRangeCreateTime = []; this.queryParams = {pageNo: 1, pageSize: 10,}
this.dateRangeStartTime = []; this.getList()
this.dateRangeEndTime = [];
this.resetForm("queryForm");
this.handleQuery();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
...@@ -416,25 +426,25 @@ ...@@ -416,25 +426,25 @@
}).catch(() => { }).catch(() => {
}); });
}, },
handleSelectionChange(val){ handleSelectionChange(val) {
if(val&&val.length>0){ if (val && val.length > 0) {
var data={ var data = {
companyWeight:0, companyWeight: 0,
companyVolume:0, companyVolume: 0,
companyNum:0, companyNum: 0,
developWeight:0, developWeight: 0,
developVolume:0, developVolume: 0,
developNum:0, developNum: 0,
sumWeight:0, sumWeight: 0,
sumVolume:0, sumVolume: 0,
sumNum:0, sumNum: 0,
} }
val.forEach(item=>{ val.forEach(item => {
if(item.customerType==1){ if (item.customerType == 1) {
data.developWeight += item.completeWeight data.developWeight += item.completeWeight
data.developVolume += item.completeVolume data.developVolume += item.completeVolume
data.developNum += item.sumNum data.developNum += item.sumNum
}else{ } else {
data.companyWeight += item.completeWeight data.companyWeight += item.completeWeight
data.companyVolume += item.completeVolume data.companyVolume += item.completeVolume
data.companyNum += item.sumNum data.companyNum += item.sumNum
...@@ -446,17 +456,17 @@ ...@@ -446,17 +456,17 @@
data.developVolume = data.developVolume.toFixed(2); data.developVolume = data.developVolume.toFixed(2);
data.companyVolume = data.companyVolume.toFixed(2); data.companyVolume = data.companyVolume.toFixed(2);
data.sumVolume = data.sumVolume.toFixed(2); data.sumVolume = data.sumVolume.toFixed(2);
this.$set(this,'totalData',data) this.$set(this, 'totalData', data)
}else{ } else {
this.totalData.sumWeight =this.myAchievementData.totalWeight this.totalData.sumWeight = this.myAchievementData.totalWeight
this.totalData.sumVolume =this.myAchievementData.totalVolume this.totalData.sumVolume = this.myAchievementData.totalVolume
this.totalData.sumNum =this.myAchievementData.totalNum this.totalData.sumNum = this.myAchievementData.totalNum
this.totalData.companyWeight =this.myAchievementData.companyTotalWeight this.totalData.companyWeight = this.myAchievementData.companyTotalWeight
this.totalData.companyVolume =this.myAchievementData.companyTotalVolume this.totalData.companyVolume = this.myAchievementData.companyTotalVolume
this.totalData.companyNum =this.myAchievementData.companyTotalNum this.totalData.companyNum = this.myAchievementData.companyTotalNum
this.totalData.developWeight =this.myAchievementData.devTotalWeight this.totalData.developWeight = this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume this.totalData.developVolume = this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum this.totalData.developNum = this.myAchievementData.devTotalNum
} }
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
...@@ -480,10 +490,10 @@ ...@@ -480,10 +490,10 @@
}); });
} }
} }
}; };
</script> </script>
<style scoped > <style scoped>
</style> </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