This commit is contained in:
wangweidong 2025-11-19 09:56:56 +08:00
parent 0dcbf8424f
commit cafa500b08
5 changed files with 159 additions and 55 deletions

View File

@ -157,4 +157,14 @@ export const getGysList = () => {
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/getGysList`, url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/getGysList`,
method: 'get' method: 'get'
}) })
} }
//(业务)拣货、销账操作
export const pickingInfo = (params) => {
return request({
url: `${uni.getStorageSync('serverUrl')}/api/pad/invoicing/pickingInfo`,
method: 'post',
data: params
})
}

View File

@ -2,7 +2,7 @@
<view class="contain"> <view class="contain">
<view v-show="moreindex!=-1 || topbuttontarget!=-1 || openjianhuo || opengaijia || opendata || opencgr " <view v-show="moreindex!=-1 || topbuttontarget!=-1 || openjianhuo || opengaijia || opendata || opencgr "
class="mengban" class="mengban"
@click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false;opendata=false;opencgr=false"> @click="moreindex=-1; topbuttontarget=-1;openjianhuo=false;opengaijia=false;opendata=false;opencgr=false;clickflag=false">
</view> </view>
<!-- 给模糊搜索用的 --> <!-- 给模糊搜索用的 -->
<view v-show="filteredCgrListsecond.length&&gysvalue" class="mengban" @click="closefilteredCgrListsecond"> <view v-show="filteredCgrListsecond.length&&gysvalue" class="mengban" @click="closefilteredCgrListsecond">
@ -263,27 +263,28 @@
</view> </view>
</view> </view>
<view style="display: flex;margin-top: 30rpx;margin-left: 20rpx;"> <view style="display: flex;margin-top: 30rpx;margin-left: 20rpx;">
<view class="gray-button"> <view class="gray-button" @click="jjnum(-1)" @longpress="handleTouchStart(-1)" @touchend="handleTouchEnd">
- -
</view> </view>
<view class="gray-input"> <view class="gray-input" style="width:12vw;">
{{showvalue.num}} <text v-for="(v,i) in stringjh" :key="i">{{v}}</text>
</view> </view>
<view class="gray-button"> <!-- <text></text>{{showvalue.num}} -->
<view class="gray-button" @click="jjnum(1)" @longpress="handleTouchStart(1)" @touchend="handleTouchEnd">
+ +
</view> </view>
</view> </view>
<view class="jianhuobutton"> <view class="jianhuobutton">
<view style="display: flex;"> <view style="display: flex;">
<view @click="openjianhuo = false" <view @click="openjianhuo = false;clickflag = 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>
<view <view @click="config(1)"
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 20rpx;"> 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 20rpx;">
销账 销账
</view> </view>
<view <view @click="config(0)"
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);"> 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);">
入库 入库
</view> </view>
@ -1070,20 +1071,22 @@
</view> </view>
</view> </view>
<view class="mengban" v-if="open==1"> </view> <view class="mengban" v-if="open>0" @click="open = 0"> </view>
<equiment :open="open==1" @del="del()" @back="open = 0" :content="'是否删除此图片?'"></equiment> <equiment :open="open==1" @del="del()" @back="open = 0" :content="'是否删除此图片?'"></equiment>
<equiment :open="open==2" @del="sctp(1)" @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, upload } from './api/lunpan.js' import { pickingInfo,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'; import equiment from './components/equiment.vue';
const open = ref(0); const open = ref(0);
const typechange = ref(0); const typechange = ref(0);
const stringjh = ref(0)
const serverUrl = ref(""); const serverUrl = ref("");
const opengaijia = ref(false); const opengaijia = ref(false);
const openjianhuo = ref(false); const openjianhuo = ref(false);
@ -1099,6 +1102,7 @@
return return
} }
openjianhuo.value = true; openjianhuo.value = true;
clickflag.value = true;
donghuaopo.value = false; donghuaopo.value = false;
setTimeout(() => { setTimeout(() => {
donghuaopo.value = true; donghuaopo.value = true;
@ -1251,7 +1255,6 @@
}) })
getGysList().then((res : any) => { getGysList().then((res : any) => {
gyslist.value = res.result; gyslist.value = res.result;
console.log("isright", res)
}) })
} }
@ -1315,12 +1318,10 @@
queryCgdList(plzinfo).then((res : any) => { queryCgdList(plzinfo).then((res : any) => {
plsbuy.value.push(...res.result.records) plsbuy.value.push(...res.result.records)
alltotal.value = res.result.total alltotal.value = res.result.total
// console.log("zzzz", res.result.total)
if (res.result.records.length) { if (res.result.records.length) {
form.cgdId = plsbuy.value[0].id form.cgdId = plsbuy.value[0].id
queryInvo(); queryInvo();
} }
if (res.result.records.length < plzinfo.pageSize) { if (res.result.records.length < plzinfo.pageSize) {
plzinfo.canpull = false; plzinfo.canpull = false;
} }
@ -1358,21 +1359,7 @@
form.cgdId = plsbuy.value[index].id form.cgdId = plsbuy.value[index].id
form.pageNo = 1 form.pageNo = 1
form.canpull = true; form.canpull = true;
// console.log("!!!!",form) queryInvo()
queryCgdInfoList(form).then(res => {
InvoicingList.value = []
console.log("数据呢", res.result.records)
if (res.result.records.length == 1) {
InvoicingList.value.push(...res.result.records);
InvoicingList.value.push(...res.result.records);
InvoicingList.value.push(...res.result.records);
InvoicingList.value.push(...res.result.records);
}
InvoicingList.value.push(...res.result.records);
if (form.pageNo) {
clickmiddle(0);
}
})
} }
const showvalue = ref({ const showvalue = ref({
materialImg: "" materialImg: ""
@ -1412,6 +1399,7 @@
if (Number(showvalue.value.status) == 0 || (Number(showvalue.value.status) > 0 && Number(showvalue.value.wrksl) > 0)) { 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.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.num = showvalue.value.maxnum;
stringjh.value = toFixed4ByPadStart(showvalue.value.num);
showvalue.value.jianhuobtn = true; showvalue.value.jianhuobtn = true;
} }
Object.assign(form, mobanform) Object.assign(form, mobanform)
@ -1420,13 +1408,7 @@
const InvoicingList = ref([]) const InvoicingList = ref([])
const queryInvo = () => { const queryInvo = () => {
queryCgdInfoList(form).then(res => { queryCgdInfoList(form).then(res => {
// if (res.result.records.length == 1) { InvoicingList.value=res.result.records;
// InvoicingList.value.push(...res.result.records);
// }
// console.log(res.result.records)
InvoicingList.value.push(...res.result.records);
clickmiddle(0); clickmiddle(0);
}) })
} }
@ -1504,7 +1486,6 @@
} }
const zuofei = () => { const zuofei = () => {
voidedCgdMain({ id: plsbuy.value[zuofeiindex.value].id }).then((res : any) => { voidedCgdMain({ id: plsbuy.value[zuofeiindex.value].id }).then((res : any) => {
// console.log("res", res)
if (res.success) { if (res.success) {
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
@ -1526,7 +1507,6 @@
donghuaopo.value = false; donghuaopo.value = false;
setTimeout(() => { setTimeout(() => {
donghuaopo.value = true; donghuaopo.value = true;
console.log("zzz", donghuaopo.value)
}, 100) }, 100)
} }
// //
@ -1534,17 +1514,20 @@
const uplod = () => { const uplod = () => {
uni.chooseImage({ uni.chooseImage({
count: 1, //9 count: 1, //9
sizeType: ['original', 'compressed'], // sizeType: ['compressed'], //
sourceType: ['camera'], // sourceType: ['camera'], //
crop:{
quality:60
},
success: (e) => { success: (e) => {
console.log(JSON.stringify(e.tempFilePaths))
let ar = JSON.stringify(e.tempFilePaths) let ar = JSON.stringify(e.tempFilePaths)
albumlist.value.push(JSON.parse(ar)[0]) uni.compressImage({
// upload({file:url}).then(res=>{ src: JSON.parse(ar)[0],
// albumlist.value.push(res.result) quality: 60,
// console.log(albumlist.value) success: res => {
// }) albumlist.value.push(res.tempFilePath)
console.log(albumlist.value) }
})
} }
}); });
} }
@ -1563,23 +1546,134 @@
open.value = 0; open.value = 0;
} }
// //
const clickflag = ref(false);
const clknum = (item : any) => { const clknum = (item : any) => {
// showvalue.value.maxnum = showvalue.value.purchaseQuantity : showvalue.value.wrksl
// showvalue.value.num
if (item == "AC") { if (item == "AC") {
showvalue.value.num = 0;
stringjh.value = toFixed4ByPadStart(showvalue.value.num);
return
}
if (item == "AE") {
showvalue.value.num = Math.trunc(showvalue.value.num / 10)
stringjh.value = toFixed4ByPadStart(showvalue.value.num);
return return
} }
if (item == "CE") { if(clickflag.value==true){
showvalue.value.num = item;
clickflag.value = false;
stringjh.value = toFixed4ByPadStart(showvalue.value.num)
return return
} }
if (digitCountByString(showvalue.value.num) > 3) {
} else {
if (!showvalue.value.num) {
showvalue.value.num = item
} else {
showvalue.value.num = showvalue.value.num * 10 + item;
}
// cy()
stringjh.value = toFixed4ByPadStart(showvalue.value.num)
}
} }
// //
const digitCountByString=(n)=> {
const s = Math.abs(n).toString();
return s.length;
}
const toFixed4ByPadStart = (n) => { const toFixed4ByPadStart = (n) => {
const intPart = Math.floor(Math.abs(n)); const intPart = Math.floor(Math.abs(n));
return String(intPart).padStart(4, '0'); return String(intPart).padStart(4, '0');
} }
//
const InteroutId = ref(null)
const handleTouchStart = (e:number)=> {
Interval(e)
}
const handleTouchEnd=()=> {
clearInterval(InteroutId.value);
//
}
const Interval = (e:number)=>{
InteroutId.value = setInterval(() => {
jjnum(e);
}, 120);
}
const jjnum = (e:number)=>{
let m = showvalue.value.maxnum;
if(m<=showvalue.value.num&&e==1){showvalue.value.num = m; return}
if(showvalue.value.num<=1&&e==-1){showvalue.value.num =1; return}
showvalue.value.num+=e;
stringjh.value = toFixed4ByPadStart(showvalue.value.num)
}
//
const fag=(e)=>{
let str = '';
addupimg.value.forEach(item=>{
str+=item+','
})
let obj = {
jhId:showvalue.value.id,
jhNum:showvalue.value.num,
jhType:xdex.value,
jhPic:str==''?null:str,
cgdId:showvalue.value.cgdId
}
pickingInfo(obj).then(res=>{
uni.showToast({
icon:'none',
title: res.message
})
addupimg.value = [];
openjianhuo.value = false;
queryInvo()
})
}
const xdex = ref(-1)
const addupimg = ref([])
const sctp = (e:number)=>{
if(albumlist.value.length==0){
fag(e)
return
}
albumlist.value.forEach(item=>{
uni.uploadFile({
url: uni.getStorageSync('serverUrl')+'/sys/common/upload',
filePath:item,
name: 'file',
formData:{
biz:'jhPic'
},
header:{
'X-Access-Token':uni.getStorageSync('token')
},
success: res => {
const data = JSON.parse(res.data)
addupimg.value.push(data.message)
if(addupimg.value.length == albumlist.value.length){
fag(e)
}
},
fail: () => {
uni.showToast({ title: '上传失败', icon: 'none' })
}
})
})
}
const config=(e)=>{
xdex.value = e;
if(e==1){
open.value = 2;
}else{
sctp(0)
}
}
// //
const SEG_COUNT = 8; // const SEG_COUNT = 8; //
const PADDING = 2; // paddingrpx const PADDING = 2; // paddingrpx

View File

@ -203,7 +203,7 @@
gysidnum.value = e; gysidnum.value = e;
gysflag.value = false; gysflag.value = false;
} }
const calculatorArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, "AC", 0, "CE"]; const calculatorArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, "AC", 0, "AE"];
const stringShow = ref("0000"); const stringShow = ref("0000");
const relNumber = ref(0); const relNumber = ref(0);
// const isZero = ref(false); // const isZero = ref(false);
@ -218,7 +218,7 @@
cy() cy()
return return
} }
if (item == "CE") { if (item == "AE") {
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() cy()
@ -255,7 +255,7 @@
let num = Number(props.caigouobj.upperLimit)-Number(props.caigouobj.kcsl); let num = Number(props.caigouobj.upperLimit)-Number(props.caigouobj.kcsl);
let m = Math.floor(num/type.value.num) let m = Math.floor(num/type.value.num)
if(m<=relNumber.value&&e==1){relNumber.value = m; return} if(m<=relNumber.value&&e==1){relNumber.value = m; return}
if(relNumber.value<=1&&e==-1){relNumber.value==1; return} if(relNumber.value<=1&&e==-1){relNumber.value = 1; return}
relNumber.value+=e; relNumber.value+=e;
stringShow.value = toFixed4ByPadStart(relNumber.value) stringShow.value = toFixed4ByPadStart(relNumber.value)
cy() cy()

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
}; };