Commit ee79a169 authored by 沈翠玲's avatar 沈翠玲

整理审批的权限

parent dc7263d4
...@@ -15,3 +15,11 @@ export const getgetByIdCustomer = (id) => { ...@@ -15,3 +15,11 @@ export const getgetByIdCustomer = (id) => {
export const getDebtInfo = (id) => { export const getDebtInfo = (id) => {
return request.get('/debt_info/getDebtInfo?idCard=' + id); return request.get('/debt_info/getDebtInfo?idCard=' + id);
}; };
// 获取合同列表
export const getContractPage = (params) => {
return request.get('/Contract/page', params);
};
// 保存合同
export const saveContract = (data) => {
return request.post('/Contract/saveContract', data);
};
\ No newline at end of file
...@@ -430,7 +430,7 @@ ...@@ -430,7 +430,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -246,8 +246,8 @@ ...@@ -246,8 +246,8 @@
<template #footer> <template #footer>
<div style="flex: auto"> <div style="flex: auto">
<el-button @click="showModal = false">取消</el-button> <el-button @click="showModal = false">取消</el-button>
<el-button type="primary" @click="submitForm('fail')" v-if="currentDetail.flowStatus === 'pending'">不通过</el-button> <el-button type="primary" @click="submitForm('fail')" v-if="currentDetail.flowStatus === 'pending'" v-permission="'stages_apply_btn'">不通过</el-button>
<el-button type="primary" @click="submitForm('pass')" v-if="currentDetail.flowStatus === 'pending'">通过</el-button> <el-button type="primary" @click="submitForm('pass')" v-if="currentDetail.flowStatus === 'pending'" v-permission="'stages_apply_btn'">通过</el-button>
</div> </div>
</template> </template>
<el-dialog v-model="dialogVisible"> <el-dialog v-model="dialogVisible">
...@@ -508,7 +508,7 @@ ...@@ -508,7 +508,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
...@@ -519,7 +519,7 @@ ...@@ -519,7 +519,7 @@
}, },
{ {
field: 'canStages', field: 'canStages',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_can_stages'),
title: '分期是否可修改', title: '分期是否可修改',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
......
...@@ -57,6 +57,8 @@ ...@@ -57,6 +57,8 @@
import { getTenantPage } from '@/api/tenant'; import { getTenantPage } from '@/api/tenant';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { useAuthStore } from '@/stores/modules/auth';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const srcList = ref([]); const srcList = ref([]);
const RefImage = ref(false); const RefImage = ref(false);
...@@ -364,7 +366,7 @@ ...@@ -364,7 +366,7 @@
return ( return (
<> <>
<ElButton type="primary" onClick={() => changeStatus(row)}> <ElButton type="primary" onClick={() => changeStatus(row)}>
{row.flowStatus === 'pending' ? '查看并审核' : '查看'} {row.flowStatus === 'pending' && authButtonListGet.includes('stages_apply_btn') ? '查看并审核' : '查看'}
</ElButton> </ElButton>
</> </>
); );
......
...@@ -186,8 +186,8 @@ ...@@ -186,8 +186,8 @@
<template #footer> <template #footer>
<div style="flex: auto"> <div style="flex: auto">
<el-button @click="showModal = false">取消</el-button> <el-button @click="showModal = false">取消</el-button>
<el-button type="primary" @click="submitForm('fail')" v-if="currentDetail.flowStatus === 'pending'">不通过</el-button> <el-button type="primary" @click="submitForm('fail')" v-if="currentDetail.flowStatus === 'pending' && authButtonListGet.includes('reduction_apply_btn')">不通过</el-button>
<el-button type="primary" @click="submitForm('pass')" v-if="currentDetail.flowStatus === 'pending'">通过</el-button> <el-button type="primary" @click="submitForm('pass')" v-if="currentDetail.flowStatus === 'pending' && authButtonListGet.includes('reduction_apply_btn')">通过</el-button>
</div> </div>
</template> </template>
<el-dialog v-model="dialogVisible"> <el-dialog v-model="dialogVisible">
...@@ -350,7 +350,7 @@ ...@@ -350,7 +350,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -57,9 +57,10 @@ ...@@ -57,9 +57,10 @@
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { Download } from '@element-plus/icons-vue'; import { Download } from '@element-plus/icons-vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { useAuthStore } from '@/stores/modules/auth';
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const reduceDrawerRef = ref(); const reduceDrawerRef = ref();
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus", "CaseStatus"); const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus", "CaseStatus");
const downloadfile = inject('download'); const downloadfile = inject('download');
const ProTableRef = ref(); const ProTableRef = ref();
...@@ -318,7 +319,7 @@ ...@@ -318,7 +319,7 @@
return ( return (
<> <>
<ElButton type="primary" onClick={() => changeStatus(row)}> <ElButton type="primary" onClick={() => changeStatus(row)}>
{row.flowStatus === 'pending' ? '查看并审核' : '查看'} {row.flowStatus === 'pending' && authButtonListGet.includes('reduction_apply_btn') ? '查看并审核' : '查看'}
</ElButton> </ElButton>
</> </>
); );
......
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
width: 120, width: 120,
slots: { slots: {
default: ({ row, rowIndex }) => { default: ({ row, rowIndex }) => {
if (activeName.value === 'pending' && authButtonListGet.includes('allcation_for_tenant')) { if (activeName.value === 'pending' && authButtonListGet.includes('repair_apply_btn')) {
return ( return (
<> <>
<ElButton type="primary" onClick={() => changeStatus(row)}> <ElButton type="primary" onClick={() => changeStatus(row)}>
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
</> </>
); );
} else { } else {
if (row.downloadStatus === 'pending' && authButtonListGet.includes('allcation_for_tenant')) { if (row.downloadStatus === 'pending' && authButtonListGet.includes('repair_apply_btn')) {
return ( return (
<> <>
<ElButton type="primary" onClick={() => changeStatus(row)}> <ElButton type="primary" onClick={() => changeStatus(row)}>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
type="primary" type="primary"
@click="changeStatus" @click="changeStatus"
v-if="activeName==='pending'" v-if="activeName==='pending'"
v-permission="'repayment_apply_btn'"
:disabled="!selectdList || !selectdList.length" :disabled="!selectdList || !selectdList.length"
>审批 >审批
</el-button> </el-button>
...@@ -68,6 +69,9 @@ ...@@ -68,6 +69,9 @@
import { ElMessageBox, ElMessage, ElButton } from 'element-plus'; import { ElMessageBox, ElMessage, ElButton } from 'element-plus';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { getTenantPage } from '@/api/tenant'; import { getTenantPage } from '@/api/tenant';
import { useAuthStore } from '@/stores/modules/auth';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const { RepayType, FlowStatus } = useDict("RepayType", "FlowStatus"); const { RepayType, FlowStatus } = useDict("RepayType", "FlowStatus");
const ProTableRef = ref(); const ProTableRef = ref();
const showModal = ref(false); const showModal = ref(false);
...@@ -277,9 +281,7 @@ ...@@ -277,9 +281,7 @@
{ {
field: 'loanPlatform', field: 'loanPlatform',
title: '借款平台', title: '借款平台',
showOverflow: 'tooltip', showOverflow: 'tooltip'
// search: { el: 'input', key: 'payOrg', labelWidth: 90 },
width: 100,
}, },
{ {
field: 'flowStatus', field: 'flowStatus',
...@@ -304,8 +306,7 @@ ...@@ -304,8 +306,7 @@
{ {
field: 'code', field: 'code',
title: '操作', title: '操作',
width: 120, visible: activeName.value === 'pending' && authButtonListGet.includes('repair_apply_btn') ? true : false,
visible: activeName.value === 'pending' ? true : false,
slots: { slots: {
default: ({ row, rowIndex }) => { default: ({ row, rowIndex }) => {
return ( return (
...@@ -315,7 +316,7 @@ ...@@ -315,7 +316,7 @@
</ElButton> </ElButton>
</> </>
); );
}, }
}, },
} }
], ],
......
This diff is collapsed.
<template>
<div class="table-box">
<ProTable ref="proTable" :config="config" :api="getContractPage" :paramCallback="paramCallback" :selectdList="selectdList">
<template #left_buttons>
<el-button type="primary" @click="addConstant()">新建合同</el-button>
</template>
</ProTable>
<addModel
ref="addModelRef"
@success="query"
></addModel>
</div>
</template>
<script setup lang="jsx" name="platformManage">
import { ref, reactive, onMounted } from 'vue';
import { Plus, Delete, Edit, Setting } from '@element-plus/icons-vue';
import { getContractPage } from '@/api/customer';
import { ElMessageBox, ElMessage, ElButton, ElTag } from 'element-plus';
import { useRouter } from 'vue-router';
import addModel from './components/addModel.vue';
import { useDict } from '@/hooks/useDict';
const { PaymentForm, ContractStatus } = useDict("PaymentForm", "ContractStatus");
const addModelRef = ref()
const proTable = ref(null);
const selectdList = ref([]);
const onCheckboxChange = (row) => {
selectdList.value = row.records;
};
const router = useRouter();
const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param));
if (obj['createTime']) {
if (obj['createTime'][0]) obj['createTimeBegin'] = obj['createTime'][0];
if (obj['createTime'][1]) obj['createTimeEnd'] = obj['createTime'][1];
delete obj['createTime'];
}
return obj;
};
const onCheckboxAll = (flag) => {
if (flag.checked) {
selectdList.value = flag.records;
} else {
selectdList.value = [];
}
};
const addConstant = (row) => {
addModelRef.value.openModal(row
);
};
const config = reactive({
onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll,
columns: [
// { type: 'checkbox', width: 60,fixed: 'left' },
{ field: 'id', title: '档案编号', slots: {
default: ({ row, rowIndex }) => {
return (
<>
{rowIndex + 1}
</>
);
},
}
},
{ field: 'id', title: '合同编号', search: { labelWidth: 85, el: 'input' }, slots: {
default: ({ row, rowIndex }) => {
return (
<>
<div
onClick={() => addConstant(row)}
className=" text-blue-400 cursor-pointer inline-block"
>
{row.contractNo}
</div>
</>
);
},
}
},
{
field: 'contractSignBody',
title: '合同签订主体',
search: { labelWidth: 85, el: 'input' }
},
{
field: 'businessName',
title: '业务名称',
search: { el: 'input',labelWidth: 85, props: { clearable: true } },
},
{ field: 'customerName', title: '客户名称', search: { labelWidth: 85, el: 'input' } },
{ field: 'idCard', title: '身份证号', search: { labelWidth: 85, el: 'input' } },
{
field: 'paymentForm',
title: '缴费形式',
showOverflow: 'tooltip',
width: 80,
enum: PaymentForm,
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.paymentForm
? PaymentForm.value?.find((v) => v.value === row.paymentForm)?.label
: ''}
</>
);
},
},
},
{ field: 'serviceFeeTotal', title: '服务费总额', search: { labelWidth: 85, el: 'input' } },
{ field: 'serviceTerm', title: '服务期限', search: { labelWidth: 85, el: 'input' } },
{ field: 'contractScanFile', title: '合同扫描件', search: { labelWidth: 85, el: 'input' } },
{ field: 'createTime', title: '创建日期', search: {
el: 'date-picker',
labelWidth: 85,
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
}, },
{ field: 'createBy', title: '创建人' },
{ field: 'contractStatus', title: '合同状态', showOverflow: 'tooltip',
width: 80,
enum: ContractStatus,
fieldNames: { label: 'label', value: 'value' },
slots: {
default: ({ row }) => {
return (
<>
{row.contractStatus
? ContractStatus.value?.find((v) => v.value === row.contractStatus)?.label
: ''}
</>
);
},
}, },
{ field: 'remark', title: '操作', fixed: 'right',
slots: {
default({ row }) {
return (
<>
<ElButton type="primary" link onClick={() => addConstant(row)}>
修改
</ElButton>
</>
);
},
}, },
],
});
const query = () => proTable.value?.search();
onMounted(() => {
query();
});
</script>
<template>
<div class="card content-box">
<span class="text"> 客户信息统计表(待完善) 🍓🍇🍈🍉</span>
</div>
</template>
<script setup name="dictManage"></script>
...@@ -431,7 +431,7 @@ ...@@ -431,7 +431,7 @@
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
showOverflow: 'tooltip', showOverflow: 'tooltip',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
width: 120, width: 120,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
......
...@@ -426,7 +426,7 @@ ...@@ -426,7 +426,7 @@
// { // {
// field: 'mergerCase', // field: 'mergerCase',
// title: '是否共案处理', // title: '是否共案处理',
// visible: authButtonListGet.includes('allcation_for_tenant'), // visible: authButtonListGet.includes('show_merger_case'),
// showOverflow: 'tooltip', // showOverflow: 'tooltip',
// width: 120, // width: 120,
// slots: { // slots: {
......
...@@ -299,7 +299,7 @@ ...@@ -299,7 +299,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -413,7 +413,7 @@ ...@@ -413,7 +413,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
slots: { slots: {
...@@ -426,7 +426,7 @@ ...@@ -426,7 +426,7 @@
field: 'canStages', field: 'canStages',
title: '分期是否可修改', title: '分期是否可修改',
showOverflow: 'tooltip', showOverflow: 'tooltip',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_can_stages'),
width: 100, width: 100,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
......
...@@ -462,7 +462,6 @@ ...@@ -462,7 +462,6 @@
}, },
}, },
enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }), enum: () => getTenantPage({ current: 1, size: 999999999, status: 'enable' }),
search: authButtonListGet.includes('allcation_for_tenant') ? { el: 'select', props: { filterable: true }, key: 'tenant', labelWidth: 90 } : null,
fieldNames: { label: 'name', value: 'id' }, fieldNames: { label: 'name', value: 'id' },
title: '调解中心', title: '调解中心',
width: 100, width: 100,
......
...@@ -438,7 +438,7 @@ ...@@ -438,7 +438,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'), visible: authButtonListGet.includes('show_merger_case'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
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