Mr.Zhang
2023-09-06 c9a0e7808723c7a2534f07de2cfd35d1c9f2758a
小程序
已添加1个文件
已修改5个文件
567 ■■■■ 文件已修改
minipro_standard/common/config.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/components/InOutInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/components/SelectTraMultipleMaterial.vue 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/OutOperation/OutOperation.vue 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/index/index.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/util/api/ExWarehouse.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/common/config.js
@@ -16,15 +16,15 @@
        BF: 'APPLIANCE_USELESS'
    },
    QRCodeType: {
        WL: 'WL',
        CK: 'CK',
        HW: 'HW',
        GD: 'GD',
        GZ: 'GZ',
        SB: 'SB',
        YG: 'YG',
        ZKD: 'ZKD',
        CKD: 'CKD',
        RKD: 'RKD'
        WL: 0, //0
        CK: 1, // 1
        HW: 2, // 2
        GD: 3, // 3
        GZ: 4, // 4
        SB: 5, // 5
        YG: 6, // 6
        ZKD: 7, // 7
        CKD: 8, // 8
        RKD: 9 // 9
    }
}
minipro_standard/components/InOutInfo.vue
@@ -22,7 +22,7 @@
            <text class="c6">申请时间:</text>
            {{ info.createTime || '-' }}
        </view>
        <view class="rd15 ptb25 plr25 bg_f7">
        <view v-if="info.remark" class="rd15 ptb25 plr25 bg_f7 mt25">
            <view class="f26 b c2">备注:</view>
            <view class="mt20">
                <u-read-more :showHeight="60" :toggle="true" textIndent="0" closeText="展开" :shadowStyle="shadowStyle">
minipro_standard/components/SelectTraMultipleMaterial.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,253 @@
<template>
    <u-popup :show="show" :round="10" closeable @close="show=false">
        <view class="material-content bbox p30 rp">
            <view class="tc b f24 c2 mb20">选择物料</view>
            <v-Search ref="V" @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="搜索物料名称/编码">
            </v-Search>
            <div class="content_total">共{{pages.total}}条数据</div>
            <view class="scroll-content">
                <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing" @scrolltolower="loadMore"
                    @refresherrefresh="onRefresh">
                    <view v-for="(item1, index) in list" :key="index" class="flex mb20" @click="selectMaterialAction(index)">
                        <view class="img36 mr20 pt10">
                            <u-checkbox-group style="display: block;" name="" @change="selectMaterialAction(index)">
                                <u-checkbox :checked="selectIndex.includes(index)"></u-checkbox>
                            </u-checkbox-group>
                        </view>
                        <view class="fx1">
                            <div class="page_content_title_top">
                                <span>{{ item1.materialName + ' | ' + item1.materialCode }}</span>
                            </div>
                            <div class="page_content_title_bottom">
                                <span class="green" v-if="item1.qualityType == 0">
                                    åˆæ ¼
                                    <text class="c1" decode>{{ splite }}</text>
                                </span>
                                <span class="orange" v-else-if="item1.qualityType == 1">
                                    ä¸è‰¯
                                    <text class="c1" decode>{{ splite }}</text>
                                </span>
                                <span class="red" v-else-if="item1.qualityType == 2">
                                    æŠ¥åºŸ
                                    <text class="c1" decode>{{ splite }}</text>
                                </span>
                                <span v-else>
                                    -
                                    <text class="c1" decode>{{ splite }}</text>
                                </span>
                                <span>
                                    {{item1.procedureName ? item1.procedureName : '-'}}
                                    <text class="c1" decode>{{ splite }}</text>
                                </span>
                                <span>{{item1.batch ? item1.batch : '-'}}</span>
                            </div>
                            <div class="mt20 plr25 ptb20 bg_f7 f26">
                                <div class="c2 mb10"><span class="c6">货位:</span>{{ item1.locationName }}</div>
                                <div class="c2"><span class="c6">数量:</span>{{ item1.num }}{{ item1.unitName }}</div>
                            </div>
                        </view>
                    </view>
                </scroll-view>
                <!-- <u-list @scrolltoupper="scrolltoupper" @scrolltolower="scrolltolower">
                    <u-list-item v-for="(item1, index) in list" :key="index">
                    </u-list-item>
                </u-list> -->
            </view>
            <view style="height: 98rpx;"></view>
            <!-- <view class="">
                <u-safe-bottom></u-safe-bottom>
            </view> -->
            <view class="fixedBottom bottom cY">
                <view class="fx1 bbox plr30">
                    <u-checkbox-group style="display: block;" name="" @change="selectAll()">
                        <u-checkbox :checked="isAll" label="全选"></u-checkbox>
                    </u-checkbox-group>
                </view>
                <view class="submit sbtn_green bbox tc" @click="submitAction">{{ `提交(${selectIndex.length})`}}</view>
            </view>
        </view>
    </u-popup>
</template>
<script>
    import vSearch from '@/components/Search.vue'
    import {
        choiceStockPageByTransfer
    } from '@/util/api/ExWarehouse'
    export default {
        name: "selectTraMultipleMaterial",
        components: {
            vSearch
        },
        data() {
            return {
                show: false,
                splite: '&nbsp;|&nbsp;',
                isAll: false,
                refreshing: false,
                pages: {
                    capacity: 10,
                    page: 1,
                    total: 0
                },
                transferId: '',
                warehouseId: '',
                list: [],
                selectIndex: []
            };
        },
        methods: {
            open(target) {
                this.show = true
                this.refreshing = false
                this.transferId = target.transferId
                this.warehouseId = target.warehouseId
                this.list = []
                this.selectIndex = []
                // console.log(this.selectIndex);
                this.pages = {
                    capacity: 10,
                    page: 1,
                    total: 0
                }
                this.loadData()
            },
            loadData() {
                choiceStockPageByTransfer({
                    ...this.pages,
                    model: {
                        transferId: this.transferId,
                        deviceId: this.deviceId
                    }
                }).then(res => {
                    let {data} = res
                    if (data.page == 1) {
                        this.list = [];
                    }
                    this.pages.page = data.page
                    this.pages.total = data.total
                    this.list.push(...data.records)
                }).catch((err) => {
                })
                .finally(() => {
                    this.refreshing = false;
                })
            },
            loadMore() {
                this.pages.page += 1
                this.loadData()
            },
            onRefresh() {
                if (this.refreshing) return
                this.refreshing = true;
                this.pages.page = 1
                this.loadData()
            },
            selectMaterialAction(index) {
                let i = this.selectIndex.findIndex(item => item==index)
                if (i == -1 ) {
                    this.selectIndex.push(index)
                } else {
                    this.selectIndex.splice(i)
                }
            },
            selectAll() {
                this.selectIndex = []
                this.selectIndex = [...new Array(this.list.length).keys()]
            },
            submitAction () {
                this.show = false
                let selectValue = []
                this.selectIndex.forEach(item => {
                    selectValue.push(this.list[item])
                })
                this.$emit('selectes', { materials: selectValue })
            }
        }
    }
    /*
     */
</script>
<style lang="scss" scoped>
    .material-content {
        display: flex;
        flex-direction: column;
        height: 1200rpx;
        box-sizing: border-box;
        .scroll-content {
            height: calc(1100rpx - env(safe-area-inset-bottom));
            overflow: scroll;
        }
    }
    .content_total {
        margin-top: 20rpx;
        margin-bottom: 20rpx;
        // padding: 24rpx 30rpx;
        // background: #F7F7F7;
        font-size: 24rpx;
        font-weight: 400;
        color: #666666;
    }
    .page_content_title_top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        span {
            &:nth-child(1) {
                font-size: 30rpx;
                font-weight: 500;
                color: #222222;
            }
            &:nth-child(2) {
                flex-shrink: 0;
                font-size: 24rpx;
                font-weight: 400;
                color: #333333;
                // span {
                //     font-size: 24rpx;
                //     color: $nav-color;
                // }
            }
        }
    }
    .page_content_title_bottom {
        margin-top: 24rpx;
        span {
            font-size: 24rpx;
            font-weight: 400;
            color: #666666;
        }
    }
    .page_content_title {
        display: flex;
        flex-direction: column;
        margin-bottom: 10rpx;
    }
    .bottom {
        height: 98rpx;
        .submit {
            width: 272rpx;
            height: 98rpx;
            line-height: 98rpx;
        }
    }
</style>
minipro_standard/pages/OutOperation/OutOperation.vue
@@ -2,10 +2,10 @@
    <view>
        <InOutInfo :info="info" />
        <uni-collapse @change="change" @close="close" @open="open">
            <uni-collapse-item v-for="(item, index) in wtransferWarehouseList" :key="index">
            <uni-collapse-item v-if="type==7" v-for="(item1, index) in warehouseList" :key="index">
                <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
                    <image src="../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
                    <view>{{ item.warehouseName }}</view>
                    <view>{{ item1.warehouseName }}</view>
                </view>
                <view class="p30">
                    <div class="page_dck">
@@ -14,12 +14,12 @@
                            <span>待出库物料</span>
                        </div>
                    </div>
                    <div class="page_content" v-for="(item, index) in info.woutboundDetailsWait" :key="index"
                    <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" :key="index"
                        :name="index">
                        <div class="page_content_title">
                            <div class="page_content_title_top">
                                <span v-if="item.batch">{{ item.materialName + ' | ' + item.materialCode }}</span>
                                <span v-else>{{ item.materialName + ' | ' + item.materialCode }}</span>
                                <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
                                <span>待出{{ item.materialName + ' | ' + item.materialCode }}</span>
                            </div>
                            <div class="page_content_title_bottom">
                                <span class="green" v-if="item.qualityType === 0">合格&nbsp;<span
@@ -37,19 +37,68 @@
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">出库货位:</div>
                                <div class="page_content_list_item_nr">
                                    {{item.locationName ? item.locationName : '-'}}
                                    {{item.outLocationName ? item.outLocationName : '-'}}
                                </div>
                            </div>
                            <div class="page_content_list_items">
                                <div class="page_content_list_item_label">数量:</div>
                                <div class="page_content_list_item_nr">{{item.num ? item.num : '-'}}{{item.unitName}}
                                <div class="page_content_list_item_nr">
                                    {{item.outPlannum ? item.outPlannum : '-'}}{{item.unitName}}
                                </div>
                            </div>
                        </div>
                    </div>
                </view>
            </uni-collapse-item>
            <uni-collapse-item v-if="type==8">
                <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
                    <image src="../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
                    <view>{{ info.warehouseName }}</view>
                </view>
                <view class="p30">
                    <div class="page_dck">
                        <div class="page_dck_title">
                            <div class="page_dck_title_x"></div>
                            <span>待出库物料</span>
                        </div>
                    </div>
                    <div class="page_content" v-for="(item, index) in woutboundDetailsWait" :key="index" :name="index">
                        <div class="page_content_title">
                            <div class="page_content_title_top">
                                <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
                                <span>待出 <span>{{ item.num }}</span> {{ item.unitName }}</span>
                            </div>
                            <div class="page_content_title_bottom">
                                <span class="green" v-if="item.qualityType === 0">合格&nbsp;<span
                                        class="black">/</span>&nbsp;</span>
                                <span class="warning" v-else-if="item.qualityType === 1">不良&nbsp;<span
                                        class="black">/</span>&nbsp;</span>
                                <span class="error" v-else-if="item.qualityType === 2">报废&nbsp;<span
                                        class="black">/</span>&nbsp;</span>
                                <span v-else>-&nbsp;/&nbsp;</span>
                                <span>{{item.procedureName ? item.procedureName : '-'}}&nbsp;/&nbsp;</span>
                                <span>{{item.batch ? item.batch : '-'}}</span>
                            </div>
                        </div>
                        <div class="page_content_list" v-for="(items, ind) in item.wstockExtListVOList" :key="ind">
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">批次号:</div>
                                <div class="page_content_list_item_nr">{{ items.batch ? items.batch : '-' }}</div>
                            </div>
                            <div class="page_content_list_items">
                                <div class="page_content_list_item_label">数量:</div>
                                <div class="page_content_list_item_nr">{{ items.num }}{{ items.umodel.name }}</div>
                            </div>
                            <div class="page_content_list_item" v-if="items.lmodel">
                                <div class="page_content_list_item_label">出库货位:</div>
                                <div class="page_content_list_item_nr">{{ items.lmodel.unionName }}</div>
                            </div>
                        </div>
                    </div>
                </view>
            </uni-collapse-item>
        </uni-collapse>
        <div class="page_h"></div>
        <div class="page_yxwl">
            <div class="page_yxwl_title">
@@ -60,96 +109,45 @@
                
                <div class="right" v-if="isZKD" @click="openxz">
                    <image src="../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>手动出库</span>
                    <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt=""> -->
                </div>
            </div>
            <!--        å…¥åº“单(单个仓库)        -->
            <template
                v-if="route.query.type == 9 && info.woScanMaterialBeanList && info.woScanMaterialBeanList.length > 0">
                <div class="page_yxwl_list">
                    <div class="page_yxwl_list_item" v-for="(item, index) in info.woScanMaterialBeanList" :key="index">
            <div class="page_yxwl_list" v-if="outboundList.length > 0">
                <div class="page_yxwl_list_item" v-for="(item, index) in outboundList" :key="index">
                        <div class="page_yxwl_list_item_top">
                            <!--                            <div class="page_yxwl_list_item_top_left" v-if="item.batch">{{item.materialName}} | {{item.materialCode}}|{{item.batch}}</div>-->
                            <div class="page_yxwl_list_item_top_left">{{item.materialName}} | {{item.materialCode}}
                            </div>
                        </div>
                        <div class="page_yxwl_list_item_sx">
                            <span class="green" v-if="item.qualityType === 0">合格&nbsp;<span>/</span>&nbsp;</span>
                            <span class="warning" v-else-if="item.qualityType === 1">不良&nbsp;<span>/</span>&nbsp;</span>
                            <span class="red" v-else-if="item.qualityType === 2">报废&nbsp;<span>/</span>&nbsp;</span>
                            <span>{{item.procedureName ? item.procedureName : '-'}}&nbsp;<span>/</span>&nbsp;</span>
                            <span>{{item.batch ? item.batch : '-'}}</span>
                        <span class="green" v-if="item.qualityType == 0">合格&nbsp;<span>/</span></span>
                        <span class="yellow" v-else-if="item.qualityType == 1">不良&nbsp;<span>/</span></span>
                        <span class="red" v-else-if="item.qualityType == 2">报废&nbsp;<span>/</span></span>
                        <span v-else>-&nbsp;/&nbsp;</span>
                        <span>&nbsp;{{ item.procedureName ? item.procedureName : '-' }}&nbsp;/&nbsp;</span>
                        <span>&nbsp;{{ item.batch ? item.batch : '-' }}</span>
                        </div>
                        <div class="page_yxwl_list_item_num">
                            <div class="dis">
                                <div class="item">
                                    <div class="label">出库货位:</div>
                                    <div class="nr">
                                        <span>{{item.locationName ? item.locationName : '-'}}</span>
                                <span>{{ item.locationName }}</span>
                                    </div>
                                </div>
                                <div class="items">
                        <div class="item">
                                    <div class="label">数量:</div>
                                    <div class="nr">
                                        <input type="text" v-model="item.scanNum" placeholder="请输入" />
                                <!-- @input="changeNum(item)" -->
                                <input type="number" v-model="item.num" placeholder="请输入">
                                        <span>{{item.unitName}}</span>
                                    </div>
                                </div>
                            </div>
                            <div class="itemy" v-for="(item1, idx) in item.woutboundRedisCodeBeanList" :key="idx">
                                <div class="label">工装{{item1.scanCode}}:</div>
                                <div class="nr">{{item1.num}}{{item1.unitName}}</div>
                                <div class="dele" @click="dele(item1)">
                                    <image src="../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image>
                        <div class="dele" @click="dele(index)">
                            <!-- <img src="@/assets/icon/chuku_ic_delete@2x.png" alt="" /> -->
                            <image src="../../static/chuku_ic_delete@2x.png" class="img24" mode=""></image>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </template>
            <!--        è½¬åº“单(多个仓库)        -->
            <template v-else-if="route.query.type == 7 && seleMateriaList.length > 0">
                <!-- <template v-for="(item, index) in info.wtransferWarehouseList" :key="index"> -->
                <div class="page_yxwl_list">
                    <div class="page_yxwl_list_item" v-for="(item1, idx) in seleMateriaList" :key="idx">
                        <div class="page_yxwl_list_item_top">
                            <!--                                <div class="page_yxwl_list_item_top_left" v-if="item1.batch">{{item1.materialName}} | {{item1.materialCode}}|{{item1.batch}}</div>-->
                            <div class="page_yxwl_list_item_top_left">{{item1.materialName}} | {{item1.materialCode}}
                            </div>
                        </div>
                        <div class="page_yxwl_list_item_sx">
                            <span class="green" v-if="item1.qualityType === 0">合格&nbsp;<span>/</span>&nbsp;</span>
                            <span class="yellow" v-else-if="item1.qualityType === 1">不良&nbsp;<span>/</span>&nbsp;</span>
                            <span class="red" v-else-if="item1.qualityType === 2">报废&nbsp;<span>/</span>&nbsp;</span>
                            <span>{{item1.procedureName ? item1.procedureName : '-'}}&nbsp;<span>/</span>&nbsp;</span>
                            <span>{{item1.batch ? item1.batch : '-'}}</span>
                        </div>
                        <div class="page_yxwl_list_item_num">
                            <div class="itemy">
                                <div class="itemy_item">
                                    <div class="label">入库货位:</div>
                                    <div class="nr">
                                        <span>{{item1.locationName}}</span>
                                    </div>
                                </div>
                                <div class="itemy_item">
                                    <div class="label">数量:</div>
                                    <div class="nr">
                                        <!-- @input="inputNum(item1)"  -->
                                        <input type="number" v-model="item1.outActnum" placeholder="请输入" />
                                        <span>{{item1.unitName}}</span>
                                    </div>
                                </div>
                                <!-- @click="dele()" -->
                                <div class="dele" @click="dele(idx)">
                                    <image src="../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- </template> -->
            </template>
            <div class="page_yxwl_kong" v-else>暂无数据</div>
        </div>
        <div class="page_zw"></div>
@@ -159,56 +157,124 @@
                <span>确认出库</span>
            </div>
        </div>
        <SelectMultipleMaterial ref="selectMultipleMaterial" />
        <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" />
    </view>
</template>
<script>
    import InOutInfo from '@/components/InOutInfo.vue'
    import SelectMultipleMaterial from '@/components/SelectMultipleMaterial.vue'
    import { QRCodeType } from '@/common/config.js'
    import SelectTraMultipleMaterial from '@/components/SelectTraMultipleMaterial.vue'
    import {
        QRCodeType
    } from '@/common/config.js'
    import {
        outScanAppliances,
        wTransferForInOut,
        wTransferForInOutUpload,
        wOutBoundForInOut,
        wOutBoundForUpload,
        transferToOutNew
    } from '@/util/api/ExWarehouse'
    import {
        getDB
    } from '@/util/api/agencyAPI'
    import {
        logout
    } from '../../util/api'
    export default {
        components: {
            InOutInfo,
            SelectMultipleMaterial
            SelectTraMultipleMaterial
        },
        data() {
            return {
                type: '',
                id: '',
                dbid: '',
                isZKD: false,
                show: false,
                info: {
                    outPlandate: '2022/02/14',
                    originType: 1,
                    wtransferRedisCodeBeanList: [],
                    remark: 'Vue是前端开发中广泛使用的一个JavaScript框架,它可以让我们更轻松地管理页面的状态、渲染和交互。但是在编写Vue应用时,有时会遇到“SyntaxError: Unexpected token”报错,这个错误提示意味着代码中存在语法错误,JavaScript引擎无法解析,从而导致程序运行失败。本篇文章将介绍常见引起“SyntaxError: Unexpected token”的原因以及解决方法。'
                },
                warehouseId: '',
                ids: [],
                wtransferWarehouseList: [{
                    warehouseName: '测试库'
                }]
                warehouseList: [{
                }],
                woutboundDetailsWait: [],
                outboundList: []
            };
        },
        onLoad(option) {
            this.type = option.type||'ZKD'
            this.type = option.type
            this.id = option.id
            this.isZKD = this.type==QRCodeType.ZKD
            // console.log(this.type, QRCodeType.ZKD, this.type==QRCodeType.ZKD);
            if (option.dbid) {
                this.getDBs(option.dbid)
            } else {
                this.getInfo()
            }
        },
        methods: {
            // åˆ¤æ–­æ˜¯å¦å®Œæˆ
            getDBs(dbid) {
                getDB(dbid)
                    .then(res => {
                        let {
                            data
                        } = res
                        if (data.status == 1) {
                            // å·²å®Œæˆ
                        } else {
                            this.getInfo()
                        }
                    })
                    .catch(err => {})
            },
            getInfo() {
                let infoAction
                let data = {
                    id: this.id
                }
                if (this.type == QRCodeType.CKD) {
                    infoAction = wOutBoundForInOut
                    data.wOutboundType = '0'
                } else if (this.type == QRCodeType.ZKD) {
                    infoAction = wTransferForInOut
                    data.wTransferType = '0'
                }
                infoAction(data).then(res => {
                    // this.warehouseId = this.info.wtransferWarehouseList[0].warehouseId
                    console.log(this.type == QRCodeType.ZKD);
                    if (this.isZKD) {
                        this.info = res.data.wtransfer
                        this.warehouseList = res.data.wtransferWarehouseList
                    } else {
                        this.info = res.data.woutbound
                        this.woutboundDetailsWait = res.data.woutboundDetailsWait
                    }
                }).catch(err => {
                    uni.$u.toast(err)
                    uni.navigateBack()
                })
            },
            change() {},
            close() {},
            open() {},
            openxz() {
              let arr = []
              if (this.info.wtransferRedisCodeBeanList.length !== 0) {
                this.info.wtransferRedisCodeBeanList.forEach(element => {
                  arr.push(element.appliancesId)
                // let arr = []
                // if (this.info.wtransferRedisCodeBeanList.length !== 0) {
                //     this.info.wtransferRedisCodeBeanList.forEach(element => {
                //         arr.push(element.appliancesId)
                //     })
                //     this.ids = arr.join(',')
                // } else {
                //     this.ids = ''
                // }
                this.$refs.selectTraMultipleMaterial.open({
                    transferId: this.id,
                    warehouseId: this.warehouseId
                })
                this.ids = arr.join(',')
              } else {
                this.ids = ''
              }
             this.$refs.selectMultipleMaterial.open({})
            },
        }
    }
minipro_standard/pages/index/index.vue
@@ -21,8 +21,8 @@
                </view>
            </view>
        </u-sticky>
        <scroll-view v-if="projectList.length" scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered"
            :refresher-threshold="100" @refresherpulling="scrolltolower" @refresherrefresh="scrolltoupper"
        <scroll-view v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore"
            @refresherrefresh="refresh"
        >
            <view v-for="(item, index) in projectList" :key="index">
                <view class="box_list">
@@ -142,6 +142,8 @@
                    capacity: 10,
                    page: 1,
                },
                triggered: false,
                finished: false,
                projectList: []
            }
        },
@@ -180,12 +182,17 @@
                    .catch(err => {
                    })
                    .finally(() => {
                        this.triggered = false
                    })
            },
            scrolltolower() {
            refresh() {
                if (this.triggered) return
                this.triggered = true;
                this.page.page = 1
                this.loadData()
            },
            scrolltoupper() {
            loadMore() {
                this.page.page += 1
                this.loadData()
            },
@@ -195,23 +202,12 @@
                this.scrolltolower()
            },
            jump(item) {
                console.log(item);
                if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 0) { // è·³è½¬å‡ºåº“(转库单)
                console.log('出库');
                    uni.navigateTo({
                        url: 'pages/OutOperation/OutOperation',
                        query: {
                            id: item.objId,
                            dbid: item.id,
                            type: 7
                        }
                        url: `/pages/OutOperation/OutOperation?id=${item.objId}&dbid=${item.id}&type=7`
                    })
                    // router.push({
                    //     name: 'issueOperation',
                    //     query: {
                    //         id: item.objId,
                    //         dbid: item.id,
                    //         type: 7
                    //     }
                    // })
                } else if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 1) {
                    // router.push({
                    //     name: 'wTransferDetail',
minipro_standard/util/api/ExWarehouse.js
@@ -97,7 +97,7 @@
// èŽ·å–è½¬åº“å•ä¿¡æ¯
export function wTransferForInOut(params) {
    return http.get('/ext/wOutboundExt/wTransferForInOut', { params })
    return http.get('/ext/wTransferExt/wTransferForInOut', { params })
// export function wTransferForInOut(params: any): Promise<any> {
//     return httpRequest({