|
@@ -2,7 +2,7 @@
|
|
<el-dialog v-model="props.visible" width="800px" :show-close="false" :close-on-click-modal="false" top="10vh">
|
|
<el-dialog v-model="props.visible" width="800px" :show-close="false" :close-on-click-modal="false" top="10vh">
|
|
<template #header="{ titleId, titleClass }">
|
|
<template #header="{ titleId, titleClass }">
|
|
<div class="flex justify-between items-center border-b pb-3">
|
|
<div class="flex justify-between items-center border-b pb-3">
|
|
- <h4 :id="titleId" :class="titleClass">{{ editForm ? '编辑任务' : '新增任务' }}</h4>
|
|
|
|
|
|
+ <h4 :id="titleId" :class="titleClass">{{ title || "新建任务" }}</h4>
|
|
<div>
|
|
<div>
|
|
<el-button v-if="!editForm" type="primary" :loading="['2'].includes(props.saveLoading)"
|
|
<el-button v-if="!editForm" type="primary" :loading="['2'].includes(props.saveLoading)"
|
|
@click="submitForm(formRef, true)">保存并新建</el-button>
|
|
@click="submitForm(formRef, true)">保存并新建</el-button>
|
|
@@ -16,33 +16,37 @@
|
|
<el-form ref="formRef" :model="form" label-width="7em" :rules="rules" class="flex flex-wrap form">
|
|
<el-form ref="formRef" :model="form" label-width="7em" :rules="rules" class="flex flex-wrap form">
|
|
<el-form-item label="任务名称:" prop="taskName" required>
|
|
<el-form-item label="任务名称:" prop="taskName" required>
|
|
<el-input v-model="form.taskName" type="textarea" placeholder="请输入任务名称" clearable maxlength="100"
|
|
<el-input v-model="form.taskName" type="textarea" placeholder="请输入任务名称" clearable maxlength="100"
|
|
- show-word-limit />
|
|
|
|
|
|
+ show-word-limit :disabled="disabledList && disabledList.includes('taskName')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item prop="priority" label="优先级:" required>
|
|
<el-form-item prop="priority" label="优先级:" required>
|
|
- <el-select v-model="form.priority" placeholder="请选择" clearable>
|
|
|
|
|
|
+ <el-select v-model="form.priority" placeholder="请选择" clearable
|
|
|
|
+ :disabled="disabledList && disabledList.includes('priority')">
|
|
<el-option v-for="item in PRIORITY " :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in PRIORITY " :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item :label="form.taskType">
|
|
<el-form-item :label="form.taskType">
|
|
<template #label>
|
|
<template #label>
|
|
- <el-select v-model="form.taskType" class="border resetSelect" style="width: 100px" @change="changeTaskType">
|
|
|
|
|
|
+ <el-select v-model="form.taskType" class="border resetSelect" style="width: 100px" @change="changeTaskType"
|
|
|
|
+ :disabled="disabledList && disabledList.includes('taskType')">
|
|
<el-option v-for="item in TASK_TYPE" :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in TASK_TYPE" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
<template v-for="item in TASK_TYPE_FIELD">
|
|
<template v-for="item in TASK_TYPE_FIELD">
|
|
<el-select v-model="form[item.field]" v-if="form.taskType == item.type" placeholder="请选择" clearable
|
|
<el-select v-model="form[item.field]" v-if="form.taskType == item.type" placeholder="请选择" clearable
|
|
- filterable>
|
|
|
|
|
|
+ filterable :disabled="disabledList && disabledList.includes(item.field)">
|
|
<el-option v-for="item in taskTypeValueData" :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in taskTypeValueData" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="联系人:" v-if="TASK_TYPE.find(v => v.value === (form.taskType || '1'))?.show">
|
|
<el-form-item label="联系人:" v-if="TASK_TYPE.find(v => v.value === (form.taskType || '1'))?.show">
|
|
- <el-select v-model="form.contactsId" placeholder="请选择" clearable filterable>
|
|
|
|
|
|
+ <el-select v-model="form.contactsId" placeholder="请选择" clearable filterable
|
|
|
|
+ :disabled="disabledList && disabledList.includes('contactsId')">
|
|
<el-option v-for="item in contactValueData" :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in contactValueData" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="执行人:">
|
|
<el-form-item label="执行人:">
|
|
- <el-select v-model="form.executorId" placeholder="请选择" clearable multiple filterable>
|
|
|
|
|
|
+ <el-select v-model="form.executorId" placeholder="请选择" clearable multiple filterable
|
|
|
|
+ :disabled="disabledList && disabledList.includes('executorId')">
|
|
<el-option v-for="item in executorValueData" :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in executorValueData" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -55,7 +59,7 @@
|
|
<el-option v-for="item in REPEAT_TYPE" :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in REPEAT_TYPE" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <template v-if="[0,1,2,3].includes(form.repeatType)">
|
|
|
|
|
|
+ <template v-if="[0, 1, 2, 3].includes(form.repeatType)">
|
|
<el-form-item label="每:" v-if="form.repeatType == 3">
|
|
<el-form-item label="每:" v-if="form.repeatType == 3">
|
|
<el-input-number v-model="form.repeatDesignSameday" controls-position="right" :min="1" />天
|
|
<el-input-number v-model="form.repeatDesignSameday" controls-position="right" :min="1" />天
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -98,10 +102,12 @@
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
<el-form-item label="开始时间:" class="w50">
|
|
<el-form-item label="开始时间:" class="w50">
|
|
- <el-date-picker v-model="form.startDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" />
|
|
|
|
|
|
+ <el-date-picker v-model="form.startDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD"
|
|
|
|
+ :disabled="disabledList && disabledList.includes('startDate')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="截止时间:" class="w50">
|
|
<el-form-item label="截止时间:" class="w50">
|
|
- <el-date-picker v-model="form.endDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" />
|
|
|
|
|
|
+ <el-date-picker v-model="form.endDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD"
|
|
|
|
+ :disabled="disabledList && disabledList.includes('endDate')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<GenerateForm ref="generateFormRef" :data="generateFormData" :value="form" />
|
|
<GenerateForm ref="generateFormRef" :data="generateFormData" :value="form" />
|
|
@@ -161,7 +167,7 @@ watch(() => props.editForm, (val) => {
|
|
changeTaskType(form.value.taskType)
|
|
changeTaskType(form.value.taskType)
|
|
contactValueData.value = [{ label: '联系人1', value: 1 }, { label: '联系人2', value: 2 }];
|
|
contactValueData.value = [{ label: '联系人1', value: 1 }, { label: '联系人2', value: 2 }];
|
|
executorValueData.value = [{ label: '执行人1', value: 1 }, { label: '执行人2', value: 2 }];
|
|
executorValueData.value = [{ label: '执行人1', value: 1 }, { label: '执行人2', value: 2 }];
|
|
-
|
|
|
|
|
|
+
|
|
})
|
|
})
|
|
const rules = ref({
|
|
const rules = ref({
|
|
taskName: [
|
|
taskName: [
|
|
@@ -232,7 +238,7 @@ function changeTaskType(value: TASK_VALUE_TYPE) {
|
|
case 3:
|
|
case 3:
|
|
taskTypeValueData.value = [];
|
|
taskTypeValueData.value = [];
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- taskTypeValueData.value = [{ label: "线索1", value: 1 }, { label: "线索2", value: 2}]
|
|
|
|
|
|
+ taskTypeValueData.value = [{ label: "线索1", value: 1 }, { label: "线索2", value: 2 }]
|
|
}, 500)
|
|
}, 500)
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|