@ -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 |