表格复制粘贴

export const pasteTable = function (e, columns, dataSource, index, key, callback, add, obj) {

e.preventDefault() // 阻止默认粘贴事件

// var isMac = /macintosh|mac os x/i.test(navigator.userAgent)

const DataList = e.clipboardData.getData('Text').replace(/\r\n/g, '\n').split('\n').map(a => a.split('\t'))

// if (!isMac) {

// DataList.pop()

// }

// console.log(index, 'index')

// console.log(DataList, 'DataList')

const keyList = []

const getKeyArr = function (cols, arr) {

cols.forEach(a => {

if (a.dataIndex) {

arr.push(a.dataIndex)

}

if (a.children && a.children.length) {

getKeyArr(a.children, arr)

}

})

}

getKeyArr(columns, keyList)

// console.log(keyList, 'keyList')

const keyIndex = keyList.indexOf(key) // 下标三

// console.log(keyIndex, 'keyIndex')

// console.log(DataList, keyList)

DataList.forEach((a, b) => {

const newIndex = index + b

a.forEach((c, d) => {

const newKeyIndex = keyIndex + d

const backData = callback(dataSource[newIndex], newIndex, keyList[newKeyIndex], c)

// if (!(keyList[newKeyIndex])) return

if (getObjType(backData) == 'boolean') {

dataSource[newIndex][keyList[newKeyIndex]] = backData ? c : dataSource[newIndex][keyList[newKeyIndex]]

} else {

dataSource[newIndex][keyList[newKeyIndex]] = backData

}

})

})

}

<a-input

v-model="record[obj.productionCompanyCode + 'applyConfirmNum']"

placeholder=""

:key="i"

@paste="pasteTable($event, table_COLUMNS, businessDetailList_Computed, index, (obj.productionCompanyCode + 'applyConfirmNum'), copyCallback)"

@input="checkNum(record,(obj.productionCompanyCode + 'applyConfirmNum'),index)"

@blur="toNumBlur(record,(obj.productionCompanyCode + 'applyConfirmNum'),index)"

style="width:100%;"

/>

pasteTable,

copyCallback (row, index, key, str) {

if (!isNaN(Number(str))) {

return true

} else {

return false

}

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值