|
@@ -2,7 +2,7 @@
|
|
|
<BasicModal
|
|
|
v-bind="$attrs"
|
|
|
@register="register"
|
|
|
- :minHeight="330"
|
|
|
+ :minHeight="340"
|
|
|
:title="modalTitle"
|
|
|
@visible-change="handleVisibleChange"
|
|
|
@ok="handleSubmit"
|
|
@@ -27,7 +27,7 @@
|
|
|
import { staffListApi } from '/@/api/staff/list';
|
|
|
import { ListApi } from '/@/api/scene/live';
|
|
|
import { bindUserList, createOrUpdate } from '/@/api/scene/list';
|
|
|
- import dayjs from 'dayjs';
|
|
|
+ // import dayjs from 'dayjs';
|
|
|
import { cloneDeep } from 'lodash-es';
|
|
|
|
|
|
const { t } = useI18n();
|
|
@@ -63,7 +63,7 @@
|
|
|
},
|
|
|
{
|
|
|
field: 'brandId',
|
|
|
- label: '直播场景',
|
|
|
+ label: '房间场景',
|
|
|
component: 'ApiSelect',
|
|
|
itemProps: {
|
|
|
validateTrigger: 'blur',
|
|
@@ -112,12 +112,13 @@
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
- field: 'effectiveStartTime',
|
|
|
- component: 'DatePicker',
|
|
|
- label: '开始时间',
|
|
|
+ field: 'launchPeriod', //'effectiveStartTime',
|
|
|
+ component: 'RangePicker',
|
|
|
+ label: '开播时间段',
|
|
|
colProps: {
|
|
|
span: 22,
|
|
|
},
|
|
|
+ required: true,
|
|
|
componentProps: {
|
|
|
onChange: async (data) => {
|
|
|
console.log('data', data);
|
|
@@ -128,22 +129,25 @@
|
|
|
// valueFormat: 'YYYY-MM-DD HH:mm',
|
|
|
format: 'YYYY-MM-DD HH:mm',
|
|
|
showTime: true,
|
|
|
+ // disabledDate: validateStartTime,
|
|
|
},
|
|
|
},
|
|
|
- {
|
|
|
- field: 'effectiveEndTime',
|
|
|
- component: 'DatePicker',
|
|
|
- label: '计划结束时间',
|
|
|
- colProps: {
|
|
|
- span: 22,
|
|
|
- },
|
|
|
- componentProps: {
|
|
|
- // valueFormat: 'YYYY-MM-DD HH:mm',
|
|
|
- format: 'YYYY-MM-DD HH:mm',
|
|
|
- showTime: true,
|
|
|
- disabledDate: validateTime,
|
|
|
- },
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // field: 'effectiveEndTime',
|
|
|
+ // component: 'DatePicker',
|
|
|
+ // label: '计划结束时间',
|
|
|
+ // colProps: {
|
|
|
+ // span: 22,
|
|
|
+ // },
|
|
|
+ // required: true,
|
|
|
+ // componentProps: {
|
|
|
+ // // valueFormat: 'YYYY-MM-DD HH:mm',
|
|
|
+ // format: 'YYYY-MM-DD HH:mm',
|
|
|
+ // showTime: true,
|
|
|
+ // disabledDate: validateDate,
|
|
|
+ // disabledTime: validateTime,
|
|
|
+ // },
|
|
|
+ // },
|
|
|
{
|
|
|
field: 'assistantUserId',
|
|
|
component: 'ApiSelect',
|
|
@@ -202,33 +206,23 @@
|
|
|
const [register, { closeModal }] = useModalInner(async (data) => {
|
|
|
data && onDataReceive(data);
|
|
|
});
|
|
|
-
|
|
|
- function validateTime(current) {
|
|
|
- let { effectiveStartTime } = getFieldsValue();
|
|
|
- console.log('effectiveStartTime', effectiveStartTime);
|
|
|
- if (!effectiveStartTime) return;
|
|
|
- return !dayjs(effectiveStartTime).isBefore(dayjs(current));
|
|
|
- }
|
|
|
function onDataReceive(data) {
|
|
|
isPropsData.isUpdate = data.isUpdate || false;
|
|
|
isPropsData.isSetData = data.isSetData || false;
|
|
|
isPropsData.record = data.record || {};
|
|
|
- console.log('onDataReceive', data.record);
|
|
|
if (data.isUpdate) {
|
|
|
//编辑
|
|
|
setFieldsValue({
|
|
|
...data.record,
|
|
|
- effectiveEndTime:
|
|
|
- data.record.effectiveEndTime &&
|
|
|
- dayjs(data.record.effectiveEndTime).format('YYYY-MM-DD HH:mm:ss'),
|
|
|
- effectiveStartTime:
|
|
|
- data.record.effectiveStartTime &&
|
|
|
- dayjs(data.record.effectiveStartTime).format('YYYY-MM-DD HH:mm:ss'),
|
|
|
});
|
|
|
updateSchema(
|
|
|
- schemas.map((ele) => {
|
|
|
+ schemas.map((ele, index) => {
|
|
|
return {
|
|
|
...ele,
|
|
|
+ componentProps: {
|
|
|
+ ...ele.componentProps,
|
|
|
+ disabled: index < 3 ? true : false,
|
|
|
+ },
|
|
|
slot: '',
|
|
|
};
|
|
|
}),
|
|
@@ -239,15 +233,20 @@
|
|
|
} else if (data.isSetData) {
|
|
|
//查看
|
|
|
let setSchemas = [];
|
|
|
- setFieldsValue(data.record);
|
|
|
+ console.log('setFieldsValue', data.record);
|
|
|
schemas.map((ele) => {
|
|
|
let setSchemasItem = {
|
|
|
...ele,
|
|
|
- slot: 'text',
|
|
|
+ componentProps: {
|
|
|
+ ...ele.componentProps,
|
|
|
+ disabled: true,
|
|
|
+ },
|
|
|
+ // slot: 'text',
|
|
|
};
|
|
|
setSchemas.push(cloneDeep(setSchemasItem));
|
|
|
});
|
|
|
updateSchema(setSchemas);
|
|
|
+ setFieldsValue(data.record);
|
|
|
} else {
|
|
|
//新增
|
|
|
resetFields();
|
|
@@ -255,7 +254,11 @@
|
|
|
schemas.map((ele) => {
|
|
|
return {
|
|
|
...ele,
|
|
|
- slot: '',
|
|
|
+ componentProps: {
|
|
|
+ ...ele.componentProps,
|
|
|
+ disabled: false,
|
|
|
+ },
|
|
|
+ // slot: '',
|
|
|
};
|
|
|
}),
|
|
|
);
|
|
@@ -263,26 +266,21 @@
|
|
|
}
|
|
|
const handleSubmit = async () => {
|
|
|
const values = await validate();
|
|
|
- console.log('validate', values);
|
|
|
+ const { launchPeriod } = values;
|
|
|
+ console.log('validate', values, launchPeriod);
|
|
|
let apiData = {
|
|
|
...values,
|
|
|
- effectiveEndTime: new Date(values.effectiveEndTime).getTime(),
|
|
|
- effectiveStartTime: new Date(values.effectiveStartTime).getTime(),
|
|
|
+ effectiveEndTime: new Date(launchPeriod[0]).getTime(),
|
|
|
+ effectiveStartTime: new Date(launchPeriod[1]).getTime(),
|
|
|
};
|
|
|
if (isPropsData.isUpdate) {
|
|
|
apiData.id = isPropsData.record.id;
|
|
|
+ await createOrUpdate(apiData);
|
|
|
+ createMessage.success(t('common.optSuccess'));
|
|
|
}
|
|
|
- await createOrUpdate(apiData);
|
|
|
- // console.log('ddda',res)
|
|
|
- // if (res) {
|
|
|
- // addListFunc({ phone: values.phone, memoName: values.memoName });
|
|
|
resetFields();
|
|
|
closeModal();
|
|
|
- createMessage.success(t('common.optSuccess'));
|
|
|
emit('success');
|
|
|
- // } else {
|
|
|
- // createMessage.error('操作失败');
|
|
|
- // }
|
|
|
};
|
|
|
function handleVisibleChange(v) {
|
|
|
v && props.userData && nextTick(() => onDataReceive(props.userData));
|
|
@@ -291,6 +289,15 @@
|
|
|
resetFields();
|
|
|
}
|
|
|
function brandIdChange(data) {
|
|
|
+ let disabled = isPropsData.isUpdate ? isPropsData.isUpdate : data ? false : true;
|
|
|
+ if (!data) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!disabled) {
|
|
|
+ setFieldsValue({
|
|
|
+ anchorUserId: '',
|
|
|
+ });
|
|
|
+ }
|
|
|
updateSchema({
|
|
|
field: 'anchorUserId',
|
|
|
componentProps: {
|
|
@@ -300,7 +307,7 @@
|
|
|
return { ...ele, userName: ele.userName + `(${ele.nickName})` };
|
|
|
});
|
|
|
},
|
|
|
- disabled: data ? false : true,
|
|
|
+ disabled,
|
|
|
showSearch: true,
|
|
|
resultField: 'list',
|
|
|
labelField: 'userName',
|
|
@@ -359,7 +366,6 @@
|
|
|
closeModal,
|
|
|
handleClose,
|
|
|
getFieldsValue,
|
|
|
- validateTime,
|
|
|
setFieldsValue,
|
|
|
// nextTick,
|
|
|
};
|