Files
olons_admin/web/src/views/trade/customer-service/model.ts
T

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']);