This commit is contained in:
Teng 2025-12-02 16:13:49 +08:00
commit edcf6342f5
9 changed files with 239 additions and 29 deletions

View File

@ -15,5 +15,4 @@
<style lang="scss">
@import "./uni_modules/vk-uview-ui/index.scss";
/*每个页面公共css */
</style>

View File

@ -61,3 +61,12 @@ export const queryQldWlInfo = (params) => {
data: params,
})
}
export const deleteGwcWl = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/qld/deleteGwcWl`,
method: 'post',
data: params,
})
}

View File

@ -3,14 +3,15 @@
<view class="kcyj">
<view class="kjlt">
请领物料
<view class="mhao" v-if="Material.length>0">{{Material.length}}</view>
</view>
<scroll-view scroll-x="true" class="kcscrol guodu"
scroll-with-animation :scroll-top="scrollleft" @scrolltolower="scrolltolower(1)">
scroll-with-animation :scroll-top="scrollleft" >
<view class="yjbox" v-for="(v,i) in Material" :key="i" @click="clickaddcar(v,i)">
<image :src="v.materialInfo.materialImg?serverUrl+v.materialInfo.materialImg:'/static/index/procurement/k.png'"
mode="aspectFill"></image>
<view>{{v.materialInfo.materialName}}</view>
<text class="ytj" v-if="v.isAdd==1">已添加</text>
<text class="ytj" v-if="v.qlNum>=0">{{v.qlNum}}</text>
</view>
<defaultr cont="暂无数据" v-if="Material.length==0&&timeout" style="position: absolute;width: 10vw;height: 10vw;"></defaultr>
</scroll-view>
@ -20,10 +21,15 @@
<image class="guodu" :style="qb?'transform: rotate(180deg);':''"
src="/static/index/procurement/zjt.png" mode="aspectFill"></image>
</view>
<view class="guodu" :class="qb?(moredex==1?'avt':''):'righ0'" @click="moredex=1;Invenshow=true">查看全部
<view class="guodu" :class="qb?(moredex==1?'avt':''):'righ0'" @click="moredex=1;Invenshow=true">
批量移除
</view>
<view class="guodu" :class="qb?(moredex==2?'avt':''):'righ0'" @click="moredex=2">
清空列表
</view>
<view class="guodu" :class="qb?(moredex==3?'avt':''):'righ0'" @click="moredex=3">
提交请领单
</view>
<view class="guodu" :class="qb?(moredex==2?'avt':''):'righ0'" @click="moredex=2">添加全部</view>
</view>
</view>
</view>
@ -39,13 +45,15 @@
});
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const scrollleft = ref(0)
watch(()=>props.Material,
()=>{
console.log(props.Material)
if(props.Material.length>5){
scrollleft.value = 100*props.Material.length
}
})
const qb = ref(false)
const moredex = ref(0)
// watch(()=>props.Material,
// ()=>{
// console.log(props.Material)
// if(props.Material.length>5){
// scrollleft.value = 100*props.Material.length
// }
// })
const timeout = ref(false)
onMounted(()=>{
setTimeout(()=>{
@ -74,7 +82,24 @@
letter-spacing: 3px;
font-size: 1.4vw;
position: relative;
z-index: 100;
z-index: 10;
.mhao{
width: 1.6vw;
min-height: 0vw;
border-radius: 0.8vw;
border: 1px solid #FF4E4E;
font-weight: 400;
font-size: 1.1vw;
color: #FF4E4E;
padding: 0.4vw 0vw;
position: absolute;
top: -0.8vw;
right: -0.4vw;
transform: rotate(-90deg);
display: flex;
justify-content: center;
align-items: center;
}
}
.more {
@ -136,7 +161,7 @@
white-space: nowrap;
margin-left: 0.6vw;
position: relative;
z-index: 99;
z-index: 9;
.yjbox {
display: inline-block;
@ -144,11 +169,11 @@
height: 10vw;
background: rgba(255, 255, 255, 0.5);
border-radius: 1.1vw;
margin-right: 0.6vw;
margin-right: 0.8vw;
position: relative;
.ytj {
width: 4.5vw;
min-width: 1.5vw;
height: 1.8vw;
background: #E3EEF7;
border-radius: 0.9vw;
@ -159,6 +184,7 @@
text-align: center;
line-height: 1.75vw;
position: absolute;
padding: 0 0.8vw;
top: 0.8vw;
right: 0.8vw;
}
@ -186,4 +212,9 @@
}
}
}
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
</style>

View File

@ -39,7 +39,8 @@
</view>
<view class="add" @click.stop="comfig(v,index,0)">
<view v-if="v.isAdd==1">已添加</view>
<image :src="'/static/index/procurement/+.png'" mode="aspectFill"></image>
<image v-if="v.isAdd!=1" :src="'/static/index/procurement/+.png'" mode="aspectFill"></image>
<image v-if="v.isAdd==1" :src="'/static/index/procurement/-.png'" mode="aspectFill"></image>
</view>
<view class="zkadd guodu" :class="v.isAdd==1?'zkf':''">
<view @click.stop="comfig(v,index,1)" @touchend.stop>
@ -55,7 +56,7 @@
</scroll-view>
</view>
</view>
<view style="height:6vw;width: 100%;display: flex;align-items: center;justify-content: center;">
<view style="height:3vw;width: 100%;display: flex;align-items: center;justify-content: center;">
<u-loadmore :status="status" :loadText="{nomore:'暂无更多数据'}" v-if="InvoicingList.length>6" />
</view>
</scroll-view>
@ -369,8 +370,8 @@
.itembox{
width: 100%;
height: 68vh;
padding: 0 2vw 0 0;
height: 64vh;
padding:1vw 2vw 0 0;
.box{
width: 100%;
@ -380,7 +381,7 @@
.fler{
width: 27.5vw;
height: 13vw;
margin-top: 0.9vw;
margin-bottom: 0.9vw;
.carditem{
width: 27.5vw;
height: 13vw;

View File

@ -470,5 +470,6 @@
z-index: 20;
top: 0;
left: 0;
background: RGBA(239, 240, 244, 0.55);
}
</style>

View File

@ -42,11 +42,11 @@
</view>
<view class="plsbuy-bottom">
<view class="quxiao" @click="emit('fill')">
取消
关闭
</view>
<view class="plsbuy-bottom-blue" @click="closeIt">
<!-- <view class="plsbuy-bottom-blue" @click="closeIt">
确定
</view>
</view> -->
</view>
</view>
</view>
@ -239,5 +239,6 @@ import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive }
z-index: 20;
top: 0;
left: 0;
background: RGBA(239, 240, 244, 0.55);
}
</style>

View File

@ -376,6 +376,7 @@
z-index: 20;
top: 0;
left: 0;
background: RGBA(239, 240, 244, 0.55);
}
.hei0 {
height: 0 !important;

View File

@ -0,0 +1,144 @@
<template>
<view>
<view class="addall guodu" :class="show?'':'unclass'" :style="showbox?'z-index:220':'z-index:-2'">
<view>温馨提示</view>
<view>
<image src="/static/index/procurement/ddj.png" mode="aspectFill"></image>
</view>
<view style="text-align: center;">{{ font }}</view>
<view>
<view @click="$emit('back')">取消</view>
<view class="qd" @click="$emit('right')">确定</view>
</view>
</view>
<view class="mengban" v-if="show" @click="$emit('back')"></view>
</view>
</template>
<script>
import { vShow } from 'vue';
export default {
props: {
show: {
type: Boolean,
default: false
},
font: {
type: String,
default: ''
},
},
data(){
return{
showbox:false
}
},
watch:{
show(n,o){
if(n){
setTimeout(()=>{
this.showbox = true
},50)
}else{
this.showbox = false
}
}
},
methods: {
}
}
</script>
<style scoped lang="less">
.addall {
width: 42.4vw;
height: 26vw;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
border-radius: 1.6vw;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
padding: 2.8vw;
z-index: 9120;
>view {
&:nth-child(4) {
width: 22vw;
display: flex;
justify-content: space-around;
margin: 1.8vw auto 0;
view {
width: 8.2vw;
height: 3.3vw;
background: #EDEDEF;
border-radius: 1.6vw;
font-weight: 400;
font-size: 1.6vw;
color: #888888;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #EDEDEF;
}
.qd {
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3, 133, 250, 0.34);
color: #0385FA;
}
}
&:nth-child(3) {
width: 33vw;
height: 3.4vw;
font-weight: 400;
font-size: 1.3vw;
color: #888888;
line-height: 1.7vw;
margin: 0.4vw auto 0;
}
&:nth-child(2) {
width: 7.6vw;
height: 7.6vw;
margin: 1.1vw auto 0;
image {
width: 100%;
height: 100%;
}
}
&:nth-child(1) {
font-weight: 400;
font-size: 1.6vw;
color: #333333;
}
}
}
.unclass {
opacity: 0 !important;
}
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 100;
background: RGBA(239, 240, 244, 0.55);
}
</style>

View File

@ -48,17 +48,19 @@
<takeing :show="takeshow" :objtake="objtake" @fill="takeshow = false" @right="right"></takeing>
<cgdclass @confirm="confirm" :show="ification" :typenum="0" ref="classication" @fill="ification = false"></cgdclass>
<medetails :show="detaishow" @fill="detaishow = false" @confirm="confirm" :objtake="objtake"></medetails>
<tanchuang @back="tanshow = false" :show="tanshow" font="确定将该物料从本次请领清单中移除吗?" @right="del"></tanchuang>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { queryInvoicingList,wlzd,queryGwcInfo,addGwc } from '../api/api.js'
import { queryInvoicingList,wlzd,queryGwcInfo,addGwc ,deleteGwcWl} from '../api/api.js'
import addwl from '../common/addwl.vue';
import carditem from '../common/carditem.vue';
import takeing from '../common/takeing.vue';
import cgdclass from '../common/cgdclass.vue';
import medetails from '../common/medetails.vue';
import tanchuang from '../common/tanchuang.vue';
const form = reactive({
pageNo:1,
pageSize:10,
@ -72,6 +74,7 @@
const takeshow = ref(false)
const ification = ref(false)
const detaishow = ref(false)
const tanshow = ref(false)
const classication = ref<InstanceType<typeof ChildComponent>>()
onMounted(()=>{
@ -100,7 +103,7 @@
})
listarr.value.push(...res.result.records)
status.value = (res.result.total == listarr.value.length ? 'nomore' : 'loadmore')
console.log( status.value )
console.log( listarr.value )
})
}
const scrolltolower = ( ) => {
@ -109,13 +112,32 @@
form.pageNo++;
config()
}
const del = ()=>{
deleteGwcWl({gwcId:objtake.value.gwcId}).then(res=>{
if(res.success){
tanshow.value = false;
objtake.value.isAdd = null;
wuliao();
}else{
uni.showToast({
icon:'none',
title:res.message
})
}
})
}
const objtake = ref({})
const comfig=(v,i,t)=>{
console.log(v,i,t)
switch (t){
case 0:
objtake.value = v;
takeshow.value = true;
objtake.value = v;
if(v.isAdd==1){
tanshow.value = true;
}else{
takeshow.value = true;
}
break;
case 1:
@ -164,6 +186,7 @@
console.log(res)
if(res.success){
takeshow.value = false;
v.isAdd = 1;
wuliao();
}else{
uni.showToast({