formModel.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <ele-form-dialog
  3. v-bind="formConfig"
  4. v-model="formFieldsData"
  5. v-dialogDrag
  6. :title="title"
  7. :request-fn="handleFormSubmit"
  8. :visible.sync="DialogVisible"
  9. width="450px"
  10. custom-class="abow_dialog"
  11. label-width="100px"
  12. label-position="left"
  13. :dialogAttrs="{ 'close-on-click-modal': false,'top':'8vh'}"
  14. />
  15. </template>
  16. <script>
  17. export default {
  18. props: ["formModelVisible", "title"],
  19. data() {
  20. return {
  21. formData: {},
  22. formFieldsData: {
  23. department_id: "",
  24. number: "",
  25. name: "",
  26. model: "",
  27. brand:"",
  28. supplier:"",
  29. out_date:"",
  30. remark: "",
  31. type:2
  32. },
  33. url: "hydraulic",
  34. formConfig: {
  35. formDesc: {
  36. department_id: {
  37. type: "cascader",
  38. label: "所属部门",
  39. isOptions: true,
  40. options: [],
  41. required: true,
  42. attrs: {
  43. props: {
  44. label: "department_name",
  45. value: "id",
  46. emitPath: false,
  47. checkStrictly: true
  48. }
  49. }
  50. },
  51. number: {
  52. type: "input",
  53. label: "编号",
  54. required:true,
  55. },
  56. name: {
  57. type: "input",
  58. label: "名称",
  59. required:true
  60. },
  61. model: {
  62. type: "input",
  63. label: "型号",
  64. required:true
  65. },
  66. brand: {
  67. type: "input",
  68. label: "品牌"
  69. },
  70. supplier: {
  71. type: "input",
  72. label: "供应商"
  73. },
  74. out_date: {
  75. type: "date",
  76. label: "出厂日期"
  77. },
  78. remark: {
  79. type: "textarea",
  80. label: "备注"
  81. }
  82. },
  83. order: ["department_id","number", "name", "model","brand","supplier","out_date","remark"]
  84. }
  85. };
  86. },
  87. created() {
  88. this.$http.get("departments").then(response => {
  89. this.formConfig.formDesc.department_id.options = response.data;
  90. });
  91. },
  92. methods: {
  93. handleFormSubmit(data) {
  94. this.$parent.handleSubmit();
  95. },
  96. handleRequest(data) {
  97. return Promise.resolve();
  98. },
  99. handleRequestSuccess() {
  100. this.$message.success("发送成功");
  101. }
  102. },
  103. computed: {
  104. DialogVisible: {
  105. set(val) {
  106. this.$emit("sendVal", val); // 表示将子组件改变的值传递给父组件
  107. },
  108. get() {
  109. return this.formModelVisible; // 表示获取父组件的值
  110. }
  111. }
  112. }
  113. };
  114. </script>