time-dialog.vue
2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<template>
<el-dialog
class="entryDialog classCUploadDialog"
title="离境单申报"
:visible.sync="timeVisible"
:show-close="false"
width="40%"
:close-on-click-modal="false"
:destroy-on-close="true"
v-loading="loadings.dialogLoading"
@close="close(false)"
>
<div class="modelItem">
<el-form
class="fedexFormStyle"
ref="formData"
:model="formData"
label-position="top"
size="small"
>
<el-row :gutter="5">
<el-col :span="8">
<Formitem label="离境时间" prop="leaveTime" type="edit">
<el-date-picker
class="inputInner--leaveTime"
id="inputInner-edit-leaveTime"
v-model="formData.leaveTime"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
prefix-icon="none"
value-format="yyyy-MM-dd HH:mm:ss"
/>
</Formitem>
</el-col>
</el-row>
</el-form>
</div>
<div class="dialogOption entrySave">
<el-button
class="entrySaveButton"
:disabled="loadings.submitLoading"
@click="submit"
>确 定</el-button
>
<el-button class="entrySaveButton" @click="close(false)">关 闭</el-button>
</div>
</el-dialog>
</template>
<script>
import { declareUpload } from "@/api/declareData-api.js";
export default {
props: {
timeVisible: {
type: Boolean,
default: false,
},
selected: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {
formData: {
leaveTime: "",
},
loadings: {
dialogLoading: false,
submitLoading: false,
},
loadingText: "",
};
},
methods: {
//数据保存
submit() {
let obj = {
...this.formData,
declareIds: this.selected.map((item) => item.declareId),
type: "logisticsDeparture",
};
this.$refs.formData.validate((valid) => {
if (valid) {
this.addapi(obj);
}
});
},
//新增
addapi(val) {
this.loadings.dialogLoading = true;
declareUpload(val)
.then((res) => {
if (res.code === "200") {
this.msgSuccess(res.message);
this.close(true);
} else {
this.alertWarningMsg(res.message);
this.loadings.dialogLoading = false;
}
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
close(flag) {
this.formData = {
leaveTime: "",
};
this.loadings.dialogLoading = false;
this.$emit("close", flag);
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/variables.scss";
</style>