ソースを参照

update order--edit

docs_0727
lb 1年前
コミット
3291c1a971
1個のファイルの変更28行の追加92行の削除
  1. +28
    -92
      src/views/modules/pms/order/components/order--edit.vue

+ 28
- 92
src/views/modules/pms/order/components/order--edit.vue ファイルの表示

@@ -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() {


読み込み中…
キャンセル
保存