Pārlūkot izejas kodu

GY03/KC02定制表单组件布局及接口处理

lph 1 gadu atpakaļ
vecāks
revīzija
040ecdd800

+ 205 - 0
zkqy-ui/src/views/bussiness/dialogCompments/GongYi/GY03.vue

@@ -0,0 +1,205 @@
+<template>
+  <div class="form-wrap">
+    <el-form
+      :model="form"
+      ref="form"
+      :rules="rules"
+      label-width="100px"
+      :inline="true"
+      size="normal"
+      class="form-body-wrap"
+    >
+      <el-form-item prop="material" label="材料:">
+        <el-select
+          v-model="form.material"
+          placeholder="请选择材料"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="item in myFormData.resultMap.caiLiao"
+            :key="item.materialId"
+            :label="item.materialName"
+            :value="item.materialId"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="technology" label="工艺:">
+        <!-- <el-input v-model="form.yield" type="number"></el-input> -->
+        <el-select
+          v-model="form.technology"
+          placeholder="请选择工艺"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="item in myFormData.resultMap.gongyi"
+            :key="item.id"
+            :label="item.stepName"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="生产数量" prop="productionQuantity">
+        <el-col :span="10">
+          <!-- <el-input
+            onkeypress="return( /[\d]/.test(String.fromCharCode(event.keyCode)))"
+            v-model="form.productionQuantity"
+            placeholder="请输入生产数量"
+            size="normal"
+            clearable
+          ></el-input> -->
+          <el-input-number
+            v-model="form.productionQuantity"
+            controls-position="right"
+            :min="0"
+          />
+        </el-col>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" size="default" @click="submitHanfler"
+          >确认提交</el-button
+        >
+      </el-form-item>
+
+      <!-- <el-form-item prop="remark" label="备注信息:">
+        <el-input v-model="form.remark"></el-input>
+      </el-form-item> -->
+    </el-form>
+  </div>
+</template>
+
+<script>
+import { submitNodeForm } from "@/api/bpmprocess/runDialogApi/index";
+export default {
+  name: "GY03",
+  props: ["formData", "row"],
+  components: {},
+  data() {
+    return {
+      realFormData: {},
+      form: {
+        material: "",
+        technology: "",
+        productionQuantity: 0,
+      },
+      rules: {
+        material: [
+          { required: true, message: "请选择材料", trigger: "change" },
+        ],
+        technology: [
+          { required: true, message: "请选择工艺", trigger: "change" },
+        ],
+        productionQuantity: [
+          { required: true, message: "请输入生产数量", trigger: "change" },
+        ],
+      },
+    };
+  },
+  watch: {
+    myFormData: {
+      handler(nval) {
+        this.realFormData = nval;
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  computed: {
+    myFormData() {
+      return this.formData;
+    },
+    isEdit() {
+      return this.formData.resultMap?.id ? true : false;
+    },
+  },
+  methods: {
+    async getFormData() {
+      let res = {
+        flag: false,
+        msg: "",
+      };
+      try {
+        let valid = await this.$refs.form.validate();
+        if (valid) {
+          res.flag = true;
+          res.data = this.form;
+          return res;
+        } else {
+          res.msg = "表单校验异常,请规范填写表单数据";
+          return res;
+        }
+      } catch (error) {
+        // console.log(error);
+        res.msg = "表单校验异常,请规范填写表单数据";
+        return res;
+      }
+    },
+    resetForm() {
+      this.$refs.form.resetFields();
+    },
+    async submitHanfler() {
+      let res = await this.$refs.form?.validate();
+      if (res) {
+        let payLoad = {};
+        let { material, technology, productionQuantity } = this.form;
+        if (this.isEdit) {
+          payLoad.updateCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "productionrecords",
+              },
+              addListMap: [
+                {
+                  material_information: material,
+                  process_information: technology,
+                  actual_quantity: productionQuantity,
+                  taskKey: this.row.benTaskProcessKey,
+                  taskNodeKey: this.row.benTaskNodeKey,
+                },
+              ],
+            },
+          ];
+        } else {
+          payLoad.insertCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "productionrecords",
+              },
+              addListMap: [
+                {
+                  material_information: material,
+                  process_information: technology,
+                  actual_quantity: productionQuantity,
+                  taskKey: this.row.benTaskProcessKey,
+                  taskNodeKey: this.row.benTaskNodeKey,
+                },
+              ],
+            },
+          ];
+        }
+        submitNodeForm(payLoad).then((response) => {
+          if (response.code == 200) {
+            this.$modal.msgSuccess("保存成功");
+          } else {
+            this.$modal.msgSuccess("保存失败,请稍后再试");
+          }
+        });
+      }
+    },
+  },
+  mounted() {
+    this.resetForm();
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.form-body-wrap {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+</style>

+ 190 - 0
zkqy-ui/src/views/bussiness/dialogCompments/test-component/KuCun/KC02.vue

@@ -0,0 +1,190 @@
+<template>
+  <div class="form-wrap">
+    <el-form
+      :model="form"
+      ref="form"
+      :rules="rules"
+      label-width="100px"
+      :inline="true"
+      size="normal"
+      class="form-body-wrap"
+    >
+      <el-form-item prop="goodsno" label="商品:">
+        <el-select
+          v-model="form.goodsno"
+          placeholder="请选择商品"
+          clearable
+          filterable
+          :disabled="disable"
+        >
+          <el-option
+            v-for="item in myFormData.resultMap.goods"
+            :key="item.id"
+            :label="item.productname"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="quantitystock" label="入库数量:">
+        <el-input-number
+          v-model="form.quantitystock"
+          controls-position="right"
+          :min="0"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" size="default" @click="submitHanfler"
+          >确认提交</el-button
+        >
+      </el-form-item>
+
+      <!-- <el-form-item prop="remark" label="备注信息:">
+        <el-input v-model="form.remark"></el-input>
+      </el-form-item> -->
+    </el-form>
+  </div>
+</template>
+
+<script>
+import { submitNodeForm } from "@/api/bpmprocess/runDialogApi/index";
+export default {
+  name: "KC02",
+  props: ["formData", "row"],
+  components: {},
+  data() {
+    return {
+      realFormData: {},
+      disable: false,
+      form: {
+        goodsno: "",
+        quantitystock: 0,
+      },
+      rules: {
+        goodsno: [{ required: true, message: "请选择材料", trigger: "change" }],
+        quantitystock: [
+          { required: true, message: "请输入生产数量", trigger: "change" },
+        ],
+      },
+    };
+  },
+  watch: {
+    myFormData: {
+      handler(nval) {
+        this.realFormData = nval;
+      },
+      deep: true,
+      immediate: true,
+    },
+    // "myFormData.resultMap.goods": {
+    //   handler(nval) {
+    //     console.log("object", nval);
+    //     if (nval.length == 1) {
+    //       this.form.goodsno = nval[0].id + "";
+    //       console.log(this.form.goodsno);
+    //       this.disable = true;
+    //     }
+    //   },
+    // },
+  },
+  computed: {
+    myFormData() {
+      return this.formData;
+    },
+    isEdit() {
+      return this.formData.resultMap?.id ? true : false;
+    },
+  },
+  methods: {
+    async getFormData() {
+      let res = {
+        flag: false,
+        msg: "",
+      };
+      try {
+        let valid = await this.$refs.form.validate();
+        if (valid) {
+          res.flag = true;
+          res.data = this.form;
+          return res;
+        } else {
+          res.msg = "表单校验异常,请规范填写表单数据";
+          return res;
+        }
+      } catch (error) {
+        // console.log(error);
+        res.msg = "表单校验异常,请规范填写表单数据";
+        return res;
+      }
+    },
+    resetForm() {
+      this.$refs.form.resetFields();
+      this.$nextTick(this.setDefaultGoods);
+    },
+    setDefaultGoods() {
+      if (this.myFormData.resultMap.goods.length == 1) {
+        this.form.goodsno = this.myFormData.resultMap.goods[0].id;
+        this.disable = true;
+      }
+    },
+    async submitHanfler() {
+      let res = await this.$refs.form?.validate();
+      if (res) {
+        let payLoad = {};
+        let { goodsno, quantitystock } = this.form;
+        if (this.isEdit) {
+          payLoad.updateCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "warehouse",
+              },
+              addListMap: [
+                {
+                  goodsno,
+                  quantitystock,
+                  taskKey: this.row.benTaskProcessKey,
+                  taskNodeKey: this.row.benTaskNodeKey,
+                },
+              ],
+            },
+          ];
+        } else {
+          payLoad.insertCommonEntityList = [
+            {
+              basicMap: {
+                tableName: "warehouse",
+              },
+              addListMap: [
+                {
+                  goodsno,
+                  quantitystock,
+                  taskKey: this.row.benTaskProcessKey,
+                  taskNodeKey: this.row.benTaskNodeKey,
+                },
+              ],
+            },
+          ];
+        }
+        submitNodeForm(payLoad).then((response) => {
+          if (response.code == 200) {
+            this.$modal.msgSuccess("保存成功");
+          } else {
+            this.$modal.error("保存失败,请稍后再试");
+          }
+        });
+      }
+    },
+  },
+  mounted() {
+    this.resetForm();
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.form-body-wrap {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+</style>