廖井涛
2025-07-21 4b15732ea08d8a75c07cef37f180289e73932783
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/CreateOutBound.vue
@@ -74,6 +74,8 @@
  warehouseManager:userStore.user.userName
})
let userNameCutting = ref([])
let filterData = ref({
@@ -111,7 +113,6 @@
    if (res.code == 200) {
      titleSelectJson.value = deepClone(res.data)
      console.log("a"+titleSelectJson.value)
      const today = new Date
      today.setTime(today.getTime())
      titleUploadData.value.materialRequisitionDate = today.getFullYear() +
@@ -123,6 +124,18 @@
    }
  })
}
const initUser = async ()=> {
  await request.get(`/BasicWarehouse/BasicWarehouseTypeUser/` + t('machine.cutting')).then((res) => {
    if (res.code == 200) {
      userNameCutting.value=res.data.userName
    } else {
      ElMessage.warning(res.msg)
    }
  })
}
//列查询
const getWork = async ()=> {
  await request.get(`/BasicWarehouse/BasicWarehouseType/`+t('ingredients.originalFilm')+'|'+t('ingredients.accessories')).then((res) => {
@@ -156,6 +169,8 @@
onMounted(async()=>{
  await initOrder()
  await initUser()
  //启用表格拖动选中
  addListener(xGrid.value,gridOptions,cellArea.value)
@@ -170,7 +185,6 @@
      request.post("/materialInventory/getSelectMaterialInventory/1/100",filterData.value).then((res) => {
        if(res.code==200){
          console.log("b"+titleSelectJson.value)
          titleUploadData.value.warehouseManager=userStore.user.userName
          titleUploadData.value.outboundType = titleSelectJson.value.outboundType[0].operateTypeName
          materialStore.value=[]
@@ -380,6 +394,46 @@
          })
          break
        }
        case 'addToExamine': {
          const selectRecords = $grid.getCheckboxRecords()
          if (selectRecords.length === 0) {
            ElMessage.warning(t('productStock.unselectedData'))
            return
          }
          const errMap = await $grid.validate(selectRecords)
          if (errMap) {
            ElMessage.warning(t('productStock.dataVerificationFailed'))
            return
          }
          //表头数据校验
          const outboundType = titleUploadData.value.outboundType
          if(outboundType === null || outboundType === undefined || outboundType === ''){
            ElMessage.error(t('ingredientsStock.pleaseOutboundType'))
            return
          }
          let flowData = ref({
            materialOutboundDetail: selectRecords,
            title: titleUploadData.value,
            materialOutboundId: route.query.materialOutboundId,
            userName:userStore.user.userName,
            userId:userStore.user.userId
          })
          request.post("/materialInventory/saveToExamineMaterialOutbound", flowData.value).then((res) => {
            if(res.code==200 && res.data==="true"){
              ElMessage.success(t('basicData.msg.saveSuccess'))
              router.push({path: '/main/ingredientsStock/MaterialOutbound', query:{random:Math.random()}})
            }else if(res.data==="false1"){
              ElMessage.warning(t('basicData.msg.quantityError'))
            }else{
              ElMessage.warning(t('basicData.msg.saveFail'))
            }
          }).catch((err)=>{
            ElMessage.error(t('basicData.msg.ServerConnectionError'))
            router.push("/login")
          })
          break
        }
      }
    }
@@ -459,7 +513,8 @@
    buttons: [
      {'code': 'add', 'name': t('basicData.save'),status: 'primary',icon: 'vxe-icon-save'},
      {'code': 'toExamine', 'name': t('basicData.review'),status: 'primary'},
      {'code': 'CounterExamination', 'name': t('basicData.cancelReview'),status: 'primary'}
      {'code': 'CounterExamination', 'name': t('basicData.cancelReview'),status: 'primary'},
      {'code': 'addToExamine', 'name': t('reportingWorks.saveAndReview'),status: 'primary',icon: 'vxe-icon-save'},
    ],
    /*import: false,
    export: true,
@@ -548,7 +603,14 @@
            :placeholder="$t('delivery.selectDate')"/>
      </el-col>
      <el-col  :span="2"><el-text>{{$t('ingredientsStock.materialRequisitionPersonnel')}}:</el-text></el-col>
      <el-col  :span="3"><el-input v-model="titleUploadData.materialRequisitionPersonnel" /></el-col>
      <el-col  :span="3">
        <el-select v-model="titleUploadData.materialRequisitionPersonnel" clearable placeholder=" " >
          <el-option v-for="item in userNameCutting"
                     :key="item.id"
                     :label="item"
                     :value="item"/>
        </el-select>
      </el-col>
      <el-col  :span="2"><el-text>{{$t('ingredientsStock.materialRequisitionTeam')}}:</el-text></el-col>
      <el-col  :span="3"><el-input v-model="titleUploadData.materialRequisitionTeam" /></el-col>
      <el-col  :span="2"><el-text>{{$t('ingredientsStock.outboundType')}}:</el-text></el-col>