douzhuo 2 years ago
parent
commit
df8bbcfd3e
80 changed files with 3129 additions and 997 deletions
  1. BIN
      public/img/indexIcon/indexCardIcon1.png
  2. BIN
      public/img/indexIcon/indexCardIcon10.png
  3. BIN
      public/img/indexIcon/indexCardIcon11.png
  4. BIN
      public/img/indexIcon/indexCardIcon12.png
  5. BIN
      public/img/indexIcon/indexCardIcon13.png
  6. BIN
      public/img/indexIcon/indexCardIcon14.png
  7. BIN
      public/img/indexIcon/indexCardIcon15.png
  8. BIN
      public/img/indexIcon/indexCardIcon16.png
  9. BIN
      public/img/indexIcon/indexCardIcon17.png
  10. BIN
      public/img/indexIcon/indexCardIcon18.png
  11. BIN
      public/img/indexIcon/indexCardIcon19.png
  12. BIN
      public/img/indexIcon/indexCardIcon2.png
  13. BIN
      public/img/indexIcon/indexCardIcon20.png
  14. BIN
      public/img/indexIcon/indexCardIcon21.png
  15. BIN
      public/img/indexIcon/indexCardIcon22.png
  16. BIN
      public/img/indexIcon/indexCardIcon23.png
  17. BIN
      public/img/indexIcon/indexCardIcon24.png
  18. BIN
      public/img/indexIcon/indexCardIcon3.png
  19. BIN
      public/img/indexIcon/indexCardIcon4.png
  20. BIN
      public/img/indexIcon/indexCardIcon5.png
  21. BIN
      public/img/indexIcon/indexCardIcon6.png
  22. BIN
      public/img/indexIcon/indexCardIcon7.png
  23. BIN
      public/img/indexIcon/indexCardIcon8.png
  24. BIN
      public/img/indexIcon/indexCardIcon9.png
  25. +1
    -1
      src/api/modules/http.js
  26. +1
    -1
      src/components/queryForm/index.vue
  27. +18
    -7
      src/page/index/top/index.vue
  28. +6
    -1
      src/page/login/userlogin.vue
  29. +548
    -92
      src/page/wel.vue
  30. +5
    -2
      src/styles/sidebar.scss
  31. +25
    -8
      src/views/Customer/AgentManagement.vue
  32. +46
    -20
      src/views/Customer/CompanyRecord.vue
  33. +19
    -3
      src/views/Customer/Companymanagement.vue
  34. +20
    -4
      src/views/Customer/SalesStage.vue
  35. +31
    -14
      src/views/Customer/index.vue
  36. +19
    -14
      src/views/Customer/label.vue
  37. +18
    -2
      src/views/Customer/source.vue
  38. +23
    -3
      src/views/Equipment/batch.vue
  39. +244
    -47
      src/views/Equipment/equipmentDetailList.vue
  40. +16
    -5
      src/views/Equipment/equipmentOnlineRecordList.vue
  41. +23
    -12
      src/views/Equipment/index.vue
  42. +12
    -2
      src/views/Equipment/record.vue
  43. +25
    -4
      src/views/Equipment/state.vue
  44. +18
    -2
      src/views/File/index.vue
  45. +7
    -0
      src/views/Receive/index.vue
  46. +14
    -3
      src/views/ReceivingRecords/index.vue
  47. +24
    -5
      src/views/Scheduling/index.vue
  48. +29
    -13
      src/views/Statistics/BuildingContrast.vue
  49. +63
    -32
      src/views/Statistics/ConsultantBrand.vue
  50. +1
    -1
      src/views/Statistics/EmployeesReceive.vue
  51. +1
    -1
      src/views/Statistics/Insightintothedetails.vue
  52. +67
    -16
      src/views/Statistics/MentoringAbility.vue
  53. +188
    -42
      src/views/Statistics/ReceptionOverview.vue
  54. +21
    -5
      src/views/Statistics/ReceptionStatistical.vue
  55. +200
    -153
      src/views/Statistics/TheTeamCompared.vue
  56. +103
    -29
      src/views/Statistics/TrendAnalysis.vue
  57. +170
    -15
      src/views/Statistics/dataScreeAge.vue
  58. +151
    -14
      src/views/Statistics/dataScreeOrg.vue
  59. +208
    -17
      src/views/Statistics/dataScreeSys.vue
  60. +9
    -4
      src/views/Statistics/houseDataSys.vue
  61. +10
    -5
      src/views/Statistics/index.vue
  62. +104
    -9
      src/views/Statistics/trend.vue
  63. +333
    -319
      src/views/Template/Pinspeakwords.vue
  64. +20
    -3
      src/views/Template/PinspeakwordsList.vue
  65. +10
    -5
      src/views/Template/SystemarketingWordMB.vue
  66. +22
    -8
      src/views/Template/taboo.vue
  67. +23
    -9
      src/views/Template/wrongword.vue
  68. +1
    -1
      src/views/admin/app/index.vue
  69. +1
    -1
      src/views/admin/dept/index.vue
  70. +1
    -1
      src/views/admin/log/index.vue
  71. +1
    -1
      src/views/admin/log/log.vue
  72. +1
    -1
      src/views/admin/role/index.vue
  73. +2
    -2
      src/views/admin/user/index.vue
  74. +17
    -7
      src/views/building/Count.vue
  75. +17
    -0
      src/views/building/area.vue
  76. +19
    -3
      src/views/building/index.vue
  77. +2
    -2
      src/views/contentManage/updateRecord/list.vue
  78. +139
    -20
      src/views/houseData/analyse.vue
  79. +19
    -3
      src/views/houseData/count.vue
  80. +13
    -3
      src/views/inspection/ProhibitedList.vue

BIN
public/img/indexIcon/indexCardIcon1.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.2 KiB Width: 124  |  Height: 124  |  Size: 2.5 KiB

BIN
public/img/indexIcon/indexCardIcon10.png View File

Before After
Width: 124  |  Height: 124  |  Size: 5.1 KiB

BIN
public/img/indexIcon/indexCardIcon11.png View File

Before After
Width: 124  |  Height: 124  |  Size: 4.0 KiB

BIN
public/img/indexIcon/indexCardIcon12.png View File

Before After
Width: 124  |  Height: 124  |  Size: 4.5 KiB

BIN
public/img/indexIcon/indexCardIcon13.png View File

Before After
Width: 124  |  Height: 124  |  Size: 3.9 KiB

BIN
public/img/indexIcon/indexCardIcon14.png View File

Before After
Width: 124  |  Height: 124  |  Size: 4.0 KiB

BIN
public/img/indexIcon/indexCardIcon15.png View File

Before After
Width: 124  |  Height: 124  |  Size: 2.5 KiB

BIN
public/img/indexIcon/indexCardIcon16.png View File

Before After
Width: 124  |  Height: 124  |  Size: 5.6 KiB

BIN
public/img/indexIcon/indexCardIcon17.png View File

Before After
Width: 124  |  Height: 124  |  Size: 2.9 KiB

BIN
public/img/indexIcon/indexCardIcon18.png View File

Before After
Width: 124  |  Height: 124  |  Size: 5.5 KiB

BIN
public/img/indexIcon/indexCardIcon19.png View File

Before After
Width: 124  |  Height: 124  |  Size: 4.0 KiB

BIN
public/img/indexIcon/indexCardIcon2.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.7 KiB Width: 124  |  Height: 124  |  Size: 5.2 KiB

BIN
public/img/indexIcon/indexCardIcon20.png View File

Before After
Width: 124  |  Height: 124  |  Size: 3.7 KiB

BIN
public/img/indexIcon/indexCardIcon21.png View File

Before After
Width: 124  |  Height: 124  |  Size: 3.7 KiB

BIN
public/img/indexIcon/indexCardIcon22.png View File

Before After
Width: 124  |  Height: 124  |  Size: 5.2 KiB

BIN
public/img/indexIcon/indexCardIcon23.png View File

Before After
Width: 124  |  Height: 124  |  Size: 3.8 KiB

BIN
public/img/indexIcon/indexCardIcon24.png View File

Before After
Width: 124  |  Height: 124  |  Size: 5.0 KiB

BIN
public/img/indexIcon/indexCardIcon3.png View File

Before After
Width: 62  |  Height: 62  |  Size: 2.0 KiB Width: 124  |  Height: 124  |  Size: 4.0 KiB

BIN
public/img/indexIcon/indexCardIcon4.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.6 KiB Width: 124  |  Height: 124  |  Size: 3.2 KiB

BIN
public/img/indexIcon/indexCardIcon5.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.6 KiB Width: 124  |  Height: 124  |  Size: 4.1 KiB

BIN
public/img/indexIcon/indexCardIcon6.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.4 KiB Width: 124  |  Height: 124  |  Size: 4.0 KiB

BIN
public/img/indexIcon/indexCardIcon7.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.5 KiB Width: 124  |  Height: 124  |  Size: 4.5 KiB

BIN
public/img/indexIcon/indexCardIcon8.png View File

Before After
Width: 62  |  Height: 62  |  Size: 1.8 KiB Width: 124  |  Height: 124  |  Size: 2.9 KiB

BIN
public/img/indexIcon/indexCardIcon9.png View File

Before After
Width: 124  |  Height: 124  |  Size: 3.2 KiB

+ 1
- 1
src/api/modules/http.js View File

@@ -858,7 +858,7 @@ export function theCirculation(query) {
return request({
url: 'autoSR/customer/theCirculation',
method: 'get',
data: query
params: query
})
}
// 更新记录列表


+ 1
- 1
src/components/queryForm/index.vue View File

@@ -29,7 +29,7 @@
<el-row>
<el-col :span="6">
<el-button type="primary" @click="submit">筛选</el-button>
<el-button @click="clear">清空筛选条件</el-button>
<el-button @click="clear" type="text">清空筛选条件</el-button>
<el-button v-if="isSystole" @click="isSystoleForm" type="text">{{isOpen?'收起':'展开'}}<i style="margin-left:5px;" :class="isOpen?'el-icon-arrow-up':'el-icon-arrow-down'"></i></el-button>
</el-col>
</el-row>


+ 18
- 7
src/page/index/top/index.vue View File

@@ -1,6 +1,6 @@
<template>
<div class="avue-top">
<div class="top-bar__left">
<!-- <div class="top-bar__left">
<div
v-if="showCollapse"
:class="[{ 'avue-breadcrumb--active': isCollapse }]"
@@ -8,16 +8,24 @@
>
<i class="icon-navicon" @click="setCollapse" />
</div>
</div> -->
<div class="top-bar__left">
<div
v-if="showCollapse"
class="avue-breadcrumb"
>
<i style="color:#868686" :class="[isCollapse?'el-icon-s-unfold':'el-icon-s-fold' ]" @click="setCollapse" />
</div>
</div>
<div class="top-bar__title" style="display: flex; align-items: center">
<top-menu />
<div
style="
line-height: 64px;
line-height: 32px;
cursor: pointer;
display: flex;
align-items: center;
height: 64px;
height: 32px;
"
>
<!-- <div class="daili2">
@@ -41,11 +49,11 @@
v-if="companyName"
@click="goBack"
style="
line-height: 64px;
line-height: 32px;
cursor: pointer;
display: flex;
align-items: center;
height: 64px;
height: 32px;
margin-left: 20px;
"
>
@@ -151,7 +159,7 @@
{{ userInfo.username }}
<i class="el-icon-arrow-down el-icon--right" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-menu slot="dropdown" style="width:160px">
<el-dropdown-item divided>
<router-link to="/">
<span class="accountIcon">
@@ -589,7 +597,7 @@ export default {
}
.daili {
color: #32363D;
font-size: 15px;
font-size: 14px;
margin-left: 4px;
}
.daili2 {
@@ -612,4 +620,7 @@ export default {
display: flex;
flex-direction: column;
}
/deep/ .el-dropdown-menu__item--divided{
border:none !important;
}
</style>

+ 6
- 1
src/page/login/userlogin.vue View File

@@ -124,7 +124,6 @@ export default {
let arr = document.cookie.split("; ");
for (let i = 0; i < arr.length; i++) {
let arr2 = arr[i].split("=");
console.log(arr2)
if (arr2[0] === "username") {
this.loginForm.username = arr2[1];
} else if (arr2[0] === "password") {
@@ -179,6 +178,7 @@ export default {
localStorage.setItem("agentId", "");
that.$router.push({ path: "/wel" });
}
// 当他为其他时 先获取是否只有一个选项,然后在来进行判断
if (idx == 1) {
this.getAgentList();
@@ -196,6 +196,11 @@ export default {
// that.$router.push({ path: "/chose", query: { flag: 3 } });
}
} else {
if (this.rememberPwd) {
this.setCookie(this.loginForm.username, this.loginForm.password, 7);
} else {
this.setCookie("", "", -1);
}
that.$router.push({ path: "/check" });
}
});


+ 548
- 92
src/page/wel.vue
File diff suppressed because it is too large
View File


+ 5
- 2
src/styles/sidebar.scss View File

@@ -31,6 +31,7 @@
line-height: 56px;
}
.el-menu-item {
margin: 0 10px;
span,i{
color:rgba(255, 255, 255, 0.7);
}
@@ -43,7 +44,9 @@
}
}
&.is-active {
background-color: rgba(0, 0, 0, .8);
// background-color: rgba(0, 0, 0, .8);
background-color: #2671E2 !important;
border-radius: 5px;
span,
i {
color: #fff;
@@ -57,7 +60,7 @@
left: 0;
bottom: 0;
width: 4px;
background: $mainBg;
// background: $mainBg;
position: absolute
}
}


+ 25
- 8
src/views/Customer/AgentManagement.vue View File

@@ -38,24 +38,25 @@
</el-select>
</div>
</div>

<div class="app-titel" style="margin-top: 15px">
<div class="label" style="color: #ffffff">筛选相关:</div>
<div style="display:flex;justify-content: space-between;align-items: center;padding: 0 20px;">
<div class="app-titel" style="margin-top: 15px">
<div>
<el-button v-if="cus_ag_add" @click="infoadd()" type="primary">新增</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="Screening()" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="Screeningofempty()">清空筛选条件</el-button>
<el-button @click="Screeningofempty()" type="text">清空筛选条件</el-button>
</div>
</div>
<div>
<el-button v-if="cus_ag_add" @click="infoadd()" type="primary">新增</el-button>
</div>
</div>
</div>

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column :show-overflow-tooltip="true" width="120px" prop="agentName" label="代理商" align="center">
</el-table-column>
<el-table-column :show-overflow-tooltip="true" width="140px" prop="provinceName,cityName" label="地区"
@@ -1186,4 +1187,20 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 46
- 20
src/views/Customer/CompanyRecord.vue View File

@@ -48,24 +48,26 @@
<el-cascader :props="props1" @change="locationsChange1" :options="addressOptions" placeholder="省/市" size="small"
separator="/" v-model="area" filterable clearable></el-cascader>
</div>
<div style="display:flex;justify-content: space-between;align-items: center;margin-top: 15px;padding-right: 10px;">
<div class="app-titel">
<div class="label" style="color: #ffffff">筛选相关:</div>

<div class="app-titel" style="margin-top: 15px">
<div class="label" style="color: #ffffff">筛选相关:</div>
<div style="margin-left: 20px">
<el-button @click="Screening()" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="Screeningofempty()" type="text">清空筛选条件</el-button>
</div>
</div>
<div>
<el-button v-if="cus_crd_add" @click="infoadd()" type="primary">新增</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="Screening()" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="Screeningofempty()">清空筛选条件</el-button>
</div>
</div>
</div>

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column :show-overflow-tooltip="true" width="120px" prop="name" label="公司名称" align="center">
</el-table-column>
<el-table-column prop="operatorName" label="代理商" align="center">
@@ -94,7 +96,7 @@
{{ row.lockFlag == 1 ? "禁用" : "启用" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button type="text" v-if="cus_crd_edit" size="small" @click="infoeditor(scope.row)">编辑</el-button>
<el-button type="text" v-if="cus_crd_change" size="small" @click="inforeplace(scope.row)">更换账号</el-button>
@@ -156,9 +158,9 @@
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" maxlength="11"></el-input>
</el-form-item>

<el-form-item label="地区" prop="provinceId" >
<el-cascader :props="props" @change="locationsChange" style="width:100%" :options="addressOptions" placeholder="省/市" size="small"
separator="/" v-model="editoragentobj.area" clearable></el-cascader>
<el-form-item label="地区" prop="provinceId">
<el-cascader :props="props" @change="locationsChange" style="width:100%" :options="addressOptions"
placeholder="省/市" size="small" separator="/" v-model="editoragentobj.area" clearable></el-cascader>
</el-form-item>
<!-- <el-form-item label="省:" prop="provinceId">
<el-select v-model="addagentobj.provinceId" placeholder="请选择" @change='clickprovinceId()'>
@@ -199,7 +201,8 @@
v-model="addagentobj.managerPassword"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="add()">保存</el-button>
</div>
@@ -226,8 +229,8 @@
</el-form-item>

<el-form-item label="地区" prop="provinceId">
<el-cascader :props="props" style="width:100%" @change="locationsChange" :options="addressOptions" placeholder="省/市" size="small"
separator="/" v-model="editoragentobj.area" clearable></el-cascader>
<el-cascader :props="props" style="width:100%" @change="locationsChange" :options="addressOptions"
placeholder="省/市" size="small" separator="/" v-model="editoragentobj.area" clearable></el-cascader>
</el-form-item>
<!-- <el-form-item label="省:" prop="provinceId">
<el-select v-model="editoragentobj.provinceId" placeholder="请选择" @change='clickprovinceId3()'>
@@ -260,7 +263,8 @@
</el-select>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible2 = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="editor()">保存</el-button>
</div>
@@ -276,7 +280,8 @@
<el-input show-password :disabled="passFlag" v-model="replaceagentobj.managerPassword"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible3 = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="replace()">保存</el-button>
</div>
@@ -293,7 +298,8 @@
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="operaVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="saveOpera()">保存</el-button>
</div>
@@ -308,7 +314,8 @@
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="agentVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="saveAgent()">保存</el-button>
</div>
@@ -1203,4 +1210,23 @@ export default {
}
}
}

/deep/ .el-table__header-wrapper {
thead {
tr {
th {
background: #F5F7FA;
color: #333333;
}
}
}
}

/deep/ .el-dialog--center {
border-radius: 8px;

.el-dialog__title {
font-weight: bold;
}
}
</style>

+ 19
- 3
src/views/Customer/Companymanagement.vue View File

@@ -79,14 +79,14 @@
<el-button @click="Screening()" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="Screeningofempty()">清空筛选条件</el-button>
<el-button @click="Screeningofempty()" type="text">清空筛选条件</el-button>
</div>
</div>
</div>

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="name" label="公司名称" align="center">
</el-table-column>
<el-table-column
@@ -120,7 +120,7 @@
</el-table-column> -->
<el-table-column prop="houseNum" label="服务期项目" align="center">
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" width="80">
<template slot-scope="scope">
<!-- <el-button type="text" size="small" @click="infoeditor(scope.row)">编辑</el-button>
<el-button type="text" size="small" @click="inforeplace(scope.row)">更换账号</el-button>
@@ -1015,6 +1015,16 @@ export default {
</script>

<style scoped="scoped" lang="scss" >
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
.box-center {
width: 100%;
padding: 15px;
@@ -1069,4 +1079,10 @@ export default {
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 20
- 4
src/views/Customer/SalesStage.vue View File

@@ -38,7 +38,7 @@
</div>
<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="houseName" label="项目名称" align="center">
</el-table-column>
<el-table-column prop="stageName" label="阶段名称" align="center">
@@ -57,14 +57,14 @@
</el-table>
</div>

<el-dialog :title="editFlag==true?'编辑阶段':'新增阶段'" :visible.sync="dialogVisible" @close="clear" :center="true" width="600px">
<el-dialog :title="editFlag==true?'编辑阶段':'新增阶段'" :visible.sync="dialogVisible" @close="clear" :center="true" width="400px">
<el-form
:model="ruleForm"
label-position="labelPosition"
:rules="rules"
ref="ruleForm"
label-width="140px"
style="width: 80%; margin: 0 auto"
label-width="97px"
style="width: 100%; margin: 0 auto"
>
<el-form-item label="阶段名称:" prop="stageName">
<el-input v-model="ruleForm.stageName" maxlength="10" clearable=""></el-input>
@@ -297,4 +297,20 @@ computed: {
}
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 31
- 14
src/views/Customer/index.vue View File

@@ -250,19 +250,17 @@
<div class="div-labox">
<div class="labeltext"></div>
<el-button type="primary" @click="screen">筛选</el-button>
<el-button @click="clearScreen">清空筛选条件</el-button>
<el-button @click="clearScreen" type="text">清空筛选条件</el-button>

<el-button :disabled="isBand" type="primary" @click="transfer"
>批量转交</el-button
>
<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>
<div
style="margin-left: auto; margin-right: 10px"
v-if="cus_index_downLoad"
>
<el-button @click="downLoad">导出</el-button>
<div style="margin-left: auto; margin-right: 10px">
<el-button :disabled="isBand" type="primary" @click="transfer"
>批量转交</el-button
>
<el-button v-if="cus_index_downLoad" @click="downLoad">导出</el-button>
</div>
</div>
</div>
@@ -274,6 +272,7 @@
stripe
style="width: 100%"
@selection-change="handleSelectionChange"
height="390"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column
@@ -353,7 +352,7 @@
{{ row.createTime || "暂无" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="250" fixed="right">
<el-table-column label="操作" align="center" width="180" fixed="right">
<template slot-scope="{ row }">
<el-button @click="toCustomer" type="text" v-if="cus_index_detail">客户详情</el-button>
<el-button
@@ -622,11 +621,12 @@ export default {
tranfser(row) {
console.log(row);
this.dialogVisible = true;
this.selectMoreIds = row.id;
this.selectMoreIds = row.id;
},

// 转移客户至其他顾问
theCirculation(query) {
console.log(query)
this.$api.http.theCirculation(query).then((res) => {
if (res.code == 0) {
this.$message({
@@ -847,14 +847,14 @@ export default {
padding: 16px;
min-width: 1000px;
padding-bottom: 20px;
background: #ffffff;
// background: #ffffff;
border-radius: 4px;
font-size: 14px;
}
.booxtop {
width: 100%;
padding-bottom: 20px;
background: #f7f8fa;
padding: 20px;
background: #fff;
border-radius: 2px;
margin-top: 0px;
padding-right: 20px;
@@ -910,9 +910,26 @@ export default {
width: 100%;
padding: 15px;
margin-top: 15px;
background: #fff;
}
.tophove {
color: #ffffff;
background: #2671e2;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 19
- 14
src/views/Customer/label.vue View File

@@ -94,7 +94,7 @@
</div>


<el-dialog title="新增" :visible.sync="dialogFormVisible">
<el-dialog title="新增" :visible.sync="dialogFormVisible" :center="true" width="400px">
<div
v-if="amountintervalname == '意向面积'"
style="display: flex; height: 40px; line-height: 40px"
@@ -126,8 +126,8 @@
<span style="margin-left: 6px">万元</span>
</div>
<el-form :model="addForm" v-else>
<el-row :gutter="20">
<el-col :span="12">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item
label="一级大类名称:"
v-if="level == 0"
@@ -152,15 +152,15 @@
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="addSubmit">确 定</el-button>
</div>
</el-dialog>
<!-- 删除确认弹框 -->
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%">
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%" :center="true">
<span>确定删除该条内容吗</span>
<span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="checkDelete">确 定</el-button>
</span>
@@ -169,7 +169,7 @@


<!--?编辑弹框?-->
<el-dialog title="编辑" :visible.sync="isshowage">
<el-dialog title="编辑" :visible.sync="isshowage" :center="true" width="400px">
<div
v-if="amountintervalname == '意向面积'"
style="display: flex; height: 40px; line-height: 40px"
@@ -201,10 +201,10 @@
<span style="margin-left: 6px">万元</span>
</div>
<div v-else style="display: flex; align-items: center; height: 40px">
<div style="margin-left: 160px; height: 30px; line-height: 30px">
<div style="height: 30px; line-height: 30px">
类名:
</div>
<div>
<div style="width:88%">
<el-input maxlength="8"
v-model="frosasd.name"

@@ -246,20 +246,19 @@
</el-dialog>


<el-dialog title="新增一级" :visible.sync="dialogVisible2">
<el-dialog title="新增一级" :visible.sync="dialogVisible2" :center="true" width="400px">
<el-form :model="addForm2">
<el-row :gutter="20">
<el-col :span="12">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item
label="名称:"
:label-width="formLabelWidth"
>
<el-input style="width:300px;" v-model="addForm2.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible2 = false">取 消</el-button>
<el-button type="primary" @click="addclick()">确 定</el-button>
</span>
@@ -752,4 +751,10 @@ overflow: hidden;
border: 1px solid #e0e0e0;
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 18
- 2
src/views/Customer/source.vue View File

@@ -1,7 +1,7 @@
<template>
<div class="box-center">
<!-- 头 -->
<div class="app-top">
<div class="app-top" v-if="cus_sou_add || cus_sou_downLoad">
<div style="margin-left: 20px; display: flex">
<el-button v-if="cus_sou_add" @click="editorinfo()" type="primary"
>新增</el-button
@@ -17,7 +17,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%" row-key="id">
<el-table :data="tableData" stripe style="width: 100%" row-key="id" height="390">
<el-table-column label="序号" align="center">
<template slot-scope="scope">
{{ scope.$index + 1 }}
@@ -510,4 +510,20 @@ export default {
}
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 23
- 3
src/views/Equipment/batch.vue View File

@@ -3,7 +3,8 @@
<div class="box-center">
<!-- 头 -->
<div class="app-top">
<div class="app-titel" style="margin-top: 5px">
<div class="app-titel" style="display: flex;justify-content: space-between;align-items: center;padding: 0 20px;">
<div style="display: flex;align-items: center;">
<div class="label">批次号:</div>
<div>
<el-input v-model="batchId" maxlength="20" clearable></el-input>
@@ -13,8 +14,10 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="Screeningofempty()">清空筛选条件</el-button>
<el-button @click="Screeningofempty()" type="text">清空筛选条件</el-button>
</div>
</div>
<div style="margin-left: 20px">
<el-button v-if="equ_batch_add" @click="editorinfo()" type="primary"
>添加批次</el-button
@@ -28,6 +31,7 @@
<el-table
:data="tableData"
stripe
height="390"
style="width: 100%">
<el-table-column
prop="batchId"
@@ -96,7 +100,7 @@


<el-dialog :title='isshow' :visible.sync="dialogVisible" @closed='clear' :center="true" width="600px">
<el-form :model="addagentobj" label-position="labelPosition" :rules="rules" ref="addagentobj" label-width="140px" style="width:80%; margin: 0 auto;">
<el-form :model="addagentobj" label-position="labelPosition" :rules="rules" ref="addagentobj" label-width="110px" style="width:90%; margin: 0 auto;">
<el-form-item label="批次号" prop="batchId">
<el-input v-model="addagentobj.batchId" maxlength="20" clearable></el-input>
</el-form-item>
@@ -324,4 +328,20 @@ export default {
}
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 244
- 47
src/views/Equipment/equipmentDetailList.vue View File

@@ -1,6 +1,6 @@
<template>
<div class="box-center">
<div class="titlebox" v-if="orgType != 3">
<div class="titlebox1" v-if="orgType != 3">
<div style="
background: #ffffff;
padding-left: 18px;
@@ -56,9 +56,6 @@
<el-button @click="downLoad">导出</el-button>
</div>
</div>
</div>

<div class="titlebox">
<div style="
background: #ffffff;
padding-left: 18px;
@@ -118,6 +115,10 @@
</el-date-picker>
</div>
</div>
</div>

<div class="titlebox" :style="{ 'marginTop': orgType != 3 ? '120px' : '0px' }">


<div class="kapiannox">
<div class="alllistbox tabcard">
@@ -148,8 +149,26 @@
<div class="text1">
在线设备数
<el-tooltip effect="light" content="筛选时间内,联网的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.onlineQuantity || 0 }}
@@ -192,9 +211,27 @@
<div @click="compareChange(3, '活跃设备数')">
<div class="text1">
活跃设备数
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.activeQuantity || 0 }}
@@ -237,9 +274,26 @@
<div @click="compareChange(5, '指派次数')">
<div class="text1">
指派次数
<el-tooltip effect="light" content="筛选时间内,指派给设备的接待数,不包含接待中;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,指派给设备的接待数,不包含接待中;" placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.assignQuantity || 0 }}
@@ -261,10 +315,27 @@
<div @click="compareChange(6, '完整录音次数')">
<div class="text1">
完整录音次数
<el-tooltip effect="light" content="筛选时间内,接待中录音正常开启(指派时间与录音开启时间相差小于5分钟)和录音正常关闭(结束录音时间晚于结束接待时间)的接待数;"
placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,接待中录音正常开启(指派时间与录音开启时间相差小于5分钟)和录音正常关闭(结束录音时间晚于结束接待时间)的接待数;"
placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.normalRecordQuantity || 0 }}
@@ -285,9 +356,26 @@
<el-card shadow="hover" :class="compareFlag == 7 ? 'tophovese' : 'noactive'">
<div @click="compareChange(7, '完整录音占比')">
<div class="text1">完整录音占比
<el-tooltip effect="light" content="筛选时间内,完整录音次数/指派次数*100%;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,完整录音次数/指派次数*100%;" placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.fullRecordRate || 0 }}
@@ -308,10 +396,27 @@
<el-card shadow="hover" :class="compareFlag == 8 ? 'tophovese' : 'noactive'">
<div @click="compareChange(8, '部分录音')">
<div class="text1">部分录音次数
<el-tooltip effect="light" content="筛选时间内,接待中录音未及时开启(指派时间与录音开启时间相差大于于5分钟)或录音提前关闭(未结束,就关闭了录音)的接待数;"
placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,接待中录音未及时开启(指派时间与录音开启时间相差大于于5分钟)或录音提前关闭(未结束,就关闭了录音)的接待数;"
placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.snippetRecordQuantity || 0 }}
@@ -332,9 +437,26 @@
<el-card shadow="hover" :class="compareFlag == 9 ? 'tophovese' : 'noactive'">
<div @click="compareChange(9, '未录音')">
<div class="text1">未录音次数
<el-tooltip effect="light" content="筛选时间内,指派的接待,没有录音的接待;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,指派的接待,没有录音的接待;" placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.noRecordQuantity || 0 }}
@@ -355,9 +477,26 @@
<el-card shadow="hover" :class="compareFlag == 10 ? 'tophovese' : 'noactive'">
<div @click="compareChange(10, '正常关机次数')">
<div class="text1">正常关机次数
<el-tooltip effect="light" content="筛选时间内,手动关机的次数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,手动关机的次数;" placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.normalShutdownQuantity || 0 }}
@@ -378,9 +517,26 @@
<el-card shadow="hover" :class="compareFlag == 11 ? 'tophovese' : 'noactive'">
<div @click="compareChange(11, '低电关机次数')">
<div class="text1">低电关机次数
<el-tooltip effect="light" content="筛选时间内,由于电量用完关机的次数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<el-tooltip effect="light" content="筛选时间内,由于电量用完关机的次数;" placement="bottom-end">
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
position: relative;">
<span style="
font-style: normal;
transform: scale(.8);
display: block;position: absolute;
top: 50%;
left: 50%;
margin-left: -22px;
margin-top: -7px;
">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
{{ details.lowElectricityQuantity || 0 }}
@@ -433,20 +589,24 @@
<el-col :span="12">
<div class="zgutteruo">
<div class="zgutteruo-tit">录音结果占比</div>
<div id="mane" style="width: 100%; height: 360px"></div>
<img v-if="odata1" style="width: 260px; height: 260px;margin: 50px auto;display: block;"
src="/img/Elementcircle.png" alt="" />
<div v-else id="mane" style="width: 100%; height: 360px;"></div>
</div>
</el-col>
<el-col :span="12">
<div class="zgutteruo">
<div class="zgutteruo-tit">关机类型占比</div>
<div id="mane2" style="width: 100%; height: 360px"></div>
<img v-if="odata2" style="width: 260px; height: 260px;margin: 50px auto;display: block;"
src="/img/Elementcircle.png" alt="" />
<div v-else id="mane2" style="width: 100%; height: 360px;"></div>
</div>
</el-col>
</el-row>
</div>
<div class="tablebox" v-if="!selectTime1">
<template>
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%" height="390">
<el-table-column prop="createTime" label="日期" width="100" align="center">
</el-table-column>
<el-table-column prop="equipmentQuantity" label="设备总数" align="center">
@@ -505,7 +665,7 @@

<div class="tablebox" v-if="selectTime1">
<template>
<el-table :data="compareList" style="width: 100%">
<el-table :data="compareList" style="width: 100%" height="390">
<el-table-column prop="name" label="时间" align="center">
</el-table-column>
<el-table-column prop="time" label="时段一" align="center">
@@ -664,6 +824,8 @@ export default {
},
],
houseTypes: "0,1",
odata1: false,
odata2: false,
};
},
computed: {
@@ -1340,15 +1502,15 @@ export default {
type: "line",
smooth: true,
areaStyle: {
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1,
[
{ offset: 0, color: colorTheme.colorArr[0] },
{ offset: 1, color: "#fff" }
]
),
opacity: 0.1
}
color: new echarts.graphic.LinearGradient(
0, 0, 0, 1,
[
{ offset: 0, color: colorTheme.colorArr[0] },
{ offset: 1, color: "#fff" }
]
),
opacity: 0.1
}
},
],
};
@@ -1414,6 +1576,11 @@ export default {
{ value: this.details.noRecordQuantity || 0, name: "未录音" },
],
};
this.odata1 = itemobj.objopts.every(i => {
if (i.value == 0) {
return true
}
})
let arr = itemobj.objopts.filter((item) => {
return item.value;
});
@@ -1437,6 +1604,11 @@ export default {
},
],
};
this.odata2 = itemobj1.objopts.every(i => {
if (i.value == 0) {
return true
}
})
let arr1 = itemobj1.objopts.filter((item) => {
return item.value;
});
@@ -1572,13 +1744,26 @@ export default {
background: #2671e2;
}

.titlebox1 {
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
// box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 8px;
padding-bottom: 18px;
}

.titlebox {
width: 100%;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
border-radius: 8px;
margin-top: 20px;
padding-bottom: 18px;
margin-top: 120px;
padding: 10px 0;
}

.tablebox {
@@ -1600,6 +1785,7 @@ export default {
grid-template-columns: repeat(4, 24%);
grid-column-gap: 12px;
grid-row-gap: 18px;

/deep/ .el-card__body {
padding: 8px;
cursor: pointer;
@@ -1760,4 +1946,15 @@ export default {
.demonstration {
line-height: 36px;
}

/deep/ .el-table__header-wrapper {
thead {
tr {
th {
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

+ 16
- 5
src/views/Equipment/equipmentOnlineRecordList.vue View File

@@ -88,7 +88,7 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="empty()">清空筛选条件</el-button>
<el-button @click="empty()" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto;margin-right:10px;" v-if="equ_edg_download">
<el-button @click="downLoad">导出</el-button>
@@ -97,7 +97,7 @@
</div>
<div class="tablebox" v-if="activeTotal == 0">
<template>
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%" height="390">
<el-table-column prop="index" label="序号" width="100" align="center">
</el-table-column>
<el-table-column prop="imei" label="设备编号" align="center">
@@ -217,7 +217,7 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="empty()">清空筛选条件</el-button>
<el-button @click="empty()" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto;margin-right:10px;" v-if="equ_edg_download">
<el-button @click="downLoad">导出</el-button>
@@ -226,7 +226,7 @@
</div>
<div class="tablebox" v-if="activeTotal == 1">
<template>
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%" height="390">
<el-table-column prop="index" label="序号" width="100" align="center">
</el-table-column>
<el-table-column prop="imei" label="设备编号" align="center">
@@ -546,7 +546,17 @@ export default {
};
</script>

<style scoped >
<style scoped lang="less">
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
.box-center {
width: 100%;
padding: 15px;
@@ -583,4 +593,5 @@ export default {
margin-top: 20px;
padding: 18px;
}

</style>

+ 23
- 12
src/views/Equipment/index.vue View File

@@ -166,13 +166,14 @@
</el-select>
</div> -->
</div>
<div style="display:flex">
<div class="app-titel" style="margin-top: 15px">
<!-- <div class="label" style="color: #ffffff">筛选相关:</div> -->
<div style="margin-left: 20px">
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="reset">清空筛选条件</el-button>
<el-button @click="reset" type="text">清空筛选条件</el-button>
</div>
</div>
<div class="app-titel" style="margin-top: 15px">
@@ -185,7 +186,7 @@
>批量归还</el-button
>
</div> -->
<div style="margin-left: 20px">
<div style="margin-left: auto;margin-right:10px;" v-if="euq_index_downLoad">
<el-button
@click="infoMasstransfer()"
type="primary"
@@ -193,8 +194,6 @@
:disabled="multipleSelection.length == 0"
>批量绑定</el-button
>
</div>
<div style="margin-left: 20px">
<el-button
@click="zkequipmentUnbind()"
type="primary"
@@ -202,8 +201,6 @@
:disabled="multipleSelection.length == 0"
>批量解绑</el-button
>
</div>
<div style="margin-left: 20px">
<el-button
@click="infoBulkbinding()"
v-if="euq_index_batch"
@@ -211,14 +208,11 @@
:disabled="multipleSelection.length == 0"
>批量绑定批次号</el-button
>
</div>
<div style="margin-left: 20px" v-if="equ_index_add">
<el-button @click="infoadd()" type="primary">添加</el-button>
</div>
<div style="margin-left: auto;margin-right:10px;" v-if="euq_index_downLoad">
<el-button v-if="equ_index_add" @click="infoadd()" type="primary">添加</el-button>
<el-button @click="downLoad">导出</el-button>
</div>
</div>
</div>
</div>

<!-- 表格 -->
@@ -228,6 +222,7 @@
stripe
@selection-change="handleSelectionChange"
style="width: 100%"
height="390"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="index" label="序号" align="center">
@@ -366,7 +361,7 @@
>
</el-table-column> -->
<!-- scope -->
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" fixed="right" width="80">
<template slot-scope="{ row }">
<!-- <el-button v-if="row.receiveType == 2 && euq_index_back" type="text" @click="toinifoThereturn()">归还</el-button>
<el-button v-if="equ_index_change" type="text" @click="infotranscription()">转写方式</el-button>
@@ -1556,4 +1551,20 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 12
- 2
src/views/Equipment/record.vue View File

@@ -48,7 +48,7 @@
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="clascreen">清空筛选条件</el-button>
<el-button @click="clascreen" type="text">清空筛选条件</el-button>
</div>
<div style="margin-right: 20px;margin-left:auto;">
<el-button @click="exportFile">导出</el-button>
@@ -58,7 +58,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="equipImei" label="设备编号" align="center">
</el-table-column>
<el-table-column prop="userName" label="领用人" align="center">
@@ -332,4 +332,14 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

+ 25
- 4
src/views/Equipment/state.vue View File

@@ -278,8 +278,11 @@
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="reset">清空筛选条件</el-button>
<el-button @click="reset" type="text">清空筛选条件</el-button>
<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>
<div style="margin-left: auto; margin-right: 10px;display: flex;">
<div style="margin-left: 20px">
<el-button
@click="openAllLight()"
@@ -324,14 +327,15 @@
:disabled="multipleSelection.length == 0"
>批量解绑</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>

<div
style="margin-left: auto; margin-right: 10px"
style="margin-left: 20px"
v-if="equ_state_downLoad"
>
<el-button @click="downLoad">导出</el-button>
</div>
</div>
</div>
</div>

@@ -348,6 +352,7 @@
stripe
@selection-change="handleSelectionChange"
style="width: 100%"
height="390"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="index" label="序号" align="center">
@@ -442,7 +447,7 @@
</template>
</el-table-column>
<!-- scope -->
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" fixed="right" width="80">
<template slot-scope="{ row }">
<!-- <div style="color: #2671e2" @click="toinifoThereturn()">
修改指示灯状态
@@ -1561,4 +1566,20 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 18
- 2
src/views/File/index.vue View File

@@ -30,7 +30,7 @@
<el-button type="primary" @click="noempty()">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="empty()">清空筛选条件</el-button>
<el-button @click="empty()" type="text">清空筛选条件</el-button>
</div>
</div>
</div>
@@ -39,6 +39,7 @@
<div class="cen-tab">
<el-table
:data="tableData"
height="390"
stripe
style="width: 100%">
<el-table-column
@@ -88,7 +89,6 @@
>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="100">
<template slot-scope="scope">
@@ -349,4 +349,20 @@ export default {
box-shadow: 2px 2px 12px 4px #d5d5d5;
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
.is-leaf{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 7
- 0
src/views/Receive/index.vue View File

@@ -2498,6 +2498,7 @@ export default {
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
box-shadow: 0px 0px 10px 0px #dadada;
background: #ffffff;
}

@@ -2565,4 +2566,10 @@ export default {
background: #F4F5F7 !important;
color: #333333 !important;
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 14
- 3
src/views/ReceivingRecords/index.vue View File

@@ -289,7 +289,7 @@
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="clearScreen">清空筛选条件</el-button>
<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>

@@ -304,13 +304,14 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column
prop="staTimeOfCN"
label="接待开始时间"
align="center"
width="200"
sortable
height="390"
>
</el-table-column>
<el-table-column prop="agentName" label="顾问" align="center">
@@ -360,7 +361,7 @@
</el-table-column> -->
<el-table-column prop="validInvalidName" label="接待标识" align="center"></el-table-column>
<el-table-column prop="zfalName" label="推荐案例" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="200" fixed="right">
<el-table-column label="操作" align="center" width="80" fixed="right">
<template slot-scope="{ row }">
<el-button
type="text"
@@ -857,4 +858,14 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

+ 24
- 5
src/views/Scheduling/index.vue View File

@@ -57,8 +57,9 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="reset()">清空筛选条件</el-button>
<el-button @click="reset()" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto; margin-right: 10px;display: flex;">
<div style="margin-left: 20px">
<el-button v-if="sch_index_add" type="primary"
@click="addinfo()" >添加</el-button
@@ -75,6 +76,7 @@
>批量排班</el-button
>
</div>
</div>
</div>
</div>

@@ -83,6 +85,7 @@
<el-table
:data="tableData"
stripe
height="390"

@selection-change="handleSelectionChange"
style="width: 100%"
@@ -135,7 +138,7 @@
</div>
</div>

<el-dialog title="新增" :visible.sync="dialogVisible">
<el-dialog title="新增" :visible.sync="dialogVisible" :center="true">
<div>
<div style="text-align: center;">
<el-transfer
@@ -150,20 +153,20 @@
</el-transfer>
</div>
</div>
<div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="editor()">保存</el-button>
</div>
</el-dialog>


<el-dialog title="工作安排" :visible.sync="showVisible">
<el-dialog title="工作安排" :visible.sync="showVisible" :center="true">
<div>
<div style="text-align: center;">
<Calendar v-on:choseDay="clickDay" ref="calendar" v-on:changeMonth="changeDate" :agoDayHide='timeAcc' :markDate='arr' />
</div>
</div>
<div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="showVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="save()">保存</el-button>
</div>
@@ -715,4 +718,20 @@ height: 400px !important;
// /deep/ .wh_content_item_tag,.wh_content_item{
// color: black;
// }
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 29
- 13
src/views/Statistics/BuildingContrast.vue View File

@@ -41,7 +41,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%" show-summary :summary-method="getSummaries">
<el-table :data="tableData" stripe style="width: 100%" show-summary :summary-method="getSummaries" height="390">
<el-table-column prop="batchId" label="序号" align="center">
<template slot-scope="scope">
<span> {{ scope.$index + 1 }}</span>
@@ -100,7 +100,7 @@
<div style="width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in objList1.list" :key="i">
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -116,7 +116,7 @@
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

</div>
@@ -141,7 +141,7 @@
<div style="width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in objList2.list" :key="i">
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -157,7 +157,7 @@
:style="'width:' + item.zxl + '%;'"
></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl + '%' }">
</div>

</div>
@@ -189,7 +189,7 @@
<div style=" width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in objList3.list" :key="i">
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -204,7 +204,7 @@
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

</div>
@@ -233,7 +233,7 @@
<div style=" width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in objList4.list" :key="i">
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -249,7 +249,7 @@
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

</div>
@@ -619,6 +619,16 @@ export default {
</script>

<style scoped="scoped" lang="scss" >
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
.sequenceNum {
display: flex;
width: 26px;
@@ -641,7 +651,8 @@ export default {
width: 100%;
padding: 15px;
background: #ffffff;
margin-top: 15px;
// margin-top: 15px;
margin-top: 80px;
}

.tophove {
@@ -650,13 +661,18 @@ export default {
}

.app-titel {
width: 100%;
// width: 100%;
height: 70px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
border-radius: 4px;
display: flex;
align-items: center;
width: calc(100% - 270px);
position: fixed;
box-shadow: 0px 0px 10px 0px #dadada;
z-index: 999;
margin-top: -16px;

.titel-text {
height: 100%;
@@ -690,7 +706,7 @@ export default {

.app-box-san {
width: 100%;
min-height: 400px;
// min-height: 400px;
display: flex;
margin-top: 15px;

@@ -786,7 +802,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;

.jinboxtit {
width: 14%;


+ 63
- 32
src/views/Statistics/ConsultantBrand.vue View File

@@ -67,16 +67,20 @@
</div>
</div>
<!-- 表格 -->
<div class="cen-tab">
<div class="cen-tab" :style="{'margin-top':role != 3?'110px':'70px'}">
<div class="app-titel1">
<div class="toptimeqhuan">
<div :class="{ tophove: tabFlag == 0 }" @click="tabFlagChange(0)">
<!-- <div class="toptimeqhuan"> -->
<!-- <div :class="{ tophove: tabFlag == 0 }" @click="tabFlagChange(0)">
销讲统计
</div>
<div :class="{ tophove: tabFlag == 1 }" @click="tabFlagChange(1)">
违禁统计
</div>
</div>
</div> -->
<el-radio-group @change="tabFlagChange" v-model="tabFlag">
<el-radio-button :label="0">销讲统计</el-radio-button>
<el-radio-button :label="1">违禁统计</el-radio-button>
</el-radio-group>
<!-- </div> -->
<div
style="margin-left: auto; margin-right: 10px"
v-if="sta_men_downLoad"
@@ -84,7 +88,7 @@
<el-button @click="downLoad">导出</el-button>
</div>
</div>
<el-table max-height="300" :data="tableData" stripe style="width: 100%">
<el-table max-height="300" :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="batchId" label="序号" align="center">
<template slot-scope="scope">
{{
@@ -208,7 +212,7 @@
<div class="jinbox" v-for="(item, i) in echarlist" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -222,7 +226,9 @@
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}次</div>
@@ -234,8 +240,8 @@
v-if="echarlist.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -265,7 +271,7 @@
<div class="jinbox" v-for="(item, i) in echarlist2" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -279,7 +285,9 @@
class="boxbaifenbi"
:style="'width:' + item.percentage + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.percentage + '%' }"> </div>
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.percentage + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}分钟</div>
@@ -291,8 +299,8 @@
v-if="echarlist2.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -350,7 +358,9 @@
class="boxbaifenbi"
:style="'width:' + item.zxl + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': topThreeColor(i), 'width': item.zxl + '%' }"> </div>
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}%</div>
@@ -362,8 +372,8 @@
v-if="echarlist1.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -408,7 +418,7 @@
<div class="jinbox" v-for="(item, i) in echarlist3" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -422,7 +432,9 @@
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}次</div>
@@ -434,8 +446,8 @@
v-if="echarlist3.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -494,7 +506,9 @@
class="boxbaifenbi"
:style="'width:' + item.zxl + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': topThreeColor(i), 'width': item.zxl1 + '%' }"> </div>
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}个</div>
@@ -506,8 +520,8 @@
v-if="echarlist4.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -552,7 +566,7 @@
<div class="jinbox" v-for="(item, i) in echarlist3" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -566,7 +580,9 @@
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div> -->
<div class="boxbaifenbi" :style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }"> </div>
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}次</div>
@@ -578,8 +594,8 @@
v-if="echarlist3.length == 0"
>
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -1062,7 +1078,7 @@ export default {
<style scoped="scoped" lang="scss" >
.sequenceNum {
display: flex;
width: 24px;
width: 28px;
height: 24px;
justify-content: center;
align-items: center;
@@ -1091,7 +1107,7 @@ export default {
width: 100%;
height: 70px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
// box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
border-radius: 4px;
display: flex;
align-items: center;
@@ -1125,9 +1141,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
@@ -1249,7 +1270,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 10px;
margin-top: 24px;
.jinboxtit {
width: 14%;
height: 18px;
@@ -1295,4 +1316,14 @@ export default {
margin-left: 15px;
min-width: 40px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

+ 1
- 1
src/views/Statistics/EmployeesReceive.vue View File

@@ -490,7 +490,7 @@ export default {
display: flex;
font-size: 16px;
color: #2C3542;
margin-top: 18px;
margin-top: 24px;
}

.jinboxtit {


+ 1
- 1
src/views/Statistics/Insightintothedetails.vue View File

@@ -59,7 +59,7 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="Screeningofempty()">清空筛选条件</el-button>
<el-button @click="Screeningofempty()" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto; margin-right:20px;">
<el-button v-if="fromobj.keywordIds.length==1&&sta_idx_download" @click="downLoad()">导出</el-button>


+ 67
- 16
src/views/Statistics/MentoringAbility.vue View File

@@ -88,13 +88,31 @@
</div>
</div>

<div v-if="consultantlistid">
<div :style="{'margin-top':role != 3?'170px':'120px'}" v-if="consultantlistid">
<div class="app-box-san">
<div class="zuo">
<div class="title">
<div class="text1">接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -27px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
</div>
@@ -181,8 +199,8 @@
<div id="data4" style="height: 350px"></div>
</div>
<div v-else style="height: 350px; width: 94%; margin: 0 auto;text-align:center;color: #999999;">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -192,7 +210,25 @@
<div class="title">
<div class="text1">违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -27px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -240,8 +276,8 @@
<div id="data6" style="height: 350px"></div>
</div>
<div v-else style="height: 350px; width: 94%; margin: 0 auto;text-align:center;color: #999999;">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>

</div>
@@ -261,10 +297,10 @@
style="margin-left: auto; margin-right: 10px"
v-if="sta_men_downLoad"
>
<el-button @click="downLoad">导出</el-button>
<el-button @click="downLoad" icon="el-icon-upload">导出</el-button>
</div>
</div>
<el-table max-height="300" :data="tableData" stripe style="width: 100%">
<el-table max-height="300" :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="statDate" label="日期" align="center">
<template slot-scope="scope">
{{
@@ -375,8 +411,8 @@

<div v-else class="noData">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;padding-top: 100px;">暂无数据</div>
</div>
</div>
</div>
@@ -1184,9 +1220,9 @@ export default {
padding-bottom: 100px;
}
.cen-tab {
width: 100%;
padding: 15px;
background: #ffffff;
width: 99%;
// padding: 15px;
// background: #ffffff;
margin-top: 15px;
}
.tophove {
@@ -1230,9 +1266,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
@@ -1354,7 +1395,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 10px;
margin-top: 24px;
.jinboxtit {
width: 14%;
height: 18px;
@@ -1411,4 +1452,14 @@ export default {
margin-top: 100px;
color: #999999;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

+ 188
- 42
src/views/Statistics/ReceptionOverview.vue View File

@@ -12,7 +12,7 @@
</div>
</div>
<div class="app-titel">
<div style="text-indent: 30px">接待时间:</div>
<div style="text-indent: 30px;font-weight:bold;">接待时间:</div>
<div class="toptimeqhuan">
<div :class="{ tophove: TimetoAhoose == 4 }" @click="tabtimetap(4)">
近7天
@@ -34,14 +34,32 @@
</div>

<!-- 二 -->
<div class="app-box-er">
<div class="app-box-er" :style="{'margin-top':role != 3?'110px':'70px'}">
<div class="container tabcard">
<el-card shadow="hover" :class="{ tophovese: cardindex == 4 }">
<div @click="Overviewxlick('4')">
<div class="text1">
平均执行率(%)
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -50,11 +68,11 @@
<div class="text3">
<span>环比 {{ cardobjs.fraction || 0 }}</span>
<span class="textUp" v-if="cardobjCycle.avgFration > 0">
+{{ cardobjCycle.avgFration || 0 }}
+{{ cardobjCycle.avgFration || 0 }}%
<i class="up"></i>
</span>
<span class="textDown" v-if="cardobjCycle.avgFration < 0">
{{ cardobjCycle.avgFration || 0 }}
{{ cardobjCycle.avgFration || 0 }}%
<i class="down"></i>
</span>
</div>
@@ -65,7 +83,25 @@
<div class="text1">
平均接待时长
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -89,7 +125,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -113,7 +167,25 @@
<div class="text1">
有效接待
<el-tooltip effect="light" content="筛选时间内,标记为有效的接待数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -137,7 +209,25 @@
<div class="text1">
违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -162,8 +252,8 @@
</div>

<!-- 三 -->
<div class="app-box-san">
<div class="zuo">
<div class="app-box-san" style="justify-content: space-between;">
<div class="zuo noflex" style="width:49%">
<div class="title">
<div class="text1">团队执行率趋势</div>
<div class="text2" style="justify-content: end;">
@@ -186,7 +276,7 @@
</div>
<div id="Pinspeak1"></div>
</div>
<div class="you">
<div class="you noflex" style="width:49%">
<div class="title">
<div class="text1">顾问执行率趋势</div>
<div class="text2" style="justify-content: end;">
@@ -215,15 +305,22 @@
<!-- 四 -->
<div class="app-box-san">
<div class="zuo">
<div class="title">
<div class="text1" style="font-size: 14px;">顾问{{ activeName | abName }}排名(TOP10)</div>
<div style="font-size: 14px;" class="text2">
<el-menu :default-active="activeName" mode="horizontal" @select="handleClick">
<div class="title nof" style="border:none">
<!-- <div class="text1" style="font-size: 14px;">顾问{{ activeName | abName }}排名(TOP10)</div> -->
<div class="text1" style="font-size: 14px;height: 44px;">顾问排名(TOP10)</div>
<div style="font-size: 14px;margin-left: 20px;" class="text2">
<el-radio-group v-model="activeName" size="medium" @change="handleClick">
<el-radio-button label="3" >平均执行率</el-radio-button>
<el-radio-button label="0">接待量</el-radio-button>
<el-radio-button label="1">接待时长</el-radio-button>
<el-radio-button label="2">违禁次数</el-radio-button>
</el-radio-group>
<!-- <el-menu :default-active="activeName" background-color="#FFFFFF" active-text-color="#2671E2" mode="horizontal" @select="handleClick">
<el-menu-item style="font-size: 12px;" index="3">平均执行率</el-menu-item>
<el-menu-item style="font-size: 12px;" index="0">接待量</el-menu-item>
<el-menu-item style="font-size: 12px;" index="1">接待时长</el-menu-item>
<el-menu-item style="font-size: 12px;" index="2">违禁次数</el-menu-item>
</el-menu>
</el-menu> -->
</div>
</div>
<div class="hejisan">
@@ -250,7 +347,7 @@
</div>
<div v-if="activeName !== '0'">
<div v-if="ceratelist.list.length != 0" style="
height: 360px;
/* height: 360px; */
width: 94%;
margin: 0 auto;
margin-top: 15px;
@@ -259,7 +356,7 @@
<div class="jinbox" v-for="(item, i) in ceratelist.list" :key="i">
<div class="jinboxtit">
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -267,7 +364,7 @@
</div>
<div class="jinbox-box">
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">
@@ -277,8 +374,8 @@
</div>
<div class="nulllist" v-if="ceratelist.list.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -347,14 +444,32 @@
</div>

<!-- 五 -->
<div class="app-box-san">
<div class="zuo">
<div class="app-box-san" style="justify-content: space-between;">
<div class="zuo noflex" style="width:49%">
<div class="title">
<div class="text1">场景执行率
<el-tooltip effect="light"
content="筛选时间内,场景执行率=场景执行的接待次数/有效接待数*100%,例如:品牌介绍,10次有效接待,有5次接待中都出现了品牌介绍,场景执行率=5/10*100%=50%;"
placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -27px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
</div>
@@ -369,7 +484,7 @@
<div class="jinbox" v-for="(item, i) in Zxllist" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -382,7 +497,7 @@
<div class="jinbox-box">
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl + '%' }">
</div>

</div>
@@ -391,18 +506,36 @@
</div>
<div class="nulllist" v-if="Zxllist.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
<div class="you">
<div class="you noflex" style="width:49%">
<div class="title">
<div class="text1">指标执行率
<el-tooltip effect="light"
content="筛选时间内,指标执行率=指标执行的接待次数/有效接待数*100%,例如:品牌介绍,10次有效接待,有5次接待中都出现了品牌介绍,指标执行率=5/10*100%=50%;"
placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -27px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2"></div>
@@ -425,7 +558,7 @@
<div class="jinbox" v-for="(item, i) in Zxllistchildren" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -437,7 +570,7 @@
</div>
<div class="jinbox-box">
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl + '%' }">
</div>

<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl + '%;'"></div> -->
@@ -447,8 +580,8 @@
</div>
<div class="nulllist" v-if="Zxllistchildren.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -547,6 +680,7 @@ export default {
methods: {
// 选项卡切换事件
handleClick(tab) {
console.log(tab)
this.activeName = tab;
localStorage.setItem("activeName", this.activeName);
this.overviewreceptionRanking();
@@ -1496,6 +1630,10 @@ export default {
padding-bottom: 100px;
}

.noflex{
flex: none !important;
}

.tabcard {
/deep/ .el-card__body {
padding: 8px;
@@ -1539,7 +1677,7 @@ export default {
align-items: center;
padding: 3px 12px 3px 0;
border-radius: 3px;
margin-left: 8px;
margin-left: 12px;

.up {
font-size: 14px;
@@ -1548,7 +1686,7 @@ export default {
height: 15px;
background: url("../../../public/img/indexIcon/indexCardUp.png") no-repeat;
background-size: 100%;
margin-left: 8px;
margin-left: 12px;
}
}

@@ -1597,7 +1735,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;
padding-left: 4px;

.jinboxtit {
@@ -1656,6 +1794,7 @@ export default {
#main {
width: 100%;
height: 380px;
padding-top: 20px;
}

#Brokenline1 {
@@ -1687,9 +1826,12 @@ export default {
.zuo {
flex: 1;
height: 100%;
margin-right: 15px;
// margin-right: 15px;
background: #ffffff;
border-radius: 4px;
.nof{
display: block !important;
}

.title {
width: 100%;
@@ -1753,7 +1895,7 @@ export default {
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
border-radius: 4px;
margin-top: 15px;
margin-top: 110px;
padding: 15px;
}

@@ -1797,12 +1939,16 @@ export default {


.app-top {
width: 100%;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
box-shadow: 0px 0px 10px 0px #dadada;
margin-top: -16px;
}

.app-titel {
@@ -1843,7 +1989,7 @@ export default {
width: 92%;
margin: 0 auto;
display: flex;
margin-top: 15px;
margin-top: 64px;

.text1-1 {
color: #666666;


+ 21
- 5
src/views/Statistics/ReceptionStatistical.vue View File

@@ -89,10 +89,10 @@
<div class="app-titel" style="margin-top: 15px">
<div style="margin-left: 20px">
<el-button type="primary" size="small" @click="screen()"
>查询</el-button
>筛选</el-button
>
<el-button type="primary" size="small" @click="reset()"
>清空</el-button
<el-button type="text" size="small" @click="reset()"
>清空筛选条件</el-button
>
<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>

@@ -108,7 +108,7 @@
</div>
<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" style="width: 100%">
<el-table :data="tableData" style="width: 100%" height="390">
<el-table-column prop="batchId" label="序号" align="center">
<template slot-scope="scope">
{{
@@ -769,7 +769,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 10px;
margin-top: 24px;
.jinboxtit {
width: 14%;
height: 18px;
@@ -813,4 +813,20 @@ export default {
margin-left: 15px;
min-width: 40px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 200
- 153
src/views/Statistics/TheTeamCompared.vue View File

@@ -5,18 +5,8 @@
<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-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
>
<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">
</el-option>
</el-select>
</div>
@@ -36,38 +26,23 @@
</div>
</div>
<div style="margin-left: 26px">
<el-date-picker
v-model="customtime"
@change="confirmtime()"
type="daterange"
:clearable="false"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
<el-date-picker v-model="customtime" @change="confirmtime()" type="daterange" :clearable="false"
range-separator="-" :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd"
start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</div>
<div
style="margin-left: auto; margin-right: 10px"
v-if="sta_team_downLoad"
>
<div style="margin-left: auto; margin-right: 10px" v-if="sta_team_downLoad">
<el-button @click="downLoad">导出</el-button>
</div>
</div>
</div>
<!-- 表格 -->
<div class="cen-tab">
<div class="cen-tab" :style="{'margin-top':role != 3?'110px':'70px'}">
<div style="overflow: auto">
<table>
<tbody>
<tr>
<td
v-for="(item, index) in tablsitdata1"
:key="index"
class="theadtd"
>
<tr style="background: #F5F7FA;color: #333333;">
<td v-for="(item, index) in tablsitdata1" :key="index" class="theadtd">
{{ item.name }}
</td>
</tr>
@@ -87,11 +62,7 @@
</td>
<td class="theadtd">{{ item.fraction || 0 }}%</td>
<td class="theadtd">{{ item.prohibitedZb || 0 }}%</td>
<td
class="theadtd"
v-for="(che, ind) in item.resultsList"
:key="ind"
>
<td class="theadtd" v-for="(che, ind) in item.resultsList" :key="ind">
{{ che.zxl }}%
</td>
</tr>
@@ -105,42 +76,65 @@
<div class="title">
<div class="text1">接待量排名
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -27px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj1.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj1.avg || 0 }}个</div>
</div>
</div>
<div
v-if="teamobj1.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div v-if="teamobj1.list.length != 0" style="width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in teamobj1.list" :key="i">
<div class="jinboxtit">{{ item.name }}</div>
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinbox-box">
<div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div>
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

</div>
<div class="jinboxbott">{{ item.zxl }}个</div>
</div>
</div>
<div
class="nulllist"
v-if="teamobj1.list.length == 0"
>
<div class="nulllist" v-if="teamobj1.list.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -149,39 +143,46 @@
<div class="text1">接待时长排名</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj2.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">均值</div>
<div class="text1-2">
{{ Math.floor(teamobj2.avg / 60) || 0 }}分钟
</div>
</div>
</div>
<div
v-if="teamobj2.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div v-if="teamobj2.list.length != 0" style="width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in teamobj2.list" :key="i">
<div class="jinboxtit">{{ item.name }}</div>
<!-- <div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box">
<div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div>
</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinbox-box">
<div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div>
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}分钟</div>
</div>
</div>
<div
class="nulllist"
v-if="teamobj2.list.length == 0"
>
<div class="nulllist" v-if="teamobj2.list.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -192,54 +193,49 @@
<div class="title">
<div class="text1">销讲执行率</div>
<div class="text2">
<el-select
@change="teamAllLevelidtap()"
style="width: 90%; margin: 0 auto"
v-model="teamAllLevelid"
placeholder="请选择"
>
<el-option
v-for="item in teamAllLevel"
:key="item.value"
:label="item.name"
:value="item.value"
>
<el-select @change="teamAllLevelidtap()" style="width: 90%; margin: 0 auto" v-model="teamAllLevelid"
placeholder="请选择">
<el-option v-for="item in teamAllLevel" :key="item.value" :label="item.name" :value="item.value">
</el-option>
</el-select>
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj3.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj3.avg || 0 }}%</div>
</div>
</div>
<div
v-if="teamobj3.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div v-if="teamobj3.list.length != 0" style="width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in teamobj3.list" :key="i">
<div class="jinboxtit">{{ item.name }}</div>
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinbox-box">
<div
class="boxbaifenbi"
:style="'width:' + item.zxl + '%;'"
></div>
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl + '%' }">
</div>

</div>
<div class="jinboxbott">{{ item.zxl }}%</div>
</div>
</div>
<div
class="nulllist"
v-if="teamobj3.list.length == 0"
>
<div class="nulllist" v-if="teamobj3.list.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -247,15 +243,11 @@
<div class="title">
<div class="text1">销讲能力雷达图</div>
</div>
<div
id="main"
v-if="isshowcd2 == true"
style="width: 94%; margin: 0 auto"
></div>
<div id="main" v-if="isshowcd2 == true" style="width: 94%; margin: 0 auto"></div>
<div class="nulllist" v-if="isshowcd2 == false">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -266,58 +258,75 @@
<div class="title">
<div class="text1">违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
</el-tooltip>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -27px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
<el-select
@change="teamAllLeve2tap()"
style="width: 90%; margin: 0 auto"
v-model="teamAllLeve2id"
placeholder="请选择"
>
<el-option
v-for="item in teamAllLeve2"
:key="item.value"
:label="item.name"
:value="item.value"
>
<el-select @change="teamAllLeve2tap()" style="width: 90%; margin: 0 auto" v-model="teamAllLeve2id"
placeholder="请选择">
<el-option v-for="item in teamAllLeve2" :key="item.value" :label="item.name" :value="item.value">
</el-option>
</el-select>
</div>
</div>
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{ teamobj5.num || 0 }}个</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="sanbox1" style="width: 50%;text-align: center;">
<div class="text1-1">均值</div>
<div class="text1-2">{{ teamobj5.avg || 0 }}次</div>
</div>
</div>
<div
v-if="teamobj5.list.length != 0"
style="width: 94%; margin: 0 auto"
>
<div v-if="teamobj5.list.length != 0" style="width: 94%; margin: 0 auto">
<div class="jinbox" v-for="(item, i) in teamobj5.list" :key="i">
<div class="jinboxtit">{{ item.name }}</div>
<!-- <div class="jinboxtit">{{ item.name }}</div>
<div class="jinbox-box">
<div
class="boxbaifenbi"
:style="'width:' + item.zxl1 + '%;'"
></div>
<div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div>
</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
<div class="jinboxtit">
<el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
<span class="name">{{ item.name }}</span>
</el-tooltip>
</div>
<div class="jinbox-box">
<!-- <div class="boxbaifenbi" :style="'width:' + item.zxl1 + '%;'"></div> -->
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>

</div>
<div class="jinboxbott">{{ item.zxl }}次</div>
</div>
</div>
<div
class="nulllist"
v-if="teamobj5.list.length == 0"
>
<div class="nulllist" v-if="teamobj5.list.length == 0">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -325,15 +334,11 @@
<div class="title">
<div class="text1">违禁话术雷达图</div>
</div>
<div
v-if="isshowcd == true"
id="main2"
style="width: 94%; margin: 0 auto"
></div>
<div v-if="isshowcd == true" id="main2" style="width: 94%; margin: 0 auto"></div>
<div class="nulllist" v-if="isshowcd == false">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -927,12 +932,14 @@ table {
border-collapse: collapse;
width: 100%;
}

tbody {
display: block;
// width: 100%;
// overflow-x: auto;
height: 220px;
}

tbody tr {
display: table;
width: 100%;
@@ -946,28 +953,38 @@ tbody tr {
min-width: 1000px;
padding-bottom: 100px;
}

.cen-tab {
width: 100%;
padding: 15px;
background: #ffffff;
margin-top: 15px;
margin-top: 60px;
}

.tophove {
color: #ffffff;
background: #2671e2;
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
}

.app-titel {
width: 100%;
display: flex;
align-items: center;

.titel-text {
height: 100%;
font-size: 16px;
@@ -975,6 +992,7 @@ tbody tr {
color: #32363d;
text-indent: 30px;
}

.toptimeqhuan {
width: 190px;
height: 32px;
@@ -987,6 +1005,7 @@ tbody tr {
margin-left: 20px;
cursor: pointer;
}

.toptimeqhuan div {
flex: 1;
text-align: center;
@@ -1000,17 +1019,20 @@ tbody tr {
min-height: 400px;
display: flex;
margin-top: 15px;

.zuo {
flex: 1;
margin-right: 15px;
background: #ffffff;
border-radius: 4px;

.title {
width: 100%;
height: 55px;
border-bottom: 1px solid #e0e0e0;
display: flex;
align-content: center;

.text1 {
flex: 2;
line-height: 55px;
@@ -1019,6 +1041,7 @@ tbody tr {
font-size: 16px;
color: #333333;
}

.text2 {
flex: 1;
height: 55px;
@@ -1027,16 +1050,19 @@ tbody tr {
}
}
}

.you {
flex: 1;
background: #ffffff;
border-radius: 4px;

.title {
width: 100%;
height: 55px;
border-bottom: 1px solid #e0e0e0;
display: flex;
align-content: center;

.text1 {
flex: 2;
line-height: 55px;
@@ -1045,6 +1071,7 @@ tbody tr {
font-size: 16px;
color: #333333;
}

.text2 {
flex: 1;
height: 55px;
@@ -1056,6 +1083,7 @@ tbody tr {
#main {
height: calc(400px - 55px);
}

#main2 {
height: calc(400px - 55px);
}
@@ -1068,9 +1096,11 @@ tbody tr {
display: flex;
padding-top: 10px;
padding-bottom: 10px;

.text1-1 {
color: #666666;
}

.text1-2 {
color: #333333;
margin-top: 10px;
@@ -1085,7 +1115,8 @@ tbody tr {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 10px;
margin-top: 24px;

.jinboxtit {
width: 14%;
height: 18px;
@@ -1094,30 +1125,35 @@ tbody tr {
text-overflow: ellipsis;
overflow: hidden;
}

.jinbox-box {
width: 75%;
height: 100%;
border-radius: 8px;
background: #f2f2f2;
}

.boxbaifenbi {
height: 100%;
background: #60d7a0;
border-radius: 8px;
}

.boxbaifenbi2 {
height: 100%;
background: #5b8ff9;
}

.jinboxbott {
width: 16%;
text-indent: 16px;
}
}

.theadtd {
width: 140px;
height: 48px;
border: 1px solid #e0e0e0;
border-bottom: 1px solid #E0E0E0;
text-align: center;
line-height: 48px;
font-size: 16px;
@@ -1127,4 +1163,15 @@ tbody tr {
.nulllist {
flex: 1;
}
.sequenceNum {
display: flex;
width: 28px;
height: 24px;
justify-content: center;
align-items: center;
background: #E5F0FF;
border-radius: 15px;
color: #333333;
margin-right: 10px;
}
</style>

+ 103
- 29
src/views/Statistics/TrendAnalysis.vue View File

@@ -96,13 +96,31 @@
</div>

<!-- //卡片 -->
<div class="kapian-box">
<div class="kapian-box" :style="{'margin-top':role != 3?'110px':'70px'}">
<div class="kayi">
<div class="shang">
<div class="zuo">
<div class="text1">有效接待
<el-tooltip effect="light" content="筛选时间内,标记为有效的接待数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -10px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">{{ cardobj.startSumCustomer || 0 }}次</div>
@@ -126,8 +144,8 @@
<i class="down"></i>
</span>

<span style="margin-left:15px;" v-if="cardobj.contrastSumCustomer > 0">数据有所增长</span>
<span style="margin-left:15px;" v-if="cardobj.contrastSumCustomer < 0">数据有所下降</span>
<span v-if="cardobj.contrastSumCustomer > 0">数据有所增长</span>
<span v-if="cardobj.contrastSumCustomer < 0">数据有所下降</span>

</div>
</div>
@@ -139,7 +157,25 @@
<div class="zuo">
<div class="text1">平均执行率
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -10px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">{{ cardobj.startFraction || 0 }}%</div>
@@ -163,8 +199,8 @@
<i class="down"></i>
</span>

<span style="margin-left:15px;" v-if="cardobj.contrastFraction > 0">数据有所增长</span>
<span style="margin-left:15px;" v-if="cardobj.contrastFraction < 0">数据有所下降</span>
<span v-if="cardobj.contrastFraction > 0">数据有所增长</span>
<span v-if="cardobj.contrastFraction < 0">数据有所下降</span>

</div>
</div>
@@ -176,7 +212,25 @@
<div class="zuo">
<div class="text1">平均接待时长/min
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -10px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">{{ cardobj.startSumDuration || 0 }}</div>
@@ -188,8 +242,7 @@
<div v-if="Confirmthecontrast" class="xia">
<div class="projectColumn">
<div class="span2Card">
<span class="span2-1">
环比:{{ cardobj.endSumDuration || 0 }}次</span>
<span class="span2-1">环比:{{ cardobj.endSumDuration || 0 }}次</span>

<span class="span2-2" v-if="cardobj.contrastSumDuration > 0">
+{{ cardobj.contrastSumDuration || 0 }}
@@ -200,8 +253,8 @@
<i class="down"></i>
</span>

<span style="margin-left:15px;" v-if="cardobj.contrastSumDuration > 0">数据有所增长</span>
<span style="margin-left:15px;" v-if="cardobj.contrastSumDuration < 0">数据有所下降</span>
<span v-if="cardobj.contrastSumDuration > 0">数据有所增长</span>
<span v-if="cardobj.contrastSumDuration < 0">数据有所下降</span>

</div>
</div>
@@ -260,21 +313,21 @@
</div>
<div class="noData" v-if="departmentlist.length == 0 && aliasclass == 2">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
<div class="noData" v-if="consultantlist.length == 0 && aliasclass == 3">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
<div v-if="mainFlag" id="main"></div>
<div class="flag" style="text-align:center;" v-if="!mainFlag">
<div class="imgboxc">
<img class="imgboxc-img" src="/img/nullnull.png" alt="" />
<div class="nulltext">暂无数据</div>
<!-- <img class="imgboxc-img" src="/img/nullnull.png" alt="" /> -->
<div class="nulltext" style="font-size:14px;">暂无数据</div>
</div>
</div>
</div>
@@ -283,7 +336,7 @@
<div class="app-box-san" v-if="Confirmthecontrast && aliasclass != 3 && aliasclass != 4">
<div class="santitle">对比报表</div>
<div class="santab">
<el-table :data="tableData" height="400" border style="width: 100%">
<el-table :data="tableData" height="390" border style="width: 100%">
<el-table-column prop="name" label="时间" align="center">
</el-table-column>
<el-table-column prop="shiduan1" label="时段1" align="center">
@@ -1261,10 +1314,19 @@ export default {
width: 95%;

.span2Card {
display: flex !important;
justify-content: space-between !important;
font-size: 14px !important;
align-items: center !important;
overflow: hidden;
display: flex;
align-items: center;
padding: 0 30px;

span {
float: left;
}

// display: flex !important;
// justify-content: space-between !important;
// font-size: 14px !important;
// align-items: center !important;

.span2-2 {
display: flex;
@@ -1274,6 +1336,7 @@ export default {
align-items: center;
padding: 3px 12px;
border-radius: 3px;
margin: 0 18px;

.up {
display: block;
@@ -1384,8 +1447,14 @@ export default {
height: 42px;
line-height: 42px;
text-align: center;
border: 1px solid #e0e0e0;
border-left: 1px solid #e0e0e0;
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #e0e0e0;
font-size: 14px;
&:last-child{
border-right: 1px solid #e0e0e0;

}
}

.claindex {
@@ -1398,7 +1467,7 @@ export default {
.kapian-box {
width: 100%;
// height: 144px;
margin-top: 15px;
margin-top: 100px;
display: flex;

.kayi {
@@ -1456,7 +1525,7 @@ export default {
.xia {
width: 100%;
font-size: 14px;
text-indent: 30px;
// text-indent: 30px;
margin-bottom: 10px;

.span1 {
@@ -1479,9 +1548,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
@@ -1542,10 +1616,10 @@ export default {
.noData {
width: 100%;
// height: 60vh;
height: 500px;
// height: 500px;
background: #fff;
text-align: center;
margin-top: 20px;
// margin-top: 20px;
overflow: hidden;
}



+ 170
- 15
src/views/Statistics/dataScreeAge.vue View File

@@ -26,7 +26,7 @@
</div>

<!-- 二 -->
<div class="app-box-er">
<div class="app-box-er" style="margin-top:60px">
<div class="container">
<div class="cardItem" @click="changeTab('服务期内项目总数')" :class="{ borderCss: tabName == '服务期内项目总数' }">
<span>服务期内项目总数</span>
@@ -121,7 +121,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -145,7 +163,25 @@
<div class="text1">
活跃用户数
<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -169,7 +205,25 @@
<div class="text1">
活跃设备数
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -192,7 +246,7 @@
</div>
<div id="main" v-if="echarValue1 == 0"></div>
<div v-if="echarValue1 == 1">
<el-table :data="echarList1" stripe style="width: 100%">
<el-table :data="echarList1" stripe style="width: 100%" height="390">
<!-- <el-table-column type="index" label="序号" width="50">
</el-table-column> -->
<el-table-column prop="time" label="时间" align="center">
@@ -206,7 +260,7 @@
<el-table-column prop="activeEquipmentQuantity" label="活跃设备" align="center">
</el-table-column>
<!-- scope -->
<el-table-column label="操作" align="center">
<el-table-column label="操作" align="center" width="80">
<template slot-scope="{ row }">
<el-button type="text" @click="goDetail(row)">查看详情</el-button>
</template>
@@ -280,7 +334,25 @@
<div class="text1">
活跃用户数
<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -305,7 +377,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -329,7 +419,25 @@
<div class="text1">
平均接待时长
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -353,7 +461,25 @@
<div class="text1">
活跃设备数
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -398,7 +524,25 @@
<div class="text1">
销售设备数
<el-tooltip effect="light" content="筛选时间内,绑定正式+测试的楼盘的设备数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -480,7 +624,7 @@

<div id="echar2" v-if="echarValue == 0"></div>
<div v-if="echarValue == 1">
<el-table :data="echarList" stripe style="width: 100%">
<el-table :data="echarList" stripe style="width: 100%" height="390">
<!-- <el-table-column type="index" label="序号" width="50">
</el-table-column> -->
<el-table-column prop="date" label="日期" align="center">
@@ -536,7 +680,7 @@
<el-dialog :title="elTitle" :visible.sync="dialogVisible">
<div class="cen-tab">
<div style="font-size: 20px">{{ timeStr }}</div>
<el-table :data="detailList" stripe style="width: 100%">
<el-table :data="detailList" stripe style="width: 100%" height="390">
<el-table-column v-if="visible1" prop="houseName" label="项目" align="center">
</el-table-column>
<el-table-column v-if="visible1" prop="receptionQuantity" label="接待量" align="center">
@@ -1460,7 +1604,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;

.jinboxtit {
width: 14%;
@@ -1638,9 +1782,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
@@ -1700,4 +1849,10 @@ export default {
display: flex;
justify-content: space-between;
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 151
- 14
src/views/Statistics/dataScreeOrg.vue View File

@@ -61,7 +61,7 @@
</div> -->

<!-- 二 -->
<div class="app-box-er">
<div class="app-box-er" style="margin-top:60px">
<div class="container">
<!-- <div class="grid-content">
<div class="text1">代理商数</div>
@@ -162,7 +162,25 @@
<div class="cardItem" @click="changeTab('接待量')" :class="{ borderCss: tabName == '接待量' }">
<span>接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip></span>
<h2>{{ firstTab.receptionQuantity || 0 }}</h2>
<div class="sel" :class="{ seled: tabName == '接待量' }">
@@ -188,7 +206,25 @@
</div>
<div class="cardItem" @click="changeTab('平均接待时长')" :class="{ borderCss: tabName == '平均接待时长' }">
<span>平均接待时长<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip></span>
<h2>{{ firstTab.receptionTimeWithAvg || 0 }}</h2>
<div class="sel" :class="{ seled: tabName == '平均接待时长' }">
@@ -237,7 +273,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -265,7 +319,25 @@
>
<div class="text1" :class="{ tophovese: secindex == 1 }">接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2" :class="{ tophovese: secindex == 1 }">
@@ -291,7 +363,7 @@
</div>
<div id="main" v-if="echarValue1 == 0"></div>
<div v-if="echarValue1 == 1">
<el-table :data="echarList1" stripe style="width: 100%">
<el-table :data="echarList1" stripe style="width: 100%" height="390">
<!-- <el-table-column type="index" label="序号" width="50">
</el-table-column> -->
<el-table-column prop="time" label="时间" align="center">
@@ -313,7 +385,7 @@
>
</el-table-column> -->
<!-- scope -->
<el-table-column label="操作" align="center">
<el-table-column label="操作" align="center" width="80">
<template slot-scope="{ row }">
<el-button type="text" @click="goDetail(row)">查看详情</el-button>
</template>
@@ -408,7 +480,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -432,7 +522,25 @@
<div class="text1">
平均接待时长
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -456,7 +564,25 @@
<div class="text1">
活跃设备数
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -504,7 +630,7 @@

<div id="echar2" v-if="echarValue == 0"></div>
<div v-if="echarValue == 1">
<el-table :data="echarList" stripe style="width: 100%">
<el-table :data="echarList" stripe style="width: 100%" height="390">
<!-- <el-table-column type="index" label="序号" width="50">
</el-table-column> -->
<el-table-column prop="date" label="日期" align="center">
@@ -589,7 +715,7 @@
<el-dialog :title="elTitle" :visible.sync="dialogVisible">
<div class="cen-tab">
<div style="font-size: 20px">{{ timeStr }}</div>
<el-table :data="detailList" stripe style="width: 100%">
<el-table :data="detailList" stripe style="width: 100%" height="390">
<el-table-column v-if="visible1" prop="houseName" label="项目" align="center">
</el-table-column>
<el-table-column v-if="visible1" prop="receptionQuantity" label="接待量" align="center">
@@ -1492,7 +1618,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;

.jinboxtit {
width: 14%;
@@ -1670,9 +1796,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
@@ -1732,4 +1863,10 @@ export default {
display: flex;
justify-content: space-between;
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 208
- 17
src/views/Statistics/dataScreeSys.vue View File

@@ -27,7 +27,7 @@
</div>

<!-- 二 -->
<div class="app-box-er">
<div class="app-box-er" style="margin-top:60px">
<div class="container">
<div v-if="agentissow" class="cardItem" @click="changeTab('代理商数')" :class="{ borderCss: tabName == '代理商数' }">
<span>代理商数</span>
@@ -155,7 +155,25 @@
<div class="cardItem" @click="changeTab('接待量')" :class="{ borderCss: tabName == '接待量' }">
<span>接待量</span>
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -10px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
<h2>{{ firstTab.receptionQuantity || 0 }}</h2>
<div class="sel" :class="{ seled: tabName == '接待量' }">
@@ -181,7 +199,25 @@
</div>
<div class="cardItem" @click="changeTab('平均接待时长')" :class="{ borderCss: tabName == '平均接待时长' }">
<span>接平均接待时长<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -10px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip></span>
<h2> {{ firstTab.receptionTimeWithAvg || 0 }}</h2>
<div class="sel" :class="{ seled: tabName == '平均接待时长' }">
@@ -231,7 +267,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -7px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -255,7 +309,25 @@
<div class="text1">
活跃用户数
<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -279,7 +351,25 @@
<div class="text1">
活跃设备数
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -302,7 +392,7 @@
</div>
<div v-if="echarValue1 == 0" id="main"></div>
<div v-if="echarValue1 == 1">
<el-table :data="echarList1" stripe style="width: 100%">
<el-table :data="echarList1" stripe style="width: 100%" height="390">
<!-- <el-table-column type="index" label="序号" width="50">
</el-table-column> -->
<el-table-column prop="time" label="时间" align="center">
@@ -316,7 +406,7 @@
<el-table-column prop="activeEquipmentQuantity" label="活跃设备" align="center">
</el-table-column>
<!-- scope -->
<el-table-column label="操作" align="center">
<el-table-column label="操作" align="center" width="80">
<template slot-scope="{ row }">
<el-button type="text" @click="goDetail(row)">查看详情</el-button>
</template>
@@ -398,7 +488,25 @@
<div @click="Overviewxlick('4')">
<div class="text1">
活跃用户数<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -443,7 +551,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -7px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -467,7 +593,25 @@
<div class="text1">
平均接待时长
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -491,7 +635,25 @@
<div class="text1">
活跃设备数
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -514,7 +676,25 @@
<div @click="Overviewxlick('9')">
<div class="text1">
销售设备数<el-tooltip effect="light" content="筛选时间内,绑定正式+测试的楼盘的设备数;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -21px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -630,7 +810,7 @@

<div v-if="echarValue == 0" id="echar2"></div>
<div v-if="echarValue == 1">
<el-table :data="echarList" stripe style="width: 100%">
<el-table :data="echarList" stripe style="width: 100%" height="390">
<!-- <el-table-column type="index" label="序号" width="50">
</el-table-column> -->
<el-table-column prop="date" label="日期" align="center">
@@ -684,7 +864,7 @@
<el-dialog :title="elTitle" :visible.sync="dialogVisible">
<div class="cen-tab">
<div style="font-size: 20px">{{ timeStr }}</div>
<el-table :data="detailList" stripe style="width: 100%">
<el-table :data="detailList" stripe style="width: 100%" height="390">
<el-table-column v-if="visible1" prop="houseName" label="项目" align="center">
</el-table-column>
<el-table-column v-if="visible1" prop="receptionQuantity" label="接待量" align="center">
@@ -1647,7 +1827,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;

.jinboxtit {
width: 14%;
@@ -1825,9 +2005,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;
@@ -1887,4 +2072,10 @@ export default {
display: flex;
justify-content: space-between;
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 9
- 4
src/views/Statistics/houseDataSys.vue View File

@@ -64,7 +64,7 @@
</div>
</div>

<div class="app-box-er">
<div class="app-box-er" :style="{'marginTop':orgType != 2?'60px':'0px'}">
<div class="container1">
<div class="cardItem" @click="changeTab('服务期内项目数')" :class="{ borderCss: tabName == '服务期内项目数' }">
<span>服务期内项目数</span>
@@ -208,7 +208,7 @@

<div class="app-box-er" v-if="selectTime1">
<template>
<el-table :data="tableData" style="width: 100%" height="320">
<el-table :data="tableData" style="width: 100%" height="390">
<el-table-column prop="time" label="时间" align="center">
</el-table-column>
<el-table-column prop="data1" label="时段一" align="center">
@@ -883,7 +883,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;
.jinboxtit {
width: 14%;
height: 18px;
@@ -1037,9 +1037,14 @@ export default {
color: #2671e2;
}
.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;


+ 10
- 5
src/views/Statistics/index.vue View File

@@ -19,7 +19,7 @@
</div>

<div class="app-titel2">
<div style="text-indent: 30px;">接待时间:</div>
<div style="text-indent: 30px;font-weight: bold;">接待时间:</div>
<div class="toptimeqhuan">
<div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">
今日
@@ -49,7 +49,7 @@
</div>

<!-- 中间 -->
<div class="app-box">
<div class="app-box" :style="{'margin-top':orgType != 3?'110px':'70px'}">
<div class="conbox">客群特征总览</div>
<div class="alllistbox">
<div
@@ -84,7 +84,7 @@
line-height: 300px;
text-align: center;
color: #999999;
font-size: 16px;
font-size: 14px;
"
>
暂无数据
@@ -273,7 +273,7 @@ export default {
})
.then((res) => {
this.objlist = res.data.list;
this.alllist = [{ name: "客户数量", num: res.data.total }];
this.alllist = [{ name: "有效接待", num: res.data.total }];
res.data.list.forEach((item, index) => {
this.alllist.push({
name: item.name,
@@ -575,9 +575,14 @@ export default {
font-size: 14px;
}
.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;


+ 104
- 9
src/views/Statistics/trend.vue View File

@@ -83,7 +83,7 @@
</div>
</div>

<div class="app-box-er" >
<div class="app-box-er" style="margin-top:70px">
<div class="app-titel" style="margin-bottom: 10px">
<div class="titel-text" style="text-indent: 0; min-width: 64px">
项目趋势
@@ -175,7 +175,25 @@
<div class="text1">
接待量
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -199,7 +217,25 @@
<div class="text1">
有效接待
<el-tooltip effect="light" content="筛选时间内,标记为有效的接待数,不包含待接单;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -244,7 +280,25 @@
<div class="text1">
违禁接待次数
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -268,7 +322,25 @@
<div class="text1">
平均执行率
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -292,7 +364,25 @@
<div class="text1">
平均接待时长
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -8px;
left: 50%;
margin-left: -22px;">?</span>
</i>
</el-tooltip>
</div>
<div class="text2">
@@ -321,7 +411,7 @@

<div class="app-box-er" v-if="selectTime1">
<template>
<el-table :data="tableData" style="width: 100%" height="320">
<el-table :data="tableData" style="width: 100%" height="390">
<el-table-column prop="time" label="时间" align="center">
</el-table-column>
<el-table-column prop="data1" label="时段一" align="center">
@@ -1079,7 +1169,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 20px;
margin-top: 24px;
.jinboxtit {
width: 14%;
height: 18px;
@@ -1234,9 +1324,14 @@ export default {
color: #2671e2;
}
.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
padding-bottom: 15px;


+ 333
- 319
src/views/Template/Pinspeakwords.vue View File

@@ -1,161 +1,161 @@
<template>
<div class="box-center">
<div id="app">
<div class="content-left">
<div v-if="orgType!=3">
<span style="color: red">*</span> 项目选择:
<el-select v-model="houseId" size="mini" @change="selectChange" clearable :disabled="disabledcet" placeholder="请选择">
<el-option v-for="item in houseList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<div id="app">
<div class="content-left">
<div v-if="orgType != 3">
<span style="color: red">*</span> 项目选择:
<el-select v-model="houseId" size="mini" @change="selectChange" clearable :disabled="disabledcet"
placeholder="请选择">
<el-option v-for="item in houseList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="select" style="display: flex;margin-top: 40px;">
<div class="select" style="display: flex;margin-top: 40px;">
<div style="font-size:18px;font-weight: bold;">添加模板</div>
<el-row>
<el-col :offset="18" :span="6">
<el-button size="mini" type="primary" @click="addBigNode">添加大类</el-button>
</el-col>
</el-row>
<el-row>
<el-col :offset="18" :span="6">
<el-button size="mini" type="primary" @click="addBigNode">添加大类</el-button>
</el-col>
</el-row>

</div>
<input ref="input" style="display:none" value='${tempId}' />
</div>
<input ref="input" style="display:none" value='${tempId}' />

<el-tree ref="tree"
:data="treeList"
:default-checked-keys="defaultCheck" show-checkbox node-key="id"
default-expand-all :check-on-click-node="true" :expand-on-click-node="false"
draggable :allow-drop="allowDrop" :allow-drag="allowDrag"
@node-drop="Peerdrag">
<span class="custom-tree-node" slot-scope="{ node, data }">
<span> <b v-if="data.sign==0 && data.houseId==null" style="color: red">*</b> {{ node.label }}</span>
<span>
<el-button style="color:red;" v-if="node.level==1" type="text" size="mini" @click.stop="() => append(node,data)">添加子类</el-button>
<span v-if="data.houseId!=null">
<el-button v-if="node.level==2" type="text" size="mini" @click.stop="() => append1(node,data)"> 添加子类 </el-button>
<el-button type="text" size="mini" @click.stop="() => remove(node,data)"> 删除 </el-button>
<el-button type="text" size="mini" @click.stop="() => ddeditor(node,data)"> 编辑 </el-button>
<el-tree ref="tree" :data="treeList" :default-checked-keys="defaultCheck" show-checkbox node-key="id"
default-expand-all :check-on-click-node="true" :expand-on-click-node="false" draggable :allow-drop="allowDrop"
:allow-drag="allowDrag" @node-drop="Peerdrag">
<span class="custom-tree-node" slot-scope="{ node, data }">
<span> <b v-if="data.sign == 0 && data.houseId == null" style="color: red">*</b> {{ node.label }}</span>
<span>
<el-button style="color:red;" v-if="node.level == 1" type="text" size="mini"
@click.stop="() => append(node, data)">添加子类</el-button>
<span v-if="data.houseId != null">
<el-button v-if="node.level == 2" type="text" size="mini" @click.stop="() => append1(node, data)"> 添加子类
</el-button>
<el-button type="text" size="mini" @click.stop="() => remove(node, data)"> 删除 </el-button>
<el-button type="text" size="mini" @click.stop="() => ddeditor(node, data)"> 编辑 </el-button>
</span>
<el-button v-if="data.sign != 1" type="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</el-button>
</span>
<el-button v-if="data.sign!=1" type="text" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</el-button>
</span>
</span>
</el-tree>
</el-tree>


<div class="update-btn">
<el-button type="primary" size="mini" @click="getCheckedNode">获取选中节点</el-button>
</div>
<!-- 新增弹框 -->
<el-dialog title="新增" :visible.sync="dialogFormVisible">
<el-form :model="addForm">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="一级大类名称:" v-if="level==0" :label-width="formLabelWidth">
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="二级小类名称:" v-if="level==1" :label-width="formLabelWidth">
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="三级小类名称:" v-if="level==2" :label-width="formLabelWidth">
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="addSubmit">确 定</el-button>
<div class="update-btn">
<el-button type="primary" size="mini" @click="getCheckedNode">获取选中节点</el-button>
</div>
</el-dialog>
<!-- 新增弹框 -->
<el-dialog title="新增" :visible.sync="dialogFormVisible" :center="true" width="400px">
<el-form :model="addForm">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="一级大类名称:" v-if="level == 0" :label-width="formLabelWidth">
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="二级小类名称:" v-if="level == 1" :label-width="formLabelWidth">
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="三级小类名称:" v-if="level == 2" :label-width="formLabelWidth">
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" :loading="loadingFlag" @click="addSubmit">确 定</el-button>
</div>
</el-dialog>




<!-- 删除确认弹框 -->
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%">
<span>确定删除该条内容吗</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="checkDelete">确 定</el-button>
</span>
</el-dialog>
<!-- 删除确认弹框 -->
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%" :center="true">
<span>确定删除该条内容吗</span>
<span slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="checkDelete">确 定</el-button>
</span>
</el-dialog>

</div>
</div>

<!-- 评分 -->
<div class="content-right">
<el-row>
<el-col :span="20">
(提示:拖拽大类可以排序)
</el-col>
</el-row>
<!-- 评分 -->
<div class="content-right">
<el-row>
<el-col :span="20">
(提示:拖拽大类可以排序)
</el-col>
</el-row>

<draggable
class="list-group"
tag="ul"
v-model="newlist"
v-bind="dragOptions"
@start="drag = true"
@end="drag = false"
@change="onDragCallback">
<div style="border: 2px dashed #CCCCCC;margin-top: 30px;padding:6px;border-radius: 6px;font-size: 14px;"
v-for="(item,index) in newlist" :key="item.id">
<div style="display: flex;align-items: center;height: 40px;">
<div >{{item.name||''}}:</div>
<div>
<el-input @input="inputYiji($event,index)" style="width: 100px;" v-model.number="item.fraction" type="number" size="mini" ></el-input>
</div>
<div style="margin-left: 10px;">
<el-button type="danger" size="mini" @click="Deletecategories(item,index)">删除</el-button>
</div>
</div>
<div class="erji" style="margin-left: 30px;" v-for="(asd,idx) in item.children" :key="idx">
<div style="display: flex;align-items: center;height: 40px;">
<div>{{asd.name||''}}:</div>
<div>
<draggable class="list-group" tag="ul" v-model="newlist" v-bind="dragOptions" @start="drag = true"
@end="drag = false" @change="onDragCallback">
<div style="border: 2px dashed #CCCCCC;margin-top: 30px;padding:6px;border-radius: 6px;font-size: 14px;"
v-for="(item, index) in newlist" :key="item.id">
<div style="display: flex;align-items: center;height: 40px;">
<div>{{ item.name || '' }}:</div>
<div>
<el-input @input="inputYiji($event, index)" style="width: 100px;" v-model.number="item.fraction"
type="number" size="mini"></el-input>
</div>
<div style="margin-left: 10px;">
<el-button type="danger" size="mini" @click="Deletecategories(item, index)">删除</el-button>
</div>
</div>
<div class="erji" style="margin-left: 30px;" v-for="(asd, idx) in item.children" :key="idx">
<div style="display: flex;align-items: center;height: 40px;">
<div>{{ asd.name || '' }}:</div>
<div>

<el-input @input="inputBlur($event,index,idx)" style="width: 100px;" v-model.number="asd.fraction" type="number" size="mini" ></el-input>
<el-input @input="inputBlur($event, index, idx)" style="width: 100px;" v-model.number="asd.fraction"
type="number" size="mini"></el-input>

</div>
<div style="margin-left: 10px;">
<el-button type="primary" size="mini" @click="Removethesecondary(index,idx,asd)">删除</el-button>
</div>
</div>
<div class="sanji" style="width:90%;" >
<div style="display: flex;align-items: center;height: 40px;" v-for="(sanji,indx) in asd.children" :key="indx">
<div style="width:85% ;margin-left: 30px;">{{sanji.name||''}}</div>
<div style="margin-left: 10px;">
<el-button type="info" size="mini" @click="Deletethelevel(index,idx,indx,sanji)">删除</el-button>
</div>
</div>
</div>
</div>
</div>
</draggable>
</div>
<div style="margin-left: 10px;">
<el-button type="primary" size="mini" @click="Removethesecondary(index, idx, asd)">删除</el-button>
</div>
</div>
<div class="sanji" style="width:90%;">
<div style="display: flex;align-items: center;height: 40px;" v-for="(sanji, indx) in asd.children"
:key="indx">
<div style="width:85% ;margin-left: 30px;">{{ sanji.name || '' }}</div>
<div style="margin-left: 10px;">
<el-button type="info" size="mini" @click="Deletethelevel(index, idx, indx, sanji)">删除</el-button>
</div>
</div>
</div>
</div>
</div>
</draggable>

<div style="display: flex;align-items: center;margin-top:30px;">
<el-button type="primary" size="mini" @click="cancel">取消</el-button>
<el-button style="margin-left: 30px;" type="primary" size="mini" @click="submitForm">保存</el-button>
</div>
<div style="display: flex;align-items: center;margin-top:30px;">
<el-button type="primary" size="mini" @click="cancel">取消</el-button>
<el-button style="margin-left: 30px;" type="primary" size="mini" @click="submitForm">保存</el-button>
</div>

</div>
</div>


<!--?编辑弹框?-->
<el-dialog title="编辑" :visible.sync="isshowage">
<div style="display: flex;align-items: center;height: 40px;">
<div>类名:</div>
<div>
<el-input type="text" maxlength="8" v-model="frosasd.name" autocomplete="off"></el-input>
</div>
<!--?编辑弹框?-->
<el-dialog title="编辑" :visible.sync="isshowage" :center="true" width="30%">
<div style="display: flex;align-items: center;height: 40px;width: 100%;">
<div>类名:</div>
<div style="width:88%">
<el-input type="text" maxlength="8" v-model="frosasd.name" autocomplete="off"></el-input>
</div>
</div>

<div slot="footer" class="dialog-footer">
<el-button @click="submicll()">取 消</el-button>
<el-button type="primary" @click="submiadd()">提交</el-button>
</div>
</el-dialog>
<div slot="footer" class="dialog-footer"
style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="submicll()">取 消</el-button>
<el-button type="primary" @click="submiadd()">提交</el-button>
</div>
</el-dialog>

</div>
</div>
</div>
</template>

@@ -170,7 +170,7 @@ export default {
treeList: [], //树形数据
newlist: [],
nodelist: [],
orgType:localStorage.getItem('orgType'),
orgType: localStorage.getItem('orgType'),
dialogFormVisible: false, // 弹框
dialogVisible: false,
isshowage: false,
@@ -195,12 +195,12 @@ export default {
addid: null, // 新增的节点id(接口生成)
deleteId: null, // 要删除的表单节点的ID
disabledcet: false,
Templateid:'',
loadingFlag:false,
Templateid: '',
loadingFlag: false,
};
},
components: {
draggable,
draggable,
},
created() {
this.allTreeListId = []; // 存储的当前树图所有的接单的ID集合,如:[1,3,4,6,7]
@@ -209,8 +209,8 @@ export default {
this.sortMap = new Map();
},
mounted() {
var isnull=this.$route.query.flag;
this.Templateid=isnull.id;
var isnull = this.$route.query.flag;
this.Templateid = isnull.id;
this.setInitCheck()
},
computed: {
@@ -231,39 +231,39 @@ export default {
},
// 获取项目下拉的数据
getHouse() {
this.$api.api.findHouseByUser({
orgType: localStorage.getItem("orgType"),
}).then((res) => {
this.houseList = res.data.map((item) => {
return {
value: item.id,
label: item.propertyName,
};
});
if (this.houseId == "") {
if(localStorage.getItem('orgType')==3){
this.houseId=localStorage.getItem('houseId')
}else{
this.houseId = this.houseList[0].value;
}
// this.houseId = this.houseList[0].value;
}
this.templategetMarketingTree()
})
this.$api.api.findHouseByUser({
orgType: localStorage.getItem("orgType"),
}).then((res) => {
this.houseList = res.data.map((item) => {
return {
value: item.id,
label: item.propertyName,
};
});
if (this.houseId == "") {
if (localStorage.getItem('orgType') == 3) {
this.houseId = localStorage.getItem('houseId')
} else {
this.houseId = this.houseList[0].value;
}
// this.houseId = this.houseList[0].value;
}
this.templategetMarketingTree()
})
},
//获取模板
templategetMarketingTree(){
let parmest={
houseId:this.houseId,
templategetMarketingTree() {
let parmest = {
houseId: this.houseId,
}
this.$api.api.templategetMarketingTree(parmest).then((res) => {
console.log(res);
let data = res.data;
data = JSON.stringify(data).replace(/name/g, "label");
data = JSON.parse(data);
this.treeList = data;
this.getAllTreeListId(this.treeList);
})
this.$api.api.templategetMarketingTree(parmest).then((res) => {
console.log(res);
let data = res.data;
data = JSON.stringify(data).replace(/name/g, "label");
data = JSON.parse(data);
this.treeList = data;
this.getAllTreeListId(this.treeList);
})
},
// 递归获取所有的ID
getAllTreeListId(arr) {
@@ -297,28 +297,28 @@ export default {
},
// 树图,设置初始选中值及分数回显--编辑跳转过来的
setInitCheck() {
if(this.Templateid==''){
if (this.Templateid == '') {
//获取项目
this.getHouse();
}else{
} else {
this.disabledcet = true;
let parmest={
tempId:this.Templateid,
let parmest = {
tempId: this.Templateid,
}
this.$api.http.templatedelfindByTempId(parmest).then((res) => {
this.houseId = res.data.houseId;
this.checklist = res.data.list;
this.nodelist = res.data.list;
this.getHouse2();
this.checklist.forEach((item) => {
this.rateMap.set(item.id, item.fraction); // map维护分数
this.sortMap.set(item.id, item.sort); // 排序维护
if (item.pid !== 0) {
this.defaultCheck.push(item.id);
}
});
console.log(this.newlist,"99999999999999999999999999")
this.listCheckedchaifen();
this.houseId = res.data.houseId;
this.checklist = res.data.list;
this.nodelist = res.data.list;
this.getHouse2();
this.checklist.forEach((item) => {
this.rateMap.set(item.id, item.fraction); // map维护分数
this.sortMap.set(item.id, item.sort); // 排序维护
if (item.pid !== 0) {
this.defaultCheck.push(item.id);
}
});
console.log(this.newlist, "99999999999999999999999999")
this.listCheckedchaifen();

})
}
@@ -326,9 +326,9 @@ export default {
},
// 获取项目下拉的数据
getHouse2() {
this.$api.api.findHouseByUser({
orgType: localStorage.getItem("orgType"),
}).then((res) => {
this.$api.api.findHouseByUser({
orgType: localStorage.getItem("orgType"),
}).then((res) => {
this.houseList = res.data.map((item) => {
return {
value: item.id,
@@ -336,7 +336,7 @@ export default {
};
});
this.templategetMarketingTree()
})
})
},


@@ -739,11 +739,11 @@ export default {
},
// 评分保存 新增模板
saveRate(params) {
if (this.Templateid!='') {
if (this.Templateid != '') {
params.tempId = this.Templateid;
}
this.$api.http.templategeaddTemplate(params).then((res) => {
this.$message({
this.$message({
message: "保存成功",
type: "success",
});
@@ -752,7 +752,7 @@ export default {
},


//拖拽排序
//拖拽排序
Peerdrag(before) {
let arr = [];
this.treeList.forEach((item, index) => {
@@ -797,7 +797,7 @@ export default {
},
//排序提交
dragSort(list) {
this.$api.http.templategeupdateSort({children:list}).then((res) => {
this.$api.http.templategeupdateSort({ children: list }).then((res) => {

})
},
@@ -847,11 +847,11 @@ export default {
// 点击添加节点确认按钮
addSubmit() {
if (this.addForm.name != "") {
this.loadingFlag=true
setTimeout(() => {
this.loadingFlag=false
console.log('防重')
}, 1);
this.loadingFlag = true
setTimeout(() => {
this.loadingFlag = false
console.log('防重')
}, 1);
this.dialogFormVisible = false;
this.addNode();
} else {
@@ -864,112 +864,112 @@ export default {
},
// 新增的节点保存
addNode() {
this.$api.http.templategeadd({
pid: this.pid,
name: this.addForm.name,
houseId: this.houseId,
sign:1
}).then((res) => {
if (this.level == 0) {
// 大类
let newNode = {
id: res.data,
sign: 1,
pid: 0,
sort: this.treeList.length + 1,
label: this.addForm.name,
fraction: "",
children: [],
houseId: this.houseId,
};
this.treeList.push(newNode);
this.allTreeListId.push(res.data.obj);
} else if (this.level == 1) {
// 二级
let newChild = {
id: res.data,
pid: this.pid,
sign: 1,
fraction: "",
sort: null,
label: this.addForm.name,
children: [],
houseId: this.houseId,
};
this.$api.http.templategeadd({
pid: this.pid,
name: this.addForm.name,
houseId: this.houseId,
sign: 1
}).then((res) => {
if (this.level == 0) {
// 大类
let newNode = {
id: res.data,
sign: 1,
pid: 0,
sort: this.treeList.length + 1,
label: this.addForm.name,
fraction: "",
children: [],
houseId: this.houseId,
};
this.treeList.push(newNode);
this.allTreeListId.push(res.data.obj);
} else if (this.level == 1) {
// 二级
let newChild = {
id: res.data,
pid: this.pid,
sign: 1,
fraction: "",
sort: null,
label: this.addForm.name,
children: [],
houseId: this.houseId,
};

this.treeList.forEach((item, index) => {
if (item.id == this.pid) {
item.children.push(newChild);
this.treeList.forEach((item, index) => {
if (item.id == this.pid) {
item.children.push(newChild);
}
});
this.allTreeListId.push(res.data.obj);
} else {
let newChilds = {
id: res.data,
sign: 1,
fraction: "",
pid: this.pid,
sort: null,
label: this.addForm.name,
houseId: this.houseId,
};
this.treeList.forEach((item, index) => {
item.children.forEach((ite, inde) => {
if (ite.id == this.pid) {
ite.children.push(newChilds);
}
});
this.allTreeListId.push(res.data.obj);
} else {
let newChilds = {
id: res.data,
sign: 1,
fraction: "",
pid: this.pid,
sort: null,
label: this.addForm.name,
houseId: this.houseId,
};
this.treeList.forEach((item, index) => {
item.children.forEach((ite, inde) => {
if (ite.id == this.pid) {
ite.children.push(newChilds);
}
});
});
this.allTreeListId.push(res.data.obj);
}
})
});
this.allTreeListId.push(res.data.obj);
}
})
},
//编辑提交
submiadd() {
var that = this;
let parmest={
name: that.frosasd.name,
id: that.frosasd.id,
let parmest = {
name: that.frosasd.name,
id: that.frosasd.id,
}
this.$api.http.templategeupdate(parmest).then((res) => {
that.treeList.forEach((item, index) => {
if (item.id == that.frosasd.id) {
that.treeList[index].label = that.frosasd.name;
that.isshowage = false;
that.$message({
message: "修改成功",
type: "success",
});
return;
} else {
item.children.forEach((asd, indexesd) => {
if (asd.id == that.frosasd.id) {
that.treeList[index].children[indexesd].label =
that.frosasd.name;
that.isshowage = false;
that.$message({
message: "修改成功",
type: "success",
});
return;
} else {
asd.children.forEach((zxc, indexzxc) => {
if (zxc.id == that.frosasd.id) {
that.treeList[index].children[indexesd].children[
indexzxc
].label = that.frosasd.name;
that.isshowage = false;
that.$message({
message: "修改成功",
type: "success",
});
return;
}
});
}
});
}
});
that.treeList.forEach((item, index) => {
if (item.id == that.frosasd.id) {
that.treeList[index].label = that.frosasd.name;
that.isshowage = false;
that.$message({
message: "修改成功",
type: "success",
});
return;
} else {
item.children.forEach((asd, indexesd) => {
if (asd.id == that.frosasd.id) {
that.treeList[index].children[indexesd].label =
that.frosasd.name;
that.isshowage = false;
that.$message({
message: "修改成功",
type: "success",
});
return;
} else {
asd.children.forEach((zxc, indexzxc) => {
if (zxc.id == that.frosasd.id) {
that.treeList[index].children[indexesd].children[
indexzxc
].label = that.frosasd.name;
that.isshowage = false;
that.$message({
message: "修改成功",
type: "success",
});
return;
}
});
}
});
}
});
})
},
//编辑
@@ -980,32 +980,32 @@ export default {
},
// 删除自定义的节点
checkDelete() {
let parmest={
id: this.deleteId,
let parmest = {
id: this.deleteId,
}
this.$api.http.templategedel(parmest).then((res) => {
this.treeList.forEach((item, index) => {
if (item.id == this.deleteId) {
this.treeList.splice(index, 1);
} else {
item.children.forEach((ite, inde) => {
if (ite.id == this.deleteId) {
this.treeList[index].children.splice(inde, 1);
} else {
ite.children.forEach((it, ine) => {
if (it.id == this.deleteId) {
this.treeList[index].children[inde].children.splice(
ine,
1
);
}
});
}
});
}
});
this.treeList.forEach((item, index) => {
if (item.id == this.deleteId) {
this.treeList.splice(index, 1);
} else {
item.children.forEach((ite, inde) => {
if (ite.id == this.deleteId) {
this.treeList[index].children.splice(inde, 1);
} else {
ite.children.forEach((it, ine) => {
if (it.id == this.deleteId) {
this.treeList[index].children[inde].children.splice(
ine,
1
);
}
});
}
});
}
});

this.dialogVisible = false;
this.dialogVisible = false;
})
},
remove(node, data) {
@@ -1017,7 +1017,7 @@ export default {
if (data.children.length == 0) {
this.deleteType = "node";
this.deleteId = data.id;
this.dialogVisible = true;findByTempId
this.dialogVisible = true; findByTempId
} else {
this.$message({
message: "请先清空子级",
@@ -1038,6 +1038,7 @@ export default {
min-width: 1000px;
padding-bottom: 100px;
}

#app {
width: 100%;
height: 100%;
@@ -1045,18 +1046,21 @@ export default {
list-style: none;
display: flex;
background: #ffffff;
min-width: 1000px;
min-width: 1000px;
min-height: 80vh;
border-radius: 4px;
}

.content-left {
width: 360px;
padding-right: 30px;
border-right: 1px solid #ccc;
}

.content-left .select {
margin: 20px 0;
}

.custom-tree-node {
flex: 1;
display: flex;
@@ -1065,6 +1069,7 @@ export default {
font-size: 14px;
padding-right: 8px;
}

.update-btn {
margin-top: 30px;
text-align: center;
@@ -1074,6 +1079,7 @@ export default {
padding: 20px 30px;
flex: 1;
}

.form-box {
width: 100%;
border: 2px dashed #ddd;
@@ -1087,4 +1093,12 @@ export default {
list-style: none;
border: 0;
}

/deep/ .el-dialog--center {
border-radius: 8px;

.el-dialog__title {
font-weight: bold;
}
}
</style>

+ 20
- 3
src/views/Template/PinspeakwordsList.vue View File

@@ -21,7 +21,7 @@
<div style="margin-left: 20px">
<el-button @click="Screening()" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<div style="margin-left: auto;margin-right:10px;" v-if="tem_pwl_downLoad">
<el-button v-if="tem_pwl_add" @click="editorinfo()" type="primary">添加模板</el-button>
</div>
<!-- <div style="margin-left: auto;margin-right:10px;" v-if="tem_pwl_downLoad">
@@ -32,7 +32,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="houseName" label="项目名称" align="center">
</el-table-column>
<el-table-column prop="name" label="状态" align="center">
@@ -46,7 +46,7 @@

<el-table-column prop="createTime" label="创建时间" align="center">
</el-table-column>
<el-table-column label="操作" align="center">
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" v-if="scope.row.status == 1 && tem_pwl_stop"
@click="clickstateis(scope.row)">启用</el-button>
@@ -379,6 +379,17 @@ export default {
</script>

<style scoped="scoped" lang="scss" >
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}

.custom-tree-node {
flex: 1;
display: flex;
@@ -449,4 +460,10 @@ export default {
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 10
- 5
src/views/Template/SystemarketingWordMB.vue View File

@@ -91,7 +91,7 @@

</div>
<!-- 删除确认弹框 -->
<el-dialog title="提示" :visible.sync="dialogDelete" width="30%">
<el-dialog title="提示" :visible.sync="dialogDelete" width="30%" :center="true">
<span>确定删除该条内容吗</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogDelete = false">取 消</el-button>
@@ -123,15 +123,15 @@
</el-dialog>

<!--?编辑弹框?-->
<el-dialog title="编辑" :visible.sync="isshowage">
<el-dialog title="编辑" :visible.sync="isshowage" :center="true" width="400px">
<div style="display: flex;align-items: center;height: 40px;">
<div>类名:</div>
<div>
<div style="width:88%">
<el-input type="text" v-model="frosasd.name" autocomplete="off"></el-input>
</div>
</div>

<div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;">
<el-button @click="submicll()">取 消</el-button>
<el-button type="primary" @click="submiadd()">提交</el-button>
</div>
@@ -479,5 +479,10 @@ export default {
height: 14px;
}


/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 22
- 8
src/views/Template/taboo.vue View File

@@ -33,15 +33,13 @@
<div style="margin-left: 20px">
<el-button type="primary" @click="screening()">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button v-if="tem_tab_add" @click="editorinfo()" type="primary"
>新增</el-button
>
</div>
<div
style="margin-left: auto; margin-right: 10px"
v-if="tem_tab_downLoad"
>
<el-button v-if="tem_tab_add" @click="editorinfo()" type="primary"
>新增</el-button
>
<el-button @click="downLoad">导出</el-button>
</div>
</div>
@@ -49,7 +47,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="words" label="敏感词" align="center">
</el-table-column>
<el-table-column prop="houseName" label="项目名称" align="center">
@@ -90,7 +88,7 @@

<el-dialog
:title="editFlag ? '编辑' : '新增'"
:center="true" width="500px"
:center="true" width="400px"
:visible.sync="dialogVisible"
@close="$refs.ruleForm.resetFields()"
>
@@ -99,7 +97,7 @@
label-position="labelPosition"
:rules="ruleser"
ref="ruleForm"
label-width="140px"
label-width="66px"
style="width: 100%; margin: 0 auto"
>
<el-form-item label="敏感词" prop="words">
@@ -388,4 +386,20 @@ export default {
}
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 23
- 9
src/views/Template/wrongword.vue View File

@@ -45,17 +45,15 @@
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="clascreen">清空筛选条件</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="addinfo()" type="primary" v-if="tem_ww_add"
>新增</el-button
>
<el-button @click="clascreen" type="text">清空筛选条件</el-button>
</div>
<div
style="margin-left: auto; margin-right: 10px"
v-if="tem_ww_downLoad"
>
<el-button @click="addinfo()" type="primary" v-if="tem_ww_add"
>新增</el-button
>
<el-button @click="downLoad">导出</el-button>
</div>
</div>
@@ -63,7 +61,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column prop="correctWord" label="正确词" align="center">
@@ -116,14 +114,14 @@
:title="editFlag ? '修改常错词' : '新增常错词'"
:visible.sync="dialogVisible"
@close="reset"
:center="true" width="600px"
:center="true" width="400px"
>
<el-form
:model="ruleForm"
:rules="rules"
label-position="labelPosition"
ref="ruleForm"
label-width="140px"
label-width="66px"
style="width: 80%; margin: 0 auto"
>
<el-form-item label="正确词" prop="correctWord">
@@ -501,4 +499,20 @@ export default {
}
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 1
- 1
src/views/admin/app/index.vue View File

@@ -15,7 +15,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column prop="name" label="名称" align="center">


+ 1
- 1
src/views/admin/dept/index.vue View File

@@ -15,7 +15,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe height="400" style="width: 100%">
<el-table :data="tableData" stripe height="390" style="width: 100%">
<el-table-column prop="name" label="部门名称" align="center">
</el-table-column>
<el-table-column prop="peopleCount" label="部门人数" align="center">


+ 1
- 1
src/views/admin/log/index.vue View File

@@ -71,7 +71,7 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="reset">清空筛选条件</el-button>
<el-button @click="reset" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto;margin-right:10px;" v-if="admin_idx_downLoad">
<el-button @click="downLoad">导出</el-button>


+ 1
- 1
src/views/admin/log/log.vue View File

@@ -80,7 +80,7 @@
>
</div>
<div style="margin-left: 20px">
<el-button @click="reset">清空筛选条件</el-button>
<el-button @click="reset" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto;margin-right:10px;" v-if="admin_log_downLoad">
<el-button @click="downLoad">导出</el-button>


+ 1
- 1
src/views/admin/role/index.vue View File

@@ -93,7 +93,7 @@
</div>

<el-table :data="list" border @selection-change="handleSelectionChange" style="width: 100%"
:header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
:header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" height="390">
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="index" label="序号" width="50">
</el-table-column>


+ 2
- 2
src/views/admin/user/index.vue View File

@@ -70,7 +70,7 @@
</el-form-item> -->
<el-form-item>
<el-button type="primary" @click="search">筛选</el-button>
<el-button type="primary" @click="reset">清空筛选条件</el-button>
<el-button @click="reset" type="text">清空筛选条件</el-button>
</el-form-item>
</el-form>
</div>
@@ -169,7 +169,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="search1">筛选</el-button>
<el-button type="primary" @click="reset1">清空筛选条件</el-button>
<el-button type="text" @click="reset1">清空筛选条件</el-button>
</el-form-item>
</el-form>
</div>


+ 17
- 7
src/views/building/Count.vue View File

@@ -113,7 +113,7 @@
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="clascreen">清空筛选条件</el-button>
<el-button @click="clascreen" type="text">清空筛选条件</el-button>
</div>
<div style="margin-left: auto; margin-right: 10px" v-if="cus_build_count_download">
<el-button @click="downLoad">导出</el-button>
@@ -123,7 +123,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table v-if="activeTotal == 0" :data="tableData" stripe style="width: 100%">
<el-table v-if="activeTotal == 0" :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="propertyName" label="项目名称" align="center">
</el-table-column>
<el-table-column prop="orgName" label="公司名称" align="center">
@@ -181,14 +181,14 @@

<el-table-column prop="sumProhibitedQuantity" label="违禁次数" width="100" align="center" sortable>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" fixed="right" width="100">
<template slot-scope="{ row }">
<el-button type="text" v-if="cus_build_area_record" @click="goEquiment(row)">设备使用统计</el-button>
</template>
</el-table-column>
</el-table>

<el-table v-if="activeTotal == 2" :data="tableData" stripe style="width: 100%">
<el-table v-if="activeTotal == 2" :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="orgName" label="公司名称" align="center">
</el-table-column>
<el-table-column prop="houseQuantityOfEnough" label="服务期内项目" align="center" width="140">
@@ -227,14 +227,14 @@

<el-table-column prop="sumProhibitedQuantity" label="违禁次数" align="center" sortable width="110">
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" fixed="right" width="100">
<template slot-scope="{ row }">
<el-button type="text" @click="goDetail(row, 2)">查看详情</el-button>
</template>
</el-table-column>
</el-table>

<el-table v-if="activeTotal == 1" :data="tableData" stripe style="width: 100%">
<el-table v-if="activeTotal == 1" :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="agentName" label="代理商名称" align="center">
</el-table-column>
<el-table-column prop="area" label="地区" align="center">
@@ -265,7 +265,7 @@

<el-table-column prop="sumProhibitedQuantity" label="违禁次数" align="center" width="110" sortable>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" fixed="right" width="100">
<template slot-scope="{ row }">
<el-button type="text" @click="goDetail(row, 1)">查看详情</el-button>
</template>
@@ -722,4 +722,14 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

+ 17
- 0
src/views/building/area.vue View File

@@ -30,6 +30,7 @@
:data="tableData"
border
style="width: 100%"
height="390"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
@@ -368,5 +369,21 @@ export default {
}
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>


+ 19
- 3
src/views/building/index.vue View File

@@ -140,7 +140,7 @@
<el-button @click="screen" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="empty">清空筛选条件</el-button>
<el-button @click="empty" 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>
@@ -152,7 +152,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="propertyName" :show-overflow-tooltip="true" width="120px" label="项目名称" align="center">
</el-table-column>

@@ -241,7 +241,7 @@
</template>
</el-table-column>

<el-table-column label="操作" align="center" fixed="right" width="200">
<el-table-column label="操作" align="center" fixed="right" width="146">
<template slot-scope="{ row }">

<el-button type="text" v-if="cus_build_index_edit" @click="edit(row)">编辑</el-button>
@@ -1339,4 +1339,20 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA !important;
color: #333333 !important;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 2
- 2
src/views/contentManage/updateRecord/list.vue View File

@@ -41,14 +41,14 @@
<el-button type="primary" @click="noempty()">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="empty()">清空筛选条件</el-button>
<el-button @click="empty()" type="text">清空筛选条件</el-button>
</div>
</div>
</div>

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="title" label="标题" align="center"></el-table-column>
<el-table-column prop="pageView" label="阅读数" align="center"></el-table-column>
<el-table-column prop="createUser" label="发布人" align="center"></el-table-column>


+ 139
- 20
src/views/houseData/analyse.vue View File

@@ -49,19 +49,21 @@
<el-button type="primary" @click="screen">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="clascreen">清空筛选条件</el-button>
<el-button @click="clascreen" type="text">清空筛选条件</el-button>
</div>
</div>
</div>
</div>

<div class="app-box-san">
<div class="app-box-san" style="margin-top:70px">
<div class="zuo">
<div class="title">
<div class="text1">目标分析</div>
</div>
<div style="min-height: 350px;padding: 0 0 20px 0;width: 94%; margin: 0 auto">
<div id="data1" style="min-height: 350px"></div>
<img v-if="odata1" style="width: 260px; min-height: 260px;margin: 25px auto;display: block;"
src="/img/Elementcircle.png" alt="" />
<div v-else id="data1" style="height: 350px"></div>
</div>
</div>
<div class="zuo">
@@ -77,13 +79,49 @@
<div :class="{ colostyle: tabFlag == 1 }" style="margin-right: 10px" @click="tabClick1(1)">
达标
<el-tooltip effect="light" content="选择的月份,项目的平均执行率≥项目的目标执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -26px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
<div :class="{ colostyle: tabFlag == 2 }" @click="tabClick1(2)">
未达标
<el-tooltip effect="light" content="选择的月份,平均执行率<目标执行率为不达标;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -26px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
</div>
@@ -92,7 +130,7 @@
<div class="jinbox" v-for="(item, i) in objList" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -104,7 +142,7 @@
</div>
<div class="jinbox-box">
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}</div>
@@ -118,7 +156,9 @@
<div class="text1">对比上月分析</div>
</div>
<div style="min-height: 350px;padding: 0 0 20px 0;width: 94%; margin: 0 auto">
<div id="data2" style="min-height: 350px"></div>
<img v-if="odata2" style="width: 260px; height: 260px;margin: 25px auto;display: block;"
src="/img/Elementcircle.png" alt="" />
<div v-else id="data2" style="height: 350px"></div>
</div>
</div>
<div class="zuo">
@@ -134,19 +174,73 @@
<div :class="{ colostyle: tabFlag2 == 0 }" style="margin-right: 10px" @click="tabClick2(0)">
不变
<el-tooltip effect="light" content="项目选择月份平均执行率=项目的上月的平均执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -26px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
<div :class="{ colostyle: tabFlag2 == 1 }" style="margin-right: 10px" @click="tabClick2(1)">
上升
<el-tooltip effect="light" content="项目选择月份平均执行率>项目的上月的平均执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -26px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
<div :class="{ colostyle: tabFlag2 == 2 }" @click="tabClick2(2)">
下降
<el-tooltip effect="light" content="项目选择月份平均执行率<项目的上月的平均执行率;" placement="bottom-end">
<i class="el-icon-question" style="color:#74A3EA"></i>
<i style="
border: 1px solid #afa8a8;
color: #9e9e9e;
width: 16px;
height: 16px;
border-radius: 10px;
display: inline-block;
text-align: center;position: relative;"
>
<span style="
font-style: normal;
transform: scale(.8);
display: block;
position: absolute;
top: 50%;
margin-top: -26px;
left: 50%;
margin-left: -4px;">?</span>
</i>
</el-tooltip>
</div>
</div>
@@ -155,7 +249,7 @@
<div class="jinbox" v-for="(item, i) in objList1" :key="i">
<!-- <div class="jinboxtit">{{ item.name }}</div> -->
<span class="sequenceNum" :style="{
'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#E5F0FF',
'background': i + 1 == 1 ? 'linear-gradient(180deg, #FFA395 0%, #F54D3F 100%)' : i + 1 == 2 ? 'linear-gradient(180deg, #FFBE70 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(180deg, #FFE683 0%, #FFCC00 100%)' : '#E5F0FF',
'color': i + 1 == 1 ? '#FFF' : i + 1 == 2 ? '#FFF' : i + 1 == 3 ? '#FFF' : '#333',
'box-shadow': i + 1 == 1 ? '0px 0px 6px 1px #F54D3F' : i + 1 == 2 ? '0px 0px 6px 1px #FF981E' : i + 1 == 3 ? '0px 0px 6px 1px #FFCC00' : '#E5F0FF',
}">{{ i + 1 }}</span>
@@ -167,7 +261,7 @@
</div>
<div class="jinbox-box">
<div class="boxbaifenbi"
:style="{ 'background': i + 1 == 1 ? '#F54D3F' : i + 1 == 2 ? '#FF981E' : i + 1 == 3 ? '#FFCC00' : '#7BB1FF', 'width': item.zxl1 + '%' }">
:style="{ 'background': i + 1 == 1 ? 'linear-gradient(270deg, #F88881 0%, #E6625B 100%)' : i + 1 == 2 ? 'linear-gradient(270deg, #FFC940 0%, #FF981E 100%)' : i + 1 == 3 ? 'linear-gradient(270deg, #FFE800 0%, #FFCC00 100%)' : 'inear-gradient(270deg, #7BB1FF 0%, #618FFF 100%)', 'width': item.zxl1 + '%' }">
</div>
</div>
<div class="jinboxbott">{{ item.zxl }}</div>
@@ -184,13 +278,14 @@
>导出</el-button
> -->
</div>
<el-table :data="tableData" @selection-change="handleSelectionChange" stripe style="width: 100%">
<el-table :data="tableData" @selection-change="handleSelectionChange" stripe style="width: 100%" height="390">
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column prop="houseName" label="项目名称" align="center">
</el-table-column>
<el-table-column label="地区" align="center">
<template slot-scope="{ row }">
<el-tooltip class="item" effect="dark" :content="row.provinceName + '-' + row.cityName" placement="top-start">
<el-tooltip class="item" effect="dark" :content="row.provinceName + '-' + row.cityName"
placement="top-start">
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{
row.provinceName || "-"
}}-{{ row.cityName || "-" }}</span>
@@ -200,7 +295,8 @@
<el-table-column prop="operationStaffName" :show-overflow-tooltip="true" width="200" label="运营" align="center">
<template slot-scope="{ row }">
<el-tooltip class="item" effect="dark" :content="row.operationStaffName" placement="top-start">
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.operationStaffName || "-"}}</span>
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
{{ row.operationStaffName || "-" }}</span>
</el-tooltip>
</template>
</el-table-column>
@@ -324,6 +420,8 @@ export default {
houseName: '',
operationStaffName: '',
choiceFlag: true,
odata1: false,
odata2: false,
};
},
mounted() {
@@ -403,6 +501,11 @@ export default {
},
];
// console.log(res);
this.odata1 = arr.every(i => {
if (i.value == 0 || i.value == null) {
return true
}
})
this.getChart("data1", arr);
});
},
@@ -501,6 +604,11 @@ export default {
name: "不变",
},
];
this.odata2 = arr.every(i => {
if (i.value == 0 || i.value == null) {
return true
}
})
// console.log(res);
this.getChart("data2", arr);
});
@@ -994,9 +1102,14 @@ export default {
}

.app-top {
width: 100%;
// width: 100%;
width: calc(100% - 270px);
position: fixed;
z-index: 999;
margin-top: -16px;
background: #ffffff;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
// box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
box-shadow: 0px 0px 10px 0px #dadada;
border-radius: 4px;
padding-top: 15px;
// padding-bottom: 15px;
@@ -1132,7 +1245,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 10px;
margin-top: 24px;

.jinboxtit {
width: 14%;
@@ -1215,7 +1328,7 @@ export default {
display: flex;
font-size: 16px;
color: #2c3542;
margin-top: 10px;
margin-top: 24px;

.jinboxtit {
width: 14%;
@@ -1263,4 +1376,10 @@ export default {
// /deep/ .el-tooltip{
// width: 140px;
// }
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 19
- 3
src/views/houseData/count.vue View File

@@ -47,14 +47,14 @@
<el-button @click="screen" type="primary">筛选</el-button>
</div>
<div style="margin-left: 20px">
<el-button @click="empty">清空筛选条件</el-button>
<el-button @click="empty" type="text">清空筛选条件</el-button>
</div>
</div>
</div>

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%" >
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="operationName" label="运营" align="center" sortable></el-table-column>
<el-table-column prop="houseQuantityInService" label="服务中项目数" width="120" align="center" sortable></el-table-column>
<el-table-column prop="wrongWordAddCount" width="120" label="常错词添加数" align="center" sortable></el-table-column>
@@ -143,7 +143,7 @@
</div>
</div>
<div style="width:100%;margin-top: 8px;">
<el-table :data="infodata" stripe style="width: 100%;overflow-y:scroll;" height="340"
<el-table :data="infodata" stripe style="width: 100%;overflow-y:scroll;" height="390"
:header-cell-style="{background:'#E0E0E0'}">
<el-table-column
prop="createTime"
@@ -448,4 +448,20 @@ export default {
.div-inp {
width: 250px;
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
/deep/ .el-dialog--center{
border-radius: 8px;
.el-dialog__title{
font-weight: bold;
}
}
</style>

+ 13
- 3
src/views/inspection/ProhibitedList.vue View File

@@ -110,8 +110,8 @@
<!-- 筛选 -->
<div class="app-titel" style="margin-top: 1em; padding-left: 100px">
<el-button type="primary">筛选</el-button>
<el-link style="margin-left: 1em" :underline="false" type="primary"
>清空筛选条件</el-link
<el-button style="margin-left: 1em" :underline="false" type="text"
>清空筛选条件</el-button
>
<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>
@@ -119,7 +119,7 @@

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
<el-table :data="tableData" stripe style="width: 100%" height="390">
<el-table-column prop="batchId" label="序号" width="70" align="center">
<template slot-scope="scope">
<span> {{ scope.$index + 1 }}</span>
@@ -406,4 +406,14 @@ export default {
width: 250px;
}
}
/deep/ .el-table__header-wrapper{
thead{
tr{
th{
background: #F5F7FA;
color: #333333;
}
}
}
}
</style>

||||||
x
 
000:0
Loading…
Cancel
Save