detail.vue 3.9 KB

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