Quellcode durchsuchen

fix: 驳回至年度计划

master
yxhc vor 2 Wochen
Ursprung
Commit
6014b68e66
7 geänderte Dateien mit 117 neuen und 63 gelöschten Zeilen
  1. BIN
      dist.zip
  2. +13
    -13
      src/App.vue
  3. +5
    -0
      src/http/apis/toDoCenter/todoList.js
  4. +5
    -5
      src/pages/declareManage/purchaseResults/fillPurchasingResult/index.vue
  5. +40
    -29
      src/pages/toDoCenter/components/auditDialog.vue
  6. +13
    -2
      src/pages/toDoCenter/components/flowRecord.vue
  7. +41
    -14
      src/pages/toDoCenter/handleDuringExamine/index.vue

BIN
dist.zip Datei anzeigen


+ 13
- 13
src/App.vue Datei anzeigen

@@ -1,19 +1,19 @@
<script setup name="App">
// import store from '@/store'
// console.log(store.menuStore.menuArr)
// import Updater from '@/utils/updater'
// import { ElMessageBox } from 'element-plus'
//
// const up = new Updater({
// timer: 20000
// })
// // 更新通知
// up.on('update', () => {
// up.stop()
// ElMessageBox.confirm('检测到有新版本,是否更新?更新会重新加载页面,如果您有未提交的表单数据,请先保存!', '提示', {}).then(() => {
// location.reload()
// })
// })
import Updater from '@/utils/updater'
import { ElMessageBox } from 'element-plus'
const up = new Updater({
timer: 20000
})
// 更新通知
up.on('update', () => {
up.stop()
ElMessageBox.confirm('检测到有新版本,是否更新?更新会重新加载页面,如果您有未提交的表单数据,请先保存!', '提示', {}).then(() => {
location.reload()
})
})

</script>



+ 5
- 0
src/http/apis/toDoCenter/todoList.js Datei anzeigen

@@ -11,6 +11,11 @@ export const exportExc = (state, data) => http.post(centerList[state] + '/export
export const progressDetail = params => http.get(`/api/v1/todo-center/progress/detail`, { params }) // 流程审核详情
export const projectDetail = id => http.get(`/api/v1/project/lib/${id}`) // 项目详情
export const handler = data => http.post('/api/v1/todo-center/handler', data) // 处理

export const toInTheAnnualPlan = data => http.post('/api/v1/todo-center/toInTheAnnualPlan', data) // 驳回至年度计划

export const saveOpinions = data => http.post('/api/v1/todo-center/saveOpinions', data) // 添加总验意见

export const adjustAndHandle = data => http.post('/api/v1/todo-center/adjustAndHandle', data) // 被退回项目内容调整并通过
export const notSealedPdf = data => http.post(`/api/v1/todo-center/getNotSealedPdf`, data) // 获取未盖章pdf
export const signSeal = data => http.post('/api/v1/todo-center/getSealedPdf', data) // 盖章


+ 5
- 5
src/pages/declareManage/purchaseResults/fillPurchasingResult/index.vue Datei anzeigen

@@ -115,11 +115,11 @@ onMounted(async () => {
label-suffix=":"
scroll-to-error
>
<!-- <el-card class="w-full mb-16">-->
<!-- <el-form-item label="发改编码" :rules="[{ required: true, message: '请输入' }]" prop="developCode">-->
<!-- <el-input v-model="formData.developCode" placeholder="请输入" />-->
<!-- </el-form-item>-->
<!-- </el-card>-->
<el-card class="w-full mb-16">
<el-form-item label="发改编码" :rules="[{ required: true, message: '请输入' }]" prop="developCode">
<el-input v-model="formData.developCode" placeholder="请输入" />
</el-form-item>
</el-card>
<el-card v-for="(item,index) in formData.sections" :key="index" class="w-full mb-16">
<template #header>
<div class="flex justify-between">


+ 40
- 29
src/pages/toDoCenter/components/auditDialog.vue Datei anzeigen

@@ -9,9 +9,10 @@ import {
changFilesParam,
handleFilePreview
} from '@/utils/uploadAction.js'
import { getConstructionSuggestions, handler } from '@/http/apis/toDoCenter/todoList'
import { getConstructionSuggestions, handler, saveOpinions } from '@/http/apis/toDoCenter/todoList'
import store from '@/store'
import { useRoute, useRouter } from 'vue-router'

const route = useRoute(),
router = useRouter(),
{ proxy } = getCurrentInstance(),
@@ -80,10 +81,6 @@ const route = useRoute(),
attachments: form.value.attachments.map((i) => ({
fileId: i.response.data.id,
fileName: i.response.data.originalFileName
})),
opinions: form.value.opinions.map((i) => ({
fileId: i.response.data.id,
fileName: i.response.data.originalFileName
}))
}
}
@@ -96,6 +93,20 @@ const route = useRoute(),
proposeAttachFiles: form.value.proposeAttachFiles && JSON.stringify(changFilesParam(form.value.proposeAttachFiles))
})
}
if (form.value.opinions && form.value.opinions.length > 0) {
try {
await saveOpinions({
projectId: route.query.projectId,
opinions: form.value.opinions.map((i) => ({
fileId: i.response.data.id,
fileName: i.response.data.originalFileName
}))
})
} catch (e) {
console.log(e)
}
}

const res = await handler(postData)
if (res.data === 'TASKID_ERROR') {
proxy.$message.warning('当前审批任务有变动,请返回待我处理列表!')
@@ -234,30 +245,30 @@ watch(
</el-col>
</template>

<!-- <el-col v-if="projectDetail&&projectDetail.status===20004" :span="24">-->
<!-- <el-form-item-->
<!-- :label="`终验意见`"-->
<!-- prop="opinions"-->
<!-- >-->
<!-- <el-upload-->
<!-- v-model:file-list="form.opinions"-->
<!-- class="w-full"-->
<!-- :action="uploadUrl"-->
<!-- :on-success="res => handleFileSuccess(res, form.opinions)"-->
<!-- :on-error="handleFileError"-->
<!-- :before-upload="file=>fileFormatVerification(file, {types: fileTypes})"-->
<!-- :accept="fileTypes.map(i=>`.${i}`).join(',')"-->
<!-- multiple-->
<!-- :limit="10"-->
<!-- :on-preview="handleFilePreview"-->
<!-- >-->
<!-- <el-button type="primary" class="mr-4">上传附件</el-button>-->
<!-- <template #tip>-->
<!-- <div class="el-upload__tip">支持{{ fileDesc }}文件</div>-->
<!-- </template>-->
<!-- </el-upload>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col v-if="projectDetail&&projectDetail.status===20004" :span="24">
<el-form-item
:label="`终验意见`"
prop="opinions"
>
<el-upload
v-model:file-list="form.opinions"
class="w-full"
:action="uploadUrl"
:on-success="res => handleFileSuccess(res, form.opinions)"
:on-error="handleFileError"
:before-upload="file=>fileFormatVerification(file, {types: fileTypes})"
:accept="fileTypes.map(i=>`.${i}`).join(',')"
multiple
:limit="10"
:on-preview="handleFilePreview"
>
<el-button type="primary" class="mr-4">上传附件</el-button>
<template #tip>
<div class="el-upload__tip">支持{{ fileDesc }}文件</div>
</template>
</el-upload>
</el-form-item>
</el-col>

<el-col :span="24">
<el-form-item


+ 13
- 2
src/pages/toDoCenter/components/flowRecord.vue Datei anzeigen

@@ -6,7 +6,8 @@ defineProps({
isShowSline: {
type: Boolean,
default: false
}
},
detail: {}
})
const
getResultIcon = (item) => {
@@ -103,7 +104,7 @@ const
<p>{{ list.finishTime }}</p>
</div>
<p v-if="list.auditInfo" class="text-info" style="word-break: break-all;">意见:<span>{{ list.auditInfo.text }}</span></p>
<div v-if="list.auditInfo&&list.auditInfo.attachments?.length" class="flex text-info">
<div v-if="list.auditInfo&&list.auditInfo.attachments?.length" class="flex text-info mt-5">
<span>附件:</span>
<div>
<p v-for="(file,fileIndex) in list.auditInfo.attachments" :key="fileIndex" class="mb-4">
@@ -111,6 +112,16 @@ const
</p>
</div>
</div>

<div v-if="detail.opinions&&detail.opinions?.length" class="flex text-info mt-5">
<span>终验意见:</span>
<div>
<p v-for="(file,fileIndex) in detail.opinions" :key="fileIndex" class="mb-4">
<accessory :file-name="file.fileName" :file-id="file.fileId" />
</p>
</div>
</div>

</div>
</div>
</div>


+ 41
- 14
src/pages/toDoCenter/handleDuringExamine/index.vue Datei anzeigen

@@ -4,7 +4,7 @@ import { useRoute, useRouter } from 'vue-router'
import FlowRecord from '../components/flowRecord.vue'
import AuditDialog from '../components/auditDialog.vue'
import ProjectInfo from '@/pages/projectStoreManage/projectStore/projectDetail/components/projectInfo.vue'
import { handler, progressDetail, projectDetail } from '@/http/apis/toDoCenter/todoList'
import { handler, progressDetail, projectDetail, toInTheAnnualPlan } from '@/http/apis/toDoCenter/todoList'
import { storeToRefs } from 'pinia'
import store from '@/store'
import FinalInfo from '@/pages/projectStoreManage/projectStore/projectDetail/components/finalInfo.vue'
@@ -13,7 +13,7 @@ import WantReadInfo from '@/pages/projectStoreManage/projectStore/projectDetail/
import SjFlowRecord from '@/pages/projectStoreManage/projectStore/projectDetail/components/sjFlowRecord.vue'
import ChangeInfoDialog from '@/pages/toDoCenter/handleDuringExamine/components/changeInfoDialog.vue'
import { dictionary } from '@/http/apis/projectCollection/projectCollectionEnter'
import { ElMessageBox } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
const
userInfo = storeToRefs(store.userStore).userInfo || {},
{ proxy } = getCurrentInstance(),
@@ -262,17 +262,44 @@ onMounted(async () => {
})

function rejectYear () {
// ElMessageBox.confirm('确认驳回至年度计划吗?')
// .then(() => {
// })
// .catch(() => {
// })
ElMessageBox({
title: '温馨提示',
message: '确认驳回至年度计划吗?',
showCancelButton: true,
confirmButtonText: '确认',
cancelButtonText: '取消',
beforeClose: async (action, instance, done) => {
if (action === 'confirm') {
instance.confirmButtonLoading = true
instance.confirmButtonText = '正在处理...'
try {
await bohui()
} catch (e) {
instance.confirmButtonLoading = false
}
instance.confirmButtonLoading = false
done()
} else {
done()
}
}
}).then((action) => {
if (action === 'confirm') {
ElMessage.success('驳回成功!')
reload()
}
})
}

ElMessageBox.confirm('正在开发中......')
.then(() => {
})
.catch(() => {
})
async function bohui () {
const postData = {
instanceId: route.query.instanceId,
projectId: route.query.projectId,
projectCode: detailData.value.projectCode,
taskId: route.query.taskId,
action: 'REJECT'
}
await toInTheAnnualPlan(postData)
}

</script>
@@ -351,7 +378,7 @@ function rejectYear () {
</el-tabs>
<span v-else>流程记录</span>
</template>
<flow-record v-if="flowTabActiveName==='1'" :flow-data="flowData.processProgressVo.progressInfo" />
<flow-record v-if="flowTabActiveName==='1'" :flow-data="flowData.processProgressVo.progressInfo" :detail="detailData" />
<el-form v-else-if="flowTabActiveName==='2'" label-suffix=":">
<sj-flow-record :flow-data="detailData.sjlsResult?JSON.parse(detailData.sjlsResult):[]" />
</el-form>
@@ -391,7 +418,7 @@ function rejectYear () {
</el-button>
<el-button @click="router.go(-1)">返回</el-button>
<el-button
v-if="false"
v-if="detailData.status>=10012"
plain
type="danger"
@click="rejectYear"


Laden…
Abbrechen
Speichern