You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
4.2 KiB
203 lines
4.2 KiB
<!--业务板块-->
|
|
<template>
|
|
<div>
|
|
<lx-header icon="md-apps" style="margin-bottom: 10px; border: 0px; margin-top: 15px" text="业务板块">
|
|
<div slot="content"></div>
|
|
<slot>
|
|
<Button type="primary" @click="$refs['addBusiness'].type = 'add',$refs['addBusiness'].isShow = true">新增</Button>
|
|
</slot>
|
|
</lx-header>
|
|
|
|
<xy-table
|
|
:defaultExpandAll="false"
|
|
:total="total"
|
|
:table-item="table"
|
|
:list="list"
|
|
@editor="editor"
|
|
@delete="destroy"
|
|
@pageIndexChange="e => {select.page = e;getTypes()}"
|
|
@pageSizeChange="e => select.page_size = e"></xy-table>
|
|
|
|
<add-business ref="addBusiness" @refresh="getTypes"></add-business>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {getList,destroy} from '@/api/productType'
|
|
import {parseTime} from '@/utils'
|
|
|
|
import addBusiness from "@/views/business/component/addBusiness";
|
|
export default {
|
|
components:{
|
|
addBusiness
|
|
},
|
|
data() {
|
|
return {
|
|
select:{
|
|
page_size:10,
|
|
page:1
|
|
},
|
|
|
|
total:0,
|
|
list:[],
|
|
table:[
|
|
{
|
|
type:'expand',
|
|
expandFn:(props)=>{
|
|
return (
|
|
<el-form label-width="120px" label-position="right" className="demo-table-expand">
|
|
<el-form-item label="名称">
|
|
<span>{props?.row.name}</span>
|
|
</el-form-item>
|
|
<el-form-item label="服务购买方">
|
|
<span>{props?.row.buy_name}</span>
|
|
</el-form-item>
|
|
<el-form-item label="服务流程">
|
|
<span>{props?.row.flow}</span>
|
|
</el-form-item>
|
|
</el-form>
|
|
)
|
|
}
|
|
},
|
|
{
|
|
prop:'name',
|
|
label:'名称',
|
|
align:'left',
|
|
minWidth:220
|
|
},
|
|
{
|
|
prop:'cycle',
|
|
label:'结算周期',
|
|
width: 200,
|
|
formatter:(cell,data,value)=>{
|
|
switch (value){
|
|
case 1:
|
|
return '月度结算'
|
|
break;
|
|
case 2:
|
|
return '季度结算'
|
|
break;
|
|
case 3:
|
|
return '年度结算'
|
|
break;
|
|
default:
|
|
return value
|
|
}
|
|
}
|
|
},
|
|
{
|
|
prop:'sortnumber',
|
|
label:'排序',
|
|
width: 100
|
|
},
|
|
{
|
|
prop:'created_at',
|
|
label:'创建信息',
|
|
width: 200,
|
|
formatter:(v1,v2,value)=>{
|
|
return parseTime(new Date(value),'{y}-{m}-{d}')
|
|
}
|
|
}
|
|
],
|
|
|
|
|
|
}
|
|
},
|
|
methods: {
|
|
async getTypes() {
|
|
const res = await getList(this.select)
|
|
this.total = res.total
|
|
this.list = res.data
|
|
|
|
console.log(this.list)
|
|
},
|
|
|
|
editor(row){
|
|
this.$refs['addBusiness'].type = 'editor'
|
|
this.$refs['addBusiness'].id = row.id
|
|
this.$refs['addBusiness'].isShow = true
|
|
},
|
|
destroy(row){
|
|
destroy(row.id).then(res => {
|
|
this.$message({
|
|
type:"success",
|
|
message:'删除业务类别成功'
|
|
})
|
|
|
|
this.getTypes()
|
|
})
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getTypes()
|
|
}
|
|
}
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
@import "../../styles/index";
|
|
|
|
.switch {
|
|
display: flex;
|
|
|
|
&-item {
|
|
flex: 1;
|
|
text-align: center;
|
|
letter-spacing: 2px;
|
|
color: rgb(100, 100, 100);
|
|
background: #fff;
|
|
border: 1px solid rgb(210, 210, 210);
|
|
|
|
padding: 8px 0;
|
|
|
|
&-active {
|
|
border: none;
|
|
overflow: hidden;
|
|
animation: btn-click 800ms forwards ease-out;
|
|
|
|
position: relative;
|
|
|
|
&::after {
|
|
content: '';
|
|
width: 300px;
|
|
height: 300px;
|
|
border-radius: 100%;
|
|
background: rgba(180, 180, 180, 0.4);
|
|
animation: ripple 800ms forwards;
|
|
transform: translateX(-50%);
|
|
|
|
position: absolute;
|
|
top: -300px;
|
|
left: 50%;
|
|
}
|
|
}
|
|
|
|
@keyframes ripple {
|
|
from {
|
|
opacity: 1;
|
|
}
|
|
to {
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
top: 100px;
|
|
}
|
|
}
|
|
@keyframes btn-click {
|
|
from {
|
|
|
|
}
|
|
to {
|
|
color: #fff;
|
|
background: $primaryColor;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
& > div:nth-child(-n+2) {
|
|
border-right: none;
|
|
}
|
|
}
|
|
</style>
|