陈婷婷
14 小时以前 7953d6eb2b77a2dbebdc8596768f5687916d636a
运单编辑
2个文件已修改
144 ■■■■■ 已修改文件
src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/logistics/transportGPS/WL_YayBill.vue 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/logistics/transportGPS/Add_Edit_WL_YayBill.vue
@@ -920,7 +920,7 @@
                        var width = parseFloat(result.data[i].容器宽度) || 0;
                        var height = parseFloat(result.data[i].容器高度) || 0;
                        var rowVolume = (length * width * height).toFixed(2);
                        console.log(result.data)
                        this.editData.push(
                            {
                                "HSourceInterID": result.data[i].源单主内码,
@@ -1261,6 +1261,10 @@
                // 显示源单数据加载状态
                this.sourceDataLoading = true;
                var dataArray = [];
                let hmainidVal = []
                for (var i = 0; i < checkStatus.length; i++) {
                    hmainidVal[i] = "'" + checkStatus[i].hmainid + '-' + checkStatus[i].hsubid + "'"
                }
                // 使用Promise.all等待所有异步请求完成
                const promises = checkStatus.map(async (item) => {
                    const temp = await this.getPushSeOutStockBillInit(item.hmainid, item.hsubid);
@@ -1281,41 +1285,37 @@
                var existingData = this.editData || [];
                var orginHQTY = 0;
                // 创建物料ID映射
                var materialMap = {};
                for (var i = 0; i < dataArray.length; i++) {
                    orginHQTY = dataArray[i].数量;
                    var materialId = dataArray[i].HMaterID;
                    console.log(materialId)
                    if (!materialMap[materialId]) {
                        materialMap[materialId] = [];
                    }
                    materialMap[materialId].push({
                        HMaterID: dataArray[i].HMaterID,
                        hmainid: dataArray[i].hmainid,
                        hsubid: dataArray[i].hsubid,
                        单据号: dataArray[i].单据号
                    });
                }
                // 获取所有物料ID
                var ListMaterial = "";
                for (var materialId in materialMap) {
                    if (ListMaterial) ListMaterial += ";";
                    ListMaterial += materialId;
                }
                if (!ListMaterial) {
                    this.$modal.msgError("没有找到物料信息,请检查选择的源单是否包含有效的物料数据!");
                    this.sourceDataLoading = false;
                    return;
                }
                let hmainidVal = []
                for (var i = 0; i < dataArray.length; i++) {
                    hmainidVal[i] = dataArray[i].hmainid
                }
                // const response = await axios.get(this.baseURL + '/WLYayBillController/GetMesByOrginBill_1', {
                // var materialMap = {};
                // for (var i = 0; i < dataArray.length; i++) {
                //     orginHQTY = dataArray[i].数量;
                //     var materialId = dataArray[i].HMaterID;
                //     console.log(materialId)
                //     if (!materialMap[materialId]) {
                //         materialMap[materialId] = [];
                //     }
                //     materialMap[materialId].push({
                //         HMaterID: dataArray[i].HMaterID,
                //         hmainid: dataArray[i].hmainid,
                //         hsubid: dataArray[i].hsubid,
                //         单据号: dataArray[i].单据号
                //     });
                // }
                // // 获取所有物料ID
                // var ListMaterial = "";
                // for (var materialId in materialMap) {
                //     if (ListMaterial) ListMaterial += ";";
                //     ListMaterial += materialId;
                // }
                // if (!ListMaterial) {
                //     this.$modal.msgError("没有找到物料信息,请检查选择的源单是否包含有效的物料数据!");
                //     this.sourceDataLoading = false;
                //     return;
                // }
                const response = await axios.get(this.baseURL + '/WLYayBillController/GetList', {
                    params: {
                        "user": sessionStorage["HUserName"],
                        "hmainid": hmainidVal.join(',')
                        "hmainid_hsubid": hmainidVal.join(',')
                    },
                });
                console.log('源单详情', response.data.data)
@@ -1323,18 +1323,7 @@
                if (result.count == 1) {
                    let res = result.data;
                    var newRows = [];
                    // 为每个源单行创建对应的子表行
                    // for (var materialId in materialMap) {
                    // var sourceInfos = materialMap[materialId];
                    // // 查找该物料ID对应的包装容器信息
                    // var materialInfo = null;
                    // for (var i = 0; i < res.length; i++) {
                    //     if (res[i].HMaterID == materialId) {
                    //         materialInfo = res[i];
                    //         break;
                    //     }
                    // }
                    // if (materialInfo) {
                    // 为每个源单行创建一条记录
                    for (var j = 0; j < res.length; j++) {
                        var sourceInfo = res[j];
@@ -1352,7 +1341,7 @@
                            continue;
                        }
                        // 计算相关数量
                        var qty = orginHQTY || 0;
                        var qty = res[j].物料数量 || 0;
                        var snp = res[j].托标准容器数量 || 0;
                        var mouldQty = 0;
                        if (snp > 0) {
@@ -1377,12 +1366,12 @@
                            "HUnitID": res[j].HUnitID,
                            "HMouldID": res[j].HMouldID,
                            "HPackV": res[j].托体积,
                            "HStandardQtyForMouldInPack": res[j].托数量,
                            "HStandardQtyForMouldInPack": res[j].容器数量,
                            "HMouldLength": res[j].长度,
                            "HMouldWidth": res[j].宽度,
                            "HMouldHeight": res[j].高度,
                            "HMouldFoldHeight": res[j].折叠高度,
                            "HQty": orginHQTY,
                            "HQty": res[j].物料数量,
                            "HQty_origin": orginHQTY,
                            "HMouldQty": mouldQty,
                            "HVolume": rowVolume,
@@ -1392,8 +1381,6 @@
                        });
                        this.form.HTotalVolume = this.form.HTotalVolume * 1 + rowVolume * 1
                    }
                    // }
                    // }
                    if (newRows.length === 0) {
                        this.$modal.msgError("没有可添加的新记录,可能是源单数据已存在或物料信息不完整!");
                        this.sourceDataLoading = false;
src/views/logistics/transportGPS/WL_YayBill.vue
@@ -221,14 +221,14 @@
            <el-col :span="1.5">
                <el-button type="primary" icon="el-icon-date" size="mini" @click="handleRowHide">隐藏列设置</el-button>
            </el-col>
            <el-col :span="1.5">
            <!-- <el-col :span="1.5">
                <el-button type="primary" icon="el-icon-upload" size="mini" :disabled="single"
                    @click="handleFileUpload">附件上传</el-button>
            </el-col>
            <el-col :span="1.5">
                <el-button type="primary" icon="el-icon-download" size="mini" :disabled="multiple"
                    @click="handleBatchFileDownload">附件下载</el-button>
            </el-col>
            </el-col> -->
        </el-row>
        <div class="tableBox" v-loading="loading">
            <el-table :data="tableData" ref="tableData" max-height="710" :summary-method="getSummaries"
@@ -337,8 +337,8 @@
                        <el-input v-model="fileUploadForm.billNo" disabled />
                    </el-form-item>
                    <el-form-item label="附件">
                        <el-upload class="upload-demo" ref="fileUpload" action="" :on-preview="handleFilePreview"
                            :on-remove="handleFileRemove" :on-change="handleFileChange" :file-list="fileList"
                        <el-upload class="upload-demo" ref="fileUpload" :action="upload.url + '?updateSupport=' + upload.updateSupport" :on-preview="handleFilePreview"
                            :on-remove="handleFileRemove" :on-change="handleFileChange" :file-list="fileList"  :on-success="handleFileSuccess" :on-error="handleFileError"
                            :auto-upload="false" :limit="10" :on-exceed="handleFileExceed"
                            accept=".jpg,.png,.jpeg,.pdf,.doc,.docx,.xls,.xlsx,.zip,.rar">
                            <el-button size="small" type="primary">点击上传</el-button>
@@ -368,7 +368,8 @@
            <!-- 附件批量下载 -->
            <el-dialog title="附件批量下载" :visible.sync="openBatchDownload" width="900px" append-to-body>
                <div style="margin-bottom: 10px;">
                    <el-alert :title="`已选择 ${selectedBillCount} 条单据,共 ${batchFileList.length} 个附件`" type="info" show-icon :closable="false" />
                    <el-alert :title="`已选择 ${selectedBillCount} 条单据,共 ${batchFileList.length} 个附件`" type="info"
                        show-icon :closable="false" />
                </div>
                <el-table :data="batchFileList" border v-loading="batchDownloadLoading" max-height="400"
                    @selection-change="handleBatchFileSelectionChange">
@@ -384,7 +385,8 @@
                    </el-table-column>
                </el-table>
                <div slot="footer" class="dialog-footer">
                    <el-button type="primary" @click="batchDownloadFiles" :loading="batchDownloadLoading" :disabled="selectedBatchFiles.length === 0">批量下载选中</el-button>
                    <el-button type="primary" @click="batchDownloadFiles" :loading="batchDownloadLoading"
                        :disabled="selectedBatchFiles.length === 0">批量下载选中</el-button>
                    <el-button type="primary" @click="downloadAllFiles" :loading="batchDownloadLoading">下载全部</el-button>
                    <el-button @click="openBatchDownload = false">关 闭</el-button>
                </div>
@@ -409,8 +411,21 @@
    components: { BarCodeDetail, PackStockDetail, Edit, RowSettings, PrintList, PayMentOtherBillTranEdit, GyCar, GyDriver },
    data() {
        return {
            upload: {
                // 是否显示弹出层
                open: false,
                // 弹出层标题
                title: "",
                // 是否禁用上传
                isUploading: false,
                // 是否更新已经存在的数据
                updateSupport: 0,
                // 设置上传的请求头部
                // headers: { Authorization: "Bearer " + getToken() },
                // 上传的地址
                url: 'http://220.189.218.155:9010/File'
            },
            baseURL: process.env.VUE_APP_BASE_API,                //后端接口前缀(后端服务器ip地址)
            HModName: "Cg_ContractTransportBillMainList",
            HBillType: "WL_YayBill",
            OperationType: null,                                  //保存类型(新增1修改3)
@@ -1467,7 +1482,14 @@
        handleFileRemove(file, fileList) {
            this.uploadFiles = fileList
        },
        handleFileSuccess(response, file, fileList){
            console.log(file)
        },
          handleFileError(response, file, fileList){
            console.log(response, file, fileList)
        },
        handleFilePreview(file) {
            if (file.url) {
                window.open(file.url, '_blank')
            } else if (file.raw) {
@@ -1485,23 +1507,34 @@
                this.$modal.msgWarning('请先选择要上传的文件')
                return
            }
            console.log(this.uploadFiles)
            this.fileUploadLoading = true
            const formData = new FormData()
            this.uploadFiles.forEach(file => {
                formData.append('files', file.raw)
            })
            // formData.append('HBillNo', this.fileUploadForm.billNo)
            formData.append('HInterID', this.fileUploadForm.hInterID)
            formData.append('HUserName', sessionStorage["HUserName"] || '')
            axios.get(this.$baseUrl + '/WLYayBillController/saveFileAddress', formData, {
            // axios.get(this.$baseUrl + '/WLYayBillController/saveFileAddress', formData, {
            //     headers: {
            //         'Content-Type': 'multipart/form-data'
            //     },
            //     params:{
            //         HInterID:this.fileUploadForm.hInterID,
            //         HFileAddress:this.fileUploadPath + '/' + this.uploadFiles[0].name,
            //         CurUserName:sessionStorage["HUserName"]
            //     }
            // })
            axios('', {
                headers: {
                    'Content-Type': 'multipart/form-data'
                },
                params:{
                    HInterID:this.fileUploadForm.hInterID,
                    CurUserName:sessionStorage["HUserName"]
                }
                methods: 'post',
                data: formData
            }).then(response => {
                console.log(response)
                this.fileUploadLoading = false
                if (response.data.code == 1) {
                    this.$modal.msgSuccess(response.data.Message || '文件上传成功')