chenlu
2024-09-06 d809ecd16cbb23f5aad86a6844f51ffea0455fe8
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -14,6 +14,7 @@
import footSum from "@/hook/footSum";
import {changeFilterEvent,filterChanged} from "@/hook"
import companyInfo from "@/stores/sd/companyInfo";
import {multiply} from "@/utils/decimal";
//语言获取
const { t } = useI18n()
@@ -56,6 +57,7 @@
// 定义表头上传数据
let titleUploadData = ref({
  deliveryId:'',
  deliveryState:'',
  stockState:'',
  paymentTerms:'',
@@ -118,34 +120,37 @@
  },
})
const initOrder = async ()=> {
//页面第一次加载
request.get(`/basicData/BasicDataByType/delivery`).then((res) => {
  await request.get(`/basicData/BasicDataByType/delivery`).then((res) => {
  if(res.code==200){
    titleSelectJson.value=deepClone(res.data)
    //其他金额
    otherMoney.value = titleSelectJson.value.deliveryOtherMoney[0]
    //let columns = []
    otherMoney.value.forEach(item => {
      let column = {field: `otherColumns.${item.column}`,width:50,  title: item.alias,editRender: { name: 'input'}}
      //columns.push(column)
      gridOptions.columns.push(column)
    })
    const today = new Date
    today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000))
    titleUploadData.value.deliveryDate = today.getFullYear() +
        '-' + ("0" + (today.getMonth() + 1)).slice(-2)
        + '-' + ("0" + today.getDate()).slice(-2)
  }else{
    ElMessage.warning(res.msg)
  }
})
    if (res.code == 200) {
      titleSelectJson.value = deepClone(res.data)
      //其他金额
      otherMoney.value = titleSelectJson.value.deliveryOtherMoney[0]
      //let columns = []
      otherMoney.value.forEach(item => {
        let column = {field: `otherColumns.${item.column}`, width: 50, title: item.alias, editRender: {name: 'input'}}
        //columns.push(column)
        gridOptions.columns.push(column)
      })
      const today = new Date
      today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000))
      titleUploadData.value.deliveryDate = today.getFullYear() +
          '-' + ("0" + (today.getMonth() + 1)).slice(-2)
          + '-' + ("0" + today.getDate()).slice(-2)
    } else {
      ElMessage.warning(res.msg)
    }
  })
}
const  xGrid = ref();
const  number = ref();
onMounted(()=>{
onMounted( async()=>{
  await initOrder()
  //启用表格拖动选中
  addListener(xGrid.value,gridOptions,cellArea.value)
  //发货新增
@@ -163,6 +168,7 @@
        titleUploadData.value=deepClone(res.data.title)
        titleUploadData.value.paymentTerms = titleSelectJson.value.paymentTerms[0].basicName
        titleUploadData.value.payMethod = titleSelectJson.value.payMethod[0].basicName
        titleUploadData.value.deliveryId=""
        const today = new Date
        today.setTime(today.getTime() )
        titleUploadData.value.deliveryDate=today.getFullYear() +
@@ -205,7 +211,7 @@
      if(res.code==200){
        pageTotal.value=res.data.total
        titleUploadData.value=deepClone(res.data.delivery)
        titleUploadData.value.deliveryId=str
        //根据审核状态显示审核按钮或者是反审按钮
@@ -227,6 +233,9 @@
          item.otherColumns = JSON.parse(item.otherColumns)
        })
        otherMoney.value =res.data.orderOtherMoneyList
        titleUploadData.value.creator=userStore.user.userName
        titleUploadData.value.creatorId=userStore.user.userId
        xGrid.value.reloadData(orderDetails)
        xGrid.value.loadData(produceList)
@@ -289,6 +298,7 @@
  customConfig: {
    storage: true
  },
  checkboxConfig:{checkAll:true},
  mouseConfig:{selected: true},//鼠标选中
  keyboardConfig:{isArrow: true, isDel: true, isEnter: true, isTab: true, isEdit: true, isChecked: true},
  editConfig: {
@@ -315,8 +325,6 @@
    {field: 'price',width:120,  title: t('order.price'),editRender: { name: 'input' },filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'finishedGoodsInventory.storageRegion',width:120,  title: t('productStock.inventoryArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'deliveryDetail.money',width:120,  title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'width',width:120,  title: t('order.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'height',width:120,  title: t('order.height'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'order.batch',width:120,  title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'shape',width:120,  title: t('order.shape'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'finishedGoodsInventory.actualSignalArea',width:120,   title: t('productStock.singlePieceArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
@@ -414,11 +422,22 @@
          })
           request.post("/Delivery/insertDelivery", flowData.value).then((res) => {
             if(res.code==200 && res.data===true){
             if(res.code==200 && res.data==="true"){
               ElMessage.success(t('delivery.deliveryNoteSubmittedSuccessfully'))
               router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
             }else if(res.data===false){
               //router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
               if(titleUploadData.value.deliveryId.trim()===""){
                 router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
               }else{
                 router.push({path:'/main/delivery/createDelivery',query:{
                     deliveryID:titleUploadData.value.deliveryId,
                     random:Math.random()}})
               }
             }else if(res.data==="false1"){
               ElMessage.warning(t('delivery.pleaseMsg1'))
             }else if(res.data==="false2"){
               ElMessage.warning("订单存在已发货请刷新界面")
             }else if(res.data==="false3"){
               ElMessage.warning("数据不存在")
             }else{
               ElMessage.warning(t('basicData.msg.saveFail'))
             }
@@ -437,10 +456,12 @@
          request.post("/Delivery/updateDeliveryToExamine", flowData.value).then((res) => {
            if (res.code == 200 && res.data===true) {
              ElMessage.success(t('basicData.msg.ReviewSuccess'))
              router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
              //router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
              router.push({path:'/main/delivery/createDelivery',query:{
                  deliveryID:titleUploadData.value.deliveryId,
                  random:Math.random()}})
            } else {
              ElMessage.warning(t('basicData.msg.reviewFail'))
              router.push("/login")
            }
          }).catch((err)=>{
            ElMessage.error(t('basicData.msg.ServerConnectionError'))
@@ -457,10 +478,12 @@
          request.post("/Delivery/updateDeliveryToExamine", flowData.value).then((res) => {
            if (res.code == 200 && res.data===true) {
              ElMessage.success(t('basicData.msg.cancelReviewSuccess'))
              router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
              //router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}})
              router.push({path:'/main/delivery/createDelivery',query:{
                  deliveryID:titleUploadData.value.deliveryId,
                  random:Math.random()}})
            } else {
              ElMessage.warning(t('basicData.msg.reviewFail'))
              router.push("/login")
            }
          }).catch((err)=>{
            ElMessage.error(t('basicData.msg.ServerConnectionError'))
@@ -489,6 +512,10 @@
            }
            dataList.forEach((item,index) =>{
              if(index>=result.start && index<=result.end){
                //取消选中
                if(parseInt(firstVal)<=0){
                  xGrid.value.setCheckboxRow(item, false);
                }
                if(result.cell.indexOf('.')>-1){
                  const  columnArr = result.cell.split('.')
                  item[columnArr[0]][columnArr[1]]  = firstVal
@@ -541,7 +568,7 @@
            return new Error(t('delivery.theShipmentQuantityCannotBeGreaterThanTheInventoryQuantity'))
          }else if (e.row.deliveryDetail.quantity ==="") {
            return new Error(t('delivery.theShipmentQuantityCannotBeEmptyOr0'))
         }
          }
         const regex = /^[1-9]\d*$/g
         if ( !regex.test(e.row.deliveryDetail.quantity) ) {
           return new Error(t('productStock.pleaseEnterAPositiveInteger'))
@@ -562,6 +589,16 @@
  ],
})
const editClosedEvent = ({ row, column }) => {
  if (['deliveryDetail.quantity'].includes(column.property)) {
    if(parseInt(row.deliveryDetail.quantity)===0){
      xGrid.value.setCheckboxRow(row, false);
    }
  }
}
</script>
@@ -656,6 +693,7 @@
          v-bind="gridOptions"
          v-on="gridEvents"
          :edit-rules="validRules"
          @edit-closed="editClosedEvent"
      >
        <template #num1_filter="{ column, $panel }">