guoyuji
2024-05-07 fcd6de629c4f6b8d9e610da854f15ef40115b058
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
@@ -7,6 +7,10 @@
import VXETable from "vxe-table";
import useUserInfoStore from "@/stores/userInfo";
import {ElMessage} from "element-plus";
import { useI18n } from 'vue-i18n'
//语言获取
const { t } = useI18n()
const userStore = useUserInfoStore()
const username = userStore.user.userName
@@ -72,14 +76,21 @@
  }
})
let pageNum=ref(1)
let total = reactive({
  pageTotal : 0,
  dataTotal : 0,
  pageSize : 100
})
//第一次调用
request.post("/FinishedGoodsInventory/getseletwarehousing/1/100",filterData.value).then((res) => {
request.post(`/FinishedGoodsInventory/getSelectWarehousing/1/${total.pageSize}`,filterData.value).then((res) => {
  if(res.code==200){
    console.log(res.data)
    pageTotal.value=res.data.total
    pageNum=1
    total.dataTotal = res.data.total.total*1
    total.pageTotal= res.data.total.pageTotal
    pageNum.value=1
    produceList = deepClone(res.data.data)
    xGrid.value.loadData(produceList)
    gridOptions.loading=false
@@ -90,10 +101,7 @@
})
//定义页面总页数
let pageTotal=ref('')
//定义当前页数
let pageNum=$ref(1)
let pageState = null
/*使用筛选,后端获取数据*/
@@ -115,12 +123,12 @@
  }else{
    filterData.value[column.property] = value
  }
  request.post("/FinishedGoodsInventory/getseletwarehousing/1/100",filterData.value).then((res) => {
  request.post(`/FinishedGoodsInventory/getSelectWarehousing/1/${total.pageSize}`,filterData.value).then((res) => {
    if(res.code==200){
      console.log(res.data)
      pageTotal.value=res.data.total
      pageNum=1
      total.dataTotal = res.data.total.total*1
      total.pageTotal= res.data.total.pageTotal
      pageNum.value=1
      produceList = deepClone(res.data.data)
      xGrid.value.loadData(produceList)
      gridOptions.loading=false
@@ -130,6 +138,28 @@
    }
  })
}
const selectOrderList = ()=>{
  request.post(`/FinishedGoodsInventory/getSelectWarehousing/${pageNum.value}/${total.pageSize}`,filterData.value).then((res) => {
    if(res.code==200){
      produceList = deepClone(res.data.data)
      xGrid.value.loadData(produceList)
      gridOptions.loading=false
    }else{
      ElMessage.warning(res.msg)
      router.push("/login")
    }
  })
}
//页脚跳转
const handlePageChange = ({ currentPage, pageSize }) => {
  total.pageTotal = pageSize
  pageNum.value=currentPage
  selectOrderList()
}
@@ -145,7 +175,7 @@
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮
  rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮
  id: 'CustomerList',
  showFooter: true,//显示脚
  printConfig: {},
@@ -170,34 +200,37 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: '60'},
    { type: 'checkbox',fixed:"left", title: '选择', width: '80' },
    { type: 'seq',fixed:"left", title: '自序', width: '80' },
    // {title: '操作', width: '220', slots: { default: 'button_slot' },fixed:"left"},
    {field: 'order.orderId', width: '150',title: '销售单号', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.buildingNumber', width: '120',title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productId',width: '100', title: '产品编号', filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productName',width: '100', title: '产品名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.width', width: '100',title: '宽度', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.height',width: '100', title: '高度', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.creater', width: '100',title: '业务员', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.project', width: '100',title: '项目名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderNumber',width: '140', title: '订序', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.quantity',width: '140', title: '订单总数', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'inventoryQuantity',width: '100', title: '完工数量', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.area',width: '140', title: '面积', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processId',width: '100', title: '流程卡号', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'receivedQuantity',width: '100', title: '已入数量', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.batch',width: '100', title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    { type: 'checkbox',fixed:"left", title: t('basicData.check'), width: '80' },
    { type: 'seq',fixed:"left", title: t('basicData.Number'), width: '80' },
    {field: 'order.orderId', width: '150',title: t('order.orderId'), showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    //{field: 'orderDetail.buildingNumber', width: '120',title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productId',width: '100', title: t('order.productId'), filters:[{ data: '' }],showOverflow:"ellipsis",slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.productName',width: '100', title: t('order.product'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.width', width: '100',title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.height',width: '100', title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.creater', width: '100',title: t('order.salesman'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.project', width: '100',title: t('order.project'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderNumber',width: '140', title: t('order.OrderNum'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'orderDetail.quantity',width: '140', title: t('productStock.totalNumberOfOrders'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'inventoryQuantity',width: '100', title: t('productStock.quantityToBeStockedIn'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.area',width: '140', title: t('order.area'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processId',width: '100', title: t('processCard.processId'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'receivedQuantity',width: '100', title: t('productStock.quantityAlreadyInStock'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order.batch',width: '100', title: t('order.batch'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
  ],//表头按钮
  toolbarConfig: {
    buttons: [{
      'name': '确认入库',status: 'primary',
      'code':'add'
    }
        'name': t('productStock.confirmReceiptOfGoods'),status: 'primary',
        'code':'add'
      },
      {
        'name': t('productStock.warehousingRecords'),status: 'primary',
        'code':'jump'
      }
      ],
    import: false,
    export: true,
    print: true,
    /*import: false,
   export: true,
   print: true,*/
    zoom: true,
    custom: true
  }
@@ -206,7 +239,7 @@
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return `页数:${pageNum}/${pageTotal.value}`
          return t('basicData.total')
        }
        return ''
@@ -237,11 +270,10 @@
              flowcard:selectRecords
            })
              console.log(flowData.value)
              request.post("/FinishedGoodsInventory/addseletwarehousing",flowData.value).then((res) => {
              request.post("/FinishedGoodsInventory/addSelectWarehousing",flowData.value).then((res) => {
                if(res.code==200){
                  ElMessage.success("入库成功")
                  location.reload();
                  ElMessage.success(t('productStock.receivedSuccessfully'))
                  router.push({path:'/main/productStock/CreateProductStock',query:{random:Math.random()}})
                }else{
                  ElMessage.warning(res.msg)
                  router.push("/login")
@@ -249,6 +281,11 @@
              })
          }
          return;
        }
        case 'jump': {
          router.push({path: '/main/productStock/storageRecord', query: { storageType: '入库' }})
          return;
        }
@@ -264,9 +301,9 @@
<template>
  <div class="main-div-customer">
    <div id="selectForm">
        <el-input style="width: 200px" v-model="storageRegion" class="m-2" placeholder="请输入库位">
        <el-input style="width: 200px" v-model="storageRegion" class="m-2" :placeholder="$t('productStock.pleaseEnterTheStorageLocation')">
      </el-input>
        <el-input style="width: 200px" v-model="remark" class="m-2" placeholder="请输入备注">
        <el-input style="width: 200px" v-model="remark" class="m-2" :placeholder="$t('productStock.pleaseEnterANote')">
        </el-input>
@@ -309,6 +346,19 @@
        </div>
      </template>
      <template #pager>
        <!--使用 pager 插槽-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
    </vxe-grid>
  </div>