handleDialog.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <ele-modal :visible.sync="visible" title="处置" width="400px">
  3. <el-form :model="formData" :rules="rules" ref="formRef">
  4. <el-form-item label="处置方式" props="a">
  5. <el-input value="改型" readonly></el-input>
  6. </el-form-item>
  7. <el-form-item label="仓库" props="warehouseCode">
  8. <DictSelection dictName="处置仓库" v-model="formData.warehouseCode" />
  9. </el-form-item>
  10. <el-form-item label="数量" props="disposeWeight">
  11. <el-input v-model="formData.disposeWeight" placeholder="请输入">
  12. <span slot="suffix"> PCS</span>
  13. </el-input>
  14. </el-form-item>
  15. </el-form>
  16. <div slot="footer">
  17. <el-button @click="cancel">取消</el-button>
  18. <el-button type="primary" @click="confirm">确认</el-button>
  19. </div>
  20. </ele-modal>
  21. </template>
  22. <script>
  23. export default {
  24. data() {
  25. return {
  26. visible: false,
  27. formData: {
  28. warehouseCode: '',
  29. warehouse: '',
  30. disposeWeight: ''
  31. },
  32. callback: null,
  33. rules: {
  34. warehouseCode: [{ required: true, message: '请输入' }],
  35. disposeWeight: [{ required: true, message: '请输入' }]
  36. }
  37. };
  38. },
  39. methods: {
  40. open(disposeType, callback) {
  41. this.visible = true;
  42. this.formData.disposeType = disposeType;
  43. this.callback = callback;
  44. },
  45. confirm() {
  46. this.$refs.formRef.validate((value) => {
  47. if (value) {
  48. this.$emit('confirm', this.formData);
  49. this.callback && this.callback(this.formData);
  50. this.cancel();
  51. }
  52. });
  53. },
  54. cancel() {
  55. this.formData = {};
  56. this.visible = false;
  57. }
  58. }
  59. };
  60. </script>