update order--edit
This commit is contained in:
		@@ -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() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user