Commit feda043c by yuzhenWang

Merge branch 'test' into 'wyz'

Test

See merge request !139
parents dbfb2eaa 5fb8d958
......@@ -498,12 +498,20 @@ export function billCalculateToAmount(data) {
data: data
})
}
// 应收款管理--明细列表
export function newQueryCommissionExpectedByPage(data) {
return request({
url: 'csf/api/CommissionExpected/queryCommissionExpectedByPage/new',
method: 'post',
data: data
})
}
// 应收款管理修改应收记录状态
export function CommissionExpectedChangeStatus(data) {
return request({
url: 'csf/api/CommissionExpected/change_status',
method: 'post',
url: 'csf/api/CommissionExpected/edit/status',
method: 'put',
data: data
})
}
......
import { ElMessage } from 'element-plus'
export function copyToClipboard(text) {
// 方案1:使用现代 Clipboard API
if (navigator.clipboard && navigator.clipboard.writeText) {
return navigator.clipboard.writeText(text).catch((err) => {
console.error('Clipboard API 写入失败:', err);
ElMessage.error('复制失败')
// 降级到传统方案
fallbackCopyText(text);
});
}
// 方案2:降级使用传统方法
else {
fallbackCopyText(text);
}
}
// 传统复制方法
// 传统降级复制方法
function fallbackCopyText(text, typeName = '内容') {
const textarea = document.createElement('textarea');
textarea.value = text;
// 防止页面滚动或闪烁
textarea.style.position = 'fixed';
textarea.style.opacity = '0';
textarea.style.left = '-9999px';
document.body.appendChild(textarea);
try {
textarea.select();
textarea.setSelectionRange(0, 99999); // 对于移动设备
document.execCommand('copy');
console.log('传统方法复制成功');
ElMessage.success(`${typeName}已复制`)
textarea.setSelectionRange(0, 99999); // 兼容移动端
const successful = document.execCommand('copy');
if (successful) {
ElMessage.success(`${typeName}已复制`);
} else {
throw new Error('execCommand 返回失败');
}
} catch (err) {
console.error('传统方法复制失败:', err)
ElMessage.error('复制失败');
console.error('传统方法复制失败:', err);
ElMessage.error('复制失败,请手动复制');
} finally {
document.body.removeChild(textarea);
}
}
export default {
copyToClipboard
}
// 主导出函数,接收 text 和 typeName 两个参数
export default function copyToClipboard(text, typeName = '内容') {
// 1. 判断是否在安全上下文(HTTPS/localhost) 且 浏览器支持 Clipboard API
if (window.isSecureContext && navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(() => {
ElMessage.success(`${typeName}已复制`);
}).catch((err) => {
console.error('Clipboard API 写入失败,降级处理:', err);
// API 调用失败(如权限被拒),自动降级到传统方案
fallbackCopyText(text, typeName);
});
} else {
// 2. 非安全环境(如 HTTP)或不支持新 API,直接使用传统降级方案
fallbackCopyText(text, typeName);
}
}
\ No newline at end of file
......@@ -815,7 +815,8 @@ const getList = async (searchParams = {}) => {
accountDateEnd: searchParams.payoutDate?.[1] || undefined,
payoutDate: undefined,
pageNo: currentPage.value,
pageSize: pageSize.value
pageSize: pageSize.value,
statusList:searchParams.statusList || ['6']
}
const response = await getReferrerFortuneList(params)
......
......@@ -726,7 +726,7 @@ const searchConfig = ref([
const payRecordDialogTableVisible = ref(false)
// 新增出账记录
const addPayRecordFormModel = ref({
fortuneBizType: 'U'
fortuneBizType: 'R',
})
const addPayRecordDialogVisible = ref(false)
const addPayRecordFormRef = ref()
......@@ -779,15 +779,26 @@ const addPayRecordFormConfig = [
type: 'input',
prop: 'hkdAmount',
label: '出账金额',
rules: [{ pattern: /^-?\d+(\.\d{1,2})?$/, message: '小数(最多两位)', trigger: 'blur' }]
},
{
rules: [
{ required: true, message: '请输入', trigger: 'blur' },
{ pattern: /^-?\d+(\.\d{1,2})?$/, message: '小数(最多两位)', trigger: 'blur' }
]
}, {
type: 'select',
prop: 'currency',
label: '出账币种',
dictType: 'bx_currency_type'
dictType: 'bx_currency_type',
defaultValue:'HKD'
},
{
{
type: 'input',
prop: 'defaultExchangeRate',
label: '结算汇率(入账检核时的汇率)',
rules: [
{ required: true, message: '请输入', trigger: 'blur' },
{ pattern: /^-?\d+(\.\d{1,6})?$/, message: '小数(最多6位)', trigger: 'blur' }
]
},{
type: 'select',
prop: 'fortuneType',
label: '出账项目',
......
......@@ -232,7 +232,7 @@ import {
getItineraryExprot
} from '@/api/sign/appointment'
import useUserStore from '@/store/modules/user'
import { copyToClipboard } from '@/utils/copyToClipboard'
import copyToClipboard from '@/utils/copyToClipboard'
const dictStore = useDictStore()
const userStore = useUserStore()
const router = useRouter()
......
......@@ -151,7 +151,7 @@ import {
saveInitialPayment,
updatePolicyProduct
} from '@/api/sign/underwritingMain'
import { copyToClipboard } from '@/utils/copyToClipboard'
import copyToClipboard from '@/utils/copyToClipboard';
import PolicyDetail from './policyDetail.vue'
const policyDetailFormRef = ref(null)
const policyDetailFormData = ref({})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment