Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhangkaihuai
2024-06-30 15:54:18 +08:00
23 changed files with 91 additions and 61 deletions

View File

@@ -1,7 +1,7 @@
<template>
<div v-loading="loading">
<fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>
<el-form :model="formData" label-width="auto">
<el-form :model="formData" label-width="auto" style="margin-top: -15px">
<file-component :title="getTagName(type)+'附件'" :tag="getTagName(type)"
v-model:value="formData.fileList" :processViewer="processViewer"
:file-list-show="fileListShow"/>
@@ -18,8 +18,8 @@
</el-form-item>
</div>
<div class="approval-record">
<div class="approval-title">
<baseTitle title="审批记录"></baseTitle>
<div class="approval-title" style="margin-top: -15px">
<baseTitle title="审批记录" ></baseTitle>
<div class="diagram">
<div class="base-title">流程图</div>
<el-switch

View File

@@ -157,7 +157,7 @@ const filterNode = (value, data) => {
const show = () => {
//用于弹开部门选择
visible.value = true;
console.log('_value.value', _value.value, selectList.value)
// console.log('_value.value', _value.value, selectList.value)
// if(selectList.value.length==0){
// selectList.value=[]
// defaultChecked.value =[]

View File

@@ -75,7 +75,7 @@ const objectSpanMethod = ({row, column, rowIndex, columnIndex}) => {
}
} else {
let length = Object.keys(row).length
console.log(length)
// console.log(length)
if (length > 5) {
if (concatColumn(columnIndex, length, rowIndex)) {
if (rowIndex % 5 === 0) {

View File

@@ -1,6 +1,6 @@
<template>
<el-form :label-position="labelAlign">
<el-form-item :label="title" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" :label-position="labelAlign">
<el-form-item :label="title?'其他文件':''" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" :label-position="labelAlign" :label-width="title?95:''">
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
<fvTable style="width: 100%;max-height: 300px;" v-if="processViewer" :tableConfig="tableConfig"
:data="_value" :isSettingCol="false" :pagination="false">
@@ -39,7 +39,7 @@ const props = defineProps({
},
labelAlign: {
type: String,
default: 'left'
default: 'right'
}
})
const emit = defineEmits(['update:value'])
@@ -50,7 +50,7 @@ const tableConfig = reactive({
type: 'index',
label: '序号',
align: 'center',
width: '80',
width: 90,
},
{
prop: 'originalFileName',
@@ -66,6 +66,7 @@ const tableConfig = reactive({
prop: 'size',
label: '文件大小',
align: 'center',
width: 150,
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB')
},
{

View File

@@ -3,7 +3,7 @@
<el-form :model="localFormData" ref="formRef" label-width="auto" :rules="rules" v-if="step!=='50'">
<el-row>
<el-col :span="12">
<el-form-item label="前置流程" :required="preProcessRequired" prop="requestName">
<el-form-item label="前置流程" :required="preProcessRequired" prop="requestName" label-width="125">
<div v-for="item in localFormData.preProcess" :key="item.requestId">
<a :href="item.baseUrl" target="_blank"
style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ item.requestName }}</a>
@@ -17,7 +17,7 @@
</el-form>
<AttachmentUpload ref="attachment" :label="getTitleName(title)+'附件'" :showTable="showTable"
:otherFileList="otherFileList"
@getAttachment="getAttachment"
@getAttachment="getAttachment" :singleList="singleList" :showSingleTable="showSingleTable"
@getOtherFile="getOtherFile" :showFileList="true" :formData="localFormData"
:preview="mode == 'resubmit'"/>
<div>
@@ -26,14 +26,14 @@
<baseTitle title="审批记录" v-if="mode === 'resubmit'"></baseTitle>
<div v-else></div>
<div class="diagram">
<div class="base-title">流程图</div>
<div class="base-title" style="margin-left: 50px">流程图</div>
<el-switch
v-model="changeDiagram"
style="--el-switch-on-color:#BEA266 ; --el-switch-off-color:#cecdcd"
/>
</div>
</div>
<div class="process">
<div class="process" style="margin-left: 50px">
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList"
:state="data.state"/>
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>
@@ -107,6 +107,8 @@ const router = useRouter()
const route = useRoute()
const changeDiagram = ref(false)
const preProcessTable = ref()
const showSingleTable = ref(false)
const singleList = ref([])
const emit = defineEmits(["getAttachment", "getOtherFile"])
const props = defineProps({
title: {
@@ -276,8 +278,16 @@ const compositeParam = (item) => {
}
const getAttachment = (val) => {
// console.log('上传文件getAttachment', val)
showSingleTable.value=false
localFormData.value.singleFile = compositeParam(val)
singleList.value.push( compositeParam(val))
nextTick(() => {
showSingleTable.value = true
})
}
watch(() => singleList.value, (newVal) => {
showSingleTable.value = newVal.length !== 0;
}, {deep: true})
const getOtherFile = (val) => {
// console.log('上传文件getOtherFile', val)
showTable.value = false

View File

@@ -9,7 +9,7 @@ export const useAuthStore = defineStore('auth', () => {
const permisstions = ref([])
const roles = ref([])
const casToken = (token) => {
console.log('getToken()!==token',getToken()!==token)
// console.log('getToken()!==token',getToken()!==token)
let flag=''
if(getToken()!==token){//切换token
setToken(token)

View File

@@ -220,6 +220,7 @@ const selected = (select) => {
item.researchPersonnel = select[0].name
}
})
userList.value=select
}
const getResearchOptions = async () => {
const res = await getResearchUser()

View File

@@ -1,5 +1,5 @@
<template>
<el-button color="#DED0B2" style="float: right;margin: 0 10px 10px 0" @click="exportTable">导出</el-button>
<!-- <el-button color="#DED0B2" style="float: right;margin: 0 10px 10px 0" @click="exportTable">导出</el-button>-->
<el-table ref="table" :data="tableData" style="width: 100%;height: 479px" :show-summary="true" border
:summary-method="getSummaries" v-loading="loading" :header-cell-style="{background:'#f5f7fa'}">
<el-table-column type="index" label="序号" align="center" width="60"/>

View File

@@ -13,12 +13,12 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="截止时间">
<el-form-item label="需求上报截止时间">
<span>{{ formData.deadline }}</span>
</el-form-item>
</el-col>
<el-col :span="24" v-if="type==='singleDetail'">
<el-form-item label="所属公司">
<el-form-item label="征集公司">
<span :class="showExpendClass(showMoreCompany,formData.companyIds)">{{
getCompanyName(formData.companyIds)
}}</span>
@@ -28,7 +28,7 @@
</el-form-item>
</el-col>
<el-col :span="24" v-if="formData.isSpecialFund">
<el-form-item label="专项资金">
<el-form-item label="专项资金名称">
<span>{{ formData.specialFund }}</span>
</el-form-item>
</el-col>
@@ -74,7 +74,7 @@
</div>
<div class="process">
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram"
:operation-list="data.operationList"
:operation-list="data.operationList" :isColumn="true"
:state="data.state"/>
<process-diagram-viewer v-if="processViewer&&changeDiagram" id-name="collectionProcess"/>
</div>

View File

@@ -1,8 +1,8 @@
<template>
<div>{{modelValue}}</div>
<el-button color="#DED0B2" style="margin-left: 10px" @click="click">
<el-button color="#DED0B2" @click="click">
{{ modelValue?'更改':'请选择抄送人员' }}
</el-button>
<div style="margin-left: 10px">{{modelValue}}</div>
</template>
<script setup>

View File

@@ -1,18 +1,18 @@
<template>
<div class="apply-block" v-loading="loading">
<baseTitle title="基础信息"></baseTitle>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e"></fvForm>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" style="margin-left: 56px"></fvForm>
<el-form :model="formData" label-width="auto">
<el-form-item label="抄送人员">
<el-form-item label="抄送人员" label-width="125">
<Ttsup :modelValue="chooseUserInfo()" @clickCopyUser="chooseUser"/>
</el-form-item>
</el-form>
<user-picker :multiple="true" ref="userPicker" title="请选择抄送人员" v-model:value="userList" @ok="selected"/>
<AttachmentUpload ref="attachment" label="阶段变更附件" :showTable="showTable" :otherFileList="otherFileList"
@getAttachment="getAttachment"
@getAttachment="getAttachment" :singleList="singleList" :showSingleTable="showSingleTable"
@getOtherFile="getOtherFile" :showFileList="true" :formData="formData"
:preview="name === 'Phase/edit'"/>
<div class="approval-record">
<div class="approval-record" style="margin-left: 68px">
<div style="display: flex;align-items: center;justify-content: flex-start;">
<div class="base-title">流程图</div>
<el-switch
@@ -46,8 +46,10 @@ const router = useRouter()
const route = useRoute()
const attachment = ref()
const userPicker = ref()
const showSingleTable = ref(false)
const singleList = ref([])
const name = ref(router.currentRoute.value.name)
const loading = ref(true)
const loading = ref(false)
const formData = ref({})
const file = ref({})
const deploymentId = ref()
@@ -102,8 +104,16 @@ const compositeParam = (item) => {
}
const getAttachment = (val) => {
// console.log('上传文件getAttachment', val)
showSingleTable.value=false
formData.value.singleFile = compositeParam(val)
singleList.value.push( compositeParam(val))
nextTick(() => {
showSingleTable.value = true
})
}
watch(() => singleList.value, (newVal) => {
showSingleTable.value = newVal.length !== 0;
}, {deep: true})
const getOtherFile = (val) => {
// console.log('上传文件getOtherFile', val)
showTable.value = false

View File

@@ -1,8 +1,8 @@
<template>
<baseTitle title="基础信息"></baseTitle>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e"></fvForm>
<baseTitle title="阶段变更详情"></baseTitle>
<div style="color: #606266;font-size: 14px">抄送人{{copyName}}</div>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" style="margin-left:27px"></fvForm>
<baseTitle title="阶段变更详情" style="margin-top: -10px"></baseTitle>
<div style="color: #606266;font-size: 14px;width: 84px;height:25px;text-align: right">抄送人{{copyName}}</div>
<ApprovalDetail :formData="summaryData.formData" :data="summaryData" type="phase"
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow" v-model:value="auditOpinion"/>
<opinion v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId" v-model:value="auditOpinion"></opinion>

View File

@@ -34,7 +34,7 @@
</div>
</div>
<div class="process">
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram"
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram" :isColumn="true"
:operation-list="data.operationList"
:state="data.state"/>
<process-diagram-viewer v-if="processViewer&&changeDiagram" :id-name="idName?idName:type"/>

View File

@@ -73,7 +73,7 @@
</div>
</div>
<div class="process">
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram"
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram" :isColumn="true"
:operation-list="data.operationList"
:state="data.state"/>
<process-diagram-viewer v-if="processViewer&&changeDiagram" id-name="collectionProcess"/>

View File

@@ -34,7 +34,7 @@
</div>
</div>
<div class="process">
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList"
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList" :isColumn="true"
:state="data.state"/>
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>
</div>

View File

@@ -46,7 +46,7 @@
</div>
<div class="process">
<operation-render
v-if="shareProcessViewer&& shareData.operationList && shareData.operationList.length > 0&&!changeDiagram"
v-if="shareProcessViewer&& shareData.operationList && shareData.operationList.length > 0&&!changeDiagram" :isColumn="true"
:operation-list="shareData.operationList"
:state="shareData.state"/>
<process-diagram-viewer v-if="shareProcessViewer&&changeDiagram" id-name="shareProcess"/>

View File

@@ -2,7 +2,7 @@
<!-- <special-fund-detail :formData="fundData.formData" :data="fundData" :showTable="showTable" :processViewer="fundProcessViewer"-->
<!-- :loading="loading"/>-->
<div v-loading="loading">
<div v-loading="loading" style="padding: 0 10px;">
<baseTitle title="专项资金详情"></baseTitle>
<el-form :model="formData" ref="form" label-width="auto">
<el-row>
@@ -78,7 +78,7 @@
</div>
</div>
<div class="process">
<operation-render v-if="fundProcessViewer && fundData.operationList && fundData.operationList.length > 0&&!changeDiagram"
<operation-render v-if="fundProcessViewer && fundData.operationList && fundData.operationList.length > 0&&!changeDiagram" :isColumn="true"
:operation-list="fundData.operationList"
:state="fundData.state"/>
<process-diagram-viewer v-if="fundProcessViewer&&changeDiagram" id-name="fundProcess"/>

View File

@@ -101,21 +101,21 @@ const schema = computed(() => {
label: '征集名称',
prop: 'requirementName',
colProps: {
span: 12
span: 24
}
},
{
label: '所属公司',
prop: 'affiliatedCompany',
colProps: {
span: 12
span: 24
}
},
{
label: '项目名称',
prop: 'projectName',
colProps: {
span: 12
span: 24
}
}

View File

@@ -9,7 +9,9 @@
</el-col>
<el-col :span="24">
<el-form-item label="专项资金名称" prop="specialFund" v-if="localFormData.isSpecialFund">
<span>{{localFormData.specialFundId===0?localFormData.specialFund:changeName(fundOption,localFormData.specialFundId) }}</span>
<span>{{
localFormData.specialFundId === 0 ? localFormData.specialFund : changeName(fundOption, localFormData.specialFundId)
}}</span>
</el-form-item>
</el-col>
<el-col :span="24">
@@ -105,7 +107,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="经济概算(元)" prop="economicEstimate">
<span>{{toThousands( localFormData.economicEstimate )}}</span>
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
@@ -125,21 +127,22 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="需求上报申请书">
<el-button type="primary" link @click="handleDownload(localFormData.singleFile)" style="font-size: 16px">
<el-form-item label="需求上报申请书" label-position="top" style="display:block;">
<!-- style="font-size: 16px"-->
<el-button type="primary" link @click="handleDownload(localFormData.singleFile)">
{{ localFormData.singleFile?.originalFileName }}
</el-button>
</el-form-item>
</el-col>
<el-col :span="24">
<file-component
title="需求上报附件"
tag="需求上报"
v-model:value="localFormData.fileList"
:processViewer="processViewer"
:file-list-show="fileListShow"
labelAlign="top"
/>
title="需求上报附件"
tag="需求上报"
v-model:value="localFormData.fileList"
:processViewer="processViewer"
:file-list-show="fileListShow"
labelAlign="top"
/>
</el-col>
<el-col :span="24">
<div v-if="data.taskId">
@@ -167,7 +170,8 @@
</div>
</div>
<div class="process">
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram" :operation-list="data.operationList"
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram" :isColumn="true"
:operation-list="data.operationList"
:state="data.state"/>
<process-diagram-viewer v-if="processViewer&&changeDiagram" id-name="summaryProcess"/>
</div>

View File

@@ -1,7 +1,7 @@
<template>
<div v-loading="loading">
<fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>
<el-form :model="formData" label-width="auto">
<el-form :model="formData" label-width="auto" style="margin-top: -15px">
<file-component
:title="getTagName(type)+'附件'"
:tag="getTagName(type)"
@@ -23,7 +23,7 @@
</el-form-item>
</div>
<div class="approval-record">
<div class="approval-title">
<div class="approval-title" style="margin-top: -15px">
<baseTitle title="审批记录"></baseTitle>
<div class="diagram">
<div class="base-title">流程图</div>
@@ -35,7 +35,7 @@
</div>
<div class="process">
<operation-render v-if="processViewer && data.operationList && data.operationList.length > 0&&!changeDiagram"
:operation-list="data.operationList"
:operation-list="data.operationList" :isColumn="true"
:state="data.state"/>
<process-diagram-viewer v-if="processViewer&&changeDiagram" :id-name="idName?idName:type"/>
</div>

View File

@@ -2,8 +2,8 @@
<div style="padding: 0 10px; box-sizing: border-box;">
<baseTitle title="基础信息"></baseTitle>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e"></fvForm>
<baseTitle title="阶段变更详情"></baseTitle>
<div style="color: #606266;font-size: 14px">抄送人{{copyName}}</div>
<baseTitle title="阶段变更详情" style="margin-top: -10px"></baseTitle>
<div style="color: #606266;font-size: 14px;height:25px;">抄送人{{copyName}}</div>
<ApprovalDetailMoblie :formData="summaryData.formData" :data="summaryData" type="phase"
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow" v-model:value="auditOpinion"/>
<opinion v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId" v-model:value="auditOpinion"></opinion>

View File

@@ -12,8 +12,8 @@
当前节点: {{ operation.operationName }}
</div>
<div class="card">
<div v-for="(user,index) in operation.userInfo" :key="index" class="avatar_name">
<div class="avatar-block">
<div v-for="(user,index) in operation.userInfo" :key="index" class="avatar_name" :style="{'flex-direction': isColumn?'column':'row'}">
<div class="avatar-block" :style="{'margin-bottom': isColumn?'10px':'0'}">
<name-circle :user="user"/>
<div class="name">
<span>{{ user.name }}</span>
@@ -64,6 +64,10 @@ const props = defineProps({
default: () => {
return '1'
}
},
isColumn: {
type: Boolean,
default:false
}
})

View File

@@ -192,13 +192,13 @@ const showUserPicker = () => {
value: "0"
};
dataList.value = [];
console.log('_value.value',_value.value)
if(props.setNullToSelectList){
selectList.value = []
}else {
// console.log('_value.value',_value.value)
// if(props.setNullToSelectList){
// selectList.value = []
// }else {
selectList.value =_value.value
}
// }
chooseId.value = 0;
radio.value = 0;
visible.value = true;