Mr.Shi
2023-09-13 26c8212a1e8ba902798be21e97629c9295b2f405
小程序
已删除1个文件
已修改4个文件
已重命名2个文件
5509 ■■■■ 文件已修改
minipro_standard/common/css/iconfont.css 2281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages.json 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/index/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_adjust/components/multipleMaterial.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_inspect/pages/InOperation/InOperation.vue 1802 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue 1383 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/common/css/iconfont.css
ÎļþÒÑɾ³ý
minipro_standard/main.js
@@ -5,7 +5,7 @@
// å¼•入全局uView
import uView from '@/uni_modules/uview-ui'
Vue.use(uView)
// vuex
// vuex
import store from './store'
Vue.prototype.$store = store
store.dispatch('getHeight')
minipro_standard/pages.json
@@ -108,20 +108,6 @@
                "enablePullDownRefresh": false
            }
        }, {
            "path": "pages/OutOperation/OutOperation",
            "style": {
                "navigationBarTitleText": "出库操作",
                "enablePullDownRefresh": false
            }
        }, {
            "path": "pages/InOperation/InOperation",
            "style": {
                "navigationBarTitleText": "入库操作",
                "enablePullDownRefresh": false
            }
        }
    ],
    "subPackages": [{
@@ -259,6 +245,19 @@
            "root": "pages_inspect",
            "pages": [
                {
                    "path": "pages/OutOperation/OutOperation",
                    "style": {
                        "navigationBarTitleText": "出库操作",
                        "enablePullDownRefresh": false
                    }
                }, {
                    "path": "pages/InOperation/InOperation",
                    "style": {
                        "navigationBarTitleText": "入库操作",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "pages/InspectionRecords/InspectionRecords",
                    "style": {
                        "navigationBarTitleText": "检验记录",
minipro_standard/pages/index/index.vue
@@ -237,7 +237,7 @@
                    case 0: case 2: case 5: {
                        if (item.status === 0) {
                            uni.navigateTo({
                                url: `/pages/OutOperation/OutOperation?id=${item.objId}&dbid=${item.id}&type=7`
                                url: `/pages_inspect/pages/OutOperation/OutOperation?id=${item.objId}&dbid=${item.id}&type=7`
                            })
                        } else {
                            uni.navigateTo({
@@ -262,7 +262,7 @@
                    case 1: case 6: {
                        if (item.status === 0) {
                            uni.navigateTo({
                                url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7`
                                url: `/pages_inspect/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7`
                            })
                        } else {
                            uni.navigateTo({
@@ -274,7 +274,7 @@
                    case 9: {
                        if (item.status === 0) {
                            uni.navigateTo({
                                url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=9`
                                url: `/pages_inspect/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=9`
                            })
                        } else{
                            uni.navigateTo({
minipro_standard/pages_adjust/components/multipleMaterial.vue
@@ -5,20 +5,12 @@
            <v-Search @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="搜索物料名称/编码" />
            <div class="content_total">共{{form.total}}条数据</div>
            <view class="scroll-content">
                <!-- refresher-enabled="true"
                :refresher-triggered="refreshing"
                @refresherrefresh="onRefresh" -->
                <scroll-view
                scroll-y="true"
                @scrolltolower="loadMore">
                    <view v-for="(item1, index) in list" :key="index" class="flex mb20" @click="jump(index)">
<<<<<<< HEAD
                        <view class="img36 mr20 pt10" style="position: relative;">
                            <u-checkbox-group style="display: block;" name="">
=======
                        <view class="img36 mr20 pt10">
                            <u-checkbox-group style="display: block;" name="" @change="jump(index)">
>>>>>>> 041c81a20c93a6b8238e810fe9a1adfee9c9d86f
                                <u-checkbox :checked="item1.isActive"></u-checkbox>
                            </u-checkbox-group>
                            <view style="width: 18px; height: 18px; position: absolute; top: 0; left: 0; z-index: 99;"></view>
minipro_standard/pages_inspect/pages/InOperation/InOperation.vue
ÎļþÃû´Ó minipro_standard/pages/InOperation/InOperation.vue ÐÞ¸Ä
@@ -1,389 +1,389 @@
<template>
    <view>
        <InOutInfo :info="info" />
        <uni-collapse @change="change" @close="close" @open="open">
            <uni-collapse-item v-if="type==7" v-for="(item1, index) in wtransferWarehouseList" :key="index"
                :open="item1.wtransferDetailList.length">
                <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>{{ item1.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 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>
<template>
    <view>
        <InOutInfo :info="info" />
        <uni-collapse @change="change" @close="close" @open="open">
            <uni-collapse-item v-if="type==7" v-for="(item1, index) in wtransferWarehouseList" :key="index"
                :open="item1.wtransferDetailList.length">
                <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>{{ item1.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 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.outActnum}}{{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="(childer, idxs) in item.wstockExtListVOList" :key="idxs">
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">入库货位:</div>
                                <div class="page_content_list_item_nr">{{ childer.locationName }}</div>
                            </div>
                            <div class="page_content_list_items">
                                <div class="page_content_list_item_label">数量:</div>
                                <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div>
                            </div>
                        </div> -->
                    </div>
                </view>
            </uni-collapse-item>
        </uni-collapse>
        <div class="page_h"></div>
        <div class="page_yxwl">
            <div class="page_yxwl_title">
                <div class="left">
                    <div class="page_yxwl_title_x"></div>
                    <span>已选择物料</span>
                </div>
                <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="type == 9 && woScanMaterialBeanList && woScanMaterialBeanList.length > 0">
                <div class="page_yxwl_list">
                    <div class="page_yxwl_list_item" v-for="(item, index) in woScanMaterialBeanList" :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>
                        </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>
                                    </div>
                                </div>
                                <div class="items">
                                    <div class="label">数量:</div>
                                    <div class="nr">
                                        <input type="text" v-model="item.scanNum" 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>
                            </div>
                        </div>
                    </div>
                </div>
            </template>
            <!--        è½¬åº“单(多个仓库)        -->
            <template v-else-if="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>
        <!--    æäº¤æŒ‰é’®    -->
        <div class="page_footer">
            <div class="page_footer_ck" @click="submit">
                <span>确认入库</span>
            </div>
        </div>
        <SelectLoaction ref="selectLoaction" @selected="selectLocation" />
        <MaterialIn ref="materialIn" @selected="selectMaterial" />
    </view>
</template>
<script>
    import InOutInfo from '@/components/InOutInfo.vue'
    import SelectLoaction from '@/components/SelectLoaction.vue'
    import MaterialIn from '@/components/materialIn.vue'
    import {
        QRCodeType
    } from '@/common/config.js'
    import {
        getList,
        outScanAppliances,
        getLocationInfo,
        saveIn,
        getInByWTransferId,
        wTransferForInOut,
        wOutBoundForInOut,
        wOutBoundForUpload,
        transferToInNew
    } from '@/util/api/ExWarehouse'
    import {
        wTransferForInOutUpload
    } from '@/util/api/ExWarehouse'
    import {
        getBarcodeContent,
        getListByCondition,
        getListByWarehouseId
    } from '@/util/api/WorkOrderAPI'
    import {
        getDB
    } from '@/util/api/agencyAPI'
    export default {
        components: {
            InOutInfo,
            SelectLoaction,
            MaterialIn
        },
        data() {
            return {
                type: '',
                id: '',
                wareHouseId: '',
                isZKD: false,
                show: false,
                info: {},
                                <span>{{item.outActnum}}{{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="(childer, idxs) in item.wstockExtListVOList" :key="idxs">
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">入库货位:</div>
                                <div class="page_content_list_item_nr">{{ childer.locationName }}</div>
                            </div>
                            <div class="page_content_list_items">
                                <div class="page_content_list_item_label">数量:</div>
                                <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div>
                            </div>
                        </div> -->
                    </div>
                </view>
            </uni-collapse-item>
        </uni-collapse>
        <div class="page_h"></div>
        <div class="page_yxwl">
            <div class="page_yxwl_title">
                <div class="left">
                    <div class="page_yxwl_title_x"></div>
                    <span>已选择物料</span>
                </div>
                <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="type == 9 && woScanMaterialBeanList && woScanMaterialBeanList.length > 0">
                <div class="page_yxwl_list">
                    <div class="page_yxwl_list_item" v-for="(item, index) in woScanMaterialBeanList" :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>
                        </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>
                                    </div>
                                </div>
                                <div class="items">
                                    <div class="label">数量:</div>
                                    <div class="nr">
                                        <input type="text" v-model="item.scanNum" 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>
                            </div>
                        </div>
                    </div>
                </div>
            </template>
            <!--        è½¬åº“单(多个仓库)        -->
            <template v-else-if="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>
        <!--    æäº¤æŒ‰é’®    -->
        <div class="page_footer">
            <div class="page_footer_ck" @click="submit">
                <span>确认入库</span>
            </div>
        </div>
        <SelectLoaction ref="selectLoaction" @selected="selectLocation" />
        <MaterialIn ref="materialIn" @selected="selectMaterial" />
    </view>
</template>
<script>
    import InOutInfo from '@/components/InOutInfo.vue'
    import SelectLoaction from '@/components/SelectLoaction.vue'
    import MaterialIn from '@/components/materialIn.vue'
    import {
        QRCodeType
    } from '@/common/config.js'
    import {
        getList,
        outScanAppliances,
        getLocationInfo,
        saveIn,
        getInByWTransferId,
        wTransferForInOut,
        wOutBoundForInOut,
        wOutBoundForUpload,
        transferToInNew
    } from '@/util/api/ExWarehouse'
    import {
        wTransferForInOutUpload
    } from '@/util/api/ExWarehouse'
    import {
        getBarcodeContent,
        getListByCondition,
        getListByWarehouseId
    } from '@/util/api/WorkOrderAPI'
    import {
        getDB
    } from '@/util/api/agencyAPI'
    export default {
        components: {
            InOutInfo,
            SelectLoaction,
            MaterialIn
        },
        data() {
            return {
                type: '',
                id: '',
                wareHouseId: '',
                isZKD: false,
                show: false,
                info: {},
                ids: [],
                mainOrder: '',
                location: '',
                locationName: '',
                wtransferWarehouseList: [],
                MateriaList: [],
                woScanMaterialBeanList: [],
                seleMateriaList: [] // å·²é€‰ç‰©æ–™
            };
        },
        onLoad(option) {
            this.type = option.type
            this.id = option.id
            this.isZKD = 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
                }
                // console.log(this.type, QRCodeType.CKD);
                if (this.type == QRCodeType.RKD) {
                    infoAction = wOutBoundForInOut
                    data.wOutboundType = '1'
                } else if (this.type == QRCodeType.ZKD) {
                    infoAction = wTransferForInOut
                    data.wTransferType = '1'
                }
                mainOrder: '',
                location: '',
                locationName: '',
                wtransferWarehouseList: [],
                MateriaList: [],
                woScanMaterialBeanList: [],
                seleMateriaList: [] // å·²é€‰ç‰©æ–™
            };
        },
        onLoad(option) {
            this.type = option.type
            this.id = option.id
            this.isZKD = 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
                }
                // console.log(this.type, QRCodeType.CKD);
                if (this.type == QRCodeType.RKD) {
                    infoAction = wOutBoundForInOut
                    data.wOutboundType = '1'
                } else if (this.type == QRCodeType.ZKD) {
                    infoAction = wTransferForInOut
                    data.wTransferType = '1'
                }
                infoAction(data).then(res => {
                    this.mainOrder = res.data.id
                    if (this.isZKD) {
                        this.info = res.data.wtransfer
                        this.wareHouseId = res.data.wtransfer.inWarehouseId
                        this.wtransferWarehouseList = res.data.wtransferWarehouseList
                        this.MateriaList = res.data.wtransferWarehouseList[0].wtransferDetailList
                    } else {
                        this.info = res.data.woutbound
                        this.woutboundDetailsWait = res.data.woutboundDetailsWait
                        this.woScanMaterialBeanList = res.data.woScanMaterialBeanList
                    }
                }).catch(err => {
                    uni.$u.toast(err)
                    uni.navigateBack()
                })
            },
            change() {},
            close() {},
            open() {},
            openxz() {
                getListByWarehouseId({
                        wareHouseId: this.wareHouseId
                    })
                    .then(res => {
                        if (res.data.length === 1) {
                            this.location = res.data[0].id
                            this.locationName = res.data[0].unionName
                            this.$refs.materialIn.open({
                                list: this.MateriaList
                            })
                        } else {
                            this.$refs.selectLoaction.open({
                                wareHouseId: this.wareHouseId
                            })
                        }
                    })
            },
            selectLocation(item) {
                this.location = item.id
                this.locationName = item.unionName
                this.$refs.materialIn.open({
                    list: this.MateriaList
                })
            },
            selectMaterial(val) {
                let material = JSON.parse(JSON.stringify(val))
                let tempMaterial = this.seleMateriaList.find(item => item.locationId == this.location)
                if (tempMaterial) {
                    if (tempMaterial.qualityType == material.qualityType && tempMaterial.procedureId == material
                        .procedureId &&
                        tempMaterial.batch == material.batch && tempMaterial.materialId == material.materialId) {
                        uni.$u.toast('相同货位,同一个物料只能有一个')
                        return
                    }
                }
                let materialNum = 0
                let num = 0
                this.seleMateriaList.forEach(item => {
                    if (item.id === material.id) {
                        materialNum += Number(item.outActnum)
                    }
                })
                this.MateriaList.forEach(item => {
                    if (item.id === material.id) {
                        num = item.outActnum - materialNum
                    }
                })
                material.outActnum = num
                this.seleMateriaList.push({
                    ...material,
                    locationId: this.location,
                    locationName: this.locationName
                })
            },
            submit() {
                if (this.type == QRCodeType.ZKD) {
                    if (!this.seleMateriaList.length) {
                        uni.$u.toast('转入物料不能为空')
                        return
                    }
                    let result = this.seleMateriaList.reduce((a, b) => {
                        if (a[b.id]) {
                            a[b.id].push(b);
                        } else {
                            a[b.id] = [b];
                        }
                        return a;
                    }, {});
                    for (let i = 0; i < this.MateriaList.length; i++) {
                        for (let a in result) {
                            if (this.MateriaList[i].id == a) {
                                let total = 0
                                for (let b = 0; b < result[a].length; b++) {
                                    total = Number(total) + Number(result[a][b].outActnum)
                                }
                    this.mainOrder = res.data.id
                    if (this.isZKD) {
                        this.info = res.data.wtransfer
                        this.wareHouseId = res.data.wtransfer.inWarehouseId
                        this.wtransferWarehouseList = res.data.wtransferWarehouseList
                        this.MateriaList = res.data.wtransferWarehouseList[0].wtransferDetailList
                    } else {
                        this.info = res.data.woutbound
                        this.woutboundDetailsWait = res.data.woutboundDetailsWait
                        this.woScanMaterialBeanList = res.data.woScanMaterialBeanList
                    }
                }).catch(err => {
                    uni.$u.toast(err)
                    uni.navigateBack()
                })
            },
            change() {},
            close() {},
            open() {},
            openxz() {
                getListByWarehouseId({
                        wareHouseId: this.wareHouseId
                    })
                    .then(res => {
                        if (res.data.length === 1) {
                            this.location = res.data[0].id
                            this.locationName = res.data[0].unionName
                            this.$refs.materialIn.open({
                                list: this.MateriaList
                            })
                        } else {
                            this.$refs.selectLoaction.open({
                                wareHouseId: this.wareHouseId
                            })
                        }
                    })
            },
            selectLocation(item) {
                this.location = item.id
                this.locationName = item.unionName
                this.$refs.materialIn.open({
                    list: this.MateriaList
                })
            },
            selectMaterial(val) {
                let material = JSON.parse(JSON.stringify(val))
                let tempMaterial = this.seleMateriaList.find(item => item.locationId == this.location)
                if (tempMaterial) {
                    if (tempMaterial.qualityType == material.qualityType && tempMaterial.procedureId == material
                        .procedureId &&
                        tempMaterial.batch == material.batch && tempMaterial.materialId == material.materialId) {
                        uni.$u.toast('相同货位,同一个物料只能有一个')
                        return
                    }
                }
                let materialNum = 0
                let num = 0
                this.seleMateriaList.forEach(item => {
                    if (item.id === material.id) {
                        materialNum += Number(item.outActnum)
                    }
                })
                this.MateriaList.forEach(item => {
                    if (item.id === material.id) {
                        num = item.outActnum - materialNum
                    }
                })
                material.outActnum = num
                this.seleMateriaList.push({
                    ...material,
                    locationId: this.location,
                    locationName: this.locationName
                })
            },
            submit() {
                if (this.type == QRCodeType.ZKD) {
                    if (!this.seleMateriaList.length) {
                        uni.$u.toast('转入物料不能为空')
                        return
                    }
                    let result = this.seleMateriaList.reduce((a, b) => {
                        if (a[b.id]) {
                            a[b.id].push(b);
                        } else {
                            a[b.id] = [b];
                        }
                        return a;
                    }, {});
                    for (let i = 0; i < this.MateriaList.length; i++) {
                        for (let a in result) {
                            if (this.MateriaList[i].id == a) {
                                let total = 0
                                for (let b = 0; b < result[a].length; b++) {
                                    total = Number(total) + Number(result[a][b].outActnum)
                                }
                                if (!total || total <= 0) {
                                    uni.$u.toast('入库数量不能小于0')
                                    uni.$u.toast('入库数量不能小于0')
                                    return 
                                    // Toast.fail({
                                    //     message: '入库数量不能小于0',
                                    //     forbidClick: true,
                                    //     duration: 2000
                                    // })
                                }
                                    // Toast.fail({
                                    //     message: '入库数量不能小于0',
                                    //     forbidClick: true,
                                    //     duration: 2000
                                    // })
                                }
                                if (total > this.MateriaList[i].outActnum) {
                                    uni.$u.toast('入库数量不能大于待入库数量')
                                    uni.$u.toast('入库数量不能大于待入库数量')
                                    return 
                                    // Toast.fail({
                                    //     message: '入库数量不能大于待入库数量',
                                    //     forbidClick: true,
                                    //     duration: 2000
                                    // })
                                }
                            }
                        }
                    }
                    let submitTransferInDetailDTOList = []
                    this.seleMateriaList.forEach(item => {
                        submitTransferInDetailDTOList.push({
                            inNum: item.outActnum,
                            locationId: item.locationId,
                            wtransferDetailId: item.id
                        })
                    })
                    transferToInNew({
                        submitTransferInDetailDTOList,
                        wtransferId: this.id
                    }).then(res => {
                        if (res.code === 200) {
                                    // Toast.fail({
                                    //     message: '入库数量不能大于待入库数量',
                                    //     forbidClick: true,
                                    //     duration: 2000
                                    // })
                                }
                            }
                        }
                    }
                    let submitTransferInDetailDTOList = []
                    this.seleMateriaList.forEach(item => {
                        submitTransferInDetailDTOList.push({
                            inNum: item.outActnum,
                            locationId: item.locationId,
                            wtransferDetailId: item.id
                        })
                    })
                    transferToInNew({
                        submitTransferInDetailDTOList,
                        wtransferId: this.id
                    }).then(res => {
                        if (res.code === 200) {
                            this.$store.dispatch('getUpcomingNum')
                            uni.$u.toast('操作成功')
                            if (this.type == '4') { // è·³è½¬å®Œå·¥å…¥åº“详情
@@ -404,530 +404,530 @@
                            uni.redirectTo({
                                url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}`
                            })
                            // setTimeout(() => {
                                // if (route.query.Type == '4') { // è·³è½¬å®Œå·¥å…¥åº“详情
                                //     router.push({
                                //         name: 'completionDetails',
                                //         query: {
                                //             id: route.query.id,
                                //             dbid: route.query.dbid,
                                //             type: 7,
                                //             isShow: 2
                                //         }
                                //     })
                                //     return
                                // }
                                // router.replace({
                                //     name: 'wTransferDetail',
                                //     query: {
                                //         id: route.query.id
                                //     }
                                // })
                            // }, 2000)
                        }
                    })
                } else if (this.type === QRCodeType.RKD) {
                    wOutBoundForUpload({
                        id: this.info.id,
                        wOutboundType: 1
                    }).then(res => {
                        if (res.code === 200) {
                            // setTimeout(() => {
                                // if (route.query.Type == '4') { // è·³è½¬å®Œå·¥å…¥åº“详情
                                //     router.push({
                                //         name: 'completionDetails',
                                //         query: {
                                //             id: route.query.id,
                                //             dbid: route.query.dbid,
                                //             type: 7,
                                //             isShow: 2
                                //         }
                                //     })
                                //     return
                                // }
                                // router.replace({
                                //     name: 'wTransferDetail',
                                //     query: {
                                //         id: route.query.id
                                //     }
                                // })
                            // }, 2000)
                        }
                    })
                } else if (this.type === QRCodeType.RKD) {
                    wOutBoundForUpload({
                        id: this.info.id,
                        wOutboundType: 1
                    }).then(res => {
                        if (res.code === 200) {
                            this.$store.dispatch('getUpcomingNum')
                            uni.$u.toast('操作成功')
                            uni.redirectTo({
                                url: `/pages_adjust/pages/warehousingDetails1/warehousingDetails1?id=${this.id}`
                            })
                            // Toast.success({
                            //     message: '操作成功',
                            //     forbidClick: true,
                            //     duration: 2000
                            // })
                            // setTimeout(() => {
                            //     // router.go(-1)
                            //     router.replace({
                            //         name: 'wInboundDetail',
                            //         query: {
                            //             id: this.id
                            //         }
                            //     })
                            // }, 2000)
                        }
                    })
                }
            }
        }
    }
</script>
<style lang="scss">
    .page_dck {
        .page_dck_title {
            display: flex;
            align-items: center;
            .page_dck_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
        }
    }
    .page_content {
        margin-top: 36rpx;
        .page_content_title {
            display: flex;
            flex-direction: column;
            margin-bottom: 10rpx;
            .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 {
                .green {
                    color: $nav-stateColor7 !important;
                    .black {
                        color: black !important;
                    }
                }
                .warning {
                    color: $nav-stateColor5 !important;
                    .black {
                        color: black !important;
                    }
                }
                .error {
                    color: $nav-stateColor4 !important;
                    .black {
                        color: black !important;
                    }
                }
                span {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #666666;
                }
            }
        }
        .lineBorder {
            border: none !important;
            padding-bottom: 0 !important;
            margin-bottom: 24rpx;
        }
        .page_content_list {
            width: 100%;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            &:first-child {
                margin: 0;
            }
            &:last-child {
                border: none;
            }
            .page_content_list_nums {
                width: 30%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_num {
                width: 70%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_items {
                width: 30%;
                display: flex;
                margin-top: 24rpx;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_item {
                width: 70%;
                display: flex;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
    .page_h {
        height: 20rpx;
    }
    .page_yxwl {
        padding: 30rpx;
        background: #ffffff;
        .page_yxwl_title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            .page_yxwl_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
            .left {
                display: flex;
                align-items: center;
                .page_yxwl_title_x {
                    width: 8rpx;
                    height: 30rpx;
                    background: #4275FC;
                    border-radius: 2rpx;
                    margin-right: 16rpx;
                }
                span {
                    font-size: 32rpx;
                    font-weight: 500;
                    color: #222222;
                }
            }
            .right {
                display: flex;
                align-items: center;
                img {
                    width: 28rpx;
                    height: 28rpx;
                    margin-right: 14rpx;
                }
                span {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
        .page_yxwl_list {
            display: flex;
            flex-direction: column;
            padding-bottom: 30rpx;
            border-bottom: 1rpx solid #ececec;
            &:last-child {
                margin-bottom: 0;
                border: none;
            }
            .page_yxwl_list_item {
                margin-top: 28rpx;
                .page_yxwl_list_item_top {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .page_yxwl_list_item_top_left {
                        font-size: 30rpx;
                        font-weight: 500;
                        color: #222222;
                    }
                }
                .page_yxwl_list_item_sx {
                    display: flex;
                    align-items: center;
                    margin-top: 15rpx;
                }
                .page_yxwl_list_item_num {
                    display: flex;
                    flex-direction: column;
                    // margin-top: 30rpx;
                    &:first-child {
                        margin-top: 0;
                    }
                    .dis {
                        display: flex;
                    }
                    .itemy {
                        margin-top: 20rpx;
                        width: 100%;
                        display: flex;
                        align-items: center;
                        position: relative;
                        .itemy_item {
                            flex: 1;
                            display: flex;
                            align-items: center;
                            .label {
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #666666;
                                flex-shrink: 0;
                            }
                            .nr {
                                display: flex;
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #222222;
                                input {
                                    width: 100rpx;
                                    height: 35rpx;
                                    border-radius: 8rpx;
                                    border: 1rpx solid #E5E5E5;
                                    margin-right: 10rpx;
                                    margin-left: 5rpx;
                                }
                                span {
                                    font-size: 26rpx;
                                    font-weight: 400;
                                    color: #222222;
                                }
                            }
                        }
                        .dele {
                            position: absolute;
                            right: -30rpx;
                            width: 48rpx;
                            height: 48rpx;
                            img {
                                width: 100%;
                                height: 100%;
                            }
                        }
                    }
                    .items {
                        width: 50%;
                        display: flex;
                        align-items: center;
                        .label {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .nr {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #222222;
                            input {
                                width: 100rpx;
                                height: 40rpx;
                                margin-right: 10rpx;
                            }
                            span {
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #222222;
                            }
                        }
                    }
                    .item {
                        width: 70%;
                        display: flex;
                        align-items: center;
                        .label {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .nr {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #222222;
                            input {
                                width: 100rpx;
                                height: 40rpx;
                                margin-right: 10rpx;
                            }
                            span {
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #222222;
                            }
                        }
                    }
                }
            }
        }
        .page_yxwl_kong {
            padding: 50rpx 0;
            font-size: 25rpx;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
    .page_zw {
        height: 160rpx;
    }
    .page_footer {
        width: calc(100% - 60rpx);
        background: #F7F7F7;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 30rpx;
        padding-bottom: 68rpx;
        .page_footer_qr {
            flex: 1;
            height: 88rpx;
            background: #fff;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: $nav-color;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
                width: 30rpx;
                height: 30rpx;
                margin-right: 12rpx;
            }
        }
        .page_footer_ck {
            flex: 1;
            height: 88rpx;
            background: $nav-color;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: #FFFFFF;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
                            })
                            // Toast.success({
                            //     message: '操作成功',
                            //     forbidClick: true,
                            //     duration: 2000
                            // })
                            // setTimeout(() => {
                            //     // router.go(-1)
                            //     router.replace({
                            //         name: 'wInboundDetail',
                            //         query: {
                            //             id: this.id
                            //         }
                            //     })
                            // }, 2000)
                        }
                    })
                }
            }
        }
    }
</script>
<style lang="scss">
    .page_dck {
        .page_dck_title {
            display: flex;
            align-items: center;
            .page_dck_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
        }
    }
    .page_content {
        margin-top: 36rpx;
        .page_content_title {
            display: flex;
            flex-direction: column;
            margin-bottom: 10rpx;
            .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 {
                .green {
                    color: $nav-stateColor7 !important;
                    .black {
                        color: black !important;
                    }
                }
                .warning {
                    color: $nav-stateColor5 !important;
                    .black {
                        color: black !important;
                    }
                }
                .error {
                    color: $nav-stateColor4 !important;
                    .black {
                        color: black !important;
                    }
                }
                span {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #666666;
                }
            }
        }
        .lineBorder {
            border: none !important;
            padding-bottom: 0 !important;
            margin-bottom: 24rpx;
        }
        .page_content_list {
            width: 100%;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            &:first-child {
                margin: 0;
            }
            &:last-child {
                border: none;
            }
            .page_content_list_nums {
                width: 30%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_num {
                width: 70%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_items {
                width: 30%;
                display: flex;
                margin-top: 24rpx;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_item {
                width: 70%;
                display: flex;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
    .page_h {
        height: 20rpx;
    }
    .page_yxwl {
        padding: 30rpx;
        background: #ffffff;
        .page_yxwl_title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            .page_yxwl_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
            .left {
                display: flex;
                align-items: center;
                .page_yxwl_title_x {
                    width: 8rpx;
                    height: 30rpx;
                    background: #4275FC;
                    border-radius: 2rpx;
                    margin-right: 16rpx;
                }
                span {
                    font-size: 32rpx;
                    font-weight: 500;
                    color: #222222;
                }
            }
            .right {
                display: flex;
                align-items: center;
                img {
                    width: 28rpx;
                    height: 28rpx;
                    margin-right: 14rpx;
                }
                span {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
        .page_yxwl_list {
            display: flex;
            flex-direction: column;
            padding-bottom: 30rpx;
            border-bottom: 1rpx solid #ececec;
            &:last-child {
                margin-bottom: 0;
                border: none;
            }
            .page_yxwl_list_item {
                margin-top: 28rpx;
                .page_yxwl_list_item_top {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .page_yxwl_list_item_top_left {
                        font-size: 30rpx;
                        font-weight: 500;
                        color: #222222;
                    }
                }
                .page_yxwl_list_item_sx {
                    display: flex;
                    align-items: center;
                    margin-top: 15rpx;
                }
                .page_yxwl_list_item_num {
                    display: flex;
                    flex-direction: column;
                    // margin-top: 30rpx;
                    &:first-child {
                        margin-top: 0;
                    }
                    .dis {
                        display: flex;
                    }
                    .itemy {
                        margin-top: 20rpx;
                        width: 100%;
                        display: flex;
                        align-items: center;
                        position: relative;
                        .itemy_item {
                            flex: 1;
                            display: flex;
                            align-items: center;
                            .label {
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #666666;
                                flex-shrink: 0;
                            }
                            .nr {
                                display: flex;
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #222222;
                                input {
                                    width: 100rpx;
                                    height: 35rpx;
                                    border-radius: 8rpx;
                                    border: 1rpx solid #E5E5E5;
                                    margin-right: 10rpx;
                                    margin-left: 5rpx;
                                }
                                span {
                                    font-size: 26rpx;
                                    font-weight: 400;
                                    color: #222222;
                                }
                            }
                        }
                        .dele {
                            position: absolute;
                            right: -30rpx;
                            width: 48rpx;
                            height: 48rpx;
                            img {
                                width: 100%;
                                height: 100%;
                            }
                        }
                    }
                    .items {
                        width: 50%;
                        display: flex;
                        align-items: center;
                        .label {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .nr {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #222222;
                            input {
                                width: 100rpx;
                                height: 40rpx;
                                margin-right: 10rpx;
                            }
                            span {
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #222222;
                            }
                        }
                    }
                    .item {
                        width: 70%;
                        display: flex;
                        align-items: center;
                        .label {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .nr {
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #222222;
                            input {
                                width: 100rpx;
                                height: 40rpx;
                                margin-right: 10rpx;
                            }
                            span {
                                font-size: 26rpx;
                                font-weight: 400;
                                color: #222222;
                            }
                        }
                    }
                }
            }
        }
        .page_yxwl_kong {
            padding: 50rpx 0;
            font-size: 25rpx;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
    .page_zw {
        height: 160rpx;
    }
    .page_footer {
        width: calc(100% - 60rpx);
        background: #F7F7F7;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 30rpx;
        padding-bottom: 68rpx;
        .page_footer_qr {
            flex: 1;
            height: 88rpx;
            background: #fff;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: $nav-color;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
                width: 30rpx;
                height: 30rpx;
                margin-right: 12rpx;
            }
        }
        .page_footer_ck {
            flex: 1;
            height: 88rpx;
            background: $nav-color;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: #FFFFFF;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
</style>
minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue
ÎļþÃû´Ó minipro_standard/pages/OutOperation/OutOperation.vue ÐÞ¸Ä
@@ -1,281 +1,278 @@
<template>
    <view>
        <InOutInfo :info="info" />
        <uni-collapse @change="change" @close="close" @open="open">
            <uni-collapse-item :open="item1.wtransferDetailList.length" 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>{{ item1.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 item1.wtransferDetailList" :key="index"
                        :name="index">
                        <div class="page_content_title">
                            <div class="page_content_title_top">
                                <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
                                <span>待出<span>{{ item.outPlannum }}</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="(childer, idxs) in item.wstockExtListVOList" :key="idxs">
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">出库货位:</div>
                                <div class="page_content_list_item_nr">{{ childer.locationName }}</div>
                            </div>
                            <div class="page_content_list_items">
                                <div class="page_content_list_item_label">数量:</div>
                                <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div>
                            </div>
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">批次号:</div>
                                <div class="page_content_list_item_nr">{{ childer.batch ? childer.batch : '-' }}</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">
                <div class="left">
                    <div class="page_yxwl_title_x"></div>
                    <span>已选择物料</span>
                </div>
                <div class="right" v-if="isZKD" @click="openxz">
                    <image src="../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>手动出库</span>
                </div>
            </div>
            <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">{{ item.materialName }} | {{ item.materialCode }}
                        </div>
                    </div>
                    <div class="page_yxwl_list_item_sx">
                        <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="item">
                            <div class="label">出库货位:</div>
                            <div class="nr">
                                <span>{{ item.locationName }}</span>
                            </div>
                        </div>
                        <div class="item">
                            <div class="label">数量:</div>
                            <div class="nr">
                                <!-- @input="changeNum(item)" -->
                                <input type="number" v-model="item.num" placeholder="请输入">
                                <span>{{ item.unitName }}</span>
                            </div>
                        </div>
                        <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 class="page_yxwl_kong" v-else>暂无数据</div>
        </div>
        <div class="page_zw"></div>
        <!--    æäº¤æŒ‰é’®    -->
        <div class="page_footer">
            <div class="page_footer_ck" @click="submit">
                <span>确认出库</span>
            </div>
        </div>
        <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" @selectes="selectMaterail" />
    </view>
</template>
<script>
    import InOutInfo from '@/components/InOutInfo.vue'
    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,
            SelectTraMultipleMaterial
        },
        data() {
            return {
                type: '',
                id: '',
                dbid: '',
                isZKD: false,
                show: false,
                info: {
<template>
    <view>
        <InOutInfo :info="info" />
        <uni-collapse @change="change" @close="close" @open="open">
            <uni-collapse-item :open="item1.wtransferDetailList.length" 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>{{ item1.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 item1.wtransferDetailList" :key="index"
                        :name="index">
                        <div class="page_content_title">
                            <div class="page_content_title_top">
                                <span>{{ item.materialName + ' | ' + item.materialCode }}</span>
                                <span>待出<span>{{ item.outPlannum }}</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="(childer, idxs) in item.wstockExtListVOList" :key="idxs">
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">出库货位:</div>
                                <div class="page_content_list_item_nr">{{ childer.locationName }}</div>
                            </div>
                            <div class="page_content_list_items">
                                <div class="page_content_list_item_label">数量:</div>
                                <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div>
                            </div>
                            <div class="page_content_list_item">
                                <div class="page_content_list_item_label">批次号:</div>
                                <div class="page_content_list_item_nr">{{ childer.batch ? childer.batch : '-' }}</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">
                <div class="left">
                    <div class="page_yxwl_title_x"></div>
                    <span>已选择物料</span>
                </div>
                <div class="right" v-if="isZKD" @click="openxz">
                    <image src="../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>手动出库</span>
                </div>
            </div>
            <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">{{ item.materialName }} | {{ item.materialCode }}
                        </div>
                    </div>
                    <div class="page_yxwl_list_item_sx">
                        <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="item">
                            <div class="label">出库货位:</div>
                            <div class="nr">
                                <span>{{ item.locationName }}</span>
                            </div>
                        </div>
                        <div class="item">
                            <div class="label">数量:</div>
                            <div class="nr">
                                <!-- @input="changeNum(item)" -->
                                <input type="number" v-model="item.num" placeholder="请输入">
                                <span>{{ item.unitName }}</span>
                            </div>
                        </div>
                        <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 class="page_yxwl_kong" v-else>暂无数据</div>
        </div>
        <div class="page_zw"></div>
        <!--    æäº¤æŒ‰é’®    -->
        <div class="page_footer">
            <div class="page_footer_ck" @click="submit">
                <span>确认出库</span>
            </div>
        </div>
        <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" @selectes="selectMaterail" />
    </view>
</template>
<script>
    import InOutInfo from '@/components/InOutInfo.vue'
    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'
    export default {
        components: {
            InOutInfo,
            SelectTraMultipleMaterial
        },
        data() {
            return {
                type: '',
                id: '',
                dbid: '',
                isZKD: false,
                show: false,
                info: {
                },
                mainOrder: '',
                warehouseId: '',
                ids: [],
                warehouseList: [{
                }],
                woutboundDetailsWait: [],
                outboundList: []
            };
        },
        onLoad(option) {
            this.type = option.type
            this.id = option.id
                mainOrder: '',
                warehouseId: '',
                ids: [],
                warehouseList: [{
                }],
                woutboundDetailsWait: [],
                outboundList: []
            };
        },
        onLoad(option) {
            this.type = option.type
            this.id = option.id
            this.isZKD = this.type == QRCodeType.ZKD
            this.dbid = option.dbid
            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'
            this.dbid = option.dbid
            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.mainOrder = res.data.id
                    this.mainOrder = res.data.id
                    if (this.isZKD) {
                        this.info = res.data.wtransfer
                        this.info = res.data.wtransfer
                        this.warehouseList = res.data.wtransferWarehouseList
                        this.warehouseId = this.warehouseList[0].warehouseId
                    } else {
                        this.info = res.data.woutbound
                        this.warehouseId = this.warehouseList[0].warehouseId
                    } else {
                        this.info = res.data.woutbound
                        this.woutboundDetailsWait = res.data.woutboundDetailsWait
                        this.warehouseId = this.woutboundDetailsWait[0].warehouseId
                    }
                }).catch(err => {
                    uni.$u.toast(err)
                    uni.navigateBack()
                })
            },
            change() {},
            close() {},
            open() {},
            openxz() {
                this.$refs.selectTraMultipleMaterial.open({
                    transferId: this.id,
                    warehouseId: this.warehouseId
                })
            },
            selectMaterail(v) {
                let tempList = this.warehouseList[0].wtransferDetailList
                let materials = v.materials
                        this.warehouseId = this.woutboundDetailsWait[0].warehouseId
                    }
                }).catch(err => {
                    uni.$u.toast(err)
                    uni.navigateBack()
                })
            },
            change() {},
            close() {},
            open() {},
            openxz() {
                this.$refs.selectTraMultipleMaterial.open({
                    transferId: this.id,
                    warehouseId: this.warehouseId
                })
            },
            selectMaterail(v) {
                let tempList = this.warehouseList[0].wtransferDetailList
                let materials = v.materials
                materials.forEach(materail => {
                    tempList.forEach(item => {
                        item.wstockExtListVOList.forEach(hw => {
                            if (materail.materialId == hw.materialId && materail.procedureId == hw
@@ -297,380 +294,380 @@
                                this.outboundList.push(obj)
                            }
                        })
                    })
                })
                    })
                })
            },
            dele(index) {
                 this.outboundList.splice(index, 1)
            },
            },
            submit() {
                if (this.type == QRCodeType.ZKD) {
                    if (this.outboundList.length > 0) {
                        let result = this.outboundList.reduce((a, b) => {
                            if (a[b.newId]) {
                                a[b.newId].push(b);
                            } else {
                                a[b.newId] = [b];
                            }
                            return a;
                        }, {});
                        let tempList = this.warehouseList[0].wtransferDetailList
                        for (let i = 0; i < tempList.length; i++) {
                            let item = tempList[i]
                            for (let a in result) {
                                if (item.id == a) {
                                    let total = 0
                                    for (let b = 0; b < result[a].length; b++) {
                                        total = Number(total) + Number(result[a][b].num)
                                    }
                                    if (!total || total <= 0) {
                                        uni.$u.toast('出库物料数量必须大于0')
                                        return
                                    }
                                    console.log(total, item.outPlannum);
                                    if (total > item.outPlannum) {
                                        uni.$u.toast('出库数量不能大于待出库数量')
                                        return
                                    }
                                }
                            }
                        }
                        let submitTransferOutDetailDTOList = []
                        this.outboundList.forEach(item => {
                            tempList.forEach(child => {
                                if (item.newId == child.id) {
                                    submitTransferOutDetailDTOList.push({
                                        outNum: item.num,
                                        wstockId: item.id,
                                        wtransferDetailId: child.id
                                    })
                                }
                            })
                        })
                        transferToOutNew({
                            submitTransferOutDetailDTOList,
                            wtransferId: this.id
                        }).then(res => {
                            if (res.code === 200) {
                                this.$store.dispatch('getUpcomingNum')
                if (this.type == QRCodeType.ZKD) {
                    if (this.outboundList.length > 0) {
                        let result = this.outboundList.reduce((a, b) => {
                            if (a[b.newId]) {
                                a[b.newId].push(b);
                            } else {
                                a[b.newId] = [b];
                            }
                            return a;
                        }, {});
                        let tempList = this.warehouseList[0].wtransferDetailList
                        for (let i = 0; i < tempList.length; i++) {
                            let item = tempList[i]
                            for (let a in result) {
                                if (item.id == a) {
                                    let total = 0
                                    for (let b = 0; b < result[a].length; b++) {
                                        total = Number(total) + Number(result[a][b].num)
                                    }
                                    if (!total || total <= 0) {
                                        uni.$u.toast('出库物料数量必须大于0')
                                        return
                                    }
                                    console.log(total, item.outPlannum);
                                    if (total > item.outPlannum) {
                                        uni.$u.toast('出库数量不能大于待出库数量')
                                        return
                                    }
                                }
                            }
                        }
                        let submitTransferOutDetailDTOList = []
                        this.outboundList.forEach(item => {
                            tempList.forEach(child => {
                                if (item.newId == child.id) {
                                    submitTransferOutDetailDTOList.push({
                                        outNum: item.num,
                                        wstockId: item.id,
                                        wtransferDetailId: child.id
                                    })
                                }
                            })
                        })
                        transferToOutNew({
                            submitTransferOutDetailDTOList,
                            wtransferId: this.id
                        }).then(res => {
                            if (res.code === 200) {
                                this.$store.dispatch('getUpcomingNum')
                                uni.$u.toast('操作成功')
                                uni.redirectTo({
                                    url: `/pages/warehousingDetails/warehousingDetails?id=${this.id}&dbid=${this.dbid}`
                                })
                                // uni.redirectTo({
                                //     url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.info.id}&dbid=${this.dbid}`
                                // })
                                // setTimeout(() => {
                                //   router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } })
                                // }, 2000)
                            }
                        })
                    } else {
                        uni.$u.toast('请选择出库物料')
                    }
                } else if (this.type === QRCodeType.CKD) {
                    wOutBoundForUpload({
                        id: this.id,
                        wOutboundType: 0
                    }).then(res => {
                        if (res.code === 200) {
                            this.$store.dispatch('getUpcomingNum')
                                // })
                                // setTimeout(() => {
                                //   router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } })
                                // }, 2000)
                            }
                        })
                    } else {
                        uni.$u.toast('请选择出库物料')
                    }
                } else if (this.type === QRCodeType.CKD) {
                    wOutBoundForUpload({
                        id: this.id,
                        wOutboundType: 0
                    }).then(res => {
                        if (res.code === 200) {
                            this.$store.dispatch('getUpcomingNum')
                            uni.$u.toast('操作成功')
                            uni.redirectTo({
                                url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}`
                            })
                            // setTimeout(() => {
                            //   // router.go(-1)
                            //   router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } })
                            // }, 2000)
                        }
                    })
                }
            }
        }
    }
</script>
<style lang="scss">
    .page_dck {
        .page_dck_title {
            display: flex;
            align-items: center;
            .page_dck_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
        }
    }
    .page_content {
        margin-top: 36rpx;
        .page_content_title {
            display: flex;
            flex-direction: column;
            margin-bottom: 10rpx;
            .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 {
                .green {
                    color: $nav-stateColor7 !important;
                    .black {
                        color: black !important;
                    }
                }
                .warning {
                    color: $nav-stateColor5 !important;
                    .black {
                        color: black !important;
                    }
                }
                .error {
                    color: $nav-stateColor4 !important;
                    .black {
                        color: black !important;
                    }
                }
                span {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #666666;
                }
            }
        }
        .lineBorder {
            border: none !important;
            padding-bottom: 0 !important;
            margin-bottom: 24rpx;
        }
        .page_content_list {
            width: 100%;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            &:first-child {
                margin: 0;
            }
            &:last-child {
                border: none;
            }
            .page_content_list_nums {
                width: 30%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_num {
                width: 70%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_items {
                width: 30%;
                display: flex;
                margin-top: 24rpx;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_item {
                width: 70%;
                display: flex;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
    .page_h {
        height: 20rpx;
    }
    .page_yxwl {
        padding: 30rpx;
        background: #ffffff;
        .page_yxwl_title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            .page_yxwl_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
            .left {
                display: flex;
                align-items: center;
                .page_yxwl_title_x {
                    width: 8rpx;
                    height: 30rpx;
                    background: #4275FC;
                    border-radius: 2rpx;
                    margin-right: 16rpx;
                }
                span {
                    font-size: 32rpx;
                    font-weight: 500;
                    color: #222222;
                }
            }
            .right {
                display: flex;
                align-items: center;
                img {
                    width: 28rpx;
                    height: 28rpx;
                    margin-right: 14rpx;
                }
                span {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
        .page_yxwl_list {
            display: flex;
            flex-direction: column;
            padding-bottom: 30rpx;
            border-bottom: 1rpx solid #ececec;
            &:last-child {
                margin-bottom: 0;
                border: none;
            }
            .page_yxwl_list_item {
                margin-top: 28rpx;
                .page_yxwl_list_item_top {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .page_yxwl_list_item_top_left {
                        font-size: 30rpx;
                        font-weight: 500;
                        color: #222222;
                    }
                }
                .page_yxwl_list_item_sx {
                    display: flex;
                    align-items: center;
                    margin-top: 15rpx;
                }
                            })
                            // setTimeout(() => {
                            //   // router.go(-1)
                            //   router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } })
                            // }, 2000)
                        }
                    })
                }
            }
        }
    }
</script>
<style lang="scss">
    .page_dck {
        .page_dck_title {
            display: flex;
            align-items: center;
            .page_dck_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
        }
    }
    .page_content {
        margin-top: 36rpx;
        .page_content_title {
            display: flex;
            flex-direction: column;
            margin-bottom: 10rpx;
            .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 {
                .green {
                    color: $nav-stateColor7 !important;
                    .black {
                        color: black !important;
                    }
                }
                .warning {
                    color: $nav-stateColor5 !important;
                    .black {
                        color: black !important;
                    }
                }
                .error {
                    color: $nav-stateColor4 !important;
                    .black {
                        color: black !important;
                    }
                }
                span {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #666666;
                }
            }
        }
        .lineBorder {
            border: none !important;
            padding-bottom: 0 !important;
            margin-bottom: 24rpx;
        }
        .page_content_list {
            width: 100%;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            &:first-child {
                margin: 0;
            }
            &:last-child {
                border: none;
            }
            .page_content_list_nums {
                width: 30%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_num {
                width: 70%;
                display: flex;
                .page_content_list_num_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                }
                .page_content_list_num_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_items {
                width: 30%;
                display: flex;
                margin-top: 24rpx;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .page_content_list_item {
                width: 70%;
                display: flex;
                .page_content_list_item_label {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .page_content_list_item_nr {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
    .page_h {
        height: 20rpx;
    }
    .page_yxwl {
        padding: 30rpx;
        background: #ffffff;
        .page_yxwl_title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            .page_yxwl_title_x {
                width: 8rpx;
                height: 30rpx;
                background: #4275FC;
                border-radius: 2rpx;
                margin-right: 16rpx;
            }
            span {
                font-size: 32rpx;
                font-weight: 500;
                color: #222222;
            }
            .left {
                display: flex;
                align-items: center;
                .page_yxwl_title_x {
                    width: 8rpx;
                    height: 30rpx;
                    background: #4275FC;
                    border-radius: 2rpx;
                    margin-right: 16rpx;
                }
                span {
                    font-size: 32rpx;
                    font-weight: 500;
                    color: #222222;
                }
            }
            .right {
                display: flex;
                align-items: center;
                img {
                    width: 28rpx;
                    height: 28rpx;
                    margin-right: 14rpx;
                }
                span {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
        .page_yxwl_list {
            display: flex;
            flex-direction: column;
            padding-bottom: 30rpx;
            border-bottom: 1rpx solid #ececec;
            &:last-child {
                margin-bottom: 0;
                border: none;
            }
            .page_yxwl_list_item {
                margin-top: 28rpx;
                .page_yxwl_list_item_top {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .page_yxwl_list_item_top_left {
                        font-size: 30rpx;
                        font-weight: 500;
                        color: #222222;
                    }
                }
                .page_yxwl_list_item_sx {
                    display: flex;
                    align-items: center;
                    margin-top: 15rpx;
                }
                .page_yxwl_list_item_num {
                          display: flex;
                          position: relative;
@@ -725,66 +722,66 @@
                              }
                            }
                          }
                        }
            }
        }
        .page_yxwl_kong {
            padding: 50rpx 0;
            font-size: 25rpx;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
    .page_zw {
        height: 160rpx;
    }
    .page_footer {
        width: calc(100% - 60rpx);
        background: #F7F7F7;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 30rpx;
        padding-bottom: 68rpx;
        z-index: 9999;
        .page_footer_qr {
            flex: 1;
            height: 88rpx;
            background: #fff;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: $nav-color;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
                width: 30rpx;
                height: 30rpx;
                margin-right: 12rpx;
            }
        }
        .page_footer_ck {
            flex: 1;
            height: 88rpx;
            background: $nav-color;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: #FFFFFF;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
                        }
            }
        }
        .page_yxwl_kong {
            padding: 50rpx 0;
            font-size: 25rpx;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
    .page_zw {
        height: 160rpx;
    }
    .page_footer {
        width: calc(100% - 60rpx);
        background: #F7F7F7;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 30rpx;
        padding-bottom: 68rpx;
        z-index: 9999;
        .page_footer_qr {
            flex: 1;
            height: 88rpx;
            background: #fff;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: $nav-color;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
                width: 30rpx;
                height: 30rpx;
                margin-right: 12rpx;
            }
        }
        .page_footer_ck {
            flex: 1;
            height: 88rpx;
            background: $nav-color;
            box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
            border-radius: 8rpx;
            font-size: 32rpx;
            font-weight: 500;
            color: #FFFFFF;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
</style>