271 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			271 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
|   | <template> | |||
|  |   <view class="container"> | |||
|  |     <VNavigationBar background-color="#fff" title="申请单详情" title-color="#333"></VNavigationBar> | |||
|  |     <view class="body"> | |||
|  |       <div class="userList"> | |||
|  |         <view v-for="item in twItem" :key="item.id" class="userItem"> | |||
|  |           <view class="info"> | |||
|  |             <text class="name">{{ item.waresName }}</text> | |||
|  |             <text class="num">x{{ item.waresCount}}</text> | |||
|  |           </view> | |||
|  |           <view class="info2"> | |||
|  |             <view class="info2-item"> | |||
|  |               <text class="label">规格型号</text> | |||
|  |               <text class="value">{{ item.wares.model }}</text> | |||
|  |             </view> | |||
|  |             <view class="info2-item"> | |||
|  |               <text class="label">当前库存</text> | |||
|  |               <text class="value">{{ item.wares.stock }}</text> | |||
|  |             </view> | |||
|  |           </view> | |||
|  |         </view> | |||
|  |       </div> | |||
|  |     </view> | |||
|  |   </view> | |||
|  | </template> | |||
|  | 
 | |||
|  | <script> | |||
|  | import VNavigationBar from '@/components/VNavigationBar.vue' | |||
|  | import request from '@/utils/request'; | |||
|  | export default { | |||
|  |   components: { | |||
|  |     VNavigationBar, | |||
|  |   }, | |||
|  |   data() { | |||
|  |     return { | |||
|  |       list: [ | |||
|  |         {name: '7字小钩', id: 1, typeName: '机修', num: 3, count: 35}, | |||
|  |         {name: '反光贴', id: 2, typeName: '机修', num: 3, count: 35}, | |||
|  |         {name: '刹车油DOT4', id: 3, typeName: '喷漆', num: 3, count: 35}, | |||
|  |       ], | |||
|  |       show: false, | |||
|  |       argument: '', | |||
|  |       twId:'', | |||
|  |       //配件列表
 | |||
|  |       twItem:[], | |||
|  |       formData:{} | |||
|  |     } | |||
|  |   }, | |||
|  |   onLoad(data) { | |||
|  |     this.formData = JSON.parse(decodeURIComponent(data.formData)) | |||
|  |     this.listByTwId() | |||
|  |   }, | |||
|  |   methods: { | |||
|  |     /** | |||
|  |      * 根据twId查询对应配件 | |||
|  |      */ | |||
|  |     listByTwId(){ | |||
|  |       console.log(this.formData) | |||
|  |       request({ | |||
|  |         url: '/admin-api/repair/twi/list', | |||
|  |         method: 'get', | |||
|  |         params:{twId:this.formData.id} | |||
|  |       }).then((res)=>{ | |||
|  |         console.log(res.data,90) | |||
|  |         if (res.code == 200){ | |||
|  |           this.twItem = res.data | |||
|  |         } | |||
|  |       }) | |||
|  |     }, | |||
|  | 
 | |||
|  | 
 | |||
|  |     close() { | |||
|  |       this.show = false | |||
|  |     }, | |||
|  |     open() {}, | |||
|  |     noFun() { | |||
|  |       this.handleAudit('05') | |||
|  |     }, | |||
|  |     yesFun() { | |||
|  |       this.handleAudit('02') | |||
|  |     }, | |||
|  | 
 | |||
|  |     /** | |||
|  |      * 审批接口 | |||
|  |      * @param flag"02:审批通过","05:驳回" | |||
|  |      */ | |||
|  |     handleAudit(flag){ | |||
|  |       this.formData['status'] = flag | |||
|  |       // 处理配件信息
 | |||
|  |       this.formData.wares = [...this.twItem.map(item => { | |||
|  |         return { | |||
|  |           itemName: item.waresName, | |||
|  |           itemCount: item.waresCount, | |||
|  |           itemUnit: item.wares.unit, | |||
|  |           itemPrice: item.wares.price, | |||
|  |           repairIds: this.formData.repairId, | |||
|  |           repairNames: this.formData.repairName, | |||
|  |           saleId: this.formData.adviserId, | |||
|  |           saleName: this.formData.adviserName, | |||
|  |           itemDiscount: item.itemDiscount, | |||
|  |           itemMoney: item.wares.price * item.waresCount, | |||
|  |           partId: item.waresId, | |||
|  |           remark: item.remark | |||
|  |         } | |||
|  |       })] | |||
|  |       console.log(this.twItem,132) | |||
|  |       request({ | |||
|  |         url: '/admin-api/repair/tw/audit', | |||
|  |         method: 'post', | |||
|  |         data:this.formData | |||
|  |       }).then((res)=>{ | |||
|  |         if (res.code == 200){ | |||
|  |           uni.showToast({ | |||
|  |             title: '审批成功!', | |||
|  |             icon: 'none' | |||
|  |           }) | |||
|  |           setTimeout(()=>{ | |||
|  |             uni.navigateBack() | |||
|  |           },700) | |||
|  |         } | |||
|  |       }) | |||
|  |     }, | |||
|  | 
 | |||
|  |     confirm() { | |||
|  |       this.show = false | |||
|  |       uni.navigateBack() | |||
|  |     }, | |||
|  |     cancel() { | |||
|  |       this.show = false | |||
|  |       this.argument = '' | |||
|  |     } | |||
|  |   } | |||
|  | } | |||
|  | </script> | |||
|  | 
 | |||
|  | <style lang="less" scoped> | |||
|  | .container { | |||
|  |   height: 100%; | |||
|  |   background-color: #F3F5F7; | |||
|  |   display: flex; | |||
|  |   flex-direction: column; | |||
|  | 
 | |||
|  |   .body { | |||
|  |     flex: 1; | |||
|  |     height: 0; | |||
|  |     overflow: auto; | |||
|  |     padding: 20rpx 0; | |||
|  | 
 | |||
|  |     .userList { | |||
|  |       margin: 20rpx 32rpx 0; | |||
|  |       background-color: #fff; | |||
|  |       padding: 0 20rpx; | |||
|  | 
 | |||
|  |       .userItem { | |||
|  |         padding: 30rpx 0; | |||
|  |         border-bottom: 1rpx solid #DDDDDD; | |||
|  | 
 | |||
|  |         .info { | |||
|  |           margin-bottom: 30rpx; | |||
|  |           display: flex; | |||
|  |           align-items: flex-end; | |||
|  |           column-gap: 10rpx; | |||
|  |           row-gap: 20rpx; | |||
|  | 
 | |||
|  |           .name { | |||
|  |             font-weight: bold; | |||
|  |             font-size: 32rpx; | |||
|  |             color: #333333; | |||
|  |           } | |||
|  | 
 | |||
|  |           .num { | |||
|  |             font-size: 28rpx; | |||
|  |             color: #0174F6; | |||
|  |           } | |||
|  |         } | |||
|  | 
 | |||
|  |         .info2 { | |||
|  |           display: flex; | |||
|  | 
 | |||
|  |           .info2-item { | |||
|  |             display: flex; | |||
|  |             flex-direction: column; | |||
|  |             flex: 1; | |||
|  |             width: 0; | |||
|  | 
 | |||
|  |             .label { | |||
|  |               font-size: 28rpx; | |||
|  |               color: #858BA0; | |||
|  |             } | |||
|  | 
 | |||
|  |             .value { | |||
|  |               font-size: 28rpx; | |||
|  |               color: #333333; | |||
|  |             } | |||
|  |           } | |||
|  |         } | |||
|  |       } | |||
|  | 
 | |||
|  |       .userItem:last-child { | |||
|  |         border-bottom: none; | |||
|  |       } | |||
|  |     } | |||
|  |   } | |||
|  | 
 | |||
|  |   .foot { | |||
|  |     background-color: #fff; | |||
|  |     padding: 30rpx; | |||
|  | 
 | |||
|  |     display: flex; | |||
|  |     align-items: center; | |||
|  | 
 | |||
|  |     .btn1, .btn2 { | |||
|  |       flex: 1; | |||
|  |       width: 0; | |||
|  |       font-size: 32rpx; | |||
|  |       display: flex; | |||
|  |       align-items: center; | |||
|  |       justify-content: center; | |||
|  |       column-gap: 10rpx; | |||
|  |     } | |||
|  | 
 | |||
|  |     .btn1 { | |||
|  |       color: #858BA0; | |||
|  |     } | |||
|  | 
 | |||
|  |     .btn2 { | |||
|  |       color: #0174F6; | |||
|  |     } | |||
|  | 
 | |||
|  |     .line { | |||
|  |       height: 32rpx; | |||
|  |       width: 1rpx; | |||
|  |       background-color: #ddd; | |||
|  |     } | |||
|  | 
 | |||
|  |   } | |||
|  | 
 | |||
|  |   .pop { | |||
|  |     //background-color: #fff;
 | |||
|  |     height: 60vh; | |||
|  |   } | |||
|  |   .popHeader { | |||
|  |     padding: 40rpx; | |||
|  | 
 | |||
|  |     display: flex; | |||
|  |     align-items: center; | |||
|  | 
 | |||
|  |     border-bottom: 1rpx solid #EEEEEE; | |||
|  | 
 | |||
|  |     .btn2 { | |||
|  |       color: #0174F6; | |||
|  |     } | |||
|  |     .btn1 { | |||
|  |       color: #999999; | |||
|  |     } | |||
|  | 
 | |||
|  |     .popHeaderText { | |||
|  |       flex: 1; | |||
|  |       width: 0; | |||
|  |       text-align: center; | |||
|  |       font-weight: bold; | |||
|  |       font-size: 32rpx; | |||
|  |       color: #333333; | |||
|  |     } | |||
|  |   } | |||
|  |   .popContent { | |||
|  | 
 | |||
|  |   } | |||
|  | } | |||
|  | </style> |