From 021e4bb85124931388b067c262d844bcd6f1db09 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 13 六月 2024 17:29:31 +0800
Subject: [PATCH] 完善创建任务功能
---
src/components/mission/MIssionCreate.vue | 59 +++++++++++++++----
src/components.d.ts | 2
src/components/mission/MissionManage.vue | 7 +-
src/components/CardDialog.vue | 3
src/composables/formConfirm.js | 87 +++++++++++++++-------------
5 files changed, 100 insertions(+), 58 deletions(-)
diff --git a/src/components.d.ts b/src/components.d.ts
index 680395f..9885d55 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -28,6 +28,7 @@
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIcon: typeof import('element-plus/es')['ElIcon']
+ ElInput: typeof import('element-plus/es')['ElInput']
ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopover: typeof import('element-plus/es')['ElPopover']
@@ -49,6 +50,7 @@
MapLocation: typeof import('./components/map/MapLocation.vue')['default']
MapScene: typeof import('./components/map/MapScene.vue')['default']
MapToolbox: typeof import('./components/map/MapToolbox.vue')['default']
+ MissionCreate: typeof import('./components/mission/MissionCreate.vue')['default']
MIssionCreate: typeof import('./components/mission/MIssionCreate.vue')['default']
MissionImport: typeof import('./components/mission/MissionImport.vue')['default']
MissionManage: typeof import('./components/mission/MissionManage.vue')['default']
diff --git a/src/components/CardDialog.vue b/src/components/CardDialog.vue
index 26608bc..6c04562 100644
--- a/src/components/CardDialog.vue
+++ b/src/components/CardDialog.vue
@@ -1,7 +1,8 @@
<template>
<el-dialog
:model-value="modelValue"
- @update-modelvalue="handleChange"
+ @opened="handleChange(true)"
+ @closed="handleChange(false)"
:show-close="false"
align-center
>
diff --git a/src/components/mission/MIssionCreate.vue b/src/components/mission/MIssionCreate.vue
index 247fe32..58565ab 100644
--- a/src/components/mission/MIssionCreate.vue
+++ b/src/components/mission/MIssionCreate.vue
@@ -13,9 +13,26 @@
ref="formRef"
:rules="rules"
label-position="right"
- label-width="150px"
+ label-width="100px"
>
- <slot name="form-item" :formObj="formObj"></slot>
+ <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"
@@ -24,13 +41,13 @@
:loading="loading"
>鎻愪氦</el-button
>
- <el-button v-if="useCancel" @click="onCancel">鍙栨秷</el-button>
+ <el-button @click="onCancel">鍙栨秷</el-button>
</el-form-item>
</el-form>
</CardDialog>
</template>
<script setup>
-import { onActivated, onDeactivated, ref, reactive, watch } from 'vue';
+import { ref, reactive, computed } from 'vue';
import missionApi from '@/api/missionApi';
import { useFormConfirm } from '@/composables/formConfirm';
import { useFetchData } from '@/composables/fetchData';
@@ -60,15 +77,31 @@
}
]
});
+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() {}
-const { formObj, formRef, edit, onSubmit, onCancel, onReset, clear } =
- useFormConfirm({
- submit: {
- do: createMission
- },
- cancel: {
- do: () => (dialogVisible.value = false)
- }
+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>
diff --git a/src/components/mission/MissionManage.vue b/src/components/mission/MissionManage.vue
index ba24f8f..d7efdb4 100644
--- a/src/components/mission/MissionManage.vue
+++ b/src/components/mission/MissionManage.vue
@@ -78,9 +78,10 @@
</el-col>
<el-col :span="4" class="flex-col">
<div>
- <el-button type="primary" class="el-button-custom">
+ <!-- <el-button type="primary" class="el-button-custom">
鏂板缓浠诲姟
- </el-button>
+ </el-button> -->
+ <MissionCreate></MissionCreate>
</div>
<div>
<el-button type="primary" class="el-button-custom">
@@ -111,7 +112,7 @@
};
},
computed: {
- ...mapState(useMissionStore, ['missionLi1st'])
+ ...mapState(useMissionStore, ['missionList'])
},
methods: {
createMission() {},
diff --git a/src/composables/formConfirm.js b/src/composables/formConfirm.js
index 430c790..1cb2b18 100644
--- a/src/composables/formConfirm.js
+++ b/src/composables/formConfirm.js
@@ -95,58 +95,63 @@
const onSubmit = function (messageBox = true) {
formRef.value.validate(async (valid) => {
if (valid) {
- if (messageBox) {
- // useMessageBoxTip({
- // confirmMsg: submit.msg,
- // confirmTitle: submit.title,
- // onConfirm: async () => {
- // const res = await submit.do();
- // submited();
- // return res;
- // }
- // });
- } else {
- await submit.do();
- submited();
- }
+ // if (messageBox) {
+ // useMessageBoxTip({
+ // confirmMsg: submit.msg,
+ // confirmTitle: submit.title,
+ // onConfirm: async () => {
+ // const res = await submit.do();
+ // submited();
+ // return res;
+ // }
+ // });
+ // } else {
+ // await submit.do();
+ // submited();
+ // }
+ await submit.do();
+ submited();
}
});
};
// 鍙栨秷鎻愪氦
const onCancel = function () {
- if (edit.value) {
- // 寮瑰嚭纭妗�
- // useMessageBox({
- // confirmMsg: cancel.msg,
- // confirmTitle: cancel.title,
- // onConfirm: () => {
- // // clear();
- // return cancel.do();
- // }
- // });
- } else {
- cancel.do();
- }
+ // if (edit.value) {
+ // // 寮瑰嚭纭妗�
+ // useMessageBox({
+ // confirmMsg: cancel.msg,
+ // confirmTitle: cancel.title,
+ // onConfirm: () => {
+ // // clear();
+ // return cancel.do();
+ // }
+ // });
+ // } else {
+ // cancel.do();
+ // }
+ cancel.do();
};
// 閲嶇疆琛ㄥ崟
const onReset = function (tips) {
if (edit.value) {
- if (tips) {
- // 寮瑰嚭纭妗�
- // useMessageBox({
- // confirmMsg: '鏄惁閲嶇疆琛ㄥ崟鍐呭锛�',
- // confirmTitle: '閲嶇疆琛ㄥ崟',
- // onConfirm: () => {
- // _reset();
- // return reset.do();
- // }
- // });
- } else {
- _reset();
- reset.do();
- }
+ // if (tips) {
+ // // 寮瑰嚭纭妗�
+ // useMessageBox({
+ // confirmMsg: '鏄惁閲嶇疆琛ㄥ崟鍐呭锛�',
+ // confirmTitle: '閲嶇疆琛ㄥ崟',
+ // onConfirm: () => {
+ // _reset();
+ // return reset.do();
+ // }
+ // });
+ // } else {
+ // _reset();
+ // reset.do();
+ // }
+ _reset();
+ reset.do();
} else {
reset.do();
}
--
Gitblit v1.9.3