廖井涛
2024-06-20 21469f46acbe423d70ffe7072712c3e0f0d7560a
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -1,26 +1,29 @@
<script setup>
  import {Search} from "@element-plus/icons-vue"
  import {useRouter} from "vue-router"
  import {computed, reactive, ref} from "vue"
  import request from "@/utils/request"
  import deepClone from "@/utils/deepClone"
  import {ElMessage} from "element-plus"
  import {Edit, VXETable} from "vxe-table"
  import  useUserInfoStore from '@/stores/userInfo'
  import footSum from "@/hook/footSum"
  import OrderDetail from "@/components/sd/order/OrderDetail.vue"
  import OrderCraftDetail from "@/components/sd/order/OrderCraftDetail.vue"
  import OrderProcess from "@/components/sd/order/OrderProcess.vue"
  import PrintSheet1 from "@/components/sd/order/PrintSheet1.vue"
  import PrintSheet2 from "@/components/sd/order/PrintSheet2.vue"
  import {useI18n} from "vue-i18n"
  import {Download, Printer} from "@element-plus/icons-vue/global"
  import { saveAs } from "file-saver"
import {Check, Search} from "@element-plus/icons-vue"
import {useRouter} from "vue-router"
import {computed, onMounted, reactive, ref} from "vue"
import request from "@/utils/request"
import deepClone from "@/utils/deepClone"
import {ElMessage} from "element-plus"
import {Edit, VXETable} from "vxe-table"
import  useUserInfoStore from '@/stores/userInfo'
import companyInfo from "@/stores/sd/companyInfo"
import footSum from "@/hook/footSum"
import OrderDetail from "@/components/sd/order/OrderDetail.vue"
import OrderCraftDetail from "@/components/sd/order/OrderCraftDetail.vue"
import OrderProcess from "@/components/sd/order/OrderProcess.vue"
import PrintSheet1 from "@/components/sd/order/PrintSheet1.vue"
import PrintSheet2 from "@/components/sd/order/PrintSheet2.vue"
import {useI18n} from "vue-i18n"
import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global"
import { saveAs } from "file-saver"
  const { t } = useI18n()
  const userStore = useUserInfoStore()
  const company = companyInfo()
  const tabsValue=ref('1')
  const router = useRouter()
  let rowClickIndex = ref(null)
  let reviewDisabled = ref(true)
  const dialogTableVisible = ref(false)
  let sheetIndex = ref(-1)
  let orderType = ref("2")
@@ -177,6 +180,9 @@
            }
            dialogTableVisible.value = true
            sheetIndex.value=1
            if(rowClickIndex.value.processReview===2 && rowClickIndex.value.orderReview===0){
              reviewDisabled.value=false
            }
            break
          }
          case 'sheet2': {
@@ -186,17 +192,12 @@
            }
            dialogTableVisible.value = true
            sheetIndex.value=2
            break
          }
          case 'sheet3': {
            if(rowClickIndex.value===null){
              ElMessage.warning(t('searchOrder.msgList.checkOrder'))
              return
            if(rowClickIndex.value.processReview===2 && rowClickIndex.value.orderReview===0){
              reviewDisabled.value=false
            }
            dialogTableVisible.value = true
            sheetIndex.value=3
            break
          }
          case 'copy': {
            if(rowClickIndex.value===null){
              ElMessage.warning(t('searchOrder.msgList.checkOrder'))
@@ -234,17 +235,22 @@
    }
  }
  //加载请求
  request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
    if(res.code==200){
      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{
      ElMessage.warning(res.msg)
    }
  const getOrderList = () => {
    //加载请求
    request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
      if(res.code==200){
        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{
        ElMessage.warning(res.msg)
      }
    })
  }
  onMounted(() => {
    getOrderList()
  })
  const changeFilterEvent = (event, option, $panel) => {
@@ -354,8 +360,19 @@
  const html = document.getElementById("child").innerHTML // 获取需要导出的HTML内容
  const blob = new Blob([html], { type: 'application/vnd.ms-excel' }) // 创建Blob对象
  saveAs(blob, rowClickIndex.value.orderId+".xlsx");
}
const reviewOrder = ()=>{
  reviewDisabled.value=true
  request.post(`/order/reviewOrderById/${rowClickIndex.value.orderId}/${2}/${userStore.user.userId}/${userStore.user.userName}`).then(res =>{
    if(res.code==200){
      ElMessage.success(t('basicData.msg.ReviewSuccess') )
      selectOrderList()
    }else{
      ElMessage.error(res.msg)
      reviewDisabled.value=false
    }
  })
}
</script>
@@ -496,6 +513,7 @@
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContent"  :icon="Printer" circle />
        <el-button @click="exportFile" :icon="Download" circle />
        <el-button v-if="company.selectOrderReviewShow" :disabled="reviewDisabled" @click="reviewOrder" :icon="CircleCheck" type="primary">{{$t('basicData.review')}}</el-button>
      </template>
      <print-sheet1 id="child"  v-if="sheetIndex===1" :orderId="rowClickIndex.orderId" />