update
This commit is contained in:
@@ -146,11 +146,11 @@ const plTaskChildren = async () => {
|
|||||||
:columns="columns"
|
:columns="columns"
|
||||||
class="flex-grow">
|
class="flex-grow">
|
||||||
<template v-slot:status_text="{record}">
|
<template v-slot:status_text="{record}">
|
||||||
<TooltipTag v-if="record.status === 0" color="red" :content="record.check_remark">待上传素材
|
<TooltipTag v-if="record.status === 0" color="cyan" :content="record.check_remark">待上传素材
|
||||||
</TooltipTag>
|
</TooltipTag>
|
||||||
<TooltipTag v-if="record.status === 1" color="orangered" :content="record.check_remark">素材审核中
|
<TooltipTag v-if="record.status === 1" color="orangered" :content="record.check_remark">素材审核中
|
||||||
</TooltipTag>
|
</TooltipTag>
|
||||||
<TooltipTag v-if="record.status === 2" color="orangered" :content="record.check_remark">
|
<TooltipTag v-if="record.status === 2" color="red" :content="record.check_remark">
|
||||||
重新上传素材
|
重新上传素材
|
||||||
</TooltipTag>
|
</TooltipTag>
|
||||||
<TooltipTag v-if="record.status === 3" color="gray" :content="record.check_remark">待领取
|
<TooltipTag v-if="record.status === 3" color="gray" :content="record.check_remark">待领取
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ const success = async () => {
|
|||||||
<a-radio :value="1">是</a-radio>
|
<a-radio :value="1">是</a-radio>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="需要回复的评论">
|
<a-form-item label="需要回复的评论" v-if="item.comment.length !== 0">
|
||||||
<x-select
|
<x-select
|
||||||
:disabled="form.is_reply===0"
|
:disabled="form.is_reply===0"
|
||||||
v-model:model-value="form.pid"
|
v-model:model-value="form.pid"
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import XSelect from "../../../../../components/XSelect/index.vue";
|
|||||||
import XTimePicker from "../../../../../components/XTimePicker/XTimePicker.vue";
|
import XTimePicker from "../../../../../components/XTimePicker/XTimePicker.vue";
|
||||||
import {dayjs} from "@arco-design/web-vue/es/_utils/date.js";
|
import {dayjs} from "@arco-design/web-vue/es/_utils/date.js";
|
||||||
import FastSetting from "../../../components/FastSetting.vue";
|
import FastSetting from "../../../components/FastSetting.vue";
|
||||||
|
import {useTemplateRef} from "vue";
|
||||||
|
import {Message} from "@arco-design/web-vue";
|
||||||
|
|
||||||
const {form, index} = defineProps({
|
const {form, index} = defineProps({
|
||||||
form: {
|
form: {
|
||||||
@@ -15,7 +17,22 @@ const {form, index} = defineProps({
|
|||||||
default: null
|
default: null
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
const formRef = useTemplateRef('formRef');
|
||||||
const po = defineModel('po');
|
const po = defineModel('po');
|
||||||
|
const rules = {
|
||||||
|
start_time: [{
|
||||||
|
required: true,
|
||||||
|
message: '回填时间不完整',
|
||||||
|
}],
|
||||||
|
end_time: [{
|
||||||
|
required: true,
|
||||||
|
message: '回填时间不完整',
|
||||||
|
}],
|
||||||
|
content_id: [{
|
||||||
|
required: true,
|
||||||
|
message: '回填内容不能为空',
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
function range(start, end) {
|
function range(start, end) {
|
||||||
const result = [];
|
const result = [];
|
||||||
@@ -25,19 +42,35 @@ function range(start, end) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
const getDisabledTime = (date) => {
|
const getDisabledTime = (date, type) => {
|
||||||
return {
|
return {
|
||||||
disabledHours: () => range(0, dayjs(form.start_time).hour()),
|
disabledHours: () => type === 'start' ? range(0, dayjs(form.start_time).hour()) : range(0, 0),
|
||||||
disabledMinutes: () => range(0, dayjs(form.start_time).add(1, 'minute').minute()),
|
disabledMinutes: () => type === 'start' ? range(0, dayjs(form.start_time).add(1, 'minute').minute()) : range(0, 0),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const validate = async () => {
|
||||||
|
const res = await formRef.value.validate();
|
||||||
|
if (res) {
|
||||||
|
const firstKey = Object.keys(res)[0];
|
||||||
|
Message.warning(res[firstKey].message);
|
||||||
|
throw new Error(res[firstKey].message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
validate
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div id="block">
|
<div id="block">
|
||||||
<a-form
|
<a-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="po"
|
||||||
|
:rules="rules"
|
||||||
:auto-label-width="true">
|
:auto-label-width="true">
|
||||||
<a-form-item label="回填时间">
|
<a-form-item label="回填时间" field="end_time">
|
||||||
<x-time-picker
|
<x-time-picker
|
||||||
:disabledDate="(current) => dayjs(current).add(1, 'day').isBefore(dayjs(form.start_time))"
|
:disabledDate="(current) => dayjs(current).add(1, 'day').isBefore(dayjs(form.start_time))"
|
||||||
:disabledTime="getDisabledTime"
|
:disabledTime="getDisabledTime"
|
||||||
@@ -53,7 +86,7 @@ const getDisabledTime = (date) => {
|
|||||||
</FastSetting>
|
</FastSetting>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="回填内容">
|
<a-form-item label="回填内容" field="content_id">
|
||||||
<XSelect
|
<XSelect
|
||||||
class="w-auto"
|
class="w-auto"
|
||||||
:init="true"
|
:init="true"
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ const success = async () => {
|
|||||||
|
|
||||||
<a-form-item label="特殊要求" field="special_text">
|
<a-form-item label="特殊要求" field="special_text">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:max-length="300"
|
:max-length="299"
|
||||||
placeholder="请输入特殊要求,如:请勿截图,必须下载原图再上传到抖音"
|
placeholder="请输入特殊要求,如:请勿截图,必须下载原图再上传到抖音"
|
||||||
v-model:model-value="form.special_text">
|
v-model:model-value="form.special_text">
|
||||||
</a-textarea>
|
</a-textarea>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ const INDEX = ['一', '二', '三'];
|
|||||||
const emits = defineEmits(['success', 'prev']);
|
const emits = defineEmits(['success', 'prev']);
|
||||||
const form = defineModel('form');
|
const form = defineModel('form');
|
||||||
const formRef = useTemplateRef('formRef');
|
const formRef = useTemplateRef('formRef');
|
||||||
|
const BackfillRef = useTemplateRef('BackfillRef');
|
||||||
const rules = {
|
const rules = {
|
||||||
start_time: [{
|
start_time: [{
|
||||||
required: true,
|
required: true,
|
||||||
@@ -22,16 +23,6 @@ const rules = {
|
|||||||
message: '任务可接时段不完整',
|
message: '任务可接时段不完整',
|
||||||
}],
|
}],
|
||||||
is_other: [],
|
is_other: [],
|
||||||
backfill: [{
|
|
||||||
required: true,
|
|
||||||
validator: (value, callback) => {
|
|
||||||
for (const v of value) {
|
|
||||||
if (!v.end_time || !v.start_time || !v.content_id) {
|
|
||||||
callback('回填内容不完整');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (form.value.backfill.length === 0) form.value.backfill.push({
|
if (form.value.backfill.length === 0) form.value.backfill.push({
|
||||||
@@ -60,11 +51,14 @@ const addHT = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const success = async () => {
|
const success = async () => {
|
||||||
formRef.value.validate().then((res) => {
|
formRef.value.validate().then(async (res) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
const firstKey = Object.keys(res)[0];
|
const firstKey = Object.keys(res)[0];
|
||||||
Message.warning(res[firstKey].message);
|
Message.warning(res[firstKey].message);
|
||||||
} else {
|
} else {
|
||||||
|
for (const v of BackfillRef.value) {
|
||||||
|
await v.validate();
|
||||||
|
}
|
||||||
emits('success', form.value);
|
emits('success', form.value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -117,7 +111,8 @@ onMounted(() => {
|
|||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="`第${INDEX[index]}次回填`">
|
:label="`第${INDEX[index]}次回填`">
|
||||||
<div class="flex flex-col gap-[20px]">
|
<div class="flex flex-col gap-[20px]">
|
||||||
<Backfill :form="form" :index="index" v-model:po="form.backfill[index]"></Backfill>
|
<Backfill ref="BackfillRef" :form="form" :index="index"
|
||||||
|
v-model:po="form.backfill[index]"></Backfill>
|
||||||
|
|
||||||
<div class="flex gap-[8px]">
|
<div class="flex gap-[8px]">
|
||||||
<Preview
|
<Preview
|
||||||
|
|||||||
@@ -70,10 +70,10 @@ function range(start, end) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
const getDisabledTime = (date) => {
|
const getDisabledTime = (date, type) => {
|
||||||
return {
|
return {
|
||||||
disabledHours: () => range(0, dayjs(taskDetail.start_time).hour()),
|
disabledHours: () => type === 'start' ? range(0, dayjs(taskDetail.start_time).hour()) : range(0, 0),
|
||||||
disabledMinutes: () => range(0, dayjs(taskDetail.start_time).add(1, 'minute').minute()),
|
disabledMinutes: () => type === 'start' ? range(0, dayjs(taskDetail.start_time).add(1, 'minute').minute()) : range(0, 0),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user