Forráskód Böngészése

Merge branch 'master' of http://192.168.1.220:10080/Amoy2/intelligent-medicine-cabinet

chenyue 3 éve
szülő
commit
e2b9a97aa1
29 módosított fájl, 1464 hozzáadás és 91 törlés
  1. BIN
      mini-pro-web/src/assets/images/denglu_bg.png
  2. BIN
      mini-pro-web/src/assets/images/dingdanguanli.png
  3. BIN
      mini-pro-web/src/assets/images/icon_shouye-dianji.png
  4. BIN
      mini-pro-web/src/assets/images/icon_shouye.png
  5. BIN
      mini-pro-web/src/assets/images/icon_wode-dianji.png
  6. BIN
      mini-pro-web/src/assets/images/icon_wode.png
  7. BIN
      mini-pro-web/src/assets/images/index_banner.png
  8. BIN
      mini-pro-web/src/assets/images/shebeiguanli.png
  9. BIN
      mini-pro-web/src/assets/images/xiaoxi02_icon.png
  10. BIN
      mini-pro-web/src/assets/images/xiaoxi_icon.png
  11. 8 1
      mini-pro-web/src/assets/styles/resetVant.scss
  12. 67 0
      mini-pro-web/src/components/ProductItem/index.vue
  13. 6 22
      mini-pro-web/src/components/layout/components/AppBotNav.vue
  14. 1 1
      mini-pro-web/src/components/layout/styles/appBotNav.scss
  15. 103 2
      mini-pro-web/src/router/replenishment.js
  16. 136 53
      mini-pro-web/src/views/index/Index.vue
  17. 3 7
      mini-pro-web/src/views/login/Login.vue
  18. 117 0
      mini-pro-web/src/views/replenishment/index.vue
  19. 46 0
      mini-pro-web/src/views/replenishment/picking/detail.vue
  20. 165 0
      mini-pro-web/src/views/replenishment/picking/list.vue
  21. 107 0
      mini-pro-web/src/views/replenishment/record/detail.vue
  22. 20 5
      mini-pro-web/src/views/replenishment/recordList.vue
  23. 79 0
      mini-pro-web/src/views/replenishment/start/components/SetStockDialog.vue
  24. 96 0
      mini-pro-web/src/views/replenishment/start/deviceDetail.vue
  25. 120 0
      mini-pro-web/src/views/replenishment/start/deviceList.vue
  26. 105 0
      mini-pro-web/src/views/replenishment/start/productDetail.vue
  27. 102 0
      mini-pro-web/src/views/replenishment/start/selProduct.vue
  28. 50 0
      mini-pro-web/src/views/replenishment/stockUp/detail.vue
  29. 133 0
      mini-pro-web/src/views/replenishment/stockUp/deviceList.vue

BIN
mini-pro-web/src/assets/images/denglu_bg.png


BIN
mini-pro-web/src/assets/images/dingdanguanli.png


BIN
mini-pro-web/src/assets/images/icon_shouye-dianji.png


BIN
mini-pro-web/src/assets/images/icon_shouye.png


BIN
mini-pro-web/src/assets/images/icon_wode-dianji.png


BIN
mini-pro-web/src/assets/images/icon_wode.png


BIN
mini-pro-web/src/assets/images/index_banner.png


BIN
mini-pro-web/src/assets/images/shebeiguanli.png


BIN
mini-pro-web/src/assets/images/xiaoxi02_icon.png


BIN
mini-pro-web/src/assets/images/xiaoxi_icon.png


+ 8 - 1
mini-pro-web/src/assets/styles/resetVant.scss

@ -1,7 +1,7 @@
.van-dialog__confirm, .van-dialog__confirm:active {
    color: #17b3ec;
}
.van-button--info{
.van-button--info, .van-checkbox__icon--checked .van-icon{
    background-color: #17b3ec;
    border-color: #17b3ec;
}
@ -11,3 +11,10 @@
.van-tabs__line{
    background-color: #17b3ec;
}
.van-button--plain{
    background-color: #fff;
}
.van-button--plain.van-button--info{
    border-color: #17b3ec;
    color: #17b3ec;
}

+ 67 - 0
mini-pro-web/src/components/ProductItem/index.vue

@ -0,0 +1,67 @@
<template>
    <div class='components-product-item' :class="'pitem-full'">
        <div :style="'height: 25%'" class="pitem-bg"></div>
        <div class="pitem-inner">
            <div class="kitbox ">
                <div class="box-flex-1">1号位</div>
                <div>0/5</div>
            </div>
            <div class="ellipsis tc pt8">J氯化钠注J氯化钠注</div>
            <div class="tc pt5">¥27.00</div>
        </div>
    </div>
</template>
<script>
export default{
    data(){
        return {
            
        }
    },
    created() {
        
    },
    methods:{
        
    },
}
</script>
<style lang='scss' scoped>
.components-product-item{
    width: 100px;
    height: 80px;
    background: rgb(238, 238, 238);
    border-radius: 10px;
    margin-left: 10px;
    padding: 5px;
    font-size: 14px;
    position: relative;
    &.pitem-full{
        color: #fff;
    }
    &:first-child{
        margin-left: 0;
    }
    .pitem-inner{
        position: relative;
        z-index: 1;
        background: transparent;
    }
    .pitem-bg{
        background: #17b3ec;
        position: absolute;
        z-index: 0;
        width: 100%;
        bottom: 0;
        left: 0;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        &.orange{
            background: #ff9526;
        }
        &.red{
                background: #ff5e6c;
        }
    }
}
</style>

+ 6 - 22
mini-pro-web/src/components/layout/components/AppBotNav.vue

@ -10,26 +10,17 @@
					<div class="">首页</div>
				</div>
			</van-col>
			<van-col class="flex1" v-if="false">
				<div @click="toUrl(1)" class="app-bot-nav-item " :class="{active: active==1}">
					<div class="app-bot-nav-item_icon">
						<img class="pre-icon" src="@/assets/images/icon-JIANKANGPINGDAO.png">
						<img class="next-icon" src="@/assets/images/icon-JIANKANGPINGDAO2.png">
					</div>
					<div class="">健康频道</div>
				</div>
			</van-col>
			<van-col class="flex1">
				<div @click="toUrl(2)" class="app-bot-nav-item " :class="{active: active==2}">
				<div @click="toUrl(1)" class="app-bot-nav-item " :class="{active: active==1}">
					<div class="app-bot-nav-item_icon">
						<img class="pre-icon" src="@/assets/images/xiaoxi_icon.png">
						<img class="next-icon" src="@/assets/images/xiaoxi02_icon.png">
					</div>
					<div class="">消息</div>
					<div class="">补货</div>
				</div>
			</van-col>
			<van-col class="flex1">
				<div @click="toUrl(3)" class="app-bot-nav-item " :class="{active: active==3}">
				<div @click="toUrl(2)" class="app-bot-nav-item " :class="{active: active==2}">
					<div class="app-bot-nav-item_icon">
						<img class="pre-icon" src="@/assets/images/icon_wode.png">
						<img class="next-icon" src="@/assets/images/icon_wode-dianji.png">
@ -47,9 +38,8 @@ export default {
	data(){
		var urls = [
			{url: "/home/index", count: 0},
			{url: "/healthChannel/index", count: 0},
			{url: "/message/index", count: 0},
			{url: "/me/index", count: 0}
			{url: "/replenishment/index", count: 0},
			{url: "/personal/index", count: 0}
		]
		var active = this.check(urls)
		return {
@ -85,14 +75,8 @@ export default {
			return index
		},
		toUrl(type){
			
			this.active = type;
			let url
			if((type == 3 || type == 2) && !this.user.name) {
				url = '/setRole?type=2'
			}else {
				url = this.urls[this.active].url
			}
			let url = this.urls[this.active].url
			if(url){
				this.$router.replace({
					path: url

+ 1 - 1
mini-pro-web/src/components/layout/styles/appBotNav.scss

@ -42,7 +42,7 @@
            }
        }
        &.active{
            color: #4dcd70;
            color: #17b3ec;
            .app-bot-nav-item_icon{
                >img.pre-icon{
                    display: none;

+ 103 - 2
mini-pro-web/src/router/replenishment.js

@ -5,6 +5,16 @@ const routeMap = [
        name: "replenishment",
        component: NavLayout,
		children: [
            {
                path: "/replenishment/index",
                name: "replenishmentIndex",
                meta: {
                    title: "",
                    hasTop: false,
                    hasBot: true
                },
				component: () => import("@/views/replenishment/index.vue")
            },
            {
                path: "/replenishment/device/list",
                name: "replenishmentDeviceList",
@ -26,14 +36,105 @@ const routeMap = [
				component: () => import("@/views/replenishment/device/detail.vue")
            },
            {
                path: "/replenishment/recordList",
                path: "/replenishment/record/list",
                name: "replenishmentRecordList",
                meta: {
                    title: "补货记录",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/recordList.vue")
				component: () => import("@/views/replenishment/record/list.vue")
            },
            {
                path: "/replenishment/record/detail",
                name: "replenishmentRecordDetail",
                meta: {
                    title: "补货记录详情",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/record/detail.vue")
            },
            {
                path: "/replenishment/picking/list",
                name: "replenishmentPickingList",
                meta: {
                    title: "备货单",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/picking/list.vue")
            },
            {
                path: "/replenishment/picking/detail",
                name: "replenishmentPickingDetail",
                meta: {
                    title: "备货单详情",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/picking/detail.vue")
            },
            {
                path: "/replenishment/stockUp/deviceList",
                name: "replenishmentStockUpDeviceList",
                meta: {
                    title: "查看缺货设备",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/stockUp/deviceList.vue")
            },
            {
                path: "/replenishment/stockUp/detail",
                name: "replenishmentStockUpDetail",
                meta: {
                    title: "查看缺货汇总",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/stockUp/detail.vue")
            },
            {
                path: "/replenishment/start/deviceList",
                name: "replenishmentStartDeviceList",
                meta: {
                    title: "选择设备",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/start/deviceList.vue")
            },
            {
                path: "/replenishment/start/deviceDetail",
                name: "replenishmentStartDeviceDetail",
                meta: {
                    title: "补货",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/start/deviceDetail.vue")
            },
            {
                path: "/replenishment/start/productDetail",
                name: "replenishmentStartProductDetail",
                meta: {
                    title: "商品详情",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/start/productDetail.vue")
            },
            {
                path: "/replenishment/start/selProduct",
                name: "replenishmentStartSelProduct",
                meta: {
                    title: "选择商品",
                    hasTop: false,
                    hasBot: false
                },
				component: () => import("@/views/replenishment/start/selProduct.vue")
            },
		]
    }

+ 136 - 53
mini-pro-web/src/views/index/Index.vue

@ -1,77 +1,160 @@
<template>
	<div>
    	<div class='h60'></div>
	<div class="index-wrap pt30">
    	<div class="panel plr15">
			<div class="kitbox pt15 ">
				<div class="box-flex-1 c-333 fs-16 f-bold">今日订单数量</div>
				<div class="c-666 fs-12 box-v-middle">
					<div @click="searchTypeShow=!searchTypeShow" class="drop-sel c-666 fs-12 plr10 ptb4">
						<span  class="v-middle">{{searchType}}</span>
						<van-icon class="v-middle ml4" name="arrow-down" />
						<div v-show="searchTypeShow" class="sel-body fs-12 c-666">
							<div v-for="(item, i) in options" :key="i" v-show="searchType!=item" @click.stop="searchType=item;searchTypeShow=false;search()" class="ptb6">{{item}}</div>
						</div>
					</div>
				</div>
			</div>
			<div class="c-20d7ad fs-23 pt10">
				752,600
			</div>
			<div class="c-666 fs-14 pt10 pb10">今日补货量 <span class="ml10 c-17b3ec">0</span></div>
		</div>
		<div class="mt10">
			<div class="panel  sbzl">
				<div class="kitbox pt15 plr15">
					<div class="box-flex-1 c-333 fs-16 f-bold">设备总览</div>
				</div>
				<div class="pt20 pb20 plr5">
					<van-row class="">
						<van-col span="6" class="tc ">
							<div class="fs-23 c-17b3ec">10</div>
							<div class="fs-14 c-666 pt5">全部设备</div>
						</van-col>
						<van-col span="6" class="tc">
							<div class="fs-23 c-ff9526">10</div>
							<div class="fs-14 c-666 pt5">在线设备</div>
						</van-col>
						<van-col span="6" class="tc">
							<div class="fs-23 c-ff5e6c">90%</div>
							<div class="fs-14 c-666 pt5">在线率</div>
						</van-col>
						<van-col span="6" class="tc">
							<div class="fs-23 c-17b3ec">10</div>
							<div class="fs-14 c-666 pt5">在售设备</div>
						</van-col>
					</van-row>
				</div>
			</div>
		</div>
		<div class="mt10">
			<div class="panel cygn">
				<div class="kitbox pt15 plr15">
					<div class="box-flex-1 c-333 fs-16 f-bold">常用功能</div>
				</div>
				<div class="ptb10 plr5">
					<van-row class="">
						<van-col span="6" class="tc ">
							<div class="fs-23 c-17b3ec"><img src="@/assets/images/dingdanguanli.png" alt=""></div>
							<div class="fs-14 c-666 pt5">订单管理</div>
						</van-col>
						<van-col span="6" class="tc">
							<div class="fs-23 c-ff9526"><img src="@/assets/images/shebeiguanli.png" alt=""></div>
							<div class="fs-14 c-666 pt5">设备管理</div>
						</van-col>
					</van-row>
				</div>
			</div>
		</div>
	</div>
</template>
<script>
import residentApi from '@/api/residentApi'
import store from '@/store'
export default {
	name: "index",
	components: {
		
  	},
	computed: {
		archiveType() {
			return this.user.archiveType // 1老人 2新生儿
		},
	},
  	data() {
    	return {
			signRecord: "",
			capAssRecord: "",
			userType:"",
			loginType:''
			searchTypeShow: false,
            searchType: "今日",
			options: ['今日', '7天内', '30天内']
			
    	}
  	},
	created(){
		this.userType = this.user
		if(store.getters.user && store.getters.user.accessToken) {
			this.loginType = 1
		}else{
			this.loginType = 0
		}
		
	},
  	mounted() {
  	},
  	methods: {
      $refreshData(params) { // params: 下一级页面返回的params参数
        this.getPatientById()
    	},
      getPatientById(){
        this.$loading()
        let that = this
          residentApi.getPatientById({
          id: this.$store.getters.user.id,
          isCapacity: 1
        }).then(res=>{
          this.$toast.clear()
          that.signRecord = res.obj.signRecordDO
          that.capAssRecord = res.obj.capAssRecordDO
        }).catch(err=>{
			this.$toast.clear()
        })
      },
      //查询家庭成员有无 新生儿 老人
      getFamilyAllArchiveType(){
        getFamilyAllArchiveType({
          patient:this.user.id
        }).then(res=>{
        //   console.log(res);
          if(res.status == 200){
          }
        }).catch(err=>{
          this.$toast.clear()
        })
      }
		search(){
			
		}
    },
    
}
</script>
<style lang="scss">
.patient-index-wrap {
	
<style lang="scss" scoped>
.index-wrap {
	background: url('../../assets/images/index_banner.png') no-repeat;
	background-size: 100%;
	.panel{
		width: 345px;
		background-color: #ffffff;
		box-shadow: 0px 2px 10px 0px 
			rgba(0, 0, 0, 0.15);
		border-radius: 5px;
		margin: 0 auto;
		.drop-sel{
            background-color: rgba($color: #000000, $alpha: 0.05);
            border-radius: 12px;
            position: relative;
            .sel-body{
                width: 60px;
                left: 0;
                position: absolute;
                box-shadow: 2px 3px 8px 0px 
                    rgba(0, 0, 0, 0.15);
                border-radius: 11px;
                background-color: rgba($color: #ffff, $alpha: 0.8);
                text-align: center;
                padding: 10px 0;
                top: 30px;
                z-index: 1;
            }
        }
		&.sbzl{
			.van-col {
				position: relative;
				&::after{
					content: "";
					width: 1px;
					height: 41px;
					background-color: #e7e7e7;
					right: 0;
					position: absolute;
					top: 2px;
				}
				&:last-child{
					&::after{
						display: none;
					}
				}
			}
		}
		&.cygn{
			.van-col{
				padding: 10px 0;
				img{
					display: block;
					width: 40px;
					height: 40px;
					margin: 0 auto;
				}
			}
			
		}
	}
}
</style>

+ 3 - 7
mini-pro-web/src/views/login/Login.vue

@ -18,7 +18,6 @@
                        <van-svg-icon slot="left-icon" icon-class="svg-mima" style="margin-top:2px;"/>
                        <van-svg-icon slot="right-icon" :icon-class="passwordView.icon"/>
                    </van-field>
                    <div class="sign">老人账号默认密码为身份证后六位</div>
                </template>
                <template  v-else>
                    <van-field v-model="data.msgCode" class="codeInp right-line" clearable @click-icon="msgCode=''" maxlength="10"  placeholder="短信验证码">
@ -39,14 +38,14 @@
                </div>
            </van-cell-group>
            <div class="mt15 c-f14 c-17B3EC clearfix">
                <div class="textLeft">
                <!-- <div class="textLeft">
                    <span v-if="passwordLogin" @click="passwordLogin=false" style="float:left;">验证码登录</span>
                    <span v-else @click="passwordLogin=true" style="float:left;">密码登录</span>
                </div>
                <div class="textCentre">
                    <div v-if="accountLogin" @click="accountLogin=false,data.mobile='',passwordLogin=true">身份证号登录</div>
                    <div v-else @click="accountLogin=true,data.idcord='',passwordLogin=true">账号登录</div>
                </div>
                </div> -->
                <div class="textRight"  @click="goPage('/fotgetPassword')">忘记密码</div>
            </div>
            <!-- <div class="tips">
@ -58,9 +57,6 @@
                </van-button>
                <van-button v-else block round type="primary" class=""><van-loading class="login-loading" color="#ffffff"/>
                </van-button>
                <van-button  @click="toRegister" block round class="mt20 register-btn">
                    注  册
                </van-button>
            </div>
        </div>
    </div>
@ -625,7 +621,7 @@ export default {
}
.textRight{
    width: 33.33%;
    width: 100%;
    margin-right: 0px;
    text-align: right;

+ 117 - 0
mini-pro-web/src/views/replenishment/index.vue

@ -0,0 +1,117 @@
<template>
	<div class="replenishment-index pt10">
    	<div class="panel plr15 c-fff fs-14">
			<div class=" pt15 ">
				<div class="fs-16 f-bold">我维护的设备</div>
			</div>
			<div class="kitbox  pt10">
				<div class="box-flex-1">
					<span class="fs-23">1</span>
					<span>台</span>
				</div>
				<div class="">
					<span class="v-middle">查看设备商品</span>
					<van-icon class="v-middle"  name="arrow" />
				</div>
			</div>
			<div class="pt10 pb10">
				<span>在线:1台</span> 
				<span class="ml10">离线:0台</span>
			</div>
		</div>
		<div class="mt10"></div>
		<div class="panel plr15 c-fff fs-14">
			<div class=" pt15 ">
				<div class="fs-16 f-bold">缺货设备  |  实时</div>
			</div>
			<div class="  pt10">
				<span class="fs-23">1</span>
				<span>台</span>
			</div>
			<div class="pt10 ">
				以上统计的缺货设备为实时数据
			</div>
			<div class="kitbox ptb10">
				<div class="box-flex-1 mr10">
					<van-button plain block round size="small" type="info">去备货</van-button>
				</div>
				<div class="box-flex-1 ml10">
					<van-button plain block round size="small" type="info">去补货</van-button>
				</div>
			</div>
		</div>
		<div class="mt10">
			<div class="panel cygn">
				<div class="kitbox pt15 plr15">
					<div class="box-flex-1 c-333 fs-16 f-bold">常用功能</div>
				</div>
				<div class="ptb10 plr5">
					<van-row class="">
						<van-col span="6" class="tc ">
							<div class="fs-23 c-17b3ec"><img src="@/assets/images/dingdanguanli.png" alt=""></div>
							<div class="fs-14 c-666 pt5">备货单</div>
						</van-col>
						<van-col span="6" class="tc">
							<div class="fs-23 c-ff9526"><img src="@/assets/images/shebeiguanli.png" alt=""></div>
							<div class="fs-14 c-666 pt5">补货记录</div>
						</van-col>
					</van-row>
				</div>
			</div>
		</div>
	</div>
</template>
<script>
export default {
	name: "index",
	components: {
		
  	},
  	data() {
    	return {
			searchTypeShow: false,
            searchType: "今日",
			options: ['今日', '7天内', '30天内']
			
    	}
  	},
	created(){
		
	},
  	mounted() {
  	},
  	methods: {
		search(){
			
		}
    },
}
</script>
<style lang="scss" scoped>
.replenishment-index {
	.panel{
		width: 345px;
		background-color: #17b3ec;
		box-shadow: 0px 2px 10px 0px 
			rgba(0, 0, 0, 0.15);
		border-radius: 5px;
		margin: 0 auto;
		&.cygn{
			background: #fff;
			.van-col{
				padding: 10px 0;
				img{
					display: block;
					width: 40px;
					height: 40px;
					margin: 0 auto;
				}
			}
			
		}
	}
}
</style>

+ 46 - 0
mini-pro-web/src/views/replenishment/picking/detail.vue

@ -0,0 +1,46 @@
<template>
    <div class='replenishment-picking-detail fs-14'>
        <div class="list bgc-fff">
            <div class="row kitbox">
                <div class="box-flex-1 pl10">商品名称</div>
                <div class="tc">领料数量</div>
            </div>
            <div class="row kitbox">
                <div class="box-flex-1 pl10 ellipsis">J氯化钠注射液J氯化钠注射液J氯化钠注射液J氯化钠注射液(90mg)</div>
                <div class="tc">5</div>
            </div>
        </div>
    </div>
</template>
<script>
export default{
    name: 'replenishmentPickingDetail',
    data(){
        return {
            
        }
    },
    created() {
        
    },
    methods:{
        
    },
}
</script>
<style lang='scss' scoped>
.replenishment-picking-detail{
    .list{
        .row{
            padding: 10px 0;
            border-bottom: 1px solid #e1e1e1;
            >div:nth-child(2){
                width: 80px;
            }
            &:last-child{
                border-bottom: 0;
            }
        }
    }
}
</style>

+ 165 - 0
mini-pro-web/src/views/replenishment/picking/list.vue

@ -0,0 +1,165 @@
<template>
    <div class='replenishment-picking-list'>
        <van-sticky>
            <van-tabs v-model="active" >
                <van-tab title="全部"></van-tab>
                <van-tab title="备货中"></van-tab>
                <van-tab title="">
                    <div slot="title">
                        <van-badge :content="5">
                        待领料
                        </van-badge>
                    </div>
                </van-tab>
                <van-tab title="已领料"></van-tab>
                <van-tab title="已驳回"></van-tab>
            </van-tabs>
        </van-sticky>
        <CustomList 
			ref="customList"
            :searchfun="false"
			@onLoad="onLoad">
			<div class="list plr15 pt10">
                <div v-for="(item, i) in list" :key="i" class="item bgc-fff plr15 c-333 fs-14">
                    <div class=" ptb10 kitbox bb-e1e1e1">
                        <div class="box-flex-1 fs-14">备货单号:Q1090811559890001</div>
                        <div class="">
                            <span class="c-ff9526">备货中</span>
                            <!-- <span class="c-17b3ec">待领料</span>
                            <span class="c-999">已领料</span>
                            <span class="c-ff5e6c">已驳回</span> -->
                        </div>
                    </div>
                    <div class="lh20 ptb10 kitbox">
                        <div class="box-flex-1">
                            <div class="row">
                                <div>补货员</div>
                                <div>张三</div>
                            </div>
                            <div class="row">
                                <div>待补设备</div>
                                <div>总健信联1号</div>
                            </div>
                            <div class="row">
                                <div>待补品类</div>
                                <div>10</div>
                            </div>
                            <div class="row">
                                <div>待补库存</div>
                                <div>60</div>
                            </div>
                            <div class="row">
                                <div>单据日期</div>
                                <div>2021-09-10 15:00:41</div>
                            </div>
                        </div>
                        <div class="fs-20 c-pr">
                            <van-icon name="arrow" />
                        </div>
                    </div>
                </div>
            </div>
		</CustomList>
    </div>
</template>
<script>
    export default{
        name: 'replenishmentDeviceList',
        data(){
            return {
                list: [],
            }
        },
        created() {
            
        },
        methods:{
            onLoad({page, pageSize, searchText}){
                setTimeout(()=>{
                    for(var i=0; i<pageSize; i++){
                        this.list.push((page-1)*pageSize + i)
                    }
                    this.$refs.customList.endLoad(page==5, this.list.length)
                }, 1000)
                return
                var that = this, 
                    params = {
                        orgCode: this.$store.getters.orgCode,
                        doctorNameKey: searchText,
                        dept: this.routerParam.dept,
                        diseaseKey: this.routerParam.disease,
                        page: page,
                        pagesize: pageSize
                    };
                
                zhuanjiazixunApi
                    .findDoctorByHospitalAndDiseaseAndDept(params)
                    .then(res=>{
                        if(res.status == 200){
                            var list = res.detailModelList.map(item=>{
                                var data = item
                                data.photo = this.$root.setDocPhoto(data.photo)
                                return data
                            })
                            this.list = page==1? list : this.list.concat(list)
                            this.$refs.customList.endLoad(!res.detailModelList || res.detailModelList.length==0, this.list.length)
                        } else {
                            this.$refs.customList[this.active].endLoad(false, true)
                        }
                    }).catch(err=>{
                        console.error(err)
                        this.$refs.customList[this.active].endLoad(false, true)
                    })
            },
        },
    }
</script>
<style lang='scss' scoped>
.replenishment-picking-list{
    ::v-deep .van-tab{
        &:nth-child(3){
            .van-tab__text{
                overflow: visible;
            }
        }
    }
    .list{
        .item{
            margin-bottom: 10px;
            border-radius: 5px;
            &:last-child{
                margin-bottom: 0;
            }
            .van-icon{
                position: absolute;
                top: 50%;
                transform: translateY(calc(-50% - 15px));
                right: 0;
                color: #ccc;
            }
            .row{
                display: -webkit-box;
                div{
                    &:first-child{
                        width: 60px;
                        position: relative;
                        text-align: justify;
                        text-align-last: justify;
                        margin-right: 12px;
                        &::after{
                            content: ":";
                            display: inline-block;
                            position: absolute;
                            right: -14px;
                            top: 0;
                        }
                    }
                }
            }
        }
    }  
}
</style>

+ 107 - 0
mini-pro-web/src/views/replenishment/record/detail.vue

@ -0,0 +1,107 @@
<template>
    <div class='replenishment-record-detail'>
        <div class="bgc-fff plr15">
            <div class="bb-e1e1e1 ptb10">众健信联1号</div>
            <div class="lh26 fs-14 ptb10">
                <template>
                    <div>补货时间:2020-08-24 17:15:19</div>
                    <div>设备编号:149122021070000</div>
                    <div>商品数量:2</div>
                    <div>补货人员:张三</div>
                </template>
                <!-- <template>
                    <div>换货时间:2020-08-24 17:15:19</div>
                    <div>设备编号:149122021070000</div>
                    <div>换货人员:张三</div>
                </template>
                <template>
                    <div>上货时间:2020-08-24 17:15:19</div>
                    <div>设备编号:149122021070000</div>
                    <div>上货人员:张三</div>
                </template> -->
            </div>
        </div>
        <div class="mt10 table fs-14 break">
            <div class="kitbox row tc fs-14">
                <div class=" ">图片</div>
                <div class="box-flex-1">商品名/条码</div>
                <div class=" ">数量</div>
            </div>
            <div class="kitbox row tc ptb10">
                <div class=" ">
                    <div>
                        <van-image
                            width="30"
                            height="30"
                            src="https://img01.yzcdn.cn/vant/cat.jpeg"
                        />
                    </div>
                    <div><van-icon name="arrow-down" /></div>
                    <div>
                        <van-image
                            width="30"
                            height="30"
                            src="https://img01.yzcdn.cn/vant/cat.jpeg"
                        />
                    </div>
                </div>
                <div class="box-flex-1 ">
                    <div class="lh30 ellipsis">商品名/条码商品名/条码商品名/条码</div>
                    <div><van-icon name="arrow-down" /></div>
                    <div class="lh30 ellipsis">商品名/条码商品名/条码商品名/条码</div>
                </div>
                <div class=" ">
                    <div class="lh30">2</div>
                    <div><van-icon name="arrow-down" /></div>
                    <div class="lh30">5</div>
                </div>
            </div>
        </div>
        
    </div>
</template>
<script>
export default{
    name: 'replenishmentRecordDetail',
    data(){
        return {
            
        }
    },
    created() {
        
    },
    methods:{
        
    },
}
</script>
<style lang='scss' scoped>
.replenishment-record-detail{
    .table{
        background: #fff;
        width: 100%;
        .row{
            padding: 10px 0;
            border-bottom: 1px solid #e1e1e1;
            &:last-child{
                border-bottom: 0  ;
            }
            >div:first-child{
                width: 60px;
            }
            >div:last-child{
                width: 60px;
            }
            .van-image{
                display: block;
                margin: 0 auto;
            }
            .van-icon{
                color: #17b3ec;
            }
        }
    }
}
</style>

+ 20 - 5
mini-pro-web/src/views/replenishment/recordList.vue

@ -12,10 +12,22 @@
            <van-collapse v-model="activeName" accordion>
                <van-collapse-item v-for="(item, i) in list" :key="i" :title="item.title" :name="item.id">
                    <div class="item" v-for="(citem, k) in item.children" :key="k">
                        <div>补货时间:2020-08-24 17:15:19</div>
                        <div>设备编号:149122021070000</div>
                        <div>商品数量:2</div>
                        <div>补货人员:张三</div>
                        <template>
                            <div>补货时间:2020-08-24 17:15:19</div>
                            <div>设备编号:149122021070000</div>
                            <div>商品数量:2</div>
                            <div>补货人员:张三</div>
                        </template>
                        <!-- <template>
                            <div>换货时间:2020-08-24 17:15:19</div>
                            <div>设备编号:149122021070000</div>
                            <div>换货人员:张三</div>
                        </template>
                        <template>
                            <div>上货时间:2020-08-24 17:15:19</div>
                            <div>设备编号:149122021070000</div>
                            <div>上货人员:张三</div>
                        </template> -->
                    </div>
                </van-collapse-item>
            </van-collapse>
@ -89,7 +101,10 @@ export default{
        ::v-deep .van-collapse-item__content{
            padding: 0 15px;
        }
        .van-cell::after
        ::v-deep .van-cell::after{
            border-bottom: 1px solid #e1e1e1;
            transform: scaleY(1);
        }
        .item{
            padding: 10px 0;
            border-bottom: 1px solid #e1e1e1;

+ 79 - 0
mini-pro-web/src/views/replenishment/start/components/SetStockDialog.vue

@ -0,0 +1,79 @@
<template>
    <div class='replenishment-start-set-stock-dialog  '>
        <van-popup v-model="value" close-on-popstate :close-on-click-overlay="false">
            <div class="plr15 ptb10 c-pr" style="width: 80vw">
                <div class="close fs-20"><van-icon @click="emitValue(false)" name="close" /></div>
                <div class="tc fs-14 c-333">
                    <span>{{title}}</span>
                </div>
                <template v-if="bussiness==1">
                    <div class="tc pt30 pb20"><van-stepper v-model="stock" min="1" /></div>
                </template>
                <div class="tc" v-else>
                    <div class="pt10">
                        <van-image
                            radius="5px"
                            src="https://img01.yzcdn.cn/vant/cat.jpeg"
                        />
                    </div>
                    <div class="pt10 c-333 fs-16">J氯化钠注射液(90mg)</div>
                    <div class="pt10 c-999">软件显示库存:5</div>
                    <div class="pt10 pb20 ipt plr50">
                        <van-field v-model="stock" label="" type="digit" placeholder=" 请填写实际库存" />
                    </div>
                </div>
                <div class="ptb10">
                    <van-button type="info" size="small" block>确认</van-button>
                </div>
            </div>
        </van-popup>
    </div>
</template>
<script>
export default{
    props:{
        title:{
            default: '设置库存'
        },
        value: {},
        bussiness: {
            default: 1
        }
    },
    data(){
        return {
            stock: 1
        }
    },
    created() {
        
    },
    methods:{
        emitValue(show){
            this.$emit('input', show)
        },
    },
}
</script>
<style lang='scss' scoped>
.replenishment-start-set-stock-dialog{
    .close{
        position: absolute;
        right: 10px;
        top: 10px;
    }
    ::v-deep .van-field{
        padding: 0;
        .van-cell__value{
            border: 1px solid #e1e1e1;
            input{
                text-align: center;
            }
        }
    }
    .van-image{
        width: 200px;
        height: 150px;
    }
}
</style>

+ 96 - 0
mini-pro-web/src/views/replenishment/start/deviceDetail.vue

@ -0,0 +1,96 @@
<template>
    <div class='replenishment-start-device-detail fs-14'>
        <div class="bgc-17b3ec c-fff">
            <van-row>
                <van-col span="6">
                    <div class="tc pt15 pb10">
                        <div class="fs-20">1156</div>
                        <div class="fs-12 pt5">库存容量</div>
                    </div>
                </van-col>
                <van-col span="6">
                    <div class="tc pt15 pb10">
                        <div class="fs-20">
                            <span>156</span>
                            <span class="fs-12">/29%</span>
                        </div>
                        <div class="fs-12 pt5">在架库存</div>
                    </div>
                </van-col>
                <van-col span="6">
                    <div class="tc pt15 pb10">
                        <div class="fs-20">1156</div>
                        <div class="fs-12 pt5">缺货库存</div>
                    </div>
                </van-col>
                <van-col span="6">
                    <div class="tc pt15 pb10">
                        <div class="fs-20">1156</div>
                        <div class="fs-12 pt5">预警货道</div>
                    </div>
                </van-col>
            </van-row>
            <div class="kitbox fs-12 plr10 pb5">
                <div class="box-flex-1">当前:0号柜</div>
                <div class="box-flex-1 ml5"> 共:6层</div>
                <div class="box-flex-1 ml5">总货道数:240</div>
                <div class="box-flex-1 ml5">故障货道:18</div>
                <div class="box-flex-1 ml5">关闭货道:0</div>
            </div>
        </div>
        <div class="fs-14 pl15 ptb10 bgc-fff">从上往下数</div>
        <div class="kitbox">
            <div>
                <van-sidebar v-model="activeKey">
                    <van-sidebar-item title="一层"  />
                    <van-sidebar-item title="二层"  />
                    <van-sidebar-item title="三层"  />
                </van-sidebar>
            </div>
            <div class="list box-flex-1 bgc-fff">
                <div class="item" v-for="i in 5" :key="i">
                    <ProductItem/>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
import ProductItem from '@/components/ProductItem'
export default{
    name: 'replenishmentStartDeviceDetail',
    components: {
        ProductItem
    },
    data(){
        return {
            activeKey: 0
        }
    },
    created() {
        
    },
    methods:{
        
    },
}
</script>
<style lang='scss' scoped>
.replenishment-start-device-detail{
    .van-sidebar{
        // width: 56px;
    }
    .list{
        display: flex;
        flex-wrap: wrap;
        // min-height: calc(100vh - 130px);
        .item{
            margin-left: 5px;
            margin-bottom: 5px;
            .components-product-item{
                width: 90px;
            }
        }
    }
}
</style>

+ 120 - 0
mini-pro-web/src/views/replenishment/start/deviceList.vue

@ -0,0 +1,120 @@
<template>
    <div class='replenishment-start-device-list'>
        <van-sticky>
            <van-tabs v-model="active">
                <van-tab title="缺货设备"></van-tab>
                <van-tab title="全部设备"></van-tab>
            </van-tabs>
        </van-sticky>
        <CustomList 
			ref="customList"
			@onLoad="onLoad">
			<div class="list plr15 pt10">
                <div v-for="(item, i) in list" :key="i" class="item bgc-fff plr15 c-333 fs-14">
                    <div class=" ptb10 kitbox">
                        <div class="box-flex-1 fs-14">
                            众健信联1号
                        </div>
                        <div class="">
                            <van-tag type="success">在线</van-tag>
                            <van-tag type="success" class="ml5">在售</van-tag>
                        </div>
                    </div>
                    <div class="lh20 ptb10 kitbox">
                        <div class="box-flex-1">
                            <div>设备编号:149122021070000</div>
                            <div>上次补货时间:2021-09-11 09:00:14</div>
                        </div>
                    </div>
                    <div class="operate kitbox pt10 pb10">
                        <div class=" pr10"><van-button type="info" size="small" block  plain>标记已补货</van-button></div>
                        <div class="pl10"><van-button @click="gotoUrl('./deviceDetail')" type="info" size="small" block>开始补货</van-button></div>
                    </div>
                </div>
            </div>
		</CustomList>
    </div>
</template>
<script>
export default{
    name: 'replenishmentStartDeviceList',
    data(){
        return {
            list: [],
            result: [],
            selAll: false,
            active: 0
        }
    },
    created() {
        
    },
    methods:{
        onLoad({page, pageSize, searchText}){
            setTimeout(()=>{
                for(var i=0; i<pageSize; i++){
                    this.list.push((page-1)*pageSize + i)
                }
                this.$refs.customList.endLoad(page==5, this.list.length)
            }, 1000)
            return
            var that = this, 
                params = {
                    orgCode: this.$store.getters.orgCode,
                    doctorNameKey: searchText,
                    dept: this.routerParam.dept,
                    diseaseKey: this.routerParam.disease,
                    page: page,
                    pagesize: pageSize
                };
            
            zhuanjiazixunApi
                .findDoctorByHospitalAndDiseaseAndDept(params)
                .then(res=>{
                    if(res.status == 200){
                        var list = res.detailModelList.map(item=>{
                            var data = item
                            data.photo = this.$root.setDocPhoto(data.photo)
                            return data
                        })
                        this.list = page==1? list : this.list.concat(list)
                        this.$refs.customList.endLoad(!res.detailModelList || res.detailModelList.length==0, this.list.length)
                    } else {
                        this.$refs.customList[this.active].endLoad(false, true)
                    }
                }).catch(err=>{
                    console.error(err)
                    this.$refs.customList[this.active].endLoad(false, true)
                })
        },
    },
}
</script>
<style lang='scss' scoped>
.replenishment-start-device-list{
    ::v-deep .custom-list .search{
        top: 50px;
    }
    .list{
        .item{
            margin-bottom: 10px;
            border-radius: 5px;
            &:last-child{
                margin-bottom: 0;
            }
            .van-icon{
                position: absolute;
                top: 50%;
                transform: translateY(calc(-50% - 15px));
                right: 0;
                color: #ccc;
            }
        }
    }   
    .operate{
        >div{
            width: 50%;
        }
    }
}
</style>

+ 105 - 0
mini-pro-web/src/views/replenishment/start/productDetail.vue

@ -0,0 +1,105 @@
<template>
    <div class='replenishment-start-product-detail fs-14'>
        <div class="tc pt50">
            <van-image
                radius="5px"
                src="https://img01.yzcdn.cn/vant/cat.jpeg"
            />
        </div>
        <div class="c-17b3ec tc pt20">更换商品</div>
        <div class=" tc pt20">
            <span class="mr10">现有数量:5 </span>
            <span class="ml10">货道容量:5 </span>
        </div>
        <div class="pt20">
            <div class="progress">
                <div class="bar"></div>
                <div class="text">21/500</div>
            </div>
        </div>
        <div class="bot-banner  ptb10">
            <div><van-button type="info" round block size="small">矫正库存</van-button></div>
            <div class="kitbox pt10">
                <div class="box-flex-1 pr10"><van-button type="info" round block plain size="small">修改容量</van-button></div>
                <div class="box-flex-1 pl10"><van-button type="info" round block plain class="red" size="small">下架商品</van-button></div>
            </div>
        </div>
        <!-- 修改容量 -->
        <SetStockDialog v-model="setStockShow" title="矫正库存" :bussiness="2"/>
    </div>
</template>
<script>
import SetStockDialog from './components/SetStockDialog'
export default{
    name: 'replenishmentStartProductDetail',
    components:{
        SetStockDialog
    },
    data(){
        return {
            setStockShow: true
        }
    },
    created() {
        
    },
    methods:{
        
    },
}
</script>
<style lang='scss' scoped>
.replenishment-start-product-detail{
    .van-image{
        width: 100px;
        height: 100px;
    }
    .progress{
        width: 80vw;
        background: #bbb;
        height: 20px;
        border-radius: 20px;
        margin: 0 auto  ;
        position: relative;
        .bar{
            background: #17b3ec;
            height: 100%;
            display: inline-block;
            color: #fff;
            text-align: center;
            border-top-left-radius: 20px;
            border-bottom-left-radius: 20px;
            line-height: 20px;
            min-width: 40px;
        }
        .text{
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            background: transparent;
            text-align: center;
            color: #fff;
            line-height: 20px;
        }
        &.full{
            .bar{
                border-radius: 20px;
            }
        }
    }
    .bot-banner{
        position: fixed;
        bottom: 0;
        width: 80%;
        left: 10%;
        // background: #fff;
        .van-button--plain{
            &.red{
                color: #ff5e6c;
                border-color: #ff5e6c;
            }
        }
    }
}
</style>

+ 102 - 0
mini-pro-web/src/views/replenishment/start/selProduct.vue

@ -0,0 +1,102 @@
<template>
    <div class='replenishment-start-sel-product fs-14'>
        <form action="/">
            <van-search
                v-model="searchText"
                show-action
                placeholder="请输入商品名称搜索"
                @search="onSearch"
                @cancel="onCancel"
            />
        </form>
        <div v-if="!inSearch" class="kitbox bt-e1e1e1">
            <div>
                <van-sidebar v-model="activeKey">
                    <van-sidebar-item title="全部分类"  />
                    <van-sidebar-item title="默认分类"  />
                </van-sidebar>
            </div>
            <div class="list box-flex-1 bgc-fff pb10">
                <div class="item plr10 pt10" v-for="i in 5" :key="i">
                    <div class="kitbox">
                        <div class="photo">
                            <van-image radius="5px" src="https://img01.yzcdn.cn/vant/cat.jpeg"/>
                        </div>
                        <div class="box-flex-1 pl10 right" >
                            <div class="fs-14 c-333">J氯化钠注射液(90mg)</div>
                            <div class="fs-12 c-999">
                                <div>商品条码:12464</div>
                                <div>价格:¥27.00  <span class="ml5">规格:0.33g*27</span></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div v-else class="list box-flex-1 bgc-fff pb10">
            <div class="item plr10 pt10" v-for="i in 5" :key="i">
                <div class="kitbox">
                    <div class="photo">
                        <van-image radius="5px" src="https://img01.yzcdn.cn/vant/cat.jpeg"/>
                    </div>
                    <div class="box-flex-1 pl10 right" >
                        <div class="fs-14 c-333">J氯化钠注射液(90mg)</div>
                        <div class="fs-12 c-999">
                            <div>商品条码:12464</div>
                            <div>价格:¥27.00  <span class="ml5">规格:0.33g*27</span></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <SetStockDialog v-model="setStockShow" />
    </div>
</template>
<script>
import SetStockDialog from './components/SetStockDialog'
export default{
    name: 'replenishmentStartSelProduct',
    components:{
        SetStockDialog
    },
    data(){
        return {
            activeKey: 0,
            searchText: '',
            inSearch: false,
            setStockShow: false,
        }
    },
    created() {
        
    },
    methods:{
        onSearch(){
        },
        onCancel(){
        }
    },
}
</script>
<style lang='scss' scoped>
.replenishment-start-sel-product{
    .list{
        .item{
            .photo{
                .van-image{
                    width: 50px;
                    height: 50px;
                    display: block;
                }
            }
            .right{
                margin-top: -2px;
            }
        }
    }
}
</style>

+ 50 - 0
mini-pro-web/src/views/replenishment/stockUp/detail.vue

@ -0,0 +1,50 @@
<template>
    <div class='replenishment-stock-up-detail fs-14'>
        <div class="list bgc-fff">
            <div class="row kitbox">
                <div class="box-flex-1 pl10">商品名称</div>
                <div class="tc">现料数</div>
                <div class="tc">缺料数</div>
            </div>
            <div class="row kitbox">
                <div class="box-flex-1 pl10 ellipsis">J氯化钠注射液J氯化钠注射液J氯化钠注射液J氯化钠注射液(90mg)</div>
                <div class="tc">5</div>
                <div class="tc">5</div>
            </div>
        </div>
        <BotFloatButton :fix="true">下一步,生成备货单</BotFloatButton>
    </div>
</template>
<script>
export default{
    name: 'replenishmentStockUpDetail',
    data(){
        return {
            
        }
    },
    created() {
        
    },
    methods:{
        
    },
}
</script>
<style lang='scss' scoped>
.replenishment-stock-up-detail{
    .list{
        .row{
            padding: 10px 0;
            border-bottom: 1px solid #e1e1e1;
            >div:nth-child(2), >div:nth-child(3){
                width: 80px;
            }
            &:last-child{
                border-bottom: 0;
            }
        }
    }
}
</style>

+ 133 - 0
mini-pro-web/src/views/replenishment/stockUp/deviceList.vue

@ -0,0 +1,133 @@
<template>
    <div class='replenishment-stock-up-device-list'>
        <CustomList 
			ref="customList"
			@onLoad="onLoad">
			<div class="list plr15 pt10">
                <van-checkbox-group v-model="result">
                    <div v-for="(item, i) in list" :key="i" class="item bgc-fff plr15 c-333 fs-14">
                        <div class=" ptb10 kitbox">
                            <div class="box-flex-1 fs-14">
                                <van-checkbox name="a">众健信联1号</van-checkbox>
                            </div>
                            <div class="">
                                <van-tag type="success">在线</van-tag>
                                <van-tag type="success" class="ml5">在售</van-tag>
                            </div>
                        </div>
                        <div class="kitbox ptb10 pr40">
                            <div class="pt2">空置率:</div>
                            <div class="box-flex-1 pt10"><van-progress :percentage="50" /></div>
                        </div>
                        <div class="lh20 ptb10 kitbox">
                            <div class="box-flex-1">
                                <div>待补商品数量:1156</div>
                                <div>未设商品空货道:133</div>
                                <div>设备所属:禾山街道社区卫生服务中心</div>
                                <div>设备编号:149122021070000</div>
                                <div>上次补货时间:2021-09-11 09:00:14</div>
                            </div>
                            <div class="fs-20 c-pr">
                                <van-icon name="arrow" />
                            </div>
                        </div>
                    </div>
                </van-checkbox-group>
            </div>
		</CustomList>
        <div class="bot-banner ptb10 bgc-fff">
            <div class="kitbox fs-14">
                <div class="pr40 box-v-middle pl15">
                    <van-checkbox v-model="selAll">全选</van-checkbox>
                </div>
                <div class="box-flex-1 plr15">
                    <van-button type="info" size="small" round block>下一步,查看缺货商品汇总</van-button>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
export default{
    name: 'replenishmentStockUpDeviceList',
    data(){
        return {
            list: [],
            result: [],
            selAll: false
        }
    },
    created() {
        
    },
    methods:{
        onLoad({page, pageSize, searchText}){
            setTimeout(()=>{
                for(var i=0; i<pageSize; i++){
                    this.list.push((page-1)*pageSize + i)
                }
                this.$refs.customList.endLoad(page==5, this.list.length)
            }, 1000)
            return
            var that = this, 
                params = {
                    orgCode: this.$store.getters.orgCode,
                    doctorNameKey: searchText,
                    dept: this.routerParam.dept,
                    diseaseKey: this.routerParam.disease,
                    page: page,
                    pagesize: pageSize
                };
            
            zhuanjiazixunApi
                .findDoctorByHospitalAndDiseaseAndDept(params)
                .then(res=>{
                    if(res.status == 200){
                        var list = res.detailModelList.map(item=>{
                            var data = item
                            data.photo = this.$root.setDocPhoto(data.photo)
                            return data
                        })
                        this.list = page==1? list : this.list.concat(list)
                        this.$refs.customList.endLoad(!res.detailModelList || res.detailModelList.length==0, this.list.length)
                    } else {
                        this.$refs.customList[this.active].endLoad(false, true)
                    }
                }).catch(err=>{
                    console.error(err)
                    this.$refs.customList[this.active].endLoad(false, true)
                })
        },
    },
}
</script>
<style lang='scss' scoped>
.replenishment-stock-up-device-list{
    .list{
        .item{
            margin-bottom: 10px;
            border-radius: 5px;
            &:last-child{
                margin-bottom: 0;
            }
            .van-icon{
                position: absolute;
                top: 50%;
                transform: translateY(calc(-50% - 15px));
                right: 0;
                color: #ccc;
            }
        }
    }   
    .bot-banner{
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        box-shadow: 0 0 5px #ccc;
    }
    ::v-deep .van-list__placeholder{
        height: 60px;
    }
}
</style>