chenlu
2024-02-20 6965db086df978e46e0a1bd7227b981ad48a9b1c
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -125,13 +125,17 @@
  let filterData = ref({})
  let orderList = ref([])
  let pageNum=ref(1)
  let pageTotal=ref()
  let dataTotal=ref()
  request.post(`/order/getOrderList/1/100/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
  let total = reactive({
    pageTotal : 0,
    dataTotal : 0,
    pageSize : 100
  })
  //加载请求
  request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
    if(res.code==200){
      console.log(res.data)
      pageTotal.value=res.data.total
      selectDate.value=res.data.selectDate
      total.dataTotal = res.data.total.total*1
      total.pageTotal= res.data.total.pageTotal
      selectDate.value = res.data.selectDate
      orderList.value = deepClone(res.data.data)
      xGrid.value.loadData(orderList.value)
    }else{
@@ -139,7 +143,7 @@
    }
  })
  const changeFilterEvent = (event, option, $panel,) => {
  const changeFilterEvent = (event, option, $panel) => {
    // 手动触发筛选
    $panel.changeOption(event, !!option.data, option)
  }
@@ -158,9 +162,9 @@
    }else{
      filterData.value[column.property] = value
    }
    request.post(`/order/getOrderList/1/100/${orderType.value}/${selectDate.value}`,filterData.value).then((res) => {
    request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData.value).then((res) => {
      if(res.code==200){
        pageTotal.value=parseInt(res.data.total)
        total.pageTotal=parseInt(res.data.total)
        pageNum.value=1
        orderList.value = deepClone(res.data.data)
        xGrid.value.loadData(orderList.value)
@@ -177,9 +181,10 @@
      dialogTableVisible.value = true
  }
  const selectOrderList = ()=>{
    request.post(`/order/getOrderList/1/100/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
    request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${selectDate.value}`
        ,filterData).then((res) => {
      if(res.code==200){
        pageTotal.value=res.data.total
        //total.pageTotal = res.data.total.pageTotal
        selectDate.value=res.data.selectDate
        orderList.value = deepClone(res.data.data)
        xGrid.value.loadData(orderList.value)
@@ -190,11 +195,42 @@
  }
  const changeOrderType = ()=>{
    pageNum.value=1
    selectOrderList()
  }
 const changeDate =  ()=>{
   pageNum.value=1
   selectOrderList()
 }
 //页脚跳转
  const handlePageChange = ({ currentPage, pageSize }) => {
    pageNum.value=currentPage
    total.pageTotal    = pageSize
    selectOrderList()
  }
  //页面跳转更新或者删除订单
  const getTableRow =  (row,type) => {
    switch (type) {
      case 'edit': {
        router.push({path:'/main/order/createOrder',query:{orderId:row.orderId}})
        break
      }
      case 'delete': {
        request.post(`/order/deleteOrder/${row.orderId}`).then((res) => {
          if(res.code==200){
            ElMessage.success('删除成功')
            location.reload()
          }else{
            ElMessage.warning('删除失败')
          }
        })
        break
      }
    }
  }
</script>
@@ -238,7 +274,11 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" title="确认删除订单?">
          <template #reference>
            <el-button  link type="primary" size="small">删除</el-button>
          </template>
        </el-popconfirm>
      </template>
      <template #num1_filter="{ column, $panel }">
@@ -260,10 +300,12 @@
      <template #pager>
        <!--使用 pager 插槽-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[ 'PrevJump', 'PrevPage', 'Jump','PageCount', 'NextPage', 'NextJump',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="pageTotal"
            :total="dataTotal"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>