<template>
|
<el-button
|
type="primary"
|
class="el-button-custom"
|
@click="dialogVisible = !dialogVisible"
|
>
|
新建任务
|
</el-button>
|
<CardDialog v-model="dialogVisible" title="新建走航任务">
|
<el-form
|
:inline="false"
|
:model="formObj"
|
ref="formRef"
|
:rules="rules"
|
label-position="right"
|
label-width="100px"
|
>
|
<el-form-item label="任务编号" prop="missionCode">
|
<el-input
|
size="small"
|
clearable
|
v-model="formObj.missionCode"
|
placeholder="任务编号"
|
/>
|
</el-form-item>
|
<OptionType v-model="formObj.deviceType"></OptionType>
|
<el-form-item label="设备编号" prop="acountname">
|
<el-input
|
size="small"
|
clearable
|
v-model="formObj.deviceCode"
|
placeholder="设备编号"
|
/>
|
</el-form-item>
|
<OptionTime v-model="formObj.timeArray"></OptionTime>
|
<el-form-item>
|
<el-button
|
:disabled="!edit"
|
type="primary"
|
@click="onSubmit"
|
:loading="loading"
|
>提交</el-button
|
>
|
<el-button @click="onCancel">取消</el-button>
|
</el-form-item>
|
</el-form>
|
</CardDialog>
|
</template>
|
<script setup>
|
import { ref, reactive, computed } from 'vue';
|
import missionApi from '@/api/missionApi';
|
import { useFormConfirm } from '@/composables/formConfirm';
|
import { useFetchData } from '@/composables/fetchData';
|
|
const dialogVisible = ref(false);
|
const { loading, fetchData } = useFetchData();
|
const baseRules = reactive({
|
_usertype: [
|
{
|
required: true,
|
message: '用户类型不能为空',
|
trigger: 'change'
|
}
|
],
|
_locations: [
|
{
|
required: true,
|
message: '行政区划不能为空',
|
trigger: 'change'
|
}
|
],
|
_scenetype: [
|
{
|
required: true,
|
message: '场景类型不能为空',
|
trigger: 'change'
|
}
|
]
|
});
|
const param = computed(() => {
|
return {
|
missionCode: formObj.value.missionCode,
|
deviceType: formObj.value.deviceType,
|
deviceCode: formObj.value.deviceCode,
|
startTime: formObj.value.timeArray[0],
|
endTime: formObj.value.timeArray[1]
|
};
|
});
|
// 创建任务
|
function createMission() {
|
fetchData((page, pageSize) => {
|
return missionApi.putNewMission(param.value).then((res) => {
|
dialogVisible.value = false;
|
});
|
});
|
}
|
const { formObj, formRef, edit, onSubmit, onCancel } = useFormConfirm({
|
submit: {
|
do: createMission
|
},
|
cancel: {
|
do: () => {
|
dialogVisible.value = false;
|
}
|
}
|
});
|
</script>
|