QualityInfo.vue 5.1 KB

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