Преглед на файлове

提交修改穿透问题

newStyle
douzhuo преди 2 години
родител
ревизия
c56d576c15
променени са 2 файла, в които са добавени 325 реда и са изтрити 90 реда
  1. +286
    -85
      src/views/ReceivingRecords/index.vue
  2. +39
    -5
      src/views/Statistics/index.vue

+ 286
- 85
src/views/ReceivingRecords/index.vue Целия файл

@@ -3,38 +3,78 @@
<!-- 头 -->
<div class="app-top">
<div class="app-titel" v-if="orgType != 3">
<div class="label" style="color: #32363d; font-weight: 400; font-size: 16px">
<div
class="label"
style="color: #32363d; font-weight: 400; font-size: 16px"
>
项目选择:
</div>
<div style="margin-left: 8px">
<el-select v-model="searchForm.projectId" @change="houseChange" placeholder="请选择" filterable>
<el-option v-for="item in houseList" :key="item.id" :label="item.propertyName" :value="item.id">
<el-select
v-model="searchForm.projectId"
@change="houseChange"
placeholder="请选择"
filterable
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
>
</el-option>
</el-select>
</div>
</div>
<div class="app-titel" style="margin-top: 15px">
<div class="label" style="color: #32363d; font-weight: 400; font-size: 16px">
<div
class="label"
style="color: #32363d; font-weight: 400; font-size: 16px"
>
筛选时间:
</div>
<div class="toptimeqhuan">
<el-button class="btn" :type="searchForm.dateType == null ? 'primary' : ''" @click="tabtimetap(null)">
<el-button
class="btn"
:type="searchForm.dateType == null ? 'primary' : ''"
@click="tabtimetap(null)"
>
全部
</el-button>
<el-button class="btn" :type="searchForm.dateType == 0 ? 'primary' : ''" @click="tabtimetap(0)">
<el-button
class="btn"
:type="searchForm.dateType == 0 ? 'primary' : ''"
@click="tabtimetap(0)"
>
今日
</el-button>
<el-button class="btn" :type="searchForm.dateType == 1 ? 'primary' : ''" @click="tabtimetap(1)">
<el-button
class="btn"
:type="searchForm.dateType == 1 ? 'primary' : ''"
@click="tabtimetap(1)"
>
昨日
</el-button>
<el-button class="btn" :type="searchForm.dateType == 2 ? 'primary' : ''" @click="tabtimetap(2)">
<el-button
class="btn"
:type="searchForm.dateType == 2 ? 'primary' : ''"
@click="tabtimetap(2)"
>
近7天
</el-button>
</div>
<div style="margin-left: 20px">
<el-date-picker v-model="time" type="daterange" class="div-inp" range-separator="-" start-placeholder="开始日期"
:default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" end-placeholder="结束日期"
@change="timeChange">
<el-date-picker
v-model="time"
type="daterange"
class="div-inp"
range-separator="-"
start-placeholder="开始日期"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
@change="timeChange"
>
</el-date-picker>
</div>
</div>
@@ -42,34 +82,73 @@
<div class="app-titel" style="margin-top: 15px" v-show="isOpen">
<div class="div-lab">
<div class="label">客户名称:</div>
<el-input class="div-inp" maxlength="10" clearable v-model="searchForm.name"></el-input>
<el-input
class="div-inp"
maxlength="10"
clearable
v-model="searchForm.name"
></el-input>
</div>

<div class="div-lab">
<div class="label">画像标签:</div>
<el-select class="div-inp" multiple clearable filterable collapse-tags v-model="searchForm.keywordsId"
placeholder="请选择">
<el-option v-for="item in keywordsList" :key="item.keywordsId" :label="
item.isInterval == 0
? item.name + '-' + item.endName + item.unit
: item.name
" :value="item.keywordsId">
<el-select
class="div-inp"
multiple
clearable
filterable
collapse-tags
v-model="searchForm.keywordsId"
placeholder="请选择"
>
<el-option
v-for="item in keywordsList"
:key="item.keywordsId"
:label="
item.isInterval == 0
? item.name + '-' + item.endName + item.unit
: item.name
"
:value="item.keywordsId"
>
</el-option>
</el-select>
</div>

<div class="div-lab">
<div class="label">录音类型:</div>
<el-select v-model="searchForm.recording" clearable filterable placeholder="请选择" class="div-inp">
<el-option v-for="item in recordingList" :key="item.value" :label="item.label" :value="item.value">
<el-select
v-model="searchForm.recording"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in recordingList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>

<div class="div-lab">
<div class="label">置业顾问:</div>
<el-select v-model="searchForm.accountId" clearable filterable placeholder="请选择" class="div-inp">
<el-option v-for="item in accountList" :key="item.accountId" :label="item.name" :value="item.accountId">
<el-select
v-model="searchForm.accountId"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in accountList"
:key="item.accountId"
:label="item.name"
:value="item.accountId"
>
</el-option>
</el-select>
</div>
@@ -77,8 +156,19 @@
<div class="div-lab">
<!-- 默认全部 -->
<div class="label">标记顾问:</div>
<el-select v-model="searchForm.markAdvisor" placeholder="请选择" class="div-inp" filterable clearable>
<el-option v-for="item in options5" :key="item.value" :label="item.label" :value="item.value">
<el-select
v-model="searchForm.markAdvisor"
placeholder="请选择"
class="div-inp"
filterable
clearable
>
<el-option
v-for="item in options5"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
@@ -86,8 +176,19 @@
<div class="div-lab">
<!-- 默认全部 -->
<div class="label">是否违禁:</div>
<el-select v-model="searchForm.taboo" placeholder="请选择" class="div-inp" filterable clearable>
<el-option v-for="item in options11" :key="item.value" :label="item.label" :value="item.value">
<el-select
v-model="searchForm.taboo"
placeholder="请选择"
class="div-inp"
filterable
clearable
>
<el-option
v-for="item in options11"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
@@ -113,30 +214,74 @@

<div class="div-lab">
<div class="label">接待时长:</div>
<el-select clearable filterable v-model="searchForm.recDurationInterval" placeholder="请选择" class="div-inp">
<el-option v-for="item in options3" :key="item.value" :label="item.label" :value="item.value">
<el-select
clearable
filterable
v-model="searchForm.recDurationInterval"
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>

<div class="div-lab">
<div class="label">到访次数:</div>
<el-select v-model="searchForm.visitRecord" clearable filterable placeholder="请选择" class="div-inp">
<el-option v-for="item in options4" :key="item.value" :label="item.label" :value="item.value">
<el-select
v-model="searchForm.visitRecord"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options4"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>

<div class="div-lab">
<div class="label">推荐案例:</div>
<el-select v-model="searchForm.zfal" clearable filterable placeholder="请选择" class="div-inp">
<el-option v-for="item in options14" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select
v-model="searchForm.zfal"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options14"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="div-lab">
<div class="label">接待标识:</div>
<el-select v-model="searchForm.validInvalid" clearable filterable placeholder="请选择" class="div-inp">
<el-option v-for="item in options13" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-select
v-model="searchForm.validInvalid"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options13"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
@@ -144,16 +289,24 @@
<div class="app-titel" style="margin-top: 15px"></div>

<div class="app-titel" style="margin-top: 15px">
<div style="margin-left:126px">
<div style="margin-left: 126px">
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="clearScreen" type="text">清空筛选条件</el-button>
</div>
<el-button style="margin-left:10px;" @click="isSystoleForm" type="text">{{ isOpen ? '收起' : '展开' }}<i
style="margin-left:5px;" :class="isOpen ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i></el-button>

<div style="margin-left: auto; margin-right: 10px" v-if="rec_index_downLoad">
<el-button style="margin-left: 10px" @click="isSystoleForm" type="text"
>{{ isOpen ? "收起" : "展开"
}}<i
style="margin-left: 5px"
:class="isOpen ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"
></i
></el-button>

<div
style="margin-left: auto; margin-right: 10px"
v-if="rec_index_downLoad"
>
<el-button @click="downLoad" icon="el-icon-download">导出</el-button>
</div>
</div>
@@ -161,8 +314,21 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :header-cell-style="{background:'#F5F7FA',color:'#333333'}" :data="tableData" stripe style="width: 100%" height="640">
<el-table-column prop="staTime" label="接待开始时间" align="center" width="200" sortable height="390">
<el-table
:header-cell-style="{ background: '#F5F7FA', color: '#333333' }"
:data="tableData"
stripe
style="width: 100%"
height="640"
>
<el-table-column
prop="staTime"
label="接待开始时间"
align="center"
width="200"
sortable
height="390"
>
</el-table-column>
<el-table-column prop="agentName" label="顾问" align="center">
</el-table-column>
@@ -170,16 +336,22 @@
</el-table-column>
<el-table-column prop="visitRecordName" label="到访次数" align="center">
</el-table-column>
<el-table-column prop="mm" label="录音时长" align="center" width="100" sortable>
<el-table-column
prop="mm"
label="录音时长"
align="center"
width="100"
sortable
>
</el-table-column>
<el-table-column prop="recording" label="录音类型" align="center">
<template slot-scope="{ row }">
{{
row.recording == 0
? "没有录音"
: row.recording == 1
? "部分录音"
: "完整录音"
row.recording == 0
? "没有录音"
: row.recording == 1
? "部分录音"
: "完整录音"
}}
</template>
</el-table-column>
@@ -188,7 +360,13 @@
{{ row.markAdvisor == 0 ? "未标记" : "已标记" }}
</template>
</el-table-column>
<el-table-column prop="total" label="画像标签触达次数" align="center" width="150" sortable>
<el-table-column
prop="total"
label="画像标签触达次数"
align="center"
width="150"
sortable
>
</el-table-column>
<el-table-column prop="fraction" label="执行率" align="center" sortable>
<template slot-scope="{ row }"> {{ row.fraction || "0" }}% </template>
@@ -219,7 +397,12 @@
></el-table-column>
<el-table-column label="操作" align="center" width="80" fixed="right">
<template slot-scope="{ row }">
<el-button type="text" v-if="rec_index_show" @click="Receivedetailsabout(row)">查看</el-button>
<el-button
type="text"
v-if="rec_index_show"
@click="Receivedetailsabout(row)"
>查看</el-button
>
<!-- To Doing?按钮未添加权限判断 下一版本开发(删除) -->
<!-- <el-button type="text" @click="deleteReceive(row)">删除</el-button> -->
<!-- <el-button type="text" v-if="rec_index_text">下载文本</el-button>
@@ -228,8 +411,15 @@
</el-table-column>
</el-table>
<div style="display: flex; justify-content: flex-end; margin-top: 10px">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
:page-sizes="[10, 30, 50]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 30, 50]"
:page-size="size"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</div>
@@ -406,7 +596,6 @@ export default {
},

activated() {
if (this.$route.query.types) {
if (this.$route.query.types.indexOf("&") != -1) {
let arr = this.$route.query.types.split("&");
@@ -426,8 +615,28 @@ export default {
this.searchForm.endDate = this.time[1];
console.log("时间");
}

if (this.$route.query.validInvalid) {
this.searchForm.validInvalid = this.$route.query.validInvalid;
}
if (this.$route.query.markAdvisor) {
this.searchForm.markAdvisor = this.$route.query.markAdvisor;
}
if (this.$route.query.dateType) {
this.searchForm.dateType = this.$route.query.dateType;
}
if (this.$route.query.staDate) {
// this.searchForm.dateType = this.$route.query.dateType;
this.searchForm.staDate = this.$route.query.staDate;
}
if (this.$route.query.endDate) {
// this.searchForm.dateType = this.$route.query.dateType;
this.searchForm.endDate = this.$route.query.endDate;
}
if (this.$route.query.houseId) {
this.searchForm.projectId = this.$route.query.houseId;
}

// 获取项目列表
this.zkhousePage();
},
@@ -452,15 +661,7 @@ export default {
this.searchForm.endDate = this.time[1];
console.log("时间");
}



this.rec_index_show = this.permissions["rec_index_show"];
this.rec_index_text = this.permissions["rec_index_text"];
this.rec_index_voice = this.permissions["rec_index_voice"];
this.rec_index_downLoad = this.permissions["rec_index_downLoad"];
},
mounted() {
if (this.$route.query.validInvalid) {
this.searchForm.validInvalid = this.$route.query.validInvalid;
}
@@ -478,23 +679,23 @@ export default {
// this.searchForm.dateType = this.$route.query.dateType;
this.searchForm.endDate = this.$route.query.endDate;
}
if (this.$route.query.houseId) {
if (this.$route.query.houseId) {
this.searchForm.projectId = this.$route.query.houseId;
}
if(this.$route.query.types){
let arr = this.$route.query.types.split(",");
console.log(arr)
this.searchForm[arr[0]] = arr[1]
this.searchForm[arr[2]] = arr[3]
this.searchForm[arr[4]] = arr[5]
}
this.rec_index_show = this.permissions["rec_index_show"];
this.rec_index_text = this.permissions["rec_index_text"];
this.rec_index_voice = this.permissions["rec_index_voice"];
this.rec_index_downLoad = this.permissions["rec_index_downLoad"];
},
mounted() {
// 获取项目列表
this.zkhousePage();
},

methods: {
isSystoleForm() {
this.isOpen = !this.isOpen
this.isOpen = !this.isOpen;
},
// 清除上次进入遗留的数据
resetParams() {
@@ -546,12 +747,12 @@ export default {
obj.projectId = this.$route.query.houseId;
}
obj.keywordIds = obj.keywordsId.join(",");
obj.dateType = this.searchForm.staDate? null: this.searchForm.dateType
this.$api.api.findbypage(obj).then((res) => {
// console.log(res)
this.tableData = res.data.records;
this.total = res.data.total;
});
obj.dateType = this.searchForm.staDate ? null : this.searchForm.dateType;
this.$api.api.findbypage(obj).then((res) => {
// console.log(res)
this.tableData = res.data.records;
this.total = res.data.total;
});
},
clearScreen() {
this.currentPage = 1;
@@ -629,7 +830,7 @@ export default {
if (localStorage.getItem("orgType") == 3) {
if (this.$route.query.houseId) {
this.searchForm.projectId = this.$route.query.houseId;
}else{
} else {
this.searchForm.projectId = localStorage.getItem("houseId");
}
} else {
@@ -790,17 +991,17 @@ export default {
thead {
tr {
th {
background: #F5F7FA;
background: #f5f7fa;
color: #333333;
}
}
}
}
/deep/ .el-button--primary{
background: #2671E2 !important;
border: 1px solid #2671E2 !important;
/deep/ .el-button--primary {
background: #2671e2 !important;
border: 1px solid #2671e2 !important;
}
/deep/ .el-button--text{
color: #2671E2;
/deep/ .el-button--text {
color: #2671e2;
}
</style>

+ 39
- 5
src/views/Statistics/index.vue Целия файл

@@ -164,7 +164,7 @@ export default {
orgType: localStorage.getItem("orgType"),
houseId: "",
buildingoptions: [],
TimetoAhoose: 2,
TimetoAhoose: 5,
customtime: [],
fromobj: {
starttime: "",
@@ -180,28 +180,62 @@ export default {
this.zkhousePage();
},
methods: {
// <el-button
// :class="{ 'el-button--primary': TimetoAhoose == 4 }"
// @click="tabtimetap(4)"
// >今天</el-button
// >
// <el-button
// :class="{ 'el-button--primary': TimetoAhoose == 5 }"
// @click="tabtimetap(5)"
// >近7天</el-button
// >
// <el-button
// :class="{ 'el-button--primary': TimetoAhoose == 6 }"
// @click="tabtimetap(6)"
// >近30天</el-button
// >
// </div>
goTo(i) {
if (i == 1) {
if (this.TimetoAhoose == 6) {
Router.push(`/ReceivingRecords/index?validInvalid=0&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:59&houseId=${this.houseId}`)
} else {
Router.push(`/ReceivingRecords/index?validInvalid=0&dateType=${this.TimetoAhoose}&houseId=${this.houseId}`)
if (this.TimetoAhoose == 4) {
Router.push(`/ReceivingRecords/index?validInvalid=0&dateType=0&houseId=${this.houseId}`)
} else if (this.TimetoAhoose == 5) {
Router.push(`/ReceivingRecords/index?validInvalid=0&dateType=2&houseId=${this.houseId}`)
} else {
Router.push(`/ReceivingRecords/index?validInvalid=0&houseId=${this.houseId}`)
}
}

} else if (i == 2) {
if (this.TimetoAhoose == 6) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:59&houseId=${this.houseId}`);
} else {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=${this.TimetoAhoose}&houseId=${this.houseId}`);
if (this.TimetoAhoose == 4) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=0&houseId=${this.houseId}`)
} else if (this.TimetoAhoose == 5) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&dateType=2&houseId=${this.houseId}`)
} else {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=1&houseId=${this.houseId}`)
}
}

} else {
if (this.TimetoAhoose == 6) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&staDate=${this.fromobj.starttime}&endDate=${this.fromobj.endoftime} 23:59:5'&houseId=${this.houseId}`);
} else {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=${this.TimetoAhoose}&houseId=${this.houseId}`);
if (this.TimetoAhoose == 4) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=0&houseId=${this.houseId}`)
} else if (this.TimetoAhoose == 5) {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&dateType=2&houseId=${this.houseId}`)
} else {
Router.push(`/ReceivingRecords/index?validInvalid=0&markAdvisor=0&houseId=${this.houseId}`)
}
}

}
},
backTop() {


Зареждане…
Отказ
Запис