王震
2023-12-27 d892f98a6fc7bacca5c39c92f3f74ef2e81ba3f2
src/views/warehouse/pallettransports/index.vue
@@ -3,340 +3,171 @@
    <basic-container>
      <el-row>
        <el-col :span="9">
          <ttable
            :table="table"
            @currentChange="palletTransportsChange"
            :uploadInfo="uploadInfo"
            :prelang="prelang"
            :options="options"
            :ajaxFun="ajaxFun"
            :fixedHeight="palletTransportsFixedHeight"
            ref="pallettransportsTable"
          >
          <ttable :table="table" @currentChange="palletTransportsChange" :uploadInfo="uploadInfo" :prelang="prelang"
            :options="options" :ajaxFun="ajaxFun" :fixedHeight="palletTransportsFixedHeight" ref="pallettransportsTable">
            <template #toolbar>
              <el-button
                v-if="permissions.warehouse_pallettransports_add"
                type="primary"
                @click="addOrUpdateHandle()"
                >新增</el-button
              >
              <el-button v-if="permissions.warehouse_pallettransports_add" type="primary"
                @click="addOrUpdateHandle()">新增</el-button>
            </template>
          </ttable>
          <div
            style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;"
          >
          <div style="margin:0px 20px 0px;display:flex;height:36px;justify-content: space-between;align-items:center;">
            <div>
              <span style="font-weight:bold;">对应工单</span>
            </div>
            <div></div>
          </div>
          <div style="padding:0px 20px 0px;">
            <el-table
              class="pallet-transports-optask-table"
              :data="palletTransportsOptaskData"
              style="width: 100%;"
              v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }"
              height="100px"
              border
              highlight-current-row
              @row-click="optaskRowClick"
              stripe
              ref="palletTransportsOptaskTable"
            >
            <el-table class="pallet-transports-optask-table" :data="palletTransportsOptaskData"
            style="width: 100%;"
              v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border highlight-current-row
              @row-click="optaskRowClick" stripe ref="palletTransportsOptaskTable">
              <el-table-column align="center" width="55" label="单选">
                <template slot-scope="scope">
                  <el-checkbox
                    class="optask-table-single-checkbox"
                    v-model="scope.row.commonChecked"
                    disabled
                  ></el-checkbox>
                  <el-checkbox class="optask-table-single-checkbox" v-model="scope.row.commonChecked"
                    disabled></el-checkbox>
                </template>
              </el-table-column>
              <el-table-column
                prop="optaskNo"
                label="工单号"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="optaskNo" label="工单号" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="partName"
                label="零件"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="partName" label="零件" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="workCenter"
                label="工作中心"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="workCenter" label="工作中心" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="workstationName"
                label="工作站"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="workstationName" label="工作站" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="plannedQuantity"
                label="计划数量"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="plannedQuantity" label="计划数量" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="unit"
                label="单位"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="unit" label="单位" align="center" show-overflow-tooltip>
              </el-table-column>
            </el-table>
          </div>
        </el-col>
        <el-col :span="15" style="padding-left: 10px;padding-right: 10px">
          <div
            style="display:flex;height:36px;justify-content: space-between;align-items:center;"
          >
          <div style="display:flex;height:36px;justify-content: space-between;align-items:center;">
            <div><span style="font-weight:bold;">物料需求</span></div>
            <div>
              <el-button
                type="text"
                v-if="permissions.warehouse_pallettransports_demand_add"
                @click="openPartDialog"
                >新增</el-button
              ><el-button
                type="text"
                v-if="permissions.warehouse_pallettransports_ifs"
                @click="openLocationDialog"
                >IFS至库位</el-button
              >
              <el-button type="text" v-if="permissions.warehouse_pallettransports_demand_add"
                @click="openPartDialog">新增</el-button><el-button type="text"
                v-if="permissions.warehouse_pallettransports_ifs" @click="openLocationDialog">移至库位</el-button>
            </div>
          </div>
          <div>
            <el-table
              class="pallet-transports-material-table"
              :data="palletTransportsMaterialData"
              style="width: 100%;"
              height="350px"
              border
              @selection-change="palletTransportsMaterialSelectionChange"
              stripe
              ref="palletTransportsMaterialTable"
            >
            <el-table class="pallet-transports-material-table" @selection-change="handleCurrentChange"  :data="palletTransportsMaterialData" style="width: 100%;"
              height="350px" border  stripe
              ref="palletTransportsMaterialTable">
                          <!--单选框 @selection-change="palletTransportsMaterialSelectionChange"-->
                  <!-- <el-table-column align="center"  width="55" label="多选">
                       <template slot-scope="scope">
                          <el-checkbox v-model="scope.row.commonChecked" @change="handleCurrentChange(scope.row)" ></el-checkbox>
                       </template>
                  </el-table-column> -->
              <el-table-column type="selection" width="55"> </el-table-column>
              <el-table-column
                prop="partNo"
                label="零件号"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="partNo" label="零件号" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="partDesc"
                label="零件描述"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="partDesc" label="零件描述" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="demandQuantity"
                label="需求数量"
                align="center"
              >
              <el-table-column prop="demandQuantity" label="需求数量" align="center">
                <template slot-scope="scope">
                  <el-input
                    v-show="scope.row.canEdit"
                    v-model="scope.row.demandQuantity"
                  ></el-input>
                  <el-input v-show="scope.row.canEdit" v-model="scope.row.demandQuantity"></el-input>
                  <span v-show="!scope.row.canEdit">{{
                    scope.row.demandQuantity
                  }}</span>
                </template>
              </el-table-column>
              <el-table-column
                prop="transferQuantity"
                label="移库数量"
                align="center"
              >
              <el-table-column prop="transferQuantity" label="移库数量" align="center">
              </el-table-column>
              <el-table-column
                prop="surplusQuantity"
                label="剩余数量"
                align="center"
              >
              <el-table-column prop="surplusQuantity" label="剩余数量" align="center">
              </el-table-column>
              <el-table-column prop="unit" label="计量单位" align="center">
              </el-table-column>
              <el-table-column
                prop="toIfsLocationNo"
                label="IFS至库位"
                align="center"
              >
              <el-table-column prop="toIfsLocationNo" label="移至库位" align="center">
              </el-table-column>
              <el-table-column label="操作" align="center" width="100">
              <el-table-column label="操作" align="center" width="100" v-if="permissions.warehouse_pallettransports_demand_edit">
                <template slot-scope="scope">
                  <el-button
                    v-show="!scope.row.canEdit"
                    type="text"
                    :disabled="scope.row.detailExistState"
                    @click="scope.row.canEdit = true"
                    >编辑</el-button
                  >
                  <el-button
                    v-show="scope.row.canEdit"
                    type="text"
                    :disabled="scope.row.detailExistState"
                    @click="updateMaterial(scope.row)"
                    >保存</el-button
                  >
                  <el-button
                    type="text"
                    :disabled="scope.row.detailExistState"
                    @click="delMaterial(scope.row)"
                    >删除</el-button
                  >
                  <!-- <el-button v-show="!scope.row.canEdit" type="text" :disabled="scope.row.detailExistState"
                    @click="scope.row.canEdit = true">编辑</el-button> -->
                  <!-- <el-button v-show="scope.row.canEdit" type="text" :disabled="scope.row.detailExistState"
                    @click="updateMaterial(scope.row)">保存</el-button> -->
                  <el-button type="text" :disabled="scope.row.detailExistState"
                    @click="delMaterial(scope.row)">删除</el-button>
                </template>
              </el-table-column>
            </el-table>
          </div>
          <div
            style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;"
          >
          <div style="margin-top:10px;display:flex;height:36px;justify-content: space-between;align-items:center;">
            <div>
              <span style="font-weight:bold;">移库明细</span
              ><span style="color:red;"
                >({{
                  palletTransportsMaterialMultipleSelection.length > 0
                    ? palletTransportsMaterialMultipleSelection[
                        palletTransportsMaterialMultipleSelection.length - 1
                      ].partDesc
                    : ''
                }})</span
              >
              <span style="font-weight:bold;">移库明细</span>
              <!-- <span style="color:red;">({{
                palletTransportsMaterialMultipleSelection.length > 0
                ? palletTransportsMaterialMultipleSelection[
                  palletTransportsMaterialMultipleSelection.length - 1
                ].partDesc
                : ''
              }})</span> -->
            </div>
            <div>
              <el-button
                type="primary"
                v-if="permissions.warehouse_pallettransports_detail_add"
                round
                @click="openStockDialog"
                >添加明细</el-button
              >
              <el-button
                type="warning"
                v-if="permissions.warehouse_pallettransports_detail_library"
                round
                @click="openDetailLocationDialog"
                >一键至库位</el-button
              >
              <el-button
                type="success"
                v-if="permissions.warehouse_pallettransports_detail_execute"
                round
                @click="executeMove"
                >执 行</el-button
              >
              <el-button type="primary" v-if="permissions.warehouse_pallettransports_detail_add" round
                @click="getPalletTransportsDetailData">添加明细</el-button>
              <!-- <el-button type="warning" v-if="permissions.warehouse_pallettransports_detail_library" round
                @click="openDetailLocationDialog">一键至库位</el-button> -->
              <el-button type="success" v-if="permissions.warehouse_pallettransports_detail_execute" round
                @click="executeMove">执 行</el-button>
            </div>
          </div>
          <div>
            <el-table
              class="pallet-transports-detail-table"
              :data="palletTransportsDetailData"
              style="width: 100%;"
              v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }"
              height="100px"
              border
              @selection-change="palletTransportsDetailSelectionChange"
              stripe
              ref="palletTransportsDetailTable"
            >
            <el-table class="pallet-transports-detail-table" :data="palletTransportsDetailData" style="width: 100%;"
              v-adaptive="{ bottomOffset: 20, fixedHeight: 0 }" height="100px" border
              @selection-change="palletTransportsDetailSelectionChange" stripe ref="palletTransportsDetailTable">
              <el-table-column type="selection" width="55"> </el-table-column>
              <el-table-column
                prop="partNo"
                label="零件号"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="part_no" label="零件号" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="partDesc"
                label="零件描述"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="part_desc" label="零件描述" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="batchNo"
                label="批次号"
                align="center"
                show-overflow-tooltip
              >
              <!-- <el-table-column prop="batchNo" label="批次号" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column prop="wdr" label="WDR" align="center">
              </el-table-column> -->
              <el-table-column prop="operation_task_no" label="工单" align="center" show-overflow-tooltip>
              </el-table-column>
              <el-table-column
                prop="operationTaskNo"
                label="工单"
                align="center"
                show-overflow-tooltip
              >
              <el-table-column prop="transfer_quantity" label="移库数量" align="center">
                <template slot-scope="scope">
                  <el-input v-model="scope.row.transfer_quantity"  border="none"></el-input>
                </template>
              </el-table-column>
              <el-table-column
                prop="transferQuantity"
                label="移库数量"
                align="center"
              >
              </el-table-column>
              <el-table-column prop="unit" label="单位" align="center">
              </el-table-column>
              <el-table-column
                prop="fromIfsLocationNo"
                label="IFS从库位"
                align="center"
              >
              </el-table-column>
              <el-table-column
                prop="toIfsLocationNo"
                label="IFS至库位"
                align="center"
              >
                <template slot-scope="scope">
                  <el-link
                    type="primary"
                    @click="openSingleLocationDialog(scope.row)"
                    >{{ scope.row.toIfsLocationNo }}</el-link
                  >
                </template>
              <!-- <el-table-column prop="fromIfsLocationNo" label="IFS从库位" align="center">
              </el-table-column> -->
              <el-table-column prop="to_ifs_location_no" label="移至库位" align="center">
                <!-- <template slot-scope="scope">
                  <el-link type="primary" @click="openSingleLocationDialog(scope.row)">{{ scope.row.toIfsLocationNo
                  }}</el-link>
                </template> -->
              </el-table-column>
              <el-table-column prop="state" label="状态" align="center">
                <template slot-scope="scope">
                  <span>{{
                    scope.row.state == null
                      ? ''
                      : scope.row.state === '01initial'
                    ? ''
                    : scope.row.state === '01initial'
                      ? '已创建'
                      : '已执行'
                  }}</span>
                </template>
              </el-table-column>
              <el-table-column label="操作" align="center" width="85">
              <el-table-column label="操作" align="center" width="85" v-if="permissions.warehouse_pallettransports_detail_edit">
                <template slot-scope="scope">
                  <el-button
                    type="text"
                    @click="openEditStockDialog(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true"
                    >编辑</el-button
                  >
                  <el-button
                    type="text"
                    @click="delDetail(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true"
                    >删除</el-button
                  >
                  <!-- <el-button type="text" @click="openEditStockDialog(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true">编辑</el-button> -->
                  <el-button type="text" @click="delDetail(scope.row)"
                    :disabled="scope.row.state === '01initial' ? false : true">删除</el-button>
                </template>
              </el-table-column>
            </el-table>
@@ -344,44 +175,22 @@
        </el-col>
      </el-row>
      <!-- 弹窗, 新增 / 修改 -->
      <pallettransportsFormDialog
        :currshowlist.sync="showPallettransportsForm"
        :palletTransportsId="palletTransportsId"
        @refreshPalletTransports="getPallettransportsData"
      />
      <pallettransportsFormDialog :currshowlist.sync="showPallettransportsForm" :palletTransportsId="palletTransportsId"
        @refreshPalletTransports="getPallettransportsData" />
      <!-- 弹窗, 零件列表 -->
      <partDialog
        :currshowlist.sync="showPart"
        @listenToPartEvent="selectPartCallback"
      />
      <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPartCallback" />
      <!-- 弹窗, IFS库位列表 -->
      <ifsLocationDialog
        :currshowlist.sync="showLocation"
        :transportsList="palletTransportsMaterialMultipleSelection"
        @refreshDataList="selectLocationCallback"
      />
      <ifsLocationDialog :currshowlist.sync="showLocation" :transportsList="palletTransportsMaterialMultipleSelection"
        @refreshDataList="selectLocationCallback" />
      <!-- 弹窗, IFS库存列表 -->
      <ifsStockDialog
        :currshowlist.sync="showStock"
        :materialRow="materialRow"
        :transportsRow="currPalletTransportsRow"
        :optask="currOptask"
        @refreshDataList="addIfsStockCallback"
      />
      <ifsStockDialog :currshowlist.sync="showStock" :materialRow="materialRow" :transportsRow="currPalletTransportsRow"
        :optask="currOptask" @refreshDataList="addIfsStockCallback" />
      <!-- 弹窗, 编辑IFS库存列表 -->
      <detailIfsStockDialog
        :currshowlist.sync="showDetailStock"
        :materialRow="materialRow"
        :transportsRow="currPalletTransportsRow"
        :detailRow="currDetailRow"
        @refreshDataList="addIfsStockCallback"
      />
      <detailIfsStockDialog :currshowlist.sync="showDetailStock" :materialRow="materialRow"
        :transportsRow="currPalletTransportsRow" :detailRow="currDetailRow" @refreshDataList="addIfsStockCallback" />
      <!-- 弹窗, 明细的IFS库位列表 -->
      <detailIfsLocationDialog
        :currshowlist.sync="showDetailLocation"
        :detailList="detailList"
        @refreshDataList="selectDetailLocationCallback"
      />
      <detailIfsLocationDialog :currshowlist.sync="showDetailLocation" :detailList="detailList"
        @refreshDataList="selectDetailLocationCallback" />
    </basic-container>
  </div>
</template>
@@ -395,7 +204,8 @@
  delPalletTransportsMaterialObj,
  palletTransportsDetailFetchList,
  delPalletTransportsDetailObj,
  executeMoveLocation
  executeMoveLocation,
  selectAll,
} from '@/api/warehouse/pallettransports'
import { getByPalletTransId } from '@/api/plan/operationtask'
import ttable from '@/views/common/ztt-table.vue'
@@ -407,10 +217,11 @@
import detailIfsLocationDialog from './detail-ifslocation-form'
import adaptive from '@/util/adaptive'
import { mapGetters } from 'vuex'
import { saveBatchPalletTransportsDetail } from '@/api/warehouse/pallettransports'
export default {
  data() {
    return {
      partDesc: null,
      ajaxFun: palletTransportsFetchList,
      currPalletTransportsRow: null,
      palletTransportsMaterialMultipleSelection: [],
@@ -420,6 +231,8 @@
        isShow: false,
        url: ''
      },
      WorkOrder:{},
      datalistAPI:'',
      prelang: 'pallettransports',
      options: {
        height: 300, // 默认高度-为了表头固定
@@ -501,14 +314,7 @@
          }
        ],
        toolbar: [],
        operator: [
          {
            text: '删除',
            type: 'text',
            size: 'small',
            fun: this.deleteHandle
          }
        ],
        operator: null,
        operatorConfig: {
          fixed: 'right',
          label: '操作',
@@ -530,6 +336,7 @@
      detailList: [],
      palletTransportsOptaskData: [],
      currOptask: null,
      cid:null,
      stateOptions: [
        { value: 'draft', label: '草稿' },
        { value: 'processing', label: '进行中' },
@@ -552,8 +359,92 @@
  computed: {
    ...mapGetters(['permissions'])
  },
  created() {},
  watch:{
    // palletTransportsMaterialMultipleSelection(newVal){
    //   if(newVal.length>0){
    //     this.palletTransportsMaterialSelectionChange(newVal)
    //   }else{
    //     this.palletTransportsDetailData = []
    //   }
    // }
  },
  created() {
     if(this.permissions.warehouse_pallettransports_edit){
        this.table.operator = [
          {
            text: '删除',
            type: 'text',
            size: 'small',
            fun: this.deleteHandle
          }
        ]
     }
   },
  methods: {
    palletTransportsChange(val) {
      this.cid = val.id
      this.currPalletTransportsRow = val
      if (this.currPalletTransportsRow) {
        this.getPalletTransportsMaterialData()
        this.getOptasks()
        this.palletTransportsMaterialSelectionChange(val)
      }
    },
    palletTransportsMaterialSelectionChange() {
      if(this.cid){
        selectAll({transportsId:this.cid}).then((res)=>{
          console.log(res.data.data);
              this.palletTransportsDetailData = res.data.data.map(el =>{
                return{
                  part_no:el.partNo,
                  part_desc:el.partDesc,
                  operation_task_no:el.operationTaskNo,
                  transfer_quantity:el.transferQuantity,
                  unit:el.unit,
                  to_ifs_location_no:el.toIfsLocationName,
                  state:el.state,
                  id:el.id,
                }
              })
        })
        }
      // this.palletTransportsMaterialMultipleSelection = val
      // if(val && val.length>0){
      //   let ids =[]
      //   this.palletTransportsMaterialMultipleSelection.forEach(el =>{ids.push(el.id)})
      //   let pId = ids[ids.length - 1];
      //   if(pId!=null){
      //     selectAll({
      //       transportsId:this.currPalletTransportsRow.id,
      //         transportsMaterialId: pId
      //       }).then((res) =>{
      //         this.palletTransportsDetailData = []
      //         if(res.data.data){
      //           this.palletTransportsDetailData.push(res.data.data)
      //         }
      //         })
      //      }else{
      //       this.palletTransportsDetailData = []
      //      }
      // }
    },
             // 单行选中
         handleCurrentChange(row) {
        console.log(row,"--->1");
        this.palletTransportsMaterialMultipleSelection = row
               // this.palletTransportsMaterialData.forEach((item) => {
               //    // 排他,每次选择时把其他选项都清除
               //    if (item.id !== row.id) {
               //       item.commonChecked = false
               //    }else{
          //     item.commonChecked = true
          //   }
               // })
          // this.palletTransportsMaterialSelectionChange([row])
          // this.palletTransportsDetailData = data
         },
    // 工艺类型中文格式化
    formatStateType(row, column, cellValue) {
      this.stateOptions.forEach((obj) => {
@@ -602,7 +493,8 @@
                unit: item.unit,
                transportsId: item.transportsId,
                detailExistState: item.detailExistState,
                canEdit: false
                canEdit: false,
                commonChecked: false
              }
              this.palletTransportsMaterialData.push(palletTransportsMaterial)
            })
@@ -624,31 +516,6 @@
        }
      })
    },
    // 获取移库明细数据列表
    getPalletTransportsDetailData() {
      this.palletTransportsDetailData = []
      if (this.palletTransportsMaterialMultipleSelection.length > 0) {
        const currPalletTransportsMaterial = this
          .palletTransportsMaterialMultipleSelection[
          this.palletTransportsMaterialMultipleSelection.length - 1
        ]
        const queryParam = Object.assign(
          {
            current: 1,
            size: 200
          },
          {
            transportsMaterialId: currPalletTransportsMaterial.id
          }
        )
        palletTransportsDetailFetchList(queryParam).then((response) => {
          const resData = response.data
          if (resData.code === 0) {
            this.palletTransportsDetailData = resData.data.records
          }
        })
      }
    },
    // 新增 / 修改
    addOrUpdateHandle(row) {
      if (row != null) {
@@ -666,7 +533,7 @@
        closeOnClickModal: false,
        type: 'warning'
      })
        .then(function() {
        .then(function () {
          return delPalletTransportsObj(row.id)
        })
        .then((data) => {
@@ -675,7 +542,7 @@
          this.palletTransportsMaterialData = []
          this.palletTransportsDetailData = []
        })
        .catch(() => {})
        .catch(() => { })
    },
    // 打开零件列表
    openPartDialog() {
@@ -718,12 +585,10 @@
    openLocationDialog() {
      if (this.palletTransportsMaterialMultipleSelection.length > 0) {
        let flag = true
        console.log(this.palletTransportsMaterialMultipleSelection)
        this.palletTransportsMaterialMultipleSelection.forEach((item) => {
          if (item.detailExistState) {
            flag = false
          }
          console.log(item.detailExistState)
        })
        if (flag) {
          this.showLocation = true
@@ -776,22 +641,51 @@
        }
      })
    },
    // 打开ifs物料库存列表
    openStockDialog() {
      if (this.palletTransportsMaterialMultipleSelection.length > 0) {
        this.showStock = true
      } else {
        this.$message.error('请先选择物料需求')
      }
    // 获取移库明细数据列表
    getPalletTransportsDetailData() {
      let transportsDetails =[]
      console.log(this.palletTransportsMaterialMultipleSelection,"----+");
      transportsDetails = this.palletTransportsMaterialMultipleSelection.map(el =>{
        return{
          partNo:el.partNo,
          partDesc: el.partDesc,
          transferQuantity: el.surplusQuantity,
          toIfsLocationNo:el.toIfsLocationNo,
          toIfsLocationName: el.toIfsLocationName,
          transportsId: el.transportsId,
          transportsMaterialId:el.id,
          operationTaskNo:this.WorkOrder.optaskNo,
          operationTaskId:this.WorkOrder.id,
          unit: el.unit,
        }})
      // this.palletTransportsDetailData = transportsDetails
      if (transportsDetails.length > 0) {
        let selectionList = this.palletTransportsMaterialMultipleSelection
          saveBatchPalletTransportsDetail(transportsDetails)
            .then((response) => {
              const resData = response.data
              if (resData.code === 0) {
                this.innerVisible = false
                this.$message.success('添加移库明细成功')
                let materialRow = selectionList[selectionList.length - 1]
                this.palletTransportsMaterialData.forEach(ele=>{
                  if(ele.id==materialRow.id){
                      ele.transferQuantity = materialRow.surplusQuantity
                      ele.surplusQuantity = 0
                  }
                })
              } else {
                this.$message.error('添加移库明细失败')
              }
              // this.getPalletTransportsMaterialData()
              this.palletTransportsMaterialSelectionChange()
            })
            // .catch(() => {
            // })
        }
    },
    // 添加ifs物料库存回调
    addIfsStockCallback() {
      // 刷新物料需求、刷新移库明细
      // this.getPalletTransportsMaterialData()
      // 刷新货盘运输任务列表
      // if (this.showStock) {
      // this.getPallettransportsData()
      // }
      const currRow = this.currPalletTransportsRow
      this.getPallettransportsData().then(() => {
        if (currRow) {
@@ -823,24 +717,22 @@
      if (row.state === '01initial') {
        this.detailList = []
        this.detailList.push(row)
        this.showDetailLocation = true
        // this.showDetailLocation = true
      } else {
        this.$message.error('移库明细已执行')
      }
    },
    // 删除移库明细
    delDetail(row) {
      /* const delRow = this.palletTransportsDetailData.find((item) => {
       const delRow = this.palletTransportsDetailData.find((item) => {
        return item.id === row.id
      }) */
      })
      delPalletTransportsDetailObj(row.id).then((response) => {
        const resData = response.data
        if (resData.code === 0) {
          // const findRowIndex = this.palletTransportsDetailData.indexOf(delRow)
          // this.palletTransportsDetailData.splice(findRowIndex, 1)
          const findRowIndex = this.palletTransportsDetailData.indexOf(delRow)
          this.palletTransportsDetailData.splice(findRowIndex, 1)
          this.$message.success('移库明细删除成功')
          // this.getPalletTransportsMaterialData()
          const currRow = this.currPalletTransportsRow
          this.getPallettransportsData().then(() => {
            if (currRow) {
@@ -866,12 +758,14 @@
            flag = false
          }
        })
        console.log("-----------",flag,ids);
        if (flag) {
          executeMoveLocation(ids).then((response) => {
            const resData = response.data
            if (resData.code === 0) {
              this.$message.success('执行成功')
              // this.getPalletTransportsMaterialData()
              this.palletTransportsDetailData=[]
              const currRow = this.currPalletTransportsRow
              this.getPallettransportsData().then(() => {
                if (currRow) {
@@ -897,27 +791,8 @@
      this.currDetailRow = row
      this.showDetailStock = true
    },
    palletTransportsChange(val) {
      this.currPalletTransportsRow = val
      if (this.currPalletTransportsRow) {
        this.getPalletTransportsMaterialData()
        this.getOptasks()
      }
    },
    palletTransportsMaterialSelectionChange(val) {
      this.palletTransportsMaterialMultipleSelection = val
      if (this.palletTransportsMaterialMultipleSelection.length > 0) {
        const currPalletTransportsMaterial = this
          .palletTransportsMaterialMultipleSelection[
          this.palletTransportsMaterialMultipleSelection.length - 1
        ]
        this.materialRow = currPalletTransportsMaterial
      } else {
        this.materialRow = null
      }
      this.getPalletTransportsDetailData()
    },
    palletTransportsDetailSelectionChange(val) {
      console.log(val,"-=-=-=");
      this.palletTransportsDetailMultipleSelection = val
    },
    getOptasks() {
@@ -932,6 +807,7 @@
      })
    },
    optaskRowClick(row, column) {
      this.WorkOrder = row
      this.palletTransportsOptaskData.forEach((item) => {
        if (row.id !== item.id) {
          item.commonChecked = false
@@ -951,57 +827,59 @@
}
</script>
<style scoped>
.pallet-transports-material-table >>> .el-table__header th {
.pallet-transports-material-table>>>.el-table__header th {
  color: #666666;
}
.pallet-transports-material-table >>> th {
.pallet-transports-material-table>>>th {
  padding: 3px 0px;
  height: 31px;
}
.pallet-transports-material-table >>> td {
.pallet-transports-material-table>>>td {
  padding: 1px 0 0 0;
}
.pallet-transports-detail-table >>> .el-table__header th {
.pallet-transports-detail-table>>>.el-table__header th {
  color: #666666;
}
.pallet-transports-detail-table >>> th {
.pallet-transports-detail-table>>>th {
  padding: 3px 0px;
  height: 31px;
}
.pallet-transports-detail-table >>> td {
.pallet-transports-detail-table>>>td {
  padding: 1px 0 0 0;
}
.pallet-transports-optask-table >>> .el-table__header th {
.pallet-transports-optask-table>>>.el-table__header th {
  color: #666666;
}
.pallet-transports-optask-table >>> th {
.pallet-transports-optask-table>>>th {
  padding: 3px 0px;
  height: 31px;
}
.pallet-transports-optask-table >>> td {
.pallet-transports-optask-table>>>td {
  padding: 1px 0 0 0;
}
.optask-table-single-checkbox
  >>> .el-checkbox__input.is-disabled.is-checked
  .el-checkbox__inner {
.optask-table-single-checkbox>>>.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
  background-color: #006eff;
  border-color: #006eff;
}
.optask-table-single-checkbox
  >>> .el-checkbox__input.is-disabled
  .el-checkbox__inner {
.optask-table-single-checkbox>>>.el-checkbox__input.is-disabled .el-checkbox__inner {
  background-color: #ffffff;
  cursor: pointer;
}
.optask-table-single-checkbox >>> .el-checkbox__inner::after {
.optask-table-single-checkbox>>>.el-checkbox__inner::after {
  border: 1px solid #fff !important;
  border-left: 0 !important;
  border-top: 0 !important;
  cursor: pointer !important;
}
</style>
</style>