|
@@ -11,7 +11,13 @@
|
|
|
@register="registerTable"
|
|
|
:searchInfo="searchInfo"
|
|
|
:rowSelection="{ type: 'checkbox', onChange: handleSelect }"
|
|
|
- />
|
|
|
+ >
|
|
|
+ <template #headerTop>
|
|
|
+ <div class="pt-4 pb-4">
|
|
|
+ 场景名称: {{ headerInfo?.sceneName }} 直播间名称:{{ headerInfo?.name }}</div
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </BasicTable>
|
|
|
<!-- <BasicForm @register="registerForm" :model="model" /> -->
|
|
|
</div>
|
|
|
<template #centerFooter>
|
|
@@ -23,32 +29,23 @@
|
|
|
import { defineComponent, reactive, h } from 'vue';
|
|
|
import { BasicModal, useModalInner } from '/@/components/Modal';
|
|
|
// import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
|
|
|
- import { BasicTable, useTable, BasicColumn } from '/@/components/Table';
|
|
|
- // import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
+ import { BasicTable, useTable, BasicColumn, FormSchema } from '/@/components/Table';
|
|
|
+ import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
// import { checkUserAddAble } from '/@/api/corporation/modal';
|
|
|
- // import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
+ import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
import { bindAnchorListApi, bindUserApi } from '/@/api/scene/live';
|
|
|
+ import { bindAnchorListParam } from '/@/api/scene/model';
|
|
|
import { Time } from '/@/components/Time';
|
|
|
+ import { useUserStore } from '/@/store/modules/user';
|
|
|
+
|
|
|
+ const { t } = useI18n();
|
|
|
+ const { createMessage } = useMessage();
|
|
|
|
|
|
- // const { t } = useI18n();
|
|
|
const schemas: FormSchema[] = [
|
|
|
{
|
|
|
field: 'own',
|
|
|
label: '主播选择:',
|
|
|
- component: 'ApiSelect',
|
|
|
- componentProps: {
|
|
|
- api: bindAnchorListApi,
|
|
|
- // resultField: 'list',
|
|
|
- numberToString: true,
|
|
|
- labelField: 'name',
|
|
|
- valueField: 'id',
|
|
|
- immediate: true,
|
|
|
- params: {
|
|
|
- page: 1,
|
|
|
- // brandId:
|
|
|
- limit: 1000,
|
|
|
- },
|
|
|
- },
|
|
|
+ component: 'Input',
|
|
|
},
|
|
|
];
|
|
|
const columns: BasicColumn[] = [
|
|
@@ -77,15 +74,15 @@
|
|
|
{
|
|
|
title: '是否同时开通一起逛',
|
|
|
dataIndex: 'canShow',
|
|
|
- width: 100,
|
|
|
- editComponent: 'Checkbox',
|
|
|
- // edit: true,
|
|
|
- editRow: true,
|
|
|
+ width: 140,
|
|
|
+ editComponent: 'Switch',
|
|
|
+ ellipsis: false,
|
|
|
+ edit: true,
|
|
|
+ editable: true,
|
|
|
editValueMap: (value) => {
|
|
|
- console.log('value', value);
|
|
|
- return value === 0 ? '是' : '否';
|
|
|
+ return value ? '是' : '否';
|
|
|
},
|
|
|
- // editable: true,
|
|
|
+
|
|
|
// customRender: ({ record }) => {
|
|
|
// return (
|
|
|
// record.createTime &&
|
|
@@ -116,13 +113,14 @@
|
|
|
props: {
|
|
|
userData: { type: Object },
|
|
|
},
|
|
|
- setup() {
|
|
|
+ emits: ['register', 'success'],
|
|
|
+ setup(_, { emit }) {
|
|
|
const [register, { closeModal }] = useModalInner((data) => {
|
|
|
data && onDataReceive(data);
|
|
|
});
|
|
|
-
|
|
|
+ const headerInfo = reactive<Recordable>({});
|
|
|
const searchInfo = reactive<Recordable>({});
|
|
|
- const [registerTable, { reload, getSelectRowKeys }] = useTable({
|
|
|
+ const [registerTable, { reload, getSelectRows }] = useTable({
|
|
|
title: '主播列表',
|
|
|
api: bindAnchorListApi,
|
|
|
columns: columns,
|
|
@@ -134,28 +132,42 @@
|
|
|
immediate: false,
|
|
|
rowKey: 'id',
|
|
|
pagination: { pageSize: 1000 },
|
|
|
+ clickToRowSelect: false,
|
|
|
bordered: true,
|
|
|
+ afterFetch: (data) => {
|
|
|
+ console.log('data', data);
|
|
|
+ },
|
|
|
});
|
|
|
|
|
|
function onDataReceive(data) {
|
|
|
console.log('Data Received', data.id);
|
|
|
searchInfo.brandId = data.id;
|
|
|
+ headerInfo.name = data.name;
|
|
|
+ headerInfo.sceneName = data.sceneName;
|
|
|
// searchInfo.key = data.id;
|
|
|
reload();
|
|
|
}
|
|
|
const handleSubmit = async () => {
|
|
|
- const keys = getSelectRowKeys();
|
|
|
- console.log('keys', keys);
|
|
|
- const params = [
|
|
|
- {
|
|
|
- brandId: '1046662',
|
|
|
- canShow: 0,
|
|
|
- type: 1,
|
|
|
- userId: '1',
|
|
|
- },
|
|
|
- ];
|
|
|
- const result = await bindUserApi(params);
|
|
|
- console.log('result', result);
|
|
|
+ try {
|
|
|
+ const rows = getSelectRows();
|
|
|
+
|
|
|
+ if (rows?.length > 0) {
|
|
|
+ const userStore = useUserStore();
|
|
|
+ const paramsRow: bindAnchorListParam[] = rows.map((row) => {
|
|
|
+ return {
|
|
|
+ brandId: row.id,
|
|
|
+ canShow: ~~row.canShow,
|
|
|
+ type: row.type,
|
|
|
+ userId: String(userStore.getUserInfo?.id),
|
|
|
+ } as bindAnchorListParam;
|
|
|
+ });
|
|
|
+ await bindUserApi(paramsRow);
|
|
|
+ createMessage.success(t('common.optSuccess'));
|
|
|
+ closeModal();
|
|
|
+ emit('success');
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+ } catch (error) {}
|
|
|
};
|
|
|
const handleSelect = async (key) => {
|
|
|
// const keys = getSelectRowKeys();
|
|
@@ -171,6 +183,7 @@
|
|
|
searchInfo,
|
|
|
closeModal,
|
|
|
handleSelect,
|
|
|
+ headerInfo,
|
|
|
};
|
|
|
},
|
|
|
});
|