master
271556543@qq.com 4 years ago
parent 34985bb95b
commit 282462bd1f

@ -0,0 +1,34 @@
import request from "@/utils/request";
export function getList(params,isLoading){
return request({
method:'get',
url:'/api/admin/pay_unit/get-list',
params,
isLoading
})
}
export function getForm(id,params){
return request({
method:'get',
url:`/api/admin/pay_unit/get-form/${id}`,
params
})
}
export function save(data){
return request({
method:'post',
url:'/api/admin/pay_unit/save',
data
})
}
export function destroy(id,data){
return request({
method:'post',
url:`/api/admin/pay_unit/delete/${id}`,
data
})
}

@ -39,7 +39,7 @@ router.beforeEach(async(to, from, next) => {
// generate accessible routes map based on roles
const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
console.log(accessRoutes)
//console.log(accessRoutes)
// dynamically add accessible routes
router.addRoutes(accessRoutes)

@ -1,29 +1,97 @@
<template>
<div>
<div class="statistics">
<div>
<el-card>
<div>营业统计</div>
<div>
<el-card>
<template v-slot:header>
<i class="el-icon-data-line"></i>
<span class="statistics-title">营业统计</span>
</template>
<div class="statistics-content">
<div class="statistics-content-top">
<div class="statistics-content-top__num">40.5</div>
<div class="statistics-content-top__name">服务金额</div>
</div>
<div class="statistics-content-bottom">
<div class="statistics-content-bottom-left">
<div class="statistics-content-bottom-left__num">26.9</div>
<div class="statistics-content-bottom-left__name">护工金额</div>
</div>
<div class="statistics-content-bottom-right">
<div class="statistics-content-bottom-right__num">13.6</div>
<div class="statistics-content-bottom-right__name">留存金额</div>
</div>
</div>
</div>
</el-card>
<el-card>
<template v-slot:header>
<i class="el-icon-user"></i>
<span class="statistics-title">人效统计</span>
</template>
<div class="statistics-content">
<div class="statistics-content-top">
<div class="statistics-content-top__num">120</div>
<div class="statistics-content-top__name">照护人员</div>
</div>
<div class="statistics-content-bottom">
<div class="statistics-content-bottom-left">
<div class="statistics-content-bottom-left__num">8小时/</div>
<div class="statistics-content-bottom-left__name">预期照护时长</div>
</div>
<div class="statistics-content-bottom-right">
<div class="statistics-content-bottom-right__num">6.3小时/</div>
<div class="statistics-content-bottom-right__name">人均照护时长</div>
</div>
</div>
</div>
</el-card>
<el-card>
<template v-slot:header>
<i class="el-icon-s-custom"></i>
<span class="statistics-title">客户统计</span>
</template>
<div class="statistics-content">
<div class="statistics-content-top">
<div class="statistics-content-top__num">800</div>
<div class="statistics-content-top__name">活跃客户</div>
</div>
<div class="statistics-content-bottom">
<div class="statistics-content-bottom-left">
<div class="statistics-content-bottom-left__num">100</div>
<div class="statistics-content-bottom-left__name">新增</div>
</div>
<div class="statistics-content-bottom-right">
<div class="statistics-content-bottom-right__num">20</div>
<div class="statistics-content-bottom-right__name">流失</div>
</div>
</div>
</div>
</el-card>
<el-card>
<template v-slot:header>
<i class="el-icon-document"></i>
<span class="statistics-title">订单统计</span>
</template>
<div class="statistics-content">
<div class="statistics-content-top">
<div class="statistics-content-top__num">500</div>
<div class="statistics-content-top __name">服务订单</div>
</div>
</el-card>
</div>
<div>
<el-card>
<div>人效统计</div>
</el-card>
</div>
<div>
<el-card>
<div>客户统计</div>
</el-card>
</div>
<div>
<el-card>
<div>订单统计</div>
</el-card>
</div>
<div class="statistics-content-bottom">
<div class="statistics-content-bottom-left">
<div class="statistics-content-bottom-left__num">450</div>
<div class="statistics-content-bottom-left__name">周期性订单</div>
</div>
<div class="statistics-content-bottom-right">
<div class="statistics-content-bottom-right__num">50</div>
<div class="statistics-content-bottom-right__name">单次订单</div>
</div>
</div>
</div>
</el-card>
</div>
<div class="chart">
@ -39,47 +107,129 @@ import echarts from "echarts"
export default {
components: {},
data() {
return {}
return {
col:'',
line:''
}
},
methods: {
init() {
let col = echarts.init(document.getElementById('col-chart'))
col.setOption({
this.col = echarts.init(document.getElementById('col-chart'))
this.col.setOption({
title: {
text: '营业与收入'
text: ''
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
},
position:'bottom'
},
legend: {},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
yAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
type: 'category',
data: ['第一周', '第二周', '第三周', '第四周']
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
series: [
{
name: '服务金额',
type: 'bar',
data: [18203, 23489, 29034, 104970],
itemStyle: {
normal: {
color: 'rgb(42,182,252)'
},
},
},
{
name: '收款',
type: 'bar',
data: [19325, 23438, 31000, 121594],
itemStyle: {
normal: {
color: 'rgb(34,228,255)'
},
},
}
]
})
let line = echarts.init(document.getElementById('line-chart'))
line.setOption({
this.line = echarts.init(document.getElementById('line-chart'))
this.line.setOption({
title: {
text: '客户与订单'
text: ''
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['活跃客户', '服务订单']
},
grid: {
left: '3%',
right: '6%',
bottom: '3%',
containLabel: true
},
toolbox: {
},
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
type: 'category',
boundaryGap: false,
data: ['第一周', '第二周', '第三周', '第四周']
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
yAxis: {
type: 'value',
},
series: [
{
name: '活跃客户',
type: 'line',
stack: 'Total',
data: [120, 132, 101, 134],
itemStyle: {
normal: {
color: 'rgb(42,182,252)'
},
},
},
{
name: '服务订单',
type: 'line',
stack: 'Total',
data: [220, 182, 191, 234],
itemStyle: {
normal: {
color: 'rgb(34,228,255)'
},
},
}
]
})
}
},
mounted() {
this.init()
window.onresize = () => {
this.col.resize()
this.line.resize()
}
},
destroyed() {
window.onresize = null
}
}
</script>
@ -88,8 +238,51 @@ export default {
.statistics{
display: flex;
margin-top: 20px;
&-title{
padding-left: 6px;
}
&-content{
text-align: center;
font-size: 13px;
&-top{
&__num{
font-weight: 600;
}
&__name{
font-size: 10px;
color: rgb(140,140,140);
}
}
&-bottom{
display: flex;
justify-content: space-between;
&-left{
&__num{
font-weight: 600;
}
&__name{
font-size: 10px;
color: rgb(140,140,140);
}
}
&-right{
&__num{
font-weight: 600;
}
&__name{
font-size: 10px;
color: rgb(140,140,140);
}
}
}
}
&>div{
height: 100px;
flex: 1;
margin-right: 20px;
@ -100,6 +293,8 @@ export default {
}
.chart{
display: flex;
margin-top: 50px;
#col-chart {
background: #fff;
border-radius: 10px;

@ -0,0 +1,125 @@
<template>
<div>
<xy-dialog
ref="dialog"
:is-show.sync="isShow"
type="form"
:title="type === 'add' ? '新增第三方结算对象' : '编辑第三方结算对象'"
:form="form"
:rules="rules"
@submit="submit">
<template v-slot:name>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>名称
</div>
<div class="xy-table-item-content">
<el-input v-model="form.name" clearable placeholder="请输入分类名称" style="width: 300px;" />
</div>
</div>
</template>
<template v-slot:product_type_id>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>业务板块
</div>
<div class="xy-table-item-content">
<el-select v-model="form.product_type_id" placeholder="请选择业务板块" style="width: 300px;">
<el-option v-for="item in types" :value="item.id" :label="item.name" :key="item.id"></el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:area_id>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>所属区域
</div>
<div class="xy-table-item-content">
<el-select v-model="form.area_id" placeholder="请选择所属区域" style="width: 300px;">
<el-option v-for="item in areas" :value="item.id" :label="item.value" :key="item.id"></el-option>
</el-select>
</div>
</div>
</template>
</xy-dialog>
</div>
</template>
<script>
import {save,getForm} from '@/api/payUnit'
export default {
props:{
areas:{
type:Array,
default:()=>[]
},
types:{
type:Array,
default:()=>[]
}
},
data() {
return {
isShow:false,
id:'',
type:'',
form:{
name:'',
product_type_id:'',
area_id:'',
},
rules:{
name:[
{required:true,message:'请填写名称'}
]
}
}
},
methods: {
async getDetail(){
const res = await getForm(this.id)
this.$integrateData(this.form,res)
},
submit(){
if(this.type === 'editor'){
Object.defineProperty(this.form,'id',{
value:this.id,
enumerable:true,
configurable:true,
writable:true
})
}
save(this.form).then(res => {
this.$successMessage(this.type,'结算对象')
this.isShow = false
this.$emit('refresh')
})
}
},
watch:{
isShow(val){
if(val){
if(this.type === 'editor'){
this.getDetail()
}
}else{
this.id = ''
this.type = ''
this.$refs['dialog'].reset()
delete this.form.id
}
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-input__inner{
text-align: left;
}
</style>

@ -0,0 +1,91 @@
<template>
<div>
<div ref="lxHeader">
<lx-header icon="md-apps" style="margin-bottom: 10px; border: 0px; margin-top: 15px" text="第三方结算对象">
<div slot="content"></div>
<slot>
<div>
<Input v-model="select.keyword" placeholder="关键字搜索" style="width: 200px; margin-right: 10px"/>
<Button style="margin-left: 10px" type="primary" @click="select.page = 1,getList()">查询</Button>
<Button style="margin-left: 10px" type="primary" @click="$refs['addobjects'].type = 'add',$refs['addobjects'].isShow = true">新建</Button>
</div>
</slot>
</lx-header>
</div>
<xy-table
:total="total"
:list="list"
:table-item="table"
@editor="editor"
@delete="destroy"></xy-table>
<add ref="addobjects" @refresh="getList" :types="types" :areas="areas"/>
</div>
</template>
<script>
import {getList,destroy} from '@/api/payUnit'
import {getList as typeList} from '@/api/productType'
import {getparameter} from '@/api/system/dictionary'
import add from "./component/addobjects"
export default {
components:{
add
},
data() {
return {
select:{
page:1,
page_size:10,
keyword:''
},
types:[],
areas:[],
total:0,
list:[],
table:[]
}
},
methods: {
async getTypes(){
const res = await typeList({page:1,page_size:9999},false)
this.types = res.data
},
async getAreas(){
const res = await getparameter({number:'serveArea'},false)
this.areas = res.detail
},
async getList(){
const res = await getList(this.select)
this.total = res.total
this.list = res.data
console.log(this.list)
},
editor(row){
this.$refs['addobjects'].type = 'editor'
this.$refs['addobjects'].id = row.id
this.$refs['addobjects'].isShow = true
},
destroy(row){
destroy(row.id).then(res => {
this.$successMessage('destroy','')
this.getList()
})
}
},
mounted() {
this.getTypes()
this.getAreas()
this.getList()
}
}
</script>
<style scoped lang="scss">
</style>

@ -13,7 +13,7 @@
姓名
</el-col>
<el-col :span="18">
<el-input v-model="detail.name" readonly style="width: 300px;">
<el-input v-model="detail.customer.name" readonly style="width: 300px;">
</el-input>
</el-col>
</el-row>
@ -23,7 +23,7 @@
性别
</el-col>
<el-col :span="18">
<el-input v-model="detail.sex" readonly style="width: 300px;">
<el-input v-model="detail.customer.sex" readonly style="width: 300px;">
</el-input>
</el-col>
</el-row>
@ -33,7 +33,7 @@
身份证号
</el-col>
<el-col :span="18">
<el-input v-model="detail.idcard" readonly style="width: 300px;">
<el-input v-model="detail.customer.idcard" readonly style="width: 300px;">
</el-input>
</el-col>
</el-row>
@ -53,7 +53,7 @@
评估等级
</el-col>
<el-col :span="18">
<el-select v-model="detail.level_id" disabled placeholder="请选择失能等级" style="width: 300px">
<el-select v-model="detail.customer.level_id" disabled placeholder="请选择失能等级" style="width: 300px">
<el-option v-for="item in levels" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>
</el-col>
@ -64,7 +64,7 @@
上门地址
</el-col>
<el-col :span="18">
<el-input style="width: 300px;" readonly :value="defaultAddress(detail.customer_address)"></el-input>
<el-input style="width: 300px;" readonly :value="defaultAddress(detail.customer.customer_address)"></el-input>
</el-col>
</el-row>
@ -73,29 +73,7 @@
备注
</el-col>
<el-col :span="18">
<el-input style="width: 300px;" v-model="detail.remark" readonly></el-input>
</el-col>
</el-row>
<el-row type="flex" align="middle">
<el-col :span="4" :push="1">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>产品
</el-col>
<el-col :span="18">
<el-select style="width: 300px;" v-model="productId">
<el-option v-for="item in products" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-col>
</el-row>
<el-row type="flex" align="middle">
<el-col :span="4" :push="1">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>订单
</el-col>
<el-col :span="18">
<el-select style="width: 300px;" v-model="orderId">
<el-option v-for="item in orders" :label="item.no" :value="item.id"></el-option>
</el-select>
<el-input style="width: 300px;" v-model="detail.customer.remark" readonly></el-input>
</el-col>
</el-row>
@ -106,6 +84,32 @@
<template v-if="data.type === 'current-month'">
<i class="el-icon-plus" style="padding:10px;"></i>
</template>
<template v-if="scheduleCount(data.day)">
<Poptip transfer trigger="hover" title="当日排班" width="520" content="content" >
<template v-slot:default>
<div class="schedule-num">{{scheduleCount(data.day).length}}</div>
</template>
<template v-slot:content>
<xy-table :is-page="false" :height="220" :list="scheduleCount(data.day)" :table-item="table">
<template v-slot:btns>
<el-table-column label="操作" width="70">
<template v-slot:default="scope">
<Poptip
:transfer="true"
confirm
title="确认要删除吗?"
@on-ok="destroySchedule(scope.row)">
<Button size="small" type="primary" ghost>删除</Button>
</Poptip>
</template>
</el-table-column>
</template>
</xy-table>
</template>
</Poptip>
</template>
</div>
</template>
</el-calendar>
@ -121,15 +125,15 @@
:nurses="nurses"
:skus="skus"
:date="date"
:order-id="orderId"
:product-id="productId"
:customer-id="detail.id"></timeSelect>
:order-id="detail.id"
:product-id="detail.product.id"
:customer-id="detail.customer.id"></timeSelect>
</div>
</template>
<script>
import {parseTime} from '@/utils'
import {customerDetail} from '@/api/schedule'
import {customerDetail,scheduleDelete} from '@/api/schedule'
import timeSelect from "@/views/schedule/component/timeSelect";
export default {
@ -153,10 +157,6 @@ export default {
type: Array,
default: () => []
},
orders:{
type: Array,
default: () => []
},
skus:{
type: Array,
default: () => []
@ -165,42 +165,61 @@ export default {
data() {
return {
productId: '',
orderId:'',
isShow: false,
isShowTime:false,
date:'',
detail: '',
schedules:[],
dateStartPick:'',
dateEndPick:'',
pickType:1,
table:[
{
label:'护工',
prop:'nurse_id',
minWidth:120,
sortable:false
},
{
label:'护理时间',
width:310,
sortable: false,
customFn:(row)=>{
return (
<div>{row.start_time} {row.end_time}</div>
)
}
}
]
}
},
methods: {
datePick(date,data){
console.log(date,data)
if(data.type === 'current-month'){
this.date = data.day
if(this.orderId && this.productId){
this.isShowTime = true
}else{
this.$message({
type:'warning',
message:'请先选择订单与产品'
})
}
this.isShowTime = true
}
},
async getCustomer() {
const res = await customerDetail({
product_id: this.form.product_id,
id: this.form.customer_id,
product_id: this.detail.product.id,
id: this.detail.customer.id,
})
console.log(res)
this.detail = res.detail
this.schedules = res.detail.schedule
},
destroySchedule(row){
scheduleDelete({id:row.id}).then(res => {
this.$successMessage('destroy','排班')
this.getCustomer()
})
},
datePicked(data,date){
if(this.pickType === 1){
this.dateStartPick = data.day
@ -213,7 +232,7 @@ export default {
},
computed: {
ageComputed() {
return new Date().getFullYear() - new Date(this.detail.birthday).getFullYear()
return new Date().getFullYear() - new Date(this.detail.customer.birthday).getFullYear()
},
defaultAddress(){
return function (adds){
@ -225,24 +244,26 @@ export default {
})[0]?.address || adds[0]?.address || '无地址'
}
},
isInDate(){
return function (day){
let startTimer = new Date(this.dateStartPick).getTime()
let endTimer = new Date(this.dateEndPick).getTime()
let dayTimer = new Date(day).getTime()
return dayTimer >= startTimer && dayTimer <= endTimer
}
},
timeFormat(){
return function (data){
return parseTime(data,'{dd}')
return function (data,format='{dd}'){
return parseTime(data,format)
}
},
scheduleCount(){
return function (day){
let arr = this.schedules.filter(item => {
return day === item.date
})
if(arr.length > 0){
return arr
}
}
}
},
watch: {
isShow(val) {
if (val) {
//this.getCustomer()
this.getCustomer()
} else {
this.orderId = ''
this.productId = ''
@ -268,4 +289,13 @@ export default {
margin-bottom: 0;
}
}
.schedule-num{
width: 18px;
height: 18px;
line-height: 18px;
text-align: center;
color: #fff;
background: $primaryColor;
border-radius: 100%;
}
</style>

@ -5,12 +5,44 @@
<div slot="content"></div>
<slot>
<div style="display: flex">
<el-tag effect="dark" style="margin-right: 10px;" type="warning">应排客户</el-tag>
<el-tag effect="dark" style="margin-right: 10px;" type="success">已排客户</el-tag>
<el-tag effect="dark" style="margin-right: 10px;" type="warning">应排客户{{statistics.need}}</el-tag>
<el-tag effect="dark" style="margin-right: 10px;" type="success">已排客户{{statistics.use}}</el-tag>
<Input v-model="select.keyword" placeholder="关键字搜索" style="width: 200px; margin-right: 10px"/>
<Button style="margin-right: 10px" type="primary" @click="select.page = 1,getCustomers">查询</Button>
<xy-selectors>
<Button style="margin-right: 10px" type="primary" @click="select.page = 1,getCustomerList()">查询</Button>
<xy-selectors @search="select.page = 1,getCustomerList()" @reset="reset">
<template>
<div class="select-item">
<div class="select-item__label">业务板块</div>
<el-select size="small" v-model="select.product_type_id" placeholder="选择业务板块" clearable style="width: 200px">
<el-option v-for="item in types" :value="item.id" :label="item.name" :key="item.id"></el-option>
</el-select>
</div>
<div class="select-item">
<div class="select-item__label">所属区域</div>
<el-select size="small" v-model="select.area_id" placeholder="选择区域" clearable style="width: 200px">
<el-option v-for="item in areas" :value="item.id" :label="item.value" :key="item.id"></el-option>
</el-select>
</div>
<div class="select-item">
<div class="select-item__label">所属月份</div>
<el-date-picker
v-model="select.month"
type="month"
value-format="yyyy-MM"
placeholder="选择月"
style="width: 200px">
</el-date-picker>
</div>
<div class="select-item">
<div class="select-item__label">状态</div>
<el-radio v-model="select.schedule_status" :label="1"></el-radio>
<el-radio v-model="select.schedule_status" :label="2"></el-radio>
<el-radio v-model="select.schedule_status" label=""></el-radio>
</div>
</template>
</xy-selectors>
</div>
</slot>
@ -44,11 +76,11 @@
<script>
import {customerList} from '@/api/schedule'
import {getList as customerIndex} from '@/api/customer'
import {getList as productIndex} from '@/api/product'
import {getList as nurseIndex} from '@/api/worker'
import {getparameter} from '@/api/system/dictionary'
import {getList as skuIndex} from '@/api/sku'
import {getList as typeIndex} from '@/api/productType'
import addSchedule from "@/views/schedule/component/addSchedule";
@ -61,7 +93,15 @@ export default {
select: {
page: 1,
page_size: 10,
keyword:''
keyword:'',
product_type_id:'',
area_id:'',
month:'',
schedule_status:'',
},
statistics:{
use:0,
need:0
},
customers:[],
products:[],
@ -70,6 +110,8 @@ export default {
orders:[],
skus:[],
accounts:[],
types:[],
areas:[],
total: 0,
list: [],
@ -80,7 +122,7 @@ export default {
fixed:'left'
},
{
prop: 'name',
prop: 'customer.name',
label: '客户',
width: 180,
fixed:'left'
@ -89,9 +131,14 @@ export default {
label:'产品',
width: 200,
align:'left',
customFn:(row)=>{
prop:'product.name'
},
{
label:'上门区域',
width: 200,
customFn:(row) => {
return (
<div>{row.orders[0]?.product.name}</div>
<div>{row.customer.area_detail?.value}</div>
)
}
},
@ -101,9 +148,9 @@ export default {
minWidth: 320,
align: 'left',
customFn: (row) => {
let add = row.customer_address.filter(item => {
let add = row.customer.customer_address.filter(item => {
return item.default === 1
})[0]?.address || row.customer_address[0]?.address || '无地址'
})[0]?.address || row.customer.customer_address[0]?.address || '无地址'
return (
<div>{add}</div>
)
@ -112,43 +159,33 @@ export default {
{
label: '应服务次数',
width: 120,
customFn: (row) => {
let total = 0;
row.orders.map(item => {
total += item.service_times
})
return (
<div>
{
total
}
</div>
)
}
prop:'service_times'
},
{
label: '已排班',
width: 120
width: 120,
prop:'schedule_count'
},
{
label:'排班状态',
width: 140,
}
]
}
},
methods: {
async getAreas(){
const res = await getparameter({number : 'changzhou'},false)
this.areas = res.detail
},
async getTypes(){
const res = await typeIndex({page_size:9999,page:1},false)
this.types = res.data
},
async getSkus(){
const res = await skuIndex({page_size:9999,page:1})
this.skus = res.data
},
async getCustomers(){
const res = await customerIndex({page_size:9999,page:1},false)
this.customers = res.data.data
},
async getProducts(){
const res = await productIndex({page_size:9999,page:1},false)
this.products = res.data
@ -164,26 +201,49 @@ export default {
async getCustomerList() {
const res = await customerList(this.select)
this.total = res.total
this.list = res.data
this.total = res.list.total
this.list = res.list.data
this.statistics.need = res.need_count
this.statistics.use = res.use_count
},
reset(){
this.select = {
page: 1,
page_size: 10,
keyword:'',
product_type_id:'',
area_id:'',
month:'',
schedule_status:'',
}
},
schedule(row){
this.$refs['addSchedule'].detail = row
this.orders = row.orders
this.$refs['addSchedule'].isShow = true
}
},
mounted() {
this.getCustomers()
this.getTypes()
this.getProducts()
this.getNurses()
this.getLevels()
this.getCustomerList()
this.getSkus()
this.getAreas()
}
}
</script>
<style lang="scss" scoped>
.select-item{
display: flex;
align-items: center;
&__label{
width: 100px;
padding: 10px 10px;
}
}
</style>

Loading…
Cancel
Save