|
@@ -1,41 +1,51 @@
|
|
|
<template>
|
|
|
<div class="orderImport pagePadding" v-loading="loading">
|
|
|
- <div
|
|
|
- v-if="tableData && tableData.length > 0"
|
|
|
- class="tr"
|
|
|
- style="padding: 10px 0 0 0"
|
|
|
- >
|
|
|
+
|
|
|
+ <div class="tr" style="padding: 10px 0 0 0" v-if="tableData && tableData.length > 0">
|
|
|
<el-form
|
|
|
ref="ruleForm"
|
|
|
:model="ruleForm"
|
|
|
status-icon
|
|
|
:size="'mini'"
|
|
|
:rules="rulesThis"
|
|
|
- label-width="80px"
|
|
|
+ label-width="120px"
|
|
|
class="demo-ruleForm"
|
|
|
>
|
|
|
<el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="订单所在平台" prop="username">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.username"
|
|
|
- maxlength="100"
|
|
|
- :disabled="isDetail"
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="导入目标平台" prop="platform_id">
|
|
|
+ <search-terrace
|
|
|
+ :value="ruleForm.platform_id"
|
|
|
+ :disabled="false"
|
|
|
+ :size="'mini'"
|
|
|
+ :isDetail="false"
|
|
|
+ :placeholder="'导入目标平台'"
|
|
|
+ @searchChange="platform_codesearchChange"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
- <el-button type="primary" @click="submit" :size="'mini'" class="fl"
|
|
|
+ <el-col :span="16" class="tr">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submit"
|
|
|
+ :size="'mini'"
|
|
|
+ class="fr"
|
|
|
+ style="margin: 0 0 0 10px"
|
|
|
>提交</el-button
|
|
|
>
|
|
|
- <el-button @click="cancel" :size="'mini'" class="fl"
|
|
|
+ <el-button
|
|
|
+ @click="resetForm"
|
|
|
+ :size="'mini'"
|
|
|
+ class="fr"
|
|
|
+ style="margin: 0 0 0 10px"
|
|
|
>取消</el-button
|
|
|
>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
+
|
|
|
<div v-else>
|
|
|
<upload-excel :on-success="handleSuccess" :before-upload="beforeUpload" />
|
|
|
</div>
|
|
@@ -60,7 +70,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
ruleForm: {
|
|
|
- order_addr: [], //收货地址
|
|
|
+ platform_id: "",
|
|
|
},
|
|
|
// 表格 - 参数
|
|
|
table: {
|
|
@@ -76,6 +86,16 @@ export default {
|
|
|
curr: 1,
|
|
|
total: 0,
|
|
|
},
|
|
|
+ rulesThis: this.rules,
|
|
|
+ rules: {
|
|
|
+ platform_id: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择导入目标平台",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
loading: false,
|
|
|
// 表格 - 列参数
|
|
|
columns: columns,
|
|
@@ -87,8 +107,30 @@ export default {
|
|
|
editBtnFlag: false,
|
|
|
};
|
|
|
},
|
|
|
- mounted() {},
|
|
|
+ mounted() {
|
|
|
+ this.resetForm();
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ async resetForm() {
|
|
|
+ this.loading = false;
|
|
|
+ this.rulesThis = this.rules;
|
|
|
+ this.tableData = [];
|
|
|
+ // 重置
|
|
|
+ await this.$nextTick(() => {
|
|
|
+ if (this.$refs.ruleForm) {
|
|
|
+ this.$refs.ruleForm.resetFields();
|
|
|
+ this.$refs.ruleForm.clearValidate();
|
|
|
+ this.ruleForm = {
|
|
|
+ platform_id: "", // 账号
|
|
|
+ };
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ platform_codesearchChange(e) {
|
|
|
+ const { id } = e;
|
|
|
+ this.ruleForm.platform_id = id || "";
|
|
|
+ this.$refs.ruleForm.validateField("platform_id");
|
|
|
+ },
|
|
|
beforeUpload(file) {
|
|
|
const isLt1M = file.size / 1024 / 1024 < 1;
|
|
|
if (isLt1M) {
|
|
@@ -175,37 +217,47 @@ export default {
|
|
|
}
|
|
|
// console.log(this.tableData);
|
|
|
},
|
|
|
- //取消
|
|
|
- cancel() {
|
|
|
- this.tableData = [];
|
|
|
- },
|
|
|
|
|
|
//提交
|
|
|
async submit() {
|
|
|
- if (!this.loading) {
|
|
|
- this.loading = true;
|
|
|
- if (this.tableData.length === 0) {
|
|
|
- this.$message.warning("导入数据不能为空");
|
|
|
- this.loading = false;
|
|
|
- return;
|
|
|
- }
|
|
|
- let model = {
|
|
|
- list: this.tableData,
|
|
|
- };
|
|
|
- const { code, data, message } = await asyncRequest.orderimport(model);
|
|
|
- this.loading = false;
|
|
|
- if (code === 0) {
|
|
|
- this.$notify.success({
|
|
|
- title: "导入成功!",
|
|
|
- message: "",
|
|
|
- });
|
|
|
- this.tableData = [];
|
|
|
- } else if (code >= 100 && code <= 104) {
|
|
|
- await this.logout();
|
|
|
+ await this.$refs.ruleForm.validate(async (valid) => {
|
|
|
+ if (valid) {
|
|
|
+ if (!this.loading) {
|
|
|
+ this.loading = true;
|
|
|
+ if (this.tableData.length === 0) {
|
|
|
+ this.$message.warning("导入数据不能为空");
|
|
|
+ this.loading = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const { platform_id } = this.ruleForm;
|
|
|
+ let list = JSON.parse(JSON.stringify(this.tableData));
|
|
|
+ list.forEach((a) => {
|
|
|
+ a.platform_id = platform_id;
|
|
|
+ });
|
|
|
+ let model = {
|
|
|
+ list: list,
|
|
|
+ };
|
|
|
+ const { code, data, message } = await asyncRequest.orderimport(
|
|
|
+ model
|
|
|
+ );
|
|
|
+ this.loading = false;
|
|
|
+ if (code === 0) {
|
|
|
+ this.$notify.success({
|
|
|
+ title: "导入成功!",
|
|
|
+ message: "",
|
|
|
+ });
|
|
|
+ await this.resetForm();
|
|
|
+ } else if (code >= 100 && code <= 104) {
|
|
|
+ await this.logout();
|
|
|
+ } else {
|
|
|
+ this.$message.warning(message);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
- this.$message.warning(message);
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
},
|
|
|
},
|
|
|
};
|