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

业务审批

parent 9257b031
...@@ -262,6 +262,8 @@ ...@@ -262,6 +262,8 @@
import { saveTrackRecord } from '@/api/property'; import { saveTrackRecord } from '@/api/property';
import { auditAudit } from '@/api/audit'; import { auditAudit } from '@/api/audit';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { useAuthStore } from '@/stores/modules/auth';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const downloadfile = inject('download'); const downloadfile = inject('download');
...@@ -429,6 +431,7 @@ ...@@ -429,6 +431,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -271,6 +271,7 @@ ...@@ -271,6 +271,7 @@
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import Decimal from 'decimal.js'; import Decimal from 'decimal.js';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { useAuthStore } from '@/stores/modules/auth';
import { inject } from 'vue'; import { inject } from 'vue';
const { PhoneResultStatus, RepayStatus, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayStatus", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, RepayStatus, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayStatus", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
...@@ -285,6 +286,7 @@ ...@@ -285,6 +286,7 @@
const dialogVisible = ref(false); const dialogVisible = ref(false);
const downloadfile = inject('download'); const downloadfile = inject('download');
import { useUserStore } from '@/stores/modules/user'; import { useUserStore } from '@/stores/modules/user';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const userStore = useUserStore(); const userStore = useUserStore();
...@@ -506,6 +508,7 @@ ...@@ -506,6 +508,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
...@@ -516,6 +519,7 @@ ...@@ -516,6 +519,7 @@
}, },
{ {
field: 'canStages', field: 'canStages',
visible: authButtonListGet.includes('allcation_for_tenant'),
title: '分期是否可修改', title: '分期是否可修改',
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
......
...@@ -205,6 +205,7 @@ ...@@ -205,6 +205,7 @@
import { import {
listByBorrower listByBorrower
} from '@/api/property'; } from '@/api/property';
import { useAuthStore } from '@/stores/modules/auth';
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import { watch } from 'vue'; import { watch } from 'vue';
import Decimal from 'decimal.js'; import Decimal from 'decimal.js';
...@@ -212,6 +213,7 @@ ...@@ -212,6 +213,7 @@
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { inject } from 'vue'; import { inject } from 'vue';
import { useUserStore } from '@/stores/modules/user'; import { useUserStore } from '@/stores/modules/user';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const userStore = useUserStore(); const userStore = useUserStore();
...@@ -348,6 +350,7 @@ ...@@ -348,6 +350,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -256,6 +256,8 @@ ...@@ -256,6 +256,8 @@
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { computed, inject } from 'vue'; import { computed, inject } from 'vue';
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { useAuthStore } from '@/stores/modules/auth';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
import { ElInputNumber, ElMessage,ElTag } from 'element-plus'; import { ElInputNumber, ElMessage,ElTag } from 'element-plus';
import { Upload, Download } from '@element-plus/icons-vue'; import { Upload, Download } from '@element-plus/icons-vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
...@@ -430,6 +432,7 @@ ...@@ -430,6 +432,7 @@
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
showOverflow: 'tooltip', showOverflow: 'tooltip',
visible: authButtonListGet.includes('allcation_for_tenant'),
width: 120, width: 120,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
......
...@@ -243,6 +243,8 @@ ...@@ -243,6 +243,8 @@
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { saveTrackRecord } from '@/api/property'; import { saveTrackRecord } from '@/api/property';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { useAuthStore } from '@/stores/modules/auth';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload'; const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload';
...@@ -426,6 +428,7 @@ ...@@ -426,6 +428,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -159,6 +159,7 @@ ...@@ -159,6 +159,7 @@
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { useUserStore } from '@/stores/modules/user'; import { useUserStore } from '@/stores/modules/user';
import { useAuthStore } from '@/stores/modules/auth';
import { inject } from 'vue'; import { inject } from 'vue';
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const userStore = useUserStore(); const userStore = useUserStore();
...@@ -166,6 +167,7 @@ ...@@ -166,6 +167,7 @@
const emits = defineEmits(['success']); const emits = defineEmits(['success']);
const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload'; const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload';
const showModal = ref(false); const showModal = ref(false);
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const tabledata = ref([]); const tabledata = ref([]);
const ProTableRef = ref(); const ProTableRef = ref();
const mypictureRef = ref(); const mypictureRef = ref();
...@@ -297,6 +299,7 @@ ...@@ -297,6 +299,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 120, width: 120,
slots: { slots: {
......
...@@ -185,11 +185,13 @@ ...@@ -185,11 +185,13 @@
import { Download, ZoomIn, Delete } from '@element-plus/icons-vue'; import { Download, ZoomIn, Delete } from '@element-plus/icons-vue';
import Decimal from 'decimal.js'; import Decimal from 'decimal.js';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
import { useAuthStore } from '@/stores/modules/auth';
import { inject } from 'vue'; import { inject } from 'vue';
import { useUserStore } from '@/stores/modules/user'; import { useUserStore } from '@/stores/modules/user';
const userStore = useUserStore(); const userStore = useUserStore();
const { PhoneResultStatus, RepayStatus, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayStatus", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, RepayStatus, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","RepayStatus", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const envs = getAppEnvConfig(); const envs = getAppEnvConfig();
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload'; const url = envs.VITE_GLOB_API_URL_PREFIX + '/sys/upload';
const ProTableRef = ref(); const ProTableRef = ref();
...@@ -406,6 +408,7 @@ ...@@ -406,6 +408,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
showOverflow: 'tooltip', showOverflow: 'tooltip',
width: 100, width: 100,
slots: { slots: {
...@@ -418,6 +421,7 @@ ...@@ -418,6 +421,7 @@
field: 'canStages', field: 'canStages',
title: '分期是否可修改', title: '分期是否可修改',
showOverflow: 'tooltip', showOverflow: 'tooltip',
visible: authButtonListGet.includes('allcation_for_tenant'),
width: 100, width: 100,
slots: { slots: {
default: ({ row }) => { default: ({ row }) => {
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
<!-- <el-button type="primary" @click="repair" <!-- <el-button type="primary" @click="repair"
v-permission="'repair_apply'" v-permission="'repair_apply'"
>修复申请</el-button> --> >修复申请</el-button> -->
<el-button type="primary" @click="reduce">减免申请</el-button> <el-button type="primary" @click="reduce" :disabled="detail && detail.repayStatus && detail.repayStatus === 'over'">减免申请</el-button>
<el-button type="primary" @click="split">分期申请</el-button> <el-button type="primary" @click="split" :disabled="detail && detail.repayStatus && detail.repayStatus === 'over'">分期申请</el-button>
</div> </div>
<div class="detail-steps" style="display: none"> <div class="detail-steps" style="display: none">
<el-steps :active="activeStep"> <el-steps :active="activeStep">
...@@ -558,7 +558,7 @@ ...@@ -558,7 +558,7 @@
<script setup lang="jsx" name="caseDetail"> <script setup lang="jsx" name="caseDetail">
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { reactive, ref, onBeforeMount, onMounted, nextTick } from 'vue'; import { reactive, ref, onBeforeMount, onMounted, nextTick } from 'vue';
import { ElButton, ElTag } from 'element-plus'; import { ElButton, ElTag, ElMessage } from 'element-plus';
import repairModal from './components/repairModal.vue'; import repairModal from './components/repairModal.vue';
import returnModal from './components/returnModal.vue'; import returnModal from './components/returnModal.vue';
import reduceDrawer from './components/reduceDrawer.vue'; import reduceDrawer from './components/reduceDrawer.vue';
...@@ -907,6 +907,12 @@ ...@@ -907,6 +907,12 @@
repairModalRef.value.openModal(JSON.parse(JSON.stringify(detail.value))); repairModalRef.value.openModal(JSON.parse(JSON.stringify(detail.value)));
}; };
const reduce = () => { const reduce = () => {
if(!recordData.value || recordData.value.length === 0) {
return ElMessage.warning({
message: '要先跟进后才可以申请减免',
plain: true,
});
}
reduceDrawerRef.value.openModal( reduceDrawerRef.value.openModal(
JSON.parse(JSON.stringify(detail.value)), JSON.parse(JSON.stringify(detail.value)),
JSON.parse(JSON.stringify(caseDetailConfig.data)) JSON.parse(JSON.stringify(caseDetailConfig.data))
...@@ -996,7 +1002,7 @@ ...@@ -996,7 +1002,7 @@
default: ({ row, rowIndex }) => { default: ({ row, rowIndex }) => {
return ( return (
<> <>
<ElButton type="primary" onClick={() => returnCrash(row, '直接还款')}> <ElButton type="primary" onClick={() => returnCrash(row, '直接还款')} disabled={row.repayStatus == 'over'}>
还款 还款
</ElButton> </ElButton>
</> </>
...@@ -1158,7 +1164,7 @@ ...@@ -1158,7 +1164,7 @@
<ElButton <ElButton
type="primary" type="primary"
onClick={() => returnCrash(row, '分期还款')} onClick={() => returnCrash(row, '分期还款')}
disabled={row.repayStatus === 'over' || splitCurrent.value.flowStatus !== 'pass'} disabled={row.repayStatus === 'over' || splitCurrent.value.flowStatus !== 'pass' || (detail.value.repayStatus && detail.value.repayStatus === 'over')}
> >
还款 还款
</ElButton> </ElButton>
...@@ -1318,7 +1324,7 @@ ...@@ -1318,7 +1324,7 @@
<ElButton <ElButton
type="primary" type="primary"
onClick={() => returnCrash(row, '结清减免还款')} onClick={() => returnCrash(row, '结清减免还款')}
disabled={row.repayStatus === 'over' || row.flowStatus !== 'pass'} disabled={row.repayStatus === 'over' || row.flowStatus !== 'pass' ||(detail.value.repayStatus && detail.value.repayStatus === 'over')}
> >
还款 还款
</ElButton> </ElButton>
......
...@@ -271,6 +271,9 @@ ...@@ -271,6 +271,9 @@
const loadProgress = ref(0); const loadProgress = ref(0);
const dialogImageUrl = ref(''); const dialogImageUrl = ref('');
const dialogVisible = ref(false); const dialogVisible = ref(false);
import { useAuthStore } from '@/stores/modules/auth';
const { authButtonListGet } = useAuthStore(); // 获取用户权限列表
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const props = defineProps({ const props = defineProps({
...@@ -436,6 +439,7 @@ ...@@ -436,6 +439,7 @@
{ {
field: 'mergerCase', field: 'mergerCase',
title: '是否共案处理', title: '是否共案处理',
visible: authButtonListGet.includes('allcation_for_tenant'),
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