detail.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <el-dialog
  3. :model-value="modelValue"
  4. title="产品工艺流程"
  5. destroy-on-close
  6. :before-close="()=>{emits('update:modelValue', false )}"
  7. style="width: 80vw; height: 80vh"
  8. >
  9. <el-form
  10. inline
  11. label-position="left"
  12. >
  13. <el-form-item
  14. label="工单编号"
  15. >
  16. <el-input
  17. v-model="input"
  18. style="width: 120px;"
  19. @keyup.enter="handleShowDetail"
  20. />
  21. </el-form-item>
  22. <el-table
  23. :data="detailData"
  24. border
  25. height="50vh"
  26. :row-style="{ height: '20px' }"
  27. :cell-style="{ padding: '0px' }"
  28. :header-row-style="{ height: '20px' }"
  29. :header-cell-style="{ padding: '0px' }"
  30. >
  31. <el-table-column
  32. label="印件及工序"
  33. width="100"
  34. prop="Gy0_yjno"
  35. />
  36. <el-table-column
  37. label="工序名称"
  38. width="300"
  39. prop="Gy0_gxmc"
  40. />
  41. <el-table-column
  42. label="基础损耗"
  43. width="100"
  44. prop="Gy0_rate0"
  45. />
  46. <el-table-column
  47. label="损耗率"
  48. width="100"
  49. prop="Gy0_rate1"
  50. />
  51. <el-table-column
  52. label="损耗系数"
  53. width="100"
  54. prop="损耗系数"
  55. />
  56. <el-table-column
  57. label="无形损减免比例"
  58. width="150"
  59. >
  60. <template #default="{ row }">
  61. <el-input v-model="row['loss_one']" />
  62. </template>
  63. </el-table-column>
  64. <el-table-column
  65. label="超节损承担比例"
  66. width="150"
  67. >
  68. <template #default="{ row }">
  69. <el-input v-model="row['loss_two']" />
  70. </template>
  71. </el-table-column>
  72. <el-table-column
  73. label="超节损核算单价"
  74. width="150"
  75. >
  76. <template #default="{ row }">
  77. <el-input v-model="row['loss_thr']" />
  78. </template>
  79. </el-table-column>
  80. </el-table>
  81. </el-form>
  82. <template #footer>
  83. <div class="dialog-footer">
  84. <el-button @click="()=>{emits('update:modelValue', false )}">取 消</el-button>
  85. <el-button
  86. type="primary"
  87. @click="handleUpdateDatail"
  88. >更 新
  89. </el-button>
  90. </div>
  91. </template>
  92. </el-dialog>
  93. </template>
  94. <script>
  95. export default {
  96. name: 'Detail',
  97. }
  98. import service from '@/utils/request'
  99. // 3.1查改-获取工单工艺流程
  100. const getOrderGy = (params) => {
  101. return service({
  102. url: '/mes_server/order_super_loss/getOrderGy',
  103. method: 'get',
  104. params
  105. })
  106. }
  107. // 3.2查改-更新产品工艺资料
  108. const updateOrderGy = (data) => {
  109. return service({
  110. url: '/mes_server/order_super_loss/updateOrderGy',
  111. method: 'post',
  112. data
  113. })
  114. }
  115. </script>
  116. <script setup>
  117. import { defineEmits, defineProps, ref } from 'vue'
  118. import { ElMessage } from 'element-plus'
  119. const props = defineProps(['modelValue', 'gdbh'])
  120. const emits = defineEmits(['update:modelValue'])
  121. const detailData = ref([])
  122. const input = ref(props['gdbh'])
  123. const handleShowDetail = async() => {
  124. const res = await getOrderGy({ order: input.value })
  125. if (res['code'] === 0) {
  126. const { data } = res
  127. detailData.value = data.map(item => ({
  128. ...item,
  129. Gy0_yjno: item['Gy0_yjno'] + '-' + item['Gy0_gxh'],
  130. }))
  131. }
  132. }
  133. const handleUpdateDatail = async() => {
  134. const val = detailData.value.map(item => ({
  135. UniqId: item['UniqId'],
  136. loss_one: item['loss_one'],
  137. loss_two: item['loss_two'],
  138. loss_thr: item['loss_thr'],
  139. }))
  140. const res = await updateOrderGy(val)
  141. if (res['code'] === 0) {
  142. ElMessage({
  143. type: 'success',
  144. message: '更新成功',
  145. })
  146. }
  147. }
  148. </script>
  149. <style scoped>
  150. </style>