This commit is contained in:
wangweidong 2025-11-17 16:35:37 +08:00
commit 5f4c729e7d
12 changed files with 3055 additions and 176 deletions

View File

@ -2,21 +2,31 @@
<view class="calendar">
<view class="header">
<view class="header-title">
<view class="year-month">{{ year }}{{ month + 1 }}</view>
<view class="botton-father">
<view class="click-button" @click="prevMonth">上个月</view>
<view class="click-button" @click="nextMonth">下个月</view>
<view class="head-left">
<image class="head-img" src="/static/index/calendar/superleft.png" @click="prevYear" />
<image class="head-img" src="/static/index/calendar/left.png" @click="prevMonth" />
</view>
<view class="year-month">{{ year }}{{ month + 1 }}</view>
<view class="head-left">
<image class="head-img" src="/static/index/calendar/right.png" @click="nextMonth" />
<image class="head-img" src="/static/index/calendar/superright.png" @click="nextYear" />
</view>
</view>
<view class="weekdays">
<view v-for="(day, idx) in weekdays" :key="idx" class="weekday">{{ day }}</view>
</view>
</view>
<view class="days">
<view v-for="cell in cells" :key="cell.key" class="day-cell"
:class="{'prev-month': cell.prev,'next-month': cell.next,selected: isSelected(cell.key)}"
@click="selectDate(cell)">
<view v-for="cell in cells" :key="cell.key" class="day-cell" :class="{
'prev-month': cell.prev,
'next-month': cell.next,
'start': isStart(cell.key),
'end': isEnd(cell.key),
'in-range': isInRange(cell.dateNumber)
}" @click="selectDate(cell)">
<view class="gregorian">{{ cell.dateText }}</view>
<view class="lunar" v-if="cell.lunarText">{{ cell.lunarText }}</view>
</view>
@ -31,66 +41,182 @@
} from 'vue';
import solarlunar from 'solarlunar'; // npm install solarlunar
//
const now = new Date();
const year = ref(now.getFullYear());
const month = ref(now.getMonth());
const month = ref(now.getMonth()); // 0-based
// key
const selectedKey = ref(null);
// / key (: YYYY-MM-DD)
const startKey = ref(null);
const endKey = ref(null);
//
// 便 YYYYMMDD
function toDateNumber(y, m, d) {
// m 0-base
const mm = m + 1;
return y * 10000 + mm * 100 + d;
}
// keym 0-base =>
function formatKey(y, m, d) {
const mm = String(m + 1).padStart(2, '0');
const dd = String(d).padStart(2, '0');
return `${y}-${mm}-${dd}`;
}
// ..
const weekdays = ['一', '二', '三', '四', '五', '六', '日'];
// Monday = 0
const firstWeekdayOfMonth = (y, m) => {
const d = new Date(y, m, 1).getDay();
return (d + 6) % 7;
const d = new Date(y, m, 1).getDay(); // 0 (Sun) - 6 (Sat)
return (d + 6) % 7; // Monday=0 .. Sunday=6
};
const cells = computed(() => {
// 6*7 (42) cells
function buildCells(y, m) {
const list = [];
const prevMonthDate = new Date(year.value, month.value, 0);
const prevYear = prevMonthDate.getFullYear();
const prevMonth = prevMonthDate.getMonth();
const prevTotal = prevMonthDate.getDate();
const startOffset = firstWeekdayOfMonth(year.value, month.value);
//
const prevDate = new Date(y, m, 0); //
const prevYear = prevDate.getFullYear();
const prevMonth = prevDate.getMonth();
const prevTotal = prevDate.getDate();
const startOffset = firstWeekdayOfMonth(y, m);
//
for (let i = 0; i < startOffset; i++) {
const day = prevTotal - startOffset + i + 1;
const lunar = solarlunar.solar2lunar(prevYear, prevMonth + 1, day);
const dateNumber = toDateNumber(prevYear, prevMonth, day);
list.push({
key: `prev-${prevYear}-${prevMonth + 1}-${day}`,
dateText: day,
lunarText: lunar.dayCn,
lunarText: lunar ? lunar.dayCn : '',
prev: true,
next: false,
year: prevYear,
month: prevMonth,
day,
dateNumber,
});
}
const totalDays = new Date(year.value, month.value + 1, 0).getDate();
//
const totalDays = new Date(y, m + 1, 0).getDate();
for (let d = 1; d <= totalDays; d++) {
const lunar = solarlunar.solar2lunar(year.value, month.value + 1, d);
const lunar = solarlunar.solar2lunar(y, m + 1, d);
const dateNumber = toDateNumber(y, m, d);
list.push({
key: `${year.value}-${month.value + 1}-${d}`,
key: formatKey(y, m, d),
dateText: d,
lunarText: lunar.dayCn,
lunarText: lunar ? lunar.dayCn : '',
prev: false,
next: false,
year: y,
month: m,
day: d,
dateNumber,
});
}
// 42
const need = 42 - list.length;
for (let i = 1; i <= need; i++) {
const nd = new Date(y, m + 1, i);
const ny = nd.getFullYear();
const nm = nd.getMonth();
const lunar = solarlunar.solar2lunar(ny, nm + 1, i);
const dateNumber = toDateNumber(ny, nm, i);
list.push({
key: `next-${ny}-${nm + 1}-${i}`,
dateText: i,
lunarText: lunar ? lunar.dayCn : '',
prev: false,
next: true,
year: ny,
month: nm,
day: i,
dateNumber,
});
}
return list;
}
// cells
const cells = computed(() => buildCells(year.value, month.value));
// start/end 便
const startNumber = computed(() => {
if (!startKey.value) return null;
const [y, m, d] = startKey.value.split('-').map(Number);
return toDateNumber(y, m - 1, d);
});
const endNumber = computed(() => {
if (!endKey.value) return null;
const [y, m, d] = endKey.value.split('-').map(Number);
return toDateNumber(y, m - 1, d);
});
function isSelected(key) {
return selectedKey.value === key;
// start / end
function isStart(key) {
return startKey.value === key;
}
function isEnd(key) {
return endKey.value === key;
}
//
function isInRange(dateNumber) {
if (!startNumber.value || !endNumber.value) return false;
return dateNumber >= startNumber.value && dateNumber <= endNumber.value;
}
const emit = defineEmits(["datachange"]); //
//
function selectDate(cell) {
if (cell.prev) {
return
// console.log("ZZZZ",isInRange(cell.dateNumber))
if (cell.prev || cell.next) return
const key = formatKey(cell.year, cell.month, cell.day);
const num = cell.dateNumber;
// start -> start
if (!startKey.value) {
startKey.value = key;
endKey.value = null;
return;
}
selectedKey.value = cell.key;
//
console.log('Selected date:', cell.key);
// start end
if (startKey.value && !endKey.value) {
// start -> end
if (num >= startNumber.value) {
endKey.value = key;
// console.log(",", startKey.value, endKey.value)
emit("datachange", {
start: startKey.value,
end: endKey.value,
});
return;
}
// start -> start end
endKey.value = startKey.value;
startKey.value = key;
// console.log(",", startKey.value, endKey.value)
emit("datachange", {
start: startKey.value,
end: endKey.value,
});
return;
}
// start end -> start end
startKey.value = key;
endKey.value = null;
}
// /
function prevMonth() {
if (month.value === 0) {
year.value--;
@ -108,89 +234,97 @@
month.value++;
}
}
function prevYear() {
year.value--;
}
function nextYear() {
year.value++;
}
</script>
<style scoped lang="less">
.calendar {
padding: 16px;
background: #fff;
border-radius: 30rpx;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
// max-width: 720rpx;
margin: 0 auto;
}
.header {
width: 100%;
display: flex;
flex-direction: column;
}
.header-title {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10rpx;
}
.year-month {
font-size: 18px;
font-weight: bold;
margin-bottom: 8px;
}
.botton-father {
display: flex;
margin-top: -20rpx;
}
.click-button {
padding: 10rpx;
width: 120rpx;
font-size: 25rpx;
height: 40rpx;
margin-right: 10rpx;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
background-color: #888;
border-radius: 10rpx;
}
.weekdays {
display: flex;
background-color: #E9E7FC;
border-radius: 30rpx;
padding: 10rpx;
background-color: #F8F8FA;
border-radius: 18rpx;
padding: 8rpx;
margin-top: 8rpx;
}
.weekday {
flex: 1;
text-align: center;
font-size: 12px;
}
.days {
display: flex;
flex-wrap: wrap;
padding: 10rpx;
padding: 8rpx 0;
}
.day-cell {
width: 73.5rpx;
height: 80.5rpx;
width: calc(100% / 7);
height: 78rpx;
text-align: center;
padding-top: 8rpx;
padding-bottom: 8rpx;
box-sizing: border-box;
position: relative;
}
/* 前后月份灰色显示 */
.day-cell.prev-month .gregorian,
.day-cell.next-month .gregorian {
color: #ccc;
}
/* 选中样式 */
.day-cell.selected {
background-color: #0B98DC;
border-radius: 10rpx;
/* 范围内(中间)样式 */
.day-cell.in-range {
background-color: #E6F7FF;
}
.day-cell.selected .gregorian,
.day-cell.selected .lunar {
/* 开始/结束 的样式 */
.day-cell.start,
.day-cell.end {
background-color: #0B98DC;
border-radius: 8rpx;
}
.day-cell.start .gregorian,
.day-cell.end .gregorian,
.day-cell.start .lunar,
.day-cell.end .lunar {
color: #fff;
}
@ -202,4 +336,13 @@
font-size: 10px;
color: #888;
}
.head-left{
width: 100rpx;
display: flex;
justify-content: space-between;
.head-img{
width: 40rpx;
height: 40rpx;
}
}
</style>

View File

@ -182,6 +182,13 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/Warehouse/paymoney",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/Warehouse/procurecart",

View File

@ -27,9 +27,9 @@
<view v-for="(item,index) in bodyTagList" :key="index" @click="addbody(index)">
<view class="tags-father" :class="bodystatustarget===index?'secondtarget':''">
<image class="tags-img"
:src="item.izSelected==`1`?item.netPicFocus: item.netPic" />
:src="item.izSelected==`Y`?item.netPicFocus: item.netPic" />
<view class="tags-font"
:style="item.izSelected==`1`?{color:`rgb(54, 159, 239)`}:{}">
:style="item.izSelected==`Y`?{color:`rgb(54, 159, 239)`}:{}">
{{item.tagName}}
</view>
</view>
@ -62,9 +62,9 @@
<view v-for="(item,index) in emotionTagList" :key="index" @click="addface(index)">
<view class="tags-father" :class="facestatustarget===index?'secondtarget':''">
<image class="tags-img"
:src="item.izSelected==`1`?item.netPicFocus: item.netPic" />
:src="item.izSelected==`Y`?item.netPicFocus: item.netPic" />
<view class="tags-font"
:style="item.izSelected==`1`?{color:`rgb(54, 159, 239)`}:{}">
:style="item.izSelected==`Y`?{color:`rgb(54, 159, 239)`}:{}">
{{item.tagName}}
</view>
</view>
@ -420,7 +420,7 @@
<!-- 点击的弹出层 -->
<view v-show="isopen" class="popup-overlay" @click="isopen=false;flyNumber.index0=999;touchindex1=-1">
<view class="popup-overlay-content" style="height: 390rpx;" :class="getjiao"
v-if="timearr[showDetail[0]]?.children[showDetail[1]]?.izPackage=='0'"
v-if="timearr[showDetail[0]]?.children[showDetail[1]]?.izPackage=='N'"
:style="{ top: (2*openY - 350) + 'rpx',left: (2*openX - 780) + 'rpx',opacity: isopacity ? 1 : 0 }"
@click.stop>
<view class="popup-overlay-content-left">
@ -824,15 +824,15 @@
const bodytarget = ref([]);
const facetarget = ref([]);
const addbody = (index : number) => {
if (bodyTagList.value[index].izSelected == '1') {
if (bodyTagList.value[index].izSelected == 'Y') {
// console.log("///",bodyTagList.value[index])
// return
bodyTagList.value[index].izSelected = '0';
bodyTagList.value[index].izSelected = 'N';
} else {
let targetNumber = 0;
bodyTagList.value.forEach((element : any) => {
if (element.izSelected == '1') {
if (element.izSelected == 'Y') {
targetNumber++
}
})
@ -845,18 +845,18 @@
})
return
} else {
bodyTagList.value[index].izSelected = '1';
bodyTagList.value[index].izSelected = 'Y';
}
}
saveAll()
}
const addface = (index : number) => {
if (emotionTagList.value[index].izSelected == '1') {
emotionTagList.value[index].izSelected = '0'
if (emotionTagList.value[index].izSelected == 'Y') {
emotionTagList.value[index].izSelected = 'N'
} else {
let targetNumber = 0;
emotionTagList.value.forEach((element : any) => {
if (element.izSelected == '1') {
if (element.izSelected == 'Y') {
targetNumber++
}
})
@ -869,7 +869,7 @@
})
return
} else {
emotionTagList.value[index].izSelected = '1';
emotionTagList.value[index].izSelected = 'Y';
}
}
saveAll()
@ -1796,7 +1796,7 @@
serviceDuration: allobject.serviceDuration,
positioning: saveEditIndex.value.index0.toString(),
positioningLong: saveEditIndex.value.index1.toString(),
izPackage: '1',
izPackage: 'Y',
previewFile: "",
previewFileSmall: "",
immediateFile: "",
@ -1942,7 +1942,7 @@
endTime: formattedEnd,
positioning: saveEditIndex.value.index0.toString(),
positioningLong: saveEditIndex.value.index1.toString(),
izPackage: '0',
izPackage: 'N',
previewFile: allobject.previewFile,
previewFileSmall: allobject.previewFileSmall,
serviceDuration: allobject.serviceDuration,
@ -1996,12 +1996,12 @@
let info = []
bodyTagList.value.forEach((element : any) => {
if (element.izSelected == '1') {
if (element.izSelected == 'Y') {
info.push(element)
}
})
emotionTagList.value.forEach((element : any) => {
if (element.izSelected == '1') {
if (element.izSelected == 'Y') {
info.push(element)
}
})
@ -2103,14 +2103,14 @@
emotionTagListLook.value = []
bodyTagListLook.value = []
res.result.emotionTagList.forEach((res : any) => {
if (res.izSelected == '1') {
if (res.izSelected == 'Y') {
emotionTagListLook.value.push(res.netPic)
}
})
bodyTagList.value = res.result.bodyTagList
// console.log("zzzz",res.result.bodyTagList)
res.result.bodyTagList.forEach((res : any) => {
if (res.izSelected == '1') {
if (res.izSelected == 'Y') {
bodyTagListLook.value.push(res.netPic)
}
})
@ -2214,7 +2214,7 @@
endTime: "",
positioning: "",
positioningLong: "",
izPackage: '0',
izPackage: 'N',
previewFile: "",
previewFileSmall: "",
serviceDuration: "",

View File

@ -34,7 +34,7 @@
</view>
<view @click="onlyjump(5)" class="zhanwei"></view>
<arrowkeys @movecard="movecard" :getblue="getblue" :moveleft="45" />
<!-- <arrowkeys @movecard="movecard" :getblue="getblue" :moveleft="45" /> -->
<view class="operationbtn">
<view v-for="(v,i) in ['请领出库','退货入库','库存盘点','实时监控']" @tap="onTap(i)"
:class="beblue === i ? 'click-box-target' : 'click-box'">
@ -61,8 +61,15 @@
const housedex = ref(-1);
const housactive = (index : number) => {
console.log("点击哪个了",index)
if (index > 5) { return }
if(housedex.value == index){
if (housedex.value == 0) {
navurl.value = 'pages/Warehouse/paymoney'
uni.navigateTo({
url: '/' + navurl.value
})
}
if (housedex.value == 1) {
navurl.value = 'pages/procurement/material'
uni.navigateTo({

View File

@ -136,3 +136,18 @@ export const updateWarehouserEnabled = (params) => {
data: params,
})
}
//获得采购人
export const getCgrLis = () => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/getCgrList`,
method: 'get'
})
}
//获得采购人
export const getGysList = () => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/getGysList`,
method: 'get'
})
}

View File

@ -199,7 +199,7 @@
</view>
</view>
<view
style="width: 95%;height: 0.5rpx; background-color: #eff1f3;margin-top: 10rpx;margin-bottom: 5rpx;">
style="width: 95%;height: 0.5rpx;background-color: #eff1f3;margin-top: 10rpx;margin-bottom: 5rpx;">
</view>
</view>
<view style="">
@ -322,7 +322,7 @@
</text>
</view>
</view>
<view class="photowall-other-one" v-if="topbuttontarget==1">
<!-- <view class="photowall-other-one" v-if="topbuttontarget==1">
<view
style="width: 100%;height: 70%;display: flex;flex-direction: column;justify-content: center;align-items: center;background-color:#fafdff ;border: 1rpx solid #78B1EB;border-radius: 30rpx;">
@ -332,7 +332,7 @@
点击拍照上传
</view>
</view>
</view>
</view> -->
</view>
</view>
<view class="contain-left">

2636
pages/Warehouse/paymoney.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,11 @@
<template>
<view class="contain">
<view v-show="moreindex!=-1 || topbuttontarget!=-1 || openjianhuo || opengaijia" class="mengban"
@click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false"></view>
<view v-show="moreindex!=-1 || topbuttontarget!=-1 || openjianhuo || opengaijia || opendata || opencgr " class="mengban"
@click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false;opendata=false;opencgr=false"></view>
<!-- 日期 -->
<view class="calendar-father" v-show="opendata">
<calendar @datachange="dateget" />
</view>
<!-- 改价 -->
<view class="gaijiafather" v-show="opengaijia" :style="donghuaopo?{opacity:1}:{opacity:0}">
<view style="width: 100%;margin-top: 50rpx;font-size: 30rpx;">
@ -182,8 +185,9 @@
</view>
</view>
<view style="display: flex;flex-wrap: wrap;width: 60%;">
<view style="width: 40%;height: 150rpx;margin-right: 4%;margin-top: 3%;background-color: #F9F9F9;display: flex;justify-content: center;align-items: center;border-radius: 20rpx;" v-for="(item,index) in [1,1,1]"
:key="index">
<view
style="width: 40%;height: 150rpx;margin-right: 4%;margin-top: 3%;background-color: #F9F9F9;display: flex;justify-content: center;align-items: center;border-radius: 20rpx;"
v-for="(item,index) in [1,1,1]" :key="index">
<image style="width: 38%;height: 55%;" src="/static/zhanwei.png" />
</view>
<view style="width: 40%;height: 150rpx;margin-right: 4%;margin-top: 3%;">
@ -342,8 +346,8 @@
</view>
<view class="bottom-right">
确定
<text style="font-size: 25rpx;margin-top: 5rpx;">
(10+采购单)
<text style="font-size: 25rpx;margin-top: 5rpx;" v-if="alltotal>=99">
(99+采购单)
</text>
</view>
@ -352,38 +356,47 @@
采购单状态
</view>
<view class="more-statues-father">
<view :class="!typestatues?`more-statues-button-target`:`more-statues-button`"
@click="typestatues=0">
<view :class="plzinfo.cgdType==`0,1`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.cgdType=`0,1`;search()">
全部
</view>
<view :class="typestatues==1?`more-statues-button-target`:`more-statues-button`"
@click="typestatues=1">
<view :class="plzinfo.cgdType==`0`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.cgdType=`0`;search()">
待入库
</view>
<view :class="typestatues==2?`more-statues-button-target`:`more-statues-button`"
@click="typestatues=2">
<view :class="plzinfo.cgdType==`1`?`more-statues-button-target`:`more-statues-button`"
@click="plzinfo.cgdType=`1`;search()">
待完结
</view>
</view>
<view class="more-time">
采购日期
</view>
<view class="more-time-select">
<view class="more-gray">
<view class="more-time-select" @click="opendata=!opendata">
<view class="more-gray" v-show="!plzinfo.startTime">
开始日期
</view>
<view class="more-black" v-show="plzinfo.startTime">
{{ plzinfo.startTime }}
</view>
<view style="font-size: 32rpx;">
</view>
<view class="more-gray">
<view class="more-gray" v-show="!plzinfo.endTime">
结束日期
</view>
<view class="more-black" v-show="plzinfo.endTime">
{{ plzinfo.endTime }}
</view>
<image class="more-img" src="/static/index/warehouse/procurement/picking/data.png" />
</view>
<view class="more-select">
采购人
</view>
<view class="more-time-select">
<view class="more-time-select" @click="opencgr=true">
<view class="more-gray" style="margin-left: 30rpx;">
请输入采购人
</view>
@ -392,7 +405,7 @@
<view class="more-select">
供应商
</view>
<view class="more-time-select">
<view class="more-time-select" @click="opengys=true">
<view class="more-gray" style="margin-left: 30rpx;">
请输入供应商
</view>
@ -400,10 +413,10 @@
</view>
</view>
<view class="title-input-father">
<input class="title-input" type="text" v-model="searchValue" maxlength="15" placeholder="采购单号/采购日期/供应商"
@confirm="search()" />
<image v-show="searchValue" class="title-input-img" src="@/static/x.png"
@click="searchValue='';search()" />
<input class="title-input" type="text" v-model="plzinfo.cgdParamInfo" maxlength="15"
placeholder="采购单号/采购日期/供应商" @confirm="search()" />
<image v-show="plzinfo.cgdParamInfo" class="title-input-img" src="@/static/x.png"
@click="plzinfo.cgdParamInfo='';search()" />
<view class="title-input-button" @click="search()">
检索
</view>
@ -419,27 +432,27 @@
<view class="statues-gray">
单据状态
</view>
<view :class="!typestatues?`statues-button-target`:`statues-button`" style="margin-left: 4%;"
@click="typestatues=0">
<view :class="plzinfo.cgdType==`0,1`?`statues-button-target`:`statues-button`" style="margin-left: 4%;"
@click="plzinfo.cgdType=`0,1`;search()">
全部
</view>
<view :class="typestatues==1?`statues-button-target`:`statues-button`" @click="typestatues=1">
<view :class="plzinfo.cgdType==`0`?`statues-button-target`:`statues-button`"
@click="plzinfo.cgdType=`0`;search()">
待入库
</view>
<view :class="typestatues==2?`statues-button-target`:`statues-button`" @click="typestatues=2">
<view :class="plzinfo.cgdType==`1`?`statues-button-target`:`statues-button`"
@click="plzinfo.cgdType=`1`;search()">
待完结
</view>
</view>
<view class="left-menu-father">
<scroll-view scroll-y="true" scroll-with-animation class="left-menu-scroll" :scroll-top="leftscrolltop"
@scrolltolower="plsbuytolower" :lower-threshold="400">
<view class="pls-card" v-for="(v,i) in [1,1,1]" :key='i' @click="clickLeftMenu(i)"
<view class="pls-card" v-for="(v,i) in plsbuy" :key='i' @click="clickLeftMenu(i)"
:style="{borderColor: i==lefttarget? ``:`#fff` }">
<view class="pls-card-title">
<view class="title-left">
10120251023012
{{ v.cgdNo }}
</view>
<view class="title-right">
<text style="position: absolute;bottom: 4rpx;left: -30rpx;">
@ -447,17 +460,15 @@
</text>
<view class="title-right-big">
800.55
{{ v.totalPrice.toFixed(2) }}
</view>
<!-- <image class="title-right-img" src="/static/more.png" @click="openmore(i)" /> -->
</view>
</view>
<view class="pls-card-middle">
<view class="pls-card-middle-one">
<view class="middle-title">
2025.10.03
{{ v.qgDate }}
</view>
<view class="middle-heng-father">
<view class="middle-heng"
@ -478,29 +489,28 @@
采购
</view>
<view style="font-size: 25rpx;">
[ 梁嘉豪 ]
{{ "[ " + v.qgBy + " ]" }}
</view>
</view>
</view>
<view class="pls-card-middle-one">
<view class="middle-title">
{{ i==1 ?``:`2025.10.04` }}
{{ v.jhTime }}
</view>
<view class="middle-heng-father">
<view class="middle-heng"></view>
<!-- <view class="middle-heng"
style="border-radius: 20rpx;background-color: #1083F8;width: 105%;margin-left: -5%;">
</view> -->
<view class="middle-heng" v-if="i!=1 "
<view class="middle-heng" v-if="Number(v.status)==1"
style="border-radius: 20rpx;background-color: #1083F8;width: 105%;margin-left: -5%;">
</view>
<view class="middle-ball"
:style="i!=1?{backgroundColor: `#1083F8`}:{} ">
:style="Number(v.status)==1?{backgroundColor: `#1083F8`}:{} ">
</view>
<!-- <view class="middle-ball" :style="{backgroundColor: `#1083F8`}"></view> -->
<view class="middle-ball"
:style="i!=1?{backgroundColor: `#1083F8`}:{} ">
:style="Number(v.status)==1?{backgroundColor: `#1083F8`}:{} ">
</view>
</view>
<view class="end-font">
@ -508,11 +518,11 @@
:style="Number(v.status)<3 && Number(v.status)>0?{color: `#1083F8`}:{} ">
拣货
</view> -->
<view class="" :style="i!=1?{color: `#1083F8`}:{}">
<view class="" :style="Number(v.status)==1?{color: `#1083F8`}:{}">
拣货
</view>
<view style="font-size: 25rpx;" v-if="i!=1 ">
[ 梁嘉豪 ]
<view style="font-size: 25rpx;" v-if="Number(v.status)==1 && v.jhBy">
{{ "[ " + v.jhBy + " ]" }}
</view>
</view>
</view>
@ -523,16 +533,12 @@
<view class="middle-heng"
style="border-top-right-radius: 20rpx;border-bottom-right-radius: 20rpx;">
</view>
<view class="middle-heng" v-if="Number(v.status)<3 && Number(v.status)>1 "
style="border-radius: 20rpx;background-color: #1083F8;width: 105%;margin-left: -5%;">
</view>
<view class="middle-ball"
:style="Number(v.status)<3 && Number(v.status)>1?{backgroundColor: `#1083F8`}:{} ">
<view class="middle-ball">
</view>
</view>
<view class="end-font">
<view class=""
:style="Number(v.status)<3 && Number(v.status)>1?{color: `#1083F8`}:{} ">
<view class="">
完结
</view>
<view class="">
@ -544,7 +550,7 @@
<view class="end-left">
<image class="end-left-img" src="/static/shili.png" />
<view class="end-left-font">
长春市天林商贸有限公司
{{ v.gysId_dictText }}
</view>
</view>
<!-- <view :class="v?.cgdType=='9' ?`tag-fail`:`tag-success`">
@ -552,7 +558,7 @@
{{ tagesstatues[Number(v.status)] }}
</view> -->
<view class="tag-success">
{{ i==1?`待入库`:`待完结` }}
{{ tagesstatues[Number(v.status)] }}
</view>
</view>
@ -629,7 +635,8 @@
</text>
<text style="font-size: 30rpx;" :style="{fontWeight:middletarget !== i?`600`:``}">
<text style="font-size: 30rpx;"
:style="{fontWeight:middletarget !== i?`600`:``}">
{{ i==0 ? '15.30'
: i==1 ? '86.16'
: i==2 ? '189.55'
@ -643,7 +650,8 @@
:style="{fontWeight:middletarget === i?`600`:``,color:middletarget === i?``:`#888888`}">
20
</text>
<text style="position: absolute;right: -10rpx;font-size: 26rpx;bottom: 2rpx;color: #888888;">
<text
style="position: absolute;right: -10rpx;font-size: 26rpx;bottom: 2rpx;color: #888888;">
</text>
@ -1000,6 +1008,7 @@
</view>
</view>
</view>
</view>
<view :class="['neuro-wrapper', donghuacs ? 'is-active' : '']" v-show="badshow">
<view class="neuro-mask" @click="badshow=false;"></view>
@ -1016,19 +1025,22 @@
</view>
</view>
</view>
<u-select v-model="opencgr" :list="cgrlist" label-name="cgBy" value-name="cgBy" ></u-select>
<u-select v-model="opengys" :list="gyslist" label-name="suppliersName" value-name="suppliers" ></u-select>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineProps, onUnmounted } from 'vue';
import { queryInvoicingList, getCgdMaterialTreeData, queryNuInfoByNuId, updateKfstatus, queryCgdList, queryCgdInfoList, queryWlInfoByWlId, voidedCgdMain } from './api/lunpan.js'
import { queryInvoicingList, getCgdMaterialTreeData, queryNuInfoByNuId, updateKfstatus, queryCgdList, queryCgdInfoList, queryWlInfoByWlId, voidedCgdMain, getCgrLis, getGysList } from './api/lunpan.js'
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import calendar from '@/component/public/calendar.vue'
const typechange = ref(0);
const serverUrl = ref("");
const opengaijia = ref(false);
const openjianhuo = ref(false);
const opendata = ref(false);
const openjianhuoclick = () => {
openjianhuo.value = true;
@ -1037,13 +1049,7 @@
donghuaopo.value = true;
}, 100)
}
// const opengaijiaclick = () => {
// opengaijia.value = true;
// donghuaopo.value = false;
// setTimeout(() => {
// donghuaopo.value = true;
// }, 100)
// }
const opengaijiaclick = () => {
opengaijia.value = true;
donghuaopo.value = false;
@ -1054,13 +1060,28 @@
onLoad(() => {
firstgetqueryCgdList();
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
getSelectList();
})
const opencgr = ref(false);
const opengys = ref(false);
const cgrlist = ref([]);
const gyslist = ref([]);
const getSelectList = () => {
getCgrLis().then((res : any) => {
cgrlist.value = res.result;
})
getGysList().then((res : any) => {
gyslist.value = res.result;
})
}
const openselect = ref(false);
const searchValue = ref("");
const middletarget = ref(0);
const tagesstatues = ["待采购", "拣货", "完结", "作废"];
const tagesstatues = ["待入库", "待完结"];
const topbuttontarget = ref(-1);
@ -1069,21 +1090,44 @@
const plzinfo = reactive({
pageNo: 1,
pageSize: 10,
canpull: true
canpull: true,
cgdParamInfo: "",
suppliers: "",
cgdType: "0,1",
startTime: "",
endTime: "",
cgBy: "",
})
const mobanplzinfo = {
pageNo: 1,
pageSize: 10,
canpull: true
canpull: true,
cgdParamInfo: "",
suppliers: "",
cgdType: "0,1",
startTime: "",
endTime: "",
cgBy: "",
}
type datetype = {
start : string,
end : string
}
const dateget = (res : datetype) => {
plzinfo.startTime = res.start;
plzinfo.endTime = res.end;
search()
}
const leftscrolltop = ref(0)
const plsbuy = ref([])
const alltotal = ref(0);
const firstgetqueryCgdList = () => {
queryCgdList(plzinfo).then((res : any) => {
plsbuy.value.push(...res.result.records)
console.log("zzzz", plsbuy.value)
alltotal.value = res.result.total
// console.log("zzzz", res.result.total)
if (res.result.records.length) {
form.cgdId = plsbuy.value[0].id
queryInvo();
@ -1112,7 +1156,7 @@
if (!plzinfo.canpull) return
queryCgdList(plzinfo).then((res : any) => {
plsbuy.value.push(...res.result.records)
alltotal.value = res.result.total
if (res.result.records.length < plzinfo.pageSize) {
plzinfo.canpull = false;
}
@ -1182,12 +1226,10 @@
const InvoicingList = ref([])
const queryInvo = () => {
queryCgdInfoList(form).then(res => {
if (res.result.records.length == 1) {
InvoicingList.value.push(...res.result.records);
InvoicingList.value.push(...res.result.records);
InvoicingList.value.push(...res.result.records);
InvoicingList.value.push(...res.result.records);
}
// if (res.result.records.length == 1) {
// InvoicingList.value.push(...res.result.records);
// }
InvoicingList.value.push(...res.result.records);
clickmiddle(0);
@ -1207,13 +1249,24 @@
}
const search = () => {
// if (!searchValue.value) return
form.pageNo = 1;
InvoicingList.value = [];
middletarget.value = 0;
form.wlParamInfo = searchValue.value;
form.cgdId = plsbuy.value[lefttarget.value].id
queryInvo();
// if (!plzinfo.cgdParamInfo) return
plzinfo.pageNo = 1;
plsbuy.value = [];
queryCgdList(plzinfo).then((res : any) => {
plsbuy.value.push(...res.result.records)
alltotal.value = res.result.total
if (res.result.records.length) {
form.cgdId = plsbuy.value[0].id
queryInvo();
}
if (res.result.records.length < plzinfo.pageSize) {
plzinfo.canpull = false;
}
})
// middletarget.value = 0;
// form.wlParamInfo = searchValue.value;
// form.cgdId = plsbuy.value[lefttarget.value].id
// queryInvo();
}
const moreindex = ref(-1);
const zuofeiindex = ref(-1);
@ -1439,7 +1492,7 @@
}
.bottom-right {
padding: 0 30rpx;
padding: 0 50rpx;
height: 80rpx;
color: #0385FA;
border: 1rpx solid #0385FA;
@ -1488,6 +1541,14 @@
align-items: center;
}
.more-black {
font-size: 28rpx;
width: 200rpx;
display: flex;
justify-content: center;
align-items: center;
}
.more-img {
width: 35rpx;
height: 35rpx;
@ -2619,7 +2680,7 @@
@keyframes colorScale {
0% {
color: #1083F8 ;
color: #1083F8;
transform: scale(calc(1));
}
@ -2633,4 +2694,14 @@
transform: scale(calc(1));
}
}
.calendar-father {
position: fixed;
top: 550rpx;
left: 60rpx;
width: 700rpx;
height: 600rpx;
background-color: #fff;
z-index: 999;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB