detailDialog.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <template>
  2. <div>
  3. <el-form
  4. ref="form"
  5. :model="form"
  6. class="el-form-box"
  7. label-width="160px"
  8. >
  9. <headerTitle title="基本信息"></headerTitle>
  10. <el-row :gutter="20">
  11. <el-col :span="8">
  12. <el-form-item labelWidth="100px" label="冲差单编码" prop="orderNo">
  13. <el-input
  14. clearable
  15. v-model="form.orderNo"
  16. disabled
  17. placeholder="自动生成"
  18. />
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="8">
  22. <el-form-item
  23. labelWidth="100px"
  24. label="冲差类型"
  25. prop="type"
  26. >
  27. <DictSelection
  28. dictName="冲差类型"
  29. disabled
  30. clearable
  31. v-model="form.type"
  32. >
  33. </DictSelection>
  34. </el-form-item>
  35. </el-col>
  36. <el-col :span="8">
  37. <el-form-item
  38. labelWidth="100px"
  39. label="冲差原因"
  40. prop="reason"
  41. disabled
  42. >
  43. <DictSelection
  44. dictName="冲差原因"
  45. clearable
  46. v-model="form.reason"
  47. disabled
  48. >
  49. </DictSelection>
  50. </el-form-item>
  51. </el-col>
  52. <el-col :span="8">
  53. <el-form-item labelWidth="100px" label="冲差方式" prop="method">
  54. <DictSelection
  55. dictName="冲差方式"
  56. disabled
  57. clearable
  58. v-model="form.method"
  59. >
  60. </DictSelection>
  61. </el-form-item>
  62. </el-col>
  63. <el-col :span="8">
  64. <el-form-item
  65. labelWidth="100px"
  66. label="调整类型"
  67. prop="adjustType"
  68. disabled
  69. >
  70. <DictSelection
  71. dictName="调整类型"
  72. clearable
  73. v-model="form.adjustType"
  74. disabled
  75. >
  76. </DictSelection>
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="8">
  80. <el-form-item labelWidth="100px" label="冲差范围" prop="rangeType">
  81. <DictSelection
  82. dictName="冲差范围"
  83. disabled
  84. clearable
  85. v-model="form.rangeType"
  86. >
  87. </DictSelection>
  88. </el-form-item>
  89. </el-col>
  90. </el-row>
  91. <el-row>
  92. <el-col :span="16">
  93. <el-form-item labelWidth="100px" label="调整说明" prop="remark">
  94. <el-input
  95. clearable
  96. v-model="form.remark"
  97. type="textarea"
  98. rows="1"
  99. placeholder="请输入"
  100. disabled
  101. />
  102. </el-form-item>
  103. </el-col>
  104. <el-col :span="8">
  105. <el-form-item labelWidth="100px" prop="files" label="附件">
  106. <fileMain v-model="form.files" type="view"></fileMain>
  107. </el-form-item>
  108. </el-col>
  109. </el-row>
  110. <headerTitle title="物品清单" style="margin-top: 30px"></headerTitle>
  111. <inventoryTableDetails
  112. ref="inventoryTableDetailsRef"
  113. :isDiscountTotalPrice="true"
  114. :isSelected="true"
  115. ></inventoryTableDetails>
  116. <headerTitle
  117. title="冲差信息"
  118. style="margin-top: 30px"
  119. ></headerTitle>
  120. <inventoryTable
  121. ref="inventoryTableRef"
  122. ></inventoryTable>
  123. <div style="margin-top: 20px;">
  124. <el-row :gutter="20">
  125. <el-col :span="8">
  126. <el-form-item label-width="100px" label="总差异金额:" prop="differenceAmount">
  127. <el-input
  128. clearable
  129. v-model="form.differenceAmount"
  130. disabled
  131. placeholder="请输入"
  132. />
  133. </el-form-item>
  134. </el-col>
  135. <el-col :span="8">
  136. <el-form-item label-width="100px" label="总金额:" prop="adjustAmount">
  137. <el-input
  138. clearable
  139. disabled
  140. v-model="form.adjustAmount"
  141. placeholder="请输入"
  142. />
  143. </el-form-item>
  144. </el-col>
  145. <el-col :span="8">
  146. <el-form-item label-width="100px" label="优惠后总金额:" prop="adjustDiscountAmount">
  147. <el-input
  148. clearable
  149. disabled
  150. type="number"
  151. v-model="form.adjustDiscountAmount"
  152. placeholder="请输入"
  153. />
  154. </el-form-item>
  155. </el-col>
  156. </el-row>
  157. </div>
  158. </el-form>
  159. </div>
  160. </template>
  161. <script>
  162. import { mapGetters } from 'vuex';
  163. import { getPunchSlipOrderInfo } from '@/api/bpm/components/saleManage/saleorder.js';
  164. // import fileMain from '@/components/addDoc/index.vue';
  165. import { relationTypeList } from '@/enum/dict.js';
  166. import inventoryTable from './inventoryTable.vue';
  167. import inventoryTableDetails from '@/BIZComponents/inventoryTableDetails.vue';
  168. import { reduce } from 'lodash';
  169. const defForm = {
  170. name: '',
  171. changeCode: '',
  172. file: [], //条件
  173. remark: '',
  174. type: '',
  175. describes: '',
  176. relationId: '',
  177. relationName: '',
  178. relationCode: '',
  179. relationType: ''
  180. };
  181. export default {
  182. components: { inventoryTable, inventoryTableDetails },
  183. computed: {
  184. ...mapGetters(['user'])
  185. },
  186. props: {
  187. businessId: {
  188. default: ''
  189. }
  190. },
  191. data() {
  192. return {
  193. form: {
  194. ...defForm
  195. }
  196. };
  197. },
  198. created() {
  199. this.getInfo(this.businessId);
  200. },
  201. methods: {
  202. //获取详情
  203. async getInfo(id) {
  204. let data = await getPunchSlipOrderInfo(id);
  205. if (data) {
  206. // console.log('data~~~~', reduce(data.originalList, (total, item) => total + item.amount, 0));
  207. const tempdata = {
  208. // ...data,
  209. totalPrice: reduce(data.originalList, (total, item) => total + item.totalPrice, 0),
  210. discountTotalPrice: reduce(data.originalList, (total, item) => total + item.discountTotalPrice, 0),
  211. productList: data.originalList
  212. }
  213. this.businessId = data.id;
  214. this.adjustData = data.detailList;
  215. this.form = data;
  216. console.log('tempdata~~~~', tempdata);
  217. this.$refs.inventoryTableDetailsRef &&
  218. this.$refs.inventoryTableDetailsRef.putTableValue(tempdata);
  219. this.$refs.inventoryTableRef && this.$refs.inventoryTableRef.putTableValue(data.detailList);
  220. }
  221. }
  222. }
  223. };
  224. </script>
  225. <style scoped lang="scss"></style>