formModel.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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:1
  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: "select",
  63. label: "型号",
  64. required:true,
  65. options:[]
  66. },
  67. brand: {
  68. type: "input",
  69. label: "品牌"
  70. },
  71. supplier: {
  72. type: "input",
  73. label: "供应商"
  74. },
  75. out_date: {
  76. type: "date",
  77. label: "出厂日期"
  78. },
  79. remark: {
  80. type: "textarea",
  81. label: "备注"
  82. }
  83. },
  84. order: ["department_id","number", "name", "model","brand","supplier","out_date","remark"]
  85. }
  86. };
  87. },
  88. created() {
  89. this.$http.get("departments").then(response => {
  90. this.formConfig.formDesc.department_id.options = response.data;
  91. });
  92. this.$http.get("get_wrench_type").then(response => {
  93. this.formConfig.formDesc.model.options = response.data;
  94. });
  95. },
  96. methods: {
  97. handleFormSubmit(data) {
  98. this.$parent.handleSubmit();
  99. },
  100. handleRequest(data) {
  101. return Promise.resolve();
  102. },
  103. handleRequestSuccess() {
  104. this.$message.success("发送成功");
  105. }
  106. },
  107. computed: {
  108. DialogVisible: {
  109. set(val) {
  110. this.$emit("sendVal", val); // 表示将子组件改变的值传递给父组件
  111. },
  112. get() {
  113. return this.formModelVisible; // 表示获取父组件的值
  114. }
  115. }
  116. }
  117. };
  118. </script>