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. >
  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('destroy')}">取 消</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(['isShow', 'gdbh'])
  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>