guoyuji
2024-07-12 3c5012bb9fba2a33b83aea14d4eb766425159fee
选中求和功能添加
3个文件已修改
42 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/BasicTable.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/hook/mouseMove.ts 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/BasicTable.vue
@@ -25,7 +25,8 @@
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true },//开启虚拟滚动
  scrollY:{ enabled: true,gt:0 },//开启虚拟滚动
  scrollX:{ enabled: true,gt:5 },//开启虚拟滚动
  showOverflow:true,
  columnConfig: {
    resizable: true,
north-glass-erp/northglass-erp/src/hook/mouseMove.ts
@@ -13,7 +13,9 @@
let xGrid = ref()
let cellarea = ref(`
    <div class="vxe-table--cell-area" style="font-size: 10px;text-align: left" >
      <span class="vxe-table--cell-main-area" ><p style="margin-left: 0.5rem;color: blue"></p></span>
      <span class="vxe-table--cell-main-area" >
        <p style="bottom: 0;color: blue;background-color: #5cadfe"></p>
        </span>
      <span class="vxe-table--cell-active-area"  ></span>
    </div>
`)
@@ -110,6 +112,10 @@
    if (event.button === 0) {//左键按下
        // 记录选择操作起始位置
        selectionStart = getCellPosition(event.target)//设置选择操作起始单元格位置
        const activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
        const element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
        activeElement.innerHTML =''
        element.innerHTML =''
        isSelecting.value = true//标记为正在选择操作
    }
@@ -134,10 +140,12 @@
    if (event.button === 0) {//左键松开
        isSelecting.value = false//标记为停止选择操作
    }
    /*const result = exportData()
    const result = exportData()
    const activeElement = getTablexGrid().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
    const element = xGrid.value.$el.querySelector(".vxe-table--fixed-wrapper .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area p")
    if(result.length===2 && result[0].length===1){
    if(result.length<=2 && result[0].length===1){
        activeElement.innerHTML =''
        element.innerHTML =''
        return
@@ -151,8 +159,11 @@
    })
    sum=isNaN(sum)?0:sum
    activeElement.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
    element.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))*/
    setTimeout(()=>{
        activeElement.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
        element.innerHTML ="SUM:"+parseFloat(sum.toFixed(2))
    },200)
}
let outevent = ref()//移动事件,不保存,循环定时器内无法监听到新的事件
@@ -474,7 +485,13 @@
}
const exportData = () => {
    let data = []
    let title = []
    try{
    // //这里需要是visibleData
    if(getTablexGrid().getTableData()?.visibleData===undefined){
        return null
    }
    let tableData = getTablexGrid().getTableData().visibleData//获取处理条件之后的全量表体数据
    let rowStart = selectionStart.rowIndex//获取选中起始行索引
    let rowEnd = selectionEnd.rowIndex//获取选中结束行索引
@@ -499,8 +516,7 @@
            return colStart >= index && colEnd <= index
        }
    })
    let data = []
    let title = []
    selectCols.forEach((col, index) => {
        title.push(col['title'])
    })
@@ -509,6 +525,7 @@
    selectRows.forEach((row, index) => {
        let rowData = []
        selectCols.forEach((col, index) => {
            const parts = col['property'].split('.')
            let result = row
            for (const part of parts) {
@@ -522,6 +539,11 @@
        })
        data.push(rowData)
    })
    }finally {
        selectionStart = { rowIndex: -1, cellIndex: -1 } // 选择操作起始单元格位置
        selectionEnd = { rowIndex: -1, cellIndex: -1 }
    }
    return  data
}
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -27,6 +27,7 @@
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true,gt:13 },//开启虚拟滚动
  scrollX:{ enabled: true,gt:7 },//开启虚拟滚动
  showOverflow:true,
  columnConfig: {
    resizable: true,
@@ -49,7 +50,7 @@
    {field: 'orderNumber',fixed:"left",width:120,  title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'orderDetail.productId',fixed:"left",width:120,  title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderDetail.productName',fixed:"left",width:120,  title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'technologyNumber',width:120,  title: t('craft.glassAddress'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'technologyNumber',width:120, fixed:"left", title: t('craft.glassAddress'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'glassChild',width:120,  title: t('craft.glassChild'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'orderDetail.width',width:120,  title: t('craft.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'orderDetail.height',width:120,  title: t('craft.height'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},