warehouseDtlCopy.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. <template>
  2. <view class="warehousingDtl">
  3. <view class="header-banner">
  4. <view @click="headerNavType = 1" :class="headerNavType == 1 ? 'active' : ''">
  5. 面料
  6. </view>
  7. <view @click="headerNavType = 2" :class="headerNavType == 2 ? 'active' : ''">
  8. 墨水
  9. </view>
  10. </view>
  11. <commons-select-time @change="timeInit" v-model="req"></commons-select-time>
  12. <view v-if="headerNavType == 2">
  13. <view class="commons-title">
  14. <view class="">
  15. 领料详情
  16. </view>
  17. </view>
  18. <view style="margin: 0 30rpx;font-size: 12rpx;">
  19. <uni-table border stripe emptyText="暂无更多数据">
  20. <!-- 表头行 -->
  21. <uni-tr>
  22. <uni-th width="90rpx" align="left"></uni-th>
  23. <uni-th width="150rpx" align="left">件</uni-th>
  24. <uni-th width="150rpx" align="left">公斤</uni-th>
  25. <uni-th width="150rpx" align="left">金额</uni-th>
  26. </uni-tr>
  27. <!-- 表格数据行 -->
  28. <uni-tr>
  29. <uni-td><view class="pa-bg-2">合计</view>1</uni-td>
  30. <uni-td><view class="pa-bg-2">{{selectInkEWDetailsData.total}}</view></uni-td>
  31. <uni-td><view class="pa-bg-2">{{selectInkEWDetailsData.amountQuantity}}</view></uni-td>
  32. <uni-td><view class="pa-bg-2">{{selectInkEWDetailsData.amountTotal}}</view></uni-td>
  33. </uni-tr>
  34. <uni-tr v-for="(i,index) in selectInkEWDetailsData.details" :key="index">
  35. <uni-td>{{i.nickName}}</uni-td>
  36. <uni-td>{{i.count}}</uni-td>
  37. <uni-td>{{i.changeNum}}</uni-td>
  38. <uni-td>{{i.amount}}</uni-td>
  39. </uni-tr>
  40. </uni-table>
  41. </view>
  42. </view>
  43. <view v-if="headerNavType == 1">
  44. <view class="commons-title">
  45. <view class="">
  46. 领料详情
  47. </view>
  48. <view>
  49. <uni-data-checkbox v-model="companyType" :localdata="companyList" />
  50. </view>
  51. </view>
  52. <view style="margin: 0 30rpx;font-size: 24rpx;">
  53. <uni-table border stripe emptyText="暂无更多数据" >
  54. <!-- 表头行 -->
  55. <uni-tr>
  56. <uni-th width="90rpx" align="left"></uni-th>
  57. <uni-th width="150rpx" align="left">领料</uni-th>
  58. <uni-th v-if="companyType == 3" width="150rpx" align="left">产出比</uni-th>
  59. <uni-th width="150rpx" align="left">排班</uni-th>
  60. </uni-tr>
  61. <!-- 表格数据行 -->
  62. <uni-tr>
  63. <uni-td><view class="pa-bg-2">合计</view>1</uni-td>
  64. <uni-th v-if="companyType == 0" width="150rpx" align="left"><view class="pa-bg-2">{{totalData.amountTotal}}</view></uni-th>
  65. <uni-th v-if="companyType == 1" width="150rpx" align="left"><view class="pa-bg-2">{{totalData.total}}</view></uni-th>
  66. <uni-th v-if="companyType == 2" width="150rpx" align="left"><view class="pa-bg-2">{{totalData.amountQuantity}}</view></uni-th>
  67. <uni-th v-if="companyType == 3" width="150rpx" align="left"><view class="pa-bg-2">{{totalData.square}}</view></uni-th>
  68. <uni-th
  69. v-if="companyType == 3"
  70. width="150rpx"
  71. align="left">
  72. <div class="pa-bg-2">
  73. {{((totalData.amountQuantity / (totalData.square - totalData.totalReturnMaterial))*100 || 0).toFixed(3)}}%
  74. </div>
  75. </uni-th>
  76. <uni-th width="150rpx" align="left"><view class="pa-bg-2">{{companyType == 3 ? totalData.quantity : '-'}}</view></uni-th>
  77. <!-- <uni-th width="150rpx" align="left"><view class="pa-bg-2">{{companyType == 4 ? totalData.outputRatio : '-'}}</view></uni-th> -->
  78. </uni-tr>
  79. <uni-tr>
  80. <uni-td><view class="pa-bg">打纸</view>1</uni-td>
  81. <uni-th v-if="companyType == 0" width="150rpx" align="left"><view class="pa-bg">{{totalData.beatingAmountTotal}}</view></uni-th>
  82. <uni-th v-if="companyType == 1" width="150rpx" align="left"><view class="pa-bg">{{totalData.beatingTotal}}</view></uni-th>
  83. <uni-th v-if="companyType == 2" width="150rpx" align="left"><view class="pa-bg">{{totalData.beatingAmountQuantity}}</view></uni-th>
  84. <uni-th v-if="companyType == 3" width="150rpx" align="left"><view class="pa-bg">{{totalData.beatingSquare}}</view></uni-th>
  85. <uni-th
  86. v-if="companyType == 3"
  87. width="150rpx"
  88. align="left">
  89. <div class="pa-bg">
  90. {{((totalData.beatingAmountQuantity / (totalData.beatingSquare - totalData.beatingReturnMaterial))*100 || 0).toFixed(3)}}%
  91. </div>
  92. </uni-th>
  93. <uni-th width="150rpx" align="left"><view class="pa-bg">{{companyType == 3? totalData.beatingQuantity : '-'}}</view></uni-th>
  94. </uni-tr>
  95. <uni-tr v-for="i in totalData.beatingDetails" :key="i.nickName">
  96. <uni-td>{{i.nickName}}</uni-td>
  97. <uni-th v-if="companyType == 0" width="150rpx" align="left">{{i.amount}}</uni-th>
  98. <uni-th v-if="companyType == 1" width="150rpx" align="left">{{i.count}}</uni-th>
  99. <uni-th v-if="companyType == 2" width="150rpx" align="left">{{i.changeNum}}</uni-th>
  100. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{i.square}}</uni-th>
  101. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{(i.quantity / (i.square - i.returnMaterial)*100).toFixed((3))}}%</uni-th>
  102. <uni-th width="150rpx" align="left">{{companyType == 3? i.quantity : '-'}}</uni-th>
  103. </uni-tr>
  104. <uni-tr>
  105. <uni-td><view class="pa-bg">热转</view>1</uni-td>
  106. <uni-th v-if="companyType == 0" width="150rpx" align="left"><view class="pa-bg">{{totalData.heatAmountTotal}}</view></uni-th>
  107. <uni-th v-if="companyType == 1" width="150rpx" align="left"><view class="pa-bg">{{totalData.heatTotal}}</view></uni-th>
  108. <uni-th v-if="companyType == 2" width="150rpx" align="left"><view class="pa-bg">{{totalData.heatAmountQuantity}}</view></uni-th>
  109. <uni-th v-if="companyType == 3" width="150rpx" align="left"><view class="pa-bg">{{totalData.heatSquare}}</view></uni-th>
  110. <uni-th
  111. v-if="companyType == 3"
  112. width="150rpx"
  113. align="left">
  114. <div class="pa-bg">
  115. {{((totalData.heatAmountQuantity / (totalData.heatSquare - totalData.heatReturnMaterial)*100) || 0).toFixed(3)}}%
  116. </div>
  117. </uni-th>
  118. <uni-th width="150rpx" align="left"><view class="pa-bg">{{companyType == 3 ? totalData.heatQuantity : '-'}}</view></uni-th>
  119. </uni-tr>
  120. <uni-tr v-for="i in totalData.heatDetails" :key="i.nickName">
  121. <uni-td>{{i.nickName}}</uni-td>
  122. <uni-th v-if="companyType == 0" width="150rpx" align="left">{{i.amount}}</uni-th>
  123. <uni-th v-if="companyType == 1" width="150rpx" align="left">{{i.count}}</uni-th>
  124. <uni-th v-if="companyType == 2" width="150rpx" align="left">{{i.changeNum}}</uni-th>
  125. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{i.square}}</uni-th>
  126. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{(i.quantity / (i.square - i.returnMaterial)*100).toFixed((3))}}%</uni-th>
  127. <uni-th width="150rpx" align="left">{{companyType == 3? i.quantity : '-'}}</uni-th>
  128. </uni-tr>
  129. <uni-tr>
  130. <uni-td><view class="pa-bg">直喷</view>1</uni-td>
  131. <uni-th v-if="companyType == 0" width="150rpx" align="left"><view class="pa-bg">{{totalData.directAmountTotal}}</view></uni-th>
  132. <uni-th v-if="companyType == 1" width="150rpx" align="left"><view class="pa-bg">{{totalData.directTotal}}</view></uni-th>
  133. <uni-th v-if="companyType == 2" width="150rpx" align="left"><view class="pa-bg">{{totalData.directAmountQuantity}}</view></uni-th>
  134. <uni-th v-if="companyType == 3" width="150rpx" align="left"><view class="pa-bg">{{totalData.directSquare}}</view></uni-th>
  135. <uni-th
  136. v-if="companyType == 3"
  137. width="150rpx"
  138. align="left">
  139. <div class="pa-bg">
  140. {{((totalData.directAmountQuantity / (totalData.directSquare - totalData.directReturnMaterial)*100) || 0).toFixed(3)}}%
  141. </div>
  142. </uni-th>
  143. <uni-th width="150rpx" align="left"><view class="pa-bg">{{companyType == 3 ? totalData.directQuantity : '-'}}</view></uni-th>
  144. </uni-tr>
  145. <uni-tr v-for="i in totalData.directDetails" :key="i.nickName">
  146. <uni-td>{{i.nickName}}</uni-td>
  147. <uni-th v-if="companyType == 0" width="150rpx" align="left">{{i.amount}}</uni-th>
  148. <uni-th v-if="companyType == 1" width="150rpx" align="left">{{i.count}}</uni-th>
  149. <uni-th v-if="companyType == 2" width="150rpx" align="left">{{i.changeNum}}</uni-th>
  150. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{i.square}}</uni-th>
  151. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{(i.quantity / (i.square - i.returnMaterial)*100).toFixed((3))}}%</uni-th>
  152. <uni-th width="150rpx" align="left">{{companyType == 3? i.quantity : '-'}}</uni-th>
  153. </uni-tr>
  154. <uni-tr>
  155. <uni-td><view class="pa-bg">其他</view>1</uni-td>
  156. <uni-th v-if="companyType == 0" width="150rpx" align="left"><view class="pa-bg">{{totalData.otherAmountTotal}}</view></uni-th>
  157. <uni-th v-if="companyType == 1" width="150rpx" align="left"><view class="pa-bg">{{totalData.otherTotal}}</view></uni-th>
  158. <uni-th v-if="companyType == 2" width="150rpx" align="left"><view class="pa-bg">{{totalData.otherAmountQuantity}}</view></uni-th>
  159. <uni-th v-if="companyType == 3" width="150rpx" align="left"><view class="pa-bg">{{totalData.otherSquare}}</view></uni-th>
  160. <uni-th
  161. v-if="companyType == 3"
  162. width="150rpx"
  163. align="left">
  164. <div class="pa-bg">
  165. {{((totalData.otherQuantity / (totalData.otherSquare - totalData.otherReturnMaterial)*100) || 0).toFixed(3)}}%
  166. </div>
  167. </uni-th>
  168. <uni-th width="150rpx" align="left"><view class="pa-bg">{{companyType == 3? totalData.otherQuantity : '-'}}</view></uni-th>
  169. </uni-tr>
  170. <uni-tr v-for="i in totalData.otherDetails" :key="i.nickName">
  171. <uni-td>{{i.nickName}}</uni-td>
  172. <uni-th v-if="companyType == 0" width="150rpx" align="left">{{i.amount}}</uni-th>
  173. <uni-th v-if="companyType == 1" width="150rpx" align="left">{{i.count}}</uni-th>
  174. <uni-th v-if="companyType == 2" width="150rpx" align="left">{{i.changeNum}}</uni-th>
  175. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{i.square}}</uni-th>
  176. <uni-th v-if="companyType == 3" width="150rpx" align="left">{{(i.quantity / (i.square - i.returnMaterial)).toFixed(3)}}</uni-th>
  177. <uni-th width="150rpx" align="left">{{companyType == 3? i.quantity : '-'}}</uni-th>
  178. </uni-tr>
  179. </uni-table>
  180. </view>
  181. </view>
  182. </view>
  183. </template>
  184. <script>
  185. import commonsSelectTime from '../../components/commons-select-time/index.vue'
  186. import {
  187. getInfo
  188. } from "@/util/api.js";
  189. export default {
  190. components:{
  191. commonsSelectTime
  192. },
  193. data() {
  194. return {
  195. companyType:3,
  196. companyList:[
  197. {
  198. text:"金额",
  199. value:0
  200. },
  201. {
  202. text:"件",
  203. value:1
  204. },
  205. {
  206. text:"米",
  207. value:2
  208. },
  209. {
  210. text:"平方",
  211. value:3
  212. },
  213. ],
  214. warehouseList:[{
  215. text:"全部",
  216. value:'0'
  217. },
  218. {
  219. text:"一楼",
  220. value:'1'
  221. },{
  222. text:"四楼",
  223. value:'2'
  224. }],
  225. req:{
  226. type: 0,
  227. time: [],
  228. beginTime: null,
  229. endTime: null,
  230. },
  231. headerNavType:1,
  232. totalData:[],
  233. selectInkEWDetailsData:[],
  234. }
  235. },
  236. onLoad(option) {
  237. console.log(option.type)
  238. if(option.type == 2){
  239. this.headerNavType = 2
  240. }
  241. const v = this
  242. v.timeInit()
  243. },
  244. methods: {
  245. timeInit(){
  246. const v = this
  247. v.getSelectInkEWDetails()
  248. v.getSelectFabricWDetails()
  249. },
  250. toRouter(url){
  251. console.log(123123)
  252. uni.navigateTo({
  253. url: '/pages' + url
  254. })
  255. },
  256. getSelectFabricWDetails(){
  257. const v = this
  258. v.$post('/applet/selectFabricEWDetails',v.req).then(res=>{
  259. res.data.otherReturnMaterial = 0
  260. res.data.directReturnMaterial = 0
  261. res.data.heatReturnMaterial = 0
  262. res.data.beatingReturnMaterial = 0
  263. for (var i = 0; i < res.data.beatingDetails.length; i++) {
  264. const element = res.data.beatingDetails[i]
  265. res.data.otherReturnMaterial += element.returnMaterial
  266. }
  267. for (var i = 0; i < res.data.directDetails.length; i++) {
  268. const element = res.data.directDetails[i]
  269. res.data.directReturnMaterial += element.returnMaterial
  270. }
  271. for (var i = 0; i < res.data.heatDetails.length; i++) {
  272. const element = res.data.heatDetails[i]
  273. res.data.directReturnMaterial += element.returnMaterial
  274. }
  275. for (var i = 0; i < res.data.beatingDetails.length; i++) {
  276. const element = res.data.beatingDetails[i]
  277. res.data.beatingReturnMaterial += element.returnMaterial
  278. }
  279. res.data.totalReturnMaterial = (res.data.otherReturnMaterial + res.data.directReturnMaterial + res.data.heatReturnMaterial + res.data.beatingReturnMaterial) / 4
  280. v.totalData = res.data
  281. console.log(v.totalData)
  282. })
  283. },
  284. getSelectInkEWDetails(){
  285. const v = this
  286. v.$post('/applet/selectInkEWDetails',v.req).then(res=>{
  287. v.selectInkEWDetailsData = res.data
  288. })
  289. },
  290. },
  291. }
  292. </script>
  293. <style lang="less">
  294. .uni-data-checklist{
  295. margin-top: 10rpx;
  296. padding:16rpx 10rpx;
  297. }
  298. .uni-table-td{
  299. font-size: 24rpx!important;
  300. }
  301. .uni-data-checklist .checklist-group .checklist-box{
  302. margin-right: 20rpx!important;
  303. }
  304. .warehousingDtl {
  305. background-color: #f1f1f1;
  306. min-height: 100vh;
  307. color: #333;
  308. .header-banner {
  309. display: flex;
  310. justify-content: center;
  311. border-bottom: 1px solid #dcdcdc;
  312. view {
  313. width: 40%;
  314. text-align: center;
  315. height: 100rpx;
  316. line-height: 100rpx;
  317. color: #333;
  318. margin: 0 5%;
  319. }
  320. .active {
  321. color: #487CFF;
  322. border-bottom: 2px solid #487CFF;
  323. }
  324. }
  325. }
  326. </style>