Merge pull request 'master' (#432) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/432
This commit is contained in:
2024-06-29 16:11:11 +00:00
19 changed files with 68 additions and 52 deletions

View File

@@ -2,7 +2,7 @@
<el-form :model="formData" ref="applyForm" :rules="rules" :label-position="labelPosition"> <el-form :model="formData" ref="applyForm" :rules="rules" :label-position="labelPosition">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="label" prop="attachment" label-width="110"> <el-form-item :label="label" prop="attachment" label-width="125">
<template v-if="preview&&JSON.stringify(singleFile) !== '{}'&&JSON.stringify(singleFile)!=='null'"> <template v-if="preview&&JSON.stringify(singleFile) !== '{}'&&JSON.stringify(singleFile)!=='null'">
<el-button type="primary" link @click="handleDownload(singleFile)" style="font-size: 16px"> <el-button type="primary" link @click="handleDownload(singleFile)" style="font-size: 16px">
{{ singleFile ? singleFile?.originalFileName : formData.singleFile?.originalFileName }} {{ singleFile ? singleFile?.originalFileName : formData.singleFile?.originalFileName }}
@@ -25,7 +25,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="其他文件" label-width="110"> <el-form-item label="其他文件" label-width="125">
<file-upload @getFile="getOtherFile"/> <file-upload @getFile="getOtherFile"/>
<!-- <el-card style="width: 100%;box-shadow: none">--> <!-- <el-card style="width: 100%;box-shadow: none">-->
<fvTable style="width: 100%;max-height: 300px;" v-if="showTable" :tableConfig="tableConfig" <fvTable style="width: 100%;max-height: 300px;" v-if="showTable" :tableConfig="tableConfig"

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
<template> <template>
<el-form :label-position="labelAlign"> <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'"/> <file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
<fvTable style="width: 100%;max-height: 300px;" v-if="processViewer" :tableConfig="tableConfig" <fvTable style="width: 100%;max-height: 300px;" v-if="processViewer" :tableConfig="tableConfig"
:data="_value" :isSettingCol="false" :pagination="false"> :data="_value" :isSettingCol="false" :pagination="false">
@@ -39,7 +39,7 @@ const props = defineProps({
}, },
labelAlign: { labelAlign: {
type: String, type: String,
default: 'left' default: 'right'
} }
}) })
const emit = defineEmits(['update:value']) const emit = defineEmits(['update:value'])
@@ -50,7 +50,7 @@ const tableConfig = reactive({
type: 'index', type: 'index',
label: '序号', label: '序号',
align: 'center', align: 'center',
width: '80', width: 90,
}, },
{ {
prop: 'originalFileName', prop: 'originalFileName',
@@ -66,6 +66,7 @@ const tableConfig = reactive({
prop: 'size', prop: 'size',
label: '文件大小', label: '文件大小',
align: 'center', align: 'center',
width: 150,
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB') 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-form :model="localFormData" ref="formRef" label-width="auto" :rules="rules" v-if="step!=='50'">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="前置流程" :required="preProcessRequired" prop="requestName" label-width="110"> <el-form-item label="前置流程" :required="preProcessRequired" prop="requestName" label-width="125">
<div v-for="item in localFormData.preProcess" :key="item.requestId"> <div v-for="item in localFormData.preProcess" :key="item.requestId">
<a :href="item.baseUrl" target="_blank" <a :href="item.baseUrl" target="_blank"
style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ item.requestName }}</a> style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ item.requestName }}</a>
@@ -33,7 +33,7 @@
/> />
</div> </div>
</div> </div>
<div class="process"> <div class="process" style="margin-left: 50px">
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList" <operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList"
:state="data.state"/> :state="data.state"/>
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/> <process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
<template> <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 <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'}"> :summary-method="getSummaries" v-loading="loading" :header-cell-style="{background:'#f5f7fa'}">
<el-table-column type="index" label="序号" align="center" width="60"/> <el-table-column type="index" label="序号" align="center" width="60"/>

View File

@@ -13,12 +13,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="截止时间"> <el-form-item label="需求上报截止时间">
<span>{{ formData.deadline }}</span> <span>{{ formData.deadline }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" v-if="type==='singleDetail'"> <el-col :span="24" v-if="type==='singleDetail'">
<el-form-item label="所属公司"> <el-form-item label="征集公司">
<span :class="showExpendClass(showMoreCompany,formData.companyIds)">{{ <span :class="showExpendClass(showMoreCompany,formData.companyIds)">{{
getCompanyName(formData.companyIds) getCompanyName(formData.companyIds)
}}</span> }}</span>
@@ -28,7 +28,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" v-if="formData.isSpecialFund"> <el-col :span="24" v-if="formData.isSpecialFund">
<el-form-item label="专项资金"> <el-form-item label="专项资金名称">
<span>{{ formData.specialFund }}</span> <span>{{ formData.specialFund }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
<!-- <special-fund-detail :formData="fundData.formData" :data="fundData" :showTable="showTable" :processViewer="fundProcessViewer"--> <!-- <special-fund-detail :formData="fundData.formData" :data="fundData" :showTable="showTable" :processViewer="fundProcessViewer"-->
<!-- :loading="loading"/>--> <!-- :loading="loading"/>-->
<div v-loading="loading"> <div v-loading="loading" style="padding: 0 10px;">
<baseTitle title="专项资金详情"></baseTitle> <baseTitle title="专项资金详情"></baseTitle>
<el-form :model="formData" ref="form" label-width="auto"> <el-form :model="formData" ref="form" label-width="auto">
<el-row> <el-row>

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
<template> <template>
<div v-loading="loading"> <div v-loading="loading">
<fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm> <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 <file-component
:title="getTagName(type)+'附件'" :title="getTagName(type)+'附件'"
:tag="getTagName(type)" :tag="getTagName(type)"
@@ -23,7 +23,7 @@
</el-form-item> </el-form-item>
</div> </div>
<div class="approval-record"> <div class="approval-record">
<div class="approval-title"> <div class="approval-title" style="margin-top: -15px">
<baseTitle title="审批记录"></baseTitle> <baseTitle title="审批记录"></baseTitle>
<div class="diagram"> <div class="diagram">
<div class="base-title">流程图</div> <div class="base-title">流程图</div>

View File

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

View File

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