link-msg.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <template>
  2. <div class="link-msg">
  3. <el-tabs v-model="activeTab">
  4. <el-tab-pane label="可用模具">
  5. <ele-pro-table
  6. :page-size="defPageSize" :columns="moduleColumn" :datasource="moduleData" :pageSizes="tablePageSizes">
  7. </ele-pro-table>
  8. </el-tab-pane>
  9. <el-tab-pane label="BOM">
  10. <ele-pro-table :columns="BOMColumn" :datasource="bomData" :pageSizes="tablePageSizes">
  11. </ele-pro-table
  12. ></el-tab-pane>
  13. <el-tab-pane label="工艺路线">
  14. <ele-pro-table :columns="pathColumn" :datasource="pathData" :pageSizes="tablePageSizes">
  15. </ele-pro-table
  16. ></el-tab-pane>
  17. <!-- <el-tab-pane label="质量标准"></el-tab-pane> -->
  18. <!-- <el-tab-pane label="文件">
  19. <ele-pro-table :columns="fileColumn" :datasource="[]"> </ele-pro-table
  20. ></el-tab-pane> -->
  21. <el-tab-pane label="关联设备">
  22. <ele-pro-table :columns="equiColumn" :datasource="eqData" :pageSizes="tablePageSizes">
  23. </ele-pro-table
  24. ></el-tab-pane>
  25. </el-tabs>
  26. </div>
  27. </template>
  28. <script>
  29. import { getBomRoutingList } from '@/api/material/list.js';
  30. import { getRelatesInformationList } from '@/api/material/product.js';
  31. import dictMixins from '@/mixins/dictMixins';
  32. export default {
  33. mixins: [dictMixins],
  34. props: {
  35. id: [Number, String],
  36. categoryLevelId: [Number, String],
  37. categoryLevelGroupId: [Number, String]
  38. },
  39. data() {
  40. return {
  41. activeTab: '0',
  42. moduleColumn: [
  43. {
  44. type: 'index',
  45. label: '序号',
  46. width: '55px',
  47. align: 'center'
  48. },
  49. {
  50. label: '编码',
  51. prop: 'code'
  52. },
  53. {
  54. label: '名称',
  55. prop: 'name'
  56. },
  57. {
  58. label: '牌号',
  59. prop: 'brandNum'
  60. },
  61. {
  62. label: '型号',
  63. prop: 'modelType'
  64. },
  65. {
  66. label: '收缩系数',
  67. prop: 'extendInfo.shrinkEffictive'
  68. },
  69. {
  70. label: '大模体型号',
  71. prop: 'extendInfo.maxMoldType'
  72. },
  73. // {
  74. // label: '物品类型',
  75. // prop: ''
  76. // },
  77. {
  78. label: '分类',
  79. prop: 'categoryLevelGroupName'
  80. }
  81. ],
  82. BOMColumn: [
  83. {
  84. label: 'BOM编码',
  85. prop: 'code'
  86. },
  87. {
  88. label: 'BOM名称',
  89. prop: 'name'
  90. },
  91. {
  92. label: '版本号',
  93. prop: 'version'
  94. },
  95. {
  96. label: '基本数量',
  97. prop: 'baseCount'
  98. },
  99. {
  100. label: '单位',
  101. prop: 'baseCountUnit'
  102. }
  103. ],
  104. pathColumn: [
  105. {
  106. label: '工艺路线组编码',
  107. prop: 'code'
  108. },
  109. {
  110. label: '工艺路线名称',
  111. prop: 'name'
  112. },
  113. {
  114. label: '生产版本',
  115. prop: 'produceVersionName'
  116. },
  117. {
  118. label: '工艺路线版本',
  119. prop: 'version'
  120. }
  121. ],
  122. fileColumn: [
  123. {
  124. label: '文件编码'
  125. },
  126. {
  127. label: '文件名称'
  128. }
  129. ],
  130. equiColumn: [
  131. // {
  132. // type: 'selection'
  133. // },
  134. {
  135. label: '设备分类',
  136. prop: 'categoryLevelGroupName'
  137. },
  138. {
  139. label: '设备编码',
  140. prop: 'code'
  141. },
  142. {
  143. label: '设备名称',
  144. prop: 'name'
  145. },
  146. {
  147. label: '产能',
  148. formatter: (row) => {
  149. return (
  150. row.quantity &&
  151. `${row.quantity}/${this.getDictValue(
  152. '重量单位',
  153. row.quantityUnitId
  154. )}`
  155. );
  156. }
  157. }
  158. ],
  159. moduleData: [],
  160. eqData: [],
  161. bomData: [],
  162. pathData: []
  163. };
  164. },
  165. watch: {
  166. id: {
  167. handler(val) {
  168. if (val) {
  169. this.getData();
  170. }
  171. },
  172. immediate: true
  173. },
  174. categoryLevelId: {
  175. handler(val) {
  176. if (val) {
  177. this.getModuleData();
  178. this.getEqData();
  179. }
  180. },
  181. immediate: true
  182. }
  183. },
  184. created() {
  185. this.requestDict('重量单位');
  186. },
  187. methods: {
  188. async getData() {
  189. const data = await getBomRoutingList(this.id);
  190. this.bomData = data?.bomList || [];
  191. this.pathData = data?.routingList || [];
  192. },
  193. // 关联设备
  194. async getEqData() {
  195. const data = await getRelatesInformationList({
  196. mainCategoryId: this.categoryLevelId,
  197. categoryLevelRootId: 4, //设备
  198. categoryLevelGroupId: this.categoryLevelGroupId
  199. });
  200. this.eqData = data;
  201. },
  202. // 关联舟皿
  203. async getModuleData() {
  204. const data = await getRelatesInformationList({
  205. mainCategoryId: this.categoryLevelId,
  206. categoryLevelRootId: 5, //模具
  207. categoryLevelGroupId: this.categoryLevelGroupId
  208. });
  209. this.moduleData = data;
  210. }
  211. }
  212. };
  213. </script>
  214. <style lang="scss" scoped>
  215. .link-msg {
  216. background: #fff;
  217. // padding: 1px 17px;
  218. }
  219. </style>