detail.vue 3.8 KB

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