|
|
|
|
@ -4,32 +4,8 @@
|
|
|
|
|
class="mengban"
|
|
|
|
|
@click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false;opendata=false;opencgr=false">
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 给模糊搜索用的 -->
|
|
|
|
|
<view v-show="filteredCgrListsecond.length&&gysvalue" class="mengban" @click="closefilteredCgrListsecond"></view>
|
|
|
|
|
|
|
|
|
|
<view class="input-next" style="bottom: 450rpx;" v-if="filteredCgrListsecond.length && gysvalue">
|
|
|
|
|
<view v-show="filteredCgrListsecond[0].suppliersName!=`暂无数据`" class="next-father"
|
|
|
|
|
v-for="(item, index) in filteredCgrListsecond.slice(0, 5)" :key="index" @click="clickfilteredCgrListsecond(item,index)">
|
|
|
|
|
{{ item.suppliersName }}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="nomessage" v-if="filteredCgrListsecond[0].suppliersName===`暂无数据`">
|
|
|
|
|
暂无数据
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 给模糊搜索用的 -->
|
|
|
|
|
<view v-show="filteredCgrList.length&&cgrvalue" class="mengban" @click="closefilteredCgrList"></view>
|
|
|
|
|
|
|
|
|
|
<view class="input-next" v-if="filteredCgrList.length && cgrvalue">
|
|
|
|
|
<view v-show="filteredCgrList[0].cgBy!=`暂无数据`" class="next-father"
|
|
|
|
|
v-for="(item, index) in filteredCgrList.slice(0, 5)" :key="index" @click="clickfilteredCgrList(item)">
|
|
|
|
|
{{ item.cgBy }}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="nomessage" v-if="filteredCgrList[0].cgBy===`暂无数据`">
|
|
|
|
|
暂无数据
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 日期 -->
|
|
|
|
|
<view class="calendar-father" v-show="opendata" v-if="xiaohui">
|
|
|
|
|
<view class="calendar-father" v-show="opendata">
|
|
|
|
|
<calendar @datachange="dateget" />
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 改价 -->
|
|
|
|
|
@ -51,11 +27,11 @@
|
|
|
|
|
</view>
|
|
|
|
|
<view style="position: absolute;right: 30rpx;bottom: 30rpx;">
|
|
|
|
|
<view style="display: flex;">
|
|
|
|
|
<view
|
|
|
|
|
<view
|
|
|
|
|
style="width: 160rpx;height: 75rpx;background-color: #ebeced;color: #888888;display: flex;justify-content: center;align-items: center;font-size: 30rpx;border-radius: 40rpx;">
|
|
|
|
|
取消
|
|
|
|
|
</view>
|
|
|
|
|
<view
|
|
|
|
|
<view
|
|
|
|
|
style="width: 160rpx;height: 75rpx;;color: #0385FA;display: flex;justify-content: center;align-items: center;font-size: 30rpx;border-radius: 40rpx;border: 1rpx solid #0385FA;background: linear-gradient(to bottom,#E9F4FF,#CAE0F9);margin: 0 40rpx;">
|
|
|
|
|
确定
|
|
|
|
|
</view>
|
|
|
|
|
@ -114,16 +90,16 @@
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<!-- 拣货 -->
|
|
|
|
|
<view class="jianhuofather" v-show="openjianhuo" :style="donghuaopo?{opacity:1}:{opacity:0}">
|
|
|
|
|
<view class="jianhuofather guodu" v-show="openjianhuo" :style="donghuaopo?{opacity:1}:{opacity:0}">
|
|
|
|
|
<view style="margin: 40rpx 0;width: 100%;text-align: center;font-size: 35rpx;font-weight: 600;">
|
|
|
|
|
留置针敷贴(医用透明敷料)
|
|
|
|
|
{{showvalue.wlName}}
|
|
|
|
|
</view>
|
|
|
|
|
<view style="display: flex;justify-content: space-between;width: 100%;">
|
|
|
|
|
<view style="font-weight: 600;font-size: 30rpx;">
|
|
|
|
|
物料信息
|
|
|
|
|
</view>
|
|
|
|
|
<view style="font-weight: 600;font-size: 35rpx;">
|
|
|
|
|
¥10.12
|
|
|
|
|
¥{{showvalue.totalPrice}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="display: flex;margin-top: 10rpx;">
|
|
|
|
|
@ -132,7 +108,7 @@
|
|
|
|
|
物料编码
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-size: 34rpx;">
|
|
|
|
|
FLYP001
|
|
|
|
|
{{showvalue.wlMaterialNo}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="width: 33%;">
|
|
|
|
|
@ -140,7 +116,7 @@
|
|
|
|
|
规格型号
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-size: 34rpx;">
|
|
|
|
|
800mm*680mm
|
|
|
|
|
{{showvalue.wlSpecificationModel}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -150,7 +126,7 @@
|
|
|
|
|
采购单价
|
|
|
|
|
</view>
|
|
|
|
|
<view class="text-anim" style="margin-top: 5rpx;font-weight: 600;font-size: 34rpx;">
|
|
|
|
|
¥0.1
|
|
|
|
|
¥{{showvalue.arrivalPrice?showvalue.arrivalPrice:showvalue.procurementPrice}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="width: 33%;">
|
|
|
|
|
@ -158,7 +134,7 @@
|
|
|
|
|
采购数量
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-weight: 600;font-size: 34rpx;">
|
|
|
|
|
30
|
|
|
|
|
{{showvalue.purchaseQuantity}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="width: 33%;">
|
|
|
|
|
@ -166,7 +142,7 @@
|
|
|
|
|
采购单位
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-size: 34rpx;">
|
|
|
|
|
个
|
|
|
|
|
{{showvalue.wlUnits}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -183,7 +159,7 @@
|
|
|
|
|
入库数量
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-size: 34rpx;">
|
|
|
|
|
0
|
|
|
|
|
{{showvalue.rksl}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="width: 33%;">
|
|
|
|
|
@ -191,7 +167,7 @@
|
|
|
|
|
挂账数量
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-size: 34rpx;">
|
|
|
|
|
0
|
|
|
|
|
{{showvalue.wrksl}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="width: 33%;">
|
|
|
|
|
@ -199,7 +175,7 @@
|
|
|
|
|
销账数量
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" style="margin-top: 5rpx;font-size: 34rpx;">
|
|
|
|
|
0
|
|
|
|
|
{{showvalue.xzsl}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -211,15 +187,40 @@
|
|
|
|
|
</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">
|
|
|
|
|
<image style="width: 38%;height: 55%;" src="/static/zhanwei.png" />
|
|
|
|
|
<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;
|
|
|
|
|
border-radius: 0.6vw;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;"
|
|
|
|
|
v-for="(item,index) in albumlist" :key="index">
|
|
|
|
|
<view style="width: 1.6vw;height: 1.6vw;z-index: 20;position: absolute; right: 0.1vw;top: 0.1vw;background: rgba(255, 255, 255, 0.7);display: flex;justify-content: center;align-items: center;"
|
|
|
|
|
@click.stop="deldex=index;open=1">
|
|
|
|
|
<image src="/static/x.png" mode="aspectFill" style="width: 100%;height: 100%;"></image>
|
|
|
|
|
</view>
|
|
|
|
|
<image style="width: 100%;height: 100%;" :src="item?item:'/static/zhanwei.png'" mode="aspectFill" @click="previewImage(item,index,albumlist)"/>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="width: 40%;height: 150rpx;margin-right: 4%;margin-top: 3%;">
|
|
|
|
|
|
|
|
|
|
<view
|
|
|
|
|
style="width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;align-items: center;background-color:#fafdff ;border: 1rpx solid #c4ebff;border-radius: 20rpx;">
|
|
|
|
|
<view style="
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
background-color:#fafdff ;
|
|
|
|
|
border: 1rpx solid #c4ebff;
|
|
|
|
|
border-radius: 20rpx;"
|
|
|
|
|
v-if="albumlist.length<4"
|
|
|
|
|
@click="uplod">
|
|
|
|
|
|
|
|
|
|
<image style="width: 50rpx;height: 50rpx;margin-bottom: 5rpx;"
|
|
|
|
|
src="/static/index/warehouse/procurement/picking/addphoto.png" />
|
|
|
|
|
<view style="color: #78B1EB;font-size: 25rpx;">
|
|
|
|
|
@ -241,7 +242,7 @@
|
|
|
|
|
-
|
|
|
|
|
</view>
|
|
|
|
|
<view class="gray-input">
|
|
|
|
|
1500
|
|
|
|
|
{{showvalue.num}}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="gray-button">
|
|
|
|
|
+
|
|
|
|
|
@ -249,7 +250,7 @@
|
|
|
|
|
</view>
|
|
|
|
|
<view class="jianhuobutton">
|
|
|
|
|
<view style="display: flex;">
|
|
|
|
|
<view
|
|
|
|
|
<view @click="openjianhuo = false"
|
|
|
|
|
style="width: 160rpx;height: 75rpx;background-color: #ebeced;color: #888888;display: flex;justify-content: center;align-items: center;font-size: 30rpx;border-radius: 40rpx;">
|
|
|
|
|
关闭
|
|
|
|
|
</view>
|
|
|
|
|
@ -265,50 +266,50 @@
|
|
|
|
|
</view>
|
|
|
|
|
<view class="jianhuo-jianpan">
|
|
|
|
|
<view style="display: flex;width: 480rpx;">
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(1)">
|
|
|
|
|
1
|
|
|
|
|
</view>
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(2)">
|
|
|
|
|
2
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(3)">
|
|
|
|
|
3
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="display: flex;width: 480rpx;">
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(4)">
|
|
|
|
|
4
|
|
|
|
|
</view>
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(5)">
|
|
|
|
|
5
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(6)">
|
|
|
|
|
6
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="display: flex;width: 480rpx;">
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(7)">
|
|
|
|
|
7
|
|
|
|
|
</view>
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(8)">
|
|
|
|
|
8
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(9)">
|
|
|
|
|
9
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view style="display: flex;width: 480rpx;">
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum('AC')">
|
|
|
|
|
AC
|
|
|
|
|
</view>
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum(0)">
|
|
|
|
|
0
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="gray-button-jianpan">
|
|
|
|
|
<view class="gray-button-jianpan" @click="clknum('AE')">
|
|
|
|
|
AE
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -367,10 +368,10 @@
|
|
|
|
|
<view class="contain-left">
|
|
|
|
|
<view class="left-select-more" v-show="openselect">
|
|
|
|
|
<view class="more-bottom">
|
|
|
|
|
<view class="bottom-left" @click="chongzhi">
|
|
|
|
|
<view class="bottom-left">
|
|
|
|
|
重置
|
|
|
|
|
</view>
|
|
|
|
|
<view class="bottom-right" @click="openselect=false">
|
|
|
|
|
<view class="bottom-right">
|
|
|
|
|
确定
|
|
|
|
|
<text style="font-size: 25rpx;margin-top: 5rpx;" v-if="alltotal>=99">
|
|
|
|
|
(99+采购单)
|
|
|
|
|
@ -423,19 +424,18 @@
|
|
|
|
|
采购人
|
|
|
|
|
</view>
|
|
|
|
|
<view class="more-time-select" @click="opencgr=true">
|
|
|
|
|
<input class="more-gray" v-model="cgrvalue" placeholder="请输入采购人" placeholder-style="color: #BFBFBF;"
|
|
|
|
|
style="margin-left: 30rpx;width: 400rpx;" @input="changeArray"></input>
|
|
|
|
|
<view class="more-gray" style="margin-left: 30rpx;">
|
|
|
|
|
请输入采购人
|
|
|
|
|
</view>
|
|
|
|
|
<image class="select-img" src="/static/index/warehouse/procurement/picking/center.png" />
|
|
|
|
|
</view>
|
|
|
|
|
<view class="more-select">
|
|
|
|
|
供应商
|
|
|
|
|
</view>
|
|
|
|
|
<view class="more-time-select" @click="opengys=true">
|
|
|
|
|
<!-- <view class="more-gray" style="margin-left: 30rpx;">
|
|
|
|
|
<view class="more-gray" style="margin-left: 30rpx;">
|
|
|
|
|
请输入供应商
|
|
|
|
|
</view> -->
|
|
|
|
|
<input class="more-gray" v-model="gysvalue" placeholder="请输入供应商" placeholder-style="color: #BFBFBF;"
|
|
|
|
|
style="margin-left: 30rpx;width: 400rpx;" @input="changeArraysecond"></input>
|
|
|
|
|
</view>
|
|
|
|
|
<image class="select-img" src="/static/index/warehouse/procurement/picking/center.png" />
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -635,12 +635,12 @@
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="contain-right-middle">
|
|
|
|
|
<scroll-view scroll-x="true" class="middle-Y">
|
|
|
|
|
<scroll-view scroll-x="true" class="middle-Y" >
|
|
|
|
|
<view class="middle-Y-father">
|
|
|
|
|
<view class="middle-one" v-for="(v,i) in InvoicingList" :key='i'
|
|
|
|
|
:style="{border: middletarget === i? '4rpx solid #1083F8': '4rpx solid transparent'}"
|
|
|
|
|
@click="clickmiddle(i)">
|
|
|
|
|
<view :class="v.status<2?`up-tags-target`: `up-tags`">
|
|
|
|
|
<view :class="v.status<2?`up-tags-target`: `up-tags`" >
|
|
|
|
|
{{v.status_dictText}}
|
|
|
|
|
</view>
|
|
|
|
|
<image class="middle-img"
|
|
|
|
|
@ -749,7 +749,16 @@
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view @click="openjianhuoclick"
|
|
|
|
|
style="background-color: #f8f8f8;color: #555555;display: flex;align-items: center;justify-content: center;color: #555555;width: 180rpx;height: 70rpx;border-radius: 40rpx;box-shadow: 0 4rpx 6rpx rgba(0, 0, 0, 0.1);margin-left: 20rpx;">
|
|
|
|
|
style="background-color: #f8f8f8
|
|
|
|
|
;color: #555555;display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
color: #555555;width: 180rpx;
|
|
|
|
|
height: 70rpx;
|
|
|
|
|
border-radius: 40rpx;
|
|
|
|
|
box-shadow: 0 4rpx 6rpx rgba(0, 0, 0, 0.1);
|
|
|
|
|
margin-left: 20rpx;"
|
|
|
|
|
:style="showvalue.jianhuobtn==false?'color:#999':''">
|
|
|
|
|
拣货
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -758,18 +767,14 @@
|
|
|
|
|
<view style="width: 95%;height: 0.5rpx; background-color: #eff1f3;margin-left: 5%;"></view>
|
|
|
|
|
<view class="right-bottom" v-show="!typechange">
|
|
|
|
|
<view class="right-bottom-left">
|
|
|
|
|
<image class="left-img"
|
|
|
|
|
<image class="left-img"
|
|
|
|
|
:src="showvalue?.materialImg?serverUrl + showvalue?.materialImg : '/static/zhiniaoku.png'"
|
|
|
|
|
mode="aspectFill"></image>
|
|
|
|
|
|
|
|
|
|
<view class="left-tags">
|
|
|
|
|
<view class="tags-one" v-if="showvalue.categoryId_dictText">
|
|
|
|
|
{{showvalue.categoryId_dictText}}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="tags-one" v-if="showvalue.categoryId_dictText">{{showvalue.categoryId_dictText}}</view>
|
|
|
|
|
<view class="tags-one" v-if="showvalue.typeId_dictText">{{showvalue.typeId_dictText}}</view>
|
|
|
|
|
<view class="tags-one" v-if="showvalue.medicationId_dictText">
|
|
|
|
|
{{showvalue.medicationId_dictText}}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="tags-one" v-if="showvalue.medicationId_dictText">{{showvalue.medicationId_dictText}}</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="right-bottom-right">
|
|
|
|
|
@ -1039,171 +1044,49 @@
|
|
|
|
|
</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> -->
|
|
|
|
|
<!-- <superpicker v-model:modelValue="opengys" :columns="[gyslist]" nameKey="suppliersName" :init-left="80" :init-top="120" :init-width="360"
|
|
|
|
|
:init-height="360" @close="opengys=false" @confirm="gysclick" /> -->
|
|
|
|
|
|
|
|
|
|
<view class="mengban" v-if="open==1"> </view>
|
|
|
|
|
<equiment :open="open==1" @del="del()" @back="open = 0" :content="'是否删除此图片?'"></equiment>
|
|
|
|
|
</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, getCgrLis, getGysList } from './api/lunpan.js'
|
|
|
|
|
import { queryInvoicingList, getCgdMaterialTreeData, queryNuInfoByNuId, updateKfstatus, queryCgdList, queryCgdInfoList, queryWlInfoByWlId, voidedCgdMain, getCgrLis, getGysList ,upload} from './api/lunpan.js'
|
|
|
|
|
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
|
|
|
|
|
import calendar from '@/component/public/calendar.vue'
|
|
|
|
|
// import superpicker from '@/component/public/superpicker.vue'
|
|
|
|
|
|
|
|
|
|
import superpicker from '@/component/public/superpicker.vue'
|
|
|
|
|
import equiment from './components/equiment.vue';
|
|
|
|
|
const open = ref(0);
|
|
|
|
|
const typechange = ref(0);
|
|
|
|
|
const serverUrl = ref("");
|
|
|
|
|
const opengaijia = ref(false);
|
|
|
|
|
const openjianhuo = ref(false);
|
|
|
|
|
const opendata = ref(false);
|
|
|
|
|
|
|
|
|
|
// 模糊查询
|
|
|
|
|
|
|
|
|
|
// 过滤后的结果,页面上渲染用这个
|
|
|
|
|
const filteredCgrList = ref([]);
|
|
|
|
|
|
|
|
|
|
const closefilteredCgrList = () => {
|
|
|
|
|
filteredCgrList.value = [];
|
|
|
|
|
cgrvalue.value = plzinfo.cgBy;
|
|
|
|
|
}
|
|
|
|
|
const clickfilteredCgrList = (item : any) => {
|
|
|
|
|
filteredCgrList.value = [];
|
|
|
|
|
plzinfo.cgBy = item.cgBy
|
|
|
|
|
cgrvalue.value = plzinfo.cgBy;
|
|
|
|
|
search()
|
|
|
|
|
|
|
|
|
|
const gysclick = (res:any) => {
|
|
|
|
|
console.log("///",res);
|
|
|
|
|
opengys.value=false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// --- 模糊匹配 ---
|
|
|
|
|
function fuzzyMatch(text : unknown, q : string) {
|
|
|
|
|
const s = String(text ?? '').toLowerCase()
|
|
|
|
|
const ql = String(q ?? '').toLowerCase().trim()
|
|
|
|
|
if (!ql) return true
|
|
|
|
|
if (s.includes(ql)) return true
|
|
|
|
|
|
|
|
|
|
// subsequence 模糊字符序列
|
|
|
|
|
let i = 0
|
|
|
|
|
for (let j = 0; j < s.length && i < ql.length; j++) {
|
|
|
|
|
if (s[j] === ql[i]) i++
|
|
|
|
|
}
|
|
|
|
|
return i === ql.length
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// --- 0.3 秒防抖专用变量 ---
|
|
|
|
|
let debounceTimer : number | null = null
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* changeArray - 防抖搜索(0.3 秒后无再次输入才执行)
|
|
|
|
|
*/
|
|
|
|
|
function changeArray(res : any) {
|
|
|
|
|
if (!res.detail.value) {
|
|
|
|
|
plzinfo.cgBy = "";
|
|
|
|
|
filteredCgrList.value = [];
|
|
|
|
|
search()
|
|
|
|
|
const openjianhuoclick = () => {
|
|
|
|
|
if(showvalue.value.jianhuobtn == false){
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const keyword = String(
|
|
|
|
|
typeof res === 'string' ? res : res?.detail?.value ?? ''
|
|
|
|
|
).trim()
|
|
|
|
|
|
|
|
|
|
// 清除上一次的定时器
|
|
|
|
|
if (debounceTimer) clearTimeout(debounceTimer)
|
|
|
|
|
|
|
|
|
|
// 重新等待 300ms
|
|
|
|
|
debounceTimer = setTimeout(() => {
|
|
|
|
|
if (!keyword) {
|
|
|
|
|
filteredCgrList.value = cgrlist.value.slice()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filteredCgrList.value = cgrlist.value.filter(item =>
|
|
|
|
|
fuzzyMatch(item?.cgBy, keyword)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
filteredCgrList.value = [...filteredCgrList.value, ...filteredCgrList.value, ...filteredCgrList.value, ...filteredCgrList.value, ...filteredCgrList.value]
|
|
|
|
|
if (!filteredCgrList.value.length) {
|
|
|
|
|
filteredCgrList.value.push({ cgBy: `暂无数据` })
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}, 300)
|
|
|
|
|
}
|
|
|
|
|
// 过滤后的结果,页面上渲染用这个
|
|
|
|
|
const filteredCgrListsecond = ref([]);
|
|
|
|
|
const secondindex = ref(-1)
|
|
|
|
|
|
|
|
|
|
const closefilteredCgrListsecond = () => {
|
|
|
|
|
filteredCgrListsecond.value = [];
|
|
|
|
|
gysvalue.value = "";
|
|
|
|
|
plzinfo.suppliers = "";
|
|
|
|
|
search()
|
|
|
|
|
}
|
|
|
|
|
const clickfilteredCgrListsecond = (item : any,index:number) => {
|
|
|
|
|
filteredCgrListsecond.value = [];
|
|
|
|
|
plzinfo.suppliers = item.suppliers;
|
|
|
|
|
gysvalue.value = item.suppliersName;
|
|
|
|
|
secondindex.value = index;
|
|
|
|
|
search()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// --- 模糊匹配 ---
|
|
|
|
|
// function fuzzyMatch(text : unknown, q : string) {
|
|
|
|
|
// const s = String(text ?? '').toLowerCase()
|
|
|
|
|
// const ql = String(q ?? '').toLowerCase().trim()
|
|
|
|
|
// if (!ql) return true
|
|
|
|
|
// if (s.includes(ql)) return true
|
|
|
|
|
|
|
|
|
|
// // subsequence 模糊字符序列
|
|
|
|
|
// let i = 0
|
|
|
|
|
// for (let j = 0; j < s.length && i < ql.length; j++) {
|
|
|
|
|
// if (s[j] === ql[i]) i++
|
|
|
|
|
// }
|
|
|
|
|
// return i === ql.length
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// // --- 0.3 秒防抖专用变量 ---
|
|
|
|
|
// let debounceTimer : number | null = null
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* changeArray - 防抖搜索(0.3 秒后无再次输入才执行)
|
|
|
|
|
*/
|
|
|
|
|
function changeArraysecond(res : any) {
|
|
|
|
|
if (!res.detail.value) {
|
|
|
|
|
plzinfo.suppliers = "";
|
|
|
|
|
filteredCgrListsecond.value = [];
|
|
|
|
|
secondindex.value = -1;
|
|
|
|
|
gysvalue.value = "";
|
|
|
|
|
search()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const keyword = String(
|
|
|
|
|
typeof res === 'string' ? res : res?.detail?.value ?? ''
|
|
|
|
|
).trim()
|
|
|
|
|
|
|
|
|
|
// 清除上一次的定时器
|
|
|
|
|
if (debounceTimer) clearTimeout(debounceTimer)
|
|
|
|
|
|
|
|
|
|
// 重新等待 300ms
|
|
|
|
|
debounceTimer = setTimeout(() => {
|
|
|
|
|
if (!keyword) {
|
|
|
|
|
filteredCgrListsecond.value = gyslist.value.slice()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filteredCgrListsecond.value = gyslist.value.filter(item =>
|
|
|
|
|
fuzzyMatch(item?.suppliersName, keyword)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// filteredCgrListsecond.value = [...filteredCgrListsecond.value, ...filteredCgrListsecond.value, ...filteredCgrListsecond.value, ...filteredCgrList.value, ...filteredCgrList.value]
|
|
|
|
|
if (!filteredCgrListsecond.value.length) {
|
|
|
|
|
filteredCgrListsecond.value.push({ suppliersName: `暂无数据` })
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}, 300)
|
|
|
|
|
openjianhuo.value = true;
|
|
|
|
|
donghuaopo.value = false;
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
donghuaopo.value = true;
|
|
|
|
|
}, 100)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const opengaijiaclick = () => {
|
|
|
|
|
opengaijia.value = true;
|
|
|
|
|
donghuaopo.value = false;
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
donghuaopo.value = true;
|
|
|
|
|
}, 100)
|
|
|
|
|
}
|
|
|
|
|
onLoad(() => {
|
|
|
|
|
firstgetqueryCgdList();
|
|
|
|
|
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
|
|
|
|
@ -1211,8 +1094,6 @@
|
|
|
|
|
})
|
|
|
|
|
const opencgr = ref(false);
|
|
|
|
|
const opengys = ref(false);
|
|
|
|
|
const cgrvalue = ref("");
|
|
|
|
|
const gysvalue = ref("");
|
|
|
|
|
|
|
|
|
|
const cgrlist = ref([]);
|
|
|
|
|
const gyslist = ref([]);
|
|
|
|
|
@ -1220,11 +1101,10 @@
|
|
|
|
|
const getSelectList = () => {
|
|
|
|
|
getCgrLis().then((res : any) => {
|
|
|
|
|
cgrlist.value = res.result;
|
|
|
|
|
console.log("采购人", res)
|
|
|
|
|
})
|
|
|
|
|
getGysList().then((res : any) => {
|
|
|
|
|
gyslist.value = res.result;
|
|
|
|
|
console.log("供应商", res)
|
|
|
|
|
console.log("isright",res)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1367,20 +1247,16 @@
|
|
|
|
|
cgdId: "",
|
|
|
|
|
isWaring: 0
|
|
|
|
|
}
|
|
|
|
|
// 销毁日历
|
|
|
|
|
const xiaohui = ref(true);
|
|
|
|
|
const chongzhi = () => {
|
|
|
|
|
xiaohui.value = false;
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
xiaohui.value = true;
|
|
|
|
|
},300)
|
|
|
|
|
Object.assign(plzinfo, mobanplzinfo);
|
|
|
|
|
search()
|
|
|
|
|
}
|
|
|
|
|
const tagsArray = [`待入库`, `挂账中`, `已入库`, `已销账`,]
|
|
|
|
|
const tagsArray = [`待入库`,`挂账中`, `已入库`, `已销账`, ]
|
|
|
|
|
const clickmiddle = (index : number) => {
|
|
|
|
|
middletarget.value = index;
|
|
|
|
|
showvalue.value = InvoicingList.value[index];
|
|
|
|
|
showvalue.value.jianhuobtn = false;
|
|
|
|
|
if(Number(showvalue.value.status)==0 || (Number(showvalue.value.status)>0&&Number(showvalue.value.wrksl)>0)){
|
|
|
|
|
showvalue.value.maxnum = (showvalue.value.rksl==0&&showvalue.value.wrksl==0&&showvalue.value.xzsl==0)?showvalue.value.purchaseQuantity:showvalue.value.wrksl
|
|
|
|
|
showvalue.value.num = showvalue.value.maxnum;
|
|
|
|
|
showvalue.value.jianhuobtn = true;
|
|
|
|
|
}
|
|
|
|
|
Object.assign(form, mobanform)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1391,7 +1267,7 @@
|
|
|
|
|
// InvoicingList.value.push(...res.result.records);
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// console.log(res.result.records)
|
|
|
|
|
console.log(res.result.records)
|
|
|
|
|
InvoicingList.value.push(...res.result.records);
|
|
|
|
|
|
|
|
|
|
clickmiddle(0);
|
|
|
|
|
@ -1496,6 +1372,57 @@
|
|
|
|
|
console.log("zzz", donghuaopo.value)
|
|
|
|
|
}, 100)
|
|
|
|
|
}
|
|
|
|
|
// 上传
|
|
|
|
|
const albumlist = ref([])
|
|
|
|
|
const uplod = ()=>{
|
|
|
|
|
uni.chooseImage({
|
|
|
|
|
count:1, //默认9
|
|
|
|
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
|
|
|
sourceType: ['camera'], //从相册选择
|
|
|
|
|
success: (e)=> {
|
|
|
|
|
console.log(JSON.stringify(e.tempFilePaths))
|
|
|
|
|
let ar = JSON.stringify(e.tempFilePaths)
|
|
|
|
|
albumlist.value.push(JSON.parse(ar)[0])
|
|
|
|
|
// upload({file:url}).then(res=>{
|
|
|
|
|
// albumlist.value.push(res.result)
|
|
|
|
|
// console.log(albumlist.value)
|
|
|
|
|
// })
|
|
|
|
|
console.log(albumlist.value)
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
// 预览
|
|
|
|
|
const previewImage =(v,i,arr)=>{
|
|
|
|
|
uni.previewImage({
|
|
|
|
|
current:i,
|
|
|
|
|
urls:arr
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 删除1个
|
|
|
|
|
const deldex =ref(-1)
|
|
|
|
|
const del=()=>{
|
|
|
|
|
albumlist.value.splice(deldex.value,1)
|
|
|
|
|
deldex.value = -1;
|
|
|
|
|
open.value = 0;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
const clknum =(item:any)=>{
|
|
|
|
|
if (item == "AC") {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (item == "CE") {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 数字转化
|
|
|
|
|
const toFixed4ByPadStart=(n)=> {
|
|
|
|
|
const intPart = Math.floor(Math.abs(n));
|
|
|
|
|
return String(intPart).padStart(4, '0');
|
|
|
|
|
}
|
|
|
|
|
// 配置
|
|
|
|
|
const SEG_COUNT = 8; // 分段数量
|
|
|
|
|
const PADDING = 2; // 外层 padding(rpx)
|
|
|
|
|
@ -1682,7 +1609,7 @@
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
.more-gray {
|
|
|
|
|
color: #cacaca;
|
|
|
|
|
color: #BFBFBF;
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
width: 200rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
@ -2206,7 +2133,6 @@
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.right-bottom {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 600rpx;
|
|
|
|
|
@ -2782,12 +2708,26 @@
|
|
|
|
|
align-items: center;
|
|
|
|
|
margin-right: 10rpx;
|
|
|
|
|
}
|
|
|
|
|
.gray-button:active{
|
|
|
|
|
background: linear-gradient(to top, #00C9FF, #0076FF);
|
|
|
|
|
color: #fff;
|
|
|
|
|
font-size: 44rpx;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
border: 1rpx solid #00C9FF;
|
|
|
|
|
}
|
|
|
|
|
.gray-button-jianpan:active{
|
|
|
|
|
background: linear-gradient(to top, #00C9FF, #0076FF);
|
|
|
|
|
color: #fff;
|
|
|
|
|
font-size: 44rpx;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
border: 1rpx solid #00C9FF;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gray-button-jianpan {
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
background-color: #F3F5F9;
|
|
|
|
|
border-radius: 35rpx;
|
|
|
|
|
border-radius: 25rpx;
|
|
|
|
|
width: 100rpx;
|
|
|
|
|
height: 100rpx;
|
|
|
|
|
border: 1rpx solid #CBCFD0;
|
|
|
|
|
@ -2796,6 +2736,9 @@
|
|
|
|
|
align-items: center;
|
|
|
|
|
margin-right: 30rpx;
|
|
|
|
|
margin-bottom: 20rpx;
|
|
|
|
|
transition: .1s;
|
|
|
|
|
-webkit-transform-style: preserve-3d;
|
|
|
|
|
-webkit-overflow-scrolling: touch;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gray-input {
|
|
|
|
|
@ -2854,33 +2797,4 @@
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
z-index: 999;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.input-next {
|
|
|
|
|
position: fixed;
|
|
|
|
|
bottom: 660rpx;
|
|
|
|
|
left: 40rpx;
|
|
|
|
|
width: 610rpx;
|
|
|
|
|
// height: 300rpx;
|
|
|
|
|
border-radius: 30rpx;
|
|
|
|
|
z-index: 999;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
|
|
|
|
|
padding: 40rpx 30rpx;
|
|
|
|
|
|
|
|
|
|
.next-father {
|
|
|
|
|
color: #999;
|
|
|
|
|
margin: 10rpx;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nomessage {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 200rpx;
|
|
|
|
|
font-size: 34rpx;
|
|
|
|
|
color: #999;
|
|
|
|
|
}
|
|
|
|
|
</style>
|