SC01.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="form" :rules="rules" ref="form" label-width="100px" :inline="false" size="normal">
  4. <el-form-item label="选择货品:" prop="hp">
  5. <el-select v-model="form.hp" placeholder="请选择货品">
  6. <el-option
  7. v-for="item in form.goodsList"
  8. :key="item.value"
  9. :label="item.goodsname"
  10. :value="item.id"
  11. >
  12. </el-option>
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item label="货品重量:" prop="zl">
  16. <el-input v-model.number="form.zl" @input="handleInput"></el-input>
  17. </el-form-item>
  18. <el-form-item>
  19. <el-button type="primary" size="default" @click="submitHandler"
  20. >修改</el-button
  21. >
  22. </el-form-item>
  23. </el-form>
  24. </div>
  25. </template>
  26. <script>
  27. export default {
  28. name: 'SC01',
  29. props: ["formData", "row"],
  30. data() {
  31. return {
  32. form: {
  33. hp: '',
  34. zl: ''
  35. },
  36. rules: {
  37. hp: [
  38. { required: true, message: '请选择货品', trigger: 'change' },
  39. ],
  40. zl: [
  41. { required: true, message: '请输入货品重量', trigger: 'blur' },
  42. { type: 'number', message: '重量必须为数字值',trigger: 'blur' }
  43. ]
  44. }
  45. };
  46. },
  47. computed: {
  48. myFormData() {
  49. return this.formData;
  50. },
  51. },
  52. watch: {
  53. myFormData: {
  54. handler(nval) {
  55. this.form = nval.resultMap;
  56. this.form.hp = this.form.planInfo[0]?.goodId
  57. console.log(this.form);
  58. this.isEdite = this.form.id ? true : false;
  59. },
  60. deep: true,
  61. immediate: true,
  62. },
  63. },
  64. mounted() {
  65. },
  66. methods: {
  67. handleInput() {
  68. if (!/^[1-9]\d*$/.test(this.form.zl)) {
  69. this.$message.error('请输入正整数!');
  70. }
  71. },
  72. async submitHandler() {
  73. let res = await this.$refs.form?.validate();
  74. if (res) {
  75. let payLoad = {};
  76. let { hp, zl } = this.form;
  77. if (this.isEdit) {
  78. let { taskKey, taskNodeKey } = this.myFormData.resultMap;
  79. payLoad.updateCommonEntityList = [
  80. {
  81. basicMap: {
  82. tableName: "kucun",
  83. },
  84. conditionMap: {
  85. task_key: taskKey,
  86. task_node_key: taskNodeKey,
  87. },
  88. commMap: {
  89. hp,
  90. zl,
  91. },
  92. },
  93. ];
  94. } else {
  95. payLoad.insertCommonEntityList = [
  96. {
  97. basicMap: {
  98. tableName: "kucun",
  99. },
  100. addListMap: [
  101. {
  102. hp,
  103. zl,
  104. taskKey: this.row.benTaskProcessKey,
  105. taskNodeKey: this.row.benTaskNodeKey,
  106. },
  107. ],
  108. },
  109. ];
  110. }
  111. submitNodeForm(payLoad).then((response) => {
  112. if (response.code == 200) {
  113. this.$modal.msgSuccess("保存成功");
  114. } else {
  115. this.$modal.error("保存失败,请稍后再试");
  116. }
  117. });
  118. }
  119. },
  120. async getFormData() {
  121. let formData = {
  122. flag: false,
  123. msg: "",
  124. };
  125. try {
  126. let valid = await this.$refs.form.validate();
  127. if (valid) {
  128. formData.flag = true;
  129. formData.data = this.form;
  130. return formData;
  131. } else {
  132. formData.msg = "表单校验异常,请规范填写表单数据";
  133. return formData;
  134. }
  135. } catch (error) {
  136. // console.log(error);
  137. formData.msg = "表单校验异常,请规范填写表单数据";
  138. return formData;
  139. }
  140. },
  141. },
  142. };
  143. </script>
  144. <style lang="scss" scoped>
  145. </style>