This commit is contained in:
weipengfei 2023-08-14 18:10:47 +08:00
commit c5ab0586b1
2 changed files with 163 additions and 166 deletions

View File

@ -60,141 +60,138 @@
</template>
<script lang="ts" setup name="taskEidt">
import type { FormInstance, FormRules } from "element-plus";
import Popup from "@/components/popup/index.vue";
import { apiTaskAdd, apiTaskEdit, apiTaskDelete } from "@/api/task";
import { reactive, onUpdated, type PropType } from "vue";
import DialogIndex from "@/views/task_template/list_two.vue";
import { timeFormat } from "@/utils/util";
import feedback from "@/utils/feedback";
const route = useRoute();
import type { FormInstance, FormRules } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiTaskAdd, apiTaskEdit, apiTaskDelete } from '@/api/task'
import { reactive, onUpdated, type PropType } from 'vue'
import DialogIndex from '@/views/task_template/list_two.vue'
import { timeFormat } from '@/utils/util'
import feedback from '@/utils/feedback'
const route = useRoute()
const emit = defineEmits(["success", "close"]);
const popupRef = shallowRef<InstanceType<typeof Popup>>();
const mode = ref("add");
const detailsdt = ref({});
const isShow = ref(false);
const title = ref("创建日程安排");
const emit = defineEmits(['success', 'close'])
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const detailsdt = ref({})
const isShow = ref(false)
const title = ref('创建日程安排')
const changeDateTime = (e: any) => {
formData.start_time = timeFormat(e[0]);
formData.end_time = timeFormat(e[1]);
};
formData.start_time = timeFormat(e[0])
formData.end_time = timeFormat(e[1])
}
//
const formData = reactive({
id: "",
create_user_id: "",
status: "",
template_id: "",
scheduling_id: "",
template_name: "",
start_time: "",
end_time: "",
datetime: "",
});
id: '',
create_user_id: '',
status: '',
template_id: '',
scheduling_id: '',
template_name: '',
start_time: '',
end_time: '',
datetime: ''
})
interface RuleForm {
datetime: Date | String;
template_id: String;
datetime: Date | string
template_id: string
}
const rules = reactive<FormRules<RuleForm>>({
datetime: { required: true, message: "请选择时间范围", trigger: "blur" },
datetime: { required: true, message: '请选择时间范围', trigger: 'blur' },
template_id: {
required: true,
message: "请选择任务模板",
trigger: "change",
},
});
message: '请选择任务模板',
trigger: 'change'
}
})
function customEvent(data: any) {
isShow.value = false;
formData.template_id = data.id;
formData.template_name = data.title;
}
if (route.query.id) {
formData.scheduling_id = route.query.id.toString();
isShow.value = false
formData.template_id = data.id
formData.template_name = data.title
}
const formRef = ref(null);
const formRef = ref(null)
const props = defineProps({
task: {
type: Object,
defualt: () => {
null;
},
},
});
const isDisabled = ref(false);
null
}
}
})
const isDisabled = ref(false)
const updatedForm = async () => {
if (mode.value == "show") {
title.value = "查看日程安排";
isDisabled.value = true;
if (mode.value == 'show') {
title.value = '查看日程安排'
isDisabled.value = true
Object.keys(formData).forEach((key: any) => {
if (props.task[key] != null && props.task[key] != undefined)
formData[key] = props.task[key];
});
formData.datetime = [
formData.start_time.split(" ")[0],
formData.end_time.split(" ")[0],
];
formData[key] = props.task[key]
})
formData.datetime = [formData.start_time.split(' ')[0], formData.end_time.split(' ')[0]]
} else {
isDisabled.value = false;
isDisabled.value = false
Object.keys(formData).forEach((key: any) => {
formData[key] = "";
});
formData[key] = ''
})
}
await nextTick();
formRef.value.resetFields();
};
await nextTick()
formRef.value.resetFields()
}
const clickUpdate = () => {
mode.value = "edit";
isDisabled.value = false;
};
mode.value = 'edit'
isDisabled.value = false
}
//
const clickDelete = () => {
feedback.confirm("确定要删除吗?").then(async (e) => {
if (e == "confirm") {
await apiTaskDelete({ id: formData.id });
popupRef.value?.close();
emit("success");
feedback.confirm('确定要删除吗?').then(async (e) => {
if (e == 'confirm') {
await apiTaskDelete({ id: formData.id })
popupRef.value?.close()
emit('success')
}
});
};
})
}
//
const handleSubmit = () => {
if (mode.value == "show") return popupRef.value?.close();
if (mode.value == 'show') return popupRef.value?.close()
else
formRef.value.validate(async (e: Boolean) => {
formRef.value.validate(async (e: boolean) => {
if (e) {
const data = { ...formData };
mode.value == "edit" ? await apiTaskEdit(data) : await apiTaskAdd(data);
popupRef.value?.close();
emit("success");
const data = { ...formData }
if (route.query.id) {
data.scheduling_id = route.query.id.toString()
}
});
};
mode.value == 'edit' ? await apiTaskEdit(data) : await apiTaskAdd(data)
popupRef.value?.close()
emit('success')
}
})
}
//
const open = (type = "add") => {
mode.value = type;
popupRef.value?.open();
};
const open = (type = 'add') => {
mode.value = type
popupRef.value?.open()
}
//
const handleClose = () => {
emit("close");
};
emit('close')
}
defineExpose({
open,
updatedForm,
});
updatedForm
})
</script>
<style lang="scss" scoped>
.formdata {

View File

@ -47,7 +47,7 @@
</el-form-item>
<el-form-item label="二阶比例">
<el-input
v-model="formData.mediumint_two"
v-model="formData.proportion_two"
clearable
placeholder="请输入比例"
type="number"
@ -115,7 +115,7 @@ const formData = reactive({
stage_day_one: 0,
proportion_one: 0,
stage_day_two: 9999,
mediumint_two: 0
proportion_two: 0
})
//
dictDataLists({ type_id: 10 }).then((res) => {