master
e 3 years ago
parent b8270d9c14
commit c6296e1516
  1. 4
      src/components/page/afterLoan/afterInsurance.vue
  2. 146
      src/components/page/afterLoan/complete.vue
  3. 2
      src/components/page/afterLoan/progress.vue
  4. 2
      src/components/page/background-Manpower.vue
  5. 6
      src/store/modules/loan.js

@ -702,7 +702,8 @@ import core from '../../../utils/core';
textarea:'', textarea:'',
guaranteeEditStatus:false,// guaranteeEditStatus:false,//
cash:0,// cash:0,//
btns:{} btns:{},
ids:[],
}; };
}, },
computed:{ computed:{
@ -1466,6 +1467,7 @@ import core from '../../../utils/core';
if(data.import.exportCode){ if(data.import.exportCode){
core.exportFile(exportFailure(data.import.exportCode)) core.exportFile(exportFailure(data.import.exportCode))
} }
this.getData()
// if (response.code == 10000) { // if (response.code == 10000) {
// this.$message.success(''); // this.$message.success('');
// this.importVisible = false; // this.importVisible = false;

@ -27,16 +27,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <div class="pagination">
<el-pagination
background
@current-change="currentChange"
layout="total, prev, pager, next"
:current-page="pageNo"
:total="totals"
>
</el-pagination>
</div> -->
</div> </div>
</div> </div>
</div> </div>
@ -48,7 +38,7 @@
<div class="flex-center"> <div class="flex-center">
<p class="fz-16 mgr10 font-blue mgl20 nowrap">清收组</p> <p class="fz-16 mgr10 font-blue mgl20 nowrap">清收组</p>
<el-select v-model="searchStr.groupId" placeholder="请选择" clearable @change="search"> <el-select v-model="searchStr.groupId" placeholder="请选择" clearable @change="search">
<el-option v-for="item in liquidateSelectArr" :key="item.id" :label="item.label" :value="item.id"></el-option> <el-option v-for="item in liquidateSelectArr" :key="item.id" :label="item.groupName" :value="item.id"></el-option>
</el-select> </el-select>
<p class="fz-16 mgr10 font-blue mgl20 nowrap">完成比例</p> <p class="fz-16 mgr10 font-blue mgl20 nowrap">完成比例</p>
@ -59,6 +49,7 @@
placeholder="请输入整数" placeholder="请输入整数"
class="wd20 mglr10" class="wd20 mglr10"
style="min-width: 200px" style="min-width: 200px"
:disabled="!searchStr.proportionSymbol"
v-model="searchStr.proportion" v-model="searchStr.proportion"
clearable clearable
></el-input> ></el-input>
@ -67,7 +58,7 @@
<el-select v-model="searchStr.allAoumntSymbol" placeholder="请选择" clearable @change="search"> <el-select v-model="searchStr.allAoumntSymbol" placeholder="请选择" clearable @change="search">
<el-option v-for="item in proportion" :key="item.id" :label="item.label" :value="item.id"></el-option> <el-option v-for="item in proportion" :key="item.id" :label="item.label" :value="item.id"></el-option>
</el-select> </el-select>
<el-input class="wd20 mglr10" placeholder="搜索业务编号/客户名称" style="min-width: 200px" v-model="searchStr.allAoumnt" clearable></el-input> <el-input :disabled="!searchStr.allAoumntSymbol" class="wd20 mglr10" placeholder="清收总额" style="min-width: 200px" v-model="searchStr.allAoumnt" clearable></el-input>
</div> </div>
<div class="flex-center"> <div class="flex-center">
<el-button v-preventReClick type="primary" size="small" round @click="clearOption">清空选项</el-button> <el-button v-preventReClick type="primary" size="small" round @click="clearOption">清空选项</el-button>
@ -107,7 +98,6 @@
--> -->
<div class="dataList" ref="table" @scroll="handleScroll"> <div class="dataList" ref="table" @scroll="handleScroll">
<el-table <el-table
:data="statisticsData" :data="statisticsData"
stripe stripe
header-align="center" header-align="center"
@ -117,9 +107,9 @@
:key="1" :key="1"
> >
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column> <el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
<el-table-column prop="companyRanks" label="公司排名" align="center" width="150px"></el-table-column> <el-table-column prop="companyRanks" label="公司排名" align="center" width="120px"></el-table-column>
<el-table-column prop="TeamRanks" label="小组排名" align="center" width="150px"></el-table-column> <el-table-column prop="TeamRanks" label="小组排名" align="center" width="120px"></el-table-column>
<el-table-column prop="groupName" label="清收组" align="center"></el-table-column> <el-table-column prop="groupName" label="清收组" align="center" width="150px"></el-table-column>
<el-table-column prop="personLiable" label="清收负责人" align="center" width="150px"></el-table-column> <el-table-column prop="personLiable" label="清收负责人" align="center" width="150px"></el-table-column>
<el-table-column prop="jobNumber" label="工号" align="center"></el-table-column> <el-table-column prop="jobNumber" label="工号" align="center"></el-table-column>
<el-table-column prop="enterprise" label="清收企业" align="center" width="150px"> <el-table-column prop="enterprise" label="清收企业" align="center" width="150px">
@ -166,10 +156,13 @@
</el-table-column> </el-table-column>
<el-table-column prop="ratio" label="完成比例" align="center" width="150px"> <el-table-column prop="ratio" label="完成比例" align="center" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="ratio"> <div class="ratio" v-show="scope.row.edit">
<div class="top">{{scope.row.totalAmount}}</div> <div class="top">{{scope.row.totalAmount}}</div>
<el-input :disabled="!scope.row.edit" v-model="scope.row.proportion"></el-input> <el-input :disabled="!scope.row.edit" v-model="scope.row.proportion"></el-input>
</div> </div>
<div v-if="!scope.row.edit">
{{scope.row.percent}}%
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="remark" label="备注" align="center" width="200px"> <el-table-column prop="remark" label="备注" align="center" width="200px">
@ -180,7 +173,7 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 判断是否为查看或者编辑 --> <!-- 判断是否为查看或者编辑 -->
<el-table-column label="操作" width="300" align="center"> <el-table-column v-if="!liquidWatch" label="操作" width="300" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="yearEdit(scope.row)">{{scope.row.editStr}}</el-button> <el-button type="text" @click="yearEdit(scope.row)">{{scope.row.editStr}}</el-button>
<!-- <el-button type="text" @click="history(scope.row)">查看</el-button> --> <!-- <el-button type="text" @click="history(scope.row)">查看</el-button> -->
@ -235,7 +228,7 @@
</div> </div>
</template> </template>
<script> <script>
import {collectionGroupList ,generateAnnualStatistics,annualList,annualStatisticsList,editAnnualStatistics,personnelSelection ,annualStatisticsDeleted,annualStatisticsListExport } from '../../../utils/api' import {collectionGroupList ,generateAnnualStatistics,annualList,annualStatisticsList,editAnnualStatistics,personnelSelection ,annualStatisticsDeleted,annualStatisticsListExport,liquidateList } from '../../../utils/api'
import core from '../../../utils/core' import core from '../../../utils/core'
export default { export default {
name: '', name: '',
@ -310,25 +303,43 @@ export default {
return this.$store.state.loan.liquidate return this.$store.state.loan.liquidate
},set(){} },set(){}
}, },
liquidWatch:{
get(){
return this.$store.state.loan.liquidWatch
},set(){}
},
liquidateSearch:{ liquidateSearch:{
get(){ get(){
this.searchStr = this.$store.state.loan.liquidateSearch this.searchStr = this.$store.state.loan.liquidateSearch
return this.$store.state.loan.liquidateSearch return this.$store.state.loan.liquidateSearch
},set(){} },set(){}
},
percent(){
console.log(this.statisticsData,'statisticsData')
console.log(this.statisticsData.totalAmount,this.statisticsData.proportion,'计算百分比的值')
return (+this.statisticsData.totalAmount/+this.statisticsData.proportion).toFixed(2)
} }
}, },
created() { created() {
this.searchStr = this.$store.state.loan.liquidateSearch this.searchStr = this.$store.state.loan.liquidateSearch
this.annualList() this.annualList()
console.log(this.liquidate,'li')
if(this.liquidate=='2'){ if(this.liquidate=='2'){
console.log('判断为2')
this.liquidateList()
this.annualStatisticsList() this.annualStatisticsList()
} }
}, },
mounted() { mounted() {
}, },
methods: { methods: {
liquidateList(){//
liquidateList().then(res=>{
this.liquidateSelectArr = res.data.groupList
console.log(this.liquidateSelectArr,'arr')
})
},
handleScroll:core.debounce(function(){ handleScroll:core.debounce(function(){
let box = this.$refs.table let box = this.$refs.table
if(box.scrollTop+box.clientHeight+180>box.scrollHeight){ if(box.scrollTop+box.clientHeight+180>box.scrollHeight){
@ -368,12 +379,15 @@ export default {
annualStatisticsList(){ annualStatisticsList(){
if(this.searchStr.proportionSymbol&&!this.searchStr.proportion) return this.$message('请输入完成比例整数!') if(this.searchStr.proportionSymbol&&!this.searchStr.proportion) return this.$message('请输入完成比例整数!')
if(this.searchStr.allAoumntSymbol&&!this.searchStr.allAoumnt) return this.$message('请输入已清收总额!') if(this.searchStr.allAoumntSymbol&&!this.searchStr.allAoumnt) return this.$message('请输入已清收总额!')
if(!this.searchStr.year) {
this.searchStr = this.$store.state.loan.liquidateSearch
}
this.moreText = "点击加载更多数据" this.moreText = "点击加载更多数据"
let param = { let param = {
year:this.searchStr.year, year:this.searchStr.year,
groupId:this.searchStr.groupId, groupId:this.searchStr.groupId,
proportionSymbol:this.searchStr.proportionSymbol, // proportionSymbol:this.searchStr.proportionSymbol,
proportion:this.searchStr.proportion, // proportion:this.searchStr.proportion,
queryCondition:this.searchStr.queryCondition, queryCondition:this.searchStr.queryCondition,
} }
this.statisticsLoading = true this.statisticsLoading = true
@ -404,44 +418,100 @@ export default {
// //
this.originalData = [] this.originalData = []
for(let [key,value] of arr){ for(let [key,value] of arr){
if(value.totalAmount&&value.proportion){
value.percent = ((value.totalAmount/value.proportion)*100).toFixed(2)
}else{
value.percent = '未填写任务额度'
}
this.originalData.push(value) this.originalData.push(value)
} }
console.log(this.originalData,'初始处理的数据')
this.radioChange('依据小组排名') this.radioChange('依据小组排名')
this.radioChange('依据公司排名') this.radioChange('依据公司排名')
if(this.radio==='依据小组排名'){ if(this.radio==='依据小组排名'){
this.radioChange('依据小组排名') this.radioChange('依据小组排名')
} }
console.log(this.searchStr.proportionSymbol,'this.searchStr.allAoumntSymbol')
switch (this.searchStr.proportionSymbol) {
case '':
break;
case ">":
if(this.searchStr.proportion){
this.statisticsData = this.statisticsData.filter(e=>{
if(e.percent!=='未填写任务额度')
return +e.percent > this.searchStr.proportion
})
}
break;
case "<":
if(this.searchStr.proportion){
this.statisticsData = this.statisticsData.filter(e=>{
if(e.percent!=='未填写任务额度')
return +e.percent < this.searchStr.proportion
})
}
break;
case ">=":
if(this.searchStr.proportion){
this.statisticsData = this.statisticsData.filter(e=>{
if(e.percent!=='未填写任务额度')
return +e.percent >= this.searchStr.proportion
})
}
break;
case "<=":
if(this.searchStr.proportion){
this.statisticsData = this.statisticsData.filter(e=>{
if(e.percent!=='未填写任务额度')
return +e.percent <= this.searchStr.proportion
})
}
break;
case "=":
if(this.searchStr.proportion){
this.statisticsData = this.statisticsData.filter(e=>{
if(e.percent!=='未填写任务额度')
return +e.percent == this.searchStr.proportion
})
}
break;
default:
break;
}
//
switch (this.searchStr.allAoumntSymbol) { switch (this.searchStr.allAoumntSymbol) {
case '': case '':
break; break;
case ">": case ">":
this.statisticsData = this.statisticsData.filter(e=>{ this.statisticsData = this.statisticsData.filter(e=>{
return e.totalAmount > this.searchStr.allAoumnt return e.totalAmount > this.searchStr.allAoumnt||0
}) })
break; break;
case "<": case "<":
this.statisticsData = this.statisticsData.filter(e=>{ this.statisticsData = this.statisticsData.filter(e=>{
return e.totalAmount < this.searchStr.allAoumnt return e.totalAmount < this.searchStr.allAoumnt||0
}) })
break; break;
case ">=": case ">=":
this.statisticsData = this.statisticsData.filter(e=>{ this.statisticsData = this.statisticsData.filter(e=>{
return e.totalAmount >= this.searchStr.allAoumnt return e.totalAmount >= this.searchStr.allAoumnt||0
}) })
break; break;
case "<=": case "<=":
this.statisticsData = this.statisticsData.filter(e=>{ this.statisticsData = this.statisticsData.filter(e=>{
return e.totalAmount <= this.searchStr.allAoumnt return e.totalAmount <= this.searchStr.allAoumnt||0
}) })
break; break;
case "=": case "=":
this.statisticsData = this.statisticsData.filter(e=>{ this.statisticsData = this.statisticsData.filter(e=>{
return e.totalAmount == this.searchStr.allAoumnt return e.totalAmount == this.searchStr.allAoumnt||0
}) })
break; break;
default: default:
break; break;
} }
// 10, // 10,
if (this.statisticsData.length>10) { if (this.statisticsData.length>10) {
this.recordArr = JSON.parse(JSON.stringify(this.statisticsData)) this.recordArr = JSON.parse(JSON.stringify(this.statisticsData))
@ -472,6 +542,7 @@ export default {
this.treeIds = this.$refs.tree.getCheckedKeys() this.treeIds = this.$refs.tree.getCheckedKeys()
}, },
async createList(val) {// async createList(val) {//
console.log(val,'val')
this.showRank = true; this.showRank = true;
if(val==='new'){// if(val==='new'){//
this.treeIds = [] this.treeIds = []
@ -494,7 +565,7 @@ export default {
} }
}) })
if(arr.length===0) return this.$message.warning('请先选择人员后再生成列表!') if(arr.length===0) return this.$message.warning('请先选择人员后再生成列表!')
generateAnnualStatistics({personLiableIds:arr,year:this.chooisYear}).then(res=>{ generateAnnualStatistics({personLiableIds:arr,year:this.chooisYear,flag:1}).then(res=>{
this.showRank = false this.showRank = false
this.$message.success('操作成功!') this.$message.success('操作成功!')
this.annualList() this.annualList()
@ -503,6 +574,11 @@ export default {
}) })
}else{// }else{//
let arr = [] let arr = []
this.ids.forEach(e=>{//
if(this.treeIds.includes(+e)){
this.treeIds.splice(this.treeIds.indexOf(+e),1)
}
})
this.treeIds.forEach((e,index)=>{ this.treeIds.forEach((e,index)=>{
if(typeof(e)=='number'){ if(typeof(e)=='number'){
arr.push(e) arr.push(e)
@ -584,7 +660,8 @@ export default {
}, },
clearOption() { clearOption() {
// //
this.$store.commit('liquidateSearch',{}) this.$store.commit('liquidateSearch',{year:this.liquidateSearch.year})
this.annualStatisticsList()
}, },
search() { search() {
// //
@ -605,6 +682,9 @@ export default {
year:row year:row
}) })
this.$store.commit('liquidate','2') this.$store.commit('liquidate','2')
//
this.$store.commit('liquidWatch',val)
console.log(val,this.liquidWatch,'liquidWatch')
this.annualStatisticsList() this.annualStatisticsList()
}, },
yearEdit(row, val){// yearEdit(row, val){//
@ -636,6 +716,7 @@ export default {
personnelSelection(val){// personnelSelection(val){//
return personnelSelection({year:val}).then(res=>{ return personnelSelection({year:val}).then(res=>{
this.treeIds = res.data.list this.treeIds = res.data.list
this.ids = res.data.list
}) })
}, },
del(row){ del(row){
@ -674,8 +755,8 @@ export default {
.ratio{ .ratio{
.top{ .top{
border-bottom: 1px solid; border-bottom: 1px solid;
height: 40px; height: 52px;
line-height: 40px; line-height: 52px;
margin-bottom: 15px; margin-bottom: 15px;
} }
} }
@ -693,4 +774,7 @@ export default {
left: 50%; left: 50%;
transform: translate(-50%,0); transform: translate(-50%,0);
} }
/deep/ .el-input.is-disabled .el-input__inner{
text-align: center;
}
</style> </style>

@ -59,8 +59,8 @@
</div> </div>
<div class="flex-center mgr10"> <div class="flex-center mgr10">
<el-button v-preventReClick type="primary" round @click="quryCollectionProgress">搜索</el-button>
<el-button v-preventReClick type="primary" round @click="clearOption">清空选项</el-button> <el-button v-preventReClick type="primary" round @click="clearOption">清空选项</el-button>
<el-button v-preventReClick type="primary" round @click="quryCollectionProgress">搜索</el-button>
</div> </div>
</div> </div>
<div class="shadow radius10 pdt20"> <div class="shadow radius10 pdt20">

@ -105,7 +105,7 @@
<!-- 搜索导入导出 --> <!-- 搜索导入导出 -->
<div class="staff-top flex-between"> <div class="staff-top flex-between">
<div class="search-box df mgl20 staff-top-wrap"> <div class="search-box df mgl20 staff-top-wrap">
<el-input type="text" placeholder="请输入姓名/账号/工号" v-model="searchList.codeOrName" clearable></el-input> <el-input type="text" @keyup.enter="staffList('search')" placeholder="请输入姓名/账号/工号" v-model="searchList.codeOrName" clearable></el-input>
<el-button type="primary" @click="staffList('search')" round class="mgl20">查询</el-button> <el-button type="primary" @click="staffList('search')" round class="mgl20">查询</el-button>
</div> </div>
<div class="mgr20 hight40 staff-top-wrap"> <div class="mgr20 hight40 staff-top-wrap">

@ -28,6 +28,7 @@ const state = {
disabledAll:false,//禁用全部 disabledAll:false,//禁用全部
liquidate:'1',// 控制清收统计页面切换 liquidate:'1',// 控制清收统计页面切换
liquidateSearch:{}, liquidateSearch:{},
liquidWatch:false,// 清收统计是否进入查看界面
} }
@ -101,7 +102,10 @@ const mutations = {
}, },
liquidateSearch(s,obj){ liquidateSearch(s,obj){
s.liquidateSearch = obj s.liquidateSearch = obj
} },
liquidWatch(s,val){
s.liquidWatch = val==='watch'
},
} }

Loading…
Cancel
Save