This commit is contained in:
wangweidong 2025-12-15 17:13:52 +08:00
commit eedd182ad7
17 changed files with 564 additions and 257 deletions

View File

@ -252,6 +252,7 @@
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
// max-width: 720rpx;
margin: 0 auto;
overflow: hidden;
}
.header {

View File

@ -61,6 +61,7 @@
line-height: 1.7vw;
flex-wrap: wrap;
margin-bottom: 4vw;
text-align: center;
}
.qd {

View File

@ -230,7 +230,7 @@
top:0;
left: 10vw;
>view {
margin-top: 0.25vw;
margin-top: 0vw;
&:nth-child(3) {
width: 100%;
@ -308,7 +308,7 @@
font-weight: bold;
font-size: 1.6vw;
color: #222222;
padding-top: 1.3vw;
padding-top: 1vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
@ -363,7 +363,7 @@
>image {
width: 8.5vw;
height: 7.5vw;
margin: 0.7vw auto 0.25vw;
margin: 0vw auto 0.25vw;
}
}
@ -384,7 +384,7 @@
height: 13vw;
margin-bottom: 0.9vw;
.carditem{
width: 27.5vw;
width: 28.3vw;
height: 13vw;
background: rgba(245, 246, 248, 1);
border-radius: 1.1vw;

View File

@ -228,7 +228,7 @@
top:0;
left: 10vw;
>view {
margin-top: 0.25vw;
margin-top: 0vw;
&:nth-child(3) {
width: 100%;
@ -307,7 +307,7 @@
font-size: 1.6vw;
color: #222222;
height: 3vw;
padding-top: 1.2vw;
padding-top: 1vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
@ -362,7 +362,7 @@
>image {
width: 8vw;
height: 7vw;
margin: 1vw auto 0.25vw;
margin: 0.3vw auto 0.25vw;
}
}

View File

@ -132,7 +132,7 @@
top:0;
left: 10vw;
>view {
margin-top: 0.25vw;
margin-top: 0vw;
&:nth-child(3) {
width: 100%;
@ -211,7 +211,7 @@
font-size: 1.6vw;
color: #222222;
height: 3vw;
padding-top: 1.2vw;
padding-top: 1vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
@ -252,9 +252,9 @@
}
>image {
width: 8.5vw;
height: 7.5vw;
margin: 0.7vw auto 0.25vw;
width: 7vw;
height: 7vw;
margin: 0.5vw auto 0.25vw;
}
}
}

View File

@ -440,8 +440,15 @@
const badshow = ref(false)
const zuofei = () => {
let data = {
qldNo: plsbuy.value[lefttarget.value].qldNo,
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
nuName: uni.getStorageSync('nuName'),
elderName: uni.getStorageSync(`NUall`).elderInfo.name
cancellation({ qldNo: plsbuy.value[lefttarget.value].qldNo }).then((res : any) => {
}
cancellation(data).then((res : any) => {
console.log('作废', res)
badshow.value = false
if (res.success) {
@ -933,8 +940,8 @@
align-items: center;
.left-image {
width: 150rpx;
height: 150rpx;
width: 140rpx;
height: 140rpx;
// margin: 15rpx 0;
margin-top: 10rpx;
margin-bottom: 15rpx;

View File

@ -288,8 +288,8 @@
plsbuy.value = [];
// console.log(res)
plsbuy.value.push(...res.result.records)
console.log("入参", plzinfo)
console.log("查看数组", res.result.records)
// console.log("", plzinfo)
// console.log("", res.result.records)
alltotal.value = res.result.total
// console.log("???", res)
@ -313,7 +313,7 @@
if(res.success){
rightinfolist();
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})
@ -377,7 +377,7 @@
if(res.success){
rightinfolist();
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})
@ -385,8 +385,15 @@
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const badshow = ref(false)
const zuofei = () => {
cancellation({ qldNo: plsbuy.value[lefttarget.value].qldNo }).then((res : any) => {
let data = {
qldNo: plsbuy.value[lefttarget.value].qldNo,
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
nuName: uni.getStorageSync('nuName'),
elderName: uni.getStorageSync(`NUall`).elderInfo.name
}
cancellation(data).then((res : any) => {
badshow.value = false
if (res.success) {
plsbuy.value[lefttarget.value] = res.result.result
@ -413,6 +420,7 @@
}
const tijiaoshow = ref(false);
const tijiao = ()=>{
let obj = {
nuId:plzinfo.nuId,
elderId:plzinfo.elderId,
@ -435,7 +443,7 @@
rightinfolist();
},800)
}else{
errmsg.value = res.result.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})

View File

@ -134,7 +134,7 @@
nuId: uni.getStorageSync('nuId')
}
queryQld(plzinfo0).then((res : any) => {
if ( res.result.records.length) {
if (res.result.records.length) {
isRead.value = true;
} else {
isRead.value = false;
@ -149,7 +149,7 @@
nuId: uni.getStorageSync('nuId')
}
queryQld(plzinfo1).then((res : any) => {
// console.log("22",res.result)
// console.log("22",res.result)
if (res.result.records.length) {
isQingling.value = true;
} else {
@ -181,7 +181,13 @@
})
}
const thclk = () => {
requireTH({ nuId: form.nuId, elderId: form.elderId }).then(res => {
let data = {
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
nuName: uni.getStorageSync('nuName'),
}
requireTH(data).then(res => {
if (res.success) {
thshow.value = false;
uni.showToast({
@ -190,7 +196,7 @@
})
} else {
thshow.value = false;
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
console.log("?????")
}
@ -238,7 +244,7 @@
objtake.value.isAdd = null;
objtake.value.qlNum = null;
} else {
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})
@ -254,7 +260,7 @@
item.gwcId = null;
})
} else {
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})
@ -304,7 +310,7 @@
config()
} else {
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})
@ -331,7 +337,7 @@
v.qlNum = e;
wuliao();
} else {
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})
@ -344,7 +350,7 @@
elderName: uni.getStorageSync(`NUall`).elderInfo.name
}
submitQld(obj).then(res => {
console.log("?????",obj,res)
console.log("?????111", obj, res)
if (res.success && res.result.status == 'success') {
uni.showToast({
icon: 'success',
@ -357,7 +363,7 @@
}, 800)
} else {
// console.log("!!!!!",res)
errmsg.value = res.result.message ? res.result.message : res.message
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})

View File

@ -44,7 +44,7 @@
<view class="middle-heng"></view>
<view class="pls-card-middle-one">
<view class="middle-title">
{{ v.fqTime.replace(/-/g, '.') }}
{{ v.fqTime.replace(/-/g, '.')?.slice(0,10) }}
</view>
<view class="middle-heng-father">
<image class="middle-ball-img" src="/static/index/requestform/isok.png" />
@ -61,7 +61,7 @@
<view class="pls-card-middle-one">
<view class="middle-title" v-if="v.logList[1]">
{{ v.logList[1].opeTime?.slice(0,10) }}
{{ v.logList[1].opeTime?.replace(/-/g, '.').slice(0,10) }}
</view>
<view class="middle-heng-father">
<image class="middle-ball-img" src="/static/index/requestform/isok.png" />
@ -400,7 +400,7 @@
top:0;
left: 10vw;
>view {
margin-top: 0.25vw;
margin-top: 0vw;
&:nth-child(3) {
width: 100%;
@ -479,7 +479,7 @@
font-size: 1.6vw;
color: #222222;
height: 3vw;
padding-top: 1.3vw;
padding-top: 1vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
@ -532,9 +532,9 @@
}
>image {
width: 8.5vw;
width: 7.5vw;
height: 7.5vw;
margin: 1.7vw auto 0.25vw;
margin: 0vw auto 0.25vw;
}
}
@ -547,16 +547,16 @@
background: #fff;
.box{
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
display: flex;
flex-wrap: wrap;
}
.fler{
width: 30.4vw;
width: 31.4vw;
height: 13vw;
margin-bottom: 0.9vw;
margin-left: 0.5vw;
.carditem{
width: 30.4vw;
width: 31vw;
height: 13vw;
background: rgba(245, 246, 248, 1);
border-radius: 1.1vw;

View File

@ -1,23 +1,24 @@
<template>
<view>
<view class="mengban" @click="emit('fill')" v-if="show"> </view>
<view class="qinglingdetails" :class="show?'':'unclass'" :style="showbox?'z-index:220':'z-index:-2'">
<view class="qinglingdetails" :class="show?'':'unclass'" :style="showbox?'z-index:220':'z-index:-2'">
<view class="tit">
<view>退货详情</view>
</view>
<view class="itemcan">
<text>请领区域:{{ uni.getStorageSync('nuName')}}</text>
<text>请领:{{uni.getStorageSync('realname')}}</text>
<text>请领日期:{{times}}</text>
<text>退货区域:{{ uni.getStorageSync('nuName')}}</text>
<text>退货:{{uni.getStorageSync('realname')}}</text>
<text>退货日期:{{times}}</text>
</view>
<view class="qlwl">
请领物料
退货物料
</view>
<scroll-view scroll-y="true" class="wuliaolist">
<view class="list">
<view class="card" v-for="(v,i) in list" :key='i'>
<view class="speitem guodu" >
<image :src="v.materialInfo?.materialImg?serverUrl+v.materialInfo?.materialImg:'/static/index/procurement/k.png'"
<view class="speitem guodu">
<image
:src="v.materialInfo?.materialImg?serverUrl+v.materialInfo?.materialImg:'/static/index/procurement/k.png'"
mode="aspectFill">
</image>
<view class="cardp">
@ -25,22 +26,22 @@
<view v-if="v.materialInfo?.typeName">{{v.materialInfo?.typeName}}</view>
</view>
</view>
<view class="msitem guodu" >
<view class="msitem guodu">
<view>
<view>{{v.materialInfo?.materialName}}</view>
</view>
<view>
<text style="white-space: nowrap;"> 规格型号: </text>
<text style="white-space: nowrap;"> 规格型号: </text>
<view>{{v.materialInfo?.specificationModel}}</view>
</view>
<view>
<view>
<text>{{v.thNum?v.thNum:'--'}}</text>
<text>请领数量</text>
<text>退货数量</text>
</view>
<view>
<text>{{v.materialInfo?.materialUnits}}</text>
<text>请领单位</text>
<text>退货单位</text>
</view>
</view>
</view>
@ -48,7 +49,7 @@
</view>
</scroll-view>
<view class="plsbuy-bottom">
<view class="quxiao" @click="emit('fill')">
<view class="quxiao" @click="emit('fill')">
取消
</view>
<view class="plsbuy-bottom-blue" @click="emit('config')">
@ -60,69 +61,73 @@
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import defaultr from '../components/default.vue'
const props = defineProps({
list: {
type: Array,
required: true
required: true
},
show: {
type: Boolean
},
thdt:{
type:Object
thdt: {
type: Object
}
})
const times = ref('')
onMounted(()=>{
let now = new Date();
let year = now.getFullYear();
let month = (now.getMonth() + 1)<10?'0'+(now.getMonth() + 1):(now.getMonth() + 1);
let day = now.getDay()<10?'0'+now.getDay():now.getDay();
times.value = year+'.'+month+'.'+day
onMounted(() => {
const now = new Date();
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, '0');
const day = String(now.getDate()).padStart(2, '0');
times.value = `${year}.${month}.${day}`;
})
const wuobj = ref({})
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const emit = defineEmits([ 'fill' ,'submit','config'])
const emit = defineEmits(['fill', 'submit', 'config'])
const showbox = ref(false)
watch(()=>props.show,
()=>{
watch(() => props.show,
() => {
console.log(props.list)
if(props.show==true){
setTimeout(()=>{
if (props.show == true) {
setTimeout(() => {
showbox.value = true
},50)
}else{
}, 50)
} else {
showbox.value = false;
}
})
</script>
<style scoped lang="less">
.qinglingdetails{
.qinglingdetails {
width: 60vw;
height: 49vw;
background:rgba(255, 255, 255, 0.98);
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163,167,182,0.16);
background: rgba(255, 255, 255, 0.98);
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
border-radius: 1.6vw;
position: fixed;
top:8vw;
top: 8vw;
left: 20vw;
z-index: 200;
padding:1vw 1.4vw;
.wuliaolist{
padding: 1vw 2vw;
.wuliaolist {
width: 100%;
height: 27vw;
.list{
.list {
width: 100%;
height: 100%;
display: grid;
grid-template-columns: 1fr 1fr ;
grid-template-columns: 1fr 1fr;
padding-left: 0.6vw;
.card{
.card {
width: 27.5vw;
height: 13vw;
background: rgba(247, 247, 247, 0.5);
@ -131,36 +136,42 @@
overflow: hidden;
margin-bottom: 1.1vw;
padding: 1vw;
.msitem {
width: 11.5vw;
height: 100%;
position: absolute;
top:0;
top: 0;
left: 10vw;
>view {
margin-top: 0.25vw;
&:nth-child(3) {
width: 100%;
height: 3.4vw;
display: flex;
justify-content: space-between;
>view {
width: 50%;
height: 100%;
display: flex;
flex-direction: column;
position: relative;
margin-top:1vw;
margin-top: 1vw;
white-space: nowrap;
&:nth-child(1){
&:nth-child(1) {
padding-right: 1.7vw;
align-items: flex-start;
}
&:nth-child(2){
&:nth-child(2) {
padding-left: 1.7vw;
align-items: flex-start;
}
&:nth-child(1)::after {
content: '';
position: absolute;
@ -170,14 +181,14 @@
border-right: 1px solid #C9C9C9;
top: 0.6vw;
}
text {
&:nth-child(1) {
font-weight: bold;
font-size: 1.7vw;
color: #555555;
}
&:nth-child(2) {
font-weight: 400;
font-size: 1.1vw;
@ -187,20 +198,21 @@
}
}
}
&:nth-child(2) {
&:nth-child(2) {
display: flex;
justify-content: space-between;
flex-direction: column;
margin-top: 0.1vw;
view{
view {
font-size: 1.4vw;
color: #888888;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
text {
font-weight: 400;
font-size: 1.1vw;
@ -208,15 +220,15 @@
margin-top: 0.25vw;
}
}
&:nth-child(1) {
view{
view {
display: inline-block;
width: 10vw;
font-weight: bold;
font-size: 1.6vw;
color: #222222;
height: 3vw;
height: 3.1vw;
padding-top: 1.3vw;
text-overflow: ellipsis;
overflow: hidden;
@ -225,22 +237,25 @@
}
}
}
.speitem {
width: 10vw;
height: 100%;
display: inline-flex;
flex-direction: column;
position: absolute;
top:0;
top: 0;
left: 0;
.cardp {
width:8vw;
width: 8vw;
height: 4vw;
display: flex;
margin: 0 auto;
align-items: center;
justify-content: center;
flex-direction: column;
view {
min-width: 5.5vw;
height: 1.8vw;
@ -256,7 +271,7 @@
padding: 0 0.25vw;
}
}
>image {
width: 8.5vw;
height: 7.5vw;
@ -266,25 +281,29 @@
}
}
}
.qlwl{
.qlwl {
width: 100%;
height: 3vw;
font-weight: 400;
font-size: 1.4vw;
color: #555555;
}
.itemcan{
.itemcan {
width: 100%;
height: 6.6vw;
display: flex;
justify-content: space-between;
align-items: center;
text{
text {
font-weight: 400;
font-size: 1.4vw;
color: #888888;
}
}
.tit {
width: 100%;
height: 3.5vw;
@ -298,7 +317,8 @@
border-bottom: 1px solid #E5E5E5;
}
}
.mengban{
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
@ -307,20 +327,25 @@
left: 0;
background: RGBA(239, 240, 244, 0.55);
}
.hei0 {
height: 0 !important;
view{
view {
height: 0 !important;
}
}
.unclass {
opacity: 0 !important;
}
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
.plsbuy-bottom {
width: 100%;
margin-top: 2vw;
@ -329,26 +354,30 @@
justify-content: flex-end;
font-size: 35rpx;
padding-right: 1vw;
view{
view {
display: flex;
justify-content: center;
align-items: center;
min-width: 9.1vw;
height: 3.8vw;
color: rgba(92, 121, 146, 1);
border-radius:1.9vw;
border-radius: 1.9vw;
font-size: 1.8vw;
border: 1px solid #EDEDEF;
margin-left: 1vw;
padding: 0 2vw;
}
.quxiao{
.quxiao {
background: #EDEDEF;
color: #999999;
}
.plsbuy-bottom-blue {
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
border: 1px solid rgba(3,133,250,0.34);
border: 1px solid rgba(3, 133, 250, 0.34);
color: #0385FA;
}
}
</style>
</style>

View File

@ -32,14 +32,15 @@
</view>
</view>
<view class="qinggou-font">
数量 <text style="color: red;" v-if="sx==true">超过退货上限</text>
数量
</view>
<view class="stringShow-father">
<view class="jj" @click="jjnum(-1)" @longpress="handleTouchStart(-1)" @touchend="handleTouchEnd">
-
</view>
<!-- :style="sx==true?'color: red':''" -->
<view class="stringShow-kuai">
<view v-for="(item,index) in stringShow" :key="index" :style="sx==true?'color: red':''">
<view v-for="(item,index) in stringShow" :key="index">
{{item}}
</view>
@ -239,6 +240,7 @@
}
.quxiao{
background: #EDEDEF;
color: #999999;
}
.plsbuy-bottom-blue {
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
@ -329,6 +331,7 @@
font-size: 1.4vw;
font-weight: 500;
text-align: center;
margin-left: 1.5vw;
}
.cont{

View File

@ -61,6 +61,7 @@
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import taking from './takeing.vue'
import defaultr from '../components/default.vue'
const props = defineProps({
InvoicingList: {
type: Array,
@ -225,13 +226,13 @@
}
}
.msitem {
width: 11.5vw;
width: 11vw;
height: 100%;
position: absolute;
top:0;
left: 10vw;
>view {
margin-top: 0.25vw;
margin-top: 0vw;
&:nth-child(3) {
width: 100%;
@ -309,8 +310,8 @@
font-weight: bold;
font-size: 1.6vw;
color: #222222;
height: 3vw;
padding-top: 1.3vw;
height: 3.1vw;
padding-top: 1vw;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
@ -340,7 +341,7 @@
left: 0;
.cardp {
width:8vw;
height: 4vw;
height: 4.2vw;
display: flex;
margin: 0 auto;
align-items: center;
@ -363,9 +364,9 @@
}
>image {
width: 8.5vw;
width: 7.5vw;
height: 7.5vw;
margin: 1.7vw auto 0.25vw;
margin: 0vw auto 0.25vw;
}
}
@ -373,21 +374,24 @@
.itembox{
width: 100%;
height: calc(100vh - 23vw);
height: calc(100vh - 22vw);
padding:1vw 0.5vw 1vw;
background: #fff;
.box{
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
display: flex;
flex-wrap: wrap;
// display: grid;
// grid-template-columns: 1fr 1fr;
}
.fler{
width: 30.4vw;
width: 31.5vw;
height: 13vw;
margin-bottom: 0.9vw;
margin-left: 0.5vw;
.carditem{
width: 30.4vw;
width: 31vw;
height: 13vw;
background: rgba(245, 246, 248, 1);
border-radius: 1.1vw;

View File

@ -3,12 +3,20 @@
<view class="kcyj">
<view class="kjlt">
退货物料
<view class="mhao" v-if="Material.length>0">{{Material.length}}</view>
<!-- <view class="mhao" v-if="Material.length>0">{{Material.length}}</view> -->
<view class="mhao" v-if="Material.length>0">
<view class="mhao-font">
{{Material.length}}
</view>
</view>
</view>
<scroll-view scroll-x="true" class="kcscrol guodu" @scroll="onScroll" :class="Material.length==0?'fff':''"
scroll-with-animation :scroll-left="scrollleft" :style="qb?'width:calc(100% - 21.8vw)':status<2?'width:calc(100% - 9vw)':'width:calc(100% - 5vw)' ">
<view class="yjbox" v-for="(v,i) in Material" :key="i" >
<image :src="v.materialInfo?.materialImg?serverUrl+v.materialInfo?.materialImg:'/static/index/procurement/k.png'"
<scroll-view scroll-x="true" class="kcscrol guodu" @scroll="onScroll" :class="Material.length==0?'fff':''"
scroll-with-animation :scroll-left="scrollleft"
:style="qb?'width:calc(100% - 21.8vw)':status<2?'width:calc(100% - 9vw)':'width:calc(100% - 5vw)' ">
<view class="yjbox" v-for="(v,i) in Material" :key="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.thNum>=0">{{v.thNum}}</text>
@ -16,9 +24,11 @@
<view>-</view>
</view>
</view>
<defaultr cont="暂无数据" v-if="Material.length==0&&timeout" style="position: absolute;width: 10vw;height: 10vw;"></defaultr>
<defaultr cont="暂无数据" v-if="Material.length==0&&timeout"
style="position: absolute;width: 10vw;height: 10vw;"></defaultr>
</scroll-view>
<view class="kjlt more guodu" :style="qb?'width:15vw':'' " @touchstart="ts" @touchmove="canmove" v-if="status<2">
<view class="kjlt more guodu" :style="qb?'width:15vw':'' " @touchstart="ts" @touchmove="canmove"
v-if="status<2">
<view @click="zksq" class="righ0">
{{!qb?'更多':'收起'}}
<image class="guodu" :style="qb?'transform: rotate(180deg);':''"
@ -30,7 +40,8 @@
<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;emit('submit')" v-if="status==1">
<view class="guodu" :class="qb?(moredex==3?'avt':''):'righ0'" @click="moredex=3;emit('submit')"
v-if="status==1">
提交退货单
</view>
</view>
@ -40,49 +51,49 @@
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import defaultr from '../components/default.vue'
import tanchuang from '../components/tanchuang.vue';
const props = defineProps({
Material:{
type:Array,
Material: {
type: Array,
required: true,
},
status:{
type:String
status: {
type: String
}
});
const emit = defineEmits([ 'delall' ,'del','submit'])
const emit = defineEmits(['delall', 'del', 'submit'])
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const qb = ref(false)
const moredex = ref(0)
watch(()=>props.Material,
()=>{
if(props.Material.length==0){
qb.value = false;
moredex.value=0;
}
})
const delall = ()=>{
watch(() => props.Material,
() => {
if (props.Material.length == 0) {
qb.value = false;
moredex.value = 0;
}
})
const delall = () => {
emit('delall');
setTimeout(()=>{
setTimeout(() => {
moredex.value = 0;
qb.value = false;
},100)
}, 100)
}
const del =(v)=>{
emit('del',v)
const del = (v) => {
emit('del', v)
}
const zksq = () =>{
if(props.Material.length==0){
const zksq = () => {
if (props.Material.length == 0) {
uni.showToast({
icon:'none',
title:'请添加退货物料!'
icon: 'none',
title: '请添加退货物料!'
})
return
}
qb.value=!qb.value;
moredex.value=0;
qb.value = !qb.value;
moredex.value = 0;
moveleft();
}
const startX = ref(0)
@ -96,7 +107,7 @@
}
const scrollleft = ref(0)
const canmove = (e : any) => {
if(props.Material.length==0){ return }
if (props.Material.length == 0) { return }
const moveX = e.touches[0].clientX
const diff = moveX - startX.value
// diff
@ -132,10 +143,10 @@
}
}
const timeout = ref(false)
onMounted(()=>{
setTimeout(()=>{
onMounted(() => {
setTimeout(() => {
timeout.value = true
},500)
}, 500)
})
</script>
@ -147,10 +158,12 @@
margin-top: 1vw;
position: relative;
padding-left: 1vw;
.fff{
.fff {
background: #fff;
border-radius: 1.1vw;
}
.kjlt {
width: 3.2vw;
height: 10vw;
@ -165,22 +178,30 @@
position: relative;
z-index: 10;
background: #FFFFFF;
.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;
.mhao {
position: absolute;
top: -0.8vw;
right: -0.4vw;
transform: rotate(-90deg);
top: -0.2vw;
/* 根据视觉需要微调 */
right: -0.2vw;
box-sizing: border-box;
width: 1.8vw;
height: 1.8vw;
border-radius: 50%;
border: 1px solid #FF4E4E;
color: #FF4E4E;
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
background: transparent;
writing-mode: horizontal-tb;
overflow: hidden;
.mhao-font {
font-size: 25rpx;
letter-spacing: -0.05em;
/* 负值 = 字符之间更近 */
}
}
}
@ -229,7 +250,7 @@
right: 7.7vw;
z-index: 2;
}
&:nth-child(4) {
right: 11.6vw;
z-index: 2;
@ -242,14 +263,15 @@
}
}
.kcscrol {
width:calc(100% - 10vw);
width: calc(100% - 10vw);
height: 10vw;
white-space: nowrap;
margin-left: 0.6vw;
position: relative;
z-index: 9;
.yjbox {
display: inline-block;
@ -259,14 +281,16 @@
border-radius: 1.1vw;
margin-right: 0.8vw;
position: relative;
.zhanwei{
.zhanwei {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 200;
view{
view {
position: absolute;
width: 2.2vw;
height: 2.2vw;
@ -285,6 +309,7 @@
color: rgba(255, 78, 78, 1);
}
}
.ytj {
min-width: 1.5vw;
height: 1.8vw;
@ -297,7 +322,7 @@
text-align: center;
line-height: 1.75vw;
position: absolute;
padding: 0 0.8vw;
padding: 0 0.8vw;
top: 0.8vw;
right: 0.8vw;
}
@ -325,6 +350,7 @@
}
}
}
.guodu {
transition: .4s;
-webkit-transform-style: preserve-3d;

View File

@ -91,11 +91,16 @@
:status="status" @crk="crk"></carditem>
</view>
<view class="fiedright">
<view @click="uni.navigateTo({ url:'/pages/procurement/materialcar' })">
<view @click="uni.navigateTo({ url:'/pages/procurement/materialcar' })" class="fiedrightview">
<image src="/static/index/procurement/gc1.png" mode="aspectFill"></image>
<text v-if="carnum>0">{{carnum>99?'99+':carnum}}</text>
<!-- <text v-if="carnum>0">{{carnum>99?'99+':carnum}}</text> -->
<view class="mhao" v-if="carnum>0">
<view class="mhao-font">
{{carnum}}
</view>
</view>
</view>
<view @click="uni.navigateTo({ url:'/pages/procurement/purchaseorder' })">
<view @click="uni.navigateTo({ url:'/pages/procurement/purchaseorder' })" class="fiedrightview">
<image src="/static/index/procurement/cg.png" mode="aspectFill"></image>
</view>
</view>
@ -395,7 +400,7 @@
title:res.message
})
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
adfangdou.value = true;
}
@ -475,8 +480,8 @@
display: flex;
flex-direction: column;
justify-content: space-between;
view {
.fiedrightview{
width: 5vw;
height: 5vw;
background: rgba(255, 255, 255, 0.86);
@ -486,7 +491,7 @@
justify-content: center;
align-items: center;
position: relative;
text {
min-width: 1.8vw;
height: 1.8vw;
@ -503,12 +508,13 @@
top: -0.8vw;
right: -0.8vw;
}
image {
width: 3.3vw;
height: 3.3vw;
}
}
}
.listcard {
@ -699,7 +705,7 @@
display: flex;
justify-content: center;
letter-spacing: 3px;
font-size: 1.4vw;
font-size: 1.5vw;
position: relative;
z-index: 100;
}
@ -971,6 +977,28 @@
z-index: 100;
background: RGBA(239, 240, 244, 0.55);
}
.mhao {
position: absolute;
top: -0.2vw;
/* 根据视觉需要微调 */
right: -0.2vw;
box-sizing: border-box;
width: 1.8vw;
height: 1.8vw;
border-radius: 50%;
border: 1px solid #FF4E4E;
color: #FF4E4E;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
writing-mode: horizontal-tb;
overflow: hidden;
.mhao-font{
font-size: 25rpx;
letter-spacing: -0.05em; /* 负值 = 字符之间更近 */
}
}
</style>
<style>
page {

View File

@ -159,7 +159,7 @@
InvoicingList.value = [];
chongzhi()
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
open.value = 0;
@ -187,7 +187,7 @@
classication.value.getTreelnum()
},800)
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
@ -235,7 +235,7 @@
title:res.message
})
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
adfangdou.value = true;
@ -270,7 +270,7 @@
caigouflag.value = true;
uni.hideLoading();
}else{
errmsg.value = res.message;
errmsg.value = res.result?.message ? res.result?.message : res.message
openerror.value = true;
}
})

View File

@ -29,8 +29,7 @@
批量选择
</view>
</view>
<view class="right-button" @click="huituiclick()"
v-show="plsbuy[lefttarget]?.status==`1`">
<view class="right-button" @click="huituiclick()" v-show="plsbuy[lefttarget]?.status==`1`">
<image src="/static/index/warehouse/procurement/picking/huitui.png" />
<view>
回退
@ -379,7 +378,7 @@
rightarray.value.push(...element.result)
rightdonghua.value = true;
})
}else{
} else {
rightarray.value = []
}
@ -473,9 +472,15 @@
})
const badshow = ref(false)
const huitui = () => {
console.log("????",uni.getStorageSync(`NUall`))
let data = {
qldNo: plsbuy.value[lefttarget.value].qldNo,
nuId: uni.getStorageSync('nuId'),
nuName: uni.getStorageSync('nuName'),
orderReturn({ qldNo: plsbuy.value[lefttarget.value].qldNo }).then((res : any) => {
// console.log('退', res)
}
orderReturn(data).then((res : any) => {
console.log('回退', res)
badshow.value = false
if (res.success) {
plsbuy.value[lefttarget.value] = res.result.result
@ -548,7 +553,7 @@
}
}
const huituiclick = () => {
if(manyselect.value){
if (manyselect.value) {
console.log("55555")
selectarray.value = [];
manyselect.value = false
@ -556,8 +561,8 @@
setTimeout(() => {
leftscrolltop.value = 0
}, 50)
}else{
} else {
badshow.value = true
}
}
@ -576,7 +581,15 @@
qinglingshow.value = true
return
}
outbound({ qldNo: manyselect.value ? selectarray.value.join(',') : plsbuy.value[lefttarget.value].qldNo }).then((res : any) => {
let data = {
qldNo: manyselect.value ? selectarray.value.join(',') : plsbuy.value[lefttarget.value].qldNo,
nuId: uni.getStorageSync('nuId'),
// elderId: uni.getStorageSync('NUall').elderId,
nuName: uni.getStorageSync('nuName'),
// elderName: uni.getStorageSync(`NUall`).elderInfo.name
}
outbound(data).then((res : any) => {
selectarray.value = [];
manyselect.value = false
chukushow.value = false

View File

@ -2,16 +2,38 @@
<view>
<view class="serchs">
<view class="leftbtn">
<view class="ipt">
<input type="text" placeholder="退货单号/退货人/退货日期" v-model="form.searchContent" @confirm="search()" />
<image src="/static/index/procurement/x.png" mode="aspectFill" v-if="form.searchContent"
@click="search(0)"></image>
<view class="ipt" @click="opendata=true">
<view class="more-time-select">
<view class="more-gray" v-show="!form.fqStartTime">
开始日期
</view>
<view class="more-black" v-show="form.fqStartTime">
{{ form.showstart }}
</view>
<view style="font-size: 32rpx;">
</view>
<view class="more-gray" v-show="!form.fqEndTime">
结束日期
</view>
<view class="more-black" v-show="form.fqEndTime">
{{ form.showend }}
</view>
</view>
</view>
<view @click="search" class="scr">
<view @click="opendata=true" class="scr">
<image src="/static/index/procurement/sh.png" mode="aspectFill" class="sh"></image>
检索
</view>
<view class="scr" @click="chongzhi">
<image src="/static/index/requestform/chongzhi.png" mode="aspectFill"></image>
<view>
重置
</view>
</view>
</view>
<view class="rightbtn">
<view class="back" @click="uni.navigateBack()">
@ -44,13 +66,13 @@
</view>
<view class="ritcon">
<view class="rq">
退货日期<text>{{v.fqTime.substring(0, 10)}}</text>
退货日期<text>{{v.fqTime?.replace(/-/g, '.').substring(0, 10)}}</text>
</view>
<view class="rq">
申请人{{v.fqrName}}
</view>
<view class="fwjd" v-if="v.status==0">
<view class="jx" @click.stop="start(v,i)">开始服务</view>
<view class="jx" @click="start(v,i)">开始服务</view>
<view>服务结束</view>
</view>
<view class="fwjd" v-if="v.status==1">
@ -59,7 +81,7 @@
</view>
<view class="fwjd" v-if="v.status==2">
<view>开始服务</view>
<view class="jx" @click.stop="end(v,i)">服务结束</view>
<view class="jx" @click="end(v,i)">服务结束</view>
</view>
<view class="fwjd" v-if="v.status==3">
<view>开始服务</view>
@ -75,7 +97,8 @@
</view>
<view class="rightscr">
<view class="thwl">
<thwl :Material="addMaterial" @delall="delall" @del="adddel" @submit="submit" :status="tharrlist[cardindex]?.status"></thwl>
<thwl :Material="addMaterial" @delall="delall" @del="adddel" @submit="submit"
:status="tharrlist[cardindex]?.status"></thwl>
<!-- -->
</view>
<view class="carditem">
@ -83,11 +106,24 @@
</view>
</view>
</view>
<tanchuang @back="tanshow = false" :show="tanshow" font="确定将该物料从本次请领清单中移除吗?" @right="del"></tanchuang>
<submits :show="subshow" :list="addMaterial" @fill="subshow = false" :thdt="tharrlist[cardindex]" @config="tijiao"></submits>
<view class="thdfed" @click="uni.navigateTo({ url:'/pages/procurement/authorization' })" v-if="carnum>0">
<tanchuang @back="tanshow = false" :show="tanshow" font="确定将该物料从本次退货清单中移除吗?" @right="del"></tanchuang>
<submits :show="subshow" :list="addMaterial" @fill="subshow = false" :thdt="tharrlist[cardindex]"
@config="tijiao"></submits>
<view class="thdfed" @click="uni.navigateTo({ url:'/pages/procurement/authorization' })" v-if="carnum>0">
<image src="/static/index/procurement/thd.png" mode="aspectFill"></image>
<text v-if="carnum>0">{{carnum>99?'99+':carnum}}</text>
<!-- <text v-if="carnum>0">{{carnum>99?'99+':carnum}}</text> -->
<view class="mhao" v-if="carnum>0">
<view class="mhao-font">
{{carnum}}
</view>
</view>
</view>
<!-- 日期 -->
<view class="calendar-father" v-show="opendata" v-if="xiaohui">
<calendar @datachange="dateget" />
</view>
<view v-show="opendata" class="mengban" :style="opendata ?{background:`transparent`}:{}"
@click="opendata=false;">
</view>
</view>
</template>
@ -95,16 +131,24 @@
<script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineComponent } from 'vue';
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import { thdList, transRead, thdNuMaterialList, addThc, thcList, removeWl, removeAll, submitThd ,startServe , finishServe} from './api/lunpan.js'
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
import { thdList, transRead, thdNuMaterialList, addThc, thcList, removeWl, removeAll, submitThd, startServe, finishServe } from './api/lunpan.js'
import thwl from './common/thwl.vue'
import thitem from './common/thitem.vue'
import tanchuang from './components/tanchuang.vue'
import submits from './common/submits.vue'
import calendar from '@/component/public/calendar.vue'
const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const opendata = ref(false);
const form = reactive({
pageNo: 1,
pageSize: 10,
searchContent: ''
searchContent: '',
fqStartTime: "",
fqEndTime: "",
showstart:"",
showend:""
})
const tanshow = ref(false)
const subshow = ref(false)
@ -112,19 +156,19 @@
onMounted(() => {
thlist()
})
onShow(()=>{
onShow(() => {
ritbot();
})
const ritbot = () =>{
const ritbot = () => {
let forms = {
pageNo: 1,
pageSize: 10,
status:3,
searchContent: ''
}
thdList(forms).then(res => {
carnum.value = res.result.total;
})
status: 3,
searchContent: ''
}
thdList(forms).then(res => {
carnum.value = res.result.total;
})
}
const submit = () => {
cardcon(tharrlist.value[cardindex.value], cardindex.value);
@ -136,7 +180,7 @@
submitThd({ id: tharrlist.value[cardindex.value].id }).then(res => {
if (res.success) {
subshow.value = false;
th(tharrlist.value[cardindex.value],cardindex.value)
th(tharrlist.value[cardindex.value], cardindex.value)
setTimeout(() => {
cardcon(tharrlist.value[cardindex.value], cardindex.value);
}, 200)
@ -148,18 +192,18 @@
}
})
}
const th = (v,i) =>{
let obj = {refreshDataKey:v.id}
const th = (v, i) => {
let obj = { refreshDataKey: v.id }
thdList(obj).then(res => {
tharrlist.value[i] = res.result.records[0];
ritbot();
})
}
const start = (v,i) =>{
startServe({id:v.id}).then(res=>{
if(res.success){
th(v,i)
}else{
const start = (v, i) => {
startServe({ id: v.id }).then(res => {
if (res.success) {
th(v, i)
} else {
uni.showToast({
icon: 'none',
title: res.message
@ -167,12 +211,12 @@
}
})
}
const end = (v,i)=>{
finishServe({id:v.id}).then(res=>{
const end = (v, i) => {
finishServe({ id: v.id }).then(res => {
console.log(res)
if(res.success){
th(v,i)
}else{
if (res.success) {
th(v, i)
} else {
uni.showToast({
icon: 'none',
title: res.message
@ -180,12 +224,7 @@
}
})
}
const search = (e) => {
if (e == 0) { form.searchContent = '' }
form.pageNo = 1;
tharrlist.value = [];
thlist()
}
const status = ref('loadmore')
const plsbuytolower = () => {
if (status.value == 'loading' || status.value == 'nomore') { return }
@ -196,10 +235,21 @@
const tharrlist = ref([])
const thlist = () => {
thdList(form).then(res => {
console.log("red", res.result.records)
tharrlist.value.push(...res.result.records);
status.value = res.result.total == tharrlist.value.length ? 'nomore' : 'loadmore';
if (form.pageNo == 1) {
cardcon(tharrlist.value[cardindex.value], cardindex.value);
// cardcon(tharrlist.value[cardindex.value], cardindex.value);
//
cardindex.value = cardindex.value;
cardtop.value = Math.floor(cardindex.value - 1) * 154;
console.log(tharrlist.value[cardindex.value])
wuliao();
thdNuMaterialList({ nuId: tharrlist.value[cardindex.value].nuId, id: tharrlist.value[cardindex.value].id }).then(res => {
console.log(res)
cardarr.value = res.result
})
}
})
}
@ -242,13 +292,13 @@
title: '提交成功'
})
setTimeout(() => {
th(tharrlist.value[cardindex.value],cardindex.value);
th(tharrlist.value[cardindex.value], cardindex.value);
cardcon(tharrlist.value[cardindex.value], cardindex.value);
}, 800)
} else {
uni.showToast({
icon: 'none',
title: res.result.message?res.result.message:res.message
title: res.result.message ? res.result.message : res.message
})
}
})
@ -296,10 +346,40 @@
}
})
}
type datetype = {
start : string,
end : string
}
//
const xiaohui = ref(true);
const chongzhi = () => {
xiaohui.value = false;
setTimeout(() => {
xiaohui.value = true;
}, 300)
form.showstart = ""
form.showend = ""
form.fqStartTime = "";
form.fqEndTime = "";
form.pageNo = 1;
tharrlist.value = [];
thlist()
}
const dateget = (res : datetype) => {
console.log("res", res)
form.showstart = res.start.replace(/-/g, '.')
form.showend = res.end.replace(/-/g, '.')
form.fqStartTime = res.start.replace(/-/g, '.') + ` 00:00:00`;
form.fqEndTime = res.end.replace(/-/g, '.') + ` 00:00:00`;
form.pageNo = 1;
tharrlist.value = [];
console.log("0000",form)
thlist()
}
</script>
<style scoped lang="less">
.thdfed{
.thdfed {
width: 4.9vw;
height: 4.9vw;
background: rgba(255, 255, 255, 0.86);
@ -310,7 +390,8 @@
align-items: center;
position: fixed;
right: 1vw;
bottom:4.3vw;
bottom: 4.3vw;
text {
min-width: 1.8vw;
height: 1.8vw;
@ -327,11 +408,13 @@
top: -0.8vw;
right: -0.8vw;
}
image{
image {
width: 3.3vw;
height: 3.3vw;
}
}
.carditem {
width: 100%;
@ -339,7 +422,7 @@
.thwl {
width: 100%;
height: 12vw;
height: 11vw;
}
.leftscrol {
@ -357,7 +440,7 @@
background: rgba(255, 255, 255, 0.6);
border-radius: 1.6vw;
padding: 1vw 1.4vw;
border: 2px solid rgba(255, 255, 255, 0.6);
border: 2px solid rgba(255, 255, 255, 0.01);
margin-bottom: 0.8vw;
position: relative;
@ -366,8 +449,8 @@
height: 1.2vw;
border-radius: 50%;
position: absolute;
right: 0;
top: 0;
right: -0.3vw;
top: -0.5%;
background: rgba(255, 87, 87, 1);
}
@ -565,11 +648,13 @@
.ipt {
display: flex;
align-items: center;
width: 27vw;
width: 22.2vw;
background: #E2E4E9;
border-radius: 1.65vw;
height: 3.3vw;
image {
width: 1.8vw;
height: 1.8vw;
@ -581,7 +666,7 @@
height: 3.3vw;
font-size: 1.4vw;
padding-left: 1.6vw;
// z-index: -1;
}
}
@ -643,6 +728,102 @@
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
.mhao {
position: absolute;
top: -0.2vw;
/* 根据视觉需要微调 */
right: -0.2vw;
box-sizing: border-box;
width: 1.8vw;
height: 1.8vw;
border-radius: 50%;
border: 1px solid #FF4E4E;
color: #FF4E4E;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
writing-mode: horizontal-tb;
overflow: hidden;
.mhao-font {
font-size: 25rpx;
letter-spacing: -0.05em;
/* 负值 = 字符之间更近 */
}
}
.calendar-father {
position: fixed;
top: 130rpx;
left: 30rpx;
width: 700rpx;
height: 600rpx;
background-color: #fff;
z-index: 999;
}
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 100;
background: RGBA(239, 240, 244, 0.55);
}
.more-time-select {
// margin-top: 30rpx;
width: 100%;
height: 3vh;
display: flex;
align-items: center;
background-color: #E5E6EB;
border-radius: 30rpx;
position: relative;
.more-gray {
color: #999999;
font-size: 30rpx;
width: 220rpx;
display: flex;
justify-content: center;
align-items: center;
}
.more-black {
font-size: 28rpx;
width: 220rpx;
display: flex;
justify-content: center;
align-items: center;
}
}
.shx {
width: 7vw;
height: 3.3vw;
background-color: #fff;
border-radius: 1.65vw;
border: 1px solid #D9DADC;
font-weight: 400;
font-size: 1.4vw;
display: flex;
justify-content: center;
align-items: center;
margin: 0 0 0 0.5vw;
color: #555555;
image {
width: 1.5vw;
height: 1.5vw;
margin: 0 0.2vw 0 0;
}
}
</style>
<style>
page {