update order--edit
This commit is contained in:
джерело
7f7e9d3b85
коміт
3291c1a971
@ -433,8 +433,8 @@
|
||||
<!-- footer -->
|
||||
<div slot="footer">
|
||||
<!-- TODO: permission 相关内容 未添加 -->
|
||||
<el-button v-if="mode.includes('create')" type="primary" @click="handleSave">保存</el-button>
|
||||
<el-button v-if="mode.includes('edit')" type="primary" @click="handleUpdate">更新</el-button>
|
||||
<el-button v-if="mode.includes('create')" type="primary" @click="handleSave('POST')">保存</el-button>
|
||||
<el-button v-if="mode.includes('edit')" type="primary" @click="handleSave('PUT')">更新</el-button>
|
||||
<el-button v-if="mode.includes('reset')" type="warning" @click="handleReset">重置</el-button>
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
</div>
|
||||
@ -694,6 +694,7 @@ export default {
|
||||
const targetBom = this.versionList.find((item) => item.value === v);
|
||||
// this.bomId 用于在提交的时候置换 this.dataForm.bomId
|
||||
this.bomId = targetBom.id;
|
||||
console.log("[handleVersionChange] new bomID", this.bomId);
|
||||
},
|
||||
|
||||
async init(id) {
|
||||
@ -749,101 +750,36 @@ export default {
|
||||
this.$forceUpdate();
|
||||
},
|
||||
|
||||
addOrUpdate(method = "POST") {
|
||||
if ("parentId" in this.dataForm) {
|
||||
// console.log("[DialogJustForm parentId]", this.dataForm.parentId);
|
||||
// 对特殊的键做特殊处理,如 parentId 是一个 cascader,获取的值是 ["xxx"],后端只需要xxx
|
||||
const lastItem = this.dataForm.parentId.length - 1;
|
||||
this.dataForm.parentId = this.dataForm.parentId[lastItem];
|
||||
}
|
||||
|
||||
this.$refs.dataForm.validate((passed, result) => {
|
||||
if (passed) {
|
||||
this.formLoading = true;
|
||||
|
||||
let httpPayload = null;
|
||||
/** 针对有文件上传选项的弹窗提供特殊的 payload */
|
||||
if (this.dataForm.files) {
|
||||
httpPayload = {
|
||||
...this.dataForm,
|
||||
fileIds: this.dataForm.files.map((file) => file.id),
|
||||
};
|
||||
} else {
|
||||
httpPayload = this.dataForm;
|
||||
}
|
||||
|
||||
/** 针对时间段设置 payload */
|
||||
if ("startTime" in this.dataForm && "endTime" in this.dataForm) {
|
||||
const { startTime, endTime } = this.dataForm;
|
||||
httpPayload = {
|
||||
...httpPayload,
|
||||
startTime: startTime
|
||||
? moment(startTime).format("YYYY-MM-DDTHH:mm:ss")
|
||||
: moment().format("YYYY-MM-DDTHH:mm:ss"),
|
||||
endTime: endTime ? moment(endTime).format("YYYY-MM-DDTHH:mm:ss") : moment().format("YYYY-MM-DDTHH:mm:ss"),
|
||||
};
|
||||
}
|
||||
|
||||
// /** 针对时间段设置 payload */
|
||||
// if ("updateTime" in this.dataForm) {
|
||||
// const { updateTime } = this.dataForm;
|
||||
// httpPayload = {
|
||||
// ...httpPayload,
|
||||
// updateTime: updateTime ? moment(updateTime).format("YYYY-MM-DDTHH:mm:ss") : moment().format("YYYY-MM-DDTHH:mm:ss"),
|
||||
// };
|
||||
// }
|
||||
/** 针对时间段设置 payload */
|
||||
if ("deliveryTime" in this.dataForm) {
|
||||
const { deliveryTime } = this.dataForm;
|
||||
httpPayload = {
|
||||
...httpPayload,
|
||||
deliveryTime: deliveryTime ? moment(deliveryTime).format("YYYY-MM-DDTHH:mm:ss") : null,
|
||||
};
|
||||
}
|
||||
|
||||
// Object.getOwnPropertyNames(this.dataForm).forEach((prop) => {
|
||||
// if (/.*?Time/.test(prop)) {
|
||||
// console.log("HTTP prop", prop, this.dataForm[prop]);
|
||||
// }
|
||||
// });
|
||||
|
||||
// return;
|
||||
|
||||
/** 发送 */
|
||||
return this.$http({
|
||||
url: this.urls.base,
|
||||
method,
|
||||
data: httpPayload,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// console.log("[add&update] res is: ", res);
|
||||
this.formLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.$message.success(method === "POST" ? "添加成功" : "更新成功");
|
||||
this.$emit("refreshDataList");
|
||||
this.handleClose();
|
||||
} else {
|
||||
this.$message({
|
||||
message: `${res.code}: ${res.msg}`,
|
||||
type: "error",
|
||||
duration: 2000,
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch((errMsg) => {
|
||||
this.$message.error("参数错误:" + errMsg);
|
||||
if (this.formLoading) this.formLoading = false;
|
||||
async handleSave(method = "POST") {
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.btnLoading = true;
|
||||
try {
|
||||
const { data: res } = this.$http({
|
||||
url: this.urls.base,
|
||||
method,
|
||||
data: {
|
||||
...this.dataForm,
|
||||
bomId: this.bomId != null ? this.bomId : this.dataForm.bomId,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error("请核查字段信息");
|
||||
|
||||
if (res && res.code == 0) {
|
||||
this.$message.success("添加成功");
|
||||
this.$emit("refreshDataList");
|
||||
this.handleClose();
|
||||
this.btnLoading = false;
|
||||
} else {
|
||||
throw new Error("请求出错");
|
||||
}
|
||||
} catch (err) {
|
||||
this.$message.error("参数错误:" + "msg" in err ? err.msg : err);
|
||||
this.btnLoading = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
handleSave() {},
|
||||
|
||||
handleUpdate() {},
|
||||
|
||||
handleReset() {},
|
||||
|
||||
handleClose() {
|
||||
|
Завантаження…
Посилання в новій задачі
Block a user