Bladeren bron

init

newStyle
wangxiaohua 3 jaren geleden
bovenliggende
commit
ff4e8fe040
5 gewijzigde bestanden met toevoegingen van 207 en 231 verwijderingen
  1. +18
    -0
      src/api/modules/http.js
  2. +149
    -148
      src/views/Statistics/Insightintothedetails.vue
  3. +32
    -79
      src/views/Statistics/index.vue
  4. +6
    -2
      src/views/building/index.vue
  5. +2
    -2
      vue.config.js

+ 18
- 0
src/api/modules/http.js Bestand weergeven

@@ -203,3 +203,21 @@ export function findmatchdata(query) {
})
}

//用户洞察详情
export function receptionRecord(query) {
return request({
url: '/autoSR/matchKeywords/receptionRecord',
method:'get',
params:query
})
}

//用户洞察详情获取语义词
export function findKeywords(query) {
return request({
url: '/autoSR/matchKeywords/findKeywords',
method:'get',
params:query
})
}


+ 149
- 148
src/views/Statistics/Insightintothedetails.vue Bestand weergeven

@@ -7,57 +7,59 @@
<div class="label">时间:</div>
<div class="toptimeqhuan">
<div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">
全部
今日
</div>
<div :class="{ tophove: TimetoAhoose == 1 }" @click="tabtimetap(1)">
15天内
昨日
</div>
<div :class="{ tophove: TimetoAhoose == 2 }" @click="tabtimetap(2)">
30天内
近一周
</div>
</div>
<div>
<el-date-picker
v-model="value1"
v-model="customtime"
@change="confirmtime()"
type="daterange"
range-separator="至"
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="label">客户名称:</div>
<div>
<el-input v-model="value"></el-input>
<el-input v-model="fromobj.name"></el-input>
</div>
<div class="label">置业顾问:</div>
<div>
<el-input v-model="value"></el-input>
<el-input v-model="fromobj.agentName"></el-input>
</div>
</div>

<div class="app-titel" style="margin-top: 15px">
<div class="label">客户意向:</div>
<div >
<el-select v-model="value" placeholder="请选择">
<el-select v-model="fromobj.keywordIds" multiple filterable placeholder="请选择">
<el-option
v-for="item in options5"
:key="item.value"
:label="item.label"
:value="item.value"
>
:key="item.keywordsId"
:label="item.isInterval==0?item.name+'-'+item.endName+item.unit:item.name"
:value="item.keywordsId">
</el-option>
</el-select>
</div>
<div style="margin-left: 20px">
<el-button style="background: #2671e2; color: #ffffff"
<el-button @click="screening()" style="background: #2671e2; color: #ffffff"
>筛选</el-button
>
</div>
<div style="margin-left: 20px">
<el-button>清空筛选条件</el-button>
<el-button @click="Screeningofempty()">清空筛选条件</el-button>
</div>
</div>
</div>
@@ -70,37 +72,37 @@
height="400"
style="width: 100%">
<el-table-column
prop="date"
prop="staTime"
label="接待开始时间"
align="center"
>
</el-table-column>
<el-table-column
prop="name"
prop="agentName"
label="置业顾问"
align="center"
>
</el-table-column>
<el-table-column
prop="address"
prop="name"
label="客户姓名"
align="center">
</el-table-column>

<el-table-column
prop="date"
label="录音时长"
prop="mm"
label="录音时长(分钟)"
align="center"
>
</el-table-column>
<el-table-column
prop="name"
prop="total"
label="画像语义词触达次数"
align="center"
>
</el-table-column>
<el-table-column
prop="address"
prop="fraction"
label="接访得分"
align="center">
</el-table-column>
@@ -116,10 +118,10 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
:page-sizes="[10, 20, 30, 30]"
:page-size="10"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
:total="total">
</el-pagination>
</div>
</div>
@@ -131,134 +133,133 @@ export default {
data() {
return {
TimetoAhoose: 2,
options: [
{
value: "1",
label: "全部",
},
{
value: "2",
label: "服务器内",
},
{
value: "3",
label: "已失效",
},
],
options2: [
{
value: "1",
label: "有效录音",
},
{
value: "2",
label: "无效录音",
},
],
options3: [
{
value: "1",
label: "0-15分钟",
},
{
value: "2",
label: "16-30分钟",
},
{
value: "3",
label: "31-60分钟",
},
{
value: "4",
label: "61-90分钟",
},
{
value: "5",
label: "90分钟以上",
},
],
options4: [
{
value: "1",
label: "首次到访",
},
{
value: "2",
label: "2次到访",
},
{
value: "3",
label: "3次到访",
},
{
value: "4",
label: "三次以上",
},
],
options5: [
{
value: "1",
label: "已标注",
},
{
value: "2",
label: "未标注",
},
{
value: "3",
label: "全部",
},
],
currentPage4:4,
customtime: [],
currentPage4:1,
value: "",
input: "",
tableData: [
{
date: "2016-05-03",
name: "王小虎",
address: " 1518 弄",
},
{
date: "2016-05-02",
name: "王小虎",
address: " 1518 弄",
},
{
date: "2016-05-04",
name: "王小虎",
address: " 1518 弄",
},
{
date: "2016-05-01",
name: "王小虎",
address: " 1518 弄",
},
{
date: "2016-05-08",
name: "王小虎",
address: " 1518 弄",
},
{
date: "2016-05-06",
name: "王小虎",
address: " 1518 弄",
},
{
date: "2016-05-07",
name: "王小虎",
address: " 1518 弄",
},
],
tableData: [],
fromobj: {
starttime: "",
endoftime: "",
name:'',
agentName:'',
projectId:'',
type:0,
keywords:'',
keywordIds:[]
},
pageNum:1,
pageSize:10,
options5:[],
total:0,

};
},
mounted() {},
mounted() {
var isnull=this.$route.query.flag;
this.TimetoAhoose=isnull.TimetoAhoose;
this.customtime=isnull.customtime;
this.fromobj.starttime=isnull.starttime;
this.fromobj.endoftime=isnull.endoftime;
this.fromobj.projectId=isnull.houseId;
this.fromobj.keywords=isnull.keywordsId;
this.Accesstolevel()
},
methods: {
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
}
//获取三级
Accesstolevel(){
this.options5=[];
var datatype='';
if(this.TimetoAhoose==6){
datatype=''
}else {
datatype=this.TimetoAhoose
}
this.$api.http.findKeywords({
type:this.fromobj.type,
dateType:datatype,
statDateStart:this.fromobj.starttime,
statDateEnd:this.fromobj.endoftime,
projectId:this.fromobj.projectId
}).then((res) => {
if(res.code==0){
this.options5=res.data;
this.receptionRecord()
}
})
},
receptionRecord(){
var dateType='';
if(this.TimetoAhoose==6){
dateType='';
}else {
dateType=this.TimetoAhoose;
}
this.$api.http.receptionRecord({
dateType:dateType,
staDate:this.fromobj.starttime,
endDate:this.fromobj.endoftime,
projectId:this.fromobj.projectId,
name:this.fromobj.name,
agentName:this.fromobj.agentName,
type:this.fromobj.type,
time:1,
keywordIds:this.fromobj.keywordIds.length>0?this.fromobj.keywordIds.join(','):this.fromobj.keywords,
current:this.pageNum,
size:this.pageSize,
}).then((res) => {
if(res.code==0){
this.tableData=res.data.records;
this.total=res.data.total
}
});
},
//筛选
screening(){
this.fromobj.type=1;
this.pageNum=1;
this.receptionRecord()
},
//清空筛选条件
Screeningofempty(){
this.TimetoAhoose=2;
this.fromobj.starttime = "";
this.fromobj.endoftime = "";
this.fromobj.name='';
this.fromobj.agentName='';
this.fromobj.keywords='';
this.fromobj.type=0;
this.fromobj.keywordIds=[];
this.pageNum=1;
this.customtime = [];
this.receptionRecord()
},
//切换时间
tabtimetap(index) {
this.TimetoAhoose = index;
this.fromobj.starttime = "";
this.fromobj.endoftime = "";
this.customtime = [];
this.pageNum=1;
this.receptionRecord()
},
//自定义时间
confirmtime() {
this.TimetoAhoose = 6;
this.fromobj.starttime = this.customtime[0];
this.fromobj.endoftime = this.customtime[1];
this.pageNum=1;
this.receptionRecord()
},
handleSizeChange(val) {
this.pageSize=val;
this.receptionRecord()
},
handleCurrentChange(val) {
this.pageNum=val;
this.receptionRecord()
},

},
};
</script>


+ 32
- 79
src/views/Statistics/index.vue Bestand weergeven

@@ -4,7 +4,7 @@
<div class="app-titel">
<div class="titel-text">
楼盘选择:
<el-select v-model="houseId" placeholder="请选择">
<el-select v-model="houseId" @change="houseChange" placeholder="请选择">
<el-option
v-for="item in buildingoptions"
:key="item.value"
@@ -157,61 +157,7 @@ export default {
alllist: [],
namelist: [],
numlist: [],
objlist: [
{
children: null,
endName: "",
id: 5,
isInterval: 1,
keywordsId: null,
level: 1,
matchKeywords: [
{
carId: "",
children: null,
childrenName: "",
endName: "",
id: "",
isInterval: null,
keywordsId: 138,
level: 3,
matchName: "",
name: "工作",
orgCode: "",
pid: 132,
proportion: 75,
selected: null,
sort: null,
total: 3,
unit: "",
},
{
carId: "",
children: null,
childrenName: "",
endName: "",
id: "",
isInterval: null,
keywordsId: 123,
level: 3,
matchName: "",
name: "周末",
orgCode: "",
pid: 122,
proportion: 25,
selected: null,
sort: null,
total: 1,
},
],
name: "认知途径",
orgCode: "031",
pid: 0,
sort: 5,
total: 4,
unit: "",
},
],
objlist: [],
value:'',

houseId: "",
@@ -225,31 +171,40 @@ export default {
};
},
mounted() {
this.myChartinit();
// this.zkhousePage()
// this.myChartinit();
this.zkhousePage()
},
methods: {
Toview(){
this.$router.push({ path: "/Statistics/Insightintothedetails", query: { flag: 1 } });
houseChange(){
this.getorgCode()
},
Toview(item,index){
let Userrecord={
TimetoAhoose:this.TimetoAhoose,
keywordsId:item.matchKeywords[index].keywordsId,
customtime:this.customtime,
starttime:this.fromobj.starttime,
endoftime:this.fromobj.endoftime,
houseId:this.houseId,
}
this.$router.push({ path: "/Statistics/Insightintothedetails", query: { flag: Userrecord } });
},
//获取楼盘
 zkhousePage() {
      let obj = {
        current: 1,
        size: 100,
      };
      this.$api.api.zkhousePage(obj).then((res) => {
        console.log(res)
this.houseId=res.data.records[0].id;
        this.buildingoptions= res.data.records;
this.getorgCode();
      });
this.$api.api.findHouseByUser({
orgType: localStorage.getItem("orgType"),
}).then((res) => {
this.buildingoptions = res.data;
this.houseId = res.data[0].id;
this.getorgCode()
});
    },
//自定义时间
confirmtime() {
this.TimetoAhoose = 6;
this.fromobj.starttime = this.customtime[0];
this.fromobj.endoftime = this.customtime[1];
this.getorgCode()
},
//切换时间
tabtimetap(index) {
@@ -270,26 +225,24 @@ export default {
}else {
dateType=this.TimetoAhoose;
}

this.$api.http.findmatchdata({
dateType:dateType,
houseId:this.houseId,
statDateStart:this.fromobj.starttime,
statDateEnd:this.fromobj.endoftime
}).then((res) => {
if(data.data.res==1){
this.objlist=data.data.obj.list;
this.alllist=[{"name":'客户数量',"num":data.data.obj.total}]
data.data.obj.list.forEach((item,index)=>{
this.objlist=res.data.list;
this.alllist=[{"name":'客户数量',"num":res.data.total}]
res.data.list.forEach((item,index)=>{
this.alllist.push({
name:item.name,
num:item.total
})
})
// this.$nextTick(() => {
// this.myChartinit()
// })
}
this.$nextTick(() => {
this.myChartinit()
})
});
},



+ 6
- 2
src/views/building/index.vue Bestand weergeven

@@ -339,12 +339,13 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button @click="addSurequxiao()">取 消</el-button>
<el-button type="primary" @click="addSure">{{
editFlag ? "编辑" : "保存"
}}</el-button>
</div>
</el-dialog>

<el-dialog
title="更换账号"
:visible.sync="changeFlag"
@@ -567,6 +568,9 @@ export default {
this.zkhousePage();
},
methods: {
addSurequxiao(){
this.dialogVisible=false
},
// 添加楼盘
addSure() {
// console.log(this.addressOptions)
@@ -768,7 +772,7 @@ export default {
this.addressOptions = Object.assign([], this.addressOptions);
this.area = null;
setTimeout(() => {
this.area = [this.ruleForm.provinceId, this.ruleForm.cityId];
this.ruleForm.area = [this.ruleForm.provinceId, this.ruleForm.cityId];
console.log(1);
console.log(this.addressOptions);
console.log(this.area);


+ 2
- 2
vue.config.js Bestand weergeven

@@ -4,8 +4,8 @@
*/
// const url = 'http://pigx-gateway'
// const url = 'http://39.97.167.65:9999' //测试
const url = 'http://192.168.31.160:9999' //长龙
// const url = 'http://192.168.31.127:9999' //嘉豪
// const url = 'http://192.168.31.160:9999' //长龙
const url = 'http://192.168.31.129:9999' //嘉豪
// const url = 'http://192.168.31.100:9999' //王笑

const CompressionWebpackPlugin = require('compression-webpack-plugin')


Laden…
Annuleren
Opslaan