This commit is contained in:
2025-07-01 09:46:21 +08:00
11 changed files with 143 additions and 69 deletions

View File

@@ -167,6 +167,11 @@ uni-button:after {
// text-align-last: justify;
// text-justify: inter-ideograph;/*ie*/
}
.is-required .filter_label:after {
content: "*";
color: #D7592F;
margin-left: 4px;
}
.filter_label_1 {
line-height: 30rpx;
}
@@ -452,6 +457,10 @@ uni-button[size=mini] {
.uni-select__selector {
z-index: 300 !important;
}
.uni-select {
height: 80rpx !important;
border-color: #dcdfe6 !important;
}
/** */
.popshow {

View File

@@ -4,7 +4,7 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.pack-point')}}</span>
</view>
@@ -14,7 +14,7 @@
/>
</view>
</view>
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.box-no')}}</span>
</view>
@@ -28,7 +28,7 @@
</view>
<view class="zd-row submitbar">
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">{{$t('button.clear')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="_boxReturn">{{$t('button.confirm')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="handleConfirm">{{$t('button.confirm')}}</button>
</view>
</view>
</template>
@@ -36,6 +36,7 @@
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import { confirmAction } from '@/utils/utils.js'
import {boxReturn} from '@/utils/getData3.js'
export default {
components: {
@@ -59,12 +60,17 @@
this.val2 = ''
this.disabled = false
},
async _boxReturn () {
this.disabled = true
async handleConfirm() {
if (!this.val1 || !this.val2) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._boxReturn()
}
},
async _boxReturn () {
this.disabled = true
try {
let res = await boxReturn(this.val1, this.val2)
if (res) {

View File

@@ -49,7 +49,7 @@
</view>
<view class="zd-row submitbar">
<button class="zd-col-5 btn-submit btn-default letter-30" @tap="clearUp">{{$t('button.clear')}}</button>
<button class="zd-col-8 btn-submit btn-success letter-30" :class="{'btn-info': dataList.length === 0}" :disabled="disabled" @tap="_twoPdaOutConfirm">{{$t('button.confirm')}}</button>
<button class="zd-col-8 btn-submit btn-success letter-30" :class="{'btn-info': dataList.length === 0}" :disabled="disabled" @tap="handleConfirm">{{$t('button.confirm')}}</button>
<button class="zd-col-8 btn-submit btn-success letter-30" @tap="_twoPdaIvtDtlQuery(val1)">{{$t('button.search')}}</button>
</view>
<view class="msg_wrapper" :class="show ? 'popshow' : 'pophide'">
@@ -115,6 +115,7 @@
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import UpTop from '@/components/upTop.vue'
import { confirmAction } from '@/utils/utils.js'
import {twoPdaIvtDtlQuery, twoPdaIvtbBoxDtlQuery, twoPdaOutConfirm} from '@/utils/getData3.js'
// import {twoPdaIvtDtlQuery, twoPdaIvtbBoxDtlQuery} from '@/utils/mork2.js'
export default {
@@ -153,12 +154,17 @@
this.dtlList = [...res.data]
this.show = true
},
async _twoPdaOutConfirm () {
this.disabled = true
async handleConfirm() {
if (this.dataList.length === 0) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._twoPdaOutConfirm()
}
},
async _twoPdaOutConfirm () {
this.disabled = true
try {
let res = await twoPdaOutConfirm(this.val1)
uni.showToast({

View File

@@ -4,7 +4,7 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.box-no')}}</span>
</view>
@@ -12,7 +12,7 @@
<link-scan ref="scanChild" @getScanlist="getScanlist"/>
</view>
</view>
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('grid.point-code')}}</span>
</view>
@@ -30,7 +30,7 @@
</view>
<view class="zd-row submitbar">
<button class="zd-col-6 btn-submit btn-default letter-30" @tap="clearUp">{{$t('button.clear')}}</button>
<button class="zd-col-15 btn-submit btn-success letter-30" :class="{'btn-info': !val2 || !val3}" :disabled="disabled" @tap="_twoPdaBoxIn">{{$t('button.storage-confirm')}}</button>
<button class="zd-col-15 btn-submit btn-success letter-30" :class="{'btn-info': !val2 || !val3}" :disabled="disabled" @tap="handleConfirm">{{$t('button.storage-confirm')}}</button>
</view>
</view>
</template>
@@ -39,6 +39,7 @@
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import LinkScan from '@/components/LinkScan.vue'
import { confirmAction } from '@/utils/utils.js'
import {twoPdaBoxIn} from '@/utils/getData3.js'
export default {
components: {
@@ -66,12 +67,17 @@
selectChange (e) {
this.index = e
},
async _twoPdaBoxIn () {
this.disabled = true
async handleConfirm() {
if (!this.val2 || !this.val3) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._twoPdaBoxIn()
}
},
async _twoPdaBoxIn () {
this.disabled = true
try {
let res = await twoPdaBoxIn(this.val2, this.val3, this.index)
uni.showToast({

View File

@@ -4,7 +4,7 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.vehicle-code')}}</span>
</view>
@@ -12,13 +12,13 @@
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label">{{$t('filter.vehicle-type')}}</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('grid.point-code')}}</span>
</view>
@@ -30,7 +30,7 @@
</view>
<view class="zd-row submitbar">
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">{{$t('button.clear')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1 || !val2 || !index}" :disabled="disabled" @tap="_twoPdaVehicleIn">{{$t('button.storage-confirm')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1 || !val2 || !index}" :disabled="disabled" @tap="handleConfirm">{{$t('button.storage-confirm')}}</button>
</view>
</view>
</template>
@@ -38,6 +38,7 @@
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import { confirmAction } from '@/utils/utils.js'
import {twoPdaVehicleIn} from '@/utils/getData3.js'
export default {
components: {
@@ -61,12 +62,17 @@
selectChange (e) {
this.index = e
},
async _twoPdaVehicleIn () {
this.disabled = true
async handleConfirm() {
if (!this.val1 || !this.val2 || !this.index) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._twoPdaVehicleIn()
}
},
async _twoPdaVehicleIn () {
this.disabled = true
try {
let res = await twoPdaVehicleIn(this.val1, this.index, this.val2)
uni.showToast({

View File

@@ -4,7 +4,7 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.manual-point')}}</span>
</view>
@@ -22,7 +22,7 @@
</view>
<view class="zd-row submitbar">
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">{{$t('button.clear')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1}" :disabled="disabled" @tap="_updatePackagePoint">{{$t('button.confirm')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1}" :disabled="disabled" @tap="handleConfirm">{{$t('button.confirm')}}</button>
</view>
</view>
</template>
@@ -30,6 +30,7 @@
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import { confirmAction } from '@/utils/utils.js'
import {updatePackagePoint} from '@/utils/getData3.js'
export default {
components: {
@@ -52,12 +53,17 @@
selectChange (e) {
this.index = e
},
async _updatePackagePoint () {
this.disabled = true
async handleConfirm() {
if (!this.val1) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._updatePackagePoint()
}
},
async _updatePackagePoint () {
this.disabled = true
try {
let res = await updatePackagePoint(this.index, this.val1)
uni.showToast({

View File

@@ -4,46 +4,44 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">销售订单号<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">销售订单号</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val1">
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('grid.sub-roll-number')}}<span style="color: #D7592F;font-weight: 700;">*</span></span>
</view>
<view class="filter_item is-required">
<view class="filter_label">{{$t('grid.sub-roll-number')}}</view>
<view class="filter_input_wraper">
<search-box v-model="val2" />
</view>
</view>
<view class="filter_item">
<view class="filter_label">客户编号<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">客户编号</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val3">
</view>
</view>
<view class="filter_item">
<view class="filter_label">{{$t('grid.customer-name')}}<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">{{$t('grid.customer-name')}}</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val4">
</view>
</view>
<view class="filter_item">
<view class="filter_label">{{$t('grid.product-code')}}<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">{{$t('grid.product-code')}}</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val5">
</view>
</view>
<view class="filter_item">
<view class="filter_label">{{$t('grid.product-description')}}<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">{{$t('grid.product-description')}}</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val6">
</view>
</view>
<view class="filter_item">
<view class="filter_label">{{$t('grid.net-weight')}}<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">{{$t('grid.net-weight')}}</view>
<view class="filter_input_wraper">
<NumberInput
v-model="val7"
@@ -53,8 +51,8 @@
/>
</view>
</view>
<view class="filter_item">
<view class="filter_label">产品厚度(mm)<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">产品厚度(mm)</view>
<view class="filter_input_wraper">
<NumberInput
v-model="val8"
@@ -64,8 +62,8 @@
/>
</view>
</view>
<view class="filter_item">
<view class="filter_label">物料类型<span style="color: #D7592F;font-weight: 700;">*</span></view>
<view class="filter_item is-required">
<view class="filter_label">物料类型</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val9">
</view>

View File

@@ -4,10 +4,8 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('grid.sub-roll-number')}}</span>
</view>
<view class="filter_item is-required">
<view class="filter_label">{{$t('grid.sub-roll-number')}}</span></view>
<view class="filter_input_wraper">
<search-box
v-model="val1"
@@ -18,7 +16,7 @@
</view>
<view class="zd-row submitbar">
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">{{$t('button.clear')}}</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1}" :disabled="disabled" @tap="_toEndSub">子卷包装解绑</button>
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1}" :disabled="disabled" @tap="handleConfirm">子卷包装解绑</button>
</view>
</view>
</template>
@@ -26,6 +24,7 @@
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import { confirmAction } from '@/utils/utils.js'
import {toEndSub} from '@/utils/getData3.js'
export default {
components: {
@@ -47,12 +46,17 @@
this.val1 = ''
this.disabled = false
},
async _toEndSub () {
this.disabled = true
async handleConfirm() {
if (!this.val1) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._toEndSub()
}
},
async _toEndSub () {
this.disabled = true
try {
let res = await toEndSub(this.val1)
if (res) {

View File

@@ -4,7 +4,7 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.box-no')}}</span>
</view>
@@ -13,7 +13,7 @@
/>
</view>
</view>
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('grid.point-code')}}</span>
</view>
@@ -24,7 +24,7 @@
</view>
</view>
<view class="zd-row submitbar">
<button class="zd-col-22 btn-submit btn-success letter-30" :class="{'btn-info': !val1 && !val2}" :disabled="disabled1" @tap="_abnormalOut">解锁</button>
<button class="zd-col-22 btn-submit btn-success letter-30" :class="{'btn-info': !val1 && !val2}" :disabled="disabled1" @tap="handleConfirm">解锁</button>
</view>
</view>
</template>
@@ -32,6 +32,7 @@
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import { confirmAction } from '@/utils/utils.js'
import {abnormalOut} from '@/utils/getData1.js'
export default {
components: {
@@ -57,12 +58,17 @@
},
handleChange2 (e) {
},
async _abnormalOut () {
this.disabled1 = true
async handleConfirm() {
if (!this.val1 && !this.val2) {
this.disabled1 = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._abnormalOut()
}
},
async _abnormalOut () {
this.disabled1 = true
try {
let res = await abnormalOut(this.val1, this.val2)
this.val1 = ''

View File

@@ -4,7 +4,7 @@
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('grid.point-code')}}</span>
</view>
@@ -12,7 +12,7 @@
<search-box v-model="val1" @handleChange="handleChange1"/>
</view>
</view>
<view class="filter_item">
<view class="filter_item is-required">
<view class="filter_label_wraper">
<span class="filter_label">{{$t('filter.empty-shaft')}}/{{$t('filter.mother-roll')}}</span>
</view>
@@ -31,8 +31,8 @@
</view>
</view>
<view class="zd-row submitbar">
<button class="zd-col-11 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="_pointOperate('1')">绑定</button>
<button class="zd-col-11 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="_pointOperate('2')">解绑</button>
<button class="zd-col-11 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="handleConfirm('1')">绑定</button>
<button class="zd-col-11 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="handleConfirm('2')">解绑</button>
</view>
</view>
</template>
@@ -40,6 +40,7 @@
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import { confirmAction } from '@/utils/utils.js'
import {pointOperate, pointStatusQuery} from '@/utils/getData1.js'
export default {
components: {
@@ -72,12 +73,17 @@
this.val2 = res.data.container_name
this.val3 = res.data.have_goods
},
async _pointOperate (type) {
this.disabled = true
async handleConfirm(type) {
if (!this.val1 || !this.val2) {
this.disabled = false
return
}
const isConfirmed = await confirmAction("确认操作", "确定要执行此操作吗?")
if (isConfirmed) {
this._pointOperate(type)
}
},
async _pointOperate (type) {
this.disabled = true
try {
let res = await pointOperate(this.val1, this.val2, type)
uni.showToast({

21
utils/utils.js Normal file
View File

@@ -0,0 +1,21 @@
export function confirmAction(title = "确认操作", content = "确定要执行此操作吗?", confirmCallback) {
return new Promise((resolve, reject) => {
uni.showModal({
title: title,
content: content,
showCancel: true,
success: (res) => {
if (res.confirm) {
console.log("用户点击了“确定”按钮");
resolve(true); // 调用确认回调
if (confirmCallback) {
confirmCallback();
}
} else if (res.cancel) {
console.log("用户点击了“取消”按钮");
resolve(false);
}
}
});
});
}