@@ -1024,3 +1024,11 @@ export function templategetMarketingTree(query) { | |||||
params:query | params:query | ||||
}) | }) | ||||
} | } | ||||
//导出文件 | |||||
export function exportFile(data) { | |||||
return request({ | |||||
url: 'autoSR/equipReceive/findByPage', | |||||
method:'post', | |||||
data | |||||
}) | |||||
} |
@@ -113,7 +113,7 @@ | |||||
</div> | </div> | ||||
<div class="content" v-if="flag == 3"> | <div class="content" v-if="flag == 3"> | ||||
<div class="search"> | <div class="search"> | ||||
<span style="line-height: 32px; margin-right: 20px">片区:</span> | |||||
<span style="line-height: 32px; margin-right: 20px">地区:</span> | |||||
<el-cascader | <el-cascader | ||||
:props="props" | :props="props" | ||||
v-if="info.selectHouseType == 1" | v-if="info.selectHouseType == 1" | ||||
@@ -136,7 +136,7 @@ | |||||
v-for="item in options" | v-for="item in options" | ||||
:key="item.id" | :key="item.id" | ||||
:label="item.areaName" | :label="item.areaName" | ||||
:value="item.provinceItem" | |||||
:value="item.id" | |||||
> | > | ||||
</el-option> | </el-option> | ||||
</el-select> | </el-select> | ||||
@@ -342,7 +342,7 @@ export default { | |||||
if (this.info.selectHouseType == 2) { | if (this.info.selectHouseType == 2) { | ||||
this.$api.api | this.$api.api | ||||
.findHouseByArea({ | .findHouseByArea({ | ||||
provinceItem: this.area, | |||||
id: this.area, | |||||
...obj | ...obj | ||||
}) | }) | ||||
.then((res) => { | .then((res) => { | ||||
@@ -53,7 +53,22 @@ | |||||
</div> | </div> | ||||
<div class="label">运营人员:</div> | <div class="label">运营人员:</div> | ||||
<div > | <div > | ||||
<el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> | |||||
<!-- <el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> --> | |||||
<el-select | |||||
v-model="operationalId" | |||||
placeholder="请选择" | |||||
class="div-inp" | |||||
filterable | |||||
clearable | |||||
> | |||||
<el-option | |||||
v-for="item in operaList" | |||||
:key="item.accountId" | |||||
:label="item.name" | |||||
:value="item.accountId" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -553,6 +568,8 @@ export default { | |||||
provinceId:'', | provinceId:'', | ||||
cityId:'', | cityId:'', | ||||
areaList:[], | areaList:[], | ||||
operaList:[], | |||||
operationalId:'', | |||||
timelist:'', | timelist:'', | ||||
tableData: [], | tableData: [], | ||||
addressOptions: [], | addressOptions: [], | ||||
@@ -704,11 +721,32 @@ export default { | |||||
this.contractEndDate=this.timelist[1]; | this.contractEndDate=this.timelist[1]; | ||||
this.serviceStatus=this.$route.query.serviceStatus; | this.serviceStatus=this.$route.query.serviceStatus; | ||||
} | } | ||||
// 获取运营人员 | |||||
this.getOperaList() | |||||
// 获取地区列表 | // 获取地区列表 | ||||
// this.getCityList() | // this.getCityList() | ||||
this.getAgentList() | this.getAgentList() | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getOperaList(){ | |||||
if (this.orgType == 1) { | |||||
this.$api.http | |||||
.getAllOperationsStaffByAgent({ | |||||
agentId: localStorage.getItem('agentId'), | |||||
}) | |||||
.then((res) => { | |||||
// console.log(1); | |||||
this.operaList = res.data; | |||||
// this.operaVisible = true; | |||||
}); | |||||
} else { | |||||
this.$api.http.getAllOperationsStaff().then((res) => { | |||||
this.operaList = res.data; | |||||
// this.operaVisible = true; | |||||
// console.log(2); | |||||
}); | |||||
} | |||||
}, | |||||
getCityList(){ | getCityList(){ | ||||
this.$api.api.getAreaList({parentId:0}) | this.$api.api.getAreaList({parentId:0}) | ||||
.then(res=>{ | .then(res=>{ | ||||
@@ -1022,6 +1060,7 @@ export default { | |||||
this.operationalName=''; | this.operationalName=''; | ||||
this.provinceId='' | this.provinceId='' | ||||
this.cityId='' | this.cityId='' | ||||
this.operationalId='' | |||||
this.pageNum=1 | this.pageNum=1 | ||||
this.area=[] | this.area=[] | ||||
this.getAgentList() | this.getAgentList() | ||||
@@ -1040,6 +1079,7 @@ export default { | |||||
contractEndDate:this.contractEndDate, | contractEndDate:this.contractEndDate, | ||||
serviceStatus:this.serviceStatus, | serviceStatus:this.serviceStatus, | ||||
agentName:this.agentName, | agentName:this.agentName, | ||||
operationalId:this.operationalId, | |||||
provinceId:this.provinceId, | provinceId:this.provinceId, | ||||
cityId:this.cityId, | cityId:this.cityId, | ||||
operationalName:this.operationalName, | operationalName:this.operationalName, | ||||
@@ -11,13 +11,32 @@ | |||||
<div> | <div> | ||||
<el-input maxlength="30" clearable v-model="name"></el-input> | <el-input maxlength="30" clearable v-model="name"></el-input> | ||||
</div> | </div> | ||||
<div v-if="orgType == 0" class="label">运营人员:</div> | |||||
<!-- <div v-if="orgType == 0" class="label">运营人员:</div> | |||||
<div v-if="orgType == 0"> | <div v-if="orgType == 0"> | ||||
<el-input | <el-input | ||||
maxlength="10" | maxlength="10" | ||||
clearable | clearable | ||||
v-model="operationStaffName" | v-model="operationStaffName" | ||||
></el-input> | ></el-input> | ||||
</div> --> | |||||
<div class="label">运营人员:</div> | |||||
<div > | |||||
<!-- <el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> --> | |||||
<el-select | |||||
v-model="operationStaffId" | |||||
placeholder="请选择" | |||||
class="div-inp" | |||||
filterable | |||||
clearable | |||||
> | |||||
<el-option | |||||
v-for="item in operaList" | |||||
:key="item.accountId" | |||||
:label="item.name" | |||||
:value="item.accountId" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | </div> | ||||
<div class="label" style="line-height: 30px; min-width: 80px"> | <div class="label" style="line-height: 30px; min-width: 80px"> | ||||
地区: | 地区: | ||||
@@ -685,6 +704,8 @@ export default { | |||||
pageSize: 10, | pageSize: 10, | ||||
provinceId: "", | provinceId: "", | ||||
areaList: [], | areaList: [], | ||||
operaList:[], | |||||
operationStaffId:'', | |||||
orgType: "", | orgType: "", | ||||
sysFlag: "0", | sysFlag: "0", | ||||
replaceagentobj: { | replaceagentobj: { | ||||
@@ -782,9 +803,18 @@ export default { | |||||
this.orgType = localStorage.getItem("orgType"); | this.orgType = localStorage.getItem("orgType"); | ||||
// 获取地区列表 | // 获取地区列表 | ||||
// this.getCityList(); | // this.getCityList(); | ||||
this.getOperaList() | |||||
this.getcompanyList(); | this.getcompanyList(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getOperaList(){ | |||||
this.$api.http.getAllOperationsStaff().then((res) => { | |||||
this.operaList = res.data; | |||||
// this.operaVisible = true; | |||||
// console.log(2); | |||||
}); | |||||
}, | |||||
getCityList() { | getCityList() { | ||||
this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | ||||
// console.log(res,'地区列表'); | // console.log(res,'地区列表'); | ||||
@@ -1184,6 +1214,7 @@ export default { | |||||
this.pageNum = 1; | this.pageNum = 1; | ||||
this.provinceId = ""; | this.provinceId = ""; | ||||
this.cityId = ""; | this.cityId = ""; | ||||
this.operationStaffId = ""; | |||||
this.area=[] | this.area=[] | ||||
this.getcompanyList(); | this.getcompanyList(); | ||||
}, | }, | ||||
@@ -1201,6 +1232,7 @@ export default { | |||||
cityId: this.cityId, | cityId: this.cityId, | ||||
operatorName: this.operatorName, | operatorName: this.operatorName, | ||||
operationStaffName: this.operationStaffName, | operationStaffName: this.operationStaffName, | ||||
operationStaffId: this.operationStaffId, | |||||
name: this.name, | name: this.name, | ||||
operationType: 1, | operationType: 1, | ||||
agentId: localStorage.getItem("agentId"), | agentId: localStorage.getItem("agentId"), | ||||
@@ -11,15 +11,33 @@ | |||||
<div> | <div> | ||||
<el-input maxlength="30" clearable v-model="name"></el-input> | <el-input maxlength="30" clearable v-model="name"></el-input> | ||||
</div> | </div> | ||||
<div v-if="orgType == 0" class="label">运营人员:</div> | |||||
<!-- <div v-if="orgType == 0" class="label">运营人员:</div> | |||||
<div v-if="orgType == 0"> | <div v-if="orgType == 0"> | ||||
<el-input | <el-input | ||||
maxlength="10" | maxlength="10" | ||||
clearable | clearable | ||||
v-model="operationStaffName" | v-model="operationStaffName" | ||||
></el-input> | ></el-input> | ||||
</div> --> | |||||
<div class="label">运营人员:</div> | |||||
<div > | |||||
<!-- <el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> --> | |||||
<el-select | |||||
v-model="operationStaffId" | |||||
placeholder="请选择" | |||||
class="div-inp" | |||||
filterable | |||||
clearable | |||||
> | |||||
<el-option | |||||
v-for="item in operaList" | |||||
:key="item.accountId" | |||||
:label="item.name" | |||||
:value="item.accountId" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | </div> | ||||
<div class="label" style="line-height: 30px;min-width: 80px;">地区:</div> | <div class="label" style="line-height: 30px;min-width: 80px;">地区:</div> | ||||
<!-- <el-select | <!-- <el-select | ||||
v-model="provinceId" | v-model="provinceId" | ||||
@@ -496,6 +514,8 @@ export default { | |||||
provinceId: "", | provinceId: "", | ||||
cityId:'', | cityId:'', | ||||
areaList: [], | areaList: [], | ||||
operaList:[], | |||||
operationStaffId:'', | |||||
dialogVisible3: false, | dialogVisible3: false, | ||||
resetFlag: false, | resetFlag: false, | ||||
operaVisible: false, | operaVisible: false, | ||||
@@ -594,9 +614,19 @@ export default { | |||||
this.orgType = localStorage.getItem("orgType"); | this.orgType = localStorage.getItem("orgType"); | ||||
// 获取地区列表 | // 获取地区列表 | ||||
// this.getCityList(); | // this.getCityList(); | ||||
this.getOperaList() | |||||
this.getcompanyList(); | this.getcompanyList(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getOperaList(){ | |||||
this.$api.http | |||||
.getAllOperationsStaffByAgent({ | |||||
agentId: localStorage.getItem('agentId'), | |||||
}) | |||||
.then((res) => { | |||||
this.operaList = res.data; | |||||
}); | |||||
}, | |||||
getCityList() { | getCityList() { | ||||
this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | ||||
// console.log(res,'地区列表'); | // console.log(res,'地区列表'); | ||||
@@ -925,6 +955,7 @@ export default { | |||||
this.name = ""; | this.name = ""; | ||||
this.provinceId = ""; | this.provinceId = ""; | ||||
this.cityId = ""; | this.cityId = ""; | ||||
this.operationStaffId = ""; | |||||
this.pageNum = 1; | this.pageNum = 1; | ||||
this.area=[] | this.area=[] | ||||
this.getcompanyList(); | this.getcompanyList(); | ||||
@@ -942,6 +973,7 @@ export default { | |||||
provinceId: this.provinceId, | provinceId: this.provinceId, | ||||
cityId: this.cityId, | cityId: this.cityId, | ||||
operatorName: this.operatorName, | operatorName: this.operatorName, | ||||
operationStaffId: this.operationStaffId, | |||||
operationStaffName: this.operationStaffName, | operationStaffName: this.operationStaffName, | ||||
name: this.name, | name: this.name, | ||||
operationType: 2, | operationType: 2, | ||||
@@ -45,13 +45,14 @@ | |||||
</el-select> | </el-select> | ||||
</div> | </div> | ||||
<div style="margin-left: 20px"> | <div style="margin-left: 20px"> | ||||
<el-button type="primary" @click="screen" | |||||
>筛选</el-button | |||||
> | |||||
<el-button type="primary" @click="screen">筛选</el-button> | |||||
</div> | </div> | ||||
<div style="margin-left: 20px"> | <div style="margin-left: 20px"> | ||||
<el-button @click="clascreen">清空筛选条件</el-button> | <el-button @click="clascreen">清空筛选条件</el-button> | ||||
</div> | </div> | ||||
<div style="margin-left: 20px"> | |||||
<el-button @click="exportFile">导出</el-button> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -71,8 +72,20 @@ | |||||
align="center" | align="center" | ||||
> | > | ||||
</el-table-column> | </el-table-column> | ||||
<el-table-column | |||||
prop="receiveOperationName" | |||||
label="领用操作人" | |||||
align="center" | |||||
> | |||||
</el-table-column> | |||||
<el-table-column prop="receiveEndTime" label="归还时间" align="center"> | <el-table-column prop="receiveEndTime" label="归还时间" align="center"> | ||||
</el-table-column> | </el-table-column> | ||||
<el-table-column | |||||
prop="backOperationName" | |||||
label="归还操作人" | |||||
align="center" | |||||
> | |||||
</el-table-column> | |||||
<el-table-column prop="receiveType" label="领用状态" align="center"> | <el-table-column prop="receiveType" label="领用状态" align="center"> | ||||
<template slot-scope="{ row }"> | <template slot-scope="{ row }"> | ||||
{{ | {{ | ||||
@@ -182,6 +195,44 @@ export default { | |||||
this.currentPage = 1; | this.currentPage = 1; | ||||
this.equipReceiveFindByPage(); | this.equipReceiveFindByPage(); | ||||
}, | }, | ||||
exportFile() { | |||||
this.exportMethodPost("autoSR/equipReceive/findByPage", "领用记录"); | |||||
}, | |||||
// 导出.Excel公用方法 | |||||
exportMethodPost(url, name, data = {}) { | |||||
axios({ | |||||
method: "post", | |||||
url: url, | |||||
data, | |||||
responseType: "blob", | |||||
}) | |||||
.then((res) => { | |||||
let blob = new Blob([res], { type: "application/vnd.ms-excel" }); | |||||
let date = new Date(); | |||||
let time = date.toLocaleDateString(); | |||||
// console.log(time, "时间"); | |||||
if ("download" in document.createElement("a")) { | |||||
const link = document.createElement("a"); | |||||
link.style.display = "none"; | |||||
link.href = URL.createObjectURL(blob); | |||||
// link.download = res.headers['content-disposition'] //下载后文件名 | |||||
link.download = (name || "导出文件") + time + ".xlsx"; //下载的文件名 | |||||
document.body.appendChild(link); | |||||
link.click(); | |||||
document.body.removeChild(link); | |||||
} else { | |||||
// console.log("--------------------jingla") | |||||
let fileName = (name || "导出文件") + time + ".xlsx"; //下载的文件名 | |||||
navigator.msSaveBlob(blob, fileName); | |||||
} | |||||
}) | |||||
.catch((error) => { | |||||
// Message.error({ | |||||
// message: '网络连接错误' | |||||
// }) | |||||
console.log(error); | |||||
}); | |||||
}, | |||||
clascreen() { | clascreen() { | ||||
this.currentPage = 1; | this.currentPage = 1; | ||||
this.searchForm.equipImei = ""; | this.searchForm.equipImei = ""; | ||||
@@ -197,7 +248,7 @@ export default { | |||||
...this.searchForm, | ...this.searchForm, | ||||
}; | }; | ||||
this.$api.api.equipReceiveFindByPage(obj).then((res) => { | this.$api.api.equipReceiveFindByPage(obj).then((res) => { | ||||
console.log(res); | |||||
// console.log(res); | |||||
this.tableData = res.data.records; | this.tableData = res.data.records; | ||||
this.total = res.data.total; | this.total = res.data.total; | ||||
}); | }); | ||||
@@ -57,7 +57,6 @@ | |||||
<!-- 二 --> | <!-- 二 --> | ||||
<div class="app-box-er"> | <div class="app-box-er"> | ||||
<div class="container"> | <div class="container"> | ||||
<div v-if="agentissow" class="grid-content"> | <div v-if="agentissow" class="grid-content"> | ||||
<div class="text1">代理商数</div> | <div class="text1">代理商数</div> | ||||
<div class="text2">{{ firstTab.agentQuantity || 0 }}</div> | <div class="text2">{{ firstTab.agentQuantity || 0 }}</div> | ||||
@@ -115,7 +114,6 @@ | |||||
<div class="text2">{{ firstTab.normalequipmentQuantity || 0 }}</div> | <div class="text2">{{ firstTab.normalequipmentQuantity || 0 }}</div> | ||||
</div> --> | </div> --> | ||||
<div class="grid-content"> | <div class="grid-content"> | ||||
<div class="text1">用户数</div> | <div class="text1">用户数</div> | ||||
<div class="text2">{{ firstTab.userQuantity || 0 }}</div> | <div class="text2">{{ firstTab.userQuantity || 0 }}</div> | ||||
@@ -149,15 +147,55 @@ | |||||
</div> | </div> | ||||
<div class="app-box-er"> | <div class="app-box-er"> | ||||
<div style="line-height: 40px; font-weight: bold">今日实时状况</div> | |||||
<div class="app_titile" style="margin-bottom: 10px"> | |||||
<div style="line-height: 40px; font-weight: bold">今日实时状况</div> | |||||
<div> | |||||
<div class="app-titel"> | |||||
<div class="toptimeqhuan"> | |||||
<div :class="{ tophove: dateType1 == 4 }" @click="tabtimetap1(4)"> | |||||
近7天 | |||||
</div> | |||||
<div :class="{ tophove: dateType1 == 5 }" @click="tabtimetap1(5)"> | |||||
近15天 | |||||
</div> | |||||
<div :class="{ tophove: dateType1 == 6 }" @click="tabtimetap1(6)"> | |||||
近30天 | |||||
</div> | |||||
</div> | |||||
<div style="margin-left: 26px"> | |||||
<el-date-picker | |||||
@change="confirmtime1()" | |||||
v-model="customtime1" | |||||
type="daterange" | |||||
range-separator="-" | |||||
:default-time="['00:00:00', '23:59:59']" | |||||
value-format="yyyy-MM-dd" | |||||
start-placeholder="开始日期" | |||||
end-placeholder="结束日期" | |||||
:picker-options="pickerOptions" | |||||
> | |||||
</el-date-picker> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="container"> | <div class="container"> | ||||
<div class="grid-content" style="cursor: pointer;" @click="secondChange('1')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="secondChange('1')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: secindex == 1 }">接待量</div> | <div class="text1" :class="{ tophovese: secindex == 1 }">接待量</div> | ||||
<div class="text2" :class="{ tophovese: secindex == 1 }"> | <div class="text2" :class="{ tophovese: secindex == 1 }"> | ||||
{{ secondTab.receptionQuantityInToday || 0 }} | {{ secondTab.receptionQuantityInToday || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="grid-content" style="cursor: pointer;" @click="secondChange('2')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="secondChange('2')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: secindex == 2 }"> | <div class="text1" :class="{ tophovese: secindex == 2 }"> | ||||
活跃用户 | 活跃用户 | ||||
</div> | </div> | ||||
@@ -165,7 +203,11 @@ | |||||
{{ secondTab.activeUserQuantity || 0 }} | {{ secondTab.activeUserQuantity || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="grid-content" style="cursor: pointer;" @click="secondChange('3')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="secondChange('3')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: secindex == 3 }"> | <div class="text1" :class="{ tophovese: secindex == 3 }"> | ||||
活跃设备 | 活跃设备 | ||||
</div> | </div> | ||||
@@ -207,15 +249,36 @@ | |||||
> | > | ||||
</el-date-picker> | </el-date-picker> | ||||
</div> | </div> | ||||
<el-select | |||||
v-model="echarValue" | |||||
style="width: 100px;margin-left:10px;" | |||||
placeholder="请选择" | |||||
> | |||||
<el-option | |||||
v-for="item in options1" | |||||
:key="item.value" | |||||
:label="item.label" | |||||
:value="item.value" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="container"> | |||||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('1')"> | |||||
<div class="container" v-if="echarValue==0"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="Overviewxlick('1')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: cardindex == 1 }"> | <div class="text1" :class="{ tophovese: cardindex == 1 }"> | ||||
购买服务楼盘数 | 购买服务楼盘数 | ||||
</div> | </div> | ||||
<div class="text2" style="cursor: pointer;" :class="{ tophovese: cardindex == 1 }"> | |||||
<div | |||||
class="text2" | |||||
style="cursor: pointer" | |||||
:class="{ tophovese: cardindex == 1 }" | |||||
> | |||||
{{ thirdTab.houseQuantity || 0 }} | {{ thirdTab.houseQuantity || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -235,7 +298,11 @@ | |||||
{{ thirdTab.avgDuration || 0 }} | {{ thirdTab.avgDuration || 0 }} | ||||
</div> | </div> | ||||
</div> --> | </div> --> | ||||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('4')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="Overviewxlick('4')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: cardindex == 4 }"> | <div class="text1" :class="{ tophovese: cardindex == 4 }"> | ||||
活跃用户数 | 活跃用户数 | ||||
</div> | </div> | ||||
@@ -243,7 +310,11 @@ | |||||
{{ thirdTab.activeUserQuantity || 0 }} | {{ thirdTab.activeUserQuantity || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('5')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="Overviewxlick('5')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: cardindex == 5 }"> | <div class="text1" :class="{ tophovese: cardindex == 5 }"> | ||||
新增用户数 | 新增用户数 | ||||
</div> | </div> | ||||
@@ -251,13 +322,21 @@ | |||||
{{ thirdTab.userCountWithNewJoin || 0 }} | {{ thirdTab.userCountWithNewJoin || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('6')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="Overviewxlick('6')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: cardindex == 6 }">接待量</div> | <div class="text1" :class="{ tophovese: cardindex == 6 }">接待量</div> | ||||
<div class="text2" :class="{ tophovese: cardindex == 6 }"> | <div class="text2" :class="{ tophovese: cardindex == 6 }"> | ||||
{{ thirdTab.receptionQuantity || 0 }} | {{ thirdTab.receptionQuantity || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('7')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="Overviewxlick('7')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: cardindex == 7 }"> | <div class="text1" :class="{ tophovese: cardindex == 7 }"> | ||||
平均接待时长 | 平均接待时长 | ||||
</div> | </div> | ||||
@@ -265,7 +344,11 @@ | |||||
{{ thirdTab.receptionTimeWithAvg || 0 }} | {{ thirdTab.receptionTimeWithAvg || 0 }} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('8')"> | |||||
<div | |||||
class="grid-content" | |||||
style="cursor: pointer" | |||||
@click="Overviewxlick('8')" | |||||
> | |||||
<div class="text1" :class="{ tophovese: cardindex == 8 }"> | <div class="text1" :class="{ tophovese: cardindex == 8 }"> | ||||
活跃设备数 | 活跃设备数 | ||||
</div> | </div> | ||||
@@ -275,7 +358,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="echar2"></div> | |||||
<div v-if="echarValue==0" id="echar2"></div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
@@ -295,7 +378,8 @@ export default { | |||||
secondTab: {}, | secondTab: {}, | ||||
thirdTab: {}, | thirdTab: {}, | ||||
selValue: "0", | selValue: "0", | ||||
choicValue: "", | |||||
echarValue:'0', | |||||
choicValue:"", | |||||
houseList: [], | houseList: [], | ||||
secindex: "1", | secindex: "1", | ||||
dateType: 4, | dateType: 4, | ||||
@@ -311,29 +395,40 @@ export default { | |||||
value: "1", | value: "1", | ||||
}, | }, | ||||
], | ], | ||||
agentissow:true | |||||
options1: [ | |||||
{ | |||||
label: "趋势图", | |||||
value: "0", | |||||
}, | |||||
{ | |||||
label: "表格", | |||||
value: "1", | |||||
}, | |||||
], | |||||
agentissow: true, | |||||
dateType1: 4, | |||||
customtime1: [], | |||||
}; | }; | ||||
}, | }, | ||||
mounted() { | mounted() { | ||||
this.getList(); | this.getList(); | ||||
this.tabtimetap(4); | |||||
// this.tabtimetap(4); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
valuechange() { | valuechange() { | ||||
this.dateType = 4; | this.dateType = 4; | ||||
this.cardindex=1; | |||||
this.secindex=1; | |||||
if(this.choicValue==''){ | |||||
} | |||||
if(this.selValue==1){ | |||||
this.agentissow=false; | |||||
}else{ | |||||
if(this.choicValue==''){ | |||||
this.agentissow=true; | |||||
}else{ | |||||
this.agentissow=false; | |||||
} | |||||
this.cardindex = 1; | |||||
this.secindex = 1; | |||||
if (this.choicValue == "") { | |||||
} | |||||
if (this.selValue == 1) { | |||||
this.agentissow = false; | |||||
} else { | |||||
if (this.choicValue == "") { | |||||
this.agentissow = true; | |||||
} else { | |||||
this.agentissow = false; | |||||
} | |||||
} | } | ||||
this.dataOverViewWithSystem(); | this.dataOverViewWithSystem(); | ||||
this.dataOverviewWithSystemWithDay(); | this.dataOverviewWithSystemWithDay(); | ||||
@@ -343,17 +438,17 @@ export default { | |||||
selChange() { | selChange() { | ||||
this.choicValue = ""; | this.choicValue = ""; | ||||
this.dateType = 4; | this.dateType = 4; | ||||
this.cardindex=1 | |||||
this.secindex=1 | |||||
this.cardindex = 1; | |||||
this.secindex = 1; | |||||
this.getList(); | this.getList(); | ||||
if(this.selValue==1){ | |||||
this.agentissow=false; | |||||
}else{ | |||||
if(this.choicValue==''){ | |||||
this.agentissow=true; | |||||
}else{ | |||||
this.agentissow=false; | |||||
} | |||||
if (this.selValue == 1) { | |||||
this.agentissow = false; | |||||
} else { | |||||
if (this.choicValue == "") { | |||||
this.agentissow = true; | |||||
} else { | |||||
this.agentissow = false; | |||||
} | |||||
} | } | ||||
}, | }, | ||||
// 获取下拉框数据 | // 获取下拉框数据 | ||||
@@ -390,6 +485,9 @@ export default { | |||||
agentId: this.selValue == 0 ? this.choicValue : null, | agentId: this.selValue == 0 ? this.choicValue : null, | ||||
orgCode: this.selValue == 1 ? this.choicValue : null, | orgCode: this.selValue == 1 ? this.choicValue : null, | ||||
orgType: localStorage.getItem("orgType"), | orgType: localStorage.getItem("orgType"), | ||||
startDate: this.dateType1 ? "" : this.customtime1[0], | |||||
endDate: this.dateType1 ? "" : this.customtime1[1], | |||||
dateType: this.dateType1, | |||||
}) | }) | ||||
.then((res) => { | .then((res) => { | ||||
this.secondTab = res.data; | this.secondTab = res.data; | ||||
@@ -424,7 +522,7 @@ export default { | |||||
let arr1 = []; | let arr1 = []; | ||||
let arr2 = []; | let arr2 = []; | ||||
// console.log(timeDate); | // console.log(timeDate); | ||||
if (idx == 1 ) { | |||||
if (idx == 1) { | |||||
// 接待量 | // 接待量 | ||||
this.secondTab.todayReceptionList.map((item) => { | this.secondTab.todayReceptionList.map((item) => { | ||||
timeDate.push(item.time.substring(11, 16)); | timeDate.push(item.time.substring(11, 16)); | ||||
@@ -527,7 +625,7 @@ export default { | |||||
data: arr1, | data: arr1, | ||||
type: "line", | type: "line", | ||||
smooth: true, | smooth: true, | ||||
} | |||||
}, | |||||
]; | ]; | ||||
this.SwitchCARDS(arr, "echar2", timeDate, Strname); | this.SwitchCARDS(arr, "echar2", timeDate, Strname); | ||||
}, | }, | ||||
@@ -551,17 +649,23 @@ export default { | |||||
this.secindex = i; | this.secindex = i; | ||||
this.getChars1(i); | this.getChars1(i); | ||||
}, | }, | ||||
confirmtime1(e) { | |||||
this.dateType1 = null; | |||||
this.dataOverviewWithSystemWithDay(); | |||||
}, | |||||
tabtimetap1(i) { | |||||
this.dateType1 = i; | |||||
this.customtime1 = []; | |||||
this.dataOverviewWithSystemWithDay(); | |||||
}, | |||||
confirmtime(e) { | confirmtime(e) { | ||||
this.dateType = null; | this.dateType = null; | ||||
this.dataOverviewWithSystemWithLook(); | this.dataOverviewWithSystemWithLook(); | ||||
}, | }, | ||||
tabtimetap(i) { | tabtimetap(i) { | ||||
this.dateType = i; | this.dateType = i; | ||||
this.selectTime = ""; | |||||
this.selectTime1 = ""; | |||||
this.customtime=[] | |||||
this.customtime = []; | |||||
this.dataOverviewWithSystemWithLook(); | this.dataOverviewWithSystemWithLook(); | ||||
}, | }, | ||||
//卡片下折线图 | //卡片下折线图 | ||||
SwitchCARDS(arr, str, timeDate, Strname) { | SwitchCARDS(arr, str, timeDate, Strname) { | ||||
@@ -570,29 +674,29 @@ export default { | |||||
var option; | var option; | ||||
option = { | option = { | ||||
color: [ | |||||
"#6F8EDC", | |||||
"#EE6666", | |||||
"#F98120", | |||||
"#1CC99E", | |||||
"#9474FB", | |||||
"#66AFF5", | |||||
"#FABD2B", | |||||
"#FFCF8F", | |||||
"#657292", | |||||
"#7A6A99", | |||||
"#BF5D52", | |||||
"#77B7E4", | |||||
"#E6A065", | |||||
"#9D5139", | |||||
"#C1AA88", | |||||
"#F87F7A", | |||||
"#F6CF74", | |||||
"#7F5506", | |||||
"#88BB9B", | |||||
"#6E99AA", | |||||
"#5789D0", | |||||
], | |||||
color: [ | |||||
"#6F8EDC", | |||||
"#EE6666", | |||||
"#F98120", | |||||
"#1CC99E", | |||||
"#9474FB", | |||||
"#66AFF5", | |||||
"#FABD2B", | |||||
"#FFCF8F", | |||||
"#657292", | |||||
"#7A6A99", | |||||
"#BF5D52", | |||||
"#77B7E4", | |||||
"#E6A065", | |||||
"#9D5139", | |||||
"#C1AA88", | |||||
"#F87F7A", | |||||
"#F6CF74", | |||||
"#7F5506", | |||||
"#88BB9B", | |||||
"#6E99AA", | |||||
"#5789D0", | |||||
], | |||||
tooltip: { | tooltip: { | ||||
trigger: "axis", | trigger: "axis", | ||||
}, | }, | ||||
@@ -891,5 +995,4 @@ export default { | |||||
display: flex; | display: flex; | ||||
justify-content: space-between; | justify-content: space-between; | ||||
} | } | ||||
</style> | </style> |
@@ -139,16 +139,31 @@ | |||||
clearable | clearable | ||||
></el-cascader> | ></el-cascader> | ||||
</div> | </div> | ||||
<!-- <div v-if="orgType == 0" class="div-lab"> | |||||
<div v-if="orgType == 0||orgType == 1" class="div-lab"> | |||||
<div class="label">运营人员:</div> | <div class="label">运营人员:</div> | ||||
<el-input | |||||
<!-- <el-input | |||||
v-model="searchForm.operationalPeople" | v-model="searchForm.operationalPeople" | ||||
maxlength="8" | maxlength="8" | ||||
clearable | clearable | ||||
class="div-inp" | class="div-inp" | ||||
placeholder="请输入内容" | placeholder="请输入内容" | ||||
></el-input> | |||||
</div> --> | |||||
></el-input> --> | |||||
<el-select | |||||
v-model="searchForm.operationStaffId" | |||||
placeholder="请选择" | |||||
class="div-inp" | |||||
filterable | |||||
clearable | |||||
> | |||||
<el-option | |||||
v-for="item in operaList" | |||||
:key="item.accountId" | |||||
:label="item.name" | |||||
:value="item.accountId" | |||||
> | |||||
</el-option> | |||||
</el-select> | |||||
</div> | |||||
<div v-if="orgType == 0" class="div-lab"> | <div v-if="orgType == 0" class="div-lab"> | ||||
<div class="label">代理商名称:</div> | <div class="label">代理商名称:</div> | ||||
@@ -257,8 +272,8 @@ | |||||
{{ row.linkman + "-" + row.linkmanPhone || "-" }} | {{ row.linkman + "-" + row.linkmanPhone || "-" }} | ||||
</template> | </template> | ||||
</el-table-column> | </el-table-column> | ||||
<!-- <el-table-column prop='linkmanPhone' label="联系人手机号" align="center"> | |||||
</el-table-column> --> | |||||
<el-table-column prop='operationStaffName' label="运营人员" align="center"> | |||||
</el-table-column> | |||||
<el-table-column prop="managerPhone" label="管理员账号" align="center"> | <el-table-column prop="managerPhone" label="管理员账号" align="center"> | ||||
<template slot-scope="{ row }"> | <template slot-scope="{ row }"> | ||||
@@ -784,8 +799,10 @@ export default { | |||||
endWorking: "", | endWorking: "", | ||||
agentName: "", | agentName: "", | ||||
operationalPeople: "", | operationalPeople: "", | ||||
operationStaffId:'', | |||||
}, | }, | ||||
areaList: [], | areaList: [], | ||||
operaList:[], | |||||
options1: [ | options1: [ | ||||
{ | { | ||||
value: "0", | value: "0", | ||||
@@ -947,6 +964,7 @@ export default { | |||||
// 获取公司列表数据 | // 获取公司列表数据 | ||||
this.getOrgList(); | this.getOrgList(); | ||||
// 获取运营人员 | // 获取运营人员 | ||||
this.getOperaList() | |||||
// this.getAllOperationsStaff(); | // this.getAllOperationsStaff(); | ||||
// 获取地区列表 | // 获取地区列表 | ||||
// this.getCityList(); | // this.getCityList(); | ||||
@@ -954,6 +972,25 @@ export default { | |||||
this.zkhousePage(); | this.zkhousePage(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getOperaList(){ | |||||
if (this.orgType == 1) { | |||||
this.$api.http | |||||
.getAllOperationsStaffByAgent({ | |||||
agentId: localStorage.getItem('agentId'), | |||||
}) | |||||
.then((res) => { | |||||
// console.log(1); | |||||
this.operaList = res.data; | |||||
// this.operaVisible = true; | |||||
}); | |||||
} else { | |||||
this.$api.http.getAllOperationsStaff().then((res) => { | |||||
this.operaList = res.data; | |||||
// this.operaVisible = true; | |||||
// console.log(2); | |||||
}); | |||||
} | |||||
}, | |||||
getCityList() { | getCityList() { | ||||
this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | ||||
// console.log(res,'地区列表'); | // console.log(res,'地区列表'); | ||||
@@ -1272,6 +1309,7 @@ export default { | |||||
orgType: localStorage.getItem("orgType"), | orgType: localStorage.getItem("orgType"), | ||||
agentId: localStorage.getItem("agentId"), | agentId: localStorage.getItem("agentId"), | ||||
orgCode: localStorage.getItem("orgCode"), | orgCode: localStorage.getItem("orgCode"), | ||||
operationType:localStorage.getItem("orgType")==0?'1':localStorage.getItem("orgType")==1?'2':'', | |||||
...this.searchForm, | ...this.searchForm, | ||||
}; | }; | ||||
if (this.orgType == 0) { | if (this.orgType == 0) { | ||||
@@ -1353,6 +1391,7 @@ export default { | |||||
endWorking: "", | endWorking: "", | ||||
agentName: "", | agentName: "", | ||||
operationalPeople: "", | operationalPeople: "", | ||||
operationStaffId:'' | |||||
}; | }; | ||||
this.area=[] | this.area=[] | ||||
this.currentPage = 1; | this.currentPage = 1; | ||||
@@ -3,9 +3,9 @@ | |||||
* https://cli.vuejs.org/zh/config/ | * https://cli.vuejs.org/zh/config/ | ||||
*/ | */ | ||||
// const url = 'http://pigx-gateway' | // const url = 'http://pigx-gateway' | ||||
const url = 'http://39.97.167.65:9999' //测试 | |||||
// const url = 'http://39.97.167.65:9999' //测试 | |||||
// const url = 'http://192.168.31.169:9999' //长龙 | // const url = 'http://192.168.31.169:9999' //长龙 | ||||
// const url = 'http://192.168.31.134:9999' //嘉豪 | |||||
const url = 'http://192.168.31.134:9999' //嘉豪 | |||||
// const url = 'http://192.168.31.100:9999' //王笑 | // const url = 'http://192.168.31.100:9999' //王笑 | ||||
// const url = 'http://nitu5e.natappfree.cc' //王笑 | // const url = 'http://nitu5e.natappfree.cc' //王笑 | ||||