Przeglądaj źródła

[dev]
1、优化了释放订单时的判断
2、将打印机ip本地缓存

Neo 1 rok temu
rodzic
commit
74bdf0d41f

+ 36 - 7
components/order-card/order-card.vue

@@ -35,7 +35,7 @@
 			<view class="je">处方金额:{{props.v.prescriptionSum}}元</view>
 		</view>
   </view>
-	<view class="container" v-if="props.workStatus=='1' && props.s=='0' &&props.c=='0'" @click="handleSelect">
+	<view class="container" v-if="props.workStatus=='1' && props.s=='0' &&props.c=='0'" >  <!-- @click="handleSelect" -->
 		<view class="t">
 			<view class="d1"></view>
 			<view class="d2">
@@ -46,7 +46,14 @@
 		</view>
 		<view class="m">
 			<view class="radio">
-				<label><radio value="selected" color="#18C7B0" :checked="selected"/></label>
+				<label><radio @click="handleSelect" color="#18C7B0" :checked="selected"/></label>
+				<!-- <label><uni-data-checkbox v-model="selected" @change="handleSelect" /></label> -->
+				<!-- <label><uni-data-checkbox v-model="selected"></uni-data-checkbox></label> -->
+				<!-- <label> -->
+					<!-- <uni-icons v-if="selected==false" :type="filled" color="#18C7B0" size="30" style="margin-right: 10rpx;"></uni-icons>
+					<uni-icons v-else type="checkbox-filled" color="#18C7B0" size="30" style="margin-right: 10rpx;"></uni-icons> -->
+					<!-- <uni-icons :type="filled" color="#18C7B0" size="30" style="margin-right: 10rpx;"></uni-icons> -->
+				<!-- </label> -->
 			</view>
 			<image class="faceu" aspectFill :src="props.v.sex==='男'?'/static/hz.png':'/static/hy.png'" />
 			<view class="patie">
@@ -83,7 +90,7 @@
 </script>
 
 <script setup>
-import { onMounted, ref,computed } from 'vue'
+import { onMounted, onBeforeUpdate, ref,computed } from 'vue'
 
 const props = defineProps({
 	s:{
@@ -96,7 +103,8 @@ const props = defineProps({
 			return {
 				name: '',
 				deployState:0,
-				preNo:''
+				preNo:'',
+				selected: false
 			}
 		},
 		type: Object
@@ -113,11 +121,19 @@ const props = defineProps({
 })
 
 const selected = ref(false)
+// const filled = ref('circle')
 
+console.log('in order-card selected:', selected.value)
 const emit = defineEmits(['emitSelect'])
 
 console.log('props.workStatus',props.workStatus)
 
+onBeforeUpdate(()=>{
+	selected.value = props.v.selected
+	// filled.value = 'circle'
+	console.log('selected.value', props.v.preNo,selected.value)
+})
+
 
 const deployStateName = computed(()=>{
 	switch(props.v.state) {
@@ -158,8 +174,21 @@ const handleDetail = ()=>{
 
 const handleSelect = ()=>{
 	console.log('handleSelect>>',props.v.id)
-	emit('emitSelect', props.v.id)
 	selected.value = !selected.value
+	emit('emitSelect',{
+		id:props.v.id,
+		selected:selected.value
+	})
+	
+	console.log('handleSelect>>selected.value',selected.value)
+	// if(selected.value){
+	// 	filled.value = 'checkbox-filled'
+		
+	// } else {
+	// 	filled.value = 'circle'
+	// }
+	// uni.$showMsg('选中了'+filled.value, 2000)
+	// console.log('选中了>>>',filled.value)
 }
 
 </script>
@@ -295,8 +324,8 @@ const handleSelect = ()=>{
 		height: 33.75rpx;
 		width: 709.38rpx;
 		color: #999999;
-		padding: 10rpx 48.78rpx;
-		margin-bottom: 10rpx;
+		padding: 4rpx 48.78rpx;
+		margin-bottom: 2rpx;
 		.zt{
 			display: flex;
 			width: 200rpx;

+ 1 - 0
components/print-config/print-config.vue

@@ -45,6 +45,7 @@ const connectPrint = ()=>{
 				if(res.code==3){
 					// initPrint.value = true
 					uni.setStorageSync('hasPrinter', '1')
+					uni.setStorageSync('printerIp', printInfo.value.ip)
 					// _this.tip=JSON.stringify(ret);
 					// console.log(_this.tip);	
 					// 关闭配置页操作

+ 64 - 24
pages/index/index.vue

@@ -83,7 +83,7 @@
 						@scrolltolower="loadMoreList"
 					>
 						<template v-for="(v,i) in orderList" :key="i">
-							<orderCard v-if="v " :s="s" :v="v" :work-Status="workStatus" :c="tabActive" 
+							<orderCard v-if="v " :s="s" :v="v" :work-Status="workStatus" :c="tabActive"
 								@emit-select="emitSelect"
 							/>
 						</template>
@@ -171,6 +171,7 @@ const status = ref('')
 const s = ref('1')
 const ccc = ref('一键释放')
 
+
 const ids = ref([])
 
 const today =ref({
@@ -317,6 +318,11 @@ const handleRefresh = debounce(()=>{
 	// console.log('yijianshifang >orderList>>666',ids)
 	s.value = '0'
 	console.log('handleRefresh>>ids.value ',ids.value)
+	ids.value = []
+	orderList.value.forEach((x,i)=>{
+		orderList.value[i].selected = false
+	})
+	console.log('yijianshifang >orderList>>forEach', orderList.value)
 	// ccc.value = '完成'
 	// const params = {
 	// 	token: uni.getStorageSync('token'),
@@ -347,6 +353,8 @@ const handleRefresh = debounce(()=>{
 			
 
 const handleRelease  = debounce(async()=>{
+	console.log('ids.value.length',ids.value.length)
+	
 	const params = {
 		token: uni.getStorageSync('token'),
 		data:{ids:ids.value.toString()}
@@ -355,28 +363,50 @@ const handleRelease  = debounce(async()=>{
 	const {data:res} = await releaseOrder(params)
 	
 	if (res.code === 200) {
-		if(ids.value.length>0){
-			console.log('ids.value',ids.value)
-			ids.value.forEach(x=>{
-				console.log('orderList',orderList.value)
-				const index = orderList.value.findIndex(y=>y.id == x)
-				console.log('orderList index',index)
-				if(index>-1){
-					console.log('orderList',orderList.value)
-					orderList.value.splice(index,1)
-					console.log('orderList',orderList.value)
-				}
-			})
-			ids.value = []
-			uni.$showMsg(res.msg, 2000)
-		}
+		console.log('after releaseOrder ids.value',ids.value)
+		uni.$showMsg(res.msg, 2000)
+	}
+	if(ids.value.length==0){
+		uni.$showMsg('尚未释放处方',2000)
+		s.value = '1'
+		return
 	} else {
 		uni.$showMsg(res.msg, 2000)
 	}
+	
+	ids.value = []
+	const paramss = {
+		token: uni.getStorageSync('token'),
+		data:JSON.stringify({
+			currentUserId: parseInt(uni.getStorageSync('userId')),
+			pageNum: page.value,
+			pageSize: pageSize.value,
+			status: tabList.value[tabActive.value].status
+		})
+	}
+	console.log('refresh orderList checkIndex params',paramss)
+	const {data:ress} = await receiveOrderList(paramss)
+	if (ress.code === 200) {
+		total.value = res.total
+		orderList.value = ress.rows
+		if(orderList.value.length < pageSize.value){
+			isBottom.value = true
+		}
+		if(tabActive.value ==0){
+			tabList.value[0].leng = orderList.value.length
+		}
+	}
 	s.value = '1'
-	console.log('after handleRelease ids.value', ids.value)
+	console.log('after refresh orderList handleRelease ids.value', ids.value)
 },500)
 
+
+const handleSelect = ()=>{
+	console.log('handleSelect>>',props.v.id)
+	emit('emitSelect', props.v.id)
+	oselected.value = !oselected.value
+}
+
 const handleGetOffice = (e)=>{
 	console.log('handleGetOffice', e.detail.value)
 	console.log('officeIndex', officeIndex)
@@ -562,8 +592,12 @@ const openTime = ()=>{
 }
 
 const loadMoreList = debounce(async()=>{
+	if(s.value=='0'){
+		console.log('一键释放模式中,不需要加载更多')
+		return
+	}
 	console.log('loadMoreList>>>')
-	if(isBottom){
+	if(isBottom.value){
 		return
 	}
 	page.value = page.value +1
@@ -588,15 +622,17 @@ const loadMoreList = debounce(async()=>{
 	console.log('orderList.value before',orderList.value)
 	if (res.code === 200) {
 		total.value = res.total
-		if(total.value< pageSize.value){
-			isBottom.value = true
-		}
+		
 		console.log('res.rows after',res.rows)
-		res.rows.forEach(item=>{
-			orderList.value.push(item)
-		})
+		// res.rows.forEach(item=>{
+		// 	orderList.value.push(item)
+		// })
+		orderList.value.push(...res.rows)
 		
 		console.log('orderList.value after',orderList.value)
+		if(total.value == orderList.value.length){
+			isBottom.value = true
+		}
 		if(tabActive.value ==0){
 			console.log('tabActive===',)
 			tabList.value[0].leng = orderList.value.length
@@ -607,6 +643,10 @@ const loadMoreList = debounce(async()=>{
  
 const loadPreList = debounce(async()=>{
 	console.log('loadPreList>>>')
+	if(s.value=='0'){
+		console.log('一键释放模式中,不需要刷新')
+		return
+	}
 	page.value = 1
 	const params = {
 		token: uni.getStorageSync('token'),