购物车内容
This commit is contained in:
parent
80b7d69f5e
commit
5adb416e58
|
|
@ -2,8 +2,8 @@
|
||||||
"name" : "护理单元",
|
"name" : "护理单元",
|
||||||
"appid" : "__UNI__FB2D473",
|
"appid" : "__UNI__FB2D473",
|
||||||
"description" : "护理单元",
|
"description" : "护理单元",
|
||||||
"versionName" : "1.0.006",
|
"versionName" : "1.0.008",
|
||||||
"versionCode" : 10006,
|
"versionCode" : 10008,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,14 @@ export const updateWarehouserEnabled = (params) => {
|
||||||
data: params,
|
data: params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//(业务)修改购物车请购信息
|
||||||
|
export const eddShoppingCartList = (params) => {
|
||||||
|
return request({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/eddShoppingCartList`,
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//(业务)获取物料分类树可采购的物料数量(仓库列表使用)
|
//(业务)获取物料分类树可采购的物料数量(仓库列表使用)
|
||||||
|
|
@ -154,4 +162,22 @@ export const getTreeDataWlnum = (params) => {
|
||||||
data: params,
|
data: params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//(业务)库存预警添加全部物料
|
||||||
|
export const addWaringAll = (params) => {
|
||||||
|
return request({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/addWaringAll`,
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// (业务)获取物料分类树可采购的物料数量(购物车列表使用)
|
||||||
|
export const getGwcTreeDataWlnum = (params) => {
|
||||||
|
return request({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/getGwcTreeDataWlnum`,
|
||||||
|
method: 'get',
|
||||||
|
data: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -8,64 +8,29 @@
|
||||||
<view>确认将所有未添加状态的库存预警物料添加至购物车中,并且物料的采购数量为物料的库存上限-库存数量吗?</view>
|
<view>确认将所有未添加状态的库存预警物料添加至购物车中,并且物料的采购数量为物料的库存上限-库存数量吗?</view>
|
||||||
<view>
|
<view>
|
||||||
<view @click="$emit('back')">取消</view>
|
<view @click="$emit('back')">取消</view>
|
||||||
<view class="qd" @click="config()">确定</view>
|
<view class="qd" @click="add()">确定</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { queryInvoicingList,addShoppingCartList } from '../api/lunpan.js'
|
import { addWaringAll } from '../api/lunpan.js'
|
||||||
export default {
|
export default {
|
||||||
props:{
|
props:{
|
||||||
show:false,
|
show:false,
|
||||||
},
|
},
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
Materialarr:[]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
config(){
|
|
||||||
let warn = {
|
|
||||||
nuId: uni.getStorageSync('nuId'),
|
|
||||||
pageSize: -1,
|
|
||||||
isWaring: 1
|
|
||||||
}
|
|
||||||
queryInvoicingList(warn).then(res => {
|
|
||||||
this.Material=res.result.records;
|
|
||||||
this.add()
|
|
||||||
})
|
|
||||||
},
|
|
||||||
add(){
|
add(){
|
||||||
let r = []
|
|
||||||
this.Material.forEach(item=>{
|
addWaringAll({nuId: uni.getStorageSync('nuId')}).then(res=>{
|
||||||
if(item.isAdd!=1){
|
|
||||||
let n = item.suppliers_dictText.split(/[, ]+/);
|
|
||||||
let id = item.suppliers.split(/[, ]+/);
|
|
||||||
let max = Number(item.upperLimit)- Number(item.kcsl);
|
|
||||||
|
|
||||||
let dt = {
|
|
||||||
nuId:uni.getStorageSync('nuId'),
|
|
||||||
purchaseQuantity:max,
|
|
||||||
suppliersId:id[0],
|
|
||||||
suppliersName:n[0],
|
|
||||||
wlId:item.wlId,
|
|
||||||
kcsl:item.kcsl,
|
|
||||||
wlUnits:item.materialUnits,
|
|
||||||
referenceUnitPrice:item.referenceUnitPrice,
|
|
||||||
dhbl:type.num
|
|
||||||
}
|
|
||||||
r.push(dt)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
addShoppingCartList(r).then(res=>{
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon:res.success?'success':'none',
|
icon:res.success?'success':'none',
|
||||||
title:res.message
|
title:res.message
|
||||||
})
|
})
|
||||||
this.$emit('config')
|
setTimeout(()=>{
|
||||||
|
this.$emit('config')
|
||||||
|
},800)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,8 @@
|
||||||
<view class="dwdw" v-if="cgdwflag">
|
<view class="dwdw" v-if="cgdwflag">
|
||||||
<view class="gysscrol">
|
<view class="gysscrol">
|
||||||
<view v-for="(v,i) in cgdwarr" :key='i' :class="type.multiUnitType==v.multiUnitType?'acts':''"
|
<view v-for="(v,i) in cgdwarr" :key='i' :class="type.multiUnitType==v.multiUnitType?'acts':''"
|
||||||
@click="cd(v,i)" :style="v.unit&&v.num?'':'height:0 !important'">
|
@click="cd(v,i)" :style="v.unit&&v.num?'':'height:0 !important;margin-top:-0.5vw'">
|
||||||
<text v-if="v.unit&&v.num">{{v.unit}}</text><text v-if="v.unit&&v.num">{{v.num}}{{caigouobj.materialUnits}}</text>
|
<text v-if="v.unit&&v.num">{{v.unit}}</text><text v-if="v.unit&&v.num">{{v.num}}{{caigouobj.materialUnits}}</text>
|
||||||
<image src="/static/index/procurement/d.png" mode="aspectFill"></image>
|
<image src="/static/index/procurement/d.png" mode="aspectFill"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -126,6 +126,7 @@
|
||||||
()=>props.show,
|
()=>props.show,
|
||||||
()=>{
|
()=>{
|
||||||
if(props.show){
|
if(props.show){
|
||||||
|
console.log(props.caigouobj)
|
||||||
let a = [
|
let a = [
|
||||||
{
|
{
|
||||||
multiUnitType:1,
|
multiUnitType:1,
|
||||||
|
|
@ -146,11 +147,6 @@
|
||||||
num:1
|
num:1
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
a.forEach((v,i)=>{
|
|
||||||
if(v.price==null||!v.price){
|
|
||||||
a.splice(i,1)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
type.value = a.find(item=>
|
type.value = a.find(item=>
|
||||||
item.multiUnitType == props.caigouobj.multiUnitType
|
item.multiUnitType == props.caigouobj.multiUnitType
|
||||||
);
|
);
|
||||||
|
|
@ -164,7 +160,12 @@
|
||||||
n.forEach((item,i)=>{
|
n.forEach((item,i)=>{
|
||||||
gysarr.value.push({'name':item,'id':id[i]})
|
gysarr.value.push({'name':item,'id':id[i]})
|
||||||
})
|
})
|
||||||
jssl()
|
if(props.caigouobj.purchaseQuantity){
|
||||||
|
props.caigouobj.upperLimit=props.caigouobj.wlUpperLimit
|
||||||
|
huansuan(props.caigouobj.purchaseQuantity)
|
||||||
|
}else{
|
||||||
|
jssl()
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
gysflag.value = false;
|
gysflag.value = false;
|
||||||
cgdwflag.value = false;
|
cgdwflag.value = false;
|
||||||
|
|
@ -213,12 +214,14 @@
|
||||||
}, 300)
|
}, 300)
|
||||||
if (item == "AC") {
|
if (item == "AC") {
|
||||||
relNumber.value = 0;
|
relNumber.value = 0;
|
||||||
stringShow.value = "0000"
|
stringShow.value = "0000";
|
||||||
|
cy()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (item == "CE") {
|
if (item == "CE") {
|
||||||
relNumber.value = Math.trunc(relNumber.value / 10)
|
relNumber.value = Math.trunc(relNumber.value / 10)
|
||||||
stringShow.value = toFixed4ByPadStart(relNumber.value)
|
stringShow.value = toFixed4ByPadStart(relNumber.value);
|
||||||
|
cy()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
|
<!-- 购物车 -->
|
||||||
<scroll-view scroll-y="true" class="crdcroll" scroll-with-animation @scrolltolower="scrolltolower()" enable-back-to-top>
|
<scroll-view scroll-y="true" class="crdcroll" scroll-with-animation @scrolltolower="scrolltolower()" enable-back-to-top>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="fler" v-for="(v,index) in InvoicingList" :key="index">
|
<view class="fler" v-for="(v,index) in InvoicingList" :key="index" @click="v.flag=!v.flag">
|
||||||
<scroll-view class="carditem guodu" @touchend="handleTouchEnd($event,v,index)"
|
<view class="jiao guodu">
|
||||||
|
<image :src="v.flag?'/static/index/procurement/lxz.png':'/static/index/procurement/jxz.png'" mode="aspectFill" class="jao guodu"></image>
|
||||||
|
<image src="/static/index/procurement/dh.png" mode="aspectFill" class="dui"></image>
|
||||||
|
</view>
|
||||||
|
<scroll-view class="carditem guodu " @touchend="handleTouchEnd($event,v,index)"
|
||||||
@touchstart="touchstart($event,v,index)" scroll-with-animation scroll-x="true"
|
@touchstart="touchstart($event,v,index)" scroll-with-animation scroll-x="true"
|
||||||
:scroll-left="v.scrollleft" @scroll="scroll" >
|
:scroll-left="v.scrollleft" @scroll="scroll" :class="v.flag?'actve':''">
|
||||||
<view class="speitem guodu" >
|
<view class="speitem guodu" >
|
||||||
<image :src="v.materialImg?serverUrl+v.materialImg:'/static/index/procurement/k.png'"
|
<image :src="v.materialImg?serverUrl+v.materialImg:'/static/index/procurement/k.png'"
|
||||||
mode="aspectFill">
|
mode="aspectFill">
|
||||||
|
|
@ -31,6 +36,10 @@
|
||||||
<text>供应商: {{v.suppliersName}}{{v.suppliersName}}</text>
|
<text>供应商: {{v.suppliersName}}{{v.suppliersName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
|
<view>
|
||||||
|
<text style="color: #1083F8;">{{v.purchaseQuantity}}</text>
|
||||||
|
<text style="color: #1083F8;">采购数量</text>
|
||||||
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<text>{{v.kcsl}}</text>
|
<text>{{v.kcsl}}</text>
|
||||||
<text>库存数量</text>
|
<text>库存数量</text>
|
||||||
|
|
@ -49,8 +58,8 @@
|
||||||
<image class="guodu" :style="v.zk?'transform: rotate(180deg);':''" :src="'/static/index/procurement/l.png'" mode="aspectFill"></image>
|
<image class="guodu" :style="v.zk?'transform: rotate(180deg);':''" :src="'/static/index/procurement/l.png'" mode="aspectFill"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="zkadd guodu" :class="v.isAdd==1?'zkf':''">
|
<view class="zkadd guodu" :class="v.isAdd==1?'zkf':''">
|
||||||
<view @click.stop @touchend.stop>编辑</view>
|
<view @click.stop="addcar(v,index)" @touchend.stop>编辑</view>
|
||||||
<view @click.stop="addcar(v,index)" v-if="v.isAdd!=1" @touchend.stop>
|
<view @click.stop="del(v,index)" v-if="v.isAdd!=1" @touchend.stop>
|
||||||
<view>
|
<view>
|
||||||
<text>删除</text>
|
<text>删除</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -82,11 +91,19 @@
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['addcartory', 'scrolltolower','addcar'])
|
const emit = defineEmits(['addcartory', 'scrolltolower','delindex'])
|
||||||
const serverUrl = ref('')
|
const serverUrl = ref('')
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
||||||
})
|
})
|
||||||
|
const addcar = (v : any,i:number) => {
|
||||||
|
caigouobj.value = v;
|
||||||
|
caigouobj.value.index = i;
|
||||||
|
emit('addcartory', caigouobj.value)
|
||||||
|
}
|
||||||
|
const del = (v,i)=>{
|
||||||
|
emit('delindex',v,i)
|
||||||
|
}
|
||||||
const caigouobj = ref({})
|
const caigouobj = ref({})
|
||||||
const clkzk = (v : any, i : number) => {
|
const clkzk = (v : any, i : number) => {
|
||||||
// caigouobj.value = v;
|
// caigouobj.value = v;
|
||||||
|
|
@ -104,7 +121,6 @@
|
||||||
v.scrollleft = 150;
|
v.scrollleft = 150;
|
||||||
}
|
}
|
||||||
solleft(v,i)
|
solleft(v,i)
|
||||||
// emit('addcar', caigouobj.value,obj)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
const pageX = ref(0);
|
const pageX = ref(0);
|
||||||
|
|
@ -172,22 +188,51 @@
|
||||||
}
|
}
|
||||||
.fler {
|
.fler {
|
||||||
width: 47vw;
|
width: 47vw;
|
||||||
height: 18.2vw;
|
height: 17vw;
|
||||||
|
margin-bottom: 1.2vw;
|
||||||
|
border-radius: 1.6vw;
|
||||||
|
border: 2px solid rgba(245, 246, 248, 1);
|
||||||
|
position: relative;
|
||||||
|
.jiao{
|
||||||
|
width: 3.4vw;
|
||||||
|
height: 3.4vw;
|
||||||
|
position: absolute;
|
||||||
|
top: -2px;
|
||||||
|
left: 0;
|
||||||
|
z-index: 99;
|
||||||
|
.dui{
|
||||||
|
position: absolute;
|
||||||
|
width: 1.4vw;
|
||||||
|
height: 1.4vw;
|
||||||
|
top: 0.8vw;
|
||||||
|
left: 0.8vw;
|
||||||
|
z-index: 101;
|
||||||
|
}
|
||||||
|
.jao{
|
||||||
|
width: 3.4vw;
|
||||||
|
height: 3.4vw;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.actve{
|
||||||
|
border: 2px solid #1083F8 !important;
|
||||||
|
}
|
||||||
.carditem {
|
.carditem {
|
||||||
width: 47vw;
|
width: calc(47vw - 4px);
|
||||||
height: 17vw;
|
height:calc(17vw - 4px) ;
|
||||||
background: rgba(245, 246, 248, 1);
|
background: rgba(245, 246, 248, 1);
|
||||||
border-radius: 1.6vw;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-bottom: 1.2vw;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
border-radius: 1.6vw;
|
||||||
|
border: 2px solid rgba(245, 246, 248, 1);
|
||||||
.zkadd {
|
.zkadd {
|
||||||
width: 14vw;
|
width: 14vw;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
@ -270,20 +315,21 @@
|
||||||
.msitem {
|
.msitem {
|
||||||
width: 25vw;
|
width: 25vw;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 1vw;
|
padding:0.5vw 1vw 1vw;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
||||||
>view {
|
>view {
|
||||||
margin-top: 0.8vw;
|
margin-top: 0.8vw;
|
||||||
|
|
||||||
&:nth-child(5) {
|
&:nth-child(5) {
|
||||||
width: 100%;
|
width: 28vw;
|
||||||
height: 3.4vw;
|
height: 3.4vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
position: relative;
|
||||||
|
left: 0;
|
||||||
>view {
|
>view {
|
||||||
width: 33.3%;
|
width: 25%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -291,31 +337,13 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&:nth-child(1) {
|
&:nth-child(1) {
|
||||||
width: 30%;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2),&:nth-child(3),&:nth-child(4) {
|
||||||
width: 40%;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3) {
|
|
||||||
width: 30%;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:nth-child(2)::after {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 2.2vw;
|
|
||||||
border-left: 1px solid #C9C9C9;
|
|
||||||
border-right: 1px solid #C9C9C9;
|
|
||||||
top: 0.6vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
text {
|
text {
|
||||||
&:nth-child(1) {
|
&:nth-child(1) {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
@ -388,13 +416,13 @@
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
top: -3.5vw;
|
||||||
.cardp {
|
.cardp {
|
||||||
width: 12.5vw;
|
width: 12.5vw;
|
||||||
height: 4vw;
|
height: 4vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin: 0 auto;
|
margin: 1vw auto 0;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
view {
|
view {
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,19 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class="ifclass guodu" :class="show?'':'unclass'">
|
<view class="ifclass guodu" :class="show?'':'unclass'">
|
||||||
<view class="gyss">
|
<view class="gyss">
|
||||||
<view class="lef">供 应 商</view>
|
<view class="lef">供 应 商</view>
|
||||||
<view class="set" @click="selt = !selt">
|
<view class="set" @click="selt = !selt">
|
||||||
<text :class="gysidnum>-1?'n':''">{{gysidnum>-1?gysarr[gysidnum].suppliersName:'请选择供应商'}}</text>
|
<text :class="gysidnum>-1?'n':''">{{gysidnum>-1?gysarr[gysidnum].suppliersName:'请选择供应商'}}</text>
|
||||||
<image @click.stop="qingkong" class="guodu" :style="selt&&gysidnum==-1?'transform: rotate(180deg);':''"
|
<image @click.stop="qingkong" class="guodu"
|
||||||
:src="gysidnum<0?'/static/index/procurement/sj.png':'/static/index/procurement/x.png'" mode="aspectFill"></image>
|
:style="selt&&gysidnum==-1?'transform: rotate(180deg);':''"
|
||||||
|
:src="gysidnum<0?'/static/index/procurement/sj.png':'/static/index/procurement/x.png'"
|
||||||
|
mode="aspectFill"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="xuze guodu" :class="selt?'':'hei0'">
|
<view class="xuze guodu" :class="selt?'':'hei0'">
|
||||||
<scroll-view scroll-y="true" class="gysscrol guodu" :class="selt?'':'hei0'">
|
<scroll-view scroll-y="true" class="gysscrol guodu" :class="selt?'':'hei0'">
|
||||||
<view v-for="(v,i) in gysarr" :key='i' :class="gysidnum==i?'acts':''" @click="gysidnum=i;selt=false;getTreelnum()">
|
<view v-for="(v,i) in gysarr" :key='i' :class="gysidnum==i?'acts':''"
|
||||||
|
@click="gysidnum=i;selt=false;getTreelnum()">
|
||||||
<text>{{v.suppliersName}}</text>
|
<text>{{v.suppliersName}}</text>
|
||||||
<image src="/static/index/procurement/d.png" mode="aspectFill"></image>
|
<image src="/static/index/procurement/d.png" mode="aspectFill"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -33,7 +36,7 @@
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|
||||||
<scroll-view scroll-y="true" scroll-with-animation :scroll-top="scroll.scrolltop2"
|
<scroll-view scroll-y="true" scroll-with-animation :scroll-top="scroll.scrolltop2"
|
||||||
class="scroll-Y scrl2">
|
class="scroll-Y scrl2">
|
||||||
<view :class="scroll.act2==i?'act':''" v-for="(v,i) in TreeData[scroll.act1]?.children"
|
<view :class="scroll.act2==i?'act':''" v-for="(v,i) in TreeData[scroll.act1]?.children"
|
||||||
|
|
@ -49,10 +52,10 @@
|
||||||
{{v.title}}
|
{{v.title}}
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="btnbotm">
|
<view class="btnbotm">
|
||||||
<view class="bt" @click="typescroll(1,-1,{})" >重置</view>
|
<view class="bt" @click="typescroll(1,-1,{})">重置</view>
|
||||||
<view class="bt qd" @click="config">确定 <text v-if="num>0">({{num>99?'99+':num}}件物料)</text></view>
|
<view class="bt qd" @click="config">确定 <text v-if="num>0">({{num>99?'99+':num}}件物料)</text></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -60,132 +63,182 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineProps ,watch} from 'vue';
|
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineProps, watch } from 'vue';
|
||||||
import { getMaterialTreeData , getTreeDataWlnum,getGysList} from '../api/lunpan.js'
|
import { getMaterialTreeData, getTreeDataWlnum, getGysList, getGwcTreeDataWlnum, getGwcMaterialTreeData } from '../api/lunpan.js'
|
||||||
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
|
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
|
||||||
const scroll = reactive({ scrolltop1: 0, scrolltop2: 0, scrolltop3: 0, act1: -1, act2: -1, act3: -1 });
|
const scroll = reactive({ scrolltop1: 0, scrolltop2: 0, scrolltop3: 0, act1: -1, act2: -1, act3: -1 });
|
||||||
const TreeData = ref([]);
|
const TreeData = ref([]);
|
||||||
const gysarr = ref([]);
|
const gysarr = ref([]);
|
||||||
const gysidnum = ref(-1);
|
const gysidnum = ref(-1);
|
||||||
|
|
||||||
const serverUrl = ref('');
|
|
||||||
const selt = ref(false);
|
|
||||||
const emit = defineEmits(['confirm'])
|
|
||||||
const typescroll = (e : number, i : number, v : object) => {
|
|
||||||
if (e == 1) {
|
|
||||||
scroll.act2 = -1;
|
|
||||||
scroll.act3 = -1;
|
|
||||||
scroll.scrolltop2 = 0;
|
|
||||||
scroll.scrolltop3 = 0;
|
|
||||||
if (scroll.act1 == i) {
|
|
||||||
scroll.act1 = -1;
|
|
||||||
getTreelnum()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (e == 2) {
|
|
||||||
scroll.act3 = -1;
|
|
||||||
scroll.scrolltop3 = 0;
|
|
||||||
}
|
|
||||||
if (e == 3) {
|
|
||||||
|
|
||||||
}
|
const serverUrl = ref('');
|
||||||
scroll['act' + e] = i;
|
const selt = ref(false);
|
||||||
scroll['scrolltop' + e] = (i - 2) * 50;
|
const emit = defineEmits(['confirm'])
|
||||||
|
const typescroll = (e : number, i : number, v : object) => {
|
||||||
|
if (e == 1) {
|
||||||
|
scroll.act2 = -1;
|
||||||
|
scroll.act3 = -1;
|
||||||
|
scroll.scrolltop2 = 0;
|
||||||
|
scroll.scrolltop3 = 0;
|
||||||
|
if (scroll.act1 == i) {
|
||||||
|
scroll.act1 = -1;
|
||||||
|
getTreelnum()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (e == 2) {
|
||||||
|
scroll.act3 = -1;
|
||||||
|
scroll.scrolltop3 = 0;
|
||||||
|
}
|
||||||
|
if (e == 3) {
|
||||||
|
|
||||||
|
}
|
||||||
|
scroll['act' + e] = i;
|
||||||
|
scroll['scrolltop' + e] = (i - 2) * 50;
|
||||||
getTreelnum()
|
getTreelnum()
|
||||||
}
|
}
|
||||||
onMounted(()=>{
|
onMounted(() => {
|
||||||
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
||||||
getMaterial();
|
getMaterial();
|
||||||
GysList()
|
GysList()
|
||||||
})
|
})
|
||||||
const GysList =()=>{
|
const GysList = () => {
|
||||||
getGysList().then(res=>{
|
getGysList().then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
gysarr.value = res.result
|
gysarr.value = res.result
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const num = ref(0)
|
const num = ref(0)
|
||||||
const getTreelnum = ()=>{
|
const getTreelnum = () => {
|
||||||
let obj= {
|
let obj = {
|
||||||
nuId:uni.getStorageSync('nuId'),
|
nuId: uni.getStorageSync('nuId'),
|
||||||
categoryId:scroll.act1>-1?TreeData.value[scroll.act1].categoryId:'',
|
categoryId: scroll.act1 > -1 ? TreeData.value[scroll.act1].categoryId : '',
|
||||||
typeId:scroll.act2>-1?TreeData.value[scroll.act1].children[scroll.act2].typeId:'',
|
typeId: scroll.act2 > -1 ? TreeData.value[scroll.act1].children[scroll.act2].typeId : '',
|
||||||
medicationId:scroll.act3>-1?TreeData.value[scroll.act1].children[scroll.act2].children[scroll.act3].key:'',
|
medicationId: scroll.act3 > -1 ? TreeData.value[scroll.act1].children[scroll.act2].children[scroll.act3].key : '',
|
||||||
suppliers:gysidnum.value>-1? gysarr.value[gysidnum.value].suppliers:''
|
suppliers: gysidnum.value > -1 ? gysarr.value[gysidnum.value].suppliers : ''
|
||||||
}
|
}
|
||||||
getTreeDataWlnum(obj).then(res=>{
|
switch (props.typenum) {
|
||||||
num.value = res.result.totalSize;
|
case 0:
|
||||||
})
|
// 采购单
|
||||||
}
|
getTreeDataWlnum(obj).then(res => {
|
||||||
const getMaterial = () => {
|
num.value = res.result.totalSize;
|
||||||
getMaterialTreeData({'nuId':uni.getStorageSync('nuId')}).then(res => {
|
})
|
||||||
TreeData.value = res.result;
|
break;
|
||||||
getTreelnum()
|
case 1:
|
||||||
})
|
// 购物车
|
||||||
}
|
getGwcTreeDataWlnum(obj).then(res => {
|
||||||
const config =()=>{
|
console.log(res.result,obj)
|
||||||
let obj= {
|
num.value = res.result.totalSize;
|
||||||
categoryId:scroll.act1>-1?TreeData.value[scroll.act1].categoryId:'',
|
})
|
||||||
typeId:scroll.act2>-1?TreeData.value[scroll.act1].children[scroll.act2].typeId:'',
|
break;
|
||||||
medicationId:scroll.act3>-1?TreeData.value[scroll.act1].children[scroll.act2].children[scroll.act3].key:'',
|
case 2:
|
||||||
suppliers:gysidnum.value>-1? gysarr.value[gysidnum.value].suppliers:''
|
break;
|
||||||
}
|
|
||||||
emit('confirm',obj)
|
default:
|
||||||
}
|
break;
|
||||||
const props = defineProps({
|
}
|
||||||
show: {
|
|
||||||
type: Boolean,
|
}
|
||||||
default:false,
|
const getMaterial = () => {
|
||||||
required: true,
|
switch (props.typenum) {
|
||||||
},
|
case 0:
|
||||||
})
|
// 采购单
|
||||||
watch(
|
getMaterialTreeData({ 'nuId': uni.getStorageSync('nuId') }).then(res => {
|
||||||
()=>props.show,
|
TreeData.value = res.result;
|
||||||
()=>{
|
getTreelnum()
|
||||||
if(props.show==false){
|
})
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
// 购物车
|
||||||
|
getGwcMaterialTreeData({ 'nuId': uni.getStorageSync('nuId') }).then(res => {
|
||||||
|
console.log(res.result,props.typenum)
|
||||||
|
TreeData.value = res.result;
|
||||||
|
getTreelnum()
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
const config = () => {
|
||||||
|
let obj = {
|
||||||
|
categoryId: scroll.act1 > -1 ? TreeData.value[scroll.act1].categoryId : '',
|
||||||
|
typeId: scroll.act2 > -1 ? TreeData.value[scroll.act1].children[scroll.act2].typeId : '',
|
||||||
|
medicationId: scroll.act3 > -1 ? TreeData.value[scroll.act1].children[scroll.act2].children[scroll.act3].key : '',
|
||||||
|
suppliers: gysidnum.value > -1 ? gysarr.value[gysidnum.value].suppliers : ''
|
||||||
|
}
|
||||||
|
emit('confirm', obj)
|
||||||
|
}
|
||||||
|
const props = defineProps({
|
||||||
|
show: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
typenum: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
watch(
|
||||||
|
() => props.show,
|
||||||
|
() => {
|
||||||
|
if (props.show == false) {
|
||||||
selt.value = false
|
selt.value = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const qingkong=()=>{
|
const qingkong = () => {
|
||||||
if(gysidnum.value>-1){
|
if (gysidnum.value > -1) {
|
||||||
gysidnum.value = -1;
|
gysidnum.value = -1;
|
||||||
getTreelnum()
|
getTreelnum()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.gyss{
|
.gyss {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 4vw;
|
height: 4vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.hei0{
|
|
||||||
|
.hei0 {
|
||||||
height: 0 !important;
|
height: 0 !important;
|
||||||
}
|
}
|
||||||
.xuze{
|
|
||||||
|
.xuze {
|
||||||
width: 23vw;
|
width: 23vw;
|
||||||
height: calc(85vh - 22vw);
|
height: calc(85vh - 22vw);
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 1.6vw;
|
border-radius: 1.6vw;
|
||||||
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163,167,182,0.16);
|
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 4vw;
|
top: 4vw;
|
||||||
right: 0;
|
right: 0;
|
||||||
z-index: 133;
|
z-index: 133;
|
||||||
.gysscrol{
|
|
||||||
|
.gysscrol {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(85vh - 24vw);
|
height: calc(85vh - 24vw);
|
||||||
.acts{
|
|
||||||
|
.acts {
|
||||||
color: #0385FA !important;
|
color: #0385FA !important;
|
||||||
image{
|
|
||||||
|
image {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
view{
|
|
||||||
|
view {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -194,10 +247,12 @@
|
||||||
color: #666666;
|
color: #666666;
|
||||||
margin-bottom: 1.2vw;
|
margin-bottom: 1.2vw;
|
||||||
padding: 0 1vw;
|
padding: 0 1vw;
|
||||||
&:nth-child(1){
|
|
||||||
|
&:nth-child(1) {
|
||||||
margin-top: 0.9vw;
|
margin-top: 0.9vw;
|
||||||
}
|
}
|
||||||
image{
|
|
||||||
|
image {
|
||||||
width: 1vw !important;
|
width: 1vw !important;
|
||||||
height: 0.7vw !important;
|
height: 0.7vw !important;
|
||||||
display: none;
|
display: none;
|
||||||
|
|
@ -205,14 +260,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.lef{
|
|
||||||
|
.lef {
|
||||||
width: 6.7vw;
|
width: 6.7vw;
|
||||||
letter-spacing: 2px;
|
letter-spacing: 2px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 1.5vw;
|
font-size: 1.5vw;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
.set{
|
|
||||||
|
.set {
|
||||||
width: 23vw;
|
width: 23vw;
|
||||||
height: 3.8vw;
|
height: 3.8vw;
|
||||||
padding: 0 1.7vw;
|
padding: 0 1.7vw;
|
||||||
|
|
@ -221,11 +278,13 @@
|
||||||
background: #F8F8FA;
|
background: #F8F8FA;
|
||||||
border-radius: 1vw;
|
border-radius: 1vw;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
image{
|
|
||||||
|
image {
|
||||||
width: 1.6vw;
|
width: 1.6vw;
|
||||||
height: 1.6vw;
|
height: 1.6vw;
|
||||||
}
|
}
|
||||||
text{
|
|
||||||
|
text {
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
font-size: 1.4vw;
|
font-size: 1.4vw;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
@ -237,150 +296,170 @@
|
||||||
line-height: 1.5vw;
|
line-height: 1.5vw;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
.n{
|
|
||||||
|
.n {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.unclass{
|
|
||||||
|
.unclass {
|
||||||
top: -86vh !important;
|
top: -86vh !important;
|
||||||
}
|
}
|
||||||
.ifclass{
|
|
||||||
width: 36vw;
|
.ifclass {
|
||||||
height: 85vh;
|
width: 36vw;
|
||||||
position: fixed;
|
height: 85vh;
|
||||||
z-index: 120;
|
position: fixed;
|
||||||
background:rgba(255, 255, 255, 0.98);
|
z-index: 120;
|
||||||
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163,167,182,0.16);
|
background: rgba(255, 255, 255, 0.98);
|
||||||
border-radius: 1.6vw;
|
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
|
||||||
top: 10vh;
|
border-radius: 1.6vw;
|
||||||
left: 32vw;
|
top: 10vh;
|
||||||
padding: 2.5vw 3vw;
|
left: 32vw;
|
||||||
.btnbotm{
|
padding: 2.5vw 3vw;
|
||||||
width: 100%;
|
|
||||||
height: 4vw;
|
.btnbotm {
|
||||||
margin-top: 3vw;
|
width: 100%;
|
||||||
display: flex;
|
height: 4vw;
|
||||||
justify-content: flex-end;
|
margin-top: 3vw;
|
||||||
align-items: end;
|
|
||||||
.bt{
|
|
||||||
min-width: 8vw;
|
|
||||||
height: 3.8vw;
|
|
||||||
background: #EDEDEF;
|
|
||||||
border-radius: 1.6vw;
|
|
||||||
padding: 0 2vw;
|
|
||||||
margin-left: 1vw;
|
|
||||||
border: 1px solid #EDEDEF;
|
|
||||||
font-size: 1.8vw;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #888888;
|
|
||||||
white-space: nowrap;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: flex-end;
|
||||||
align-items: center;
|
align-items: end;
|
||||||
}
|
|
||||||
.qd{
|
.bt {
|
||||||
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
|
min-width: 8vw;
|
||||||
border: 1px solid rgba(3,133,250,0.34);
|
|
||||||
color: #0385FA;
|
|
||||||
text{
|
|
||||||
font-size: 1.4vw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.scroltype {
|
|
||||||
width: 100%;
|
|
||||||
height: calc(85vh - 22vw);
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
.scrl1{
|
|
||||||
width: 9vw;
|
|
||||||
view {
|
|
||||||
width: 8.8vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
.scrl2,.scrl3{
|
|
||||||
width: 8vw;
|
|
||||||
view {
|
|
||||||
width: 7.7vw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.scroll-Y {
|
|
||||||
width: 8.5vw;
|
|
||||||
height: calc(85vh - 22vw);
|
|
||||||
|
|
||||||
view {
|
|
||||||
width: 100%;
|
|
||||||
height: 3.8vw;
|
height: 3.8vw;
|
||||||
background: #F5F5F8;;
|
background: #EDEDEF;
|
||||||
border-radius: 1.9vw;
|
border-radius: 1.6vw;
|
||||||
|
padding: 0 2vw;
|
||||||
|
margin-left: 1vw;
|
||||||
|
border: 1px solid #EDEDEF;
|
||||||
|
font-size: 1.8vw;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 1.3vw;
|
color: #888888;
|
||||||
color: #212327;
|
white-space: nowrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0 0.4vw;
|
}
|
||||||
margin-bottom: .8vw;
|
|
||||||
text-align: center;
|
.qd {
|
||||||
|
background: linear-gradient(0deg, #CAE0F9, #E9F4FF);
|
||||||
|
border: 1px solid rgba(3, 133, 250, 0.34);
|
||||||
|
color: #0385FA;
|
||||||
|
|
||||||
text {
|
text {
|
||||||
white-space: nowrap;
|
font-size: 1.4vw;
|
||||||
}
|
|
||||||
|
|
||||||
>image {
|
|
||||||
width: 2vw;
|
|
||||||
height: 2vw;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.act {
|
|
||||||
background: #EAF5FF !important;
|
.scroltype {
|
||||||
font-weight: 600;
|
width: 100%;
|
||||||
color: #0385FA !important;
|
height: calc(85vh - 22vw);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
|
||||||
|
.scrl1 {
|
||||||
|
width: 9vw;
|
||||||
|
|
||||||
|
view {
|
||||||
|
width: 8.8vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.scrl2,
|
||||||
|
.scrl3 {
|
||||||
|
width: 8vw;
|
||||||
|
|
||||||
|
view {
|
||||||
|
width: 7.7vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-Y {
|
||||||
|
width: 8.5vw;
|
||||||
|
height: calc(85vh - 22vw);
|
||||||
|
|
||||||
|
view {
|
||||||
|
width: 100%;
|
||||||
|
height: 3.8vw;
|
||||||
|
background: #F5F5F8;
|
||||||
|
;
|
||||||
|
border-radius: 1.9vw;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.3vw;
|
||||||
|
color: #212327;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 0.4vw;
|
||||||
|
margin-bottom: .8vw;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
>image {
|
||||||
|
width: 2vw;
|
||||||
|
height: 2vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.act {
|
||||||
|
background: #EAF5FF !important;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #0385FA !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
.toptype {
|
.toptype {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 2vw;
|
height: 2vw;
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
margin: 1.4vw 0 .4vw 0;
|
|
||||||
.act {
|
|
||||||
background: rgba(255, 255, 255, 1) !important;
|
|
||||||
font-weight: 600;
|
|
||||||
color: #0385FA !important;
|
|
||||||
}
|
|
||||||
>view {
|
|
||||||
width: 7vw;
|
|
||||||
height: 1.9vw;
|
|
||||||
border-radius: 1vw;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: space-around;
|
||||||
align-items: center;
|
margin: 1.4vw 0 .4vw 0;
|
||||||
background: rgba(255, 255, 255, .5);
|
|
||||||
border:1px solid rgba(255, 255, 255, .5);
|
.act {
|
||||||
font-weight: 400;
|
background: rgba(255, 255, 255, 1) !important;
|
||||||
font-size: 1.2vw;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #0385FA !important;
|
||||||
padding: 0;
|
}
|
||||||
|
|
||||||
|
>view {
|
||||||
|
width: 7vw;
|
||||||
|
height: 1.9vw;
|
||||||
|
border-radius: 1vw;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: rgba(255, 255, 255, .5);
|
||||||
|
border: 1px solid rgba(255, 255, 255, .5);
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.2vw;
|
||||||
|
color: #333333;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
.titletop{
|
.titletop {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 2.5vw;
|
height: 2.5vw;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 1.5vw;
|
font-size: 1.5vw;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
line-height: 2.5vw;
|
line-height: 2.5vw;
|
||||||
}
|
}
|
||||||
.guodu {
|
|
||||||
transition: .4s;
|
.guodu {
|
||||||
-webkit-transform-style: preserve-3d;
|
transition: .4s;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-transform-style: preserve-3d;
|
||||||
}
|
-webkit-overflow-scrolling: touch;
|
||||||
</style>
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<view class="que">
|
||||||
|
<image src="/static/index/procurement/que.png" mode="aspectFill"></image>
|
||||||
|
<view>{{cont}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
cont:''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.que{
|
||||||
|
width: 16.3vw;
|
||||||
|
height: 16.3vw;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin: auto;
|
||||||
|
image{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
view{
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0.5vw;
|
||||||
|
left: 0;
|
||||||
|
font-weight: 300;
|
||||||
|
font-size: 1.4vw;
|
||||||
|
color: #555555;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<view class="zhezhao" v-show="open" @click="emit('back')">
|
||||||
|
<view class="neuro-box" @click.stop v-if="open">
|
||||||
|
<view class="button-father">
|
||||||
|
<view :class="buttonposition?`buttontarget button`:`button-white` " @click="emit('back')">
|
||||||
|
取消</view>
|
||||||
|
<view :class="!buttonposition?`buttontarget button`:`button-white` " @click="config()">确定</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="card-font">
|
||||||
|
{{content}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, watch, onUnmounted ,defineEmits } from 'vue';
|
||||||
|
const emit = defineEmits(["back", "del"])
|
||||||
|
const props = defineProps({
|
||||||
|
open: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
content: {
|
||||||
|
type: String
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const buttonposition = ref(false)
|
||||||
|
const config = ()=>{
|
||||||
|
emit('del')
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.card-font {
|
||||||
|
margin-top: 70rpx;
|
||||||
|
width: 600rpx;
|
||||||
|
justify-content: center;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.button-white {
|
||||||
|
width: 40%;
|
||||||
|
border: 2rpx solid #c3cacd;
|
||||||
|
background: linear-gradient(to bottom, #f3f3f5, #dee4e9);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 25rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
}
|
||||||
|
.button {
|
||||||
|
width: 40%;
|
||||||
|
background-color: #ddf0ff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #007CFF;
|
||||||
|
border: 1rpx solid #007CFF;
|
||||||
|
font-size: 25rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
}
|
||||||
|
.button-father {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 60rpx;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 100%;
|
||||||
|
height: 60rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
padding: 0 50rpx;
|
||||||
|
}
|
||||||
|
.neuro-box {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
width: 400rpx;
|
||||||
|
height: 270rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
z-index: 21;
|
||||||
|
padding: 0 10%;
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
.zhezhao {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
z-index: 125;
|
||||||
|
}
|
||||||
|
.zerotarget {
|
||||||
|
--color: #99C9FD;
|
||||||
|
--thick: 2px;
|
||||||
|
--radius: 50rpx;
|
||||||
|
--outline-offset: 0rpx;
|
||||||
|
/* 外扩多少 */
|
||||||
|
/* 内层虚线(你现在用的) */
|
||||||
|
border-radius: var(--radius);
|
||||||
|
background-color: white;
|
||||||
|
/* 内部背景 */
|
||||||
|
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||||
|
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||||
|
outline: var(--thick) dashed var(--color);
|
||||||
|
outline-offset: var(--outline-offset);
|
||||||
|
|
||||||
|
/* 保证文本 / 子元素在最上层 */
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.firsttarget {
|
||||||
|
--color: #99C9FD;
|
||||||
|
--thick: 2px;
|
||||||
|
--radius: 50%;
|
||||||
|
--outline-offset: 0rpx;
|
||||||
|
/* 外扩多少 */
|
||||||
|
|
||||||
|
/* 内层虚线(你现在用的) */
|
||||||
|
border-radius: var(--radius);
|
||||||
|
background-color: white;
|
||||||
|
/* 内部背景 */
|
||||||
|
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||||
|
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||||
|
outline: var(--thick) dashed var(--color);
|
||||||
|
outline-offset: var(--outline-offset);
|
||||||
|
|
||||||
|
/* 保证文本 / 子元素在最上层 */
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttontarget {
|
||||||
|
--color: #99C9FD;
|
||||||
|
--thick: 2px;
|
||||||
|
--radius: 30rpx;
|
||||||
|
--outline-offset: 0rpx;
|
||||||
|
/* 外扩多少 */
|
||||||
|
|
||||||
|
/* 内层虚线(你现在用的) */
|
||||||
|
border-radius: var(--radius);
|
||||||
|
background-color: white;
|
||||||
|
/* 内部背景 */
|
||||||
|
animation: scalePulse 360ms cubic-bezier(.2, .8, .2, 1);
|
||||||
|
/* 外层虚线:放在 outline(不会影响元素尺寸) */
|
||||||
|
outline: var(--thick) dashed var(--color);
|
||||||
|
outline-offset: var(--outline-offset);
|
||||||
|
|
||||||
|
/* 保证文本 / 子元素在最上层 */
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes scalePulse {
|
||||||
|
0% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
25% {
|
||||||
|
/* 先收缩一点点 */
|
||||||
|
transform: scale(0.94);
|
||||||
|
}
|
||||||
|
|
||||||
|
65% {
|
||||||
|
/* 再放大到略超出的感觉 */
|
||||||
|
transform: scale(1.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
<calculator :show="addflag" @jjnum="jjnum" :caigouobj="caigouobj" @colse="qk" @right="right"></calculator>
|
<calculator :show="addflag" @jjnum="jjnum" :caigouobj="caigouobj" @colse="qk" @right="right"></calculator>
|
||||||
<!-- 筛选 -->
|
<!-- 筛选 -->
|
||||||
<view class="mengban" v-if="ification" @click="qk"></view>
|
<view class="mengban" v-if="ification" @click="qk"></view>
|
||||||
<classification @confirm="confirm" :show="ification"></classification>
|
<classification @confirm="confirm" :show="ification" :typenum="0"></classification>
|
||||||
<!-- more -->
|
<!-- more -->
|
||||||
<view class="mengban" v-if="Invenshow" @click="Invenshow = false;moredex=0"></view>
|
<view class="mengban" v-if="Invenshow" @click="Invenshow = false;moredex=0"></view>
|
||||||
<Inventory @addcartory="addcartory" :show="Invenshow" :InvoicingList="Material"
|
<Inventory @addcartory="addcartory" :show="Invenshow" :InvoicingList="Material"
|
||||||
|
|
@ -158,11 +158,9 @@
|
||||||
})
|
})
|
||||||
onLoad(() => {
|
onLoad(() => {
|
||||||
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
|
||||||
queryInvo();
|
|
||||||
})
|
})
|
||||||
onShow(()=>{
|
onShow(()=>{
|
||||||
shoppcar();
|
config()
|
||||||
getWaringMaterial()
|
|
||||||
})
|
})
|
||||||
const Material = ref([])
|
const Material = ref([])
|
||||||
const getWaringMaterial=()=>{
|
const getWaringMaterial=()=>{
|
||||||
|
|
@ -178,18 +176,22 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const config = ()=>{
|
const config = ()=>{
|
||||||
warn.pageNo = 1;
|
form.pageNo=1;
|
||||||
Material.value = [];
|
warn.pageNo=1;
|
||||||
getWaringMaterial();
|
Material.value=[];
|
||||||
moredex.value=0
|
InvoicingList.value=[];
|
||||||
|
shoppcar();
|
||||||
|
queryInvo();
|
||||||
|
getWaringMaterial()
|
||||||
|
moredex.value=0;
|
||||||
|
shoppcar();
|
||||||
}
|
}
|
||||||
const carnum = ref(0)
|
const carnum = ref(0)
|
||||||
const shoppcar=()=>{
|
const shoppcar=()=>{
|
||||||
let c = {
|
let c = {
|
||||||
nuId: form.nuId,
|
nuId: form.nuId,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10
|
pageSize: 1 }
|
||||||
}
|
|
||||||
queryShoppingCartList(c).then(resr=>{
|
queryShoppingCartList(c).then(resr=>{
|
||||||
carnum.value = resr.result.total
|
carnum.value = resr.result.total
|
||||||
})
|
})
|
||||||
|
|
@ -293,6 +295,7 @@
|
||||||
referenceUnitPrice:type.price,
|
referenceUnitPrice:type.price,
|
||||||
dhbl:type.num
|
dhbl:type.num
|
||||||
}
|
}
|
||||||
|
console.log(dt)
|
||||||
addShoppingCartList([dt]).then(res=>{
|
addShoppingCartList([dt]).then(res=>{
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon:res.success?'success':'none',
|
icon:res.success?'success':'none',
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="rightbtn">
|
<view class="rightbtn">
|
||||||
<view>
|
<view @click="open = 1">
|
||||||
<image src="/static/index/procurement/del1.png" mode="aspectFill"></image>
|
<image src="/static/index/procurement/del1.png" mode="aspectFill"></image>
|
||||||
清空
|
清空
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -30,15 +30,33 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<carlist :InvoicingList="InvoicingList" :status="status"></carlist>
|
<carlist :InvoicingList="InvoicingList" :status="status" @delindex="opendelindex" @addcartory="addcartory"></carlist>
|
||||||
|
|
||||||
|
<equiment :open="open==1" @del="del()" @back="open = 0" :content="'是否清空购物车?'"></equiment>
|
||||||
|
<equiment :open="open==2" @del="delindex()" @back="open = 0" :content="'是否删除此物料?'"></equiment>
|
||||||
|
|
||||||
|
<!-- 筛选 -->
|
||||||
|
<view class="mengban" v-if="ification" @click="ification = false"></view>
|
||||||
|
<classification @confirm="confirm" :show="ification" :typenum="1"></classification>
|
||||||
|
<defaultr cont="暂无数据" v-if="status=='nomore'&&InvoicingList.length==0"></defaultr>
|
||||||
|
|
||||||
|
<view class="mengban" v-if="addflag" @click="addflag = false"></view>
|
||||||
|
<calculator :show="addflag" :caigouobj="caigouobj" @colse="addflag = false" @right="right"></calculator>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineProps ,defineComponent} from 'vue';
|
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineProps ,defineComponent} from 'vue';
|
||||||
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
|
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
|
||||||
import { queryShoppingCartList, getGwcMaterialTreeData, queryNuInfoByNuId, updateKfstatus,deleteQgInfoById,emptiedQgInfo ,queryWlInfoByWlId,generatedPurchaseOrder,generatedPurchaseViewOrder } from './api/lunpan.js'
|
import {eddShoppingCartList, queryShoppingCartList, getGwcMaterialTreeData, queryNuInfoByNuId, updateKfstatus,deleteQgInfoById,emptiedQgInfo ,queryWlInfoByWlId,generatedPurchaseOrder,generatedPurchaseViewOrder } from './api/lunpan.js'
|
||||||
import carlist from './components/carlist.vue';
|
import carlist from './components/carlist.vue';
|
||||||
|
import equiment from './components/equiment.vue';
|
||||||
|
import classification from './components/classification.vue'
|
||||||
|
import defaultr from './components/default.vue'
|
||||||
|
import calculator from './components/calculator.vue'
|
||||||
|
const addflag = ref(false)
|
||||||
|
const ification = ref(false)
|
||||||
|
const caigouobj = ref({})
|
||||||
const form = reactive({
|
const form = reactive({
|
||||||
nuId: uni.getStorageSync('nuId'),
|
nuId: uni.getStorageSync('nuId'),
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
|
|
@ -47,17 +65,18 @@
|
||||||
typeId: '',
|
typeId: '',
|
||||||
medicationId: '',
|
medicationId: '',
|
||||||
wlParamInfo: '',
|
wlParamInfo: '',
|
||||||
isWaring: 0
|
suppliers:''
|
||||||
})
|
})
|
||||||
const InvoicingList = ref([])
|
const InvoicingList = ref([])
|
||||||
const status = ref('loading')
|
const status = ref('loading')
|
||||||
|
const open = ref(0)
|
||||||
onLoad(()=>{
|
onLoad(()=>{
|
||||||
queryInvo()
|
queryInvo()
|
||||||
})
|
})
|
||||||
const queryInvo = () => {
|
const queryInvo = () => {
|
||||||
queryShoppingCartList(form).then(res => {
|
queryShoppingCartList(form).then(res => {
|
||||||
res.result.records.forEach((item,i)=>{
|
res.result.records.forEach((item,i)=>{
|
||||||
item.flag = true;
|
item.flag = false;
|
||||||
item.zk = false;
|
item.zk = false;
|
||||||
item.scrollleft = 0;
|
item.scrollleft = 0;
|
||||||
})
|
})
|
||||||
|
|
@ -67,6 +86,27 @@
|
||||||
setout.value = (res.result.total == InvoicingList.value.length ? false : true)
|
setout.value = (res.result.total == InvoicingList.value.length ? false : true)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const search = (x : number) => {
|
||||||
|
if (x === 0) { form.wlParamInfo = '' }
|
||||||
|
form.pageNo = 1;
|
||||||
|
InvoicingList.value = [];
|
||||||
|
queryInvo();
|
||||||
|
}
|
||||||
|
const addcartory =(e:any)=>{
|
||||||
|
console.log(e)
|
||||||
|
caigouobj.value = e;
|
||||||
|
addflag.value = true;
|
||||||
|
}
|
||||||
|
const confirm =(e:any)=>{
|
||||||
|
form.categoryId = e.categoryId;
|
||||||
|
form.typeId = e.typeId;
|
||||||
|
form.medicationId = e.medicationId;
|
||||||
|
form.suppliers = e.suppliers;
|
||||||
|
form.pageNo=1;
|
||||||
|
InvoicingList.value = [];
|
||||||
|
queryInvo();
|
||||||
|
ification.value = false
|
||||||
|
}
|
||||||
let times = null;
|
let times = null;
|
||||||
const setout = ref(true)
|
const setout = ref(true)
|
||||||
const scrolltolower = (t:number) => {
|
const scrolltolower = (t:number) => {
|
||||||
|
|
@ -76,6 +116,80 @@
|
||||||
form.pageNo++;
|
form.pageNo++;
|
||||||
queryInvo()
|
queryInvo()
|
||||||
}
|
}
|
||||||
|
const del=()=>{
|
||||||
|
emptiedQgInfo().then(res=>{
|
||||||
|
if(res.success){
|
||||||
|
form.pageNo=1;
|
||||||
|
InvoicingList.value = [];
|
||||||
|
queryInvo()
|
||||||
|
}
|
||||||
|
open.value = 0;
|
||||||
|
// uni.showToast({
|
||||||
|
// icon:res.success?'success':'none',
|
||||||
|
// title:res.message
|
||||||
|
// })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const delobj = ref({})
|
||||||
|
const opendelindex=(v:any,i:number)=>{
|
||||||
|
open.value = 2;
|
||||||
|
v.index = i;
|
||||||
|
delobj.value = v;
|
||||||
|
}
|
||||||
|
const delindex =()=>{
|
||||||
|
let delstr = delobj.value.id;
|
||||||
|
deleteQgInfoById(delstr).then(res=>{
|
||||||
|
uni.showToast({
|
||||||
|
icon:res.success?'success':'none',
|
||||||
|
title:res.message
|
||||||
|
})
|
||||||
|
setTimeout(()=>{
|
||||||
|
if(res.success){
|
||||||
|
InvoicingList.value.splice(delobj.value.index,1);
|
||||||
|
open.value = 0;
|
||||||
|
}
|
||||||
|
},800)
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const right = (n:number,nm:any,type:Object) => {
|
||||||
|
connfig(nm,n,type)
|
||||||
|
}
|
||||||
|
const timers = ref(true)
|
||||||
|
const connfig = (nm:any,num:Number,type:Object) =>{
|
||||||
|
if(timers.value==false){return}
|
||||||
|
timers.value=false;
|
||||||
|
let dt = {
|
||||||
|
nuId:form.nuId,
|
||||||
|
purchaseQuantity:num,
|
||||||
|
suppliersId:nm.id,
|
||||||
|
suppliersName:nm.name,
|
||||||
|
id:caigouobj.value.id,
|
||||||
|
wlId:caigouobj.value.wlId,
|
||||||
|
kcsl:caigouobj.value.kcsl,
|
||||||
|
wlUnits:type.unit,
|
||||||
|
referenceUnitPrice:type.price,
|
||||||
|
dhbl:type.num
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(dt)
|
||||||
|
eddShoppingCartList(dt).then(res=>{
|
||||||
|
uni.showToast({
|
||||||
|
icon:res.success?'success':'none',
|
||||||
|
title:res.message
|
||||||
|
})
|
||||||
|
setTimeout(()=>{
|
||||||
|
timers.value=true;
|
||||||
|
if(res.success){
|
||||||
|
addflag.value = false;
|
||||||
|
form.pageNo=1;
|
||||||
|
InvoicingList.value = [];
|
||||||
|
queryInvo();
|
||||||
|
}
|
||||||
|
},700)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|
@ -205,6 +319,15 @@
|
||||||
-webkit-transform-style: preserve-3d;
|
-webkit-transform-style: preserve-3d;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
}
|
}
|
||||||
|
.mengban {
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 90;
|
||||||
|
background: RGBA(239, 240, 244, 0.55);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style>
|
<style>
|
||||||
page {
|
page {
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 469 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
Loading…
Reference in New Issue