19 lines
1.5 KiB
TypeScript
19 lines
1.5 KiB
TypeScript
import { computed, h, ref } from 'vue';
|
|
import { NTag } from 'naive-ui';
|
|
import { FormSchema } from '@/components/Form';
|
|
import { useDictStore } from '@/store/modules/dict';
|
|
const dict=useDictStore();
|
|
export class State { id=0;serviceCode='';name='';avatarUrl='';workTime='09:00-18:00';onlineStatus=2;serviceUrl='https://';backupContact='';status=1;sort=0;remark=''; }
|
|
export const schemas=ref<FormSchema[]>([
|
|
{field:'name',component:'NInput',label:'客服名称',componentProps:{clearable:true}},
|
|
{field:'status',component:'NSelect',label:'状态',componentProps:{options:computed(()=>dict.getOptionUnRef('sys_normal_disable')),clearable:true}},
|
|
]);
|
|
const tag=(type,value)=>h(NTag,{type:dict.getType(type,value),bordered:false},{default:()=>dict.getLabel(type,value)||'-'});
|
|
export const columns=[
|
|
{title:'编码',key:'serviceCode',width:130},{title:'客服名称',key:'name',width:140},{title:'工作时间',key:'workTime',width:150},
|
|
{title:'在线状态',key:'onlineStatus',width:100,render:(r)=>tag('customerServiceOnline',r.onlineStatus)},{title:'跳转 URL',key:'serviceUrl',width:260,ellipsis:{tooltip:true}},
|
|
{title:'备用联系方式',key:'backupContact',width:220,ellipsis:{tooltip:true}},{title:'状态',key:'status',width:90,render:(r)=>tag('sys_normal_disable',r.status)},
|
|
{title:'排序',key:'sort',width:80},{title:'创建时间',key:'createdAt',width:180},
|
|
];
|
|
export const loadOptions=()=>dict.loadOptions(['customerServiceOnline','sys_normal_disable']);
|