@ -1,172 +0,0 @@ |
|||
<template> |
|||
<view> |
|||
<view class="bed-wait-item" v-for="(item, index) in bedWaitList" :key="index" @tap="lookDetail(item)"> |
|||
|
|||
<view class="bed-wait-info"> |
|||
<view class="bed-wait-name PfScMedium">{{ item.coin_name }}</view> |
|||
|
|||
<view class="bed-desc flex"> |
|||
<view :class="['bed-age',type == '1' ? 'bold':'']">{{ item.buying_price }}元{{ type == '2' ?'进':'' }}</view> |
|||
<view class="bed-sex bed-sex-bold" v-if="type == '2'">{{ item.price }}元售</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="bed-wait-time"> |
|||
<view class="bed-left"> |
|||
<!-- 布局修改 --> |
|||
<view class="bed-left-flex"> |
|||
<view class="bed-sex">{{ item.year }}</view> |
|||
<view class="bed-visit-format" v-if="item.format">{{ item.format }}</view> |
|||
</view> |
|||
<view>{{ item.rating_department }}</view> |
|||
</view> |
|||
|
|||
<view class="bed-checkin-time flex-between"> |
|||
<view class="bed-visit-time">{{ item.operate_time }}</view> |
|||
<view>{{ item.rating_code }}</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
</template> |
|||
<script> |
|||
export default { |
|||
props:['bedWaitList','type'], |
|||
options: { styleIsolation: "shared" }, |
|||
components: { |
|||
|
|||
}, |
|||
data() { |
|||
return { |
|||
list:[] |
|||
} |
|||
}, |
|||
methods:{ |
|||
lookDetail(item) { |
|||
uni.setStorageSync('detail', JSON.stringify(item)) |
|||
let url = `/pages/coinsDetail/index?id=${item.rating_code}` |
|||
this.$nav.navToPath(url) |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.bold{ |
|||
font-weight: 500 !important; |
|||
color: #000000 !important; |
|||
|
|||
} |
|||
.bed-wait-item { |
|||
padding: 36rpx 0rpx; |
|||
border-bottom: 2rpx solid #F1F1F1; |
|||
position: relative; |
|||
|
|||
} |
|||
|
|||
.bed-wait-info { |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
.bed-wait-name { |
|||
font-size: 32rpx; |
|||
color: #000000; |
|||
margin-right: 24rpx; |
|||
font-weight: 500; |
|||
} |
|||
|
|||
.bed-visit-type-desc { |
|||
padding: 0 18rpx; |
|||
height: 40rpx; |
|||
box-sizing: border-box; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-size: 26rpx; |
|||
line-height: normal; |
|||
border-radius: 6rpx; |
|||
margin-left: 24rpx; |
|||
background: #F7FCFF; |
|||
color: #007FD0; |
|||
border: 1rpx solid #5FA1CB; |
|||
|
|||
&.ml-auto { |
|||
margin-left: auto; |
|||
} |
|||
} |
|||
|
|||
.bed-desc { |
|||
color: #999999; |
|||
font-size: 28rpx; |
|||
margin-left: auto; |
|||
gap: 12rpx; |
|||
} |
|||
|
|||
|
|||
.bed-sex { |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
line-height: 44rpx; |
|||
color: #242833; |
|||
letter-spacing: 0.86rpx; |
|||
} |
|||
.bed-sex-bold,.bed-age{ |
|||
font-family: PingFang SC; |
|||
font-size: 30rpx; |
|||
font-weight: 500; |
|||
line-height: 44rpx; |
|||
letter-spacing: 0.86rpx; |
|||
color: #000000; |
|||
} |
|||
.bed-age { |
|||
font-size: 30rpx; |
|||
font-weight: normal; |
|||
line-height: 44rpx; |
|||
letter-spacing: 0.86rpx; |
|||
color: #999999; |
|||
font-weight: normal; |
|||
} |
|||
} |
|||
|
|||
.bed-wait-time { |
|||
display: flex; |
|||
column-gap: 24rpx; |
|||
margin-top: 16rpx; |
|||
flex-direction: column; |
|||
gap: 16rpx; |
|||
view { |
|||
font-size: 24rpx; |
|||
color: #999999; |
|||
} |
|||
|
|||
.bed-visit-format { |
|||
border-radius: 6rpx; |
|||
background: #EBEBEB; |
|||
padding: 2rpx 16rpx; |
|||
font-family: PingFang SC; |
|||
font-size: 26rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
letter-spacing: normal; |
|||
color: #666666; |
|||
width: fit-content; |
|||
} |
|||
|
|||
.bed-left { |
|||
display: flex; |
|||
gap: 16rpx; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
} |
|||
.bed-left-flex{ |
|||
display: flex; |
|||
gap: 24rpx; |
|||
align-items: center; |
|||
} |
|||
} |
|||
.flex-between{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
} |
|||
</style> |
|||
@ -1,204 +0,0 @@ |
|||
<template> |
|||
<view class="user-info-com" @click="$emit('click')"> |
|||
<view class="user-info"> |
|||
<view class="user-top"> |
|||
<view class="user-left"> |
|||
<view class="user-name PfScSemibold ft38">{{ visitorInfo.coin_name }}</view> |
|||
<view class="user-num">{{ visitorInfo.year }}</view> |
|||
</view> |
|||
<view class="user-right" v-if="visitorInfo.status" :class="className[visitorInfo.status]">{{ descObj[visitorInfo.status] }}</view> |
|||
<view class="user-right" v-else :class="className[visitorInfo.ancient_coin_status]">{{ visitorInfo.ancient_coin_status_desc }}</view> |
|||
</view> |
|||
<view class="user-bottom gap24 flex-between" v-if="visitorInfo.format || visitorInfo.operate_time"> |
|||
<view> |
|||
<view v-if="visitorInfo.format">板式:{{ visitorInfo.format }}</view> |
|||
</view> |
|||
<view v-if="visitorInfo.operate_time">{{ visitorInfo.operate_time }} </view> |
|||
</view> |
|||
</view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: "visitorInfo", |
|||
data() { |
|||
return { |
|||
cssUrl: this.cssUrl, |
|||
className: { |
|||
0: 'notStore',//未入库 |
|||
'1': 'inventory',//库存 |
|||
'2': 'outBound'//出库 |
|||
}, |
|||
descObj: { |
|||
0: '未入库',//未入库 |
|||
'1': '库存',//库存 |
|||
'2': '已出库'//出库 |
|||
}, |
|||
} |
|||
}, |
|||
props: { |
|||
visitorInfo: { |
|||
type: Object, |
|||
// default: () => ({ |
|||
// name: '机制光绪通宝', |
|||
// year: '1889年', |
|||
// phone: '1310684212', |
|||
// id: 3, |
|||
// time: '2025.12.21 13:23', |
|||
// address: '北京公博二部', |
|||
// plateType:'板式:库平一钱满汉广', |
|||
// type: '1' |
|||
// }) |
|||
}, |
|||
}, |
|||
methods: { |
|||
resetUinfo() { |
|||
this.$emit('resetUinfo') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.user-info-com { |
|||
font-family: PingFang SC; |
|||
.user-info { |
|||
margin: 0 18rpx 0rpx; |
|||
background: #FFFFFF; |
|||
padding: 34rpx 24rpx 44rpx; |
|||
position: relative; |
|||
|
|||
.user-bg { |
|||
position: absolute; |
|||
right: 0; |
|||
bottom: 0; |
|||
width: 100%; |
|||
height: 100%; |
|||
z-index: 1; |
|||
} |
|||
} |
|||
|
|||
.gap24 { |
|||
gap: 24rpx; |
|||
} |
|||
|
|||
.phone { |
|||
display: flex; |
|||
align-items: center; |
|||
height: 39rpx; |
|||
line-height: 39rpx; |
|||
|
|||
img { |
|||
width: 34rpx; |
|||
height: 34rpx; |
|||
margin-left: 12rpx; |
|||
} |
|||
} |
|||
|
|||
.user-top, |
|||
.user-bottom { |
|||
position: relative; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
z-index: 8; |
|||
} |
|||
|
|||
.user-top { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
|
|||
.user-left { |
|||
display: flex; |
|||
align-items: center; |
|||
padding-left: 20rpx; |
|||
&::before{ |
|||
content: ''; |
|||
display: block; |
|||
position: absolute; |
|||
width: 8rpx; |
|||
height: 34rpx; |
|||
border-radius: 10rpx; |
|||
background: #58CA7F; |
|||
left: 0; |
|||
top: 8rpx; |
|||
} |
|||
|
|||
} |
|||
|
|||
.user-name { |
|||
font-size: 38rpx; |
|||
color: #333333; |
|||
line-height: 50rpx; |
|||
} |
|||
|
|||
.user-num { |
|||
margin-left: 24rpx; |
|||
font-size: 28rpx; |
|||
color: #79624A; |
|||
line-height: 40rpx; |
|||
|
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
line-height: 44rpx; |
|||
letter-spacing: 0.86rpx; |
|||
color: #242833; |
|||
|
|||
} |
|||
|
|||
.user-right { |
|||
font-size: 26rpx; |
|||
text-align: center; |
|||
letter-spacing: 0.69rpx; |
|||
color: #999999; |
|||
line-height: 36rpx; |
|||
border-radius: 6rpx; |
|||
background: #FCFCFC; |
|||
border: 1.5rpx solid #999999; |
|||
padding: 2rpx 18rpx; |
|||
} |
|||
.notStore{ |
|||
color: #999999; |
|||
background: #FCFCFC; |
|||
border-color: #999999; |
|||
} |
|||
.inventory{ |
|||
color: #5FA1CB; |
|||
background: #F7FCFF; |
|||
border-color: #5FA1CB; |
|||
} |
|||
.outBound{ |
|||
color: #58CA7F; |
|||
background: #F8FFF7; |
|||
border-color: #5FA1CB; |
|||
|
|||
} |
|||
|
|||
.user-bottom { |
|||
margin-top: 32rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
letter-spacing: 0.86rpx; |
|||
color: #999999; |
|||
} |
|||
|
|||
.user-card { |
|||
font-size: 30rpx; |
|||
color: #949699; |
|||
line-height: 36rpx; |
|||
} |
|||
|
|||
.user-last-time { |
|||
font-size: 30rpx; |
|||
color: #949699; |
|||
line-height: 36rpx; |
|||
} |
|||
|
|||
} |
|||
</style> |
|||
@ -1,555 +0,0 @@ |
|||
<template> |
|||
<view class="coinsDetail-wrap"> |
|||
<view :class="{ 'top': id,'bottom':id }"> |
|||
<VisitorInfo :visitorInfo="detailItem" /> |
|||
</view> |
|||
<view v-if="!id" class="showPriceContent"> |
|||
<view :class="['showPriceWrap',detailItem.ancient_coin_status == 0 ? 'green':'orange']"> |
|||
<view class="flex-between"> |
|||
<view class="label">{{ textObj[detailItem.ancient_coin_status] }}</view> |
|||
<view class="status3" v-if="detailItem.ancient_coin_status == '1' && detailItem.buying_price">进价 {{ detailItem.buying_price }}元</view> |
|||
<view class="flex status3" v-if="detailItem.ancient_coin_status == '2'"> |
|||
历史: |
|||
<view v-if="String(detailItem.buying_price).length > 0">{{ detailItem.buying_price }}元进 </view> |
|||
<view v-if="String(detailItem.price).length > 0"> |
|||
{{ detailItem.price }}元售 |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="inputWrap" :class="{ 'greenBorder': price2Length > 0 && detailItem.ancient_coin_status == 0, 'orangeBorder':price2Length > 0 && detailItem.ancient_coin_status != 0 }"> |
|||
<input type="text" placeholder="输入" :focus="isFocus" v-model="price2" > |
|||
<view class="unit">元</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="list-wrap"> |
|||
<view class="list-box-com" v-if="detailItem.status =='2' && id"> |
|||
<view class="item flex-between"> |
|||
<view :class="'left ft30'"> |
|||
售价 |
|||
</view> |
|||
<view class="right ft30"> |
|||
<view class="flex1"> |
|||
<input type="text" v-model="price" @blur="updatePrice('price')"> |
|||
<view>元</view> |
|||
</view> |
|||
<img class="editImg" :src="cssUrl + 'form_edit.png'" alt=""> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="list-box-com" v-if="id"> |
|||
<view class="item flex-between"> |
|||
<view :class="'left ft30'"> |
|||
进价 |
|||
</view> |
|||
<view class="right ft30"> |
|||
<view class="flex1"> |
|||
<input type="text" v-model="buying_price" @blur="updatePrice('buying_price')"> |
|||
<view>元</view> |
|||
</view> |
|||
<img class="editImg" :src="cssUrl + 'form_edit.png'" alt=""> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<ListBox v-if="detailItem.rating_code" leftTitle="评级部门" :rightTitle="detailItem.rating_department" /> |
|||
<ListBox v-if="detailItem.rating_code" leftTitle="评级编号" :rightTitle="detailItem.rating_code" /> |
|||
<ListBox v-if="detailItem.material" leftTitle="材质" :rightTitle="detailItem.material" /> |
|||
<ListBox v-if="detailItem.deal_with" leftTitle="处理" :rightTitle="detailItem.deal_with" /> |
|||
<ListBox v-if="detailItem.pay_for_level" leftTitle="赔付等级" :rightTitle="detailItem.pay_for_level" /> |
|||
<ListBox v-if="detailItem.grade" leftTitle="分数" :rightTitle="detailItem.grade" /> |
|||
<ListBox v-if="detailItem.size" leftTitle="尺寸" :rightTitle="detailItem.size" /> |
|||
<ListBox v-if="detailItem.remark" leftTitle="备注" :rightTitle="detailItem.remark" /> |
|||
<!-- 详情页面展示 --> |
|||
<ListBox v-if="id" leftTitle="操作人" :rightTitle="detailItem.operator" /> |
|||
<view class="editRate" v-if="detailItem.status == '1'" @click="scanQrcode"> |
|||
<image :src="cssUrl + 'editRate.svg'"/> |
|||
修改评级 |
|||
</view> |
|||
</view> |
|||
<PopUpCommon ref="ratePopup" :showClose="true" zIndex="top"> |
|||
<view class="popWrap ratePopup" ref="popWrap"> |
|||
<view class="pop-title PfScMedium">修改评级</view> |
|||
<view class="content"> |
|||
<VisitorInfo :visitorInfo="detailItem" /> |
|||
<view class="rate-content"> |
|||
<ListBox v-if="detailItemNew.rating_code" leftTitle="评级部门" :rightTitle="detailItemNew.rating_department" /> |
|||
<ListBox v-if="detailItemNew.rating_code" leftTitle="评级编号" :rightTitle="detailItemNew.rating_code" /> |
|||
<ListBox v-if="detailItemNew.material" leftTitle="材质" :rightTitle="detailItemNew.material" /> |
|||
<ListBox v-if="detailItemNew.deal_with" leftTitle="处理" :rightTitle="detailItemNew.deal_with" /> |
|||
<ListBox v-if="detailItemNew.pay_for_level" leftTitle="赔付等级" :rightTitle="detailItemNew.pay_for_level" /> |
|||
<ListBox v-if="detailItemNew.grade" leftTitle="分数" :rightTitle="detailItemNew.grade" /> |
|||
<ListBox v-if="detailItemNew.size" leftTitle="尺寸" :rightTitle="detailItemNew.size" /> |
|||
<ListBox v-if="detailItemNew.remark" leftTitle="备注" :rightTitle="detailItemNew.remark" /> |
|||
</view> |
|||
|
|||
</view> |
|||
<view class="qrcode_wrap page-bottom-btn-container flex-between"> |
|||
<view class="bottom-btn cancel" @click="onCancel">取消</view> |
|||
<view class="bottom-btn PfScMedium primary" @click="onConfirm">确定修改</view> |
|||
</view> |
|||
</view> |
|||
</PopUpCommon> |
|||
</view> |
|||
</template> |
|||
<script> |
|||
import ListBox from '@/components/listBox.vue'; |
|||
import VisitorInfo from '@/components/visitorInfo.vue'; |
|||
import PopUpCommon from '@/components/common/popUpCommon.vue'; |
|||
|
|||
export default { |
|||
name: "coinsDetail", |
|||
props: ['scanCodeDetail'], |
|||
components: { |
|||
VisitorInfo, |
|||
ListBox, |
|||
PopUpCommon |
|||
}, |
|||
data() { |
|||
return { |
|||
textObj:{ |
|||
0:'进价:', |
|||
'1':'售价:', |
|||
'2':'再次入库价:', |
|||
}, |
|||
cssUrl: this.cssUrl1, |
|||
visitorInfo: {}, |
|||
id: '', |
|||
detailItem: {}, |
|||
scan_code_detail: '', |
|||
price: '', |
|||
buying_price:'', |
|||
price2:'', |
|||
isFocus:false, |
|||
detailItemNew:{} |
|||
} |
|||
}, |
|||
computed: { |
|||
price2Length() { |
|||
return this.price2.length |
|||
} |
|||
}, |
|||
watch: { |
|||
scanCodeDetail(newVal, oldVal) { |
|||
this.detailItem = { ...newVal }//更新 |
|||
} |
|||
}, |
|||
mounted() { |
|||
if (this.scanCodeDetail && Object.keys(this.scanCodeDetail).length > 0) { |
|||
this.detailItem = { ...this.scanCodeDetail } |
|||
} |
|||
|
|||
}, |
|||
onLoad(options) { |
|||
const { id } = options; |
|||
if (id) { |
|||
this.id = id; |
|||
let detailItem = uni.getStorageSync('detail') |
|||
if (detailItem) { |
|||
this.detailItem = JSON.parse(detailItem) |
|||
} |
|||
this.price = this.detailItem.price; |
|||
// this.price1 = this.detailItem.price1 || '' |
|||
this.buying_price = this.detailItem.buying_price; |
|||
|
|||
} |
|||
// else{ |
|||
// // 扫描后的弹出框信息 |
|||
// // scanCodeDetail props传参 |
|||
// this.detailItem = {...this.scanCodeDetail} |
|||
// } |
|||
}, |
|||
methods:{ |
|||
onCancel() { |
|||
this.$refs.ratePopup.closePop(); |
|||
}, |
|||
onEdit() { |
|||
this.$refs.ratePopup.openPop(); |
|||
}, |
|||
|
|||
updatePrice(type){ |
|||
let params={ |
|||
scan_code_detail:JSON.stringify({...this.detailItem}), |
|||
rating_code:this.detailItem.rating_code, |
|||
rating_agency_id:this.detailItem.rating_agency_id |
|||
} |
|||
if(type == 'buying_price'){ |
|||
if(!this.buying_price.trim() || !this.buying_price.length)return |
|||
params.buying_price = this.buying_price; |
|||
}else{ |
|||
if(!this.price.trim() || !this.price.length)return |
|||
params.price = this.price; |
|||
} |
|||
this.$http.req('/api/update_price', { |
|||
...params |
|||
}, 'POST').then(data => { |
|||
if (data == -1) return |
|||
this.$pop.modelShow(data.msg) |
|||
|
|||
}).catch(res => { |
|||
}); |
|||
}, |
|||
async onConfirm() { |
|||
const params = {...this.detailItemNew} |
|||
console.log('执行了'); |
|||
// this.$http.req('/api/update_price', { |
|||
// ...params |
|||
// }, 'POST').then(data => { |
|||
// if (data == -1) return |
|||
// this.$refs.ratePopup.closePop(); |
|||
|
|||
// }).catch(res => { |
|||
// }); |
|||
}, |
|||
async scanQrcode() { |
|||
// this.detailItemNew = {...this.detailItem} |
|||
// this.$refs.ratePopup.openPop(); |
|||
|
|||
// #ifdef MP-WEIXIN |
|||
uni.scanCode({ |
|||
scanType: ['barCode', 'qrCode'], |
|||
success: (res) => { |
|||
this.getScanQrcode(res.result) |
|||
}, |
|||
complete(res) { |
|||
if (res.errMsg === 'scanCode:ok') { |
|||
console.log('扫码成功11:', res.result, this); |
|||
} else if (res.errMsg === 'scanCode:fail cancel') { |
|||
console.log('用户取消扫码'); |
|||
} else { |
|||
uni.showToast({ |
|||
title: '扫码失败' + JSON.stringify(res.errMsg), |
|||
icon: 'none' |
|||
}) |
|||
} |
|||
} |
|||
}) |
|||
// #endif |
|||
}, |
|||
getScanQrcode(result) { |
|||
this.$http.req('/api/get_scan_code_detail', { |
|||
url: result |
|||
}, 'POST').then(data => { |
|||
if (data == -1) return |
|||
this.detailItemNew = data; |
|||
this.$set(this, 'detailItemNew', data) |
|||
setTimeout(() => { |
|||
this.isShowCoinModal = true |
|||
this.$refs.ratePopup.openPop(); |
|||
}, 500) |
|||
}).catch(res => { |
|||
}); |
|||
}, |
|||
} |
|||
}; |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.flex1{ |
|||
display: flex; |
|||
align-items: center; |
|||
flex: 1; |
|||
input{ |
|||
flex: 1; |
|||
text-align: right; |
|||
} |
|||
} |
|||
.flex-between { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
.status3{ |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
text-align: right; |
|||
letter-spacing: 0.24rpx; |
|||
color: #E81F1F; |
|||
gap: 10rpx; |
|||
} |
|||
.label{ |
|||
color: #333333; |
|||
font-size: 28rpx; |
|||
letter-spacing: 0.24rpx; |
|||
} |
|||
.green{ |
|||
background: #F0F9EB; /* #F0F9EB */ |
|||
input{ |
|||
border-color: #39D067; |
|||
} |
|||
} |
|||
.orange{ |
|||
background: #FFEFE3; |
|||
input{ |
|||
border-color: #DCDCDC; |
|||
} |
|||
} |
|||
.bottom{ |
|||
margin-bottom: 20rpx; |
|||
} |
|||
.showPriceContent{ |
|||
padding: 0 42rpx 24rpx 42rpx; |
|||
background: #fff; |
|||
} |
|||
.showPriceWrap{ |
|||
padding: 24rpx; |
|||
font-family: PingFang SC; |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
text-align: right; |
|||
letter-spacing: 0.24rpx; |
|||
color: #333333; |
|||
input{ |
|||
text-align: left; |
|||
flex: 1; |
|||
&::placeholder{ |
|||
color: #999999; |
|||
} |
|||
} |
|||
.inputWrap{ |
|||
// width: 618rpx; |
|||
margin-top: 12rpx; |
|||
height: 86rpx; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
padding: 22rpx 24rpx; |
|||
align-self: stretch; |
|||
border-radius: 10rpx; |
|||
box-sizing: border-box; |
|||
background: #FFFFFF; |
|||
border: 2rpx solid #DCDCDC; |
|||
transition: all .3s; |
|||
font-size: 30rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
letter-spacing: 0.22rpx; |
|||
color: #000000; |
|||
} |
|||
.unit{ |
|||
font-family: PingFang SC; |
|||
font-size: 30rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
letter-spacing: 0.22rpx; |
|||
color: #333333; |
|||
} |
|||
} |
|||
|
|||
.list-box-com { |
|||
width: 100%; |
|||
background: #FFFFFF; |
|||
box-sizing: border-box; |
|||
|
|||
.item { |
|||
// width: 692rpx; |
|||
box-sizing: border-box; |
|||
margin: 0 auto; |
|||
display: flex; |
|||
background: #FFFFFF; |
|||
justify-content: space-between; |
|||
line-height: 44rpx; |
|||
font-weight: 400; |
|||
align-items: center; |
|||
padding: 42rpx 0; |
|||
margin: 0 24rpx; |
|||
border-bottom: 2rpx solid #F0F0F0; |
|||
|
|||
.left { |
|||
text-align: left; |
|||
font-size: 32rpx; |
|||
font-weight: 500; |
|||
line-height: 44rpx; |
|||
letter-spacing: 2rpx; |
|||
color: #222222; |
|||
} |
|||
|
|||
.right { |
|||
flex-grow: 1; |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
font-size: 32rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
text-align: right; |
|||
letter-spacing: 0.24rpx; |
|||
color: #666666; |
|||
gap: 24rpx; |
|||
align-items: center; |
|||
} |
|||
} |
|||
|
|||
} |
|||
.greenBorder { |
|||
border: 2rpx solid #39D067 !important; |
|||
transition: all .3s; |
|||
background: #fff; |
|||
} |
|||
.orangeBorder { |
|||
border: 2rpx solid rgba(253, 123, 19, 0.6) !important; |
|||
transition: all .3s; |
|||
background: #fff; |
|||
} |
|||
|
|||
.editImg { |
|||
width: 32rpx; |
|||
height: 32rpx; |
|||
} |
|||
|
|||
.coinsDetail-wrap { |
|||
.list-wrap { |
|||
padding: 0 18rpx 20rpx 18rpx; |
|||
} |
|||
|
|||
.top { |
|||
margin-top: 20rpx; |
|||
} |
|||
} |
|||
.editRate{ |
|||
width: 648rpx; |
|||
height: 90rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
padding: 23rpx 10rpx; |
|||
box-sizing: border-box; |
|||
gap: 10px; |
|||
border-radius: 12rpx; |
|||
background: #E2E4E7; |
|||
font-family: PingFang SC; |
|||
font-size: 32rpx; |
|||
font-weight: normal; |
|||
line-height: 44rpx; |
|||
text-align: center; |
|||
margin: 0 auto; |
|||
margin-top: 58rpx; |
|||
letter-spacing: normal; |
|||
color: #666666; |
|||
image{ |
|||
width: 42rpx; |
|||
height: 42rpx; |
|||
} |
|||
} |
|||
.rate-content{ |
|||
// padding: 0 24rpx; |
|||
} |
|||
.popWrap { |
|||
display: flex; |
|||
flex-direction: column; |
|||
max-height: 1100rpx; |
|||
height: 70%; |
|||
.pop-title { |
|||
height: 40rpx; |
|||
text-align: center; |
|||
padding: 42rpx 0 22rpx 0; |
|||
font-size: 36rpx; |
|||
font-weight: 500; |
|||
line-height: 50rpx; |
|||
text-align: center; |
|||
letter-spacing: 2rpx; |
|||
color: #000000; |
|||
background: #fff; |
|||
} |
|||
.content { |
|||
flex: 1; |
|||
// padding: 0 24rpx; |
|||
background: #fff; |
|||
padding-bottom: 94px; |
|||
overflow-y: auto; |
|||
|
|||
} |
|||
} |
|||
.ratePopup :v-deep .user-info{ |
|||
margin: 0; |
|||
} |
|||
.rate-content{ |
|||
padding: 0 24rpx; |
|||
.rate-item{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
padding: 42rpx 24rpx; |
|||
box-sizing: border-box; |
|||
border-width: 0px 0px 2rpx 0px; |
|||
border-style: solid; |
|||
border-color: #F0F0F0; |
|||
.label{ |
|||
font-size: 32rpx; |
|||
font-weight: 500; |
|||
line-height: 44rpx; |
|||
letter-spacing: 2rpx; |
|||
color: #222222; |
|||
} |
|||
input{ |
|||
font-size: 32rpx; |
|||
font-weight: normal; |
|||
line-height: normal; |
|||
text-align: right; |
|||
letter-spacing: 0.24rpx; |
|||
color: #666666; |
|||
} |
|||
} |
|||
} |
|||
.bottom-btn { |
|||
height: 92rpx; |
|||
width: 100%; |
|||
margin: 16rpx 0; |
|||
line-height: 92rpx; |
|||
text-align: center; |
|||
|
|||
font-size: 32rpx; |
|||
border-radius: 16rpx; |
|||
border: none; |
|||
padding: 0; |
|||
|
|||
&.primary { |
|||
background-color: #39D067; |
|||
color: #FFFFFF; |
|||
} |
|||
|
|||
&.cancel { |
|||
background-color: #F1F2F3; |
|||
color: #616266; |
|||
} |
|||
|
|||
&::after { |
|||
border: none; |
|||
} |
|||
|
|||
&.disabled { |
|||
background-color: #CCCCCC; |
|||
opacity: 0.7; |
|||
} |
|||
} |
|||
|
|||
.page-bottom-btn-container { |
|||
box-sizing: border-box; |
|||
background-color: #FFFFFF; |
|||
padding: 0rpx 54rpx; |
|||
box-shadow: 0px -2rpx 6rpx 0rpx rgba(181, 181, 181, 0.1319); |
|||
z-index: 9; |
|||
padding-bottom: constant(safe-area-inset-bottom); |
|||
padding-bottom: env(safe-area-inset-bottom); |
|||
column-gap: 50rpx; |
|||
} |
|||
.qrcode_wrap { |
|||
background: #fff; |
|||
height: 166rpx; |
|||
position: fixed; |
|||
width: 100%; |
|||
left: 0; |
|||
bottom: 0; |
|||
box-shadow: 0px -2rpx 116rpx 0px rgba(181, 181, 181, 0.26); |
|||
|
|||
// img { |
|||
// width: 122rpx; |
|||
// height: 142rpx; |
|||
// position: absolute; |
|||
// top: -42rpx; |
|||
// left: 50%; |
|||
// transform: translateX(-50%); |
|||
// } |
|||
} |
|||
</style> |
|||
@ -1,25 +0,0 @@ |
|||
<template> |
|||
<view> |
|||
<calendar ref="calendar"/> |
|||
<PageBottomBtn :showCancel="false" text="返回" @click="gotoHome"></PageBottomBtn> |
|||
</view> |
|||
</template> |
|||
<script> |
|||
import PageBottomBtn from '@/components/pageBottomBtn.vue' |
|||
|
|||
import calendar from '@/components/calendar.vue' |
|||
|
|||
export default { |
|||
options: { styleIsolation: "shared" }, |
|||
components: { |
|||
calendar, |
|||
PageBottomBtn |
|||
}, |
|||
methods:{ |
|||
gotoHome(){ |
|||
let url = `/pages/home/index` |
|||
this.$nav.navToPath(url) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
@ -1,252 +0,0 @@ |
|||
<template> |
|||
<view class="column"> |
|||
<view class="search-wrapper flex"> |
|||
<div class="search-main" :class="{ 'search-main-focus': keyWords > 0 }"> |
|||
<image class="icon" :src="cssUrl + 'prescriptSearch.svg'" mode="widthFix"></image> |
|||
<input class="ft46 input-box" placeholder-class="placeholder-style" placeholder="搜索患者姓名" |
|||
v-model="keyword" /> |
|||
<view class="search-text" :class="{ 'green': keyWords > 0 }" @click="getSearch">搜索</view> |
|||
</div> |
|||
</view> |
|||
<view class="patientTab"> |
|||
<view :class="'notActive ft32' + (status == '1' ? ' active PfScMedium' : '')" @tap="changeWaitType('1')"> |
|||
库存列表</view> |
|||
<view :class="'notActive ft32' + (status == '2' ? ' active PfScMedium' : '')" @tap="changeWaitType('2')"> |
|||
出库列表 |
|||
</view> |
|||
</view> |
|||
|
|||
<scroll-view class="patient-type-tab1" @scrolltolower="onScroll" scroll-y> |
|||
<view class="bed-wait-container"> |
|||
<ListWrap :bedWaitList="bedWaitList" :type="status" /> |
|||
</view> |
|||
<view v-if="loading" class="loading-text">加载中...</view> |
|||
<view v-if="noMore" class="no-more-text">没有更多数据了</view> |
|||
<view class="page-padding" v-show="bedWaitList && bedWaitList.length && bedWaitList.length > 0"> |
|||
</view> |
|||
</scroll-view> |
|||
</view> |
|||
</template> |
|||
<script> |
|||
import ListWrap from '@/components/listWrap.vue' |
|||
|
|||
export default { |
|||
options: { styleIsolation: "shared" }, |
|||
components: { |
|||
ListWrap, |
|||
}, |
|||
data() { |
|||
return { |
|||
list: [], |
|||
cssUrl: this.cssUrl1, |
|||
status: '1', |
|||
loading: false, |
|||
noMore: false, |
|||
page: 1, |
|||
pagesize: 10, |
|||
keyword: '', |
|||
bedWaitList: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
keyWords() { |
|||
return this.keyword.length |
|||
} |
|||
}, |
|||
onLoad(option) { |
|||
// var token = uni.getStorageSync("u_token"); |
|||
// 初始化情求 |
|||
this.getCoinsList() |
|||
// this.$refs.coinsPopup.openPop(); |
|||
}, |
|||
onPullDownRefresh() { |
|||
this.bedWaitList = []; |
|||
this.page = 1; |
|||
this.getCoinsList() |
|||
}, |
|||
onReachBottom() { |
|||
if (!this.noMore && !this.loading) { |
|||
this.page++; |
|||
this.getCoinsList(); |
|||
} |
|||
}, |
|||
methods: { |
|||
onScroll() { |
|||
if (!this.noMore && !this.loading) { |
|||
this.page++; |
|||
this.getCoinsList(); |
|||
} |
|||
}, |
|||
getSearch(){ |
|||
this.page = 1; |
|||
this.bedWaitList = []; |
|||
this.getCoinsList() |
|||
}, |
|||
changeWaitType(type) { |
|||
this.status = type; |
|||
this.page = 1; |
|||
this.bedWaitList = []; |
|||
// 调用列表查询接口 |
|||
this.getCoinsList() |
|||
}, |
|||
getCoinsList() { |
|||
this.loading = true; |
|||
// 获取列表信息 |
|||
this.$http.req('/api/getlist', { status: this.status, page: this.page, pagesize: this.pagesize, keyword: this.keyword }, 'POST').then(data => { |
|||
uni.stopPullDownRefresh(); |
|||
this.loading = false; |
|||
if (data.list.length === 0 || data.length == 0) { |
|||
this.noMore = true; |
|||
uni.showToast({ title: '没有更多数据了', icon: 'none' }); |
|||
return; |
|||
} |
|||
debugger |
|||
// 如果是第一页直接替换,否则追加 |
|||
if (this.page === 1) { |
|||
this.bedWaitList = data.list; |
|||
} else { |
|||
this.bedWaitList = [...this.bedWaitList, ...data.list]; |
|||
} |
|||
console.log(this.bedWaitList,'bedWaitList==='); |
|||
this.storage_count = data.storage_count; |
|||
this.delivery_count = data.delivery_count; |
|||
}).catch(res => { |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.column{ |
|||
display: flex; |
|||
height: 100%; |
|||
flex-direction: column; |
|||
} |
|||
.loading-text, |
|||
.no-more-text { |
|||
text-align: center; |
|||
padding: 20rpx; |
|||
color: #999; |
|||
} |
|||
.patient-type-tab1 { |
|||
height: 0; |
|||
width: 100%; |
|||
background: white; |
|||
flex: 1; |
|||
|
|||
.bed-wait-container { |
|||
padding: 0rpx 42rpx; |
|||
background: white; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
} |
|||
|
|||
.search-main-focus { |
|||
border: 2rpx solid #39D067 !important; |
|||
transition: all .3s; |
|||
background: #fff; |
|||
} |
|||
|
|||
.green { |
|||
color: #4DC56D !important; |
|||
} |
|||
|
|||
.search-wrapper { |
|||
margin-top: 20rpx; |
|||
padding: 20rpx 42rpx; |
|||
background: #fff; |
|||
|
|||
input:focus { |
|||
border-color: #39D067; |
|||
} |
|||
|
|||
.search-main { |
|||
transition: all .3s; |
|||
border: 2rpx solid transparent; |
|||
width: 100%; |
|||
border-radius: 6px; |
|||
background: #F7F7F7; |
|||
box-sizing: border-box; |
|||
display: flex; |
|||
height: 70rpx; |
|||
align-items: center; |
|||
padding: 0rpx 20rpx; |
|||
justify-content: space-between; |
|||
} |
|||
|
|||
.search-main-left { |
|||
align-items: center; |
|||
gap: 12rpx; |
|||
color: #999999; |
|||
} |
|||
|
|||
.input-box { |
|||
height: 70rpx; |
|||
line-height: 70rpx; |
|||
font-size: 28rpx; |
|||
color: #000000; |
|||
text-align: left; |
|||
flex: 1; |
|||
padding-left: 12rpx; |
|||
} |
|||
|
|||
.icon { |
|||
width: 34rpx; |
|||
display: block; |
|||
} |
|||
} |
|||
|
|||
.patientTab { |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
height: 120rpx; |
|||
align-items: center; |
|||
margin-top: 20rpx; |
|||
padding: 0 62rpx; |
|||
box-sizing: border-box; |
|||
justify-content: space-between; |
|||
background: white; |
|||
border-radius: 12rpx 12rpx 0rpx 0rpx; |
|||
border-bottom: 2rpx solid rgba(0, 0, 0, 0.15); |
|||
// box-shadow: 0px 1rpx 0rpx 0rpx rgba(0, 0, 0, 0.15); |
|||
|
|||
.notActive { |
|||
width: 269rpx; |
|||
height: 100%; |
|||
text-align: center; |
|||
font-weight: 400; |
|||
color: #666666; |
|||
font-size: 32rpx; |
|||
line-height: 120rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
|
|||
.wait-bed-num { |
|||
padding: 0px 14rpx; |
|||
box-sizing: border-box; |
|||
width: auto; |
|||
height: 38rpx; |
|||
min-width: 60rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
border-radius: 60rpx; |
|||
background: #FFEBEB; |
|||
font-size: 28rpx; |
|||
color: #FF1818; |
|||
margin-left: 10rpx; |
|||
} |
|||
} |
|||
|
|||
.active { |
|||
font-weight: 500; |
|||
color: #4DC56D; |
|||
box-sizing: border-box; |
|||
border-bottom: 4rpx solid #4DC56D; |
|||
} |
|||
} |
|||
</style> |
|||
|
Before Width: | Height: | Size: 942 B |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 949 B |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 13 KiB |