feat : 需求征集表单权限测试

This commit is contained in:
clay
2024-05-24 10:44:24 +08:00
parent 5b85abd219
commit 4953e96415
3 changed files with 52 additions and 20 deletions

View File

@@ -3,28 +3,28 @@
<el-form :model="formData" ref="demandForm" label-width="auto" :rules="rules">
<baseTitle title="需求征集详情"></baseTitle>
<el-row>
<el-col :span="12">
<el-col :span="12" v-if="checkFormPrem('requirementName')">
<el-form-item label="名称">
<span>{{ formData.requirementName }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="checkFormPrem('companyIds')">
<el-form-item label="所属公司">
<span>{{ formData.companyIds }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="checkFormPrem('collectType')">
<el-form-item label="征集类型">
<span>{{ formData.collectType }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="checkFormPrem('deadline')">
<el-form-item label="截止时间">
<span>{{ formData.deadline }}</span>
</el-form-item>
</el-col>
<baseTitle title="征集说明"></baseTitle>
<el-col :span="24">
<el-col :span="24" v-if="checkFormPrem('collectExplain')">
<el-form-item>
<el-card style="width: 100%">
<div v-html="formData.collectExplain">
@@ -33,7 +33,7 @@
</el-form-item>
</el-col>
<baseTitle title="附件列表"></baseTitle>
<el-col :span="24">
<el-col :span="24" v-if="checkFormPrem('collectExplain')">
<el-form-item>
<fvTable style="width: 100%;max-height: 200px" v-if="showTable" :tableConfig="tableConfig"
:data="formData.fileList" :isSettingCol="false" :pagination="false">
@@ -77,7 +77,7 @@
import OperationRender from '@/views/workflow/common/OperationRender.vue'
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'
import {useProcessStore} from '@/stores/processStore.js';
import {getInfo, agreeTask, rejectTask,downloadFile} from "@/api/project-demand/index.js";
import {getInfo, agreeTask, rejectTask, downloadFile} from "@/api/project-demand/index.js";
import {getSubCompOpt} from '@/api/user/user.js'
import {ElMessage} from "element-plus";
import {useTagsView} from '@/stores/tagsview.js'
@@ -91,6 +91,7 @@ const loading = ref(false)
const demandForm = ref()
const processStore = useProcessStore()
const companyOption = ref([])
const formPermMap = ref(new Map());
const processInstanceData = ref({})
const showTable = ref(false)
const processDiagramViewer = ref(false)
@@ -137,6 +138,22 @@ const tableConfig = reactive({
}
]
})
const checkFormPrem = (formKey) => {
if (formPermMap.value.hasOwnProperty(formKey)) {
let formItem = formPermMap.value[formKey];
return formItem.perm === 'READ'
} else {
return true;
}
}
const fromPrem = (formKey) => {
let formItem = formPermMap.value[formKey];
return formItem.perm
}
const handleSubmit = () => {
let approve = {
taskId: processInstanceData.value.taskId,
@@ -184,7 +201,7 @@ const getCompanyOption = async () => {
const getDataSourceOptionItem = (val) => {
if (val !== undefined) {
val.forEach(item => {
matterTree(companyNameArray.value,companyOption.value, item)
matterTree(companyNameArray.value, companyOption.value, item)
})
}
return companyNameArray.value.join('');
@@ -194,7 +211,7 @@ const handleDownload = (row) => {
downloadFile(row.fileId).then(res => {
const blob = new Blob([res])
let a = document.createElement('a')
a.href=URL.createObjectURL(blob)
a.href = URL.createObjectURL(blob)
a.download = row.originalFileName
a.click()
})
@@ -203,7 +220,7 @@ const init = async () => {
if (!route.query.id) return;
await getCompanyOption()
getInfo(route.query.id).then(res => {
loading.value=false
loading.value = false
let data = res.data
formData.value = data.formData;
data.formData.companyIds = getDataSourceOptionItem(data.formData.companyIds)
@@ -221,7 +238,7 @@ const init = async () => {
})
}
onMounted(async () => {
loading.value=true
loading.value = true
await init()
})
</script>