zrg
2026-03-09 2ffc56e71cde3c5149ce1be30fcabcdbd4c9e312
Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev
7个文件已修改
421 ■■■■■ 已修改文件
components/ZWDB/HItem.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/Gy_MaterialPrevention/Gy_MaterialPrevention.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/caigouruku/POStockInBillList.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/caigoutuiliao/POStockInBackBillList.vue 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/login.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/qitaruku_v2/OtherInBill.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/ZWDB/HItem.vue
@@ -1,4 +1,5 @@
<template>
    <transition name="todostyle" appear>
    <li class="todo-item">
        <checkbox-group v-for="(item, index) in todoItem" :key="item.HID" @change="onCheckboxChange(item.是否选中,item.HID) ">
            <label class="radio-option"  v-show="item.是否启用">
@@ -8,6 +9,7 @@
            </label>
        </checkbox-group>
    </li>
    </transition>
</template>
<script>
@@ -101,4 +103,20 @@
button.delete-btn::after {
    border: none;
}
.todostyle-enter-active {
    transition: all 0.3s linear;
}
.todostyle-leave-active{
    transition: all 0.3s linear reverse;
}
@keyframes todostyle-enter {
    0% {
        opacity: 0;
        transform: translateX(120px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
</style>
manifest.json
@@ -2,8 +2,8 @@
    "name" : "智云LMES",
    "appid" : "__UNI__B002F49",
    "description" : "",
    "versionName" : "2.088",
    "versionCode" : 288,
    "versionName" : "2.089",
    "versionCode" : 289,
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
pages/ZLGL/Gy_MaterialPrevention/Gy_MaterialPrevention.vue
@@ -25,6 +25,7 @@
        <view class="tabs" id="tabs">
            <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">基本信息</view>
            <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">物料信息</view>
            <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">可投料物料</view>
        </view>
        <template v-if="tabs == 0">
            <view class="form" :style="{
@@ -82,11 +83,11 @@
                    <uni-card :title="item.HBarCode" style="margin: 10px;"
                        @tap="showDetail = showDetail==index?-1:index">
                        <view class="card-detail">
                            <view class="detail" v-if="item.HMaterNumber">
                                <text>物料编码:</text>{{item.HMaterNumber}}
                            <view class="detail" v-if="item.物料代码">
                                <text>物料编码:</text>{{item.物料代码}}
                            </view>
                            <view class="detail" v-if="item.HMaterName">
                                <text>物料名称:</text>{{item.HMaterName}}
                            <view class="detail" v-if="item.物料名称">
                                <text>物料名称:</text>{{item.物料名称}}
                            </view>
                            <view class="detail" v-if="item.HMaterModel">
                                <text>规则型号:</text>{{item.HMaterModel}}
@@ -106,7 +107,32 @@
                </view>
            </view>
        </template>
        <template v-if="tabs == 2">
            <view :style="{
            height: containerHeight + 'px',
            overflowY: 'auto'
        }">
                <view v-if="HMaterList.length > 0" class="list" v-for="(item,index) in HMaterList"
                    :key="index" @tap.stop="delMater(index)">
                    <uni-card :title="item.工位代码" style="margin: 10px;"
                        @tap="showDetail = showDetail==index?-1:index">
                        <view class="card-detail">
                            <view class="detail" v-if="item.物料代码">
                                <text>物料编码:</text>{{item.物料代码}}
                            </view>
                            <view class="detail" v-if="item.物料名称">
                                <text>物料名称:</text>{{item.物料名称}}
                            </view>
                        </view>
                    </uni-card>
                </view>
                <view v-if="HMaterUpperList.length == 0" class="over">
                    暂无数据
                </view>
            </view>
        </template>
        <view class="buttons" id="buttons">
            <button :class="editBill?'btn-c':'btn-a'" :disabled="editBill" size="mini" @tap="submit">提交</button>
            <view style="flex: 1"></view>
@@ -262,6 +288,7 @@
                        title: '温馨提示',
                        message: '未扫描工位码,无法扫描物料码,请先扫描工位码后再扫描物料码...'
                    })
                    return
                }
                try {
@@ -284,22 +311,28 @@
                        let findIndexExist = this.HMaterUpperList.findIndex(item => data[0]["HBarCode"] == item[
                            "HBarCode"])
                        if (findIndex == -1) {
                            //写入日志
                            this.WriteErrlog(this.HMaterCode,'录入物料信息失败,工位绑定的物料中没有所扫物料信息。')
                            CommonUtils.playSound(0)
                            this.refreshHMaterCodeFocus()
                            CommonUtils.showTips({
                                title: '温馨提示',
                                message: '录入物料信息失败,工位绑定的物料中没有所扫物料信息。'
                            })
                            return
                        }
                        if (findIndexExist != -1) {
                            CommonUtils.playSound(0)
                            //写入日志
                            this.WriteErrlog(this.HMaterCode,'录入物料信息失败,不允许重复录入物料信息。')
                            this.refreshHMaterCodeFocus()
                            CommonUtils.showTips({
                                title: '温馨提示',
                                message: '录入物料信息失败,不允许重复录入物料信息。'
                            })
                            return
                        }
@@ -310,6 +343,8 @@
                        this.refreshHMaterCodeFocus()
                    } else {
                        CommonUtils.playSound(0)
                        //写入日志
                        this.WriteErrlog(this.HMaterCode,Message)
                        this.refreshHMaterCodeFocus()
                        CommonUtils.showTips({
                            title: '温馨提示',
@@ -318,6 +353,8 @@
                    }
                } catch (err) {
                    this.refreshHMaterCodeFocus()
                    //写入日志
                    this.WriteErrlog(this.HMaterCode,Message)
                    CommonUtils.playSound(0)
                    CommonUtils.showTips({
                        title: '温馨提示',
@@ -325,6 +362,37 @@
                    })
                }
            },
            async WriteErrlog(HMaterCode,Reason) {
                let HRemark = "扫描工位ID"+this.hform.HWorkStationID+",工位名称:"+this.hform.HWorkStationName+",扫描条码编号:"+HMaterCode+",失败原因:"+Reason
                try {
                    let res = await CommonUtils.doRequest2Async({
                        url: '/Sc_FeedingErrorProofingController/WriteErrlog',
                        data: {
                            user:getUserInfo()["Czymc"],
                            HRemark:HRemark
                        }
                    })
                    let {
                        data,
                        Message,
                        count
                    } = res.data
                    if (count == 1) {
                    } else {
                        CommonUtils.showTips({
                            title: '温馨提示',
                            message: `日志上传失败: ${Message}`
                        })
                    }
                } catch (err) {
                    CommonUtils.showTips({
                        title: '温馨提示',
                        message: `日志上传失败: ${err}`
                    })
                }
            },
            delMater(index) {
                if (this.editBill) {
                    return
pages/caigouruku/POStockInBillList.vue
@@ -1,33 +1,42 @@
<template>
    <view class="content">
        <view class="tabs">
            <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">缓存列表</view>
            <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">已上传列表</view>
            <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">
                {{ $t("POStockInBillList.cacheList") == "POStockInBillList.cacheList" ? "缓存列表" : $t("POStockInBillList.cacheList") }}
            </view>
            <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">
                {{ $t("POStockInBillList.updatedList") == "POStockInBillList.updatedList" ? "已上传列表" : $t("POStockInBillList.updatedList") }}
            </view>
        </view>
        <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
        <view class="form" v-if="tabs == 0">
            <view class="buttons" @tap="add">
                <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>新增
                <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>
                {{ $t("POStockInBillList.btnAdd") == "POStockInBillList.btnAdd" ? "新增" : $t("POStockInBillList.btnAdd") }}
            </view>
        </view>
        <view class="form" v-if="tabs == 1">
            <view class="form-item">
                <view class="title">单据号:</view>
                <view class="title">{{ $t("POStockInBillList.billNo") == "POStockInBillList.billNo" ? "单据号:" : $t("POStockInBillList.billNo") }}:</view>
                <view class="right">
                    <input v-model="hform.HBillNo" placeholder="请输入单据号" />
                    <input v-model="hform.HBillNo" :placeholder="$t('POStockInBillList.billNoPlaceholder') == 'POStockInBillList.billNoPlaceholder' ? '请输入单据号' : $t('POStockInBillList.billNoPlaceholder')" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">源单单号:</view>
                <view class="title">{{ $t("POStockInBillList.sourceBillNo") == "POStockInBillList.sourceBillNo" ? "源单单号:" : $t("POStockInBillList.sourceBillNo") }}:</view>
                <view class="right">
                    <input v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
                    <input v-model="hform.HSourceBillNo" :placeholder="$t('POStockInBillList.sourceBillNoPlaceholder') == 'POStockInBillList.sourceBillNoPlaceholder' ? '请输入源单单号' : $t('POStockInBillList.sourceBillNoPlaceholder')" />
                </view>
            </view>
            <view class="buttons">
                <button class="btn-a" size="mini" type="default" @tap="clear">重置</button>
                <button class="btn-c" size="mini" type="default" @tap="search">查询</button>
                <button class="btn-a" size="mini" type="default" @tap="clear">
                    {{ $t("POStockInBillList.btn_Reset") == "POStockInBillList.btn_Reset" ? "重置" : $t("POStockInBillList.btn_Reset") }}
                </button>
                <button class="btn-c" size="mini" type="default" @tap="search">
                    {{ $t("POStockInBillList.btn_Query") == "POStockInBillList.btn_Query" ? "查询" : $t("POStockInBillList.btn_Query") }}
                </button>
            </view>
        </view>
@@ -38,28 +47,30 @@
                @tap="showDetail = showDetail==index?-1:index">
                <view class="card-detail">
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                        <text>{{ $t("POStockInBillList.table_Maker") == "POStockInBillList.table_Maker" ? "制单人:" : $t("POStockInBillList.table_Maker") }}:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.单据内码">
                        <text>单据内码:</text>{{item.单据内码}}
                        <text>{{ $t("POStockInBillList.table_BillID") == "POStockInBillList.table_BillID" ? "单据内码:" : $t("POStockInBillList.table_BillID") }}:</text>{{item.单据内码}}
                    </view>
                    <view class="detail" v-if="item.数量">
                        <text>数量:</text>{{item.数量}}
                        <text>{{ $t("POStockInBillList.table_Qty") == "POStockInBillList.table_Qty" ? "数量:" : $t("POStockInBillList.table_Qty") }}:</text>{{item.数量}}
                    </view>
                    <view class="detail" v-if="item.源单单号">
                        <text>源单单号:</text>{{item.源单单号}}
                        <text>{{ $t("POStockInBillList.table_SourceBillNo") == "POStockInBillList.table_SourceBillNo" ? "源单单号:" : $t("POStockInBillList.table_SourceBillNo") }}:</text>{{item.源单单号}}
                    </view>
                    <view class="detail" v-if="item.组织">
                        <text>组织:</text>{{item.组织}}
                        <text>{{ $t("POStockInBillList.table_Org") == "POStockInBillList.table_Org" ? "组织:" : $t("POStockInBillList.table_Org") }}:</text>{{item.组织}}
                    </view>
                </view>
                <view class="more">
                    <view class="part" style="border-right: 1px solid #eee;color: #3a78ff;" @tap.stop="edit(item)">
                        <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>编辑
                        <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBillList.btn_Edit") == "POStockInBillList.btn_Edit" ? "编辑" : $t("POStockInBillList.btn_Edit") }}
                    </view>
                    <view class="part" style="color: #da0000;" @tap.stop="del(item)">
                        <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>删除
                        <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBillList.btn_Del") == "POStockInBillList.btn_Del" ? "删除" : $t("POStockInBillList.btn_Del") }}
                    </view>
                </view>
            </uni-card>
@@ -69,42 +80,50 @@
                @tap="showDetail = showDetail==index?-1:index">
                <view class="card-detail">
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                        <text>{{ $t("POStockInBillList.table_Maker") == "POStockInBillList.table_Maker" ? "制单人:" : $t("POStockInBillList.table_Maker") }}:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.数量">
                        <text>数量:</text>{{item.数量}}
                        <text>{{ $t("POStockInBillList.table_Qty") == "POStockInBillList.table_Qty" ? "数量:" : $t("POStockInBillList.table_Qty") }}:</text>{{item.数量}}
                    </view>
                    <view class="detail" v-if="item.源单单号">
                        <text>源单单号:</text>{{item.源单单号}}
                        <text>{{ $t("POStockInBillList.table_SourceBillNo") == "POStockInBillList.table_SourceBillNo" ? "源单单号:" : $t("POStockInBillList.table_SourceBillNo") }}:</text>{{item.源单单号}}
                    </view>
                    <view class="detail" v-if="item.物料代码">
                        <text>物料代码:</text>{{item.物料代码}}
                        <text>{{ $t("POStockInBillList.table_MaterNumber") == "POStockInBillList.table_MaterNumber" ? "物料代码:" : $t("POStockInBillList.table_MaterNumber") }}:</text>{{item.物料代码}}
                    </view>
                    <view class="detail" v-if="item.物料名称">
                        <text>物料名称:</text>{{item.物料名称}}
                        <text>{{ $t("POStockInBillList.table_MaterName") == "POStockInBillList.table_MaterName" ? "物料名称:" : $t("POStockInBillList.table_MaterName") }}:</text>{{item.物料名称}}
                    </view>
                    <view class="detail" v-if="item.规格型号">
                        <text>规格型号:</text>{{item.规格型号}}
                        <text>{{ $t("POStockInBillList.table_MaterModel") == "POStockInBillList.table_MaterModel" ? "规格型号:" : $t("POStockInBillList.table_MaterModel") }}:</text>{{item.规格型号}}
                    </view>
                    <view class="detail" v-if="item.组织">
                        <text>组织:</text>{{item.组织}}
                        <text>{{ $t("POStockInBillList.table_Org") == "POStockInBillList.table_Org" ? "组织:" : $t("POStockInBillList.table_Org") }}:</text>{{item.组织}}
                    </view>
                </view>
                <view class="more">
                    <view class="part" style="color: #3a78ff;width: 100%;" @tap.stop="qrCodeDisplay(item)">
                        <uni-icons type="scan" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>显示二维码
                        <uni-icons type="scan" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBillList.btn_DisplayCode") == "POStockInBillList.btn_DisplayCode" ? "显示二维码" : $t("POStockInBillList.btn_DisplayCode") }}
                    </view>
                    <view class="part" style="color: #d98d00;width: 100%;" @tap.stop="revoke(item)">
                        <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>撤销
                        <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBillList.btn_Revoke") == "POStockInBillList.btn_Revoke" ? "撤销" : $t("POStockInBillList.btn_Revoke") }}
                    </view>
                </view>
            </uni-card>
        </view>
        <view class="over" v-if="listData.length == 0">暂无数据</view>
        <view class="over" v-if="listData.length != 0 && listData.length != showList.length">加载中...</view>
        <view class="over" v-if="listData.length != 0 && listData.length == showList.length">已到底</view>
        <view class="over" v-if="listData.length == 0">
            {{ $t("POStockInBillList.noDate") == "POStockInBillList.noDate" ? "暂无数据" : $t("POStockInBillList.noDate") }}
        </view>
        <view class="over" v-if="listData.length != 0 && listData.length != showList.length">
            {{ $t("POStockInBillList.Loading") == "POStockInBillList.Loading" ? "加载中..." : $t("POStockInBillList.Loading") }}
        </view>
        <view class="over" v-if="listData.length != 0 && listData.length == showList.length">
            {{ $t("POStockInBillList.bottom") == "POStockInBillList.bottom" ? "已到底" : $t("POStockInBillList.bottom") }}
        </view>
        <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue>
    </view>
</template>
@@ -121,7 +140,7 @@
                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
                tabs: 0,
                urls: '/WEBSController/GetKf_PonderationBillMain_TempList_New_Json',
                MvarReportTitle: '采购入库单缓存列表',
                MvarReportTitle: this.$t('POStockInBillList.reportTitle') == 'POStockInBillList.reportTitle' ? '采购入库单缓存列表' : this.$t('POStockInBillList.reportTitle'),
                hform: {
                    HBillNo: '',
                    HSourceBillNo: '',
@@ -182,7 +201,7 @@
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title: '接口请求失败',
                            title: this.$t('POStockInBillList.requestFailed') == 'POStockInBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBillList.requestFailed'),
                            icon: 'none'
                        })
                    },
@@ -209,7 +228,7 @@
            },
            getList() {
                uni.showLoading({
                    title: '加载中...'
                    title: this.$t('POStockInBillList.loadingTitle') == 'POStockInBillList.loadingTitle' ? '加载中...' : this.$t('POStockInBillList.loadingTitle')
                })
                uni.request({
                    url: this.serverUrl + this.urls,
@@ -235,7 +254,7 @@
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title: '接口请求失败',
                            title: this.$t('POStockInBillList.requestFailed') == 'POStockInBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBillList.requestFailed'),
                            icon: 'none'
                        })
                    },
@@ -304,7 +323,7 @@
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title: '接口请求失败',
                            title: this.$t('POStockInBillList.requestFailed') == 'POStockInBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBillList.requestFailed'),
                            icon: 'none'
                        })
                    },
@@ -312,10 +331,9 @@
            },
            //删除
            del(item) {
                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
                uni.showModal({
                    title: '提示',
                    content: '确认要删除记录?删除后不能恢复',
                    title: this.$t('POStockInBillList.confirmTitle') == 'POStockInBillList.confirmTitle' ? '提示' : this.$t('POStockInBillList.confirmTitle'),
                    content: this.$t('POStockInBillList.delConfirm') == 'POStockInBillList.delConfirm' ? '确认要删除记录?删除后不能恢复' : this.$t('POStockInBillList.delConfirm'),
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
@@ -343,7 +361,7 @@
                                    console.log(res);
                                    uni.hideLoading()
                                    uni.showToast({
                                        title: '接口请求失败',
                                        title: this.$t('POStockInBillList.requestFailed') == 'POStockInBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBillList.requestFailed'),
                                        icon: 'none'
                                    })
                                },
@@ -356,10 +374,9 @@
            },
            //撤销
            revoke(item) {
                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
                uni.showModal({
                    title: '提示',
                    content: '是否确认撤销',
                    title: this.$t('POStockInBillList.confirmTitle') == 'POStockInBillList.confirmTitle' ? '提示' : this.$t('POStockInBillList.confirmTitle'),
                    content: this.$t('POStockInBillList.revokeConfirm') == 'POStockInBillList.revokeConfirm' ? '是否确认撤销' : this.$t('POStockInBillList.revokeConfirm'),
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
@@ -387,7 +404,7 @@
                                    console.log(res);
                                    uni.hideLoading()
                                    uni.showToast({
                                        title: '接口请求失败',
                                        title: this.$t('POStockInBillList.requestFailed') == 'POStockInBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBillList.requestFailed'),
                                        icon: 'none'
                                    })
                                },
pages/caigoutuiliao/POStockInBackBillList.vue
@@ -1,33 +1,42 @@
<template>
    <view class="content">
        <view class="tabs">
            <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">缓存列表</view>
            <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">已上传列表</view>
            <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">
                {{ $t("POStockInBackBillList.cacheList") == "POStockInBackBillList.cacheList" ? "缓存列表" : $t("POStockInBackBillList.cacheList") }}
            </view>
            <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">
                {{ $t("POStockInBackBillList.updatedList") == "POStockInBackBillList.updatedList" ? "已上传列表" : $t("POStockInBackBillList.updatedList") }}
            </view>
        </view>
        
        <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
        
        <view class="form" v-if="tabs == 0">
            <view class="buttons" @tap="add">
                <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>新增
                <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>
                {{ $t("POStockInBackBillList.btnAdd") == "POStockInBackBillList.btnAdd" ? "新增" : $t("POStockInBackBillList.btnAdd") }}
            </view>
        </view>
        <view class="form" v-if="tabs == 1">
            <view class="form-item">
                <view class="title">单据号:</view>
                <view class="title">{{ $t("POStockInBackBillList.billNo") == "POStockInBackBillList.billNo" ? "单据号:" : $t("POStockInBackBillList.billNo") }}:</view>
                <view class="right">
                    <input v-model="hform.HBillNo" placeholder="请输入单据号" />
                    <input v-model="hform.HBillNo" :placeholder="$t('POStockInBackBillList.billNoPlaceholder') == 'POStockInBackBillList.billNoPlaceholder' ? '请输入单据号' : $t('POStockInBackBillList.billNoPlaceholder')" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">源单单号:</view>
                <view class="title">{{ $t("POStockInBackBillList.sourceBillNo") == "POStockInBackBillList.sourceBillNo" ? "源单单号:" : $t("POStockInBackBillList.sourceBillNo") }}:</view>
                <view class="right">
                    <input v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
                    <input v-model="hform.HSourceBillNo" :placeholder="$t('POStockInBackBillList.sourceBillNoPlaceholder') == 'POStockInBackBillList.sourceBillNoPlaceholder' ? '请输入源单单号' : $t('POStockInBackBillList.sourceBillNoPlaceholder')" />
                </view>
            </view>
            <view class="buttons">
                <button class="btn-a" size="mini" type="default" @tap="clear">重置</button>
                <button class="btn-c" size="mini" type="default" @tap="search">查询</button>
                <button class="btn-a" size="mini" type="default" @tap="clear">
                    {{ $t("POStockInBackBillList.btn_Reset") == "POStockInBackBillList.btn_Reset" ? "重置" : $t("POStockInBackBillList.btn_Reset") }}
                </button>
                <button class="btn-c" size="mini" type="default" @tap="search">
                    {{ $t("POStockInBackBillList.btn_Query") == "POStockInBackBillList.btn_Query" ? "查询" : $t("POStockInBackBillList.btn_Query") }}
                </button>
            </view>
        </view>
        
@@ -37,28 +46,30 @@
            <uni-card :title="item.制单日期.substr(0,10)" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
                <view class="card-detail">
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                        <text>{{ $t("POStockInBackBillList.table_Maker") == "POStockInBackBillList.table_Maker" ? "制单人:" : $t("POStockInBackBillList.table_Maker") }}:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.单据内码">
                        <text>单据内码:</text>{{item.单据内码}}
                        <text>{{ $t("POStockInBackBillList.table_BillID") == "POStockInBackBillList.table_BillID" ? "单据内码:" : $t("POStockInBackBillList.table_BillID") }}:</text>{{item.单据内码}}
                    </view>
                    <view class="detail" v-if="item.数量">
                        <text>数量:</text>{{item.数量}}
                        <text>{{ $t("POStockInBackBillList.table_Qty") == "POStockInBackBillList.table_Qty" ? "数量:" : $t("POStockInBackBillList.table_Qty") }}:</text>{{item.数量}}
                    </view>
                    <view class="detail" v-if="item.源单单号">
                        <text>源单单号:</text>{{item.源单单号}}
                        <text>{{ $t("POStockInBackBillList.table_SourceBillNo") == "POStockInBackBillList.table_SourceBillNo" ? "源单单号:" : $t("POStockInBackBillList.table_SourceBillNo") }}:</text>{{item.源单单号}}
                    </view>
                    <view class="detail" v-if="item.组织">
                        <text>组织:</text>{{item.组织}}
                        <text>{{ $t("POStockInBackBillList.table_Org") == "POStockInBackBillList.table_Org" ? "组织:" : $t("POStockInBackBillList.table_Org") }}:</text>{{item.组织}}
                    </view>
                </view>
                <view class="more">
                    <view class="part" style="border-right: 1px solid #eee;color: #3a78ff;" @tap.stop="edit(item)">
                        <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>编辑
                        <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBackBillList.btn_Edit") == "POStockInBackBillList.btn_Edit" ? "编辑" : $t("POStockInBackBillList.btn_Edit") }}
                    </view>
                    <view class="part" style="color: #da0000;" @tap.stop="del(item)">
                        <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>删除
                        <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBackBillList.btn_Del") == "POStockInBackBillList.btn_Del" ? "删除" : $t("POStockInBackBillList.btn_Del") }}
                    </view>
                </view>
            </uni-card>
@@ -67,42 +78,50 @@
            <uni-card :title="item.日期" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
                <view class="card-detail">
                    <view class="detail" v-if="item.制单人">
                        <text>制单人:</text>{{item.制单人}}
                        <text>{{ $t("POStockInBackBillList.table_Maker") == "POStockInBackBillList.table_Maker" ? "制单人:" : $t("POStockInBackBillList.table_Maker") }}:</text>{{item.制单人}}
                    </view>
                    <view class="detail" v-if="item.数量">
                        <text>数量:</text>{{item.数量}}
                        <text>{{ $t("POStockInBackBillList.table_Qty") == "POStockInBackBillList.table_Qty" ? "数量:" : $t("POStockInBackBillList.table_Qty") }}:</text>{{item.数量}}
                    </view>
                    <view class="detail" v-if="item.源单单号">
                        <text>源单单号:</text>{{item.源单单号}}
                        <text>{{ $t("POStockInBackBillList.table_SourceBillNo") == "POStockInBackBillList.table_SourceBillNo" ? "源单单号:" : $t("POStockInBackBillList.table_SourceBillNo") }}:</text>{{item.源单单号}}
                    </view>
                    <view class="detail" v-if="item.物料代码">
                        <text>物料代码:</text>{{item.物料代码}}
                        <text>{{ $t("POStockInBackBillList.table_MaterNumber") == "POStockInBackBillList.table_MaterNumber" ? "物料代码:" : $t("POStockInBackBillList.table_MaterNumber") }}:</text>{{item.物料代码}}
                    </view>
                    <view class="detail" v-if="item.物料名称">
                        <text>物料名称:</text>{{item.物料名称}}
                        <text>{{ $t("POStockInBackBillList.table_MaterName") == "POStockInBackBillList.table_MaterName" ? "物料名称:" : $t("POStockInBackBillList.table_MaterName") }}:</text>{{item.物料名称}}
                    </view>
                    <view class="detail" v-if="item.规格型号">
                        <text>规格型号:</text>{{item.规格型号}}
                        <text>{{ $t("POStockInBackBillList.table_MaterModel") == "POStockInBackBillList.table_MaterModel" ? "规格型号:" : $t("POStockInBackBillList.table_MaterModel") }}:</text>{{item.规格型号}}
                    </view>
                    <view class="detail" v-if="item.组织">
                        <text>组织:</text>{{item.组织}}
                        <text>{{ $t("POStockInBackBillList.table_Org") == "POStockInBackBillList.table_Org" ? "组织:" : $t("POStockInBackBillList.table_Org") }}:</text>{{item.组织}}
                    </view>
                </view>
        
                <view class="more">
                    <view class="part" style="color: #3a78ff;width: 100%;" @tap.stop="qrCodeDisplay(item)">
                        <uni-icons type="scan" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>显示二维码
                        <uni-icons type="scan" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBackBillList.btn_DisplayCode") == "POStockInBackBillList.btn_DisplayCode" ? "显示二维码" : $t("POStockInBackBillList.btn_DisplayCode") }}
                    </view>
                    <view class="part" style="color: #d98d00;width: 100%;" @tap.stop="revoke(item)">
                        <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>撤销
                        <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>
                        {{ $t("POStockInBackBillList.btn_Revoke") == "POStockInBackBillList.btn_Revoke" ? "撤销" : $t("POStockInBackBillList.btn_Revoke") }}
                    </view>
                </view>
            </uni-card>
        </view>
        
        <view class="over" v-if="listData.length == 0">暂无数据</view>
        <view class="over" v-if="listData.length != 0 && listData.length != showList.length">加载中...</view>
        <view class="over" v-if="listData.length != 0 && listData.length == showList.length">已到底</view>
        <view class="over" v-if="listData.length == 0">
            {{ $t("POStockInBackBillList.noDate") == "POStockInBackBillList.noDate" ? "暂无数据" : $t("POStockInBackBillList.noDate") }}
        </view>
        <view class="over" v-if="listData.length != 0 && listData.length != showList.length">
            {{ $t("POStockInBackBillList.Loading") == "POStockInBackBillList.Loading" ? "加载中..." : $t("POStockInBackBillList.Loading") }}
        </view>
        <view class="over" v-if="listData.length != 0 && listData.length == showList.length">
            {{ $t("POStockInBackBillList.bottom") == "POStockInBackBillList.bottom" ? "已到底" : $t("POStockInBackBillList.bottom") }}
        </view>
        <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue>
    </view>
</template>
@@ -117,7 +136,7 @@
                serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
                tabs:0,
                urls:'/WEBSController/GetKf_PonderationBillMain_TempList_New_Json',
                MvarReportTitle:'采购退料单缓存列表',
                MvarReportTitle: this.$t('POStockInBackBillList.reportTitle') == 'POStockInBackBillList.reportTitle' ? '采购退料单缓存列表' : this.$t('POStockInBackBillList.reportTitle'),
                hform:{
                    HBillNo:'',
                    HSourceBillNo:'',
@@ -176,7 +195,7 @@
                    fail: (res) => {
                        console.log(res);
                        uni.showToast({
                            title:'接口请求失败',
                            title: this.$t('POStockInBackBillList.requestFailed') == 'POStockInBackBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBackBillList.requestFailed'),
                            icon:'none'
                        })
                    },
@@ -203,7 +222,7 @@
            },
            getList(){
                uni.showLoading({
                    title:'加载中...'
                    title: this.$t('POStockInBackBillList.loadingTitle') == 'POStockInBackBillList.loadingTitle' ? '加载中...' : this.$t('POStockInBackBillList.loadingTitle')
                })
                uni.request({
                    url: this.serverUrl + this.urls,
@@ -229,7 +248,7 @@
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title:'接口请求失败',
                            title: this.$t('POStockInBackBillList.requestFailed') == 'POStockInBackBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBackBillList.requestFailed'),
                            icon:'none'
                        })
                    },
@@ -294,7 +313,7 @@
                        console.log(res);
                        uni.hideLoading()
                        uni.showToast({
                            title:'接口请求失败',
                            title: this.$t('POStockInBackBillList.requestFailed') == 'POStockInBackBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBackBillList.requestFailed'),
                            icon:'none'
                        })
                    },
@@ -302,10 +321,9 @@
            },
            //删除
            del(item){
                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
                uni.showModal({
                    title: '提示',
                    content: '确认要删除记录?删除后不能恢复',
                    title: this.$t('POStockInBackBillList.confirmTitle') == 'POStockInBackBillList.confirmTitle' ? '提示' : this.$t('POStockInBackBillList.confirmTitle'),
                    content: this.$t('POStockInBackBillList.delConfirm') == 'POStockInBackBillList.delConfirm' ? '确认要删除记录?删除后不能恢复' : this.$t('POStockInBackBillList.delConfirm'),
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
@@ -332,7 +350,7 @@
                                    console.log(res);
                                    uni.hideLoading()
                                    uni.showToast({
                                        title:'接口请求失败',
                                        title: this.$t('POStockInBackBillList.requestFailed') == 'POStockInBackBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBackBillList.requestFailed'),
                                        icon:'none'
                                    })
                                },
@@ -345,10 +363,9 @@
            },
            //撤销
            revoke(item){
                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
                uni.showModal({
                    title: '提示',
                    content: '是否确认撤销',
                    title: this.$t('POStockInBackBillList.confirmTitle') == 'POStockInBackBillList.confirmTitle' ? '提示' : this.$t('POStockInBackBillList.confirmTitle'),
                    content: this.$t('POStockInBackBillList.revokeConfirm') == 'POStockInBackBillList.revokeConfirm' ? '是否确认撤销' : this.$t('POStockInBackBillList.revokeConfirm'),
                    success: (res) => {
                        if (res.confirm) {
                            console.log('用户点击确定');
@@ -375,7 +392,7 @@
                                    console.log(res);
                                    uni.hideLoading()
                                    uni.showToast({
                                        title:'接口请求失败',
                                        title: this.$t('POStockInBackBillList.requestFailed') == 'POStockInBackBillList.requestFailed' ? '接口请求失败' : this.$t('POStockInBackBillList.requestFailed'),
                                        icon:'none'
                                    })
                                },
@@ -396,6 +413,7 @@
        margin: 20rpx auto;
        margin-top: 90rpx;
    }
    .tabs{
        width: 100%;
        position: fixed;
@@ -403,6 +421,7 @@
        z-index: 9;
        display: flex;
        background-color: #e5e5e5;
        view{
            width: 50%;
            font-size: 30rpx;
@@ -410,17 +429,20 @@
            text-align: center;
            padding: 16rpx 0;
        }
        .on{
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .buttons{
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 20rpx;
        button{
            border-radius: 50rpx;
            width: 180rpx;
@@ -428,79 +450,94 @@
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a{
            background-color: #acacac;
            color: #fff;
        }
        .btn-b{
            background-color: #41a863;
            color: #fff;
        }
        .btn-c{
            background-color: #3a78ff;
            color: #fff;
        }
    }
    .form-item{
        display: flex;
        align-items: center;
        font-size: 28rpx;
        padding: 6rpx 0;
        .title{
            width: 180rpx;
            text{
                color: red;
                font-weight: bold;
            }
        }
        .right{
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #acacac;
        }
        .righton{
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #e4e4e4;
            background-color: #e4e4e4;
        }
        input{
            width: 100%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
    }
    .list{
        width: 100%;
        .card-detail{
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail{
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text{
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more{
            color: #888;
            font-size: 26rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part{
                width: 50%;
                display: flex;align-items: center;justify-content: center;
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
    }
</style>
pages/index/login.vue
@@ -106,6 +106,7 @@
                    "宁波惠康工业": 'http://172.16.72.30:6699/API/',
                    "余姚兴达起动器": 'http://121.37.133.104/API/',
                    "李林俊本地测试": 'http://localhost:8082/LuBaoAPI/',
                    "李林俊本地测试2": 'http://192.168.2.91:8082/LuBaoAPI/',
                    "杭州凯贝奈特": 'http://192.168.50.253:8080/API/',
                    "杭州凯贝奈特外网": 'http://erp.hzcabinet.cn:9090/API/',
                    "翁涛涛本地测试": 'http://localhost:81/API/',
@@ -301,6 +302,56 @@
                        title: '登录中...',
                        mask: true
                    })
                    if (this.serverUrlName =="余姚华远"){//华远不需要wms验证
                        var data = {
                            UserName: this.UserName,
                            PassWord: this.PassWord,
                            HOrgName: this.HOrgName,
                            Organization: this.Organization
                        }
                        var data2 = {//用于保存登录信息
                            HUserNumber: this.UserName,
                            HPassWord: this.PassWord,
                            HStockOrgID: this.HOrgName,
                            HStockOrgName: this.Organization
                        }
                    uni.setStorageSync('loginData', JSON.stringify(data2));
                    uni.request({
                        url: this.serverUrl + '/Web/GetUser',
                        method: 'GET',
                        data: data,
                        success: (res) => {
                            console.log(res)
                            uni.hideLoading()
                            uni.showToast({
                                title: res.data.Message,
                                icon: 'none'
                            })
                            if (res.data.count == 1) {
                                setLoginData(data2)
                                setUserInfo(res.data.data[0])
                                uni.setStorageSync('HUserName', res.data.data[0].Czymc);
                                uni.setStorageSync('HBillerID', res.data.data[0].HK3UserID);
                                uni.setStorageSync('SourceFlag', false);
                                uni.setStorageSync('login', "login");
                                uni.setStorageSync('Organization', this.Organization);
                                uni.setStorageSync('OrganizationID', this.HOrgName);
                                this.CommonUtils.setServerUrl(this.serverUrl)
                                uni.reLaunch({
                                    url: '/pages/index/index'
                                })
                            }
                        },
                        fail: (res) => {
                            console.log(res);
                            uni.hideLoading()
                            uni.showToast({
                                title: '接口请求失败',
                                icon: 'none'
                            })
                        },
                    });
                    }else{
                    var data = {
                        HUserNumber: this.UserName,
                        HPassWord: this.PassWord,
@@ -308,11 +359,7 @@
                        HStockOrgName: this.Organization
                    }
                    //     UserName: this.UserName,
                    //     PassWord: this.PassWord,
                    //     HOrgName: this.HOrgName,
                    //     Organization: this.Organization
                    // }
                    uni.setStorageSync('loginData', JSON.stringify(data));
                    uni.request({
                        url: this.serverUrl + 'WEBSController/GetUser_Json',
@@ -371,42 +418,8 @@
                            })
                        },
                    });
                    }
                    // uni.request({
                    //     url: this.serverUrl + '/Web/GetUser',
                    //     method: 'GET',
                    //     data: data,
                    //     success: (res) => {
                    //         console.log(res)
                    //         uni.hideLoading()
                    //         uni.showToast({
                    //             title: res.data.Message,
                    //             icon: 'none'
                    //         })
                    //         if (res.data.count == 1) {
                    //             setLoginData(data)
                    //             setUserInfo(res.data.data[0])
                    //             uni.setStorageSync('HUserName', res.data.data[0].Czymc);
                    //             uni.setStorageSync('HBillerID', res.data.data[0].HK3UserID);
                    //             uni.setStorageSync('SourceFlag', false);
                    //             uni.setStorageSync('login', "login");
                    //             uni.setStorageSync('Organization', this.Organization);
                    //             uni.setStorageSync('OrganizationID', this.HOrgName);
                    //             this.CommonUtils.setServerUrl(this.serverUrl)
                    //             uni.reLaunch({
                    //                 url: '/pages/index/index'
                    //             })
                    //         }
                    //     },
                    //     fail: (res) => {
                    //         console.log(res);
                    //         uni.hideLoading()
                    //         uni.showToast({
                    //             title: '接口请求失败',
                    //             icon: 'none'
                    //         })
                    //     },
                    // });
                }
            }
        }
pages/qitaruku_v2/OtherInBill.vue
@@ -13,20 +13,20 @@
                </view>
            </view>
            <view class="form-item">
                <view class="title">数量:</view>
                <view class="title">{{ $t("Kf_OtherInBill_PDA.Qty") == "Kf_OtherInBill_PDA.Qty" ? "数量" : $t("Kf_OtherInBill_PDA.Qty") }}:</view>
                <view class="right">
                    <input v-model="hform.HQty" :placeholder="placeholder_Qty" />
                </view>
            </view>
            <view class="form-item">
                <view class="title">仓库:</view>
                <view class="title">{{ $t("Kf_OtherInBill_PDA.Warehouse") == "Kf_OtherInBill_PDA.Warehouse" ? "仓库" : $t("Kf_OtherInBill_PDA.Warehouse") }}:</view>
                <view class="right">
                    <uni-combox :candidates="arrayHWHName" :placeholder="placeholder_Warehouse" v-model="hform.HWHName"
                        @input="HWHNameChange" @confirm="HWHNameScan"></uni-combox>
                </view>
            </view>
            <view class="form-item">
                <view class="title">仓位:</view>
                <view class="title">{{ $t("Kf_OtherInBill_PDA.StockPlace") == "Kf_OtherInBill_PDA.StockPlace" ? "仓位" : $t("Kf_OtherInBill_PDA.StockPlace") }}:</view>
                <view class="right" v-show="showHStockPlaceName">
                    <uni-combox :candidates="HStockPlaceNameListComputed" :placeholder="placeholder_StockPlace"
                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"