Merge pull request 'master' (#863) from master into prod
Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/863
This commit is contained in:
@@ -68,6 +68,10 @@ const props = defineProps({
|
|||||||
type: Array,
|
type: Array,
|
||||||
default: []
|
default: []
|
||||||
},
|
},
|
||||||
|
basicData: {
|
||||||
|
type: Object,
|
||||||
|
default: {}
|
||||||
|
},
|
||||||
fileListShow: {
|
fileListShow: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'READ'
|
default: 'READ'
|
||||||
@@ -251,7 +255,7 @@ const schema = computed(() => {
|
|||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
<select-pre-process formData={props.formData}/>
|
<select-pre-process formData={props.formData} basicData={props.basicData}/>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
@@ -304,7 +308,7 @@ const schema = computed(() => {
|
|||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
<select-pre-process formData={props.formData}/>
|
<select-pre-process formData={props.formData} basicData={props.basicData}/>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -132,13 +132,13 @@ const back = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'Summary/detail':
|
// case 'Summary/detail':
|
||||||
if (route.query.source === 'home') {
|
// if (route.query.source === 'home') {
|
||||||
router.push('/home')
|
// router.push('/home')
|
||||||
} else {
|
// } else {
|
||||||
router.push({name: 'Summary'})
|
// router.push({name: 'Summary'})
|
||||||
}
|
// }
|
||||||
break;
|
// break;
|
||||||
case 'Requirement/detail':
|
case 'Requirement/detail':
|
||||||
if (route.query.source === 'home') {
|
if (route.query.source === 'home') {
|
||||||
router.push('/home')
|
router.push('/home')
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="display: flex;align-items: center;flex-wrap: wrap;">
|
<div style="display: flex;align-items: center;flex-wrap: wrap;">
|
||||||
<el-button color="#DED0B2" @click="handleShowPreTable" style="margin-right: 10px">
|
<el-button color="#DED0B2" @click="handleShowPreTable" style="margin-right: 10px">
|
||||||
{{
|
{{
|
||||||
localFormData.preProcess && localFormData.preProcess.length > 0 ? '更改' : '请选择前置流程'
|
localFormData.preProcess && localFormData.preProcess.length > 0 ? '更改' : '请选择前置流程'
|
||||||
}}
|
}}
|
||||||
</el-button>
|
</el-button>
|
||||||
<div v-for="(item,index) in localFormData.preProcess" :key="item.requestId">
|
<div v-for="(item,index) in localFormData.preProcess" :key="item.requestId">
|
||||||
<a :href="item.baseUrl" target="_blank"
|
<a :href="item.baseUrl" target="_blank"
|
||||||
style="color: #2a99ff;cursor: pointer">{{ item.requestName }}<span v-if="index != localFormData.preProcess.length -1">,</span>
|
style="color: #2a99ff;cursor: pointer">{{ item.requestName }}<span
|
||||||
</a>
|
v-if="index != localFormData.preProcess.length -1">,</span>
|
||||||
</div>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<el-dialog v-if="showPreTable" title="前置流程" v-model="showPreTable" width="80%">
|
<el-dialog v-if="showPreTable" title="前置流程" v-model="showPreTable" width="80%">
|
||||||
<el-form :model="preProcessForm" inline @submit.prevent="getPreProcessList">
|
<el-form :model="preProcessForm" inline @submit.prevent="getPreProcessList">
|
||||||
<el-form-item label="请求名称">
|
<el-form-item label="请求名称">
|
||||||
@@ -21,6 +22,9 @@
|
|||||||
<el-button color="#DED0B2" @click="getPreProcessList">搜索</el-button>
|
<el-button color="#DED0B2" @click="getPreProcessList">搜索</el-button>
|
||||||
<el-button @click="handleReset">重置</el-button>
|
<el-button @click="handleReset">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-tag style="font-size: 14px">{{ getPreProcessTag(localFormData.projectImpact,basicData.projectImpact) }}</el-tag>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table :data="preProcessList" v-loading="loading"
|
<el-table :data="preProcessList" v-loading="loading"
|
||||||
@select="handleSelect" @select-all="handleSelect" row-key="requestId" ref="preProcessTable">
|
@select="handleSelect" @select-all="handleSelect" row-key="requestId" ref="preProcessTable">
|
||||||
@@ -53,11 +57,16 @@ import {
|
|||||||
getPreProcess
|
getPreProcess
|
||||||
} from "@/api/project-manage";
|
} from "@/api/project-manage";
|
||||||
import Paging from "@/components/pagination/index.vue";
|
import Paging from "@/components/pagination/index.vue";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
formData: {
|
formData: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: {}
|
default: {}
|
||||||
},
|
},
|
||||||
|
basicData: {
|
||||||
|
type: Object,
|
||||||
|
default: {}
|
||||||
|
},
|
||||||
})
|
})
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
//暂存数据
|
//暂存数据
|
||||||
@@ -84,6 +93,24 @@ const pageInfo = reactive({
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
})
|
})
|
||||||
|
const getPreProcessTag = (impact,basicImpact) => {
|
||||||
|
let data=''
|
||||||
|
if(impact){
|
||||||
|
data= impact
|
||||||
|
}else if(basicImpact){
|
||||||
|
data= basicImpact
|
||||||
|
}
|
||||||
|
if (data == 1) {
|
||||||
|
//一般项目
|
||||||
|
return '一般项目20万以下要总经理审批'
|
||||||
|
} else if (data == 2) {
|
||||||
|
//重大项目
|
||||||
|
return '重大项目20万元到500万元之间要总办会审批'
|
||||||
|
} else if (data == 3) {
|
||||||
|
//特别重大项目
|
||||||
|
return '特别重大项目500万元以上要董事会审批'
|
||||||
|
}
|
||||||
|
}
|
||||||
const handleReset = () => {
|
const handleReset = () => {
|
||||||
preProcessForm.requestName = ''
|
preProcessForm.requestName = ''
|
||||||
getPreProcessList()
|
getPreProcessList()
|
||||||
@@ -152,7 +179,7 @@ const handleCurrentChange = (val) => {
|
|||||||
preProcessList.value = currentList.value.slice((val - 1) * pageInfo.pageSize, val * pageInfo.pageSize)
|
preProcessList.value = currentList.value.slice((val - 1) * pageInfo.pageSize, val * pageInfo.pageSize)
|
||||||
};
|
};
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
return Object.keys(props.formData).length && (localFormData.value = props.formData)
|
return Object.keys(props.formData).length && (localFormData.value = props.formData)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -595,6 +595,7 @@ const getBaseInfo = async () => {
|
|||||||
localStepSuccess.value = formatProcedure(data.procedure)
|
localStepSuccess.value = formatProcedure(data.procedure)
|
||||||
baseForm.value.setValues(data)
|
baseForm.value.setValues(data)
|
||||||
baseFormData.value = data
|
baseFormData.value = data
|
||||||
|
emits('getBasicData', data)
|
||||||
emits('setDetail', formatActive(localActive.value))
|
emits('setDetail', formatActive(localActive.value))
|
||||||
loading.close()
|
loading.close()
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
|
|||||||
@@ -85,16 +85,18 @@ const handleView = (row) => {
|
|||||||
source: 'home'
|
source: 'home'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (row.targetState == '10' && row.targetId) {
|
}
|
||||||
router.push({
|
// else if (row.targetState == '10' && row.targetId) {
|
||||||
name: 'Summary/detail',
|
// router.push({
|
||||||
query: {
|
// name: 'Summary/detail',
|
||||||
projectId: row.targetId,
|
// query: {
|
||||||
state: row.state,
|
// projectId: row.targetId,
|
||||||
source: 'home'
|
// state: row.state,
|
||||||
}
|
// source: 'home'
|
||||||
})
|
// }
|
||||||
} else if (row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
// })
|
||||||
|
// }
|
||||||
|
else if (row.targetState == '10' ||row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
||||||
router.push({
|
router.push({
|
||||||
name: 'Implementation/detail',
|
name: 'Implementation/detail',
|
||||||
query: {
|
query: {
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ const tableConfig = reactive({
|
|||||||
prop: 'projectImpact',
|
prop: 'projectImpact',
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 120,
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
if (row.projectImpact && row.projectImpact !== null && row.projectImpact !== undefined) {
|
if (row.projectImpact && row.projectImpact !== null && row.projectImpact !== undefined) {
|
||||||
|
|||||||
@@ -1,537 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="home-bg" v-if="AuthStore.roles.length">
|
|
||||||
<el-row gutter="20">
|
|
||||||
<el-col :xs="24" :sm="24" :md="18" :lg="18" :xl="18">
|
|
||||||
<div class="left">
|
|
||||||
<h3>我的科创工作</h3>
|
|
||||||
<el-row :gutter="20" class="statistics">
|
|
||||||
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-for="(item,index) in list" :key="index">
|
|
||||||
<div class="block" :style="{background: item.color}">
|
|
||||||
<svg-icon :name="item.icon" :class-name="'home-icon'"/>
|
|
||||||
<div class="block-right">
|
|
||||||
<span>{{ item.title }}</span>
|
|
||||||
<span :style="{color: item.textColor}">{{ item.num }}<span>个</span></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-tabs v-model="activeName" class="demo-tabs">
|
|
||||||
<el-tab-pane :label="'待办('+todoNum +')'" name="first" v-loading="loading">
|
|
||||||
<fvTable ref="tableConfigBacklogRef" class="home-table" :tableConfig="tableConfigBacklog" @getTotal="getTotal">
|
|
||||||
<template #empty>
|
|
||||||
<el-empty description="暂无待办"/>
|
|
||||||
</template>
|
|
||||||
</fvTable>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="'待上报(' + reportNum + ')'" name="second">
|
|
||||||
<fvTable ref="tableConfigReportRef" :tableConfig="tableConfigReport" @getTotal="getReportNumTotal">
|
|
||||||
<template #empty>
|
|
||||||
<el-empty description="暂无数据"/>
|
|
||||||
</template>
|
|
||||||
</fvTable>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :xs="24" :sm="24" :md="6" :lg="6" :xl="6">
|
|
||||||
<div class="right">
|
|
||||||
<div class="right-top ">
|
|
||||||
<div>
|
|
||||||
<h3>帮助文档</h3>
|
|
||||||
<span>查看更多</span>
|
|
||||||
</div>
|
|
||||||
<el-divider/>
|
|
||||||
<div v-for="item in helpDocList" class="help">
|
|
||||||
{{ item.title }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="right-top">
|
|
||||||
<div>
|
|
||||||
<h3>工具下载</h3>
|
|
||||||
<span>常用网站</span>
|
|
||||||
</div>
|
|
||||||
<el-divider/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
<div v-else style="display: flex; justify-content: center; align-items: center; height: 100%;">
|
|
||||||
您没有任何角色, 请联系管理员!
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="jsx">
|
|
||||||
import 'element-plus/theme-chalk/display.css'
|
|
||||||
import {useAuthStore} from '@/stores/userstore.js'
|
|
||||||
|
|
||||||
const AuthStore = useAuthStore()
|
|
||||||
const router = useRouter()
|
|
||||||
const activeName = ref('first')
|
|
||||||
const tableConfigBacklogRef=ref()
|
|
||||||
const tableConfigReportRef=ref()
|
|
||||||
const list = ref([
|
|
||||||
{
|
|
||||||
title: '待立项',
|
|
||||||
color: '#CEE8FA',
|
|
||||||
textColor: '#0043C5',
|
|
||||||
icon: 'home1',
|
|
||||||
num: 21
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '待评审',
|
|
||||||
color: '#DCCEFA',
|
|
||||||
textColor: '#8600C5',
|
|
||||||
icon: 'home2',
|
|
||||||
num: 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '待验收',
|
|
||||||
color: '#FAE6CE',
|
|
||||||
textColor: '#F47D0E',
|
|
||||||
icon: 'home3',
|
|
||||||
num: 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '待归档',
|
|
||||||
color: '#CEFAD8',
|
|
||||||
textColor: '#01A089',
|
|
||||||
icon: 'home4',
|
|
||||||
num: 1
|
|
||||||
}
|
|
||||||
])
|
|
||||||
const helpDocList = ref([
|
|
||||||
{
|
|
||||||
title: '业务流程'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '业务流程'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '业务流程'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '业务流程'
|
|
||||||
}
|
|
||||||
])
|
|
||||||
const todoNum = ref(0)
|
|
||||||
const reportNum = ref(0)
|
|
||||||
const auths = {
|
|
||||||
edit: ['mosr:requirement:resubmit'],
|
|
||||||
detail: ['mosr:requirement:info'],
|
|
||||||
add: ['mosr:requirement:add'],
|
|
||||||
del: ['mosr:requirement:del'],
|
|
||||||
report: ['mosr:collect:reported'],
|
|
||||||
}
|
|
||||||
const tableConfigBacklog = reactive({
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
prop: 'index',
|
|
||||||
type: 'index',
|
|
||||||
label: '序号',
|
|
||||||
align: 'center',
|
|
||||||
width:85,
|
|
||||||
index: index => {
|
|
||||||
return (tableConfigBacklogRef.value.getQuery().pageNum - 1) * tableConfigBacklogRef.value.getQuery().pageSize + index + 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'targetName',
|
|
||||||
label: '流程名称',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'initiatorName',
|
|
||||||
label: '发起人',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'targetState',
|
|
||||||
label: '流程类型',
|
|
||||||
align: 'center',
|
|
||||||
showOverflowTooltip: false,
|
|
||||||
currentRender: ({row, index}) => {
|
|
||||||
if (row.targetState !== null || row.targetState !== undefined) {
|
|
||||||
return (<Tag dictType={'todo_type'} value={row.targetState}/>)
|
|
||||||
} else {
|
|
||||||
return '--'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'submitTime',
|
|
||||||
label: '提交时间',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'taskName',
|
|
||||||
label: '当前节点',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'oper',
|
|
||||||
label: '操作',
|
|
||||||
fixed: 'right',
|
|
||||||
width: '150',
|
|
||||||
align: 'center',
|
|
||||||
showOverflowTooltip: false,
|
|
||||||
currentRender: ({row, index}) => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<el-button type="primary" link onClick={() => handleView(row)}>查看</el-button>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
api: '/workflow/mosr/process/task',
|
|
||||||
params: {},
|
|
||||||
})
|
|
||||||
const tableConfigReport = reactive({
|
|
||||||
columns: [
|
|
||||||
// {
|
|
||||||
// type: 'selection',
|
|
||||||
// prop: 'selection'
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
prop: 'index',
|
|
||||||
type: 'index',
|
|
||||||
label: '序号',
|
|
||||||
align: 'center',
|
|
||||||
width:85,
|
|
||||||
index: index => {
|
|
||||||
return (tableConfigReportRef.value.getQuery().pageNum - 1) * tableConfigReportRef.value.getQuery().pageSize + index + 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'requirementName',
|
|
||||||
label: '征集名称',
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'collectType',
|
|
||||||
label: '征集类型',
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'companyName',
|
|
||||||
label: '征集公司',
|
|
||||||
align: 'center',
|
|
||||||
// currentRender: ({row, index}) => (
|
|
||||||
// <div style={{width: '300px', textOverflow: 'ellipsis',textAlign:'center'}}>{row.companyName}</div>)
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// prop: 'approveName',
|
|
||||||
// label: '审批人',
|
|
||||||
// align: 'center'
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
prop: 'deadline',
|
|
||||||
label: '截止时间',
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// prop: 'taskNode',
|
|
||||||
// label: '当前节点',
|
|
||||||
// align: 'center'
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
prop: 'state',
|
|
||||||
label: '状态',
|
|
||||||
align: 'center',
|
|
||||||
width: 200,
|
|
||||||
showOverflowTooltip: false,
|
|
||||||
currentRender: ({row, index}) => (<Tag dictType={'demand_collection'} value={row.state}/>)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'oper',
|
|
||||||
label: '操作',
|
|
||||||
align: 'center',
|
|
||||||
fixed: 'right',
|
|
||||||
showOverflowTooltip: false,
|
|
||||||
currentRender: ({row, index}) => {
|
|
||||||
let btn = []
|
|
||||||
let buttons = new Set(Array.from(row.buttons))
|
|
||||||
if (buttons.has("details")) {
|
|
||||||
btn.push({label: '详情', prem: auths.detail, func: () => handleDetail(row), type: 'primary'})
|
|
||||||
}
|
|
||||||
if (buttons.has("report")) {
|
|
||||||
btn.push({label: '需求上报', prem: auths.report, func: () => handleReport(row), type: 'primary'})
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
<div style={{width: '100%'}}>
|
|
||||||
{
|
|
||||||
btn.map(item => (
|
|
||||||
<el-button
|
|
||||||
type={item.type}
|
|
||||||
v-perm={item.prem}
|
|
||||||
onClick={() => item.func()}
|
|
||||||
link
|
|
||||||
>
|
|
||||||
{item.label}
|
|
||||||
</el-button>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
api: '/workflow/mosr/requirement',
|
|
||||||
params: {
|
|
||||||
state: "4"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const handleDetail = (row) => {
|
|
||||||
router.push({
|
|
||||||
name: 'Requirement/detail',
|
|
||||||
query: {
|
|
||||||
id: row.requirementId
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
const handleReport = (row) => {
|
|
||||||
router.push({
|
|
||||||
name: 'Summary/add',
|
|
||||||
query: {
|
|
||||||
id: row.requirementId
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
const getTotal = (val) => {
|
|
||||||
todoNum.value = val
|
|
||||||
}
|
|
||||||
const getReportNumTotal = (val) => {
|
|
||||||
reportNum.value = val
|
|
||||||
}
|
|
||||||
const handleView = (row) => {
|
|
||||||
if (row.targetState == '00' && row.targetId) {
|
|
||||||
router.push({
|
|
||||||
name: 'Requirement/detail',
|
|
||||||
query: {
|
|
||||||
id: row.targetId,
|
|
||||||
source: 'home'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else if (row.targetState == '10' && row.targetId) {
|
|
||||||
router.push({
|
|
||||||
name: 'Summary/detail',
|
|
||||||
query: {
|
|
||||||
projectId: row.targetId,
|
|
||||||
state: row.state,
|
|
||||||
source: 'home'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else if (row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
|
||||||
router.push({
|
|
||||||
name: 'Implementation/detail',
|
|
||||||
query: {
|
|
||||||
projectId: row.targetId,
|
|
||||||
state: row.state,
|
|
||||||
step: row.targetState,
|
|
||||||
source: 'home'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else if (row.targetState == '70' && row.targetId) {
|
|
||||||
router.push({
|
|
||||||
name: 'Fund/detail',
|
|
||||||
query: {
|
|
||||||
id: row.targetId,
|
|
||||||
state: row.state,
|
|
||||||
source: 'home'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else if (row.targetState == '80' && row.targetId) {
|
|
||||||
router.push({
|
|
||||||
name: 'Share/detail',
|
|
||||||
query: {
|
|
||||||
id: row.targetId,
|
|
||||||
state: row.state,
|
|
||||||
source: 'home'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else if (row.targetState == '90' && row.targetId) {
|
|
||||||
router.push({
|
|
||||||
name: 'Phase/detail',
|
|
||||||
query: {
|
|
||||||
projectId: row.targetId,
|
|
||||||
source: 'home'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
:deep(.el-tabs__nav-scroll) {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.el-tabs__nav {
|
|
||||||
display: flex;
|
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
.el-tabs__item {
|
|
||||||
flex: 1;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.is-active {
|
|
||||||
color: black;
|
|
||||||
//background-color: #DED0B2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media only screen and (max-width: 767px) {
|
|
||||||
.right {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
:deep(.el-table) {
|
|
||||||
height: 300px !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 1000px) {
|
|
||||||
.right {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
:deep(.el-table) {
|
|
||||||
height: 300px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.home-bg {
|
|
||||||
height: calc(100vh - 130px);
|
|
||||||
max-height: calc(100vh - 96px);
|
|
||||||
background-color: #EFEFEF;
|
|
||||||
position: absolute;
|
|
||||||
left: 18px;
|
|
||||||
right: 0;
|
|
||||||
overflow-x: hidden;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
width: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 滚动条轨道
|
|
||||||
&::-webkit-scrollbar-track {
|
|
||||||
background: rgb(239, 239, 239);
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 小滑块
|
|
||||||
&::-webkit-scrollbar-thumb {
|
|
||||||
background: rgba(80, 81, 82, 0.29);
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left {
|
|
||||||
//flex: 0.8;
|
|
||||||
padding: 15px;
|
|
||||||
height: 100%;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #ffffff;
|
|
||||||
|
|
||||||
|
|
||||||
.el-table__empty-block {
|
|
||||||
.el-empty {
|
|
||||||
padding: 10px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.statistics {
|
|
||||||
width: 99%;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
.block {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #e9edf2;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 25px;
|
|
||||||
margin-top: 15px;
|
|
||||||
|
|
||||||
.block-right {
|
|
||||||
margin-left: 15%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
color: #92969a;
|
|
||||||
font-size: 17px;
|
|
||||||
|
|
||||||
> span:first-child {
|
|
||||||
white-space: nowrap;
|
|
||||||
color: #000000;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
> span:last-child {
|
|
||||||
white-space: nowrap;
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
> span {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.right {
|
|
||||||
height: calc(100vh - 130px);
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.right-top {
|
|
||||||
flex: 0.5;
|
|
||||||
padding: 15px;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right-top {
|
|
||||||
flex: 0.48;
|
|
||||||
|
|
||||||
> div:first-child {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
white-space: nowrap;
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
> span {
|
|
||||||
white-space: nowrap;
|
|
||||||
color: #927648;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-divider--horizontal {
|
|
||||||
height: 3px;
|
|
||||||
background: #D9D9D9;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.help {
|
|
||||||
height: 61px;
|
|
||||||
line-height: 61px;
|
|
||||||
padding-left: 15px;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background: #FBFBF7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
@@ -766,16 +766,18 @@ const handleView = (row) => {
|
|||||||
source: 'home'
|
source: 'home'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (row.targetState == '10' && row.targetId) {
|
}
|
||||||
router.push({
|
// else if (row.targetState == '10' && row.targetId) {
|
||||||
name: 'Summary/detail',
|
// router.push({
|
||||||
query: {
|
// name: 'Summary/detail',
|
||||||
projectId: row.targetId,
|
// query: {
|
||||||
state: row.state,
|
// projectId: row.targetId,
|
||||||
source: 'home'
|
// state: row.state,
|
||||||
}
|
// source: 'home'
|
||||||
})
|
// }
|
||||||
} else if (row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
// })
|
||||||
|
// }
|
||||||
|
else if (row.targetState == '10'||row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
||||||
router.push({
|
router.push({
|
||||||
name: 'Implementation/detail',
|
name: 'Implementation/detail',
|
||||||
query: {
|
query: {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<steps :active="route.query.id==='-1'?0:1" @setDetail="setDetail" @stepChange="stepChange"
|
<steps :active="route.query.id==='-1'?0:1" @setDetail="setDetail" @stepChange="stepChange"
|
||||||
:reportType="route.query.id==='-1'?'direct':''">
|
:reportType="route.query.id==='-1'?'direct':''" :taskId="summaryData.taskId" >
|
||||||
<template #content>
|
<template #content>
|
||||||
<collection-detail v-show="showActive == '00'" :formData="summaryData.formData" :data="summaryData"
|
<collection-detail v-show="showActive == '00'" :formData="summaryData.formData" :data="summaryData"
|
||||||
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow"
|
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow"
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ const tableConfig = reactive({
|
|||||||
prop: 'projectImpact',
|
prop: 'projectImpact',
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 120,
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
if (row.projectImpact !== null) {
|
if (row.projectImpact !== null) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<steps :active="route.query.id==='-1'?currentStep-1:currentStep" @setDetail="setDetail" @stepChange="stepChange"
|
<steps :active="route.query.id==='-1'?currentStep-1:currentStep" @setDetail="setDetail" @stepChange="stepChange" @getBasicData="getBasicData"
|
||||||
:reportType="route.query.id==='-1'?'direct':''" :taskId="detailData.taskId" :editShow="editShow" :mode="mode">
|
:reportType="route.query.id==='-1'?'direct':''" :taskId="detailData.taskId" :editShow="editShow" :mode="mode">
|
||||||
<template #content v-if="detailShow">
|
<template #content v-if="detailShow">
|
||||||
<collection-detail :formData="detailData.formData"
|
<collection-detail :formData="detailData.formData"
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
:processViewer="commonProvessViewer"
|
:processViewer="commonProvessViewer"
|
||||||
:fileListShow="fileListShow"
|
:fileListShow="fileListShow"
|
||||||
:preProcessShow="preProcessShow"
|
:preProcessShow="preProcessShow"
|
||||||
|
:basicData="basicData"
|
||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
<div v-if="showActive == '30'&&!editShow">
|
<div v-if="showActive == '30'&&!editShow">
|
||||||
<project-attachment/>
|
<project-attachment/>
|
||||||
@@ -33,6 +34,7 @@
|
|||||||
:processViewer="commonProvessViewer"
|
:processViewer="commonProvessViewer"
|
||||||
:fileListShow="fileListShow"
|
:fileListShow="fileListShow"
|
||||||
:preProcessShow="preProcessShow"
|
:preProcessShow="preProcessShow"
|
||||||
|
:basicData="basicData"
|
||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
<ApprovalDetail type="archivist"
|
<ApprovalDetail type="archivist"
|
||||||
v-if="showActive == '50'&&!editShow"
|
v-if="showActive == '50'&&!editShow"
|
||||||
@@ -41,6 +43,7 @@
|
|||||||
:processViewer="commonProvessViewer"
|
:processViewer="commonProvessViewer"
|
||||||
:fileListShow="fileListShow"
|
:fileListShow="fileListShow"
|
||||||
:preProcessShow="preProcessShow"
|
:preProcessShow="preProcessShow"
|
||||||
|
:basicData="basicData"
|
||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
<project-apply :title="applyTitle"
|
<project-apply :title="applyTitle"
|
||||||
v-if="editShow"
|
v-if="editShow"
|
||||||
@@ -69,6 +72,7 @@ import Opinion from "@/components/DetailComponent/Opinion.vue";
|
|||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const editShow = ref(false)
|
const editShow = ref(false)
|
||||||
const applyTitle = ref('filing')
|
const applyTitle = ref('filing')
|
||||||
|
const basicData = ref([])
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const processStore = useProcessStore()
|
const processStore = useProcessStore()
|
||||||
const fileListShow = ref('READ')
|
const fileListShow = ref('READ')
|
||||||
@@ -179,6 +183,10 @@ const stepChange = (data) => {
|
|||||||
}
|
}
|
||||||
getAllInfo(data.active)
|
getAllInfo(data.active)
|
||||||
}
|
}
|
||||||
|
const getBasicData=(data)=>{
|
||||||
|
console.info("🚀 ~method:data -----", data)
|
||||||
|
basicData.value=data
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ const tableConfig = reactive({
|
|||||||
prop: 'projectImpact',
|
prop: 'projectImpact',
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 120,
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
if (row.projectImpact && row.projectImpact !== null && row.projectImpact !== undefined) {
|
if (row.projectImpact && row.projectImpact !== null && row.projectImpact !== undefined) {
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ const tableConfig = reactive({
|
|||||||
prop: 'projectImpact',
|
prop: 'projectImpact',
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 120,
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
if (row.projectImpact !== null) {
|
if (row.projectImpact !== null) {
|
||||||
|
|||||||
@@ -129,13 +129,13 @@ const back = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'Summary/detail':
|
// case 'Summary/detail':
|
||||||
if (route.query.source === 'home') {
|
// if (route.query.source === 'home') {
|
||||||
router.push('/home')
|
// router.push('/home')
|
||||||
} else {
|
// } else {
|
||||||
router.push({name: 'Summary'})
|
// router.push({name: 'Summary'})
|
||||||
}
|
// }
|
||||||
break;
|
// break;
|
||||||
case 'Requirement/detail':
|
case 'Requirement/detail':
|
||||||
if (route.query.source === 'home') {
|
if (route.query.source === 'home') {
|
||||||
router.push('/home')
|
router.push('/home')
|
||||||
|
|||||||
@@ -90,16 +90,18 @@ const handleView = (row) => {
|
|||||||
source: 'home'
|
source: 'home'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (row.targetState == '10' && row.targetId) {
|
}
|
||||||
router.push({
|
// else if (row.targetState == '10' && row.targetId) {
|
||||||
name: 'Summary/detail',
|
// router.push({
|
||||||
query: {
|
// name: 'Summary/detail',
|
||||||
projectId: row.targetId,
|
// query: {
|
||||||
state: row.state,
|
// projectId: row.targetId,
|
||||||
source: 'home'
|
// state: row.state,
|
||||||
}
|
// source: 'home'
|
||||||
})
|
// }
|
||||||
} else if (row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
// })
|
||||||
|
// }
|
||||||
|
else if (row.targetState == '10'||row.targetState == '20' || row.targetState == '40' || row.targetState == '50') {
|
||||||
router.push({
|
router.push({
|
||||||
name: 'Implementation/detail',
|
name: 'Implementation/detail',
|
||||||
query: {
|
query: {
|
||||||
|
|||||||
Reference in New Issue
Block a user