任务模板
This commit is contained in:
parent
00b8687aec
commit
08df68d6c1
@ -14,6 +14,8 @@
|
||||
label-width="120px"
|
||||
:rules="formRules"
|
||||
>
|
||||
|
||||
|
||||
<el-form-item label="任务角色" prop="extend.task_role">
|
||||
<el-select
|
||||
v-model="formData.extend.task_role"
|
||||
@ -31,11 +33,17 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务模板" prop="type">
|
||||
<el-select v-model="taskTempId" clearable placeholder="请输入任务类型"
|
||||
@change="changeTaskTypeFn">
|
||||
<el-option v-for="item in taskTempList" :key="item.id" :value="item.id" :label="item.title" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务类型" prop="type">
|
||||
<el-select
|
||||
v-model="formData.type"
|
||||
clearable
|
||||
:disabled="mode != 'add'"
|
||||
:disabled="true"
|
||||
placeholder="请选择任务类型"
|
||||
@change="changeTaskType"
|
||||
style="width: 100%"
|
||||
@ -53,7 +61,7 @@
|
||||
<el-select
|
||||
v-model="formData.types"
|
||||
clearable
|
||||
:disabled="mode != 'add'"
|
||||
:disabled="true"
|
||||
placeholder="请选择阶段类型"
|
||||
style="width: 100%"
|
||||
>
|
||||
@ -106,6 +114,7 @@
|
||||
<el-input
|
||||
v-model="formData.extend.target"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入目标数"
|
||||
type="number"
|
||||
>
|
||||
@ -115,6 +124,7 @@
|
||||
<el-input
|
||||
v-model="formData.stage_day_one"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入天数"
|
||||
type="number"
|
||||
>
|
||||
@ -125,6 +135,7 @@
|
||||
<el-input
|
||||
v-model="formData.money"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
@ -138,6 +149,7 @@
|
||||
<el-input
|
||||
v-model="formData.stage_day_two"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入天数"
|
||||
type="number"
|
||||
>
|
||||
@ -151,6 +163,7 @@
|
||||
<el-input
|
||||
v-model="formData.money_two"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
@ -164,6 +177,7 @@
|
||||
<el-input
|
||||
v-model="formData.stage_day_three"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入天数"
|
||||
type="number"
|
||||
>
|
||||
@ -177,6 +191,7 @@
|
||||
<el-input
|
||||
v-model="formData.new_money_three"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
@ -187,6 +202,7 @@
|
||||
<el-input
|
||||
v-model="formData.money_three"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
@ -203,6 +219,7 @@
|
||||
<el-input
|
||||
v-model="formData.content"
|
||||
clearable
|
||||
:disabled="true"
|
||||
placeholder="请输入任务描述"
|
||||
type="textarea"
|
||||
autosize
|
||||
@ -245,6 +262,8 @@ import type { PropType } from "vue";
|
||||
import { dictDataLists } from "@/api/setting/dict";
|
||||
import taskMap from "./map.vue";
|
||||
import personnelPopup from "./dialog_index_personnel.vue";
|
||||
import { apiSelectList, apiCreatetaskTypeInfo } from '@/api/create_task_template'
|
||||
|
||||
import dialogCommodity from "./dialog_commodity.vue";
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -403,7 +422,37 @@ const customEventCommodity = (e: any) => {
|
||||
const commodityClose = () => {
|
||||
showDialogCommodity.value = false;
|
||||
};
|
||||
// 任务模板
|
||||
const taskTempList = reactive([])
|
||||
const taskTempId = ref('')
|
||||
|
||||
|
||||
const getTaskTempFn = (role) => {
|
||||
apiSelectList(
|
||||
{
|
||||
task_role_id: role
|
||||
}
|
||||
).then(res => {
|
||||
res.forEach(item => {
|
||||
taskTempList.push(item)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const changeTaskTypeFn = () => {
|
||||
let i
|
||||
taskTempList.forEach((item, index) => {
|
||||
if (item.id == taskTempId.value) {
|
||||
i = index
|
||||
}
|
||||
})
|
||||
setFormData(taskTempList[i])
|
||||
formData.type = Number(formData.type)
|
||||
|
||||
console.log(formData)
|
||||
// console.log(taskTempId.value)
|
||||
}
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
title: [
|
||||
@ -529,6 +578,10 @@ const changeTaskType = async (e: any) => {
|
||||
|
||||
// 选择任务角色
|
||||
const changeTaskRole = async (e: any) => {
|
||||
|
||||
|
||||
getTaskTempFn(e)
|
||||
|
||||
// 负责人
|
||||
if (e == 1) {
|
||||
taskType.value = "town_task_type_master";
|
||||
|
@ -1,19 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup
|
||||
ref="popupRef"
|
||||
:title="popupTitle"
|
||||
:async="true"
|
||||
width="550px"
|
||||
@confirm="handleSubmit"
|
||||
@close="handleClose"
|
||||
>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
label-width="120px"
|
||||
:rules="formRules"
|
||||
>
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<!-- <el-form-item label="任务角色" prop="extend.task_role">
|
||||
<el-select
|
||||
v-model="formData.extend.task_role"
|
||||
@ -31,133 +19,70 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="任务模板" prop="type">
|
||||
<el-select v-model="taskTempId" clearable :disabled="mode != 'add'" placeholder="请输入任务类型"
|
||||
@change="changeTaskTypeFn">
|
||||
<el-option v-for="item in taskTempList" :key="item.id" :value="item.id" :label="item.title" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="任务类型" prop="type">
|
||||
<el-select
|
||||
v-model="formData.type"
|
||||
clearable
|
||||
:disabled="mode != 'add'"
|
||||
placeholder="请选择任务类型"
|
||||
@change="changeTaskType"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in datalist"
|
||||
:key="item.label"
|
||||
:value="item.id"
|
||||
:label="item.name"
|
||||
/>
|
||||
<el-select v-model="formData.type" clearable :disabled="true" placeholder="请选择任务类型"
|
||||
@change="changeTaskType" style="width: 100%">
|
||||
<el-option v-for="item in datalist" :key="item.label" :value="item.id" :label="item.name" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="阶段类型" prop="types">
|
||||
<div style="width: 100%">
|
||||
<el-select
|
||||
v-model="formData.types"
|
||||
clearable
|
||||
:disabled="mode != 'add'"
|
||||
placeholder="请选择阶段类型"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in [
|
||||
{ label: 1, name: '循环' },
|
||||
{ label: 2, name: '长期' },
|
||||
{ label: 3, name: '单次' },
|
||||
]"
|
||||
:key="item.label"
|
||||
:value="item.label"
|
||||
:label="item.name"
|
||||
/>
|
||||
<el-select v-model="formData.types" clearable :disabled="true" placeholder="请选择阶段类型"
|
||||
style="width: 100%">
|
||||
<el-option v-for="item in [
|
||||
{ label: 1, name: '循环' },
|
||||
{ label: 2, name: '长期' },
|
||||
{ label: 3, name: '单次' },
|
||||
]" :key="item.label" :value="item.label" :label="item.name" />
|
||||
</el-select>
|
||||
<div
|
||||
v-if="formData.types == 3"
|
||||
style="color: #e6a23c; font-size: 12px"
|
||||
>
|
||||
<div v-if="formData.types == 3" style="color: #e6a23c; font-size: 12px">
|
||||
提示 : 单次任务不会每日结算,而是按阶段合计天数结算
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="showTarget" label="目标数" prop="extend.target">
|
||||
<el-input
|
||||
v-model="formData.extend.target"
|
||||
clearable
|
||||
placeholder="请输入目标数"
|
||||
type="number"
|
||||
>
|
||||
<el-input v-model="formData.extend.target" clearable placeholder="请输入目标数" :disabled="true" type="number">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="一阶段天数">
|
||||
<el-input
|
||||
v-model="formData.stage_day_one"
|
||||
clearable
|
||||
placeholder="请输入天数"
|
||||
type="number"
|
||||
>
|
||||
<el-input v-model="formData.stage_day_one" clearable placeholder="请输入天数" :disabled="true" type="number">
|
||||
<template #append>天</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="一阶段金额">
|
||||
<el-input
|
||||
v-model="formData.money"
|
||||
clearable
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
<el-input v-model="formData.money" clearable placeholder="请输入金额" :disabled="true" type="number">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="showTow && formData.type_value != 'town_task_type_5'"
|
||||
label="二阶段天数"
|
||||
>
|
||||
<el-input
|
||||
v-model="formData.stage_day_two"
|
||||
clearable
|
||||
placeholder="请输入天数"
|
||||
type="number"
|
||||
>
|
||||
<el-form-item v-if="showTow && formData.type_value != 'town_task_type_5'" label="二阶段天数">
|
||||
<el-input v-model="formData.stage_day_two" clearable placeholder="请输入天数" :disabled="true" type="number">
|
||||
<template #append>天</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="showTow && formData.type_value != 'town_task_type_5'"
|
||||
label="二阶段金额"
|
||||
>
|
||||
<el-input
|
||||
v-model="formData.money_two"
|
||||
clearable
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
<el-form-item v-if="showTow && formData.type_value != 'town_task_type_5'" label="二阶段金额">
|
||||
<el-input v-model="formData.money_two" clearable placeholder="请输入金额" :disabled="true" type="number">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="showThree" label="三阶段天数">
|
||||
<el-input
|
||||
v-model="formData.stage_day_three"
|
||||
clearable
|
||||
placeholder="请输入天数"
|
||||
type="number"
|
||||
>
|
||||
<el-input v-model="formData.stage_day_three" clearable placeholder="请输入天数" :disabled="true" type="number">
|
||||
<template #append>天</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="showThree" label="三阶段金额">
|
||||
<el-input
|
||||
v-model="formData.new_money_three"
|
||||
clearable
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
<el-input v-model="formData.new_money_three" clearable placeholder="请输入金额" :disabled="true" type="number">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="长期金额" v-if="+formData.types == 2">
|
||||
<el-input
|
||||
v-model="formData.money_three"
|
||||
clearable
|
||||
placeholder="请输入金额"
|
||||
type="number"
|
||||
>
|
||||
<el-input v-model="formData.money_three" clearable placeholder="请输入金额" :disabled="true" type="number">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@ -168,31 +93,17 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务描述" prop="content">
|
||||
<el-input
|
||||
v-model="formData.content"
|
||||
clearable
|
||||
placeholder="请输入任务描述"
|
||||
type="textarea"
|
||||
autosize
|
||||
/>
|
||||
<el-input v-model="formData.content" clearable placeholder="请输入任务描述" :disabled="true" type="textarea" autosize />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog
|
||||
v-model="personnelShow"
|
||||
ref="personnelRef"
|
||||
title="选择负责人"
|
||||
width="60%"
|
||||
>
|
||||
<personnelPopup
|
||||
@custom-event="changePersonner"
|
||||
:company_id="formData.company_id"
|
||||
></personnelPopup>
|
||||
<el-dialog v-model="personnelShow" ref="personnelRef" title="选择负责人" width="60%">
|
||||
<personnelPopup @custom-event="changePersonner" :company_id="formData.company_id"></personnelPopup>
|
||||
</el-dialog>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="taskTemplateEdit">
|
||||
<script lang="ts" setup name="taskTemplateEdit">
|
||||
import type { FormInstance } from "element-plus";
|
||||
import Popup from "@/components/popup/index.vue";
|
||||
import {
|
||||
@ -206,6 +117,8 @@ import type { PropType } from "vue";
|
||||
import { dictDataLists } from "@/api/setting/dict";
|
||||
import taskMap from "./map.vue";
|
||||
import personnelPopup from "./dialog_index_personnel.vue";
|
||||
import { apiSelectList, apiCreatetaskTypeInfo } from '@/api/create_task_template'
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
@ -264,8 +177,8 @@ if (route.query.id) {
|
||||
|
||||
// 显示目标数的任务类型
|
||||
const showTargetTypeList = [
|
||||
"village_task_type_1",
|
||||
"village_task_type_4",
|
||||
"village_task_type_1",
|
||||
"village_task_type_4",
|
||||
"village_task_type_5"
|
||||
];
|
||||
const showTarget = computed(() => {
|
||||
@ -297,6 +210,38 @@ const showThree = computed(() => {
|
||||
return flag;
|
||||
});
|
||||
|
||||
|
||||
// 任务模板
|
||||
const taskTempList = reactive([])
|
||||
const taskTempId = ref('')
|
||||
|
||||
|
||||
const getTaskTempFn = () => {
|
||||
apiSelectList(
|
||||
{
|
||||
task_role_id: 4
|
||||
}
|
||||
).then(res => {
|
||||
res.forEach(item => {
|
||||
taskTempList.push(item)
|
||||
})
|
||||
})
|
||||
}
|
||||
const changeTaskTypeFn = () => {
|
||||
let i
|
||||
taskTempList.forEach((item, index) => {
|
||||
if (item.id == taskTempId.value) {
|
||||
i = index
|
||||
}
|
||||
})
|
||||
setFormData(taskTempList[i])
|
||||
formData.type = String(formData.type)
|
||||
|
||||
console.log(formData)
|
||||
// console.log(taskTempId.value)
|
||||
}
|
||||
getTaskTempFn()
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
title: [
|
||||
|
Loading…
x
Reference in New Issue
Block a user