| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import {getMapValueByKey} from "@/utils/objectUtil";
- import {clientType,} from "@/utils/constant";
- export const getOwnerName = (musicSheetExtend: any, sourceType: string) => {
- if (sourceType == 'PLATFORM') {
- return "--"
- }
- let ownerName = '';
- if (musicSheetExtend) {
- const appName = musicSheetExtend.applicationName;
- if (sourceType == 'ORG') {
- const organizationRole = musicSheetExtend.organizationRole ? '-' + musicSheetExtend.organizationRole : '';
- ownerName += appName + organizationRole
- } else if (sourceType == 'PERSON') {
- if (musicSheetExtend?.userName) {
- ownerName = musicSheetExtend.userName
- }
- let typeName = getMapValueByKey(musicSheetExtend.clientType, new Map(Object.entries(clientType)));
- typeName = typeName ? '-' + typeName : '';
- ownerName += ' (' + appName + typeName + ')'
- }
- }
- return ownerName;
- }
- export const copyText = (message: any, text: string) => {
- // 数字没有 .length 不能执行selectText 需要转化成字符串
- const textString = text.toString()
- let input = document.querySelector('#copy-input') as HTMLInputElement
- if (!input) {
- input = document.createElement('input')
- input.id = 'copy-input'
- input.readOnly = true // 防止ios聚焦触发键盘事件
- input.style.position = 'fixed'
- input.style.left = '-1000px'
- input.style.zIndex = '-1000'
- // 为了处理,页面滑动到底部的问题
- document.body.appendChild(input)
- // document.querySelector('#input-copy-container')?.appendChild(input)
- }
- input.value = textString
- // ios必须先选中文字且不支持 input.select();
- selectText(input, 0, textString.length)
- if (document.execCommand('copy')) {
- document.execCommand('copy')
- message.success('复制成功')
- }
- input.blur()
- // input自带的select()方法在苹果端无法进行选择,所以需要自己去写一个类似的方法
- // 选择文本。createTextRange(setSelectionRange)是input方法
- function selectText(textbox: any, startIndex: any, stopIndex: any) {
- if (textbox.createTextRange) {
- //ie
- const range = textbox.createTextRange()
- range.collapse(true)
- range.moveStart('character', startIndex) //起始光标
- range.moveEnd('character', stopIndex - startIndex) //结束光标
- range.select() //不兼容苹果
- } else {
- //firefox/chrome
- textbox.setSelectionRange(startIndex, stopIndex)
- textbox.focus()
- }
- }
- }
|