5.13
|
@ -1,13 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<!-- 遮罩层,display 由 v-show 控制,opacity 由 overlay-show 类控制 -->
|
<!-- 遮罩层,display 由 v-show 控制,opacity 由 overlay-show 类控制 -->
|
||||||
<view v-show="isVisible" :class="['overlay', { 'overlay-show': isVisible }]" @click="closeDrawer" />
|
<view v-show="isVisible" :class="['overlay', { 'overlay-show': isVisible }]" @click="whiteDrawer" />
|
||||||
|
|
||||||
<!-- 抽屉 -->
|
<!-- 抽屉 -->
|
||||||
<view :class="['drawer', { 'drawer-open': isVisible }]" :style="drawerStyle">
|
<view :class="['drawer', { 'drawer-open': isVisible }]" :style="drawerStyle">
|
||||||
<view class="drawer-content">
|
<view class="drawer-content">
|
||||||
<!-- 抽屉中间的半圆 -->
|
<!-- 抽屉中间的半圆 -->
|
||||||
<view v-show="isVisible" class="drawer-content-circle" @click="closeDrawer">
|
<view v-show="isVisible && canclose" class="drawer-content-circle" @click="whiteDrawer">
|
||||||
<image class="drawer-img" src="/static/index/zuoyuan.png" />
|
<image class="drawer-img" src="/static/index/zuoyuan.png" />
|
||||||
</view>
|
</view>
|
||||||
<!-- 抽屉内容 -->
|
<!-- 抽屉内容 -->
|
||||||
|
@ -32,6 +32,10 @@
|
||||||
widNumber: {
|
widNumber: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 85
|
default: 85
|
||||||
|
},
|
||||||
|
canclose: {
|
||||||
|
type:Boolean,
|
||||||
|
default:true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -44,7 +48,12 @@
|
||||||
function openDrawer() {
|
function openDrawer() {
|
||||||
isVisible.value = true
|
isVisible.value = true
|
||||||
}
|
}
|
||||||
|
// 点击空白关闭方法
|
||||||
|
function whiteDrawer() {
|
||||||
|
if(props.canclose){
|
||||||
|
isVisible.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
// 对外暴露关闭方法
|
// 对外暴露关闭方法
|
||||||
function closeDrawer() {
|
function closeDrawer() {
|
||||||
isVisible.value = false
|
isVisible.value = false
|
||||||
|
|
|
@ -123,6 +123,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: url("/static/index/pink.png") center/cover;
|
background: url("/static/index/pink.png") center/cover;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.draw-title {
|
.draw-title {
|
||||||
|
|
|
@ -144,18 +144,30 @@
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="swiper-left-buttons-big">
|
<view class="swiper-left-buttons-big">
|
||||||
<view class="swiper-left-button-blue">
|
<view class="swiper-left-button-blue" @click="buttonclick(`qinggou`)" >
|
||||||
请购
|
请购
|
||||||
</view>
|
</view>
|
||||||
<view class="swiper-left-button">
|
<view class="swiper-left-button" @click="buttonclick(`churuku`)" >
|
||||||
出入库
|
出入库
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup lang="ts">
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
onMounted,
|
||||||
|
onBeforeUnmount,
|
||||||
|
computed,
|
||||||
|
nextTick,
|
||||||
|
defineProps,
|
||||||
|
watch
|
||||||
|
} from 'vue';
|
||||||
|
const emit = defineEmits(["qinggou","churuku"])
|
||||||
|
const buttonclick = (res:any) =>{
|
||||||
|
emit(res)
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -0,0 +1,310 @@
|
||||||
|
<!-- 入库单 -->
|
||||||
|
<template>
|
||||||
|
<view class="draw-all">
|
||||||
|
<view class="draw-contain">
|
||||||
|
<view style="margin-left: 80rpx;">
|
||||||
|
<view class="draw-title">
|
||||||
|
<view class="draw-flex">
|
||||||
|
<view class="draw-title-gun"></view>
|
||||||
|
<view class="draw-title-font">采购数量</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="calculator-father">
|
||||||
|
<view v-for="(item,index) in calculatorArray" :key="index">
|
||||||
|
<view :class="blueNumber == index ? `calculator-kuai-target` : `calculator-kuai`"
|
||||||
|
@click="clickKuai(item,index)">
|
||||||
|
{{item}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="qinggou-font">
|
||||||
|
采购数量
|
||||||
|
</view>
|
||||||
|
<view class="stringShow-father">
|
||||||
|
<view v-for="(item,index) in stringShow" :key="index">
|
||||||
|
<view class="stringShow-kuai">
|
||||||
|
{{item}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <view class="plsbuy-bottom">
|
||||||
|
<view class="plsbuy-bottom-blue" @click="closeIt">
|
||||||
|
确认
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
<view class="button-card">
|
||||||
|
<view class="swiper-button-white" @click="close()">
|
||||||
|
关闭
|
||||||
|
</view>
|
||||||
|
<view class="swiper-button-blue" @click="closeIt()">
|
||||||
|
确定
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
onMounted,
|
||||||
|
onBeforeUnmount,
|
||||||
|
computed,
|
||||||
|
nextTick,
|
||||||
|
watch
|
||||||
|
} from 'vue';
|
||||||
|
const emit = defineEmits(['right',"close"])
|
||||||
|
const blueNumber = ref(-1);
|
||||||
|
const props = defineProps({
|
||||||
|
doOnce: {
|
||||||
|
type: Number,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
translateNumber: {
|
||||||
|
type: Number,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.doOnce,
|
||||||
|
() => {
|
||||||
|
relNumber.value = props.translateNumber
|
||||||
|
stringShow.value = toFixed4ByPadStart(relNumber.value)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
const calculatorArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, "AC", 0, "CE"];
|
||||||
|
const stringShow = ref("0000");
|
||||||
|
const relNumber = ref(0);
|
||||||
|
// const isZero = ref(false);
|
||||||
|
const clickKuai = (item : any, index : number) => {
|
||||||
|
blueNumber.value = index;
|
||||||
|
setTimeout(() => {
|
||||||
|
blueNumber.value = -1
|
||||||
|
}, 300)
|
||||||
|
if (item == "AC") {
|
||||||
|
relNumber.value = 0;
|
||||||
|
stringShow.value = "0000"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (item == "CE") {
|
||||||
|
relNumber.value = Math.trunc(relNumber.value / 10)
|
||||||
|
stringShow.value = toFixed4ByPadStart(relNumber.value)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (digitCountByString(relNumber.value) > 3) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (!relNumber.value) {
|
||||||
|
relNumber.value = item
|
||||||
|
} else {
|
||||||
|
relNumber.value = relNumber.value * 10 + item;
|
||||||
|
}
|
||||||
|
|
||||||
|
stringShow.value = toFixed4ByPadStart(relNumber.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
const closeIt = () => {
|
||||||
|
emit('right', relNumber.value)
|
||||||
|
}
|
||||||
|
const close = () =>{
|
||||||
|
emit('close')
|
||||||
|
}
|
||||||
|
// 这个方法是查看数字有多少位
|
||||||
|
function digitCountByString(n) {
|
||||||
|
// 先处理负数
|
||||||
|
const s = Math.abs(n).toString();
|
||||||
|
// 若不想统计小数点,可去掉小数点后再取长度:
|
||||||
|
// return s.replace('.', '').length;
|
||||||
|
return s.length;
|
||||||
|
}
|
||||||
|
// 这个方法是将Number转为String
|
||||||
|
function toFixed4ByPadStart(n) {
|
||||||
|
// 1. 取绝对值并向下取整,防止小数和负号影响
|
||||||
|
const intPart = Math.floor(Math.abs(n));
|
||||||
|
// 2. 转字符串并 padStart 到长度 4,不足时前面补 '0'
|
||||||
|
return String(intPart).padStart(4, '0');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.draw-all {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: #fff;
|
||||||
|
// border-top-left-radius: 80rpx;
|
||||||
|
// border-bottom-left-radius: 80rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.draw-flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-contain {
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100vh);
|
||||||
|
background-image: url("/static/index/fanpink.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-attachment: fixed;
|
||||||
|
background-size: cover;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-card {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
.swiper-button-white {
|
||||||
|
background: linear-gradient(to bottom, #D5E0F8, #ECF6FF);
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
// margin: 0 10rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.swiper-button-blue {
|
||||||
|
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
color: #fff;
|
||||||
|
margin-right: 40rpx;
|
||||||
|
}
|
||||||
|
.draw-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 60rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
.draw-flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.draw-title-gun {
|
||||||
|
margin-left: 20rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 13rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
background: linear-gradient(to bottom, #04BCED, #0160CE);
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-title-font {
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// .plsbuy-bottom {
|
||||||
|
// width: 100%;
|
||||||
|
// margin-top: 20rpx;
|
||||||
|
// height: 70rpx;
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: center;
|
||||||
|
// font-size: 35rpx;
|
||||||
|
|
||||||
|
// .plsbuy-bottom-blue {
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
// width: 230rpx;
|
||||||
|
// height: 80rpx;
|
||||||
|
// border-radius: 20rpx;
|
||||||
|
// background: linear-gradient(to right bottom, #00c9ff, #0076ff);
|
||||||
|
// color: #fff;
|
||||||
|
// border: 1rpx #fff solid;
|
||||||
|
// // margin-right: 20rpx;
|
||||||
|
// box-shadow: 2rpx 2rpx 4rpx 0rpx rgba(0, 0, 0, 0.3);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
.calculator-father {
|
||||||
|
width: 420rpx;
|
||||||
|
height: 500rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.calculator-kuai {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #DCDCEE;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
font-size: 45rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
margin: 15rpx 20rpx 0 20rpx;
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calculator-kuai-target {
|
||||||
|
background: linear-gradient(to bottom, #00C9FF, #0076FF);
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #DCDCEE;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
font-size: 45rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
margin: 15rpx 20rpx 0 20rpx;
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.stringShow-father {
|
||||||
|
width: 420rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
margin-left: 23rpx;
|
||||||
|
// flex-wrap: wrap;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.stringShow-kuai {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
// background-color: #DCDCEE;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
// border-radius: 15rpx;
|
||||||
|
font-size: 45rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
margin: 0 15rpx;
|
||||||
|
width: 70rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
border: 3rpx solid #303C57;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.qinggou-font {
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,683 @@
|
||||||
|
<!-- 拣货单 -->
|
||||||
|
<template>
|
||||||
|
<view class="draw-all">
|
||||||
|
<view class="draw-contain">
|
||||||
|
<!-- 解决margin重叠问题 -->
|
||||||
|
<view class="title-title">
|
||||||
|
留置针敷贴(医用透明敷料)
|
||||||
|
</view>
|
||||||
|
<view class="draw-title" style="margin-top: 35rpx;margin-bottom: 10rpx;">
|
||||||
|
<view class="draw-flex">
|
||||||
|
<view class="draw-title-gun"></view>
|
||||||
|
<view class="draw-title-font">采购单</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-card-once">
|
||||||
|
<view class="swiper-card-top">
|
||||||
|
<view class="swiper-card-top-card">
|
||||||
|
<view class="swiper-card-top-card-noral">
|
||||||
|
<view class="swiper-all-flex">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
货品名称:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
留置针敷贴(医用透明敷料)
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-all-flex" style="width: 45%;">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
货品编码:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
FLYP001
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-card-top-card-noral" style="margin-top: 15rpx;">
|
||||||
|
<view class="swiper-all-flex">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
规格型号:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
6cm*7cm
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-all-flex" style="width: 45%;">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
采购单位:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
个
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-card-top-card-noral" style="margin-top: 15rpx;">
|
||||||
|
<view class="swiper-all-flex" style="width: 30%;">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
采购单价:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
0.1
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-all-flex" style="width: 30%;">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
到货单价:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
0.12
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-all-flex" style="width: 30%;">
|
||||||
|
<view class="swiper-gray">
|
||||||
|
采购金额:
|
||||||
|
</view>
|
||||||
|
<view class="swiper-black">
|
||||||
|
10.12
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="draw-title" style="margin-top: 35rpx;margin-bottom: 10rpx;">
|
||||||
|
<view class="draw-flex">
|
||||||
|
<view class="draw-title-gun"></view>
|
||||||
|
<view class="draw-title-font">入库信息</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="color-father">
|
||||||
|
<view class="color-pink" style="margin-left: 40rpx;">
|
||||||
|
<view class="color-weight">
|
||||||
|
10
|
||||||
|
</view>
|
||||||
|
<view class="color-font">
|
||||||
|
采购数量
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="color-green">
|
||||||
|
<view class="color-weight">
|
||||||
|
0
|
||||||
|
</view>
|
||||||
|
<view class="color-font">
|
||||||
|
入库数量
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="color-blue">
|
||||||
|
<view class="color-weight">
|
||||||
|
0
|
||||||
|
</view>
|
||||||
|
<view class="color-font">
|
||||||
|
挂账数量
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="color-red">
|
||||||
|
<view class="color-weight">
|
||||||
|
0
|
||||||
|
</view>
|
||||||
|
<view class="color-font">
|
||||||
|
销账数量
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="draw-title" style="margin-top: 35rpx;margin-bottom: 10rpx;">
|
||||||
|
<view class="draw-flex">
|
||||||
|
<view class="draw-title-gun"></view>
|
||||||
|
<view class="draw-title-font">拣货入库</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="swiper-card-once" style="height: 240rpx;">
|
||||||
|
<view class="swiper-card-top">
|
||||||
|
<view class="swiper-card-top-card">
|
||||||
|
<view class="swiper-card-top-card-noral" style="margin-top: 15rpx;flex-direction: column;">
|
||||||
|
<view v-for="(item, index) in shopArray" :key="index" class="plsbuy-card-heng">
|
||||||
|
<view class="card-flex">
|
||||||
|
<!-- <view class="plsbuy-weight">供应商:</view> -->
|
||||||
|
<view class="plsbuy-font-right">{{ item.name }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-flex">
|
||||||
|
<view class="plsbuy-right-weight">{{index?`销账数量`:`入库数量`}}</view>
|
||||||
|
<view :class="item.change===1?`plsbuy-jian-target`:`plsbuy-jian`"
|
||||||
|
@click="subtractNumber(item)">
|
||||||
|
-</view>
|
||||||
|
<view class="plsbuy-number" @click="openIndex(index,item.many)">{{ item.many }}</view>
|
||||||
|
<view :class="item.change===2?`plsbuy-jia-target`:`plsbuy-jia`"
|
||||||
|
@click="addNumber(item)">+
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="dash-font">
|
||||||
|
说明:采购改量=入库数量+销账数量+挂账改量,其中挂账致量由平台自动计算得出;平含根据入库致量、"销账致量和挂账致量分别生成对应的入库单销账中、挂账单。
|
||||||
|
</view> -->
|
||||||
|
<view class="draw-title" style="margin-top: 35rpx;margin-bottom: 25rpx;">
|
||||||
|
<view class="draw-flex">
|
||||||
|
<view class="draw-title-gun"></view>
|
||||||
|
<view class="draw-title-font">拣货拍照</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="down-note">
|
||||||
|
<image class="down-note-img" style="margin-left: 40rpx;" src="/static/index/Warehousing/zuo.png" />
|
||||||
|
<scroll-view scroll-x style="height: 100%;width: 950rpx;" :show-scrollbar="false">
|
||||||
|
<view style="display: flex;">
|
||||||
|
<view v-for="(item,index) in photoArray" :key="index">
|
||||||
|
<image class="down-note-photo" :src="item" @click="openPhoto(index)" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</scroll-view>
|
||||||
|
<image class="down-note-img" src="/static/index/Warehousing/you.png" />
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="button-card">
|
||||||
|
<view class="swiper-button-white" @click="closeIt">
|
||||||
|
取消
|
||||||
|
</view>
|
||||||
|
<view class="swiper-button-blue" @click="closeIt">
|
||||||
|
确定
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, defineEmits, watch } from 'vue';
|
||||||
|
const note = ref("");
|
||||||
|
const calendarShow = ref(false);
|
||||||
|
const stateTarget = ref("");
|
||||||
|
const emit = defineEmits(['opensuixing', "closehexiao","closepickingdrawer","openCal"])
|
||||||
|
const props = defineProps({
|
||||||
|
backnumber:{
|
||||||
|
type:Number
|
||||||
|
}
|
||||||
|
});
|
||||||
|
watch(
|
||||||
|
() => props.backnumber,
|
||||||
|
() => {
|
||||||
|
shopArray.value[saveIndex.value].many = props.backnumber
|
||||||
|
})
|
||||||
|
const postItems = ref(0);
|
||||||
|
// const stateArray = ['已作废', '未确认', '已确认', '未完结', '待结账', '已结账'];
|
||||||
|
// 初始化左侧菜单列表
|
||||||
|
const buttonList = ref([
|
||||||
|
{ url: '/static/index/Warehousing/sousuo.png', name: '查询' },
|
||||||
|
{ url: '/static/index/Warehousing/chongzhi.png', name: '重置' },
|
||||||
|
|
||||||
|
]);
|
||||||
|
const photoArray = ref([`https://img-s.msn.cn/tenant/amp/entityid/AA1ECZ6y.img?w=768&h=960&m=6&x=355&y=171&s=47&d=47`, `https://img-s.msn.cn/tenant/amp/entityid/AA1ECtEb.img?w=768&h=436&m=6&x=280&y=134&s=200&d=200`,"/static/index/addphoto.png"])
|
||||||
|
const shopArray = ref([{
|
||||||
|
name: "入库数量",
|
||||||
|
many: 9999,
|
||||||
|
change: 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "销账数量",
|
||||||
|
many: 0,
|
||||||
|
change: 0
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// name: "挂账数量",
|
||||||
|
// many: 0,
|
||||||
|
// change: 0
|
||||||
|
// },
|
||||||
|
]);
|
||||||
|
const saveIndex = ref(0)
|
||||||
|
const openIndex = (index:number,number:number) =>{
|
||||||
|
saveIndex.value = index;
|
||||||
|
emit("openCal",number)
|
||||||
|
}
|
||||||
|
const closeIt = () =>{
|
||||||
|
emit("closepickingdrawer")
|
||||||
|
}
|
||||||
|
const chooseImages = () => {
|
||||||
|
uni.chooseImage({
|
||||||
|
count: 9, // 最多可选9张
|
||||||
|
sizeType: ['original', 'compressed'], // 原图或压缩图
|
||||||
|
sourceType: ['album', 'camera'], // 从相册或相机
|
||||||
|
success: (res) => {
|
||||||
|
photoArray.value.pop()
|
||||||
|
photoArray.value = [...photoArray.value, ...res.tempFilePaths];
|
||||||
|
photoArray.value.push("/static/index/addphoto.png")
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const openPhoto = (index : number) => {
|
||||||
|
if (index == photoArray.value.length - 1) {
|
||||||
|
chooseImages()
|
||||||
|
} else {
|
||||||
|
uni.previewImage({
|
||||||
|
urls: photoArray.value.slice(0, -1),
|
||||||
|
current: photoArray.value[index],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const subtractNumber = (item) => {
|
||||||
|
item.many && item.many--
|
||||||
|
item.change = 1
|
||||||
|
setTimeout(() => {
|
||||||
|
item.change = 0
|
||||||
|
}, 300)
|
||||||
|
}
|
||||||
|
const addNumber = (item) => {
|
||||||
|
item.many < 9999 && item.many++
|
||||||
|
item.change = 2
|
||||||
|
setTimeout(() => {
|
||||||
|
item.change = 0
|
||||||
|
}, 300)
|
||||||
|
}
|
||||||
|
const calendarchange = (e : any) => {
|
||||||
|
stateTarget.value = e.result
|
||||||
|
}
|
||||||
|
const opensuixing = () => {
|
||||||
|
emit('opensuixing')
|
||||||
|
}
|
||||||
|
const closehexiao = () => {
|
||||||
|
emit('closehexiao')
|
||||||
|
}
|
||||||
|
// const opendetail = () => {
|
||||||
|
// emit('opendetail')
|
||||||
|
// }
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.draw-all {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: #fff;
|
||||||
|
border-top-left-radius: 80rpx;
|
||||||
|
border-bottom-left-radius: 80rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.draw-flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-contain {
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100vh);
|
||||||
|
background-image: url("/static/index/fanpink.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-attachment: fixed;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.swiper-gray {
|
||||||
|
color: #596278;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 60rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
margin-left: 20rpx;
|
||||||
|
|
||||||
|
.draw-flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-title-gun {
|
||||||
|
margin-left: 20rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 13rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
background: linear-gradient(to bottom, #04BCED, #0160CE);
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-title-font {
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-top: -3rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.draw-title-blue {
|
||||||
|
height: 50rpx;
|
||||||
|
width: 120rpx;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
background: linear-gradient(to right bottom, #00c9ff, #0076ff);
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
border: 1rpx solid #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.swiper-card-once {
|
||||||
|
margin: 0rpx 0 30rpx 30rpx;
|
||||||
|
width: 1100rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
background: url("/static/index/blueMountain.png") center/cover, rgba(255, 255, 255, 0.5);
|
||||||
|
background-blend-mode: screen;
|
||||||
|
isolation: isolate;
|
||||||
|
box-shadow: 5rpx 5rpx 10rpx 0rpx #839fcc;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 40rpx;
|
||||||
|
|
||||||
|
.swiper-card-top {
|
||||||
|
width: 100%;
|
||||||
|
height: 220rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.swiper-card-top-card {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.swiper-card-top-card-weight {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 25rpx 0;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
|
||||||
|
.weight-left {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.blue-number {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #017DE9;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.weight-right {
|
||||||
|
color: #FF6000;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.swiper-card-top-card-noral {
|
||||||
|
// margin-left: 50rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 17rpx;
|
||||||
|
font-size: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-title {
|
||||||
|
margin-top: 70rpx;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.swiper-all-flex {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color-father {
|
||||||
|
display: flex;
|
||||||
|
margin-left: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color-weight {
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 15rpx;
|
||||||
|
margin-left: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color-font {
|
||||||
|
margin-left: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color-pink {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
box-shadow: 4rpx 8rpx 16rpx 4rpx #839fcc;
|
||||||
|
background: linear-gradient(to bottom right, #eae7fa, #dadbf9);
|
||||||
|
margin-left: 50rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color-green {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
box-shadow: 4rpx 8rpx 16rpx 4rpx #839fcc;
|
||||||
|
background: linear-gradient(to bottom right, #bcf3f1, #9de9ee);
|
||||||
|
margin-left: 50rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.color-red {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
box-shadow: 4rpx 8rpx 16rpx 4rpx #839fcc;
|
||||||
|
background: linear-gradient(to bottom right, #ffcccc, #ffccff);
|
||||||
|
margin-left: 50rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-card-heng {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 100rpx;
|
||||||
|
|
||||||
|
.plsbuy-card-img {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
margin: 0 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-right-weight {
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 35rpx;
|
||||||
|
// margin-left: 140rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-font-right {
|
||||||
|
font-size: 30rpx;
|
||||||
|
line-height: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-jian {
|
||||||
|
background-color: #D3E7FF;
|
||||||
|
width: 70rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin-left: 30rpx;
|
||||||
|
border: 1rpx solid #313A4E;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-jian-target {
|
||||||
|
background: linear-gradient(to bottom, #00C9FF, #0076FF);
|
||||||
|
color: #fff;
|
||||||
|
width: 70rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin-left: 30rpx;
|
||||||
|
border: 1rpx solid #fff;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-number {
|
||||||
|
border: 1rpx solid #313A4E;
|
||||||
|
// padding: 10rpx 20rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-weight: 700;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
// margin: 0 20rpx;
|
||||||
|
width: 90rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-number-target {
|
||||||
|
color: #0076FF;
|
||||||
|
border: 1rpx solid #0076FF;
|
||||||
|
// padding: 10rpx 20rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-weight: 700;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
// margin: 0 20rpx;
|
||||||
|
width: 90rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-jia {
|
||||||
|
background-color: #D3E7FF;
|
||||||
|
width: 70rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
border: 1rpx solid #313A4E;
|
||||||
|
font-size: 35rpx;
|
||||||
|
margin-right: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-jia-target {
|
||||||
|
background: linear-gradient(to bottom, #00C9FF, #0076FF);
|
||||||
|
color: #fff;
|
||||||
|
width: 70rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
border: 1rpx solid #fff;
|
||||||
|
font-size: 35rpx;
|
||||||
|
margin-right: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-flex {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plsbuy-number {
|
||||||
|
border: 1rpx solid #313A4E;
|
||||||
|
// padding: 10rpx 20rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-weight: 700;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
// margin: 0 20rpx;
|
||||||
|
width: 90rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dash-font {
|
||||||
|
margin: 10rpx 30rpx;
|
||||||
|
padding: 10rpx;
|
||||||
|
width: 1100rpx;
|
||||||
|
// height: 60rpx;
|
||||||
|
border-style: dashed;
|
||||||
|
/* 定义虚线 */
|
||||||
|
border-width: 2px;
|
||||||
|
/* 线宽 */
|
||||||
|
border-color: #FF6657;
|
||||||
|
border-radius: 15rpx;
|
||||||
|
color: #FF6657;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down-note {
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 170rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
margin-top: -10rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.down-note-img {
|
||||||
|
width: 60rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down-note-photo {
|
||||||
|
height: 150rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-card {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.swiper-button-blue {
|
||||||
|
background: linear-gradient(to bottom, #00C9FF, #0076FF);
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
color: #fff;
|
||||||
|
margin-right: 35rpx;
|
||||||
|
}
|
||||||
|
.swiper-button-white {
|
||||||
|
background: #fff;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0 10rpx;
|
||||||
|
// color: #fff;
|
||||||
|
margin-right: 35rpx;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -71,12 +71,12 @@
|
||||||
|
|
||||||
<view class="scroll-view">
|
<view class="scroll-view">
|
||||||
<scroll-view scroll-y style="height: 100%;" :show-scrollbar="false">
|
<scroll-view scroll-y style="height: 100%;" :show-scrollbar="false">
|
||||||
<view v-for="(item,index) in [1,1,1,1,1,1]" :key="index">
|
<view v-for="(item,index) in photoArray" :key="index">
|
||||||
<view class="card-father">
|
<view class="card-father" @click="openPhoto(index)">
|
||||||
<view class="card-white">
|
<view class="card-white">
|
||||||
<image class="card-white-photo" src="/static/index/Warehousing/photo.png" />
|
<image class="card-white-photo" :src="item" />
|
||||||
</view>
|
</view>
|
||||||
<view class="down-title">
|
<view class="down-title" v-if="index!==photoArray.length-1">
|
||||||
<view class="down-title-flex">
|
<view class="down-title-flex">
|
||||||
<image class="down-title-photo" src="/static/index/Warehousing/shangchuanpeople.png" />
|
<image class="down-title-photo" src="/static/index/Warehousing/shangchuanpeople.png" />
|
||||||
<view style="margin-left: 10rpx;">上传人:</view>
|
<view style="margin-left: 10rpx;">上传人:</view>
|
||||||
|
@ -117,6 +117,7 @@
|
||||||
|
|
||||||
});
|
});
|
||||||
const postItems = ref(0);
|
const postItems = ref(0);
|
||||||
|
const photoArray = ref([`https://img-s.msn.cn/tenant/amp/entityid/AA1ECZ6y.img?w=768&h=960&m=6&x=355&y=171&s=47&d=47`, `https://img-s.msn.cn/tenant/amp/entityid/AA1ECtEb.img?w=768&h=436&m=6&x=280&y=134&s=200&d=200`,"/static/index/addphoto.png"])
|
||||||
// const stateArray = ['已作废', '未确认', '已确认', '未完结', '待结账', '已结账'];
|
// const stateArray = ['已作废', '未确认', '已确认', '未完结', '待结账', '已结账'];
|
||||||
// 初始化左侧菜单列表
|
// 初始化左侧菜单列表
|
||||||
const buttonList = ref([
|
const buttonList = ref([
|
||||||
|
@ -124,6 +125,28 @@
|
||||||
{ url: '/static/index/Warehousing/chongzhi.png', name: '重置' },
|
{ url: '/static/index/Warehousing/chongzhi.png', name: '重置' },
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
const chooseImages = () => {
|
||||||
|
uni.chooseImage({
|
||||||
|
count: 9, // 最多可选9张
|
||||||
|
sizeType: ['original', 'compressed'], // 原图或压缩图
|
||||||
|
sourceType: ['album', 'camera'], // 从相册或相机
|
||||||
|
success: (res) => {
|
||||||
|
photoArray.value.pop()
|
||||||
|
photoArray.value = [...photoArray.value, ...res.tempFilePaths];
|
||||||
|
photoArray.value.push("/static/index/addphoto.png")
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const openPhoto = (index : number) => {
|
||||||
|
if (index == photoArray.value.length - 1) {
|
||||||
|
chooseImages()
|
||||||
|
} else {
|
||||||
|
uni.previewImage({
|
||||||
|
urls: photoArray.value.slice(0, -1),
|
||||||
|
current: photoArray.value[index],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
// const emit = defineEmits(['opendetail'])
|
// const emit = defineEmits(['opendetail'])
|
||||||
const calendarchange = (e : any) => {
|
const calendarchange = (e : any) => {
|
||||||
stateTarget.value = e.result
|
stateTarget.value = e.result
|
||||||
|
|
|
@ -144,7 +144,7 @@
|
||||||
<!-- 详情的的弹出层 -->
|
<!-- 详情的的弹出层 -->
|
||||||
<view v-show="detailisopen && isShow" class="popup-detail" @click="detailisopen=false">
|
<view v-show="detailisopen && isShow" class="popup-detail" @click="detailisopen=false">
|
||||||
<view class="popup-detail-content" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
|
<view class="popup-detail-content" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
|
||||||
<info />
|
<info @qinggou="openBuy" @churuku="clickgoback" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 请购的的弹出层 -->
|
<!-- 请购的的弹出层 -->
|
||||||
|
@ -298,6 +298,7 @@
|
||||||
}, 100)
|
}, 100)
|
||||||
}
|
}
|
||||||
const openBuy = () => {
|
const openBuy = () => {
|
||||||
|
detailisopen.value=false
|
||||||
plsBuyIsopen.value = true;
|
plsBuyIsopen.value = true;
|
||||||
plsBuyisopacity.value = false;
|
plsBuyisopacity.value = false;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -311,6 +312,7 @@
|
||||||
goshopdrawer.value.openDrawer();
|
goshopdrawer.value.openDrawer();
|
||||||
}
|
}
|
||||||
const clickgoback = () => {
|
const clickgoback = () => {
|
||||||
|
detailisopen.value=false
|
||||||
gobackdrawer.value.openDrawer();
|
gobackdrawer.value.openDrawer();
|
||||||
}
|
}
|
||||||
// 记录序列号
|
// 记录序列号
|
||||||
|
@ -581,7 +583,7 @@
|
||||||
|
|
||||||
/* 添加毛玻璃效果 */
|
/* 添加毛玻璃效果 */
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
overflow: hidden;
|
||||||
.popup-detail-content-plsbuy {
|
.popup-detail-content-plsbuy {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 350rpx;
|
left: 350rpx;
|
||||||
|
@ -615,6 +617,7 @@
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
|
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
|
||||||
transition: opacity 0.4s ease;
|
transition: opacity 0.4s ease;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,8 @@
|
||||||
结账
|
结账
|
||||||
</view>
|
</view>
|
||||||
<view class="swiper-button-blue"
|
<view class="swiper-button-blue"
|
||||||
v-show="item.cardType==3||item.cardType==2">
|
v-show="item.cardType==3||item.cardType==2"
|
||||||
|
@click="pickingGoodclick">
|
||||||
拣货
|
拣货
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="swiper-button-blue" v-show="item.cardType==2">
|
<!-- <view class="swiper-button-blue" v-show="item.cardType==2">
|
||||||
|
@ -214,11 +215,27 @@
|
||||||
<Drawer ref="suixingdrawer" :widNumber="40" style="z-index: 1001;">
|
<Drawer ref="suixingdrawer" :widNumber="40" style="z-index: 1001;">
|
||||||
<suixing />
|
<suixing />
|
||||||
</Drawer>
|
</Drawer>
|
||||||
|
<view v-show="caldrawer && isShow" class="popup-detail-cal" @click="caldrawer=false">
|
||||||
|
<view class="popup-detail-content" :style="{ opacity: detailisopacity ? 1 : 0 }" @click.stop>
|
||||||
|
<calculator :doOnce="doOnce" :translateNumber="translateNumber" @close="closeCal" @right="rightCal" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 计算器的抽屉 -->
|
||||||
|
<!-- <Drawer ref="caldrawer" :widNumber="30" :canclose="false" style="z-index: 1001;">
|
||||||
|
<calculator :doOnce="doOnce" :translateNumber="translateNumber" @close="closeCal" @right="rightCal" />
|
||||||
|
</Drawer> -->
|
||||||
<!-- 作废的抽屉 -->
|
<!-- 作废的抽屉 -->
|
||||||
<Drawer ref="voiddrawer" :widNumber="60">
|
<Drawer ref="voiddrawer" :widNumber="60">
|
||||||
<otherVoid @voidIt="isDelete(saveVoidIndex)" @closevoid="closevoid" />
|
<otherVoid @voidIt="isDelete(saveVoidIndex)" @closevoid="closevoid" />
|
||||||
</Drawer>
|
</Drawer>
|
||||||
|
<!-- 拣货的抽屉 -->
|
||||||
|
<Drawer ref="pickingGooddrawer" :widNumber="60" style="z-index: 998;">
|
||||||
|
<pickingGood @openDrawer="openDrawer" />
|
||||||
|
</Drawer>
|
||||||
|
<!-- 拣货的拣货的抽屉 -->
|
||||||
|
<Drawer ref="pickingdrawer" :canclose="false" :widNumber="50" style="z-index: 998;">
|
||||||
|
<picking :backnumber="backnumber" @openCal="openCal" @closepickingdrawer="closepickingdrawer" />
|
||||||
|
</Drawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -229,6 +246,9 @@
|
||||||
import storage from "@/component/storeroom/drawer/storage/index.vue"
|
import storage from "@/component/storeroom/drawer/storage/index.vue"
|
||||||
import suixing from "@/component/storeroom/drawer/suixing/index.vue"
|
import suixing from "@/component/storeroom/drawer/suixing/index.vue"
|
||||||
import verification from "@/component/storeroom/drawer/verification/index.vue"
|
import verification from "@/component/storeroom/drawer/verification/index.vue"
|
||||||
|
import pickingGood from "@/component/storeroom/drawer/pickingGood/index.vue"
|
||||||
|
import picking from "@/component/storeroom/drawer/picking/index.vue"
|
||||||
|
import calculator from "@/component/storeroom/drawer/calculator/index.vue"
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
isShow: {
|
isShow: {
|
||||||
|
@ -305,6 +325,10 @@
|
||||||
openType.value = type;
|
openType.value = type;
|
||||||
detaildrawer.value.openDrawer();
|
detaildrawer.value.openDrawer();
|
||||||
}
|
}
|
||||||
|
const pickingGooddrawer = ref(null);
|
||||||
|
const pickingGoodclick = () =>{
|
||||||
|
pickingGooddrawer.value.openDrawer();
|
||||||
|
}
|
||||||
const saveVoidIndex = ref(-1);
|
const saveVoidIndex = ref(-1);
|
||||||
const openVoidDrawer = (index:number) =>{
|
const openVoidDrawer = (index:number) =>{
|
||||||
// openType.value = type;
|
// openType.value = type;
|
||||||
|
@ -316,6 +340,7 @@
|
||||||
suixingdrawer.value.openDrawer();
|
suixingdrawer.value.openDrawer();
|
||||||
}
|
}
|
||||||
const dantype = ref(0);
|
const dantype = ref(0);
|
||||||
|
const pickingdrawer =ref(null);
|
||||||
const openDrawer = (index:number) =>{
|
const openDrawer = (index:number) =>{
|
||||||
if(!index){
|
if(!index){
|
||||||
storagedrawer.value.openDrawer();
|
storagedrawer.value.openDrawer();
|
||||||
|
@ -324,13 +349,41 @@
|
||||||
storagedrawer.value.openDrawer();
|
storagedrawer.value.openDrawer();
|
||||||
dantype.value = 1;
|
dantype.value = 1;
|
||||||
}
|
}
|
||||||
else{
|
else if(index===2){
|
||||||
dantype.value = 2;
|
dantype.value = 2;
|
||||||
verificationdrawer.value.openDrawer();
|
verificationdrawer.value.openDrawer();
|
||||||
|
}else if(index===3){
|
||||||
|
pickingdrawer.value.openDrawer();
|
||||||
|
}else if(index===4){
|
||||||
|
suixingdrawer.value.openDrawer();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
const translateNumber = ref(0);
|
||||||
|
const doOnce = ref(0);
|
||||||
|
const caldrawer = ref(false);
|
||||||
|
|
||||||
|
const closeCal = () =>{
|
||||||
|
caldrawer.value = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
const backnumber = ref(0);
|
||||||
|
const rightCal = (number:number) =>{
|
||||||
|
caldrawer.value = false;
|
||||||
|
backnumber.value = number
|
||||||
|
}
|
||||||
|
const openCal = (number:number) =>{
|
||||||
|
translateNumber.value = number;
|
||||||
|
caldrawer.value = true;
|
||||||
|
detailisopacity.value = false;
|
||||||
|
setTimeout(() => {
|
||||||
|
detailisopacity.value = true
|
||||||
|
}, 100)
|
||||||
|
doOnce.value ++
|
||||||
|
}
|
||||||
|
const closepickingdrawer = () =>{
|
||||||
|
pickingdrawer.value.closeDrawer()
|
||||||
|
}
|
||||||
const isDelete = (index : number) => {
|
const isDelete = (index : number) => {
|
||||||
firstBall.value = 0
|
firstBall.value = 0
|
||||||
secondBall.value = 0
|
secondBall.value = 0
|
||||||
|
@ -981,4 +1034,36 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.popup-detail-cal {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
backdrop-filter: blur(1rpx);
|
||||||
|
background-color: rgba(89, 109, 154, 0.4);
|
||||||
|
/* 添加毛玻璃效果 */
|
||||||
|
z-index: 999;
|
||||||
|
|
||||||
|
.popup-detail-content {
|
||||||
|
position: absolute;
|
||||||
|
right: 330rpx;
|
||||||
|
top: 140rpx;
|
||||||
|
display: flex;
|
||||||
|
width: 600rpx;
|
||||||
|
height: 900rpx;
|
||||||
|
background: url("/static/index/lightbgcnew.png") center/cover, rgba(255, 255, 255, 0.5);
|
||||||
|
background-blend-mode: screen;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
/* 使用 screen 混合模式,让图像与白色混合变淡 */
|
||||||
|
border-radius: 40rpx;
|
||||||
|
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
|
||||||
|
transition: opacity 0.4s ease;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
|
@ -2,8 +2,8 @@
|
||||||
"name" : "养老App",
|
"name" : "养老App",
|
||||||
"appid" : "__UNI__FB2D473",
|
"appid" : "__UNI__FB2D473",
|
||||||
"description" : "养老App",
|
"description" : "养老App",
|
||||||
"versionName" : "1.1.8",
|
"versionName" : "1.2.0",
|
||||||
"versionCode" : 118,
|
"versionCode" : 120,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1008 B |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -7,8 +7,8 @@
|
||||||
"id": "__UNI__FB2D473",
|
"id": "__UNI__FB2D473",
|
||||||
"name": "养老App",
|
"name": "养老App",
|
||||||
"version": {
|
"version": {
|
||||||
"name": "1.1.8",
|
"name": "1.2.0",
|
||||||
"code": 118
|
"code": 120
|
||||||
},
|
},
|
||||||
"description": "养老App",
|
"description": "养老App",
|
||||||
"developer": {
|
"developer": {
|
||||||
|
|
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1008 B |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -7,8 +7,8 @@
|
||||||
"id": "__UNI__FB2D473",
|
"id": "__UNI__FB2D473",
|
||||||
"name": "养老App",
|
"name": "养老App",
|
||||||
"version": {
|
"version": {
|
||||||
"name": "1.1.8",
|
"name": "1.2.0",
|
||||||
"code": 118
|
"code": 120
|
||||||
},
|
},
|
||||||
"description": "养老App",
|
"description": "养老App",
|
||||||
"developer": {
|
"developer": {
|
||||||
|
|
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1008 B |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 31 KiB |