仓库首页

This commit is contained in:
Teng 2025-12-26 15:34:50 +08:00
commit 609f159318
9 changed files with 128 additions and 91 deletions

View File

@ -2033,14 +2033,14 @@
<style lang="less" scoped> <style lang="less" scoped>
.contain { .contain {
background-color: rgb(239, 240, 244); background-color: rgb(239, 240, 244);
width: 100vw; width: 90vw;
height: 100vh; height: 100vh;
padding: 5vh 2vw 0 2vw; padding:1vh 2vw 0 0;
display: flex; display: flex;
.contain-left { .contain-left {
height: 95vh; height:calc(100vh - 3vw);
width: 30%; width: 30vw;
position: relative; position: relative;
z-index: 99; z-index: 99;
@ -2472,7 +2472,7 @@
.contain-right { .contain-right {
z-index: 1; z-index: 1;
height: 95vh; height: 95vh;
width: 70%; width: 60vw;
margin-left: 2%; margin-left: 2%;
overflow: hidden; overflow: hidden;

View File

@ -1,10 +1,22 @@
<template> <template>
<view> <view>
<view class="flex"> <view class="flex">
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent> <!-- <leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent> -->
<!-- 主页 --> <!-- 主页 -->
<index :isShow="menuop" v-if="!menuIndex" /> <!-- <index :isShow="menuop" v-if="!ckindex" /> -->
<!-- <material></material> --> <!-- <material></material> -->
<view class="left">
<leftcontent :list="tabbrarr" @navurl="navurl"></leftcontent>
</view>
<view class="boxrt">
<index :isShow="menuop" v-if="!ckindex" />
<material :isShow="ckindex == 1"></material>
<picking :isShow="ckindex == 2"></picking>
<finish v-if="ckindex == 3"></finish>
<outbound v-if="ckindex == 4"></outbound>
<retstock v-if="ckindex == 5"></retstock>
<inventory :isShow="ckindex == 6"></inventory>
</view>
</view> </view>
</view> </view>
</template> </template>
@ -15,6 +27,13 @@
import material from "@/pages/procurement/material.vue"; import material from "@/pages/procurement/material.vue";
import index from "./component/index.vue" import index from "./component/index.vue"
import picking from "../picking.vue";
import finish from "@/pages/Warehouse/finish.vue"
import outbound from "@/pages/procurement/outbound.vue";
import inventory from "@/pages/procurement/inventory.vue";
import retstock from "@/pages/procurement/retstock.vue";
const tabbrarr = ref([ const tabbrarr = ref([
{ name: '首页', url: '/static/shouye/ck/h0.png', urls: '/static/shouye/ck/h1.png' }, { name: '首页', url: '/static/shouye/ck/h0.png', urls: '/static/shouye/ck/h1.png' },
{ name: '采购', url: '/static/shouye/ck/c0.png', urls: '/static/shouye/ck/c1.png' }, { name: '采购', url: '/static/shouye/ck/c0.png', urls: '/static/shouye/ck/c1.png' },
@ -25,19 +44,20 @@
{ name: '盘点', url: '/static/shouye/ck/p0.png', urls: '/static/shouye/ck/p1.png' }, { name: '盘点', url: '/static/shouye/ck/p0.png', urls: '/static/shouye/ck/p1.png' },
{ name: '返回', url: '/static/shouye/sy/f0.png', urls: '/static/shouye/sy/f1.png' }, { name: '返回', url: '/static/shouye/sy/f0.png', urls: '/static/shouye/sy/f1.png' },
]) ])
const menuIndex = ref(-1)
const menuop = ref(false) const menuop = ref(false)
onMounted(() => { onMounted(() => {
// //
navurl(0) navurl(0)
}) })
const ckindex = ref(-1)
const navurl = (e : number) => { const navurl = (e : number) => {
// //
if (e === tabbrarr.value.length - 1) { if (e === tabbrarr.value.length - 1) {
uni.navigateBack() uni.navigateBack()
return return
} }
menuIndex.value = e; ckindex.value = e;
// //
menuop.value = false menuop.value = false
setTimeout(() => { setTimeout(() => {
@ -58,4 +78,15 @@
overflow: hidden; overflow: hidden;
z-index: 12; z-index: 12;
} }
.left {
width: 8.2vw;
height: 100vh;
}
.boxrt {
width: calc(100vw - 8.2vw);
background: RGBA(239, 240, 244, 1);
display: flex;
}
</style> </style>

View File

@ -1,5 +1,5 @@
<template> <template>
<view class="contain"> <view class="contain" v-if="isShow">
<view v-show="moreindex!=-1 || topbuttontarget!=-1 || openjianhuo || opengaijia || opendata" class="mengban" <view v-show="moreindex!=-1 || topbuttontarget!=-1 || openjianhuo || opengaijia || opendata" class="mengban"
:style="opencgr||opengys||opendata ?{background:`transparent`}:{}" :style="opencgr||opengys||opendata ?{background:`transparent`}:{}"
@click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false;opendata=false;opencgr=false;opengys=false;albumlist=[]"> @click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false;opendata=false;opencgr=false;opengys=false;albumlist=[]">
@ -1046,17 +1046,30 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, onUnmounted } from 'vue'; import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, onUnmounted,watch } from 'vue';
import { editIzNew, queryPickingRecordList, queryJhzpList, addSxd, querySxdList, queryInvoicingList, getCgdMaterialTreeData, queryNuInfoByNuId, updateKfstatus, queryCgdList, queryCgdInfoList, queryWlInfoByWlId, voidedCgdMain, getCgrLis, getGysList, upload, editPrice, pickingInfo } from './api/lunpan.js' import { editIzNew, queryPickingRecordList, queryJhzpList, addSxd, querySxdList, queryInvoicingList, getCgdMaterialTreeData, queryNuInfoByNuId, updateKfstatus, queryCgdList, queryCgdInfoList, queryWlInfoByWlId, voidedCgdMain, getCgrLis, getGysList, upload, editPrice, pickingInfo } from './api/lunpan.js'
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app" import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import calendar from '@/component/public/calendar.vue' import calendar from '@/component/public/calendar.vue'
import nomessageimge from '@/pages/procurement/components/nomessage.vue'; import nomessageimge from '@/pages/procurement/components/nomessage.vue';
const props = defineProps({
isShow: {
type: Boolean
},
});
watch(
() => props.isShow,
(newVal, oldVal) => {
if (!oldVal && newVal) {
firstgetqueryCgdList();
getSelectList();
}
}
)
const open = ref(0); const open = ref(0);
const typechange = ref(0); const typechange = ref(0);
const stringjh = ref("") const stringjh = ref("")
const serverUrl = ref(""); const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/');
const opengaijia = ref(false); const opengaijia = ref(false);
const guiling = ref(false); const guiling = ref(false);
const openjianhuo = ref(false); const openjianhuo = ref(false);
@ -1268,12 +1281,6 @@
}, 300) }, 300)
} }
onLoad(() => {
firstgetqueryCgdList();
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
getSelectList();
})
const opencgr = ref(false); const opencgr = ref(false);
const opengys = ref(false); const opengys = ref(false);
@ -2007,7 +2014,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.contain { .contain {
background-color: rgb(239, 240, 244); background-color: rgb(239, 240, 244);
width: 100vw; width: 90vw;
height: 100vh; height: 100vh;
padding: 5vh 2vw 0 2vw; padding: 5vh 2vw 0 2vw;
display: flex; display: flex;

View File

@ -444,13 +444,13 @@
} }
.fler { .fler {
width: 31.5vw; width: 28vw;
height: 13vw; height: 13vw;
margin-bottom: 0.9vw; margin-bottom: 0.9vw;
margin-left: 0.5vw; margin-left: 0.5vw;
.carditem { .carditem {
width: 31vw; width: 26.5vw;
height: 13vw; height: 13vw;
background: rgba(245, 246, 248, 1); background: rgba(245, 246, 248, 1);
border-radius: 1.1vw; border-radius: 1.1vw;

View File

@ -167,24 +167,24 @@
<style scoped lang="less"> <style scoped lang="less">
.crdcroll { .crdcroll {
width: 96vw; width: 90vw;
height: 70.3vh; height: 70.3vh;
.box { .box {
width: 96vw; width: 90vw;
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
} }
.fler { .fler {
width: 47vw; width: 43vw;
height: 15.6vw; height: 15.6vw;
} }
} }
.carditem { .carditem {
width: 47vw; width: 43vw;
height: 14.5vw; height: 14.5vw;
background: rgba(245, 246, 248, 1); background: rgba(255, 255, 255, 0.9);
border-radius: 1.6vw; border-radius: 1.6vw;
position: relative; position: relative;
margin-bottom: 1.1vw; margin-bottom: 1.1vw;
@ -382,7 +382,7 @@
// margin-left: -15vw !important; // margin-left: -15vw !important;
// } // }
.speitem { .speitem {
width: 15vw; width: 13vw;
height: 100%; height: 100%;
display: inline-flex; display: inline-flex;
flex-direction: column; flex-direction: column;

View File

@ -1,5 +1,5 @@
<template> <template>
<view class="all-bgc"> <view class="all-bgc" v-if="isShow">
<view class="buttons-father"> <view class="buttons-father">
<view class="ipt"> <view class="ipt">
<input type="text" v-model="plzinfo.pddInfo" placeholder="盘点单号/盘点人/盘点日期" @confirm="clickconfirm" /> <input type="text" v-model="plzinfo.pddInfo" placeholder="盘点单号/盘点人/盘点日期" @confirm="clickconfirm" />
@ -37,12 +37,12 @@
新增 新增
</view> </view>
</view> </view>
<view class="contain-right-button" @click="goback"> <!-- <view class="contain-right-button" @click="goback">
<image class="buttont-img" style="margin-top: 4rpx;" src="/static/index/purchaseorder/back.png" /> <image class="buttont-img" style="margin-top: 4rpx;" src="/static/index/purchaseorder/back.png" />
<view class="button-font"> <view class="button-font">
返回 返回
</view> </view>
</view> </view> -->
</view> </view>
<!-- <nomessage cont="暂无数据" :show="nomessageshow" /> --> <!-- <nomessage cont="暂无数据" :show="nomessageshow" /> -->
@ -266,21 +266,26 @@
const addshow = ref(false) const addshow = ref(false)
const tagsarray = ref(["全部", "盘点中", "已完成"]) const tagsarray = ref(["全部", "盘点中", "已完成"])
const cgrlist = ref([]); const cgrlist = ref([]);
const props = defineProps({
isShow: {
type: Boolean
},
});
watch(
() => props.isShow,
(newVal, oldVal) => {
if (!oldVal && newVal) {
chongzhi()
getSelectList();
}
}
)
const getSelectList = () => { const getSelectList = () => {
queryPddStartByList({ nuId: uni.getStorageSync('nuId') }).then((res : any) => { queryPddStartByList({ nuId: uni.getStorageSync('nuId') }).then((res : any) => {
cgrlist.value = res.result; cgrlist.value = res.result;
}) })
} }
onShow(() => {
chongzhi()
})
onMounted(() => {
// firstgetqueryCgdList();
getSelectList();
})
type datetype = { type datetype = {
start : string, start : string,
end : string end : string
@ -562,8 +567,8 @@
<style scoped lang="less"> <style scoped lang="less">
.all-bgc { .all-bgc {
background-color: rgb(239, 240, 244); background-color: rgb(239, 240, 244);
padding-left: 2vw; padding-left: 1vw;
padding-top: 5.5vh; padding-top:2vh;
} }
.buttons-father { .buttons-father {
@ -847,6 +852,7 @@
color: #FF5757; color: #FF5757;
border: 2rpx solid #FF5757; border: 2rpx solid #FF5757;
margin-left: 5rpx; margin-left: 5rpx;
margin-right: 5rpx;
border-radius: 5rpx; border-radius: 5rpx;
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<view> <view v-if="isShow">
<view class="serchs guodu" :style="tx?'':'width:95vw'"> <view class="serchs guodu" :style="tx?'':'width:90vw'">
<view class="ipt"> <view class="ipt">
<input type="text" placeholder="物料名称/物料编码/物料简拼" v-model="form.wlParamInfo" @confirm="search" /> <input type="text" placeholder="物料名称/物料编码/物料简拼" v-model="form.wlParamInfo" @confirm="search" />
<image src="/static/index/procurement/x.png" mode="aspectFill" v-if="form.wlParamInfo" <image src="/static/index/procurement/x.png" mode="aspectFill" v-if="form.wlParamInfo"
@ -20,17 +20,17 @@
<image src="/static/index/procurement/cz.png" mode="aspectFill"></image> <image src="/static/index/procurement/cz.png" mode="aspectFill"></image>
重置 重置
</view> </view>
<view class="back guodu" @click="uni.navigateBack()"> <!-- <view class="back guodu" @click="uni.navigateBack()">
<image src="/static/index/procurement/bk.png" mode="aspectFill"></image> <image src="/static/index/procurement/bk.png" mode="aspectFill"></image>
返回 返回
</view> </view> -->
</view> </view>
<view class="kcyj"> <view class="kcyj">
<view class="kjlt" @click="tx=!tx"> <view class="kjlt" @click="tx=!tx">
库存预警 库存预警
</view> </view>
<scroll-view scroll-x="true" class="kcscrol guodu" <scroll-view scroll-x="true" class="kcscrol guodu"
:style="tx?(qb?'width:46.4vw':'width:55.4vw') : (qb?'width:77.4vw':'width:86.4vw') " :style="tx?(qb?'width:38.2vw':'width:47.2vw') : (qb?'width:71.2vw':'width:80.2vw') "
scroll-with-animation :scroll-left="scrollleft" @scroll="onScroll" @scrolltolower="scrolltolower(1)"> scroll-with-animation :scroll-left="scrollleft" @scroll="onScroll" @scrolltolower="scrolltolower(1)">
<view class="yjbox" v-for="(v,i) in Material" :key="i" @click="clickaddcar(v,i)"> <view class="yjbox" v-for="(v,i) in Material" :key="i" @click="clickaddcar(v,i)">
<image :src="v.materialImg?serverUrl+v.materialImg:'/static/index/procurement/k.png'" <image :src="v.materialImg?serverUrl+v.materialImg:'/static/index/procurement/k.png'"
@ -128,7 +128,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineComponent, inject } from 'vue'; import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineComponent, inject ,watch} from 'vue';
import { queryInvoicingList, queryWlInfoByWlId, addShoppingCartList, queryShoppingCartList,queryCgdWaringList,queryCrkInfoNumList } from './api/lunpan.js' import { queryInvoicingList, queryWlInfoByWlId, addShoppingCartList, queryShoppingCartList,queryCgdWaringList,queryCrkInfoNumList } from './api/lunpan.js'
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app" import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import calculator from './components/calculator.vue' import calculator from './components/calculator.vue'
@ -139,7 +139,7 @@
import inboundoutbound from './components/inboundoutbound.vue' import inboundoutbound from './components/inboundoutbound.vue'
import addall from './components/addall.vue' import addall from './components/addall.vue'
import defaultr from './components/default.vue' import defaultr from './components/default.vue'
const tx = ref(true) const tx = ref(false)
const qb = ref(false) const qb = ref(false)
const addflag = ref(false) const addflag = ref(false)
@ -157,7 +157,7 @@
const openerror = ref(false) const openerror = ref(false)
const errmsg = ref('') const errmsg = ref('')
const scrolltop = ref(0) const scrolltop = ref(0)
const serverUrl = ref('') const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const form = reactive({ const form = reactive({
nuId: uni.getStorageSync('nuId'), nuId: uni.getStorageSync('nuId'),
pageNo: 1, pageNo: 1,
@ -181,13 +181,15 @@
}) })
const classication = ref<InstanceType<typeof ChildComponent>>() const classication = ref<InstanceType<typeof ChildComponent>>()
const timeout = ref(false) const timeout = ref(false)
onLoad(() => { const props = defineProps({
setTimeout(()=>{ isShow: {
timeout.value = true type: Boolean
},500) },
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/'; });
}) watch(
onShow(() => { () => props.isShow,
(newVal, oldVal) => {
if (!oldVal && newVal) {
form.pageNo = 1; form.pageNo = 1;
warn.pageNo = 1; warn.pageNo = 1;
Material.value = []; Material.value = [];
@ -198,7 +200,12 @@
nextTick(() => { nextTick(() => {
chongzhi() chongzhi()
}) })
}) setTimeout(()=>{
timeout.value = true
},500)
}
}
)
const Material = ref([]) const Material = ref([])
const getWaringMaterial = () => { const getWaringMaterial = () => {
@ -519,7 +526,7 @@
} }
.listcard { .listcard {
width: 100%; width: 90vw;
height: 70.3vh; height: 70.3vh;
margin-top: 1vw; margin-top: 1vw;
@ -782,7 +789,7 @@
display: inline-block; display: inline-block;
width: 14vw; width: 14vw;
height: 10vw; height: 10vw;
background: rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.9);
border-radius: 1.1vw; border-radius: 1.1vw;
margin-right: 0.6vw; margin-right: 0.6vw;
position: relative; position: relative;
@ -1001,10 +1008,3 @@
} }
} }
</style> </style>
<style>
page {
background: RGBA(239, 240, 244, 1);
padding: 2vw;
box-sizing: border-box;
}
</style>

View File

@ -35,12 +35,12 @@
回退 回退
</view> </view>
</view> </view>
<view class="contain-right-button" @click="goback"> <!-- <view class="contain-right-button" @click="goback">
<image class="buttont-img" style="margin-top: 4rpx;" src="/static/index/purchaseorder/back.png" /> <image class="buttont-img" style="margin-top: 4rpx;" src="/static/index/purchaseorder/back.png" />
<view class="button-font"> <view class="button-font">
返回 返回
</view> </view>
</view> </view> -->
</view> </view>
<nomessage cont="暂无数据" :show="nomessageshow" /> <nomessage cont="暂无数据" :show="nomessageshow" />
@ -636,8 +636,8 @@
.all-bgc { .all-bgc {
background-color: rgb(239, 240, 244); background-color: rgb(239, 240, 244);
// padding: 2vw; // padding: 2vw;
padding-left: 2vw; padding-left: 1vw;
padding-top: 5.5vh; padding-top: 1.5vh;
} }
.right-container-tem { .right-container-tem {

View File

@ -587,7 +587,7 @@
margin-top: 1vw; margin-top: 1vw;
.rightscr { .rightscr {
width: 65vw; width: 57vw;
height: 100%; height: 100%;
background: #F9F9F9; background: #F9F9F9;
border-radius: 1.6vw; border-radius: 1.6vw;
@ -601,7 +601,7 @@
} }
.serchs { .serchs {
width: 96vw; width: 90vw;
height: 3.3vw; height: 3.3vw;
border-radius: 1.6vw; border-radius: 1.6vw;
display: flex; display: flex;
@ -827,10 +827,3 @@
} }
</style> </style>
<style>
page {
background: RGBA(239, 240, 244, 1);
padding: 2vw;
box-sizing: border-box;
}
</style>