This commit is contained in:
wangweidong 2025-11-18 15:58:40 +08:00
parent 99e9eff0e0
commit 61aa1ddbd2
5 changed files with 164 additions and 85 deletions

View File

@ -119,6 +119,13 @@ export const emptiedQgInfo = (params) => {
} }
export const upload = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/sys/common/upload`,
method: 'post',
data: params,
})
}
// 作废 // 作废
export const voidedCgdMain = (params) => { export const voidedCgdMain = (params) => {
return request({ return request({

View File

@ -1,12 +1,11 @@
<template> <template>
<view> <view>
<view class="zhezhao" v-show="open" <view class="zhezhao" v-show="open" @click="emit('back')">
@click="closeall()">
<view class="neuro-box" @click.stop v-if="open"> <view class="neuro-box" @click.stop v-if="open">
<view class="button-father"> <view class="button-father">
<view :class="!buttonposition?`buttontarget button`:`button-white` " @click="open=false"> <view :class="buttonposition?`buttontarget button`:`button-white` " @click="emit('back')">
取消</view> 取消</view>
<view :class="buttonposition?`buttontarget button`:`button-white` " @click="config()">确定</view> <view :class="!buttonposition?`buttontarget button`:`button-white` " @click="config()">确定</view>
</view> </view>
<view class="card-font"> <view class="card-font">
@ -19,61 +18,20 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, watch, onUnmounted ,defineEmits } from 'vue'; import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, watch, onUnmounted ,defineEmits } from 'vue';
const emit = defineEmits(["configdel", "del"]) const emit = defineEmits(["back", "del"])
const props = defineProps({ const props = defineProps({
open: { open: {
type: Boolean, type: Boolean,
required: true, required: true,
}, },
propsmove: {
type: Number
},
content: { content: {
type: String type: String
}, },
isMain: {
type: Boolean
}
}); });
watch(
() => props.propsmove,
() => {
console.log(props.propsmove)
switch (props.propsmove){
case 1:
buttonposition.value = !buttonposition.value
break;
case 3:
buttonposition.value = !buttonposition.value
break;
case 4:
if(buttonposition.value==true){
emit('del')
}else{
emit('configdel')
}
break;
case 5:
emit('configdel')
break;
default:
break;
}
}
)
const buttonposition = ref(false) const buttonposition = ref(false)
const closeall = ()=>{
emit('configdel')
}
const config = ()=>{ const config = ()=>{
buttonposition.value = true;
emit('del') emit('del')
} }
const clicktab = (index : number) => {
console.log(index)
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@ -139,7 +97,7 @@
left: 0; left: 0;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
z-index: 25; z-index: 1125;
} }
.zerotarget { .zerotarget {
--color: #99C9FD; --color: #99C9FD;

View File

@ -90,16 +90,16 @@
</view> </view>
</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;"> <view style="margin: 40rpx 0;width: 100%;text-align: center;font-size: 35rpx;font-weight: 600;">
留置针敷贴医用透明敷料 {{showvalue.wlName}}
</view> </view>
<view style="display: flex;justify-content: space-between;width: 100%;"> <view style="display: flex;justify-content: space-between;width: 100%;">
<view style="font-weight: 600;font-size: 30rpx;"> <view style="font-weight: 600;font-size: 30rpx;">
物料信息 物料信息
</view> </view>
<view style="font-weight: 600;font-size: 35rpx;"> <view style="font-weight: 600;font-size: 35rpx;">
10.12 {{showvalue.totalPrice}}
</view> </view>
</view> </view>
<view style="display: flex;margin-top: 10rpx;"> <view style="display: flex;margin-top: 10rpx;">
@ -108,7 +108,7 @@
物料编码 物料编码
</view> </view>
<view class="" style="margin-top: 5rpx;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-size: 34rpx;">
FLYP001 {{showvalue.wlMaterialNo}}
</view> </view>
</view> </view>
<view class="" style="width: 33%;"> <view class="" style="width: 33%;">
@ -116,7 +116,7 @@
规格型号 规格型号
</view> </view>
<view class="" style="margin-top: 5rpx;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-size: 34rpx;">
800mm*680mm {{showvalue.wlSpecificationModel}}
</view> </view>
</view> </view>
</view> </view>
@ -126,7 +126,7 @@
采购单价 采购单价
</view> </view>
<view class="text-anim" style="margin-top: 5rpx;font-weight: 600;font-size: 34rpx;"> <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> </view>
<view class="" style="width: 33%;"> <view class="" style="width: 33%;">
@ -134,7 +134,7 @@
采购数量 采购数量
</view> </view>
<view class="" style="margin-top: 5rpx;font-weight: 600;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-weight: 600;font-size: 34rpx;">
30 {{showvalue.purchaseQuantity}}
</view> </view>
</view> </view>
<view class="" style="width: 33%;"> <view class="" style="width: 33%;">
@ -142,7 +142,7 @@
采购单位 采购单位
</view> </view>
<view class="" style="margin-top: 5rpx;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-size: 34rpx;">
{{showvalue.wlUnits}}
</view> </view>
</view> </view>
</view> </view>
@ -159,7 +159,7 @@
入库数量 入库数量
</view> </view>
<view class="" style="margin-top: 5rpx;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-size: 34rpx;">
0 {{showvalue.rksl}}
</view> </view>
</view> </view>
<view class="" style="width: 33%;"> <view class="" style="width: 33%;">
@ -167,7 +167,7 @@
挂账数量 挂账数量
</view> </view>
<view class="" style="margin-top: 5rpx;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-size: 34rpx;">
0 {{showvalue.wrksl}}
</view> </view>
</view> </view>
<view class="" style="width: 33%;"> <view class="" style="width: 33%;">
@ -175,7 +175,7 @@
销账数量 销账数量
</view> </view>
<view class="" style="margin-top: 5rpx;font-size: 34rpx;"> <view class="" style="margin-top: 5rpx;font-size: 34rpx;">
0 {{showvalue.xzsl}}
</view> </view>
</view> </view>
</view> </view>
@ -187,15 +187,40 @@
</view> </view>
</view> </view>
<view style="display: flex;flex-wrap: wrap;width: 60%;"> <view style="display: flex;flex-wrap: wrap;width: 60%;">
<view <view style="
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;" width: 40%;
v-for="(item,index) in [1,1,1]" :key="index"> height: 150rpx;
<image style="width: 38%;height: 55%;" src="/static/zhanwei.png" /> 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>
<view style="width: 40%;height: 150rpx;margin-right: 4%;margin-top: 3%;"> <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;"
v-if="albumlist.length<4"
@click="uplod">
<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;">
<image style="width: 50rpx;height: 50rpx;margin-bottom: 5rpx;" <image style="width: 50rpx;height: 50rpx;margin-bottom: 5rpx;"
src="/static/index/warehouse/procurement/picking/addphoto.png" /> src="/static/index/warehouse/procurement/picking/addphoto.png" />
<view style="color: #78B1EB;font-size: 25rpx;"> <view style="color: #78B1EB;font-size: 25rpx;">
@ -217,7 +242,7 @@
- -
</view> </view>
<view class="gray-input"> <view class="gray-input">
1500 {{showvalue.num}}
</view> </view>
<view class="gray-button"> <view class="gray-button">
+ +
@ -225,7 +250,7 @@
</view> </view>
<view class="jianhuobutton"> <view class="jianhuobutton">
<view style="display: flex;"> <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;"> 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>
@ -241,50 +266,50 @@
</view> </view>
<view class="jianhuo-jianpan"> <view class="jianhuo-jianpan">
<view style="display: flex;width: 480rpx;"> <view style="display: flex;width: 480rpx;">
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(1)">
1 1
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(2)">
2 2
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(3)">
3 3
</view> </view>
</view> </view>
<view style="display: flex;width: 480rpx;"> <view style="display: flex;width: 480rpx;">
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(4)">
4 4
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(5)">
5 5
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(6)">
6 6
</view> </view>
</view> </view>
<view style="display: flex;width: 480rpx;"> <view style="display: flex;width: 480rpx;">
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(7)">
7 7
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(8)">
8 8
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(9)">
9 9
</view> </view>
</view> </view>
<view style="display: flex;width: 480rpx;"> <view style="display: flex;width: 480rpx;">
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum('AC')">
AC AC
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum(0)">
0 0
</view> </view>
<view class="gray-button-jianpan"> <view class="gray-button-jianpan" @click="clknum('AE')">
AE AE
</view> </view>
</view> </view>
@ -724,7 +749,16 @@
</view> </view>
</view> </view>
<view @click="openjianhuoclick" <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>
</view> </view>
@ -1014,16 +1048,19 @@
<!-- <u-select v-model="opengys" :list="gyslist" label-name="suppliersName" value-name="suppliers" ></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" <superpicker v-model:modelValue="opengys" :columns="[gyslist]" nameKey="suppliersName" :init-left="80" :init-top="120" :init-width="360"
:init-height="360" /> :init-height="360" />
<view class="mengban" v-if="open==1"> </view>
<equiment :open="open==1" @del="del()" @back="open = 0" :content="'是否删除此图片?'"></equiment>
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, reactive, onBeforeUnmount, computed, nextTick, defineProps, onUnmounted } from 'vue'; 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 { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
import calendar from '@/component/public/calendar.vue' 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 typechange = ref(0);
const serverUrl = ref(""); const serverUrl = ref("");
const opengaijia = ref(false); const opengaijia = ref(false);
@ -1031,6 +1068,9 @@
const opendata = ref(false); const opendata = ref(false);
const openjianhuoclick = () => { const openjianhuoclick = () => {
if(showvalue.value.jianhuobtn == false){
return
}
openjianhuo.value = true; openjianhuo.value = true;
donghuaopo.value = false; donghuaopo.value = false;
setTimeout(() => { setTimeout(() => {
@ -1209,6 +1249,12 @@
const clickmiddle = (index : number) => { const clickmiddle = (index : number) => {
middletarget.value = index; middletarget.value = index;
showvalue.value = InvoicingList.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) Object.assign(form, mobanform)
} }
@ -1324,6 +1370,57 @@
console.log("zzz", donghuaopo.value) console.log("zzz", donghuaopo.value)
}, 100) }, 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 SEG_COUNT = 8; //
const PADDING = 2; // paddingrpx const PADDING = 2; // paddingrpx
@ -2609,12 +2706,26 @@
align-items: center; align-items: center;
margin-right: 10rpx; 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 { .gray-button-jianpan {
font-size: 40rpx; font-size: 40rpx;
font-weight: 600; font-weight: 600;
background-color: #F3F5F9; background-color: #F3F5F9;
border-radius: 35rpx; border-radius: 25rpx;
width: 100rpx; width: 100rpx;
height: 100rpx; height: 100rpx;
border: 1rpx solid #CBCFD0; border: 1rpx solid #CBCFD0;
@ -2623,6 +2734,9 @@
align-items: center; align-items: center;
margin-right: 30rpx; margin-right: 30rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
transition: .1s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
} }
.gray-input { .gray-input {

View File

@ -574,7 +574,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
) )
]); ]);
} }
const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/camera.nvue"]]); const camera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/camera.nvue"]]);
export { export {
camera as default camera as default
}; };

View File

@ -577,7 +577,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
) )
]); ]);
} }
const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/hldy_app_mini/pages/fullcamera.nvue"]]); const fullcamera = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "D:/项目/hldy_app_mini/pages/fullcamera.nvue"]]);
export { export {
fullcamera as default fullcamera as default
}; };