qushaowei
2023-08-29 dc958126a95a7ccd46d90a1ca42eeb03789f9c33
src/views/eam/modules/specialtyMaintenanceOrder/ActualMaterialEditTable.vue
@@ -42,18 +42,36 @@
        slot='action'
        slot-scope='text, record'
      >
        <a-popconfirm title="确认锁料吗?" @confirm="() => handleLock(record)">
            <a v-if="record.isLock=='no'&&specialyMaintenanceOrderStatus=='4'">锁料</a>
        <a-popconfirm
          title="确认锁料吗?"
          @confirm="() => handleLock(record)"
        >
          <a
            v-has="'specialtyMaintenanceOrder:actualMaterialLock'"
            v-if="record.isLock=='no'&&specialyMaintenanceOrderStatus=='4'"
          >锁料</a>
        </a-popconfirm>
        <a-divider
        v-if="record.isLock=='no'"
            type="vertical"
          />
        <a-popconfirm title="解锁后会自动释放库存,确认解锁吗?" @confirm="() => handleUnLock(record)">
            <a v-if="record.isLock=='yes'&&specialyMaintenanceOrderStatus=='4'">解锁</a>
          v-if="record.isLock=='no'"
          type="vertical"
        />
        <a-popconfirm
          title="解锁后会自动释放库存,确认解锁吗?"
          @confirm="() => handleUnLock(record)"
        >
          <a
            v-has="'specialtyMaintenanceOrder:actualMaterialLock'"
            v-if="record.isLock=='yes'&&specialyMaintenanceOrderStatus=='4'"
          >解锁</a>
        </a-popconfirm>
        <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
            <a v-if="record.isLock=='no'&&specialyMaintenanceOrderStatus=='4'">删除</a>
        <a-popconfirm
          title="确定删除吗?"
          @confirm="() => handleDelete(record.id)"
        >
          <a
            v-has="'specialtyMaintenanceOrder:actualMaterialDelete'"
            v-if="record.isLock=='no'&&specialyMaintenanceOrderStatus=='4'"
          >删除</a>
        </a-popconfirm>
      </span>
    </a-table>
@@ -63,6 +81,7 @@
      icon="plus"
      @click="addMaterial"
      :disabled="specialyMaintenanceOrderStatus!='4'"
      v-has="'specialtyMaintenanceOrder:actualMaterialAdd'"
    >添加实际用料</a-button>
    <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
      <a-row :style="{textAlign:'right'}">
@@ -91,8 +110,7 @@
      @sendMaterialRecord="sendMaterialRecord"
    >
    </actual-material-select>
    <j-select-spare-part-modal
      ref='JSelectSparePartModal'></j-select-spare-part-modal>
    <j-select-spare-part-modal ref='JSelectSparePartModal'></j-select-spare-part-modal>
  </a-card>
</template>
<script>
@@ -175,7 +193,7 @@
      loading: false,
      dataSource: [],
      columns: [
      {
        {
          title: '领料出库单',
          dataIndex: 'num',
          align: "center",
@@ -244,9 +262,9 @@
        list: "/eam/maintenanceOrderActualMaterial/getMaintenanceOrderActualMaterialList",
        confirmMaterial: "/eam/maintenanceOrderActualMaterial/add",
        delete: "/eam/maintenanceOrderActualMaterial/delete",
        addInit:"/eam/maintenanceOrderActualMaterial/addInit",
        lock:"/eam/maintenanceOrderActualMaterial/lock",
        unLock:"/eam/maintenanceOrderActualMaterial/unLock"
        addInit: "/eam/maintenanceOrderActualMaterial/addInit",
        lock: "/eam/maintenanceOrderActualMaterial/lock",
        unLock: "/eam/maintenanceOrderActualMaterial/unLock"
      },
      changeIndex: 0
    }
@@ -347,7 +365,7 @@
      const target = temp[index]
      let availableQuantity = target['availableQuantity']
      if (target) {
        if (value!=undefined&& value!=null&& value!=''&&availableQuantity < value) {
        if (value != undefined && value != null && value != '' && availableQuantity < value) {
          this.$message.error('使用数量不能大于可用数量!')
        } else {
        }
@@ -378,48 +396,48 @@
      this.dataSource = [];
      this.ipagination.current = 1
    },
    getUuiD(randomLength){
    getUuiD(randomLength) {
      return Number(
        Math.random()
          .toString()
          .substr(2, randomLength) + Date.now()
      ).toString(36)
    },
    handleLock(record){
    handleLock(record) {
      let that = this;
      if(record.quantity==null||record.quantity==undefined||record.quantity==''){
      if (record.quantity == null || record.quantity == undefined || record.quantity == '') {
        this.$message.error('请先填写数量!');
        return false
      }
      if(record.availableQuantity<record.quantity){
      if (record.availableQuantity < record.quantity) {
        this.$message.error('使用数量不能大于可用数量!');
        return false;
      }
      this.confirmLoading = true;
      postAction(this.url.lock,record).then(res=>{
        if(res.success){
           this.$message.success("库存锁定成功!")
        }else{
           this.$message.error(res.message)
      postAction(this.url.lock, record).then(res => {
        if (res.success) {
          this.$message.success("库存锁定成功!")
        } else {
          this.$message.error(res.message)
        }
      }).finally(res=>{
            that.confirmLoading = false
            that.loadData();
      }).finally(res => {
        that.confirmLoading = false
        that.loadData();
      })
    },
    handleUnLock(record){
    handleUnLock(record) {
      let that = this;
      this.confirmLoading = true;
      postAction(this.url.unLock,record).then(res=>{
        if(res.success){
           this.$message.success("库存解锁成功!")
        }else{
           this.$message.error(res.message)
      postAction(this.url.unLock, record).then(res => {
        if (res.success) {
          this.$message.success("库存解锁成功!")
        } else {
          this.$message.error(res.message)
        }
      }).finally(res=>{
            that.confirmLoading = false
            that.loadData();
      }).finally(res => {
        that.confirmLoading = false
        that.loadData();
      })
    },
    loadData(arg) {
@@ -459,44 +477,44 @@
    let newActualMaterials = [];
    this.$bus.$on('selectionRows', (data) => {
      for (let i = 0; i < data.length; i++) {
        var actualMaterial
        =
        var actualMaterial
          =
        {
          id: this.getUuiD(16),
          num: data[i].num,
          outboundOrderDetailId:data[i].id,
          sparePartId:data[i].sparePartId,
          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,
          mainQuantity:data[i].mainQuantity,
          useQuantity:data[i].useQuantity,
          availableQuantity:data[i].availableQuantity,
          maintenanceOrderId:this.specialyMaintenanceOrderId,
          equipmentId :this.equipmentId,
          isLock:'no'
          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) => {
            if (res.success) {
              that.$message.success(res.message)
              that.$emit('ok')
            } else {
              that.$message.warning(res.message)
            }
          }).finally(res=>{
            that.loadData();
            newActualMaterials = []
          })
      let that = this
      let obj = obj = postAction(this.url.addInit, newActualMaterials)
      obj.then((res) => {
        if (res.success) {
          that.$message.success(res.message)
          that.$emit('ok')
        } else {
          that.$message.warning(res.message)
        }
      }).finally(res => {
        that.loadData();
        newActualMaterials = []
      })
    })
  },