Browse Source

进窗列表:项目删除功能修改为逻辑删除,新增删除原因(必填项)支持在列表进行查看项目及删除原因。

main
buaixuexideshitongxue 2 months ago
parent
commit
6145c82be2
  1. 13
      src/api/report/index.ts
  2. 2
      src/components/depart-tree-select.vue
  3. 14
      src/views/entryWindow/index.vue
  4. 82
      src/views/report/edit/controlPrice.vue
  5. 5
      src/views/warning/compile/warningCompile.vue
  6. 2
      src/views/warning/components/detail.vue
  7. 10
      src/views/warning/reportDetail.vue

13
src/api/report/index.ts

@ -7,12 +7,19 @@ export const saveReportProject=(body)=>{
})
}
//删除
export const removeReportProject = (id)=>{
return request.del({
url:`/reportProject/${id}`
// export const removeReportProject = (id)=>{
// return request.del({
// url:`/reportProject/${id}`
// })
// }
export const deleteReportProject = (body)=>{
return request.post({
url:`/reportProject/deleteReportProject`,
body
})
}
//根据项目名称获取项目列表
export const getListByName=(query)=>{
return request.get({

2
src/components/depart-tree-select.vue

@ -37,7 +37,7 @@ const treeProps = computed(() => ({
label: 'shortName',
value: 'id',
disabled: (data, node) => {
debugger
// debugger
if (!props.disableRoot) return false
if (!node) return false
return node.level === 1

14
src/views/entryWindow/index.vue

@ -124,6 +124,7 @@ getList()
//
const router = useRouter();
const getDetail =(row,code)=>{
debugger
//
let query ={
isEnd:row.reportType == "结算项目",
@ -143,7 +144,6 @@ const getDetail =(row,code)=>{
query.node = row.node
query.disabledVal=true;
}
router.push({
path:`/report/edit/controlPrice`,
query: query
@ -151,6 +151,7 @@ const getDetail =(row,code)=>{
}
const isAdminShow = ()=>{
debugger
if(userStore.user && userStore.user.roleCodes){
return userStore.user.roleCodes.indexOf('admin_1') >= 0
}else{
@ -412,7 +413,7 @@ const isAdminShow = ()=>{
<el-table-column
label="项目负责人联系方式"
prop="projectPhone"
width="170"
width="190"
>
</el-table-column>
<el-table-column
@ -451,13 +452,22 @@ const isAdminShow = ()=>{
</el-table-column>
<el-table-column label="操作" fixed="right" min-width="260px">
<template #default="{ row }">
<el-button
link
type="primary"
v-if="row.deleteFlag == 1"
@click="getDetail(row)"
>详情</el-button>
<!-- 未删除显示正常操作 -->
<template v-else>
<el-button link type="primary" v-if="row.applicantId === uid && row.isRecessed == 1" @click="getDetail(row,'edit')">编辑</el-button>
<!-- <el-button link type="primary" v-else-if="row.flowUserId === uid" @click="getDetail(row,'audit')">审批</el-button>-->
<el-button link type="primary" v-else @click="getDetail(row)">详情</el-button>
<el-button link type="danger" v-if="isAdminShow() && row.isRecessed == 0" @click="recessedShowFun(row,0)"> 退窗</el-button>
<el-button link type="primary" v-if="(isAdminShow() || row.applicantId === uid) && row.isRecessed == 1" @click="recessedShowFun(row,1)">重新进窗</el-button>
<el-button link type="primary" @click="recordFun(row)">进退窗记录</el-button>
</template>
</template>
</el-table-column>
</el-table>

82
src/views/report/edit/controlPrice.vue

@ -9,7 +9,13 @@ import useCatchStore from '@/stores/modules/catch'
import reportAudit from '@/components/reportAudit/start.vue';
import reportAuditFinish from '@/components/reportAudit/finish.vue';
import reportAuditReject from '@/components/reportAudit/reject.vue';
import {getDetail, removeReportProject, saveReportProject,getExcelContrilPrice,upFinalizationPathFun} from "@/api/report/index";
import {
getDetail,
saveReportProject,
getExcelContrilPrice,
upFinalizationPathFun,
deleteReportProject
} from "@/api/report/index";
import {useRoute, useRouter} from "vue-router";
import {getReportFlow} from "@/api/report/flow";
import useTabsStore from "@/stores/modules/multipleTabs";
@ -73,6 +79,25 @@ const isAuditButton = ref(false)
const datePicker = ref()
const serviceTime = ref([])
const editAll = ref(false)
//
const delDialog = ref(false);
const delFormData = ref({});
const deleteFlag = ref(false)
const handleDel= async ()=> {
const body ={
id: route.query.id,
deleteReason: delFormData.value.deleteReason
}
await deleteReportProject(body);
closeFun();
}
const auditEdit = () => {
//
editAll.value = !editAll.value
@ -100,11 +125,12 @@ const getDetailFun = async (val) => {
loading.value = true;
formData.value = await getDetail({"id": val});
formData.value = await getDetail({"id": val});
if (route.query.disabledVal) {
isDisabled.value = true
}
debugger
//
if ((!['initial'].includes(formData.value.project.node))) {
isDisabled.value = true;
@ -190,6 +216,7 @@ const getDetailFun = async (val) => {
];
}
}
deleteFlag.value= formData.value.project.deleteFlag
query.value.applicantId =formData.value.project?.applicantId;
// query.value.departId = formData.value.project?.auditUnitId
getPoliceList();
@ -455,9 +482,12 @@ let date = ref()
//
const removeFun = async () => {
await feedback.confirm("是否确认删除数据?");
const res = await removeReportProject(route.query.id);
closeFun();
debugger
delDialog.value = true;
// await feedback.confirm("");
// const res = await removeReportProject(route.query.id);
// closeFun();
}
//
@ -1062,6 +1092,14 @@ watch(()=>formData.value.review.thirdlyMoney,(val)=>{
</el-form-item>
</el-col>
</el-row>
<el-row v-if="deleteFlag">
<el-col :span="15">
<el-form-item label="删除原因" >
<el-input type="textarea" :rows="5" :disabled="true"
v-model="formData.project.deleteReason"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<hr style="border-color: rgba(232,232,232,0.67);opacity: 0.2">
@ -1305,17 +1343,20 @@ watch(()=>formData.value.review.thirdlyMoney,(val)=>{
<el-button v-else type="primary" @click="approveFun">提交</el-button>
<el-button type="danger" @click="rejectFun">驳回</el-button>
</div>
<div v-if="route.query.disabledVal" class="flex end mt-20">
<div v-else-if="route.query.disabledVal && route.query.deleteFlag==='0'" class="flex end mt-20">
<el-button type="primary" @click="getReportFlowFun">审批记录</el-button>
<el-button type="danger" @click="removeFun">删除</el-button>
<el-button @click="closeFun">关闭</el-button>
</div>
<div v-else-if="route.query.disabledVal && deleteFlag" class="flex end mt-20">
<el-button @click="closeFun">关闭</el-button>
</div>
<div class="flex end mt-20" v-else >
<el-button v-if="!isDisabled && !editAll" type="primary" @click="submitFun">提交</el-button>
<el-button v-if="!isDisabled && !editAll" type="primary" @click="saveFun">保存</el-button>
<el-button v-if="!isAuditButton && !isDisabled" @click="closeFun">取消</el-button>
<el-button v-if="!isAuditButton && isDisabled" type="primary" @click="getReportFlowFun">审批记录</el-button>
<el-button v-if="!isAuditButton && !isDisabled" type="primary" @click="getReportFlowFun">审批记录</el-button>
</div>
</el-main>
@ -1391,6 +1432,31 @@ watch(()=>formData.value.review.thirdlyMoney,(val)=>{
<report-audit-end @submitFeedback="submitFeedback" @closeFun="closeAudit" :node="formData.project.node"
:reportId="formData.project.id" v-model="endDialog" :isAudit="true"
></report-audit-end>
<el-dialog title="删除项目" v-model="delDialog" width="700">
<el-form :label-width="120" :model="delFormData" ref="delFormRef">
<el-form-item
label="删除原因"
prop="delReason"
:rules="{
required: true,
message: '请输入删除原因',
}"
>
<el-input
v-model="delFormData.deleteReason"
type="textarea"
placeholder="请输入删除原因"
clearable
:autosize="{ minRows: 3 }"
/>
</el-form-item>
</el-form>
<footer class="flex end">
<el-button @click="delDialog = false">取消</el-button>
<el-button type="primary" @click="handleDel">确定</el-button>
</footer>
</el-dialog>
</template>
<style lang="scss">

5
src/views/warning/compile/warningCompile.vue

@ -4,11 +4,12 @@ import feedback from "@/utils/feedback";
import useUserStore from "@/stores/modules/user";
import reportFile from '@/components/reportFile/index.vue';
import useCatchStore from '@/stores/modules/catch'
import {getInvertDetail,upWarningStateById} from '@/api/investRecord/index'
import {getDetail, removeReportProject, saveReportProject} from "@/api/report/index";
import {getInvertDetail, upWarningStateById} from '@/api/investRecord/index'
import {saveReportProject} from "@/api/report/index";
import {useRoute, useRouter} from "vue-router";
import useTabsStore from "@/stores/modules/multipleTabs";
import {listPolice} from "@/api/system/police";
const collapseAction =ref('1')
const {addTab, removeTab, tabList} =

2
src/views/warning/components/detail.vue

@ -9,7 +9,7 @@ import useCatchStore from '@/stores/modules/catch'
import reportAudit from '@/components/reportAudit/start.vue';
import reportAuditFinish from '@/components/reportAudit/finish.vue';
import reportAuditReject from '@/components/reportAudit/reject.vue';
import {getDetail, removeReportProject, saveReportProject} from "@/api/report/index";
import {getDetail, saveReportProject} from "@/api/report/index";
import {useRoute, useRouter} from "vue-router";
import {getReportFlow} from "@/api/report/flow";
import useTabsStore from "@/stores/modules/multipleTabs";

10
src/views/warning/reportDetail.vue

@ -1,22 +1,14 @@
<script setup>
import feedback from "@/utils/feedback";
import {getToken} from "@/utils/token";
import {BASE_PATH} from "@/api/request";
import useUserStore from "@/stores/modules/user";
import {timeFormat} from "@/utils/util";
import reportFile from '@/components/reportFile/index.vue';
import useCatchStore from '@/stores/modules/catch'
import reportAudit from '@/components/reportAudit/start.vue';
import reportAuditFinish from '@/components/reportAudit/finish.vue';
import reportAuditReject from '@/components/reportAudit/reject.vue';
import {getDetail, removeReportProject, saveReportProject} from "@/api/report/index";
import {getDetail} from "@/api/report/index";
import {useRoute, useRouter} from "vue-router";
import {getReportFlow} from "@/api/report/flow";
import useTabsStore from "@/stores/modules/multipleTabs";
import {listPolice} from "@/api/system/police";
import UploadBatch from "@/components/reportFile/uploadBatch.vue";
import {FlowNodeEnum} from "@/enums/flowEnums";
import {recessedData} from "@/api/entryWindow/index";
const {addTab, removeTab, tabList} =
useTabsStore();

Loading…
Cancel
Save