|
|
@@ -2,27 +2,18 @@
|
|
|
<a-row style="margin-bottom: 20px;" justify="end">
|
|
|
<a-col>
|
|
|
<a-form ref="formRef" layout="inline" :model="formModel" :colon="false">
|
|
|
- <a-form-item name="date">
|
|
|
- <a-range-picker style="width: 250px;" v-model:value="formModel.date" />
|
|
|
+ <a-form-item name="rangeDate">
|
|
|
+ <a-range-picker style="width: 250px;" v-model:value="formModel.rangeDate" />
|
|
|
</a-form-item>
|
|
|
<a-form-item name="device_name">
|
|
|
<a-select style="width: 200px;" placeholder="请选择设备型号" v-model:value="formModel.device_name">
|
|
|
- <a-select-option value="1">
|
|
|
- Dock 2
|
|
|
- </a-select-option>
|
|
|
- <a-select-option value="2">
|
|
|
- M30
|
|
|
- </a-select-option>
|
|
|
- <a-select-option value="3">
|
|
|
- Mavice 3E
|
|
|
- </a-select-option>
|
|
|
- <a-select-option value="4">
|
|
|
- DJI
|
|
|
+ <a-select-option v-for="item in state.deviceModelList" :value="item.value">
|
|
|
+ {{ item.label }}
|
|
|
</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
- <a-form-item name="keyword">
|
|
|
- <a-input style="width: 200px;" placeholder="项目名称、设备SN" v-model:value="formModel.keyword" />
|
|
|
+ <a-form-item name="search_info">
|
|
|
+ <a-input style="width: 200px;" placeholder="项目名称、设备SN" v-model:value="formModel.search_info" />
|
|
|
</a-form-item>
|
|
|
<a-form-item>
|
|
|
<a-button style="margin-right: 10px;" @click="handleClicSekarch">
|
|
|
@@ -42,8 +33,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
-import { ref, reactive } from 'vue';
|
|
|
+import { ref, reactive, onMounted } from 'vue';
|
|
|
import { SearchOutlined, ReloadOutlined } from '@ant-design/icons-vue';
|
|
|
+import { apis } from '/@/api/custom';
|
|
|
+import moment from 'moment';
|
|
|
|
|
|
interface Props {
|
|
|
onClickSearch: (query: any) => Promise<any>,
|
|
|
@@ -57,22 +50,60 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
const formRef = ref();
|
|
|
|
|
|
const formModel = reactive({
|
|
|
- date: [],
|
|
|
+ rangeDate: [],
|
|
|
device_name: undefined,
|
|
|
- keyword: '',
|
|
|
+ search_info: undefined,
|
|
|
+})
|
|
|
+
|
|
|
+interface State {
|
|
|
+ deviceModelList: {
|
|
|
+ value: string,
|
|
|
+ label: string,
|
|
|
+ }[],
|
|
|
+};
|
|
|
+
|
|
|
+const state: State = reactive({
|
|
|
+ deviceModelList: [],
|
|
|
+})
|
|
|
+
|
|
|
+onMounted(async () => {
|
|
|
+ try {
|
|
|
+ const res = await apis.fetchDeviceModel({ flg: true });
|
|
|
+ const list = res.data.map((item: any) => {
|
|
|
+ return {
|
|
|
+ value: item.device_name,
|
|
|
+ label: item.device_name,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ state.deviceModelList = list;
|
|
|
+ } catch (e) {
|
|
|
+ console.error(e);
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
// 点击查询
|
|
|
const handleClicSekarch = async () => {
|
|
|
const values = formRef.value?.getFieldsValue();
|
|
|
- await props.onClickSearch(values);
|
|
|
+ const data = {
|
|
|
+ ...values,
|
|
|
+ };
|
|
|
+ delete data.rangeDate;
|
|
|
+ if (values.rangeDate.length === 2) {
|
|
|
+ data.begin_time = moment(values.rangeDate[0]).valueOf();
|
|
|
+ data.end_time = moment(values.rangeDate[1]).valueOf();
|
|
|
+ }
|
|
|
+ await props.onClickSearch(data);
|
|
|
}
|
|
|
|
|
|
// 点击重置
|
|
|
const handleClickReset = async () => {
|
|
|
formRef.value?.resetFields();
|
|
|
const values = formRef.value?.getFieldsValue();
|
|
|
- await props.onClickReset(values);
|
|
|
+ const data = {
|
|
|
+ ...values,
|
|
|
+ };
|
|
|
+ delete data.rangeDate;
|
|
|
+ await props.onClickReset(data);
|
|
|
}
|
|
|
</script>
|
|
|
|