order-detail.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. <template>
  2. <el-dialog
  3. :visible.sync="visible"
  4. title="销售订单详情"
  5. width="80vw"
  6. append-to-body
  7. >
  8. <div class="main_container">
  9. <div class="basic-details-title border-none">
  10. <span class="border-span">基本信息</span>
  11. </div>
  12. <el-descriptions title="" :column="6" size="medium" border>
  13. <el-descriptions-item>
  14. <template slot="label"> 销售订单号 </template>
  15. {{ form.salesOrderBasicInfo.code }}
  16. </el-descriptions-item>
  17. <el-descriptions-item>
  18. <template slot="label"> 下达时间 </template>
  19. {{ form.salesOrderBasicInfo.releaseTime }}
  20. </el-descriptions-item>
  21. <el-descriptions-item>
  22. <template slot="label"> 数量</template>
  23. {{ form.salesOrderBasicInfo.contractNum }}
  24. {{ form.salesOrderBasicInfo.measuringUnit }}
  25. </el-descriptions-item>
  26. <el-descriptions-item>
  27. <template slot="label"> 模数 </template>
  28. {{ form.salesOrderBasicInfo.moCount }}
  29. </el-descriptions-item>
  30. <el-descriptions-item>
  31. <template slot="label"> 块数 </template>
  32. {{ form.salesOrderBasicInfo.blockCount }}
  33. </el-descriptions-item>
  34. <el-descriptions-item>
  35. <template slot="label"> 订单来源 </template>
  36. {{ getDictValue('订单来源', form.salesOrderBasicInfo.orderSource) }}
  37. </el-descriptions-item>
  38. <el-descriptions-item>
  39. <template slot="label"> 订单类型 </template>
  40. {{ getDictValue('订单类型', form.salesOrderBasicInfo.orderType) }}
  41. </el-descriptions-item>
  42. <el-descriptions-item>
  43. <template slot="label"> 交付时间 </template>
  44. {{ form.salesOrderBasicInfo.deliveryTime }}
  45. </el-descriptions-item>
  46. <el-descriptions-item>
  47. <template slot="label"> 订单重量 </template>
  48. {{ orderWeight }}
  49. <!-- {{ form.salesOrderBasicInfo.productSumWeight }}
  50. {{ form.salesOrderBasicInfo.weightUnit }} -->
  51. </el-descriptions-item>
  52. <!-- <el-descriptions-item>
  53. <template slot="label"> 已交货重量 </template>
  54. {{ form.salesOrderBasicInfo.deliveredWeight }}
  55. </el-descriptions-item> -->
  56. <!-- <el-descriptions-item>
  57. <template slot="label"> 欠交货重量 </template>
  58. {{ form.salesOrderBasicInfo.backOrderWeight }}
  59. </el-descriptions-item> -->
  60. <el-descriptions-item>
  61. <template slot="label"> 交付要求 </template>
  62. {{
  63. getDictValue(
  64. '交付要求',
  65. form.salesOrderBasicInfo.deliveryRequirements
  66. )
  67. }}
  68. </el-descriptions-item>
  69. <el-descriptions-item>
  70. <template slot="label"> 按单按库 </template>
  71. {{
  72. getDictValue('按单按库', form.salesOrderBasicInfo.orderLibraryType)
  73. }}
  74. </el-descriptions-item>
  75. <el-descriptions-item>
  76. <template slot="label"> 交货工厂 </template>
  77. {{ form.salesOrderBasicInfo.deliveryPlant }}
  78. </el-descriptions-item>
  79. <el-descriptions-item>
  80. <template slot="label"> 计划单号 </template>
  81. {{ form.salesOrderBasicInfo.productionPlanCode }}
  82. </el-descriptions-item>
  83. <el-descriptions-item>
  84. <template slot="label"> 交货状态 </template>
  85. {{
  86. getDictValue('交货状态', form.salesOrderBasicInfo.deliveryStatus)
  87. }}
  88. </el-descriptions-item>
  89. <el-descriptions-item>
  90. <template slot="label"> 更新时间 </template>
  91. {{ form.salesOrderBasicInfo.updateTime }}
  92. </el-descriptions-item>
  93. <el-descriptions-item>
  94. <template slot="label"> 创建人 </template>
  95. {{ form.salesOrderBasicInfo.createUserName }}
  96. </el-descriptions-item>
  97. <el-descriptions-item>
  98. <template slot="label"> 生产状态 </template>
  99. {{ getDictValue('生产状态', form.salesOrderBasicInfo.status) }}
  100. </el-descriptions-item>
  101. </el-descriptions>
  102. <div class="basic-details-title border-none">
  103. <span class="border-span">产品规格需求</span>
  104. </div>
  105. <el-descriptions title="" :column="6" size="medium" border>
  106. <el-descriptions-item>
  107. <template slot="label"> 行号 </template>
  108. {{ form.productSpecRequirement.lineNumber }}
  109. </el-descriptions-item>
  110. <el-descriptions-item>
  111. <template slot="label"> 物料编码 </template>
  112. {{ form.productSpecRequirement.productCode }}
  113. </el-descriptions-item>
  114. <el-descriptions-item>
  115. <template slot="label"> 牌号 </template>
  116. {{ form.productSpecRequirement.brandNo }}
  117. </el-descriptions-item>
  118. <el-descriptions-item>
  119. <template slot="label"> 型号 </template>
  120. {{ form.productSpecRequirement.model }}
  121. </el-descriptions-item>
  122. <el-descriptions-item>
  123. <template slot="label"> 规格 </template>
  124. {{ form.productSpecRequirement.specification }}
  125. </el-descriptions-item>
  126. <el-descriptions-item>
  127. <template slot="label"> 单重 </template>
  128. {{ weightUnit(form.productSpecRequirement) }}
  129. </el-descriptions-item>
  130. <el-descriptions-item>
  131. <template slot="label"> 重量单位 </template>
  132. {{ form.productSpecRequirement.unitWeight }}
  133. </el-descriptions-item>
  134. <el-descriptions-item>
  135. <template slot="label"> 单位 </template>
  136. {{ form.productSpecRequirement.unitQuantity }}
  137. </el-descriptions-item>
  138. <el-descriptions-item>
  139. <template slot="label"> 产品层次4 </template>
  140. {{ form.productSpecRequirement.categoryPathNameField4 }}
  141. </el-descriptions-item>
  142. <el-descriptions-item>
  143. <template slot="label"> 产品层次5 </template>
  144. {{ form.productSpecRequirement.categoryPathNameField5 }}
  145. </el-descriptions-item>
  146. <el-descriptions-item>
  147. <template slot="label"> 包装要求 </template>
  148. {{ form.productSpecRequirement.packageRequirements }}
  149. </el-descriptions-item>
  150. <el-descriptions-item :span="2">
  151. <template slot="label"> 物料描述 </template>
  152. {{ form.productSpecRequirement.description }}
  153. </el-descriptions-item>
  154. <el-descriptions-item :span="2">
  155. <template slot="label"> 技术要求 </template>
  156. {{ form.productSpecRequirement.technicalRequirement }}
  157. </el-descriptions-item>
  158. <el-descriptions-item :span="2">
  159. <template slot="label"> 印字要求 </template>
  160. {{ form.productSpecRequirement.printingRequirement }}
  161. </el-descriptions-item>
  162. <el-descriptions-item :span="2">
  163. <template slot="label"> 质量证书要求 </template>
  164. {{ form.productSpecRequirement.qualityCertificateRequirements }}
  165. </el-descriptions-item>
  166. </el-descriptions>
  167. <div class="basic-details-title border-none">
  168. <span class="border-span">业务信息</span>
  169. </div>
  170. <el-descriptions title="" :column="6" size="medium" border>
  171. <el-descriptions-item :span="2">
  172. <template slot="label"> 客户名称 </template>
  173. {{ form.businessInfo.customerName }}
  174. </el-descriptions-item>
  175. <el-descriptions-item>
  176. <template slot="label"> 客户代号 </template>
  177. {{ form.businessInfo.customerCode }}
  178. </el-descriptions-item>
  179. <el-descriptions-item>
  180. <template slot="label"> 客户参考 </template>
  181. {{ form.businessInfo.customerReference }}
  182. </el-descriptions-item>
  183. <el-descriptions-item>
  184. <template slot="label"> 业务员 </template>
  185. {{ form.businessInfo.salesman }}
  186. </el-descriptions-item>
  187. <el-descriptions-item>
  188. <template slot="label"> 销售业务员 </template>
  189. {{ form.businessInfo.salesRepresentative }}
  190. </el-descriptions-item>
  191. <el-descriptions-item>
  192. <template slot="label"> 销售组织 </template>
  193. {{ form.businessInfo.salesOrganization }}
  194. </el-descriptions-item>
  195. <el-descriptions-item>
  196. <template slot="label"> 销售组 </template>
  197. {{ form.businessInfo.salesGroup }}
  198. </el-descriptions-item>
  199. <el-descriptions-item :span="2">
  200. <template slot="label"> 销售要求 </template>
  201. {{ form.businessInfo.salesRequirement }}
  202. </el-descriptions-item>
  203. <el-descriptions-item :span="2">
  204. <template slot="label"> 销售组织描述 </template>
  205. {{ form.businessInfo.salesOrganizationDescription }}
  206. </el-descriptions-item>
  207. <el-descriptions-item :span="2">
  208. <template slot="label"> 销售组名称 </template>
  209. {{ form.businessInfo.salesGroupName }}
  210. </el-descriptions-item>
  211. </el-descriptions>
  212. <div class="basic-details-title border-none">
  213. <span class="border-span">当前订单所有产品</span>
  214. </div>
  215. <el-table
  216. :data="form.salesOrderAllProductsList"
  217. style="width: 100%"
  218. border
  219. >
  220. <el-table-column label="行号" align="center" prop="lineNumber">
  221. </el-table-column>
  222. <el-table-column
  223. label="物料编码"
  224. align="center"
  225. prop="productCode"
  226. width="160"
  227. >
  228. </el-table-column>
  229. <el-table-column label="牌号" align="center" prop="brandNo">
  230. </el-table-column>
  231. <el-table-column label="型号" align="center" prop="model" width="160">
  232. </el-table-column>
  233. <el-table-column label="订单数量" align="center" prop="contractNum">
  234. </el-table-column>
  235. <el-table-column
  236. label="计划单号"
  237. align="center"
  238. prop="productionPlanCode"
  239. width="160"
  240. >
  241. </el-table-column>
  242. <el-table-column
  243. label="计划生产数量"
  244. align="center"
  245. width="120"
  246. prop="planProductNum"
  247. >
  248. </el-table-column>
  249. <el-table-column
  250. label="要求生产数量"
  251. align="center"
  252. width="120"
  253. prop="requiredFormingNum"
  254. >
  255. </el-table-column>
  256. <!-- <el-table-column label="未生产数量" align="center" width="120" prop="unfinishedQuantity">
  257. </el-table-column>
  258. <el-table-column label="已生产数量" align="center" width="120" prop="finishedQuantity">
  259. </el-table-column>
  260. <el-table-column label="已交付量" align="center" prop="deliveredQuantity">
  261. </el-table-column>
  262. <el-table-column label="已出库数量" align="center" width="120" prop="shippedQuantity">
  263. </el-table-column> -->
  264. <el-table-column
  265. label="下达日期"
  266. align="center"
  267. prop="releaseTime"
  268. width="160"
  269. >
  270. </el-table-column>
  271. <el-table-column
  272. label="交付日期"
  273. align="center"
  274. prop="deliveryTime"
  275. width="160"
  276. >
  277. </el-table-column>
  278. <el-table-column label="状态" align="center" prop="status">
  279. <template slot-scope="{ row }">
  280. {{ getDictValue('生产状态', row.status) }}
  281. </template>
  282. </el-table-column>
  283. </el-table>
  284. </div>
  285. <div slot="footer" class="footer">
  286. <div>
  287. <el-button @click="cancel">关闭</el-button>
  288. </div>
  289. </div>
  290. </el-dialog>
  291. </template>
  292. <script>
  293. import dictMixins from '@/mixins/dictMixins';
  294. import { getSalesDetail } from '@/api/saleOrder';
  295. export default {
  296. mixins: [dictMixins],
  297. data() {
  298. return {
  299. visible: false,
  300. form: {
  301. businessInfo: {},
  302. productSpecRequirement: {},
  303. salesOrderAllProductsList: [],
  304. salesOrderBasicInfo: {}
  305. },
  306. orderWeight: '',
  307. currentRowInfo: null
  308. };
  309. },
  310. computed: {
  311. weightUnit() {
  312. return (row) => {
  313. if (row.productUnitWeight) {
  314. return `${row.productUnitWeight} ( ${row.unitWeight} )`;
  315. }
  316. };
  317. }
  318. },
  319. created() {
  320. this.requestDict('按单按库');
  321. this.requestDict('交付要求');
  322. this.requestDict('订单类型');
  323. this.requestDict('订单来源');
  324. this.requestDict('生产状态');
  325. this.requestDict('交货状态');
  326. },
  327. methods: {
  328. open(row) {
  329. this.currentRowInfo = row;
  330. this.getDetail(row.id);
  331. this.orderWeight = `${row.productSumWeight}${row.weightUnit}`;
  332. this.visible = true;
  333. },
  334. getDetail(id) {
  335. getSalesDetail(id).then((res) => {
  336. if (typeof res.salesOrderBasicInfo != 'string') {
  337. this.form.salesOrderBasicInfo = res.salesOrderBasicInfo;
  338. }
  339. if (typeof res.businessInfo != 'string') {
  340. this.form.businessInfo = res.businessInfo;
  341. }
  342. if (typeof res.productSpecRequirement != 'string') {
  343. this.form.productSpecRequirement = res.productSpecRequirement;
  344. }
  345. if (typeof res.salesOrderAllProductsList != 'string') {
  346. this.form.salesOrderAllProductsList = res.salesOrderAllProductsList;
  347. }
  348. console.log('this.form', this.form);
  349. });
  350. },
  351. cancel() {
  352. this.visible = false;
  353. }
  354. }
  355. };
  356. </script>
  357. <style lang="scss" scoped>
  358. .basic-details-title {
  359. margin: 10px 0;
  360. }
  361. </style>