CreateBatch.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <ele-modal
  3. :visible.sync="visible"
  4. title="创建配料计划"
  5. width="45vw"
  6. append-to-body
  7. >
  8. <el-form ref="form" :model="form" :rules="rules" label-width="110px">
  9. <el-row :gutter="15">
  10. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  11. <el-form-item label="选择物料:" prop="wl">
  12. <el-input readonly v-model="form.wl" @click.native="chooseMateriel"/>
  13. </el-form-item>
  14. </el-col>
  15. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  16. <el-form-item label="生产版本:" prop="version">
  17. <el-input readonly v-model="form.version" @click.native="chooseVersion"/>
  18. </el-form-item>
  19. </el-col>
  20. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  21. <el-form-item label="牌号:">
  22. <el-input disabled v-model="form.brand" />
  23. </el-form-item>
  24. </el-col>
  25. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  26. <el-form-item label="工艺路线名称:">
  27. <el-input disabled v-model="form.road" />
  28. </el-form-item>
  29. </el-col>
  30. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  31. <el-form-item label="要求交付日期:" prop="date">
  32. <el-date-picker
  33. style="width: 100%;"
  34. v-model="form.date"
  35. type="date"
  36. placeholder="选择日期"
  37. value-format="yyyy-MM-dd">
  38. </el-date-picker>
  39. </el-form-item>
  40. </el-col>
  41. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  42. <el-form-item label="工艺路线版本:" prop="roadV">
  43. <el-select v-model="form.roadV" placeholder="请选择">
  44. <el-option
  45. style="width: 100%;"
  46. v-for="item in options"
  47. :key="item.value"
  48. :label="item.label"
  49. :value="item.value">
  50. </el-option>
  51. </el-select>
  52. </el-form-item>
  53. </el-col>
  54. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  55. <el-form-item label="生产重量:" prop="weight">
  56. <el-input clearable v-model="form.weight">
  57. <template slot="append">KG</template>
  58. </el-input>
  59. </el-form-item>
  60. </el-col>
  61. <el-col v-bind="styleResponsive ? { lg: 12, md: 12 } : { span: 12 }">
  62. <el-form-item label="计划备注:">
  63. <el-input clearable v-model="form.remrk"/>
  64. </el-form-item>
  65. </el-col>
  66. </el-row>
  67. </el-form>
  68. <template v-slot:footer>
  69. <el-button @click="cancel">取消</el-button>
  70. <el-button type="primary" @click="save" :loading="loading">
  71. 确定
  72. </el-button>
  73. </template>
  74. <!-- 选择物料 -->
  75. <ChooseMaterial ref="chooseRef"></ChooseMaterial>
  76. <!-- 选择生产版本 -->
  77. <ProductionVersion ref="versionRef"></ProductionVersion>
  78. </ele-modal>
  79. </template>
  80. <script>
  81. import ChooseMaterial from '@/components/CreatePlan/ChooseMaterial.vue'
  82. import ProductionVersion from '@/components/CreatePlan/ProductionVersion2.vue'
  83. export default {
  84. components: {
  85. ChooseMaterial,
  86. ProductionVersion
  87. },
  88. data() {
  89. return {
  90. visible: false,
  91. loading:false,
  92. form:{},
  93. // 表单验证规则
  94. rules: {
  95. wl: [{required: true,message: '请选择物料',trigger: 'change'}],
  96. version: [{required: true,message: '请选择生产版本',trigger: 'change'}],
  97. date:[{required: true,message: '请选择交付日期',trigger: 'change'}],
  98. roadV:[{required: true,message: '请选择工艺路线版本',trigger: 'change'}],
  99. weight:[{required: true,message: '请输入生产重量',trigger: 'blur'}]
  100. },
  101. options:[]
  102. };
  103. },
  104. computed: {
  105. // 是否开启响应式布局
  106. styleResponsive() {
  107. return this.$store.state.theme.styleResponsive;
  108. }
  109. },
  110. created(){
  111. },
  112. methods: {
  113. open () {
  114. this.visible = true;
  115. },
  116. cancel () {
  117. this.form = {}
  118. this.$refs.form.clearValidate();
  119. this.visible = false;
  120. },
  121. addEquipment(){
  122. this.$refs.equipmentRefs.open()
  123. },
  124. /* 保存编辑 */
  125. save() {
  126. this.$refs.form.validate((valid) => {
  127. if (!valid) {
  128. return false;
  129. }
  130. });
  131. },
  132. chooseMateriel(){
  133. this.$refs.chooseRef.open()
  134. },
  135. chooseVersion(){
  136. this.$refs.versionRef.open()
  137. }
  138. }
  139. };
  140. </script>
  141. <style lang="scss" scoped>
  142. .basic-details-title{
  143. margin:10px 0
  144. }
  145. .add-product{
  146. width:100%;
  147. display:flex;
  148. align-items:center;
  149. justify-content:flex-end;
  150. font-size:30px;
  151. color:#1890ff;
  152. margin:10px 0;
  153. cursor: pointer;
  154. }
  155. </style>