guoyuji
2024-03-01 67bb8ed26f127d39fc0f747aef32881af14b7ca6
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -8,13 +8,14 @@
import VXETable from "vxe-table";
import useUserInfoStore from "@/stores/userInfo";
import {ElMessage} from "element-plus";
import validator from "vxe-table/lib/validator";
import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove";
const router = useRouter()
const route = useRoute()
const userStore = useUserInfoStore()
const username = userStore.user.userName
const userid = userStore.user.userId
let produceList = ref([])
let cellArea = ref()
const hasDecimal=(value)=>{
@@ -102,7 +103,6 @@
  if(res.code==200){
    titleSelectJson.value=deepClone(res.data)
    console.log(titleSelectJson.value)
    const today = new Date
    today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000))
    titleUploadData.value.deliveryDate = today.getFullYear() +
@@ -118,6 +118,8 @@
const  number = ref();
onMounted(()=>{
  //启用表格拖动选中
  addListener(xGrid.value,gridOptions,cellArea.value)
  //发货新增
  const orderId = route.query.orderId
  if (typeof orderId !== 'undefined' && orderId !== null && orderId !== '' && orderId !== '\n' && orderId !== '\r'){
@@ -127,7 +129,6 @@
    request.post("/Delivery/getseletShippingOrderDetails/1/100",filterData.value).then((res) => {
      if(res.code==200){
        console.log(res.data.title)
        pageTotal.value=res.data.total
@@ -170,15 +171,12 @@
  if (typeof str != 'undefined' && str != null && str !== '' && str !== '\n' && str !== '\r'){
    filterData.value.deliveryDetail.deliveryId=str
    console.log(filterData)
    //第一次调用
    request.post("/Delivery/getseletShippingOrderDetail/1/100",filterData.value).then((res) => {
      if(res.code==200){
        console.log(res.data.data)
        pageTotal.value=res.data.total
        titleUploadData.value=deepClone(res.data.delivery)
        console.log(deepClone(res.data.delivery))
        //根据审核状态显示审核按钮或者是反审按钮
@@ -254,7 +252,6 @@
    request.post("/Delivery/getseletShippingOrderDetail/1/100",filterData.value).then((res) => {
      if(res.code==200){
        console.log(res.data.data)
        pageTotal.value=res.data.total
        pageNum=1
        produceList = deepClone(res.data.data)
@@ -272,7 +269,6 @@
    request.post("/Delivery/getseletShippingOrderDetails/1/100",filterData.value).then((res) => {
      if(res.code==200){
        console.log(res.data.title)
        pageTotal.value=res.data.total
        pageNum=1
@@ -284,10 +280,7 @@
        router.push("/login")
      }
    })
  }
  console.log(route.query.orderId)
  console.log(filterData.value.deliveryDetail.deliveryId)
  console.log(filterData.value)*/
  }*/
}
@@ -307,6 +300,15 @@
  exportConfig: {},
  scrollY:{ enabled: true },//开启虚拟滚动
  showOverflow:true,
  menuConfig: {
    body: {
      options: [
        [
          { code: 'copyChecked', name: '选中相同', prefixIcon: 'vxe-icon-copy', visible: true, disabled: false },
        ]
      ]
    }
  },
  columnConfig: {
    resizable: true,
    useKey: true
@@ -388,14 +390,12 @@
      switch (code) {
        case 'add': {
          const selectRecords = $grid.getCheckboxRecords()
          console.log(selectRecords)
          if (selectRecords.length === 0) {
            ElMessage.warning("未选中数据")
            return
          }
          const errMap = await $grid.validate(selectRecords)
          console.log(errMap)
          if (errMap) {
            ElMessage.warning("数据校验失败")
            return
@@ -426,7 +426,6 @@
            deliveryId: route.query.deliveryID
          })
          console.log(flowData)
           request.post("/Delivery/insertDelivery", flowData.value).then((res) => {
             if(res.code==200){
               ElMessage.success("发货单提交成功")
@@ -444,7 +443,6 @@
            type: 2
          })
          console.log(flowData)
          request.post("/Delivery/updateDeliveryToExamine", flowData.value).then((res) => {
            if (res.code == 200) {
              ElMessage.success("审核成功")
@@ -462,7 +460,6 @@
            type: 0
          })
          console.log(flowData)
          request.post("/Delivery/updateDeliveryToExamine", flowData.value).then((res) => {
            if (res.code == 200) {
              ElMessage.success("反审成功")
@@ -474,6 +471,40 @@
          })
          break
        }
      }
    }
  },
  menuClick ({ menu, row, column }) {
    const $grid = xGrid.value
    if ($grid) {
      switch (menu.code) {
        case 'copyChecked' :{
          let result = toolbarButtonClickEvent()
          if(result){
            const dataList = xGrid.value.getTableData().visibleData
            let firstVal=null;
            if(result.cell.indexOf('.')>-1){
               firstVal = eval("dataList["+result.start +"]."+result.cell)
            }else {
              firstVal=dataList[result.start][result.cell];
            }
            dataList.forEach((item,index) =>{
              if(index>=result.start && index<=result.end){
                if(result.cell.indexOf('.')>-1){
                  const  columnArr = result.cell.split('.')
                  item[columnArr[0]][columnArr[1]]  = firstVal
                }else{
                  item[result.cell]  = firstVal
                }
              }
            })
          }
          break
        }
      }
    }
  }
@@ -609,6 +640,11 @@
      </vxe-grid>
    </div>
    <div class="vxe-table--cell-area" ref="cellArea" >
      <span  class="vxe-table--cell-main-area"  ></span>
      <span class="vxe-table--cell-active-area"  ></span>
    </div>
  </div>
</template>