@@ -35,6 +35,7 @@ | |||
"vue": "^2.6.10", | |||
"vue-audio-player": "0.0.2", | |||
"vue-axios": "^2.1.2", | |||
"vue-bus": "^1.2.1", | |||
"vue-clipboard2": "^0.3.0", | |||
"vue-cron": "^1.0.9", | |||
"vue-echarts": "^4.0.1", | |||
@@ -306,7 +306,11 @@ export function findHouseByUser(query) { | |||
return request({ | |||
url: '/autoSR/zkhouse/findHouseByUser', | |||
method:'get', | |||
params:query | |||
params:{ | |||
agentId:localStorage.getItem('agentId'), | |||
orgCode:localStorage.getItem('orgCode'), | |||
...query | |||
} | |||
}) | |||
} | |||
// 楼盘绑定 | |||
@@ -941,3 +945,18 @@ export function accountRankTOP10(query) { | |||
params:query | |||
}) | |||
} | |||
// 置业顾问列表 | |||
export function receptionStatisticsAllAccount(query) { | |||
return request({ | |||
url: '/autoSR/cusStageStatistics/receptionStatisticsAllAccount', | |||
method:'get', | |||
params:query | |||
}) | |||
} | |||
export function receptionStatistics(query) { | |||
return request({ | |||
url: '/autoSR/cusStageStatistics/receptionStatistics', | |||
method:'get', | |||
params:query | |||
}) | |||
} |
@@ -44,7 +44,6 @@ Vue.use(AVUE, { | |||
size: 'small', | |||
menuType: 'text' | |||
}) | |||
// 注册全局容器 | |||
Vue.component('basicContainer', basicContainer) | |||
@@ -355,9 +355,11 @@ export default { | |||
localStorage.setItem("houseId", item.id); | |||
} | |||
this.$router.push({ path: "/wel" }); | |||
localStorage.setItem('allClose',true) | |||
}, | |||
goback() { | |||
this.$router.back(); | |||
localStorage.setItem('allClose',false) | |||
}, | |||
handleSizeChange(val) { | |||
console.log(`每页 ${val} 条`); | |||
@@ -87,6 +87,7 @@ export default { | |||
// 对此进行判断,获取this.$route的参数,如果没有则退出登陆,有的话就返回之前的页面 | |||
if (this.backFlag) { | |||
this.$router.back(); | |||
localStorage.setItem('allClose',false) | |||
} else { | |||
this.$confirm("是否退出系统, 是否继续?", "提示", { | |||
confirmButtonText: "确定", | |||
@@ -240,7 +241,7 @@ export default { | |||
// 楼盘后台 | |||
// this.$router.push({ path: "/chose", query: { flag: 3 } }); | |||
} | |||
localStorage.setItem('allClose',true) | |||
// this.$router.push({ path: "/chose" }); | |||
}, | |||
}, | |||
@@ -69,12 +69,16 @@ | |||
}, | |||
contextmenuFlag() { | |||
window.addEventListener('mousedown', this.watchContextmenu) | |||
} | |||
}, | |||
}, | |||
created() { | |||
}, | |||
mounted() { | |||
this.setActive() | |||
console.log(localStorage.getItem('allClose')); | |||
if(localStorage.getItem('allClose')=='true'){ | |||
this.closeAllTags() | |||
} | |||
}, | |||
computed: { | |||
...mapGetters(['tagWel', 'tagList', 'tag', 'website']), | |||
@@ -119,6 +119,7 @@ export default { | |||
this.$store.dispatch("LoginByUsername", this.loginForm).then(() => { | |||
// this.$router.push({ path: this.tagWel.value }); | |||
this.info = getStore({ name: "userInfo" }); | |||
localStorage.setItem('allClose',false) | |||
that.$api.api.getTab().then((res) => { | |||
// console.log(res) | |||
// 循环数组,给定各种标志 | |||
@@ -138,7 +138,7 @@ | |||
<el-button type="text" v-if="cus_ag_edit" size="small" @click="infoeditor(scope.row)">编辑</el-button> | |||
<el-button type="text" v-if="cus_ag_change" size="small" @click="inforeplace(scope.row)">更换账号</el-button> | |||
<el-button type="text" v-if="cus_ag_del" size="small" @click="toinifodelete(scope)">删除</el-button> | |||
<el-button type="text" v-if="cus_ag_manage" size="small" @click="editOpera(scope.row)">管理系统运营</el-button> | |||
<el-button type="text" v-if="cus_ag_manage" size="small" @click="editOpera(scope.row)">系统运营</el-button> | |||
<el-button type="text" v-if="cus_ag_open" size="small" @click="toDisable(scope.row)">{{scope.row.lockFlag==0?'禁用':'启用'}}</el-button> | |||
</template> | |||
</el-table-column> | |||
@@ -350,7 +350,7 @@ export default { | |||
this.passFlag=false | |||
if (!/^1[3456789]\d{9}$/.test(value)) { | |||
// alert("手机号码不合法,请重新输入"); | |||
callback(new Error("手机号码不合法,请重新输入")); | |||
callback(new Error("手机号格式错误,请重新输入")); | |||
}else{ | |||
// 验证电话号码 | |||
this.$api.api.verPhone(value).then((res) => { | |||
@@ -403,7 +403,7 @@ export default { | |||
options: [ | |||
{ | |||
value: "0", | |||
label: "服务器内", | |||
label: "服务中", | |||
}, | |||
{ | |||
value: "1", | |||
@@ -307,7 +307,7 @@ export default { | |||
if (value) { | |||
if (!/^1[3456789]\d{9}$/.test(value)) { | |||
// alert("手机号码不合法,请重新输入"); | |||
callback(new Error("手机号码不合法,请重新输入")); | |||
callback(new Error("手机号格式错误,请重新输入")); | |||
}else{ | |||
// 验证电话号码 | |||
this.$api.api.verPhone(value).then((res) => { | |||
@@ -538,9 +538,10 @@ export default { | |||
if(valid){ | |||
// console.log(valid,this.operaForm); | |||
this.$api.api.zkoperationrecordSaveCompany({ | |||
orgType:this.idx==0?'1':'2', | |||
orgType:2, | |||
accountIds:this.operaForm.operationalPeople.join(','), | |||
orgId: this.operaForm.orgId | |||
orgId: this.operaForm.orgId, | |||
operationType:this.idx==0?'1':'2' | |||
}) | |||
.then(res=>{ | |||
console.log(res); | |||
@@ -94,7 +94,7 @@ | |||
<el-button type="text" size="small" @click="inforeplace(scope.row)">更换账号</el-button> | |||
<el-button type="text" size="small" @click="toinifodelete(scope)">删除</el-button> --> | |||
<!-- <el-button type="text" size="small" v-if="cus_com_sys" @click="editOpera(scope.row,0)">系统运营</el-button> --> | |||
<el-button type="text" size="small" v-if="cus_com_sys1" @click="editOpera(scope.row,1)">代理商运营</el-button> | |||
<el-button type="text" size="small" v-if="cus_com_sys1" @click="editOpera(scope.row,1)">售后运营</el-button> | |||
<!-- <el-button type="text" size="small" @click="bindAgent(scope.row)">绑定代理商</el-button> --> | |||
</template> | |||
</el-table-column> | |||
@@ -1,16 +1,658 @@ | |||
<template> | |||
<div> | |||
111 | |||
</div> | |||
<div class="box-center"> | |||
<div class="app-titel"> | |||
<div class="toptimeqhuan"> | |||
<div :class="{ tophove: dateType == 4 }" @click="tabtimetap(4)"> | |||
近7天 | |||
</div> | |||
<div :class="{ tophove: dateType == 5 }" @click="tabtimetap(5)"> | |||
近15天 | |||
</div> | |||
<div :class="{ tophove: dateType == 6 }" @click="tabtimetap(6)"> | |||
近30天 | |||
</div> | |||
</div> | |||
<div style="margin-left: 26px"> | |||
<el-date-picker | |||
v-model="customtime" | |||
@change="confirmtime()" | |||
type="daterange" | |||
range-separator="-" | |||
:default-time="['00:00:00', '23:59:59']" | |||
value-format="yyyy-MM-dd" | |||
start-placeholder="开始日期" | |||
end-placeholder="结束日期" | |||
> | |||
</el-date-picker> | |||
</div> | |||
</div> | |||
<div class="app-titel"> | |||
<div style="margin-left: 26px" class="div-lab"> | |||
<div class="label">团队</div> | |||
<el-select | |||
v-model="deptId" | |||
filterable | |||
@change="deptChange" | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in options" | |||
:key="item.deptId" | |||
:label="item.name" | |||
:value="item.deptId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div style="margin-left: 26px" class="div-lab"> | |||
<div style="margin-right: 20px" class="label">置业顾问</div> | |||
<el-select | |||
v-model="accountId" | |||
filterable | |||
@change="repChange" | |||
placeholder="请选择" | |||
class="div-inp" | |||
> | |||
<el-option | |||
v-for="item in repList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button type="primary" size="small" @click="screen()" | |||
>查询</el-button | |||
> | |||
<el-button type="primary" size="small" @click="reset()">清空</el-button> | |||
</div> | |||
</div> | |||
<!-- 表格 --> | |||
<div class="cen-tab"> | |||
<el-table max-height="300" :data="tableData" stripe style="width: 100%"> | |||
<el-table-column prop="batchId" label="序号" align="center"> | |||
<template slot-scope="scope"> | |||
{{ | |||
scope.$index == tableData.length - 1 | |||
? "合计/平均" | |||
: scope.$index + 1 | |||
}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="accountName" label="日期" align="center"> | |||
<template slot-scope="scope"> | |||
{{ | |||
scope.$index == tableData.length - 1 | |||
? scope.row.statDate | |||
: scope.row.statDate.substring(0, 10) | |||
}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="receptionCount" label="接待量" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="accountNum" label="接待顾问" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="activeCustomer" label="有效录音" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="prohibitedCustomer" | |||
label="违禁接待次数" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="sumDuration" label="接待时长(分)" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ Math.floor(row.sumDuration / 60) }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
prop="prohibitedZb" | |||
label="违禁接待占比" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="fraction" label="平均执行率" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
v-for="(item, idx) in tablist" | |||
:key="idx" | |||
:prop="item.props" | |||
:label="item.label" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center"> | |||
<template slot-scope="scope"> | |||
<el-button | |||
v-if="scope.$index < tableData.length - 1" | |||
type="text" | |||
size="small" | |||
@click="toDetail(scope.row)" | |||
>详情</el-button | |||
> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<div style="display: flex; justify-content: flex-end; margin-top: 10px"> | |||
<el-pagination | |||
@size-change="handleSizeChange" | |||
@current-change="handleCurrentChange" | |||
:current-page="current" | |||
:page-sizes="[8, 16, 24, 32]" | |||
:page-size="size" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="total" | |||
> | |||
</el-pagination> | |||
</div> | |||
</div> | |||
<el-dialog | |||
title="详情" | |||
:visible.sync="dialogVisible" | |||
width="80%" | |||
:before-close="handleClose" | |||
> | |||
<div class="cen-tab"> | |||
<el-table | |||
max-height="300" | |||
:data="detailData" | |||
stripe | |||
style="width: 100%" | |||
> | |||
<el-table-column prop="batchId" label="序号" align="center"> | |||
<template slot-scope="scope"> | |||
{{ | |||
scope.$index == detailData.length - 1 | |||
? "合计/平均" | |||
: scope.$index + 1 | |||
}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="accountName" label="顾问" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="deptName" label="归属团队" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="receptionCount" label="接待量" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="activeCustomer" | |||
label="有效录音" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="prohibitedCustomer" | |||
label="违禁接待次数" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="sumDuration" | |||
label="接待时长(分)" | |||
align="center" | |||
> | |||
<template slot-scope="{ row }"> | |||
{{ Math.floor(row.sumDuration / 60) }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
prop="prohibitedZb" | |||
label="违禁接待占比" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="fraction" label="平均执行率" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
v-for="(item, idx) in tablist1" | |||
:key="idx" | |||
:prop="item.props" | |||
:label="item.label" | |||
align="center" | |||
> | |||
</el-table-column> | |||
</el-table> | |||
<div style="display: flex; justify-content: flex-end; margin-top: 10px"> | |||
<el-pagination | |||
@size-change="handleSizeChange1" | |||
@current-change="handleCurrentChange1" | |||
:current-page="current1" | |||
:page-sizes="[8, 16, 24, 32]" | |||
:page-size="size1" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="total1" | |||
> | |||
</el-pagination> | |||
</div> | |||
</div> | |||
<span slot="footer" class="dialog-footer"> | |||
<el-button @click="dialogVisible = false">取 消</el-button> | |||
<el-button type="primary" @click="dialogVisible = false" | |||
>确 定</el-button | |||
> | |||
</span> | |||
</el-dialog> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
data() { | |||
return { | |||
houseId: "", | |||
buildingoptions: [], | |||
houseList: [], | |||
detailData: [], | |||
dateType: 2, | |||
repList: [], | |||
current: 1, | |||
current1: 1, | |||
accountId: "", | |||
size: 8, | |||
total: 20, | |||
size1: 8, | |||
total1: 20, | |||
customtime: [], | |||
tablist: [], | |||
tablist1: [], | |||
deptId: "", | |||
tableData: [], | |||
orgType: localStorage.getItem("orgType"), | |||
options: [], | |||
value: "1", | |||
statDateStart: "", | |||
statDateEnd: "", | |||
echarlist: [], | |||
echarlist1: [], | |||
echarlist2: [], | |||
echarlist3: [], | |||
teamAllLevel: [], | |||
teamAllLevelid: "", | |||
teamAllLeve2id: "", | |||
teamAllLeve2: [], | |||
statDate: "", | |||
dialogVisible: false, | |||
}; | |||
}, | |||
mounted() { | |||
this.houseId = localStorage.getItem("houseId"); | |||
this.tabtimetap(4); | |||
this.deptFindList(); | |||
}, | |||
methods: { | |||
toDetail(row) { | |||
console.log(row); | |||
this.statDate = row.statDate.substring(0, 10); | |||
this.dialogVisible = true; | |||
this.getDetailList(); | |||
}, | |||
// 获取detail | |||
getDetailList() { | |||
this.$api.api | |||
.receptionStatistics({ | |||
houseId: this.houseId, | |||
statDate: this.statDate, | |||
current: this.current, | |||
size: this.size, | |||
deptId: this.deptId, | |||
accountId: this.accountId, | |||
type:2 | |||
}) | |||
.then((res) => { | |||
this.detailData = res.data.records; | |||
// 数据处理 | |||
// 需要两个数组,一个用来展示 | |||
this.deailDate(0); | |||
this.total1 = res.data.total; | |||
}); | |||
}, | |||
screen() { | |||
this.current = 1; | |||
this.accountRank(); | |||
}, | |||
reset() { | |||
this.current = 1; | |||
this.deptId = ""; | |||
this.accountId = ""; | |||
this.accountRank(); | |||
}, | |||
handleClose(done) { | |||
this.$confirm("确认关闭?") | |||
.then((_) => { | |||
done(); | |||
}) | |||
.catch((_) => {}); | |||
}, | |||
deptFindList() { | |||
// 获取团队 | |||
this.$api.api | |||
.deptFindList({ | |||
houseId: this.houseId, | |||
}) | |||
.then((res) => { | |||
this.options = [ | |||
{ | |||
name: "全部", | |||
deptId: "", | |||
}, | |||
]; | |||
this.options.push(...res.data); | |||
this.accountRank(); | |||
}); | |||
}, | |||
deptChange() { | |||
this.receptionStatisticsAllAccount(); | |||
this.accountId = ""; | |||
}, | |||
receptionStatisticsAllAccount() { | |||
this.$api.api | |||
.receptionStatisticsAllAccount({ | |||
houseId: this.houseId, | |||
deptId: this.deptId, | |||
}) | |||
.then((res) => { | |||
console.log(res); | |||
this.repList = [ | |||
{ | |||
name: "全部", | |||
deptId: "", | |||
}, | |||
]; | |||
this.repList.push(...res.data); | |||
this.accountRank(); | |||
}); | |||
}, | |||
// 获取列表 | |||
repChange() { | |||
this.accountRank(); | |||
}, | |||
accountRank() { | |||
this.$api.api | |||
.receptionStatistics({ | |||
houseId: this.houseId, | |||
statDateStart: this.statDateStart, | |||
statDateEnd: this.statDateEnd, | |||
current: this.current, | |||
size: this.size, | |||
deptId: this.deptId, | |||
accountId: this.accountId, | |||
dateType: this.dateType == 7 ? null : this.dateType, | |||
type:1 | |||
}) | |||
.then((res) => { | |||
this.tableData = res.data.records; | |||
// 数据处理 | |||
// 需要两个数组,一个用来展示 | |||
this.deailDate(); | |||
this.total = res.data.total; | |||
}); | |||
}, | |||
confirmtime() { | |||
this.dateType = 7; | |||
this.statDateStart = this.customtime[0]; | |||
this.statDateEnd = this.customtime[1]; | |||
this.init(); | |||
}, | |||
init() { | |||
this.accountRank(); | |||
}, | |||
deailDate(idx) { | |||
if (idx) { | |||
this.tablist1 = []; | |||
// 当他是第一个 小将 | |||
// console.log("第一个"); | |||
this.deailDate[0].resultsList.map((item, idx) => { | |||
let obj = {}; | |||
obj.label = item.name; | |||
obj.props = "str" + idx; | |||
this.tablist1.push(obj); | |||
}); | |||
this.deailDate.map((item) => { | |||
this.tablist1.map((item1, idx) => { | |||
item[item1.props] = item.resultsList[idx].zxl; | |||
}); | |||
}); | |||
} else { | |||
this.tablist = []; | |||
// 当他是第一个 小将 | |||
// console.log("第一个"); | |||
this.tableData[0].resultsList.map((item, idx) => { | |||
let obj = {}; | |||
obj.label = item.name; | |||
obj.props = "str" + idx; | |||
this.tablist.push(obj); | |||
}); | |||
this.tableData.map((item) => { | |||
this.tablist.map((item1, idx) => { | |||
item[item1.props] = item.resultsList[idx].zxl; | |||
}); | |||
}); | |||
} | |||
}, | |||
handleCurrentChange(e) { | |||
this.current = e; | |||
this.accountRank(); | |||
}, | |||
handleSizeChange(e) { | |||
this.size = e; | |||
this.accountRank(); | |||
}, | |||
handleCurrentChange1(e) { | |||
this.current1 = e; | |||
// this.accountRank(); | |||
}, | |||
handleSizeChange1(e) { | |||
this.size1 = e; | |||
// this.accountRank(); | |||
}, | |||
//切换时间 | |||
tabtimetap(index) { | |||
this.statDateStart = ""; | |||
this.statDateEnd = ""; | |||
this.dateType = index; | |||
this.init(); | |||
}, | |||
dealData(arr) { | |||
let num = Math.max.apply( | |||
Math, | |||
arr.map(function (o) { | |||
return o.zxl; | |||
}) | |||
); //结果:3 | |||
arr.map((item) => { | |||
item.zxl1 = Math.floor((item.zxl / num) * 100); | |||
}); | |||
return arr; | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped="scoped" lang="scss" > | |||
.box-center { | |||
width: 100%; | |||
padding: 15px; | |||
min-width: 1200px; | |||
padding-bottom: 100px; | |||
} | |||
.cen-tab { | |||
width: 100%; | |||
padding: 15px; | |||
background: #ffffff; | |||
margin-top: 15px; | |||
} | |||
.tophove { | |||
color: #ffffff; | |||
background: #2671e2; | |||
} | |||
.app-titel { | |||
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; | |||
flex-wrap: wrap; | |||
.titel-text { | |||
height: 100%; | |||
font-size: 18px; | |||
font-weight: 600; | |||
color: #32363d; | |||
line-height: 70px; | |||
margin-left: 30px; | |||
} | |||
.toptimeqhuan { | |||
width: 190px; | |||
height: 32px; | |||
background: #ffffff; | |||
border-radius: 4px; | |||
border: 1px solid #e0e0e0; | |||
display: flex; | |||
align-items: center; | |||
overflow: hidden; | |||
margin-left: 30px; | |||
cursor: pointer; | |||
} | |||
.toptimeqhuan div { | |||
flex: 1; | |||
text-align: center; | |||
line-height: 32px; | |||
font-size: 16px; | |||
} | |||
} | |||
</script> | |||
<style lang="" scoped > | |||
.app-box-san { | |||
width: 100%; | |||
height: 400px; | |||
display: flex; | |||
margin-top: 15px; | |||
.zuo { | |||
flex: 1; | |||
height: 100%; | |||
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; | |||
text-indent: 20px; | |||
font-weight: 500; | |||
font-size: 16px; | |||
color: #333333; | |||
} | |||
.text2 { | |||
flex: 1; | |||
height: 55px; | |||
display: flex; | |||
align-items: center; | |||
} | |||
} | |||
} | |||
.you { | |||
height: 100%; | |||
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; | |||
text-indent: 20px; | |||
font-weight: 500; | |||
font-size: 16px; | |||
color: #333333; | |||
} | |||
.text2 { | |||
flex: 1; | |||
height: 55px; | |||
display: flex; | |||
align-items: center; | |||
} | |||
} | |||
} | |||
} | |||
.hejisan { | |||
width: 92%; | |||
margin: 0 auto; | |||
display: flex; | |||
padding-top: 10px; | |||
padding-bottom: 10px; | |||
.text1-1 { | |||
color: #666666; | |||
} | |||
.text1-2 { | |||
color: #333333; | |||
margin-top: 10px; | |||
} | |||
} | |||
// 进度条 | |||
.jinbox { | |||
width: 100%; | |||
height: 18px; | |||
line-height: 18px; | |||
display: flex; | |||
font-size: 16px; | |||
color: #2c3542; | |||
margin-top: 10px; | |||
.jinboxtit { | |||
width: 14%; | |||
height: 18px; | |||
padding-right: 6px; | |||
white-space: nowrap; | |||
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: 50px; | |||
} | |||
} | |||
.div-lab { | |||
display: flex; | |||
margin: 5px; | |||
} | |||
.div-inp { | |||
width: 200px; | |||
} | |||
.label { | |||
font-size: 14px; | |||
font-weight: 400; | |||
color: #32363d; | |||
line-height: 32px; | |||
margin-left: 15px; | |||
min-width: 40px; | |||
} | |||
</style> |
@@ -503,7 +503,7 @@ export default { | |||
}; | |||
if (this.tabselect == 0 || this.tabselect == 1) { | |||
obj.orgCode = this.orgCode; | |||
this.tabselect == 0?obj.orgType=1:obj.orgType=2 | |||
this.tabselect == 0?obj.orgType=3:obj.orgType=2 | |||
} | |||
if (this.tabselect == 2) { | |||
obj.agentId = this.orgCode; | |||
@@ -580,7 +580,7 @@ export default { | |||
return; | |||
} | |||
if(this.tabselect==0||this.tabselect==1){ | |||
this.tabselect == 0?this.form.orgType=1:this.form.orgType=2 | |||
this.tabselect == 0?this.form.orgType=3:this.form.orgType=2 | |||
this.form.orgCode = this.orgCode; | |||
this.form.agentId = null; | |||
} | |||
@@ -59,13 +59,13 @@ | |||
</el-select> | |||
</el-input> | |||
</el-form-item> | |||
<el-form-item label="所属组织" prop="orgName"> | |||
<!-- <el-form-item label="所属组织" prop="orgName"> | |||
<el-input | |||
v-model="searchMsg.orgName" | |||
clearable | |||
placeholder="请输入所属组织名称" | |||
></el-input> | |||
</el-form-item> | |||
</el-form-item> --> | |||
<el-form-item> | |||
<el-button type="primary" @click="search">查询</el-button> | |||
<el-button type="primary" @click="reset">重置</el-button> | |||
@@ -137,11 +137,18 @@ | |||
clearable | |||
placeholder="请选择" | |||
> | |||
<el-option label="项目总" value="2"></el-option> | |||
<!-- <el-option label="项目总" value="2"></el-option> | |||
<el-option label="客服" value="3"></el-option> | |||
<el-option label="策划" value="4"></el-option> | |||
<el-option label="经理" value="5"></el-option> | |||
<el-option label="置业顾问" value="6"></el-option> | |||
<el-option label="置业顾问" value="6"></el-option> --> | |||
<el-option | |||
v-for="item in userRoleList" | |||
:key="item.dictValue" | |||
:label="item.dictName" | |||
:value="item.dictValue" | |||
> | |||
</el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="状态" prop="lockFlag"> | |||
@@ -367,7 +374,7 @@ | |||
<el-radio label="1">女</el-radio> | |||
</el-radio-group> | |||
</el-form-item> | |||
<el-form-item label="手机号显隐" prop="showPhoneStatus" v-if="addFlag"> | |||
<el-form-item label="手机号加密" prop="showPhoneStatus" v-if="addFlag"> | |||
<el-radio-group v-model="form.showPhoneStatus"> | |||
<el-radio :label="0">是</el-radio> | |||
<el-radio :label="1">否</el-radio> | |||
@@ -547,6 +554,25 @@ | |||
</el-option> | |||
</el-select> | |||
</el-form-item> | |||
<!-- <el-form-item label="身份:" prop="newRoleId" v-if="formTwo.userRoleType!=6&&formTwo.userRoleType!=7&&formTwo.userRoleType!=8"> --> | |||
<el-form-item label="身份:" prop="newRoleId"> | |||
<el-select | |||
v-model="formTwo.userRoleType" | |||
filterable | |||
:disabled='formTwo.userRoleType==6||formTwo.userRoleType==7||formTwo.userRoleType==8' | |||
value-key="key" | |||
style="width: 370px" | |||
placeholder="请选择身份" | |||
> | |||
<el-option | |||
v-for="item in userRoleTypeList" | |||
:key="item.dictValue" | |||
:label="item.dictName" | |||
:value="item.dictValue" | |||
> | |||
</el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="部门:" prop="deptId" v-if="orgFlag"> | |||
<el-select | |||
v-model="formTwo.deptId" | |||
@@ -1038,8 +1064,10 @@ export default { | |||
deptId:'',//部门 | |||
roleId:'',//角色 | |||
newRoleId:"", | |||
showPhoneStatus:0//手机号显隐 | |||
showPhoneStatus:0,//手机号显隐 | |||
userRoleType:'', | |||
}, | |||
userRoleTypeList:[], | |||
phoneFlag: false, | |||
rolesOptions: [], | |||
checkHouse: [], | |||
@@ -1187,6 +1215,13 @@ export default { | |||
// this.userDeptTree()// 获取部门树 | |||
this.deptGetOrgList(); //获取公司列表 | |||
this.getAgentList(); //获取代理商列表 | |||
this.userDict( | |||
{ | |||
dictKey: localStorage.getItem('orgType'), | |||
dictType: 3, | |||
}, | |||
"userRoleList" | |||
); | |||
}, | |||
methods: { | |||
// 区域改变 | |||
@@ -1409,11 +1444,13 @@ export default { | |||
}); | |||
}, | |||
search() { | |||
this.page.current1 | |||
console.log(this.searchMsg, "搜索内容1"); | |||
// return | |||
this.roleList(); | |||
}, | |||
search1() { | |||
this.page.current=1 | |||
console.log(this.searchMsg1, "搜索内容2"); | |||
// return | |||
this.roleList(); | |||
@@ -1496,6 +1533,7 @@ export default { | |||
.then((res) => { | |||
console.log(res); | |||
this.houseVisible = false; | |||
this.roleList(); | |||
}); | |||
} else { | |||
// 省市json串 | |||
@@ -1551,10 +1589,9 @@ export default { | |||
.then((res) => { | |||
console.log(res); | |||
this.houseVisible = false; | |||
this.roleList(); | |||
}); | |||
} | |||
this.roleList(); | |||
}, | |||
// 楼盘绑定解绑 | |||
// bindhouse(e){ | |||
@@ -2111,9 +2148,18 @@ export default { | |||
this.formTwo.houseId=row.houseId | |||
this.formTwo.newRoleId=row.roleId | |||
this.formTwo.deptId=row.deptId | |||
this.formTwo.userRoleType=row.userRoleType+'' | |||
console.log(this.formTwo); | |||
// 获取角色列表 | |||
this.typeChange1(row) | |||
this.userDict( | |||
{ | |||
dictKey:row.orgType, | |||
dictType: 3, | |||
}, | |||
"userRoleTypeList" | |||
); | |||
// 获取部门列表 | |||
this.dialogFormVisibleTwo=true | |||
}, | |||
@@ -133,7 +133,7 @@ | |||
<div class="label" style="color: #ffffff">筛选相关:</div> | |||
<div> | |||
<el-button | |||
@click="zkhousePage" | |||
@click="screen" | |||
style="background: #2671e2; color: #ffffff" | |||
>筛选</el-button | |||
> | |||
@@ -232,8 +232,8 @@ | |||
>更换账号</el-button | |||
> | |||
<!-- <el-button type="text" v-if="orgType == 2">添加员工</el-button> --> | |||
<el-button type="text" size="small" v-if="cus_build_index_sys" @click="editOpera(row,0)">管理系统运营人员</el-button> | |||
<el-button type="text" size="small" v-if="cus_build_index_agent" @click="editOpera(row,1)">管理代理商运营</el-button> | |||
<el-button type="text" size="small" v-if="cus_build_index_sys" @click="editOpera(row,0)">系统运营</el-button> | |||
<el-button type="text" size="small" v-if="cus_build_index_agent" @click="editOpera(row,1)">售后运营</el-button> | |||
<!-- <el-button type="text">添加员工</el-button> --> | |||
<el-button type="text" size="small" v-if="cus_build_index_bindAgent" @click="bindAgent(row)">绑定代理商</el-button> | |||
<el-button type="text" v-if="cus_build_index_del" @click="del(row)">删除</el-button> | |||
@@ -529,7 +529,7 @@ export default { | |||
if (value) { | |||
if (!/^1[3456789]\d{9}$/.test(value)) { | |||
// alert("手机号码不合法,请重新输入"); | |||
callback(new Error("手机号码不合法,请重新输入")); | |||
callback(new Error("手机号格式错误,请重新输入")); | |||
} | |||
} | |||
callback(); | |||
@@ -543,7 +543,7 @@ export default { | |||
this.passFlag=false | |||
if (!/^1[3456789]\d{9}$/.test(value)) { | |||
// alert("手机号码不合法,请重新输入"); | |||
callback(new Error("手机号码不合法,请重新输入")); | |||
callback(new Error("手机号格式错误,请重新输入")); | |||
}else{ | |||
// 验证电话号码 | |||
this.$api.api.verPhone(value).then((res) => { | |||
@@ -640,11 +640,11 @@ export default { | |||
options1: [ | |||
{ | |||
value: "0", | |||
label: "服务器内", | |||
label: "服务中", | |||
}, | |||
{ | |||
value: "1", | |||
label: "已失效", | |||
label: "已过期", | |||
}, | |||
], | |||
options: [ | |||
@@ -660,6 +660,10 @@ export default { | |||
value: "2", | |||
label: "演示", | |||
}, | |||
{ | |||
value: "3", | |||
label: "测试", | |||
}, | |||
], | |||
currentPage: 1, | |||
size: 10, | |||
@@ -859,6 +863,10 @@ export default { | |||
// this.optionsoperationalPeople = res.data; | |||
// }); | |||
}, | |||
screen(){ | |||
this.currentPage=1 | |||
this.zkhousePage() | |||
}, | |||
addSurequxiao() { | |||
this.dialogVisible = false; | |||
}, | |||
@@ -7,7 +7,7 @@ | |||
// const url = 'http://192.168.31.169:9999' //长龙 | |||
const url = 'http://192.168.31.134:9999' //嘉豪 | |||
// const url = 'http://192.168.31.100:9999' //王笑 | |||
// const url = 'http://zwfakg.natappfree.cc' //王笑 | |||
// const url = 'http://jrcd6b.natappfree.cc' //王笑 | |||
const CompressionWebpackPlugin = require('compression-webpack-plugin') | |||
const productionGzipExtensions = ['js', 'css'] | |||