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) { ...@@ -498,12 +498,20 @@ export function billCalculateToAmount(data) {
data: data data: data
}) })
} }
// 应收款管理--明细列表
export function newQueryCommissionExpectedByPage(data) {
return request({
url: 'csf/api/CommissionExpected/queryCommissionExpectedByPage/new',
method: 'post',
data: data
})
}
// 应收款管理修改应收记录状态 // 应收款管理修改应收记录状态
export function CommissionExpectedChangeStatus(data) { export function CommissionExpectedChangeStatus(data) {
return request({ return request({
url: 'csf/api/CommissionExpected/change_status', url: 'csf/api/CommissionExpected/edit/status',
method: 'post', method: 'put',
data: data data: data
}) })
} }
......
import { ElMessage } from 'element-plus' 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 = '内容') { function fallbackCopyText(text, typeName = '内容') {
const textarea = document.createElement('textarea'); const textarea = document.createElement('textarea');
textarea.value = text; textarea.value = text;
// 防止页面滚动或闪烁
textarea.style.position = 'fixed'; textarea.style.position = 'fixed';
textarea.style.opacity = '0'; textarea.style.opacity = '0';
textarea.style.left = '-9999px';
document.body.appendChild(textarea); document.body.appendChild(textarea);
try { try {
textarea.select(); textarea.select();
textarea.setSelectionRange(0, 99999); // 对于移动设备 textarea.setSelectionRange(0, 99999); // 兼容移动端
document.execCommand('copy'); const successful = document.execCommand('copy');
console.log('传统方法复制成功'); if (successful) {
ElMessage.success(`${typeName}已复制`) ElMessage.success(`${typeName}已复制`);
} else {
throw new Error('execCommand 返回失败');
}
} catch (err) { } catch (err) {
console.error('传统方法复制失败:', err) console.error('传统方法复制失败:', err);
ElMessage.error('复制失败'); ElMessage.error('复制失败,请手动复制');
} finally { } finally {
document.body.removeChild(textarea); document.body.removeChild(textarea);
} }
} }
export default { // 主导出函数,接收 text 和 typeName 两个参数
copyToClipboard 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 = {}) => { ...@@ -815,7 +815,8 @@ const getList = async (searchParams = {}) => {
accountDateEnd: searchParams.payoutDate?.[1] || undefined, accountDateEnd: searchParams.payoutDate?.[1] || undefined,
payoutDate: undefined, payoutDate: undefined,
pageNo: currentPage.value, pageNo: currentPage.value,
pageSize: pageSize.value pageSize: pageSize.value,
statusList:searchParams.statusList || ['6']
} }
const response = await getReferrerFortuneList(params) const response = await getReferrerFortuneList(params)
......
...@@ -726,7 +726,7 @@ const searchConfig = ref([ ...@@ -726,7 +726,7 @@ const searchConfig = ref([
const payRecordDialogTableVisible = ref(false) const payRecordDialogTableVisible = ref(false)
// 新增出账记录 // 新增出账记录
const addPayRecordFormModel = ref({ const addPayRecordFormModel = ref({
fortuneBizType: 'U' fortuneBizType: 'R',
}) })
const addPayRecordDialogVisible = ref(false) const addPayRecordDialogVisible = ref(false)
const addPayRecordFormRef = ref() const addPayRecordFormRef = ref()
...@@ -779,15 +779,26 @@ const addPayRecordFormConfig = [ ...@@ -779,15 +779,26 @@ const addPayRecordFormConfig = [
type: 'input', type: 'input',
prop: 'hkdAmount', prop: 'hkdAmount',
label: '出账金额', 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', type: 'select',
prop: 'currency', prop: 'currency',
label: '出账币种', 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', type: 'select',
prop: 'fortuneType', prop: 'fortuneType',
label: '出账项目', label: '出账项目',
......
...@@ -232,7 +232,7 @@ import { ...@@ -232,7 +232,7 @@ import {
getItineraryExprot getItineraryExprot
} from '@/api/sign/appointment' } from '@/api/sign/appointment'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
import { copyToClipboard } from '@/utils/copyToClipboard' import copyToClipboard from '@/utils/copyToClipboard'
const dictStore = useDictStore() const dictStore = useDictStore()
const userStore = useUserStore() const userStore = useUserStore()
const router = useRouter() const router = useRouter()
......
...@@ -151,7 +151,7 @@ import { ...@@ -151,7 +151,7 @@ import {
saveInitialPayment, saveInitialPayment,
updatePolicyProduct updatePolicyProduct
} from '@/api/sign/underwritingMain' } from '@/api/sign/underwritingMain'
import { copyToClipboard } from '@/utils/copyToClipboard' import copyToClipboard from '@/utils/copyToClipboard';
import PolicyDetail from './policyDetail.vue' import PolicyDetail from './policyDetail.vue'
const policyDetailFormRef = ref(null) const policyDetailFormRef = ref(null)
const policyDetailFormData = ref({}) 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