Fixiaobai
2023-12-06 6317d3b3cf91bad379cf72ee0bd8a595b8e24e77
src/views/warehouse/pallettransports/index.vue
@@ -52,10 +52,15 @@
            </div>
          </div>
          <div>
            <el-table class="pallet-transports-material-table" :data="palletTransportsMaterialData" style="width: 100%;"
            <el-table class="pallet-transports-material-table" :data="palletTransportsMaterialData" @current-change="handleCurrentChange" style="width: 100%;"
              height="350px" border @selection-change="palletTransportsMaterialSelectionChange" stripe
              ref="palletTransportsMaterialTable">
              <el-table-column type="selection" width="55"> </el-table-column>
                          <!--单选框-->
                  <el-table-column align="center"  label="单选">
                     <template slot-scope="scope">
                        <el-checkbox class="table-single-checkbox" v-model="scope.row.commonChecked" disabled></el-checkbox>
                     </template>
                  </el-table-column>
              <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>
@@ -78,10 +83,10 @@
              </el-table-column>
              <el-table-column label="操作" align="center" width="100">
                <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 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>
@@ -205,6 +210,7 @@
export default {
  data() {
    return {
      partDesc: null,
      ajaxFun: palletTransportsFetchList,
      currPalletTransportsRow: null,
      palletTransportsMaterialMultipleSelection: [],
@@ -348,8 +354,30 @@
  computed: {
    ...mapGetters(['permissions'])
  },
  watch:{
    palletTransportsMaterialMultipleSelection(newVal){
      if(newVal.length>0){
        this.palletTransportsMaterialSelectionChange(newVal)
      }else{
        this.palletTransportsDetailData = []
      }
    }
  },
  created() { },
  methods: {
           // 单行选中
      handleCurrentChange(row) {
            if (row != null) {
               this.palletTransportsMaterialData.forEach((item) => {
                  // 排他,每次选择时把其他选项都清除
                  if (item.id !== row.id) {
                     item.commonChecked = false
                  } else {
                     item.commonChecked = true
                  }
               })
            }
         },
    // 工艺类型中文格式化
    formatStateType(row, column, cellValue) {
      this.stateOptions.forEach((obj) => {
@@ -398,7 +426,8 @@
                unit: item.unit,
                transportsId: item.transportsId,
                detailExistState: item.detailExistState,
                canEdit: false
                canEdit: false,
                commonChecked: false
              }
              this.palletTransportsMaterialData.push(palletTransportsMaterial)
            })
@@ -549,8 +578,8 @@
    },
    // 获取移库明细数据列表
    getPalletTransportsDetailData() {
      console.log("对应工单",this.WorkOrder);
      console.log("物料需求",this.palletTransportsMaterialMultipleSelection);
      // console.log("对应工单",this.WorkOrder);
      // console.log("选中物料需求",this.palletTransportsMaterialMultipleSelection);
      let transportsDetails =[]
      transportsDetails = this.palletTransportsMaterialMultipleSelection.map(el =>{
        return{
@@ -567,17 +596,27 @@
        }})
      // 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('添加移库明细成功')
                this.MobileLibrary()
                this.$emit('refreshDataList')
                let materialRow = selectionList[selectionList.length - 1]
                console.log("materialRow-----",materialRow);
                this.palletTransportsMaterialData.forEach(ele=>{
                  if(ele.id==materialRow.id){
                    console.log("ele-------",ele);
                      ele.transferQuantity = materialRow.surplusQuantity
                      ele.surplusQuantity = 0
                  }
                })
              } else {
                this.$message.error('添加移库明细失败')
              }
              // this.getPalletTransportsMaterialData()
              this.palletTransportsMaterialSelectionChange(selectionList)
            })
            // .catch(() => {
            // })
@@ -585,12 +624,6 @@
    },
    // 添加ifs物料库存回调
    addIfsStockCallback() {
      // 刷新物料需求、刷新移库明细
      // this.getPalletTransportsMaterialData()
      // 刷新货盘运输任务列表
      // if (this.showStock) {
      // this.getPallettransportsData()
      // }
      const currRow = this.currPalletTransportsRow
      this.getPallettransportsData().then(() => {
        if (currRow) {
@@ -706,26 +739,26 @@
    },
    palletTransportsMaterialSelectionChange(val) {
      this.palletTransportsMaterialMultipleSelection = val
      let ids =[]
      this.palletTransportsMaterialMultipleSelection.forEach(el =>{ids.push(el.id)})
      let pId = ids[ids.length - 1];
      console.log(pId);
      this.palletTransportsDetailData = []
      this.datalistAPI = pId
      this.MobileLibrary()
    },
    MobileLibrary(){
      if(this.datalistAPI){
        selectAll({
            transportsId:this.currPalletTransportsRow.id,
            transportsMaterialId: this.datalistAPI
          }).then((res) =>{
            console.log(res);
            if(res.data.data){
              this.palletTransportsDetailData.push(res.data.data)
            }
            })
         }
      console.log(this.palletTransportsMaterialMultipleSelection);
      if(val && val.length>0){
        let ids =[]
        this.palletTransportsMaterialMultipleSelection.forEach(el =>{ids.push(el.id)})
        let pId = ids[ids.length - 1];
        console.log(pId);
        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 = []
           }
      }
    },
    palletTransportsDetailSelectionChange(val) {
      this.palletTransportsDetailMultipleSelection = val
@@ -742,7 +775,6 @@
      })
    },
    optaskRowClick(row, column) {
      console.log(row,222222222222222);
      this.WorkOrder = row
      this.palletTransportsOptaskData.forEach((item) => {
        if (row.id !== item.id) {