Parcourir la source

提交修改问题

newStyle
douzhuo il y a 2 ans
Parent
révision
2286d12d9f
5 fichiers modifiés avec 204 ajouts et 163 suppressions
  1. +19
    -8
      src/views/Statistics/ConsultantBrand.vue
  2. +178
    -149
      src/views/Statistics/ReceptionStatistical.vue
  3. +2
    -2
      src/views/Statistics/TrendAnalysis.vue
  4. +3
    -3
      src/views/inspection/ProhibitedList.vue
  5. +2
    -1
      vue.config.js

+ 19
- 8
src/views/Statistics/ConsultantBrand.vue Voir le fichier

@@ -98,7 +98,12 @@
</el-table-column>
<el-table-column prop="deptName" label="归属团队" align="center">
</el-table-column>
<el-table-column prop="activeCustomer" label="接待量" align="center" sortable>
<el-table-column
prop="activeCustomer"
label="接待量"
align="center"
sortable
>
<template slot-scope="{ row }"> {{ row.activeCustomer }}次 </template>
</el-table-column>
<el-table-column
@@ -387,7 +392,7 @@ import * as echarts from "echarts";
import { mapGetters } from "vuex";
import { exportMethodPost } from "@/util/util";
export default {
name:"consultantBrand",
name: "consultantBrand",
data() {
return {
houseId: "",
@@ -459,6 +464,9 @@ export default {
statDateEnd: this.statDateEnd,
deptId: this.deptId,
dateType: this.dateType == 7 ? null : this.dateType,
type: 1,
current: 1,
size: 1,
};
// exportMethodPost()
exportMethodPost(
@@ -597,7 +605,7 @@ export default {
this["num" + type] = res.data.num || 0;
this["avg" + type] = res.data.avg || 0;
let arr = [];
let max = 0
let max = 0;
let newarr = res.data.list || [];
if (newarr.length != 0) {
res.data.list.map((item) => {
@@ -610,7 +618,7 @@ export default {
obj.name = item.accountName;
obj.zxl = Math.floor(item.sumDuration / 60);
if (max < obj.zxl) {
max = obj.zxl
max = obj.zxl;
}
arr.push(obj);
} else if (type == 3) {
@@ -625,10 +633,10 @@ export default {
});
}

if(type == 2) {
if (type == 2) {
arr.forEach((item) => {
item.percentage = (item.zxl/max)*100
})
item.percentage = (item.zxl / max) * 100;
});
}

if (type == 3) {
@@ -636,7 +644,10 @@ export default {
}

if (type == 4) {
console.log(arr, 'arr4,ajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjaksl')
console.log(
arr,
"arr4,ajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjakslajdklsajkldjaskldjaksl"
);
arr = this.dealData(arr);
}
return arr;


+ 178
- 149
src/views/Statistics/ReceptionStatistical.vue Voir le fichier

@@ -1,98 +1,108 @@
<template>
<div class="box-center">
<div class="app-top">

<div class="app-titel" v-if="role!=3" style="margin-bottom:10px;">
<div class="app-titel" v-if="role != 3" style="margin-bottom: 10px">
<div class="titel-text">项目选择:</div>
<div style="margin-left: 26px">
<el-select v-model="houseId" placeholder="请选择" filterable @change="houseChange">
<el-select
v-model="houseId"
placeholder="请选择"
filterable
@change="houseChange"
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id">
:value="item.id"
>
</el-option>
</el-select>
</div>
</div>
<div class="app-titel">
<div style="text-indent: 30px;">接待时间:</div>
<div class="toptimeqhuan">
<div :class="{ tophove: dateType == 4 }" @click="tabtimetap(4)">
近7天
<div class="app-titel">
<div style="text-indent: 30px">接待时间:</div>
<div class="toptimeqhuan">
<div :class="{ tophove: dateType == 4 }" @click="tabtimetap(4)">
近7天
</div>
<div :class="{ tophove: dateType == 5 }" @click="tabtimetap(5)">
近15天
</div>
<div :class="{ tophove: dateType == 6 }" @click="tabtimetap(6)">
近30天
</div>
</div>
<div :class="{ tophove: dateType == 5 }" @click="tabtimetap(5)">
近15天
</div>
<div :class="{ tophove: dateType == 6 }" @click="tabtimetap(6)">
近30天
<div style="margin-left: 26px">
<el-date-picker
v-model="customtime"
@change="confirmtime()"
type="daterange"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<div style="margin-left: 26px">
<el-date-picker
v-model="customtime"
@change="confirmtime()"
type="daterange"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<div class="app-titel" style="margin-top: 15px">
<div class="div-lab">
<div style="margin-right: 20px" class="label">团队:</div>
<el-select
v-model="deptId"
filterable
@change="deptChange"
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options"
:key="item.deptId"
:label="item.name"
:value="item.deptId"
<div class="app-titel" style="margin-top: 15px">
<div class="div-lab">
<div style="margin-right: 20px" class="label">团队:</div>
<el-select
v-model="deptId"
filterable
@change="deptChange"
placeholder="请选择"
class="div-inp"
>
</el-option>
</el-select>
</div>
<div style="margin-left: 26px" class="div-lab">
<div style="margin-right: 20px" class="label">置业顾问:</div>
<el-select
v-model="accountId"
filterable
@change="repChange"
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in repList"
:key="item.accountId"
:label="item.name"
:value="item.accountId"
<el-option
v-for="item in options"
:key="item.deptId"
:label="item.name"
:value="item.deptId"
>
</el-option>
</el-select>
</div>
<div style="margin-left: 26px" class="div-lab">
<div style="margin-right: 20px" class="label">置业顾问:</div>
<el-select
v-model="accountId"
filterable
@change="repChange"
placeholder="请选择"
class="div-inp"
>
</el-option>
</el-select>
</div>
<div style="margin-left: 20px">
<el-button type="primary" size="small" @click="screen()"
>查询</el-button
<el-option
v-for="item in repList"
:key="item.accountId"
:label="item.name"
:value="item.accountId"
>
</el-option>
</el-select>
</div>
<div style="margin-left: 20px">
<el-button type="primary" size="small" @click="screen()"
>查询</el-button
>
<el-button type="primary" size="small" @click="reset()"
>清空</el-button
>
</div>
<div
style="margin-left: auto; margin-right: 10px"
v-if="sta_rec_downLoad"
>
<el-button type="primary" size="small" @click="reset()">清空</el-button>
</div>
<div style="margin-left: auto;margin-right:10px;" v-if="sta_rec_downLoad">
<el-button @click="downLoad">导出</el-button>
</div>
</div>
</div>
</div>
<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="batchId" label="序号" align="center">
<template slot-scope="scope">
{{
@@ -102,7 +112,12 @@
}}
</template>
</el-table-column>
<el-table-column width='90px' prop="accountName" label="日期" align="center">
<el-table-column
width="90px"
prop="accountName"
label="日期"
align="center"
>
<template slot-scope="scope">
{{
scope.$index == tableData.length - 1
@@ -111,18 +126,30 @@
}}
</template>
</el-table-column>
<el-table-column prop="receptionCount" label="接待量" align="center" sortable>
<template slot-scope="{row}">
{{row.receptionCount}}次
</template>
<el-table-column
prop="receptionCount"
label="接待量"
align="center"
sortable
>
<template slot-scope="{ row }"> {{ row.receptionCount }}次 </template>
</el-table-column>
<el-table-column prop="accountNum" label="接待顾问" align="center" sortable width="100">

<el-table-column
prop="accountNum"
label="接待顾问"
align="center"
sortable
width="100"
>
</el-table-column>
<el-table-column prop="activeCustomer" label="有效接待" align="center" sortable width="100">
<template slot-scope="{row}">
{{row.activeCustomer}}次
</template>
<el-table-column
prop="activeCustomer"
label="有效接待"
align="center"
sortable
width="100"
>
<template slot-scope="{ row }"> {{ row.activeCustomer }}次 </template>
</el-table-column>
<el-table-column
prop="prohibitedCustomer"
@@ -132,7 +159,13 @@
width="120"
>
</el-table-column>
<el-table-column prop="sumDuration" label="接待时长(分)" align="center" sortable width="120">
<el-table-column
prop="sumDuration"
label="接待时长(分)"
align="center"
sortable
width="120"
>
<template slot-scope="{ row }">
{{ Math.floor(row.sumDuration / 60) }}分钟
</template>
@@ -144,14 +177,16 @@
width="150"
sortable
>
<template slot-scope="{row}">
{{row.prohibitedZb}}%
</template>
<template slot-scope="{ row }"> {{ row.prohibitedZb }}% </template>
</el-table-column>
<el-table-column prop="fraction" label="平均执行率" align="center" sortable width="110">
<template slot-scope="{row}">
{{row.fraction}}%
</template>
<el-table-column
prop="fraction"
label="平均执行率"
align="center"
sortable
width="110"
>
<template slot-scope="{ row }"> {{ row.fraction }}% </template>
</el-table-column>
<el-table-column
v-for="(item, idx) in tablist"
@@ -162,9 +197,7 @@
sortable
width="100"
>
<template slot-scope="{row}">
{{row[item.props]}}%
</template>
<template slot-scope="{ row }"> {{ row[item.props] }}% </template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
@@ -192,12 +225,7 @@
</div>
</div>

<el-dialog
title="详情"
:visible.sync="dialogVisible"
width="80%"

>
<el-dialog title="详情" :visible.sync="dialogVisible" width="80%">
<div class="cen-tab">
<el-table
max-height="300"
@@ -271,14 +299,13 @@
</el-pagination>
</div>
</div>

</el-dialog>
</div>
</template>

<script>
import { mapGetters } from "vuex";
import { exportMethodPost} from "@/util/util";
import { exportMethodPost } from "@/util/util";
export default {
data() {
return {
@@ -315,52 +342,54 @@ export default {
teamAllLeve2: [],
statDate: "",
dialogVisible: false,
houseList:[],
role:''
houseList: [],
role: "",
};
},
computed: {
...mapGetters(["permissions"]),
},
created() {

this.sta_rec_downLoad = this.permissions["sta_rec_downLoad"];
},
mounted() {
this.role=localStorage.getItem("orgType");
if(this.role==3){
this.role = localStorage.getItem("orgType");
if (this.role == 3) {
this.houseId = localStorage.getItem("houseId");
this.tabtimetap(4);
this.deptFindList();
}else{
this.zkhousePage()
} else {
this.zkhousePage();
}
},
methods: {
downLoad(){
downLoad() {
let obj = {
houseId: this.houseId,
statDateStart: this.statDateStart,
statDateEnd: this.statDateEnd,
// current: this.current,
// size: this.size,
deptId: this.deptId,
accountId: this.accountId,
dateType: this.dateType == 7 ? null : this.dateType,
type:1
houseId: this.houseId,
statDateStart: this.statDateStart,
statDateEnd: this.statDateEnd,
type: 1,
current: 1,
size: 1,
deptId: this.deptId,
accountId: this.accountId,
dateType: this.dateType == 7 ? null : this.dateType,
};
exportMethodPost('autoSR/cusStageStatistics/receptionStatisticsExport','接待统计',obj)
exportMethodPost(
"autoSR/cusStageStatistics/receptionStatisticsExport",
"接待统计",
obj
);
},
houseChange(){
this.customtime=[];
this.TimetoAhoose=4;
this.statDateStart= '';
this.deptId=''
this.accountId=''
this.statDateEnd= '';
this.tabtimetap(4);
houseChange() {
this.customtime = [];
this.TimetoAhoose = 4;
this.statDateStart = "";
this.deptId = "";
this.accountId = "";
this.statDateEnd = "";
this.tabtimetap(4);
this.deptFindList();

},
zkhousePage() {
this.$api.api
@@ -370,8 +399,8 @@ export default {
.then((res) => {
this.houseList = res.data;
this.houseId = res.data[0].id;
this.tabtimetap(4);
this.deptFindList();
this.tabtimetap(4);
this.deptFindList();
});
},
toDetail(row) {
@@ -390,7 +419,7 @@ export default {
size: this.size,
deptId: this.deptId,
accountId: this.accountId,
type:2
type: 2,
})
.then((res) => {
this.detailData = res.data.records;
@@ -419,27 +448,27 @@ export default {
},
deptFindList() {
// 获取团队
this.$api.http.overviewfindList({
this.$api.http
.overviewfindList({
houseId: this.houseId,
})
.then((res) => {
let userinfo=JSON.parse(sessionStorage.getItem("zk-userInfo"))
if(userinfo.content.deptType==1){
this.options.push(...res.data);
this.deptId= this.options[0].deptId
}else{
this.options = [
let userinfo = JSON.parse(sessionStorage.getItem("zk-userInfo"));
if (userinfo.content.deptType == 1) {
this.options.push(...res.data);
this.deptId = this.options[0].deptId;
} else {
this.options = [
{
name: "全部",
deptId: "",
},
];
this.options.push(...res.data);
this.deptId=''
this.deptId = "";
}
this.receptionStatisticsAllAccount();
this.accountRank();

});
},
deptChange() {
@@ -474,7 +503,7 @@ export default {
deptId: this.deptId,
accountId: this.accountId,
dateType: this.dateType == 7 ? null : this.dateType,
type:1
type: 1,
})
.then((res) => {
this.tableData = res.data.records;
@@ -547,7 +576,7 @@ export default {
this.statDateStart = "";
this.statDateEnd = "";
this.dateType = index;
this.customtime=[];
this.customtime = [];
this.init();
},
dealData(arr) {
@@ -604,13 +633,13 @@ export default {
// min-width: 100px;
text-align: right;
}
.titel-text {
height: 100%;
font-size: 16px;
font-weight: 600;
color: #32363d;
text-indent: 30px;
}
.titel-text {
height: 100%;
font-size: 16px;
font-weight: 600;
color: #32363d;
text-indent: 30px;
}
.toptimeqhuan {
height: 30px;
background: #ffffff;


+ 2
- 2
src/views/Statistics/TrendAnalysis.vue Voir le fichier

@@ -786,13 +786,13 @@ export default {
};

if (this.timeType == -1) {
pamaet.timeType = null;
pamaet.timeType = -1;
} else {
pamaet.timeType = this.timeType;
}
if (this.checked == true) {
pamaet.showStatus = 1;
pamaet.timeType = null;
pamaet.timeType = -1;
} else {
pamaet.showStatus = 0;
}


+ 3
- 3
src/views/inspection/ProhibitedList.vue Voir le fichier

@@ -215,15 +215,15 @@ export default {
// 违禁标识
{
label: "全部",
value: "",
value: 0,
},
{
label: "有效违禁",
value: "1",
value: 1,
},
{
label: "无效违禁",
value: "2",
value: 2,
},
],
processingStatusList: [


+ 2
- 1
vue.config.js Voir le fichier

@@ -11,7 +11,8 @@
// const url = 'http://81.70.55.170:9999' // 新测试服务器IP
// const url = 'http://192.168.31.89:9999' //sh
// const url = 'https://zanyong.hfju.com' // 正式域名
const url = 'http://81.70.55.170:9999' // 新测试
// const url = 'http://81.70.55.170:9999' // 新测试
const url = 'http://82.156.35.22:9999' // 新正式ip
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']
module.exports = {


Chargement…
Annuler
Enregistrer