“linengliang”
2023-09-18 2e3a185dce148c14051f96892841614b28e72d86
src/views/eam/modules/specialtyMaintenanceOrder/ActualMaterialEditTable.vue
@@ -11,6 +11,7 @@
      :dataSource="dataSource"
      :pagination="ipagination"
      @change="handleTableChange"
      :loading="loading"
    >
      <template
@@ -105,12 +106,10 @@
      </a-row>
      <!-- :disabled="false" -->
    </div>
    <actual-material-select
      ref="actualMaterialSelect"
      @sendMaterialRecord="sendMaterialRecord"
    >
    <actual-material-select ref="actualMaterialSelect" >
      <!-- @sendMaterialRecord="sendMaterialRecord" -->
    </actual-material-select>
    <j-select-spare-part-modal ref='JSelectSparePartModal'></j-select-spare-part-modal>
    <j-select-spare-part-modal ref='JSelectSparePartModal' @getSelectRows="getSelectRows"></j-select-spare-part-modal>
  </a-card>
</template>
<script>
@@ -266,7 +265,8 @@
        lock: "/eam/maintenanceOrderActualMaterial/lock",
        unLock: "/eam/maintenanceOrderActualMaterial/unLock"
      },
      changeIndex: 0
      changeIndex: 0,
      loading:false,
    }
  },
  watch: {
@@ -274,26 +274,26 @@
      immediate: true,
      handler(val) {
        this.clearList();
        this.queryParam['maintenanceOrderId'] = val
        this.queryParam['equipmentId'] = this.equipmentId
        // this.queryParam['maintenanceOrderId'] = val
        // this.queryParam['equipmentId'] = this.equipmentId
        this.loadData(1);
      }
    },
    equipmentId: {
      immediate: true,
      handler(val) {
        this.clearList();
        this.queryParam['maintenanceOrderId'] = this.specialyMaintenanceOrderIdmaintenanceOrderId
        this.queryParam['equipmentId'] = val
        this.loadData(1);
      }
    }
    // equipmentId: {
    //   immediate: true,
    //   handler(val) {
    //     this.clearList();
    //     this.queryParam['maintenanceOrderId'] = this.specialyMaintenanceOrderIdmaintenanceOrderId
    //     this.queryParam['equipmentId'] = val
    //     this.loadData(1);
    //   }
    // }
  },
  created() {
    this.queryParam['maintenanceOrderId'] = this.specialyMaintenanceOrderId;
    this.queryParam['equipmentId'] = this.equipmentId
    this.loadData(1);
  },
  // created() {
  //   this.queryParam['maintenanceOrderId'] = this.specialyMaintenanceOrderId;
  //   this.queryParam['equipmentId'] = this.equipmentId
  //   this.loadData(1);
  // },
  methods: {
    addMaterial() {
      let ids = [];
@@ -378,31 +378,31 @@
      this.$refs.actualMaterialSelect.list()
      this.$refs.actualMaterialSelect.title = '物料选择'
    },
    sendMaterialRecord(data, val) {
      let record = data.record
      const temp = [...this.dataSource]
      const target = temp[this.recordIndex]
      if (target) {
        target.materialId = record.id;
        target.materialName = record.name;
        target.materialNum = record.num;
        target.materialModel = record.model;
        target.materialSpecification = record.specification;
        target.unitId_dictText = record.unitId_dictText;
        this.dataSource = temp
      }
    },
    // sendMaterialRecord(data, val) {
    //   let record = data.record
    //   const temp = [...this.dataSource]
    //   const target = temp[this.recordIndex]
    //   if (target) {
    //     target.materialId = record.id;
    //     target.materialName = record.name;
    //     target.materialNum = record.num;
    //     target.materialModel = record.model;
    //     target.materialSpecification = record.specification;
    //     target.unitId_dictText = record.unitId_dictText;
    //     this.dataSource = temp
    //   }
    // },
    clearList() {
      this.dataSource = [];
      this.ipagination.current = 1
    },
    getUuiD(randomLength) {
      return Number(
        Math.random()
          .toString()
          .substr(2, randomLength) + Date.now()
      ).toString(36)
    },
    // getUuiD(randomLength) {
    //   return Number(
    //     Math.random()
    //       .toString()
    //       .substr(2, randomLength) + Date.now()
    //   ).toString(36)
    // },
    handleLock(record) {
      let that = this;
      if (record.quantity == null || record.quantity == undefined || record.quantity == '') {
@@ -413,7 +413,7 @@
        this.$message.error('使用数量不能大于可用数量!');
        return false;
      }
      this.confirmLoading = true;
      this.loading = true;
      postAction(this.url.lock, record).then(res => {
        if (res.success) {
          this.$message.success("库存锁定成功!")
@@ -421,14 +421,14 @@
          this.$message.error(res.message)
        }
      }).finally(res => {
        that.confirmLoading = false
        that.loading = false
        that.loadData();
      })
    },
    handleUnLock(record) {
      let that = this;
      this.confirmLoading = true;
      this.loading = true;
      postAction(this.url.unLock, record).then(res => {
        if (res.success) {
          this.$message.success("库存解锁成功!")
@@ -436,7 +436,7 @@
          this.$message.error(res.message)
        }
      }).finally(res => {
        that.confirmLoading = false
        that.loading = false
        that.loadData();
      })
    },
@@ -472,50 +472,47 @@
          this.loading = false
        })
    },
  },
  mounted() {
    let newActualMaterials = [];
    this.$bus.$on('selectionRows', (data) => {
    getSelectRows(data){
      let newActualMaterials = [];
      for (let i = 0; i < data.length; i++) {
        var actualMaterial
          =
        {
          id: this.getUuiD(16),
          num: data[i].num,
        newActualMaterials.push({
          // id: this.getUuiD(16),
          // num: data[i].num,
          outboundOrderDetailId: data[i].id,
          sparePartId: data[i].sparePartId,
          sparePartNum: data[i].spareNum,
          sparePartName: data[i].spareName,
          specification: data[i].specification,
          model: data[i].model,
          constructorName: data[i].constructorName,
          constructorId: data[i].constructorId,
          mainUnitName: data[i].mainUnitName,
          mainUnitId: data[i].mainUnitId,
          // sparePartNum: data[i].spareNum,
          // sparePartName: data[i].spareName,
          // specification: data[i].specification,
          // model: data[i].model,
          // constructorName: data[i].constructorName,
          // constructorId: data[i].constructorId,
          // mainUnitName: data[i].mainUnitName,
          // mainUnitId: data[i].mainUnitId,
          mainQuantity: data[i].mainQuantity,
          useQuantity: data[i].useQuantity,
          availableQuantity: data[i].availableQuantity,
          maintenanceOrderId: this.specialyMaintenanceOrderId,
          equipmentId: this.equipmentId,
          isLock: 'no'
        }
        newActualMaterials.push(actualMaterial);
        })
      }
      let that = this
      let obj = obj = postAction(this.url.addInit, newActualMaterials)
      obj.then((res) => {
      postAction(this.url.addInit, newActualMaterials).then((res) => {
        if (res.success) {
          that.$message.success(res.message)
          that.$emit('ok')
        } else {
          that.$message.warning(res.message)
        }
      }).finally(res => {
        that.loadData();
        newActualMaterials = []
        that.loadData();
      })
    })
    }
  },
  mounted() {
  },
}