Commit a119412f authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 41734b8d 6546bfb4
......@@ -11,3 +11,8 @@ export function getCustomer(params) {
export function windowList(params) {
return http.post(`${proURL}/base/window/list`, params);
}
// 图片作品
export function picInfoList(params) {
return http.post(`${baseURL}/eas/customer/work/design/picture/list`, params);
}
\ No newline at end of file
......@@ -60,7 +60,7 @@
methods: {
getData() {
this.queryform.dateTimeStart = this.time ? this.time[0] : null
this.queryform.dateTimeStart = this.time ? this.time[1] : null
this.queryform.dateTimeEnd = this.time ? this.time[1] : null
getUsageCensus(this.queryform).then(res=>{
let data = res.data.map(({businessName,propValue})=>({name:businessName,value:propValue * 100}))
this.initType(data)
......@@ -128,7 +128,7 @@
let myChart = echarts.init(chartDom);
myChart.setOption({
title: {
text: '取号类型分析',
text: this.queryform.productId==1?'取号类型分析':'功能使用分布',
left: 'center'
},
tooltip: {
......
......@@ -13,10 +13,11 @@
</a-col>
<a-col :span="10">
<a-form layout="horizontal" :model="formState" :label-col="{span: 4}" :wrapper-col="{span: 20}">
<a-form-item label="流水号:">{{ formState.flownum }}</a-form-item>
<a-form-item label="关联排号:">{{ formState.device_name }}</a-form-item>
<a-form-item label="流水号:">{{ formState.flownum?formState.flownum:'--' }}</a-form-item>
<a-form-item label="关联排号:">{{ formState.device_name?formState.device_name:'--' }}</a-form-item>
<a-form-item label="受理区域:">
<a-tag v-for="(item, index) in formState.region" :key="index">{{ item }}</a-tag>
<span v-if="formState.region.length<1">--</span>
</a-form-item>
<a-form-item label="是否延时:">{{ formState.isweek_work ? '是' : '否' }}</a-form-item>
<a-form-item label="优先叫号:">{{ formState.first ? '是' : '否' }}</a-form-item>
......@@ -25,12 +26,13 @@
<a-col :span="10">
<a-form layout="horizontal" :model="formState" :label-col="{span: 4}" :wrapper-col="{span: 20}">
<a-form-item label="业务级别:">{{ formState.level ? '二级业务' : '一级业务' }}</a-form-item>
<a-form-item label="父级业务:">{{ formState.parent_name }}</a-form-item>
<a-form-item label="父级业务:">{{ formState.parent_name?formState.parent_name:'--' }}</a-form-item>
<a-form-item label="关联事项:">
<a-tag v-for="(item, index) in formState.matter" :key="index">{{ item.matterName }}</a-tag>
<span v-if="formState.matter.length<1">--</span>
</a-form-item>
<a-form-item label="是否预约:">{{ formState.canorder ? '允许' : '不允许'}}</a-form-item>
<a-form-item label="验证方式:">{{testWay.join(',')}}</a-form-item>
<a-form-item label="验证方式:">{{testWay.length>0?testWay.join(','):'--'}}</a-form-item>
</a-form>
</a-col>
</a-row>
......@@ -167,7 +169,7 @@ import {getBusInfoById} from '@/api/dataActuary.js'
margin-bottom: .9375rem;
}
.f_40{
font-size: 2.5rem;
font-size: 2rem;
}
.f_center{
text-align: center;
......
......@@ -78,7 +78,7 @@
</a-col>
<a-col :span="20">
<div class="table_title">排队业务分布情况</div>
<a-table :row-key="record => record.key" :dataSource="lineUp" :columns="lineUpColumns" :pagination="false" :scroll="{ x: 1400, y: 0 }"/>
<a-table :row-key="(record,index) => index" :dataSource="lineUp" :columns="lineUpColumns" :pagination="false" :scroll="{ x: 1400, y: 0 }"/>
</a-col>
</a-row>
</a-card>
......@@ -110,7 +110,7 @@
</a-col>
<a-col :span="20">
<div>预约业务分布情况</div>
<a-table :row-key="record => record.id" :dataSource="appointment" :columns="appointmentColumns" :pagination="false" :scroll="{ x: 1400, y: 0 }"/>
<a-table :row-key="(record,index) => index" :dataSource="appointment" :columns="appointmentColumns" :pagination="false" :scroll="{ x: 1400, y: 0 }"/>
</a-col>
</a-row>
</a-card>
......@@ -125,14 +125,14 @@
<template #extra>
<a-select
ref="select"
v-model:value="takeNumberTopDate"
v-model="takeNumberTopDate"
:options="options"
style="width: 120px"
@change="changeTakeNumberTopDate"
>
</a-select>
</template>
<a-table :row-key="record => record.index" :dataSource="takeNumberTop" :columns="takeNumberTopColumns" :pagination="false">
<a-table :row-key="(record,index) => index" :dataSource="takeNumberTop" :columns="takeNumberTopColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
......@@ -153,14 +153,14 @@
<template #extra>
<a-select
ref="select"
v-model:value="appointmentTopDate"
v-model="appointmentTopDate"
:options="options"
style="width: 120px"
@change="changeAppointmentTopDate"
>
</a-select>
</template>
<a-table :row-key="record => record.index" :dataSource="appointmentTop" :columns="appointmentTopColumns" :pagination="false">
<a-table :row-key="(record,index) => index" :dataSource="appointmentTop" :columns="appointmentTopColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
......@@ -183,14 +183,14 @@
<template #extra>
<a-select
ref="select"
v-model:value="takeNumberLessDate"
v-model="takeNumberLessDate"
:options="options"
style="width: 120px"
@change="changeTakeNumberLessDate"
>
</a-select>
</template>
<a-table :row-key="record => record.index" :dataSource="takeNumberLess" :columns="takeNumberLessColumns" :pagination="false">
<a-table :row-key="(record,index) => index" :dataSource="takeNumberLess" :columns="takeNumberLessColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
......@@ -211,14 +211,14 @@
<template #extra>
<a-select
ref="select"
v-model:value="appointmentLessDate"
v-model="appointmentLessDate"
:options="options"
style="width: 120px"
@change="changeAppointmentLessDate"
>
</a-select>
</template>
<a-table :row-key="record => record.index" :dataSource="appointmentLess" :columns="appointmentLessColumns" :pagination="false">
<a-table :row-key="(record,index) => index" :dataSource="appointmentLess" :columns="appointmentLessColumns" :pagination="false">
<span slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</span>
......@@ -422,7 +422,7 @@ import moment from "moment"
key:'index',
title: '排名',
dataIndex: 'index',
scopedSlots: { customRender: 'index' },
// scopedSlots: { customRender: 'index' },
},
{
key:'businessName',
......@@ -433,16 +433,20 @@ import moment from "moment"
key:'number',
title: '办理数量',
dataIndex: 'nums',
scopedSlots: { customRender: 'nums' },
// scopedSlots: { customRender: 'nums' },
},
],
takeNumberTopDate: '0',
appointmentTopDate: '0',
takeNumberLessDate: '0',
appointmentLessDate: '0',
siteid:localStorage.getItem("siteId")
}
},
mounted(){
this.$bus.$on("changeSite", () => {
this.siteid = localStorage.getItem("siteId")
});
this.getAllData()
this.getTakeLineData()
this.getAppointmentData()
......@@ -451,11 +455,22 @@ import moment from "moment"
this.getTakeNumberLess()
this.getAppointmentLess()
},
watch:{
siteid(){
this.getAllData()
this.getTakeLineData()
this.getAppointmentData()
this.getTakeNumberTop()
this.getAppointmentTop()
this.getTakeNumberLess()
this.getAppointmentLess()
}
},
methods:{
//获取全部基本数据
async getAllData() {
this.nowDate= moment(new Date()).format('YYYY-MM-DD h:mm:ss')
const res = await getAllInfo()
const res = await getAllInfo({siteid:this.siteid})
if(res.code == 1){
this.situation= res.data
this.firstPie= {
......@@ -474,7 +489,7 @@ import moment from "moment"
},
// 排队取号
async getTakeLineData() {
const res = await getBusinessInfo()
const res = await getBusinessInfo({siteid:this.siteid})
if(res.code == 1){
let arr= res.data.info
let newArr= []
......@@ -503,7 +518,7 @@ import moment from "moment"
},
// 预约情况
async getAppointmentData() {
const res = await getWyInfo()
const res = await getWyInfo({siteid:this.siteid})
if(res.code == 1){
let arr= res.data.info
let newArr= []
......@@ -535,7 +550,7 @@ import moment from "moment"
if(val== undefined){
val = 0
}
const res = getTopBusiness({selected: val,sort: 'DESC'})
const res = await getTopBusiness({selected: val,sort: 'DESC',siteid:this.siteid})
if(res.code == 1) {
this.takeNumberTop= res.data
}
......@@ -545,7 +560,7 @@ import moment from "moment"
if(val== undefined){
val = 0
}
const res = getTopBusiness({selected: val,sort: 'ASC'})
const res = await getTopBusiness({selected: val,sort: 'ASC',siteid:this.siteid})
if(res.code == 1) {
this.takeNumberLess= res.data
}
......@@ -555,7 +570,7 @@ import moment from "moment"
if(val== undefined){
val = 0
}
const res = getTopWy({selected: val,sort: 'DESC'})
const res = await getTopWy({selected: val,sort: 'DESC',siteid:this.siteid})
if(res.code == 1) {
this.appointmentTop= res.data
}
......@@ -565,7 +580,7 @@ import moment from "moment"
if(val== undefined){
val = 0
}
const res = getTopWy({selected: val,sort: 'ASC'})
const res = await getTopWy({selected: val,sort: 'ASC',siteid:this.siteid})
if(res.code == 1) {
this.appointmentLess= res.data
}
......
......@@ -40,13 +40,13 @@ export default {
businessName: '',
dataSource: [],
sourceList:[],
dataList: [],
// dataList: [],
btnShow: false,
}
},
mounted() {
this.getList()
// this.getList()
},
created(){
},
......@@ -69,15 +69,15 @@ export default {
this.btnShow= false
this.businessName= ''
},
async getList(){
await axios.get('http://192.168.0.98:8090/inter/statistic/busList',{params: {siteid: 1}}).then((res)=>{
if(res && res.status==200){
res.data.data.forEach(item=>{
this.dataList.push(item.name)
})
}
})
},
// async getList(){
// await axios.get('http://192.168.0.98:8090/inter/statistic/busList',{params: {siteid: 1}}).then((res)=>{
// if(res && res.status==200){
// res.data.data.forEach(item=>{
// this.dataList.push(item.name)
// })
// }
// })
// },
onSearch: _.debounce(function(val){
this.dataSource= []
userSiteBus({siteid: localStorage.getItem('siteId'),bus_name:val}).then(res => {
......
......@@ -36,10 +36,10 @@
}" :scroll="{ y: 590 }" :pagination="tablePagination" @change="pagTableChange" :loading="tableLoading"
:columns="tableHeaders" :dataSource="tableList">
<template slot="zhenshixingming" slot-scope="text, record, index">
<a-button type="link" @click="openUserDetails">{{ text }}</a-button>
<a-button type="link" @click="openUserDetails(record)">{{ text?text:'--' }}</a-button>
</template>
<template slot="tupianzuopinshuliang" slot-scope="text, record, index">
<a-button type="link" @click="openPicWorks">{{ text }}</a-button>
<a-button type="link" @click="openPicWorks(record.id)">{{ (text || text==0)?text:'--' }}</a-button>
</template>
</a-table>
<PicWorks ref="PicWorks" />
......@@ -87,27 +87,36 @@ export default {
{
title: "真实姓名",
align: "center",
dataIndex: "custName"
dataIndex: "custName",
scopedSlots: {
customRender: "zhenshixingming",
},
},
{
title: "联系电话",
align: "center",
dataIndex: "contactTelphone",
customRender: (text) => `${text?text:'--'}`,
},
{
title: "单位名称",
align: "center",
dataIndex: "organization",
customRender: (text) => `${text?text:'--'}`,
},
{
title: "图片作品数量",
align: "center",
dataIndex: "customerDesignPictures",
scopedSlots: {
customRender: "tupianzuopinshuliang",
},
},
{
title: "视频作品数量",
align: "center",
dataIndex: "customerDesignVideos",
customRender: (text) => `${(text || text==0)?text:'--'}`,
},
{
title: "会员等级",
......@@ -119,6 +128,7 @@ export default {
title: "最近登录时间",
align: "center",
dataIndex: "lastLoginTime",
customRender: (text) => `${text?text:'--'}`,
},
{
title: "使用状态",
......@@ -264,14 +274,16 @@ export default {
return "type0";
}
},
openPicWorks() {
openPicWorks(id) {
this.$refs.PicWorks.modalInfo.title = "作品数量";
this.$refs.PicWorks.modalInfo.visible = true;
this.$refs.PicWorks.modalInfo.width = "32%";
this.$refs.PicWorks.modalInfo.id = id
},
openUserDetails() {
openUserDetails(record) {
this.$refs.UserDetails.modalInfo.title = "客户详情";
this.$refs.UserDetails.modalInfo.visible = true;
this.$refs.UserDetails.modalInfo.record = record;
},
},
};
......
......@@ -6,18 +6,18 @@
:visible="modalInfo.visible"
@close="modalClose"
>
<div class="headerInfo"><span>作品数量</span><i>4</i></div>
<div class="headerInfo"><span>作品数量</span><i>{{tableList.length}}</i></div>
<div class="zuoping_box">
<div class="_list" v-for="item of 5">
<div class="_list" v-for="item in tableList" :key="item.id">
<div class="_top">
<img class="logo_img" src="~@/assets/images/logo.png" alt="" />
<h1>
<p>我要开公司</p>
<p>创建于:2022-05-23 20:00:00</p>
<p>{{item.workDesignName}}</p>
<p>创建于:{{item.updateTimeStr}}</p>
</h1>
</div>
<div class="_bottom">
<img class="works_img" src="~@/assets/images/u22.png" alt="" />
<img class="works_img" :src="baseurl+'/'+item.previewUrl" alt="" />
</div>
</div>
</div>
......@@ -26,17 +26,41 @@
<script>
import modal from "../mixins/modal";
import {picInfoList} from "@/api/customer";
export default {
mixins: [modal],
name: "PortalAdminVuePicWorks",
data() {
return {};
return {
modalInfo:{},
tableList:[],
baseurl:'http://8.136.255.30'
};
},
mounted() {},
mounted() {
},
watch:{
'modalInfo.visible'(newval){
if(newval){
this.getPicInfo(this.modalInfo.id)
}
}
},
methods: {
async getPicInfo(id){
let res = await picInfoList({
customerId:id
});
console.log(res);
if (res.code == 1) {
let {data} = res.data;
this.tableList = data;
}
},
openPicWorks() {
this.$emit("openPicWorks");
},
......
......@@ -6,12 +6,60 @@
:visible="modalInfo.visible"
@close="modalClose"
>
<div class="box1" v-for="item of 3">
<p class="details1" v-for="item of 3">
<span>真实姓名</span><i>刘德华</i>
<div class="box1">
<p class="details1">
<span>真实姓名</span><i>{{modalInfo.record.custName}}</i>
</p>
<p class="details2" v-for="item of 3">
<span>图片作品数量</span><i @click="openPicWorks">4</i>
<p class="details1">
<span>性别</span><i>{{modalInfo.record.sex?modalInfo.record.sex%2==0?'':'':'--'}}</i>
</p>
<p class="details1">
<span>联系电话</span><i>{{modalInfo.record.contactTelphone}}</i>
</p>
<p class="details1">
<span>单位名称</span><i>{{modalInfo.record.organization}}</i>
</p>
<p class="details1">
<span>会员等级</span><i>{{modalInfo.record.memberLevel==0?'未开启':modalInfo.record.memberLevel==1?'试用客户':modalInfo.record.memberLevel==2?'VIP':modalInfo.record.memberLevel==3?'设计师':'--'}}</i>
</p>
<p class="details1">
<span>邮箱</span><i>{{modalInfo.record.mailbox?modalInfo.record.mailbox:'未填写'}}</i>
</p>
<p class="details1">
<span>职位</span><i>{{modalInfo.record.job?modalInfo.record.job:'未填写'}}</i>
</p>
<p class="details1">
<span>客户来源</span><i>{{modalInfo.record.customerSrc?modalInfo.record.customerSrc==1?'申请试用':'顾问签单':'未填写'}}</i>
</p>
<p class="details1">
<span>企业顾问</span><i>{{modalInfo.record.enterpriseConsultant}}</i>
</p>
<p class="details1">
<span>微信号</span><i>{{modalInfo.record.custName}}</i>
</p>
</div>
<div class="box1">
<p class="details1">
<span>登录账号</span><i>{{modalInfo.record.loginName}}</i>
</p>
<p class="details1">
<span>登录密码</span><i>{{modalInfo.record.password?modalInfo.record.password.replace(/\S/g, "*"):''}}</i>
</p>
</div>
<div class="box1">
<p class="details2">
<span>图片作品数量</span><i @click="openPicWorks(modalInfo.record.id)">{{modalInfo.record.customerDesignPictures}}</i>
</p>
<p class="details1">
<span>视屏作品数量</span><i>{{modalInfo.record.customerDesignVideos?modalInfo.record.customerDesignVideos:'0'}}</i>
</p>
</div>
<div class="box1">
<p class="details1">
<span>注册时间</span><i>{{modalInfo.record.createTime}}</i>
</p>
<p class="details1">
<span>最近登录时间</span><i>{{modalInfo.record.lastLoginTimeStr}}</i>
</p>
</div>
</a-drawer>
......@@ -24,14 +72,21 @@ export default {
name: "PortalAdminVueUserDetails",
data() {
return {};
return {
modalInfo:{
record:{
custName:''
}
}
};
},
mounted() {},
methods: {
openPicWorks() {
this.$emit("openPicWorks");
openPicWorks(id) {
this.modalInfo.visible = false
this.$emit("openPicWorks",id);
},
},
};
......
......@@ -174,7 +174,7 @@ export default {
{
title: "评价设备",
align: "center",
dataIndex: "pj_name",
dataIndex: "devicenum",
customRender: (text) => {
return text ? text : "--";
},
......
......@@ -67,8 +67,9 @@
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<template slot="avater">
<a-avatar :size="40" icon="user" />
<template slot="avater" slot-scope="text">
<a-avatar v-if="!text" :size="40" icon="user" />
<img v-else :src="baseurl+text" style="width: 60px;height: 60px;">
</template>
<template slot="action" slot-scope="text">
<a-button type="link" @click="showDrawer(text)">详细信息</a-button>
......@@ -151,6 +152,7 @@ export default {
{
title: "用户头像",
align: "center",
dataIndex:"icon",
scopedSlots: {
customRender: "avater",
},
......@@ -198,6 +200,7 @@ export default {
tableSelectedRows: [],
tableSourceData: [],
userInfo: {}, // 用户信息
baseurl: process.env.VUE_APP_API_PHP_URL,
};
},
components: {
......
......@@ -315,6 +315,9 @@ export default {
"办理窗口",
"工作人员",
"办理结束时间",
"当前排号总时长",
"业务平均办理时长",
"业务平均等待时长",
"状态",
],
filterVal: [
......
......@@ -287,6 +287,9 @@ export default {
"办理窗口",
"工作人员",
"办理结束时间",
"当前排号总时长",
"业务平均办理时长",
"业务平均等待时长",
"状态",
],
filterVal: [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment