QualityInfo.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <template>
  2. <div class="other">
  3. <el-form label-width="120px" ref="form" :model="form">
  4. <div class="divider">
  5. <div class="title">
  6. <div class="ele-bg-primary"></div>
  7. <span>质量配置</span>
  8. </div>
  9. <div class="ele-bg-primary ele-width"></div>
  10. </div>
  11. <el-row :gutter="24">
  12. <el-col :span="4">
  13. <el-form-item label="是否来料检验" prop="isComeCheck">
  14. <el-radio v-model="form.isComeCheck" :label="1">是</el-radio>
  15. <el-radio v-model="form.isComeCheck" :label="0">否</el-radio>
  16. </el-form-item>
  17. </el-col>
  18. <el-col :span="6" v-if="form.isComeCheck ==1 ">
  19. <el-form-item label="物料级别" prop="checkFormula">
  20. <el-select
  21. style="width: 100%"
  22. v-model="form.levelItem"
  23. placeholder="请选择"
  24. >
  25. <el-option
  26. v-for="item in levelOptions"
  27. :label="item.label"
  28. :value="item.value"
  29. :key="item.value"
  30. >
  31. </el-option>
  32. </el-select>
  33. </el-form-item>
  34. </el-col>
  35. <el-col :span="6" v-if="form.isComeCheck ==1 ">
  36. <el-form-item label="检验方式" prop="checkFormula">
  37. <DictSelection
  38. dictName="检验方案"
  39. clearable
  40. v-model="form.checkFormula"
  41. >
  42. </DictSelection>
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="6" v-if="form.isComeCheck ==1 && form.checkFormula == 1">
  46. <el-form-item label="抽检比例" prop="checkProportion">
  47. <el-input
  48. type="number"
  49. :min="0.00"
  50. v-model="form.checkProportion"
  51. placeholder="请输入"
  52. clearable
  53. >
  54. <template slot="append">%</template>
  55. </el-input>
  56. </el-form-item>
  57. </el-col>
  58. </el-row>
  59. <el-row>
  60. <el-col :span="8" v-if="form.isComeCheck ==1 ">
  61. <el-form-item label="质检方案" prop="">
  62. <el-select
  63. style="width: 100%"
  64. v-model="form.qualityTemplateIds"
  65. filterable
  66. multiple
  67. >
  68. <el-option
  69. v-for="item in qualityTemplateList"
  70. :key="item.id"
  71. :value="item.id"
  72. :label="item.qualitySchemeTemplateName"
  73. ></el-option>
  74. </el-select>
  75. </el-form-item>
  76. </el-col>
  77. </el-row>
  78. </el-form>
  79. </div>
  80. </template>
  81. <script>
  82. import { getQualityTemplate } from '@/api/material/list.js';
  83. import {getByCode} from "@/api/system/dictionary-data";
  84. export default {
  85. props: {
  86. form: {
  87. type: Object,
  88. default: {}
  89. }
  90. },
  91. components: {},
  92. data() {
  93. return {
  94. qualityTemplateList:[],
  95. levelOptions:[],
  96. };
  97. },
  98. watch: {},
  99. created() {
  100. this.getQualityTemplateList();
  101. this.getDictList('level_type');
  102. },
  103. methods: {
  104. async getDictList(code) {
  105. debugger
  106. let { data: res } = await getByCode(code);
  107. this.levelOptions = res.map((item) => {
  108. let values = Object.keys(item);
  109. return {
  110. value: Number(values[0]),
  111. label: item[values[0]]
  112. };
  113. });
  114. },
  115. getQualityTemplateList() {
  116. getQualityTemplate().then(res => {
  117. this.qualityTemplateList = res
  118. })
  119. }
  120. }
  121. };
  122. </script>
  123. <style lang="scss" scoped>
  124. .other {
  125. background: #fff;
  126. padding: 1px 17px;
  127. }
  128. .divider {
  129. margin: 0px 0 20px;
  130. .title {
  131. display: flex;
  132. align-items: center;
  133. margin-bottom: 10px;
  134. div {
  135. width: 8px;
  136. height: 20px;
  137. margin-right: 10px;
  138. }
  139. span {
  140. font-size: 20px;
  141. }
  142. }
  143. .ele-width {
  144. width: 100%;
  145. height: 2px;
  146. }
  147. }
  148. .form-line {
  149. display: flex;
  150. align-items: center;
  151. justify-content: space-between;
  152. .line-select {
  153. margin-left: 15px;
  154. }
  155. }
  156. </style>