123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546 |
- import { ref, computed, watch } from "vue";
- import { auditorOrderSettlement,sendCode } from "@/api/finance/settlement.js";
- import useUserStore from '@/store/modules/user'
- import { takeList, paymentList, takeApproval, careatPayment,payoutCheck } from "@/api/finance/withdrawal.js";
- //功能
- export default ({ proxy, jlzj_area_type }) => {
- const router = useRouter();
- const dialogFormRef = ref(null);
- const userTableRef = ref(null);
- const dialogVerifyRef =ref(null);
- const verifyCode =ref('');
-
-
- const tabkey = ref('0');
- const {
- pay_type,
- is_pay,
- volunteer_app_status,
- is_verified,
- payment_status
- } = proxy.useDict("pay_type", "is_pay", "volunteer_app_status","payment_status","is_verified");
- const dialogPlay = ref(false); //打款单详情
- const dialogRow = ref({});
- const dialogVerify =ref(false);
- //打开弹窗
- const openDialog = (data, type) => {
- console.log('data', data);
- try {
- const disabledData = {
- alipayAccountNo: true,
- alipayName: true,
- takeAmount: true,
- createTime: true,
- }
- //审核
- if (type === 'examine') {
- dialogFormRef.value.initForm(data, disabledData)
- }
- if (type === 'details') {
- disabledData['appStatus'] = true;
- disabledData['rejectReason'] = true;
- dialogFormRef.value.initForm(data, disabledData)
- }
- } catch (error) {
- console.log('error', error);
- } finally {
- console.log('dialogFormRef.value', dialogFormRef.value);
- dialogFormRef.value.handleDialog(true);
- }
- }
- //导出
- const exportFile = async (parmas) => {
- console.log("TCL: exportFile -> parmas", parmas)
- // try {
- // proxy.download("core/orderSettlementApplication/export",{
- // ...queryParams.value,
- // }, `订单费用结算_${new Date().getTime()}.xlsx`);
- // } catch (error) {
- // }
- }
- //审核提交
- const submitForm = async (data) => {
- try {
- console.log('submit', data);
- const parmas = {
- volunteerTakeRecordId: data.volunteerTakeRecordId,
- appStatus: data.appStatus,
- rejectReason: data.rejectReason
- }
- const res = await takeApproval(parmas);
- if (res.code === 200) {
- proxy.$modal.msgSuccess("审核成功");
- return;
- }
- proxy.$modal.msgSuccess(res.msg);
- } catch (error) {
- console.log('error', error);
- } finally {
- userTableRef.value.resetForm();
- dialogFormRef.value.handleDialog(false);
- }
- }
- const getList = (data) => {
- const parmasData = JSON.parse(JSON.stringify(data));
- if (parmasData.tabkeys) {
- delete parmasData.tabkeys;
- }
- console.log("TCL: getList -> data", data, parmasData)
- tabkey.value = data.tabkeys;
- return data.tabkeys !== '4' ? takeList({ ...parmasData, appStatus: data.tabkeys }) : paymentList(parmasData)
- }
- const paymentSubmit = async (ids) => {
- try {
- const res = await careatPayment({
- ids,
- payType: '2'
- })
- if (res.code === 200) {
- proxy.$modal.msgSuccess("创建成功!");
- return;
- }
- proxy.$modal.msgSuccess(res.msg);
- } catch (error) {
- console.log('error', error);
- } finally {
- userTableRef.value.resetForm();
- }
- }
- const openVerify = (data,type) => {
- try {
- const disabledData = {
- volunteerPaymentRecordsId: true,
- paymentOrderNumber:true,
- payType:true
- }
- if(type === 'details'){
- disabledData['payPassword'] = true;
- }
- dialogVerifyRef.value.initForm(data, disabledData)
- } catch (error) {
- console.log('error', error);
- } finally {
- userTableRef.value.resetForm();
- dialogVerifyRef.value.handleDialog(true);
- }
- }
- const submitVerify = async() => {
- try {
- const data =dialogRow.value;
- console.log('submit', data);
- const parmas = {
- volunteerPaymentRecordsId: data.volunteerPaymentRecordsId,
- paymentOrderNumber: data.paymentOrderNumber,
- payPassword:verifyCode.value
- }
- const res = await payoutCheck(parmas);
- if (res.code === 200) {
- proxy.$modal.msgSuccess("操作成功");
- verifyCancel();
- userTableRef.value.resetForm();
- return;
- }
- proxy.$modal.msgSuccess(res.msg);
- } catch (error) {
- console.log('error', error);
- }
- }
- const verifyCancel =()=>{
- dialogVerify.value = false;
- dialogRow.value = {};
- verifyCode.value ='';
- clearInterval(timer);
- timer = null;
- code.value = 60;
- }
- const getVerList = async (data) => {
- console.log('dialogRow.value',dialogRow.value);
- return takeList({ ...data,paymentRecordId: dialogRow.value.volunteerPaymentRecordsId})
- }
- const verifyClose = ()=>{
- dialogPlay.value = false;
- dialogRow.value = {};
- }
- const code = ref(60);
- let timer=null;
- watch(()=>code.value,()=>{
- if(code.value === 0){
- clearInterval(timer);
- timer = null;
- code.value = 60;
- }
- })
- const getCode = async() => {
- const userStore = useUserStore();
- console.log("TCL: exportFile -> userStore", userStore)
- if(code.value < 60){
- proxy.$modal.msgError('请勿重复获取!');
- return;
- }
- if(userStore.phonenumber && code.value === 60){
- try {
- const res =await sendCode(userStore.phonenumber);
- if(res.code === 200){
- proxy.$modal.msgSuccess(res.msg);
- timer = setInterval(()=>{
- code.value--;
- console.log('定时器');
-
- },1000)
- }else{
- proxy.$modal.msgError(res.msg);
- }
- } catch (error) {
- console.log("TCL: exportFile -> error", error)
- }
- }
- }
- return {
- dialogFormRef,
- userTableRef,
- dialogVerifyRef,
- dialogPlay,
- tabkey,
- dialogRow,
- dialogVerify,
- verifyCode,
- code,
- openDialog,
- exportFile,
- submitForm,
- getList,
- submitVerify,
- verifyClose,
- getVerList,
- verifyCancel,
- getCode,
- tabList: [
- {
- title: '每日流失审核',
- name: '1'
- },
- {
- title: '审核驳回',
- name: '3'
- },
- {
- title: '支付宝提现申请单',
- name: '2'
- },
- {
- title: '打款单记录',
- name: '4'
- },
- ],
- talkeColumn:ref([
- {
- label: '支付宝账户',
- prop: 'alipayAccountNo',
- type: 'input',
- isSearch: true
- },
- {
- label: '支付宝姓名',
- prop: 'alipayName',
- type: 'input',
- isSearch: true
- },
- {
- label: '提现申请金额',
- prop: 'takeAmount',
- },
- {
- label: '账户类型',
- prop: 'payType',
- type: 'dict',
- dict: pay_type,
- isSearch: true,
- },
- {
- label: '申请时间',
- prop: 'createTime',
- type: 'date',
- isSearch: true,
- keys: ['start', 'end'],
- },
- {
- label: '数据情况',
- prop: 'isPay',
- type: 'dict',
- dict: is_pay,
- isSearch: true,
- },
- {
- label: '审核状态',
- prop: 'appStatus',
- type: 'dict',
- dict: volunteer_app_status
- }
- ]),
- paymentColumn: ref([
- {
- label: '打款单单号',
- prop: 'paymentOrderNumber',
- type: 'input',
- isSearch: true
- },
- {
- label: '打款单总金额',
- prop: 'totalPaymentAmount',
- type: 'input',
- isSearch: true
- },
- {
- label: '实际打款金额',
- prop: 'actualPaymentAmount',
- type: 'input',
- isSearch: true
- },
- {
- label: '验证状态',
- prop: 'isVerified',
- type: 'dict',
- dict: is_verified,
- isSearch: true
- },
- {
- label: '打款状态',
- prop: 'paymentStatus',
- type: 'dict',
- dict: payment_status,
- isSearch: true
- },
- {
- label: '打款结果',
- prop: 'appStatus',
- type: 'render',
- render:(row) => {
- console.log("TCL: exportFile -> row", row)
- return `成功:${row.successfulPaymentAmount}; 失败:${row.failedPaymentAmount}`
- }
- },
- {
- label: '生成时间',
- prop: 'createTime',
- type: 'date',
- isSearch: true,
- keys: ['createTimeStart', 'createTimeEnd'],
- },
- {
- label: '打款时间',
- prop: 'paymentTime',
- type: 'date',
- isSearch: true,
- keys: ['paymentTimeStart', 'paymentTimeEnd'],
- },
- ]),
- dialogColumn:ref([
- {
- label: '业务编码',
- prop: 'takeSn',
- type: 'input',
- },
- {
- label: '用户信息',
- prop: 'alipayName',
- type: 'input',
- },
- {
- label: '提现金额',
- prop: 'receiveAmount',
- },
- {
- label: '扣除的税额',
- prop: 'taxAmount',
- },
- {
- label: '应打款金额',
- prop: 'shoudAmount',
- },
- {
- label: '实际打款金额',
- prop: 'shoudAmount',
- },
- ]),
- dialogData: {
- title: '结算申请',
- column: [
- {
- label: '支付宝账户:',
- prop: 'alipayAccountNo',
- type: 'text',
- },
- {
- label: '支付宝姓名:',
- prop: 'alipayName',
- type: 'text',
- },
- {
- label: '提现申请金额:',
- prop: 'takeAmount',
- type: 'text',
- },
- {
- label: '申请时间:',
- prop: 'createTime',
- type: 'text',
- },
- {
- label: '审核状态:',
- prop: 'appStatus',
- type: 'radio',
- rules: [
- { required: true, message: '请选择审核状态', trigger: 'blur' }
- ],
- options: [
- {
- label: '通过',
- value: '2'
- },
- {
- label: '不通过',
- value: '3'
- }
- ]
- },
- {
- label: '驳回原因:',
- prop: 'rejectReason',
- type: 'textarea',
- show: (form) => {
- console.log('驳回原因', form);
- return form.appStatus === '3'
- }
- },
- ]
- },
- searchBtns: [
- {
- label: '创建打款单',
- func: () => {
- const ids = userTableRef.value.ids;
- console.log('批量删除', ids)
- ids.length > 0 && paymentSubmit(ids)
- },
- key: 'applicant',
- type: 'primary',
- show: (row) => {
- return tabkey.value === '2'
- }
- },
- ],
- scopeBtns: [
- {
- label: '审核',
- type: 'primary',
- key: 'examine',
- func: (row) => {
- console.log(row)
- openDialog(row, 'examine')
- },
- show: (row) => {
-
- return tabkey.value === '1' && row.appStatus === '1'
- }
- },
- {
- label: '查看详情',
- type: 'primary',
- key: 'details',
- func: (row) => {
- console.log(row)
- openDialog(row, 'details')
- },
- show: (row) => {
- return tabkey.value !== '4'
- }
- },
- {
- label: '打款验证',
- type: 'primary',
- key: 'details',
- func: async(row) => {
- console.log(row)
- dialogRow.value = row;
- dialogVerify.value = true;
-
- },
- show: (row) => {
- return tabkey.value === '4' && row.paymentStatus === '1'
- }
- },
- {
- label: '创建打款单',
- type: 'primary',
- key: 'details',
- func: (row) => {
- console.log(row)
- paymentSubmit([row.volunteerTakeRecordId])
- },
- show: (row) => {
- return tabkey.value === '2' && row.appStatus === '2'
- }
- },
- {
- label: '查看打款结果',
- type: 'primary',
- key: 'see',
- func: (row) => {
- console.log("TCL: exportFile -> row", row)
- dialogPlay.value = true;
- dialogRow.value = row;
- },
- show: (row) => {
- return tabkey.value === '4'
- }
- },
- ],
- dialogVerifyData: ref({
- title: '结算申请',
- column: [
- {
- label: '打款id',
- prop: 'volunteerPaymentRecordsId',
- type: 'text',
- },
- {
- label: '打款单单号',
- prop: 'paymentOrderNumber',
- type: 'text',
- },
- {
- label: '打款方式',
- prop: 'payType',
- type: 'dict',
- dict: pay_type
- },
- {
- label: '打款验证密码',
- prop: 'payPassword',
- type: 'input',
- dese:'发送验证码',
- deseClick:(data)=>{
- console.log("TCL: exportFile -> data", data)
- }
- },
- ]
- }),
- }
- }
|